From f5b6d10386e08d0b01302782b4ea287cfd29ffd0 Mon Sep 17 00:00:00 2001 From: Leo Lara Date: Tue, 31 Mar 2026 20:32:54 +0700 Subject: [PATCH] feat(tests): add `filler_to_python` converter and port static tests (#2563) * New static test porting system * Fix several issues * Lint fixes * Remove files added by mistake * Mark slow tests * Transaction don't include defaults * Improve compare fixtures * lint * Update scripts/filler_to_python/templates/state_test.py.j2 * Update scripts/filler_to_python/analyzer.py * Update scripts/filler_to_python/analyzer.py * Update scripts/filler_to_python/analyzer.py * Update scripts/filler_to_python/templates/state_test.py.j2 * Update scripts/filler_to_python/templates/state_test.py.j2 * chore: fix trailing whitespace and indentation in is_slow * feat(filler_to_python): Use `Hash`, `Address` without strings * feat(filler_to_python): Make tx variables local * fix(filler_to_python): Typing * feat(filler_to_python): Match tx data with contract addresses * refactor(tests/ported): Update tests * feat(filler_to_python): Use compute_create_address * update(tests/ported_static): Update tests * feat(filler_to_python): Smarter decode of tx data * update(tests/ported_static): Update tests * feat(filler_to_python): Remove unused `tx_data = [0]` * update(tests/ported_static): Update tests * feat(filler_to_python): Parse bytecode when tx.to==None * update(tests/ported_static): Update tests * feat: Pass variable definitions to `evm_bytes` * update(tests/ported_static): Update tests * lint * Changes to ported_static due to changes in process_evm_bytes * Remove old implementation --------- Co-authored-by: spencer Co-authored-by: Mario Vega --- .../src/execution_testing/cli/evm_bytes.py | 28 +- .../specs/static_state/expect_section.py | 97 + scripts/compare_fixtures.py | 270 +- scripts/filler_to_python/__init__.py | 1 + scripts/filler_to_python/__main__.py | 275 + scripts/filler_to_python/analyzer.py | 1217 + scripts/filler_to_python/ir.py | 153 + scripts/filler_to_python/render.py | 290 + .../templates/state_test.py.j2 | 390 + scripts/fixture_to_python.py | 2705 - tests/ported_static/Cancun/__init__.py | 1 - .../stEIP1153_transientStorage/__init__.py | 1 - ...est_10_revert_undoes_store_after_return.py | 157 - .../test_14_revert_after_nested_staticcall.py | 155 - .../test_trans_storage_ok.py | 1557 - .../test_trans_storage_reset.py | 845 - .../stEIP4844_blobtransactions/__init__.py | 1 - .../Cancun/stEIP5656_MCOPY/__init__.py | 1 - .../Cancun/stEIP5656_MCOPY/test_mcopy.py | 371 - .../stEIP5656_MCOPY/test_mcopy_copy_cost.py | 712 - .../test_mcopy_memory_expansion_cost.py | 555 - tests/ported_static/Shanghai/__init__.py | 1 - .../stEIP3651_warmcoinbase/__init__.py | 1 - .../test_coinbase_warm_account_call_gas.py | 310 - ...est_coinbase_warm_account_call_gas_fail.py | 251 - .../Shanghai/stEIP3855_push0/__init__.py | 1 - .../Shanghai/stEIP3855_push0/test_push0.py | 1325 - .../stEIP3855_push0/test_push0_gas2.py | 146 - .../stEIP3860_limitmeterinitcode/__init__.py | 1 - .../test_create2_init_code_size_limit.py | 158 - .../test_create_init_code_size_limit.py | 156 - .../test_creation_tx_init_code_size_limit.py | 151 - tests/ported_static/VMTests/__init__.py | 1 - .../VMTests/vmArithmeticTest/__init__.py | 1 - .../VMTests/vmArithmeticTest/test_add.py | 187 - .../VMTests/vmArithmeticTest/test_addmod.py | 407 - .../VMTests/vmArithmeticTest/test_arith.py | 87 - .../VMTests/vmArithmeticTest/test_div.py | 214 - .../vmArithmeticTest/test_div_by_zero.py | 651 - .../VMTests/vmArithmeticTest/test_exp.py | 270 - .../vmArithmeticTest/test_exp_power2.py | 207 - .../vmArithmeticTest/test_exp_power256.py | 515 - .../test_exp_power256_of256.py | 1542 - .../VMTests/vmArithmeticTest/test_fib.py | 160 - .../VMTests/vmArithmeticTest/test_mod.py | 189 - .../VMTests/vmArithmeticTest/test_mul.py | 268 - .../VMTests/vmArithmeticTest/test_mulmod.py | 427 - .../VMTests/vmArithmeticTest/test_sdiv.py | 527 - .../vmArithmeticTest/test_signextend.py | 401 - .../VMTests/vmArithmeticTest/test_smod.py | 195 - .../VMTests/vmArithmeticTest/test_sub.py | 185 - .../VMTests/vmArithmeticTest/test_two_ops.py | 4162 - .../vmBitwiseLogicOperation/__init__.py | 1 - .../vmBitwiseLogicOperation/test_and.py | 179 - .../vmBitwiseLogicOperation/test_byte.py | 392 - .../vmBitwiseLogicOperation/test_eq.py | 141 - .../vmBitwiseLogicOperation/test_gt.py | 157 - .../vmBitwiseLogicOperation/test_iszero.py | 135 - .../vmBitwiseLogicOperation/test_lt.py | 157 - .../vmBitwiseLogicOperation/test_not.py | 198 - .../vmBitwiseLogicOperation/test_or.py | 208 - .../vmBitwiseLogicOperation/test_sgt.py | 157 - .../vmBitwiseLogicOperation/test_slt.py | 157 - .../vmBitwiseLogicOperation/test_xor.py | 204 - .../VMTests/vmIOandFlowOperations/__init__.py | 1 - .../vmIOandFlowOperations/test_codecopy.py | 266 - .../VMTests/vmIOandFlowOperations/test_gas.py | 125 - .../vmIOandFlowOperations/test_jump.py | 467 - .../test_jump_to_push.py | 1669 - .../vmIOandFlowOperations/test_jumpi.py | 667 - .../test_loop_stacklimit.py | 152 - .../test_loops_conditionals.py | 401 - .../vmIOandFlowOperations/test_mload.py | 142 - .../vmIOandFlowOperations/test_msize.py | 205 - .../vmIOandFlowOperations/test_mstore.py | 192 - .../vmIOandFlowOperations/test_mstore8.py | 154 - .../VMTests/vmIOandFlowOperations/test_pc.py | 119 - .../VMTests/vmIOandFlowOperations/test_pop.py | 116 - .../vmIOandFlowOperations/test_return.py | 225 - .../test_sstore_sload.py | 152 - .../VMTests/vmLogTest/__init__.py | 1 - .../VMTests/vmLogTest/test_log0.py | 286 - .../VMTests/vmLogTest/test_log1.py | 308 - .../VMTests/vmLogTest/test_log2.py | 309 - .../VMTests/vmLogTest/test_log3.py | 369 - .../VMTests/vmLogTest/test_log4.py | 399 - .../ported_static/VMTests/vmTests/__init__.py | 1 - .../VMTests/vmTests/test_block_info.py | 161 - .../VMTests/vmTests/test_env_info.py | 257 - .../VMTests/vmTests/test_random.py | 176 - .../VMTests/vmTests/test_sha3.py | 432 - .../VMTests/vmTests/test_suicide.py | 120 - tests/ported_static/__init__.py | 1 - .../stArgsZeroOneBalance/__init__.py | 2 +- .../test_add_non_const.py | 102 +- .../test_addmod_non_const.py | 103 +- .../test_and_non_const.py | 102 +- .../test_balance_non_const.py | 99 +- .../test_byte_non_const.py | 99 +- .../test_call_non_const.py | 134 +- .../test_callcode_non_const.py | 136 +- .../test_calldatacopy_non_const.py | 122 +- .../test_calldataload_non_const.py | 148 +- .../test_codecopy_non_const.py | 105 +- .../test_create_non_const.py | 120 +- .../test_delegatecall_non_const.py | 130 +- .../test_div_non_const.py | 102 +- .../stArgsZeroOneBalance/test_eq_non_const.py | 103 +- .../test_exp_non_const.py | 105 +- .../test_extcodecopy_non_const.py | 111 +- .../test_extcodesize_non_const.py | 99 +- .../stArgsZeroOneBalance/test_gt_non_const.py | 99 +- .../test_iszero_non_const.py | 96 +- .../test_jump_non_const.py | 88 +- .../test_jumpi_non_const.py | 95 +- .../test_log0_non_const.py | 97 +- .../test_log1_non_const.py | 103 +- .../test_log2_non_const.py | 105 +- .../test_log3_non_const.py | 111 +- .../stArgsZeroOneBalance/test_lt_non_const.py | 97 +- .../test_mload_non_const.py | 95 +- .../test_mod_non_const.py | 97 +- .../test_mstore8_non_const.py | 99 +- .../test_mstore_non_const.py | 95 +- .../test_mul_non_const.py | 102 +- .../test_mulmod_non_const.py | 103 +- .../test_not_non_const.py | 117 +- .../stArgsZeroOneBalance/test_or_non_const.py | 102 +- .../test_return_non_const.py | 97 +- .../test_sdiv_non_const.py | 102 +- .../test_sgt_non_const.py | 99 +- .../test_sha3_non_const.py | 123 +- .../test_signext_non_const.py | 104 +- .../test_sload_non_const.py | 95 +- .../test_slt_non_const.py | 99 +- .../test_smod_non_const.py | 99 +- .../test_sstore_non_const.py | 98 +- .../test_sub_non_const.py | 99 +- .../test_suicide_non_const.py | 80 +- .../test_xor_non_const.py | 99 +- tests/ported_static/stAttackTest/__init__.py | 2 +- .../test_contract_creation_spam.py | 1196 +- .../stAttackTest/test_crashing_transaction.py | 73 +- tests/ported_static/stBadOpcode/__init__.py | 2 +- .../stBadOpcode/test_eip2315_not_removed.py | 37 +- .../stBadOpcode/test_invalid_addr.py | 1926 +- .../stBadOpcode/test_measure_gas.py | 597 +- .../stBadOpcode/test_operation_diff_gas.py | 590 +- tests/ported_static/stBugs/__init__.py | 2 +- ...s_tue_07_58_41_minus_15153_minus_575192.py | 66 +- ...7_58_41_minus_15153_minus_575192_london.py | 64 +- ...copy_python_bug_tue_03_48_41_minus_1432.py | 352 +- .../stBugs/test_staticcall_createfails.py | 116 +- tests/ported_static/stCallCodes/__init__.py | 2 +- .../test_call_oog_additional_gas_costs1.py | 61 +- .../test_call_oog_additional_gas_costs2.py | 70 +- .../stCallCodes/test_callcall_00.py | 114 +- .../stCallCodes/test_callcall_00_ooge.py | 103 +- .../test_callcall_00_ooge_value_transfer.py | 109 +- .../test_callcall_00_suicide_end.py | 101 +- .../stCallCodes/test_callcallcall_000.py | 149 +- .../stCallCodes/test_callcallcall_000_ooge.py | 143 +- .../test_callcallcall_000_oogm_after.py | 135 +- .../test_callcallcall_000_oogm_before.py | 132 +- .../test_callcallcall_000_suicide_end.py | 134 +- .../test_callcallcall_000_suicide_middle.py | 132 +- .../test_callcallcall_abcb_recursive.py | 121 +- .../stCallCodes/test_callcallcallcode_001.py | 148 +- .../test_callcallcallcode_001_ooge.py | 143 +- .../test_callcallcallcode_001_oogm_after.py | 137 +- .../test_callcallcallcode_001_oogm_before.py | 138 +- .../test_callcallcallcode_001_suicide_end.py | 133 +- ...est_callcallcallcode_001_suicide_middle.py | 139 +- .../test_callcallcallcode_abcb_recursive.py | 121 +- .../stCallCodes/test_callcallcode_01.py | 113 +- .../stCallCodes/test_callcallcode_01_ooge.py | 103 +- .../test_callcallcode_01_suicide_end.py | 98 +- .../stCallCodes/test_callcallcodecall_010.py | 149 +- .../test_callcallcodecall_010_ooge.py | 142 +- .../test_callcallcodecall_010_oogm_after.py | 137 +- .../test_callcallcodecall_010_oogm_before.py | 134 +- .../test_callcallcodecall_010_suicide_end.py | 133 +- ...est_callcallcodecall_010_suicide_middle.py | 134 +- .../test_callcallcodecall_abcb_recursive.py | 121 +- .../test_callcallcodecallcode_011.py | 149 +- .../test_callcallcodecallcode_011_ooge.py | 142 +- ...est_callcallcodecallcode_011_oogm_after.py | 136 +- ...st_callcallcodecallcode_011_oogm_before.py | 135 +- ...st_callcallcodecallcode_011_suicide_end.py | 134 +- ...callcallcodecallcode_011_suicide_middle.py | 135 +- ...est_callcallcodecallcode_abcb_recursive.py | 122 +- .../stCallCodes/test_callcode_check_pc.py | 57 +- .../stCallCodes/test_callcode_dynamic_code.py | 526 +- .../test_callcode_dynamic_code2_self_call.py | 273 +- .../test_callcode_emptycontract.py | 52 +- ..._callcode_in_initcode_to_empty_contract.py | 219 +- ..._exis_contract_with_v_transfer_ne_money.py | 220 +- ...llcode_in_initcode_to_existing_contract.py | 228 +- ...o_existing_contract_with_value_transfer.py | 56 +- .../stCallCodes/test_callcodecall_10.py | 116 +- .../stCallCodes/test_callcodecall_10_ooge.py | 106 +- .../test_callcodecall_10_suicide_end.py | 104 +- .../stCallCodes/test_callcodecallcall_100.py | 148 +- .../test_callcodecallcall_100_ooge.py | 142 +- .../test_callcodecallcall_100_oogm_after.py | 133 +- .../test_callcodecallcall_100_oogm_before.py | 137 +- .../test_callcodecallcall_100_suicide_end.py | 138 +- ...est_callcodecallcall_100_suicide_middle.py | 136 +- .../test_callcodecallcall_abcb_recursive.py | 124 +- .../test_callcodecallcallcode_101.py | 148 +- .../test_callcodecallcallcode_101_ooge.py | 142 +- ...est_callcodecallcallcode_101_oogm_after.py | 134 +- ...st_callcodecallcallcode_101_oogm_before.py | 134 +- ...st_callcodecallcallcode_101_suicide_end.py | 137 +- ...callcodecallcallcode_101_suicide_middle.py | 131 +- ...est_callcodecallcallcode_abcb_recursive.py | 125 +- .../stCallCodes/test_callcodecallcode_11.py | 110 +- .../test_callcodecallcode_11_ooge.py | 106 +- .../test_callcodecallcode_11_suicide_end.py | 101 +- .../test_callcodecallcodecall_110.py | 148 +- .../test_callcodecallcodecall_110_ooge.py | 141 +- ...est_callcodecallcodecall_110_oogm_after.py | 136 +- ...st_callcodecallcodecall_110_oogm_before.py | 136 +- ...st_callcodecallcodecall_110_suicide_end.py | 139 +- ...callcodecallcodecall_110_suicide_middle.py | 135 +- ...est_callcodecallcodecall_abcb_recursive.py | 121 +- .../test_callcodecallcodecallcode_111.py | 146 +- .../test_callcodecallcodecallcode_111_ooge.py | 142 +- ...callcodecallcodecallcode_111_oogm_after.py | 134 +- ...allcodecallcodecallcode_111_oogm_before.py | 132 +- ...allcodecallcodecallcode_111_suicide_end.py | 134 +- ...codecallcodecallcode_111_suicide_middle.py | 136 +- ...callcodecallcodecallcode_abcb_recursive.py | 121 +- .../stCallCreateCallCodeTest/__init__.py | 2 +- .../test_call1024_balance_too_low.py | 61 +- .../test_call1024_oog.py | 166 +- .../test_call1024_pre_calls.py | 158 +- .../test_call_lose_gas_oog.py | 67 +- .../test_call_output1.py | 68 +- .../test_call_output2.py | 68 +- .../test_call_output3.py | 74 +- .../test_call_output3_fail.py | 67 +- .../test_call_output3partial.py | 66 +- .../test_call_output3partial_fail.py | 74 +- .../test_call_recursive_bomb_pre_call.py | 96 +- .../test_call_with_high_value.py | 67 +- .../test_call_with_high_value_and_gas_oog.py | 176 +- ...all_with_high_value_and_oo_gat_tx_level.py | 136 +- .../test_call_with_high_value_oo_gin_call.py | 75 +- .../test_callcode1024_balance_too_low.py | 57 +- .../test_callcode1024_oog.py | 132 +- .../test_callcode_lose_gas_oog.py | 133 +- .../test_callcode_output1.py | 67 +- .../test_callcode_output2.py | 73 +- .../test_callcode_output3.py | 67 +- .../test_callcode_output3_fail.py | 76 +- .../test_callcode_output3partial.py | 68 +- .../test_callcode_output3partial_fail.py | 74 +- .../test_callcode_with_high_value.py | 72 +- ...st_callcode_with_high_value_and_gas_oog.py | 88 +- ..._ask_more_gas_then_transaction_provided.py | 135 +- .../test_create_fail_balance_too_low.py | 109 +- ...t_create_init_fail_bad_jump_destination.py | 37 +- ..._create_init_fail_bad_jump_destination2.py | 37 +- .../test_create_init_fail_oo_gduring_init.py | 38 +- .../test_create_init_fail_oo_gduring_init2.py | 53 +- ...te_init_fail_stack_size_larger_than1024.py | 51 +- .../test_create_init_fail_stack_underflow.py | 37 +- ..._create_init_fail_undefined_instruction.py | 115 +- ...create_init_fail_undefined_instruction2.py | 37 +- .../test_create_init_oo_gfor_create.py | 91 +- .../test_create_js_example_contract.py | 758 +- .../test_create_js_no_collision.py | 47 +- .../test_create_name_registrator_per_txs.py | 34 +- ...name_registrator_per_txs_not_enough_gas.py | 99 +- ...e_registrator_pre_store1_not_enough_gas.py | 48 +- ...eate_name_registratorendowment_too_high.py | 43 +- .../__init__.py | 2 +- .../test_callcallcallcode_001.py | 150 +- .../test_callcallcallcode_001_ooge.py | 137 +- .../test_callcallcallcode_001_oogm_after.py | 131 +- .../test_callcallcallcode_001_oogm_before.py | 135 +- .../test_callcallcallcode_001_suicide_end.py | 146 +- ...est_callcallcallcode_001_suicide_middle.py | 143 +- .../test_callcallcallcode_abcb_recursive.py | 117 +- .../test_callcallcode_01.py | 115 +- .../test_callcallcode_01_ooge.py | 101 +- .../test_callcallcode_01_suicide_end.py | 108 +- .../test_callcallcodecall_010.py | 154 +- .../test_callcallcodecall_010_ooge.py | 137 +- .../test_callcallcodecall_010_oogm_after.py | 131 +- .../test_callcallcodecall_010_oogm_before.py | 131 +- .../test_callcallcodecall_010_suicide_end.py | 138 +- ...est_callcallcodecall_010_suicide_middle.py | 138 +- .../test_callcallcodecall_abcb_recursive.py | 117 +- .../test_callcallcodecallcode_011.py | 146 +- .../test_callcallcodecallcode_011_ooge.py | 135 +- ...est_callcallcodecallcode_011_oogm_after.py | 131 +- ...st_callcallcodecallcode_011_oogm_before.py | 127 +- ...st_callcallcodecallcode_011_suicide_end.py | 137 +- ...callcallcodecallcode_011_suicide_middle.py | 135 +- ...est_callcallcodecallcode_abcb_recursive.py | 115 +- .../test_callcodecall_10.py | 112 +- .../test_callcodecall_10_ooge.py | 98 +- .../test_callcodecall_10_suicide_end.py | 97 +- .../test_callcodecallcall_100.py | 151 +- .../test_callcodecallcall_100_ooge.py | 133 +- .../test_callcodecallcall_100_oogm_after.py | 131 +- .../test_callcodecallcall_100_oogm_before.py | 129 +- .../test_callcodecallcall_100_suicide_end.py | 133 +- ...est_callcodecallcall_100_suicide_middle.py | 138 +- .../test_callcodecallcall_abcb_recursive.py | 118 +- .../test_callcodecallcallcode_101.py | 152 +- .../test_callcodecallcallcode_101_ooge.py | 133 +- ...est_callcodecallcallcode_101_oogm_after.py | 131 +- ...st_callcodecallcallcode_101_oogm_before.py | 125 +- ...st_callcodecallcallcode_101_suicide_end.py | 131 +- ...callcodecallcallcode_101_suicide_middle.py | 133 +- ...est_callcodecallcallcode_abcb_recursive.py | 116 +- .../test_callcodecallcode_11.py | 114 +- .../test_callcodecallcode_11_ooge.py | 98 +- .../test_callcodecallcode_11_suicide_end.py | 99 +- .../test_callcodecallcodecall_110.py | 151 +- .../test_callcodecallcodecall_110_ooge.py | 131 +- ...est_callcodecallcodecall_110_oogm_after.py | 129 +- ...st_callcodecallcodecall_110_oogm_before.py | 129 +- ...st_callcodecallcodecall_110_suicide_end.py | 130 +- ...callcodecallcodecall_110_suicide_middle.py | 134 +- ...est_callcodecallcodecall_abcb_recursive.py | 116 +- .../test_callcodecallcodecallcode_111.py | 144 +- .../test_callcodecallcodecallcode_111_ooge.py | 129 +- ...callcodecallcodecallcode_111_oogm_after.py | 129 +- ...allcodecallcodecallcode_111_oogm_before.py | 123 +- ...allcodecallcodecallcode_111_suicide_end.py | 133 +- ...codecallcodecallcode_111_suicide_middle.py | 135 +- ...callcodecallcodecallcode_abcb_recursive.py | 114 +- .../stCallDelegateCodesHomestead/__init__.py | 2 +- .../test_callcallcallcode_001.py | 152 +- .../test_callcallcallcode_001_ooge.py | 139 +- .../test_callcallcallcode_001_oogm_after.py | 133 +- .../test_callcallcallcode_001_oogm_before.py | 134 +- .../test_callcallcallcode_001_suicide_end.py | 135 +- ...est_callcallcallcode_001_suicide_middle.py | 147 +- .../test_callcallcallcode_abcb_recursive.py | 118 +- .../test_callcallcode_01.py | 118 +- .../test_callcallcode_01_ooge.py | 98 +- .../test_callcallcode_01_suicide_end.py | 103 +- .../test_callcallcodecall_010.py | 168 +- .../test_callcallcodecall_010_ooge.py | 138 +- .../test_callcallcodecall_010_oogm_after.py | 133 +- .../test_callcallcodecall_010_oogm_before.py | 130 +- .../test_callcallcodecall_010_suicide_end.py | 140 +- ...est_callcallcodecall_010_suicide_middle.py | 139 +- .../test_callcallcodecall_abcb_recursive.py | 118 +- .../test_callcallcodecallcode_011.py | 149 +- .../test_callcallcodecallcode_011_ooge.py | 136 +- ...est_callcallcodecallcode_011_oogm_after.py | 131 +- ...st_callcallcodecallcode_011_oogm_before.py | 130 +- ...st_callcallcodecallcode_011_suicide_end.py | 138 +- ...callcallcodecallcode_011_suicide_middle.py | 134 +- ...est_callcallcodecallcode_abcb_recursive.py | 118 +- .../test_callcodecall_10.py | 119 +- .../test_callcodecall_10_ooge.py | 98 +- .../test_callcodecall_10_suicide_end.py | 100 +- .../test_callcodecallcall_100.py | 165 +- .../test_callcodecallcall_100_ooge.py | 134 +- .../test_callcodecallcall_100_oogm_after.py | 129 +- .../test_callcodecallcall_100_oogm_before.py | 129 +- .../test_callcodecallcall_100_suicide_end.py | 135 +- ...est_callcodecallcall_100_suicide_middle.py | 139 +- .../test_callcodecallcall_abcb_recursive.py | 118 +- .../test_callcodecallcallcode_101.py | 165 +- .../test_callcodecallcallcode_101_ooge.py | 132 +- ...est_callcodecallcallcode_101_oogm_after.py | 127 +- ...st_callcodecallcallcode_101_oogm_before.py | 125 +- ...st_callcodecallcallcode_101_suicide_end.py | 132 +- ...callcodecallcallcode_101_suicide_middle.py | 139 +- ...est_callcodecallcallcode_abcb_recursive.py | 116 +- .../test_callcodecallcode_11.py | 114 +- .../test_callcodecallcode_11_ooge.py | 98 +- .../test_callcodecallcode_11_suicide_end.py | 102 +- .../test_callcodecallcodecall_110.py | 168 +- .../test_callcodecallcodecall_110_ooge.py | 131 +- ...est_callcodecallcodecall_110_oogm_after.py | 129 +- ...st_callcodecallcodecall_110_oogm_before.py | 125 +- ...st_callcodecallcodecall_110_suicide_end.py | 131 +- ...callcodecallcodecall_110_suicide_middle.py | 130 +- ...est_callcodecallcodecall_abcb_recursive.py | 116 +- .../test_callcodecallcodecallcode_111.py | 146 +- .../test_callcodecallcodecallcode_111_ooge.py | 129 +- ...callcodecallcodecallcode_111_oogm_after.py | 129 +- ...allcodecallcodecallcode_111_oogm_before.py | 123 +- ...allcodecallcodecallcode_111_suicide_end.py | 128 +- ...codecallcodecallcode_111_suicide_middle.py | 132 +- ...callcodecallcodecallcode_abcb_recursive.py | 114 +- tests/ported_static/stChainId/__init__.py | 1 - .../ported_static/stChainId/test_chain_id.py | 67 - .../stChainId/test_chain_id_gas_cost.py | 79 - .../ported_static/stCodeCopyTest/__init__.py | 2 +- ...opy_target_range_longer_than_code_tests.py | 72 +- .../test_ext_code_copy_tests_paris.py | 124 +- .../ported_static/stCodeSizeLimit/__init__.py | 2 +- .../stCodeSizeLimit/test_codesize_init.py | 20 +- .../test_codesize_oog_invalid_size.py | 56 +- .../stCodeSizeLimit/test_codesize_valid.py | 55 +- .../test_create2_code_size_limit.py | 131 +- .../test_create_code_size_limit.py | 125 +- tests/ported_static/stCreate2/__init__.py | 2 +- ..._create2_successful_then_returndatasize.py | 94 +- ..._create2_successful_then_returndatasize.py | 102 +- .../stCreate2/test_create2_bounds.py | 85 +- .../stCreate2/test_create2_bounds2.py | 80 +- .../stCreate2/test_create2_bounds3.py | 226 +- ...cide_during_init_then_store_then_return.py | 79 +- .../stCreate2/test_create2_first_byte_loop.py | 190 +- .../stCreate2/test_create2_high_nonce.py | 52 +- .../test_create2_high_nonce_delegatecall.py | 1516 +- .../test_create2_high_nonce_minus1.py | 53 +- .../stCreate2/test_create2_init_codes.py | 289 +- .../stCreate2/test_create2_on_depth1023.py | 97 +- .../stCreate2/test_create2_on_depth1024.py | 103 +- .../test_create2_oo_gafter_init_code.py | 91 +- ..._create2_oo_gafter_init_code_returndata.py | 86 +- ...create2_oo_gafter_init_code_returndata2.py | 111 +- ...create2_oo_gafter_init_code_returndata3.py | 81 +- ...te2_oo_gafter_init_code_returndata_size.py | 46 +- ...test_create2_oo_gafter_init_code_revert.py | 78 +- ...est_create2_oo_gafter_init_code_revert2.py | 78 +- .../test_create2_oog_from_call_refunds.py | 1722 +- .../stCreate2/test_create2_recursive.py | 111 +- .../stCreate2/test_create2_smart_init_code.py | 197 +- .../stCreate2/test_create2_suicide.py | 329 +- .../stCreate2/test_create2call_precompiles.py | 802 +- .../test_create2check_fields_in_initcode.py | 697 +- .../test_create2collision_balance.py | 169 +- .../stCreate2/test_create2collision_code.py | 109 +- .../stCreate2/test_create2collision_code2.py | 95 +- .../stCreate2/test_create2collision_nonce.py | 99 +- .../test_create2collision_selfdestructed.py | 259 +- .../test_create2collision_selfdestructed2.py | 199 +- ...est_create2collision_selfdestructed_oog.py | 128 +- ..._create2collision_selfdestructed_revert.py | 224 +- .../stCreate2/test_create2no_cash.py | 122 +- .../stCreate2/test_create_message_reverted.py | 95 +- ...st_create_message_reverted_oog_in_init2.py | 96 +- ...atacopy_0_0_following_successful_create.py | 56 +- ...est_returndatacopy_after_failing_create.py | 40 +- .../test_returndatacopy_following_create.py | 178 +- ...turndatacopy_following_revert_in_create.py | 59 +- ...urndatacopy_following_successful_create.py | 50 +- ...urndatasize_following_successful_create.py | 50 +- .../test_revert_depth_create2_oog.py | 239 +- .../test_revert_depth_create2_oog_berlin.py | 241 +- ...t_revert_depth_create_address_collision.py | 251 +- ...t_depth_create_address_collision_berlin.py | 250 +- .../stCreate2/test_revert_opcode_create.py | 91 +- ...revert_opcode_in_create_returns_create2.py | 53 +- tests/ported_static/stCreateTest/__init__.py | 2 +- .../stCreateTest/test_code_in_constructor.py | 374 +- .../stCreateTest/test_create2_call_data.py | 54 +- .../stCreateTest/test_create2_refund_ef.py | 81 +- .../test_create_address_warm_after_fail.py | 1221 +- .../test_create_collision_results.py | 357 +- .../test_create_collision_to_empty2.py | 329 +- .../test_create_contract_return_big_offset.py | 68 +- ...test_create_contract_sstore_during_init.py | 21 +- ...e_contract_create_e_contract_in_init_tr.py | 38 +- ...tract_create_ne_contract_in_init_oog_tr.py | 109 +- ..._contract_create_ne_contract_in_init_tr.py | 42 +- ..._contract_then_call_to_non_existent_acc.py | 67 +- ...empty000_createin_init_code_transaction.py | 41 +- .../test_create_empty_contract.py | 37 +- ..._create_empty_contract_and_call_it_0wei.py | 66 +- ..._create_empty_contract_and_call_it_1wei.py | 68 +- ...test_create_empty_contract_with_balance.py | 42 +- ...test_create_empty_contract_with_storage.py | 68 +- ..._contract_with_storage_and_call_it_0wei.py | 92 +- ..._contract_with_storage_and_call_it_1wei.py | 92 +- .../stCreateTest/test_create_fail_result.py | 907 +- .../stCreateTest/test_create_high_nonce.py | 49 +- .../test_create_high_nonce_minus1.py | 50 +- .../stCreateTest/test_create_large_result.py | 505 +- .../test_create_oo_gafter_init_code.py | 94 +- ...t_create_oo_gafter_init_code_returndata.py | 75 +- ..._create_oo_gafter_init_code_returndata2.py | 106 +- ..._create_oo_gafter_init_code_returndata3.py | 79 +- ...ate_oo_gafter_init_code_returndata_size.py | 42 +- .../test_create_oo_gafter_init_code_revert.py | 107 +- ...test_create_oo_gafter_init_code_revert2.py | 214 +- .../test_create_oo_gafter_max_codesize.py | 1461 +- .../test_create_oog_from_call_refunds.py | 1642 +- .../stCreateTest/test_create_results.py | 1283 +- .../test_create_transaction_call_data.py | 94 +- .../test_create_transaction_high_nonce.py | 71 +- .../test_create_transaction_refund_ef.py | 43 +- .../test_transaction_collision_to_empty2.py | 111 +- ...transaction_collision_to_empty_but_code.py | 110 +- ...ransaction_collision_to_empty_but_nonce.py | 72 +- .../stDelegatecallTestHomestead/__init__.py | 2 +- .../test_call1024_balance_too_low.py | 57 +- .../test_call1024_oog.py | 130 +- .../test_call1024_pre_calls.py | 185 +- .../test_call_lose_gas_oog.py | 65 +- .../test_call_output1.py | 69 +- .../test_call_output2.py | 69 +- .../test_call_output3.py | 69 +- .../test_call_output3partial.py | 76 +- .../test_call_output3partial_fail.py | 74 +- .../test_call_recursive_bomb_pre_call.py | 98 +- .../test_call_with_high_value_and_gas_oog.py | 90 +- .../test_callcode_lose_gas_oog.py | 134 +- .../test_callcode_output3.py | 67 +- ...st_callcode_with_high_value_and_gas_oog.py | 90 +- ...est_deleagate_call_after_value_transfer.py | 69 +- .../test_delegatecall1024.py | 59 +- .../test_delegatecall1024_oog.py | 70 +- .../test_delegatecall_and_oo_gat_tx_level.py | 72 +- .../test_delegatecall_basic.py | 74 +- .../test_delegatecall_emptycontract.py | 51 +- ...egatecall_in_initcode_to_empty_contract.py | 51 +- ...tecall_in_initcode_to_existing_contract.py | 80 +- ...ll_in_initcode_to_existing_contract_oog.py | 62 +- .../test_delegatecall_oo_gin_call.py | 76 +- .../test_delegatecall_sender_check.py | 55 +- .../test_delegatecall_value_check.py | 57 +- .../test_delegatecode_dynamic_code.py | 63 +- ...st_delegatecode_dynamic_code2_self_call.py | 48 +- .../stEIP1153_transientStorage/__init__.py | 1 + ...est_10_revert_undoes_store_after_return.py | 155 + .../test_14_revert_after_nested_staticcall.py | 153 + .../test_trans_storage_ok.py | 1466 + .../test_trans_storage_reset.py | 766 + .../stEIP150Specific/__init__.py | 2 +- ...e_consume_more_gas_then_transaction_has.py | 88 +- ...more_gas_on_depth2_then_transaction_has.py | 102 +- .../test_call_goes_oog_on_second_level.py | 117 +- .../test_call_goes_oog_on_second_level2.py | 110 +- .../test_create_and_gas_inside_create.py | 44 +- .../test_delegate_call_on_eip.py | 62 +- ..._that_ask_fore_gas_then_trabsaction_has.py | 62 +- .../test_new_gas_price_for_codes.py | 189 +- .../test_suicide_to_existing_contract.py | 80 +- .../test_suicide_to_not_existing_contract.py | 81 +- .../test_transaction64_rule_d64e0.py | 62 +- .../test_transaction64_rule_d64m1.py | 62 +- .../test_transaction64_rule_d64p1.py | 62 +- ...t_transaction64_rule_integer_boundaries.py | 308 +- .../stEIP150singleCodeGasPrices/__init__.py | 2 +- .../test_eip2929.py | 1764 +- .../test_eip2929_minus_ff.py | 493 +- .../test_eip2929_oog.py | 381 +- .../test_gas_cost.py | 2589 +- .../test_gas_cost_berlin.py | 2016 +- .../test_gas_cost_exp.py | 329 +- .../test_gas_cost_jump.py | 267 +- .../test_gas_cost_mem_seg.py | 1619 +- .../test_gas_cost_memory.py | 2237 +- .../test_gas_cost_return.py | 124 +- .../test_raw_balance_gas.py | 42 +- .../test_raw_call_code_gas.py | 67 +- .../test_raw_call_code_gas_ask.py | 68 +- .../test_raw_call_code_gas_memory.py | 60 +- .../test_raw_call_code_gas_memory_ask.py | 66 +- .../test_raw_call_code_gas_value_transfer.py | 66 +- ...st_raw_call_code_gas_value_transfer_ask.py | 66 +- ...raw_call_code_gas_value_transfer_memory.py | 60 +- ...call_code_gas_value_transfer_memory_ask.py | 66 +- .../test_raw_call_gas.py | 68 +- .../test_raw_call_gas_ask.py | 68 +- .../test_raw_call_gas_value_transfer.py | 67 +- .../test_raw_call_gas_value_transfer_ask.py | 67 +- ...test_raw_call_gas_value_transfer_memory.py | 67 +- ..._raw_call_gas_value_transfer_memory_ask.py | 67 +- .../test_raw_call_memory_gas.py | 69 +- .../test_raw_call_memory_gas_ask.py | 69 +- ...test_raw_create_fail_gas_value_transfer.py | 38 +- ...est_raw_create_fail_gas_value_transfer2.py | 38 +- .../test_raw_create_gas.py | 39 +- .../test_raw_create_gas_memory.py | 40 +- .../test_raw_create_gas_value_transfer.py | 38 +- ...st_raw_create_gas_value_transfer_memory.py | 38 +- .../test_raw_delegate_call_gas.py | 66 +- .../test_raw_delegate_call_gas_ask.py | 64 +- .../test_raw_delegate_call_gas_memory.py | 64 +- .../test_raw_delegate_call_gas_memory_ask.py | 64 +- .../test_raw_ext_code_copy_gas.py | 60 +- .../test_raw_ext_code_copy_memory_gas.py | 54 +- .../test_raw_ext_code_size_gas.py | 52 +- tests/ported_static/stEIP1559/__init__.py | 2 +- .../stEIP1559/test_base_fee_diff_places.py | 2534 +- .../test_base_fee_diff_places_osaka.py | 1272 + .../stEIP1559/test_gas_price_diff_places.py | 2528 +- .../test_gas_price_diff_places_osaka.py | 1259 + .../stEIP1559/test_low_fee_cap.py | 28 +- .../stEIP1559/test_low_gas_limit.py | 131 +- .../stEIP1559/test_low_gas_price_old_types.py | 86 +- .../stEIP1559/test_out_of_funds.py | 113 +- .../stEIP1559/test_out_of_funds_old_types.py | 163 +- .../stEIP1559/test_sender_balance.py | 24 +- .../stEIP1559/test_tip_too_high.py | 27 +- .../test_transaction_intinsic_bug_paris.py | 28 +- .../stEIP1559/test_val_causes_oof.py | 242 +- .../stEIP158Specific/__init__.py | 2 +- .../test_call_one_v_call_suicide.py | 73 +- .../test_call_one_v_call_suicide2.py | 78 +- ...est_call_to_empty_then_call_error_paris.py | 67 +- .../test_call_zero_v_call_suicide.py | 69 +- .../stEIP158Specific/test_exp_empty.py | 110 +- .../test_extcodesize_to_epmty_paris.py | 53 +- .../test_extcodesize_to_non_existent.py | 48 +- .../test_vitalik_transaction_test_paris.py | 140 +- tests/ported_static/stEIP2930/__init__.py | 2 +- .../stEIP2930/test_address_opcodes.py | 1894 +- .../stEIP2930/test_coinbase_t01.py | 175 +- .../stEIP2930/test_coinbase_t2.py | 147 +- .../stEIP2930/test_manual_create.py | 193 +- .../stEIP2930/test_storage_costs.py | 2377 +- .../stEIP2930/test_transaction_costs.py | 1189 +- .../stEIP2930/test_varied_context.py | 4637 +- tests/ported_static/stEIP3607/__init__.py | 2 +- ...t_init_colliding_with_non_empty_account.py | 129 +- ..._colliding_with_non_empty_account_calls.py | 32 +- ...ing_with_non_empty_account_calls_itself.py | 23 +- ...iding_with_non_empty_account_init_paris.py | 123 +- ...iding_with_non_empty_account_send_paris.py | 31 +- .../stEIP3651_warmcoinbase/__init__.py | 1 + .../test_coinbase_warm_account_call_gas.py | 285 + ...est_coinbase_warm_account_call_gas_fail.py | 266 + .../ported_static/stEIP3855_push0/__init__.py | 1 + .../stEIP3855_push0/test_push0.py | 279 + .../stEIP3855_push0/test_push0_gas.py | 35 +- .../stEIP3855_push0/test_push0_gas2.py | 165 + .../stEIP3860_limitmeterinitcode/__init__.py | 1 + .../test_create2_init_code_size_limit.py | 193 + .../test_create_init_code_size_limit.py | 194 + .../test_creation_tx_init_code_size_limit.py | 2660 + .../stEIP4844_blobtransactions/__init__.py | 1 + .../test_create_blobhash_tx.py | 29 +- .../test_empty_blobhash_list.py | 29 +- .../test_opcode_blobh_bounds.py | 68 +- .../test_opcode_blobhash_out_of_range.py | 35 +- .../test_wrong_blobhash_version.py | 29 +- .../ported_static/stEIP5656_MCOPY/__init__.py | 1 + .../stEIP5656_MCOPY/test_mcopy.py | 434 + .../stEIP5656_MCOPY/test_mcopy_copy_cost.py | 613 + .../test_mcopy_memory_expansion_cost.py | 315 + tests/ported_static/stExample/__init__.py | 2 +- tests/ported_static/stExample/test_add11.py | 37 +- .../ported_static/stExample/test_add11_yml.py | 31 +- .../stExample/test_basefee_example.py | 27 +- tests/ported_static/stExample/test_eip1559.py | 34 +- .../stExample/test_indexes_omit_example.py | 29 +- .../stExample/test_invalid_tr.py | 29 +- .../stExample/test_labels_example.py | 142 +- .../stExample/test_merge_test.py | 33 +- .../stExample/test_ranges_example.py | 497 +- .../stExample/test_yul_example.py | 23 +- tests/ported_static/stExtCodeHash/__init__.py | 1 - .../test_code_copy_zero_paris.py | 286 - ...d_deleted_account_recheck_in_outer_call.py | 164 - .../test_ext_code_hash_subcall_oog.py | 402 - .../test_ext_code_hash_subcall_suicide.py | 192 - ...st_ext_code_hash_subcall_suicide_cancun.py | 230 - .../stHomesteadSpecific/__init__.py | 2 +- ..._creation_oo_gdont_leave_empty_contract.py | 45 +- ...nt_leave_empty_contract_via_transaction.py | 68 +- .../test_create_contract_via_contract.py | 28 +- ...ate_contract_via_contract_oog_init_code.py | 38 +- ...eate_contract_via_transaction_cost53000.py | 13 +- .../ported_static/stInitCodeTest/__init__.py | 2 +- ...ract_to_create_contract_and_call_it_oog.py | 65 +- ...all_contract_to_create_contract_no_cash.py | 47 +- ...st_call_contract_to_create_contract_oog.py | 62 +- ...ntract_to_create_contract_oog_bonus_gas.py | 65 +- ...t_which_would_create_contract_if_called.py | 68 +- ...hich_would_create_contract_in_init_code.py | 41 +- .../test_call_recursive_contract.py | 59 +- ...l_the_contract_to_create_empty_contract.py | 32 +- .../test_out_of_gas_contract_creation.py | 131 +- ..._out_of_gas_prefunded_contract_creation.py | 108 +- .../stInitCodeTest/test_return_test.py | 68 +- .../stInitCodeTest/test_return_test2.py | 76 +- ...test_stack_under_flow_contract_creation.py | 22 +- ...ransaction_create_auto_suicide_contract.py | 28 +- ...est_transaction_create_random_init_code.py | 29 +- ...est_transaction_create_stop_in_initcode.py | 31 +- ..._transaction_create_suicide_in_initcode.py | 20 +- tests/ported_static/stLogTests/__init__.py | 2 +- .../stLogTests/test_log0_empty_mem.py | 60 +- .../test_log0_log_mem_start_too_high.py | 78 +- .../test_log0_log_memsize_too_high.py | 78 +- .../stLogTests/test_log0_log_memsize_zero.py | 74 +- .../stLogTests/test_log0_non_empty_mem.py | 74 +- .../test_log0_non_empty_mem_log_mem_size1.py | 78 +- ...empty_mem_log_mem_size1_log_mem_start31.py | 75 +- .../stLogTests/test_log1_caller.py | 68 +- .../stLogTests/test_log1_empty_mem.py | 60 +- .../test_log1_log_mem_start_too_high.py | 80 +- .../test_log1_log_memsize_too_high.py | 80 +- .../stLogTests/test_log1_log_memsize_zero.py | 74 +- .../stLogTests/test_log1_max_topic.py | 84 +- .../stLogTests/test_log1_non_empty_mem.py | 74 +- .../test_log1_non_empty_mem_log_mem_size1.py | 76 +- ...empty_mem_log_mem_size1_log_mem_start31.py | 75 +- .../stLogTests/test_log2_caller.py | 68 +- .../stLogTests/test_log2_empty_mem.py | 60 +- .../test_log2_log_mem_start_too_high.py | 82 +- .../test_log2_log_memsize_too_high.py | 82 +- .../stLogTests/test_log2_log_memsize_zero.py | 74 +- .../stLogTests/test_log2_max_topic.py | 84 +- .../stLogTests/test_log2_non_empty_mem.py | 76 +- .../test_log2_non_empty_mem_log_mem_size1.py | 76 +- ...empty_mem_log_mem_size1_log_mem_start31.py | 75 +- .../stLogTests/test_log3_caller.py | 76 +- .../stLogTests/test_log3_empty_mem.py | 70 +- .../test_log3_log_mem_start_too_high.py | 86 +- .../test_log3_log_memsize_too_high.py | 84 +- .../stLogTests/test_log3_log_memsize_zero.py | 76 +- .../stLogTests/test_log3_max_topic.py | 86 +- .../stLogTests/test_log3_non_empty_mem.py | 78 +- .../test_log3_non_empty_mem_log_mem_size1.py | 78 +- ...empty_mem_log_mem_size1_log_mem_start31.py | 79 +- .../ported_static/stLogTests/test_log3_pc.py | 76 +- .../stLogTests/test_log4_caller.py | 82 +- .../stLogTests/test_log4_empty_mem.py | 80 +- .../test_log4_log_mem_start_too_high.py | 86 +- .../test_log4_log_memsize_too_high.py | 86 +- .../stLogTests/test_log4_log_memsize_zero.py | 88 +- .../stLogTests/test_log4_max_topic.py | 88 +- .../stLogTests/test_log4_non_empty_mem.py | 88 +- .../test_log4_non_empty_mem_log_mem_size1.py | 90 +- ...empty_mem_log_mem_size1_log_mem_start31.py | 89 +- .../ported_static/stLogTests/test_log4_pc.py | 82 +- .../stLogTests/test_log_in_oog_call.py | 68 +- .../stMemExpandingEIP150Calls/__init__.py | 2 +- ...ransaction_has_with_mem_expanding_calls.py | 90 +- ...ransaction_has_with_mem_expanding_calls.py | 94 +- ..._second_level2_with_mem_expanding_calls.py | 106 +- ...n_second_level_with_mem_expanding_calls.py | 105 +- ..._inside_create_with_mem_expanding_calls.py | 44 +- ...te_call_on_eip_with_mem_expanding_calls.py | 59 +- ...ransaction_has_with_mem_expanding_calls.py | 66 +- ...rice_for_codes_with_mem_expanding_calls.py | 186 +- .../test_oo_gin_return.py | 225 +- .../stMemoryStressTest/__init__.py | 2 +- .../stMemoryStressTest/test_call_bounds.py | 228 +- .../stMemoryStressTest/test_call_bounds2.py | 100 +- .../stMemoryStressTest/test_call_bounds2a.py | 98 +- .../stMemoryStressTest/test_call_bounds3.py | 219 +- .../test_callcode_bounds.py | 221 +- .../test_callcode_bounds2.py | 93 +- .../test_callcode_bounds3.py | 93 +- .../test_callcode_bounds4.py | 214 +- .../stMemoryStressTest/test_create_bounds.py | 85 +- .../stMemoryStressTest/test_create_bounds2.py | 80 +- .../stMemoryStressTest/test_create_bounds3.py | 171 +- .../test_delegatecall_bounds.py | 231 +- .../test_delegatecall_bounds2.py | 91 +- .../test_delegatecall_bounds3.py | 184 +- .../stMemoryStressTest/test_dup_bounds.py | 671 +- .../stMemoryStressTest/test_fill_stack.py | 185 +- .../stMemoryStressTest/test_jump_bounds.py | 56 +- .../stMemoryStressTest/test_jump_bounds2.py | 76 +- .../stMemoryStressTest/test_jumpi_bounds.py | 81 +- .../test_mload32bit_bound.py | 91 +- .../test_mload32bit_bound2.py | 93 +- .../test_mload32bit_bound_msize.py | 96 +- .../test_mload32bit_bound_return.py | 57 +- .../test_mload32bit_bound_return2.py | 65 +- .../stMemoryStressTest/test_mload_bounds.py | 64 +- .../stMemoryStressTest/test_mload_bounds2.py | 70 +- .../stMemoryStressTest/test_mload_bounds3.py | 55 +- .../stMemoryStressTest/test_mstore_bounds.py | 58 +- .../stMemoryStressTest/test_mstore_bounds2.py | 62 +- .../test_mstore_bounds2a.py | 77 +- .../stMemoryStressTest/test_pop_bounds.py | 73 +- .../stMemoryStressTest/test_return_bounds.py | 720 +- .../stMemoryStressTest/test_sload_bounds.py | 73 +- .../stMemoryStressTest/test_sstore_bounds.py | 135 +- .../test_static_call_bounds.py | 217 +- .../test_static_call_bounds2.py | 100 +- .../test_static_call_bounds2a.py | 100 +- .../test_static_call_bounds3.py | 203 +- tests/ported_static/stMemoryTest/__init__.py | 2 +- .../ported_static/stMemoryTest/test_buffer.py | 7796 +- .../stMemoryTest/test_buffer_src_offset.py | 2315 +- .../test_call_data_copy_offset.py | 80 +- .../stMemoryTest/test_calldatacopy_dejavu.py | 36 +- .../stMemoryTest/test_calldatacopy_dejavu2.py | 42 +- .../stMemoryTest/test_code_copy_offset.py | 78 +- .../stMemoryTest/test_codecopy_dejavu.py | 32 +- .../stMemoryTest/test_codecopy_dejavu2.py | 40 +- .../stMemoryTest/test_extcodecopy_dejavu.py | 37 +- .../stMemoryTest/test_log1_dejavu.py | 26 +- .../stMemoryTest/test_log2_dejavu.py | 28 +- .../stMemoryTest/test_log3_dejavu.py | 28 +- .../stMemoryTest/test_log4_dejavu.py | 28 +- .../stMemoryTest/test_mem0b_single_byte.py | 31 +- .../stMemoryTest/test_mem31b_single_byte.py | 31 +- .../stMemoryTest/test_mem32b_single_byte.py | 31 +- .../stMemoryTest/test_mem32kb.py | 33 +- .../stMemoryTest/test_mem32kb_minus_1.py | 35 +- .../stMemoryTest/test_mem32kb_minus_31.py | 33 +- .../stMemoryTest/test_mem32kb_minus_32.py | 33 +- .../stMemoryTest/test_mem32kb_minus_33.py | 33 +- .../stMemoryTest/test_mem32kb_plus_1.py | 33 +- .../stMemoryTest/test_mem32kb_plus_31.py | 33 +- .../stMemoryTest/test_mem32kb_plus_32.py | 33 +- .../stMemoryTest/test_mem32kb_plus_33.py | 33 +- .../stMemoryTest/test_mem32kb_single_byte.py | 31 +- .../test_mem32kb_single_byte_minus_1.py | 31 +- .../test_mem32kb_single_byte_minus_31.py | 31 +- .../test_mem32kb_single_byte_minus_32.py | 31 +- .../test_mem32kb_single_byte_minus_33.py | 31 +- .../test_mem32kb_single_byte_plus_1.py | 31 +- .../test_mem32kb_single_byte_plus_31.py | 31 +- .../test_mem32kb_single_byte_plus_32.py | 33 +- .../test_mem32kb_single_byte_plus_33.py | 31 +- .../stMemoryTest/test_mem33b_single_byte.py | 31 +- .../stMemoryTest/test_mem64kb.py | 33 +- .../stMemoryTest/test_mem64kb_minus_1.py | 33 +- .../stMemoryTest/test_mem64kb_minus_31.py | 35 +- .../stMemoryTest/test_mem64kb_minus_32.py | 33 +- .../stMemoryTest/test_mem64kb_minus_33.py | 33 +- .../stMemoryTest/test_mem64kb_plus_1.py | 33 +- .../stMemoryTest/test_mem64kb_plus_31.py | 35 +- .../stMemoryTest/test_mem64kb_plus_32.py | 33 +- .../stMemoryTest/test_mem64kb_plus_33.py | 33 +- .../stMemoryTest/test_mem64kb_single_byte.py | 31 +- .../test_mem64kb_single_byte_minus_1.py | 33 +- .../test_mem64kb_single_byte_minus_31.py | 31 +- .../test_mem64kb_single_byte_minus_32.py | 31 +- .../test_mem64kb_single_byte_minus_33.py | 33 +- .../test_mem64kb_single_byte_plus_1.py | 31 +- .../test_mem64kb_single_byte_plus_31.py | 31 +- .../test_mem64kb_single_byte_plus_32.py | 33 +- .../test_mem64kb_single_byte_plus_33.py | 31 +- .../stMemoryTest/test_mem_copy_self.py | 82 +- .../stMemoryTest/test_mem_return.py | 94 +- .../stMemoryTest/test_mload16bit_bound.py | 27 +- .../stMemoryTest/test_mload8bit_bound.py | 25 +- .../stMemoryTest/test_mload_dejavu.py | 28 +- .../stMemoryTest/test_mstore_dejavu.py | 26 +- .../stMemoryTest/test_mstroe8_dejavu.py | 28 +- tests/ported_static/stMemoryTest/test_oog.py | 1155 +- .../stMemoryTest/test_sha3_dejavu.py | 28 +- .../stMemoryTest/test_stack_limit_gas_1023.py | 42 +- .../stMemoryTest/test_stack_limit_gas_1024.py | 46 +- .../stMemoryTest/test_stack_limit_gas_1025.py | 46 +- .../test_stack_limit_push31_1023.py | 50 +- .../test_stack_limit_push31_1024.py | 50 +- .../test_stack_limit_push31_1025.py | 50 +- .../test_stack_limit_push32_1023.py | 50 +- .../test_stack_limit_push32_1024.py | 44 +- .../test_stack_limit_push32_1025.py | 50 +- .../stNonZeroCallsTest/__init__.py | 2 +- .../test_non_zero_value_call.py | 60 +- ...test_non_zero_value_call_to_empty_paris.py | 62 +- ...zero_value_call_to_non_non_zero_balance.py | 62 +- ...ero_value_call_to_one_storage_key_paris.py | 63 +- .../test_non_zero_value_callcode.py | 60 +- ..._non_zero_value_callcode_to_empty_paris.py | 62 +- ..._value_callcode_to_non_non_zero_balance.py | 62 +- ...value_callcode_to_one_storage_key_paris.py | 63 +- .../test_non_zero_value_delegatecall.py | 59 +- ..._zero_value_delegatecall_to_empty_paris.py | 60 +- ...ue_delegatecall_to_non_non_zero_balance.py | 60 +- ...e_delegatecall_to_one_storage_key_paris.py | 61 +- .../test_non_zero_value_suicide.py | 45 +- ...t_non_zero_value_suicide_to_empty_paris.py | 47 +- ...o_value_suicide_to_non_non_zero_balance.py | 47 +- ..._value_suicide_to_one_storage_key_paris.py | 48 +- ...n_zero_value_transaction_cal_lwith_data.py | 65 +- ...ansaction_cal_lwith_data_to_empty_paris.py | 65 +- ..._cal_lwith_data_to_non_non_zero_balance.py | 65 +- ...cal_lwith_data_to_one_storage_key_paris.py | 69 +- .../test_non_zero_value_transaction_call.py | 24 +- ...o_value_transaction_call_to_empty_paris.py | 21 +- ...ransaction_call_to_non_non_zero_balance.py | 21 +- ...ansaction_call_to_one_storage_key_paris.py | 23 +- .../stPreCompiledContracts/__init__.py | 2 +- .../stPreCompiledContracts/test_modexp.py | 2873 +- .../test_modexp_tests.py | 2350 +- .../test_precomps_eip2929_cancun.py | 19462 +--- .../stPreCompiledContracts/test_sec80.py | 117 +- .../stPreCompiledContracts2/__init__.py | 2 +- .../test_call_ecrecover0.py | 90 +- .../test_call_ecrecover0_0input.py | 64 +- ...t_call_ecrecover0_complete_return_value.py | 82 +- .../test_call_ecrecover0_gas2999.py | 90 +- .../test_call_ecrecover0_gas3000.py | 91 +- .../test_call_ecrecover0_no_gas.py | 92 +- ...all_ecrecover0_overlapping_input_output.py | 89 +- .../test_call_ecrecover1.py | 91 +- .../test_call_ecrecover2.py | 91 +- .../test_call_ecrecover3.py | 89 +- .../test_call_ecrecover80.py | 93 +- .../test_call_ecrecover_check_length.py | 92 +- ...est_call_ecrecover_check_length_wrong_v.py | 91 +- .../test_call_ecrecover_h_prefixed0.py | 89 +- .../test_call_ecrecover_invalid_signature.py | 57 +- .../test_call_ecrecover_overflow.py | 333 +- .../test_call_ecrecover_r_prefixed0.py | 90 +- .../test_call_ecrecover_s_prefixed0.py | 91 +- .../test_call_ecrecover_unrecoverable_key.py | 83 +- .../test_call_ecrecover_v_prefixed0.py | 89 +- .../test_call_ripemd160_1.py | 56 +- .../test_call_ripemd160_2.py | 58 +- .../test_call_ripemd160_3.py | 58 +- .../test_call_ripemd160_3_postfixed0.py | 57 +- .../test_call_ripemd160_3_prefixed0.py | 57 +- .../test_call_ripemd160_4.py | 64 +- .../test_call_ripemd160_4_gas719.py | 65 +- .../test_call_ripemd160_5.py | 64 +- .../test_call_sha256_0.py | 51 +- .../test_call_sha256_1.py | 56 +- .../test_call_sha256_1_nonzero_value.py | 58 +- .../test_call_sha256_2.py | 58 +- .../test_call_sha256_3.py | 58 +- .../test_call_sha256_3_postfix0.py | 59 +- .../test_call_sha256_3_prefix0.py | 59 +- .../test_call_sha256_4.py | 64 +- .../test_call_sha256_4_gas99.py | 64 +- .../test_call_sha256_5.py | 64 +- .../test_callcode_ecrecover0.py | 90 +- .../test_callcode_ecrecover0_0input.py | 62 +- ...llcode_ecrecover0_complete_return_value.py | 82 +- .../test_callcode_ecrecover0_gas2999.py | 88 +- .../test_callcode_ecrecover0_gas3000.py | 89 +- .../test_callcode_ecrecover0_no_gas.py | 90 +- ...ode_ecrecover0_overlapping_input_output.py | 89 +- .../test_callcode_ecrecover1.py | 91 +- .../test_callcode_ecrecover2.py | 91 +- .../test_callcode_ecrecover3.py | 91 +- .../test_callcode_ecrecover80.py | 91 +- .../test_callcode_ecrecover_h_prefixed0.py | 89 +- .../test_callcode_ecrecover_r_prefixed0.py | 90 +- .../test_callcode_ecrecover_s_prefixed0.py | 89 +- .../test_callcode_ecrecover_v_prefixed0.py | 89 +- .../test_callcode_ecrecover_v_prefixedf0.py | 125 +- .../test_callcode_ripemd160_0.py | 53 +- .../test_callcode_ripemd160_1.py | 56 +- .../test_callcode_ripemd160_2.py | 58 +- .../test_callcode_ripemd160_3.py | 58 +- .../test_callcode_ripemd160_3_postfixed0.py | 57 +- .../test_callcode_ripemd160_3_prefixed0.py | 57 +- .../test_callcode_ripemd160_4.py | 64 +- .../test_callcode_ripemd160_4_gas719.py | 63 +- .../test_callcode_ripemd160_5.py | 64 +- .../test_callcode_sha256_0.py | 53 +- .../test_callcode_sha256_1.py | 56 +- .../test_callcode_sha256_1_nonzero_value.py | 55 +- .../test_callcode_sha256_2.py | 58 +- .../test_callcode_sha256_3.py | 58 +- .../test_callcode_sha256_3_postfix0.py | 57 +- .../test_callcode_sha256_3_prefix0.py | 57 +- .../test_callcode_sha256_4.py | 64 +- .../test_callcode_sha256_4_gas99.py | 65 +- .../test_callcode_sha256_5.py | 64 +- .../test_ecrecover_short_buff.py | 174 +- .../test_ecrecover_weird_v.py | 1015 +- .../test_modexp_0_0_0_20500.py | 629 +- .../test_modexp_0_0_0_22000.py | 545 +- .../test_modexp_0_0_0_25000.py | 545 +- .../test_modexp_0_0_0_35000.py | 545 +- .../test_modexp_random_input.py | 267 +- .../stQuadraticComplexityTest/__init__.py | 2 +- .../test_call1_mb1024_calldepth.py | 137 +- .../test_call20_kbytes_contract50_1.py | 153 +- .../test_call20_kbytes_contract50_2.py | 160 +- .../test_call20_kbytes_contract50_3.py | 146 +- .../test_call50000.py | 148 +- .../test_call50000_ecrec.py | 144 +- .../test_call50000_identity.py | 145 +- .../test_call50000_identity2.py | 147 +- .../test_call50000_rip160.py | 142 +- .../test_call50000_sha256.py | 149 +- .../test_callcode50000.py | 148 +- .../test_create1000.py | 159 +- .../test_create1000_byzantium.py | 92 +- .../test_create1000_shnghai.py | 194 +- ...atic_complexity_solidity_call_data_copy.py | 198 +- .../test_return50000.py | 165 +- .../test_return50000_2.py | 173 +- tests/ported_static/stRandom/__init__.py | 2 +- .../stRandom/test_random_statetest0.py | 152 +- .../stRandom/test_random_statetest1.py | 78 +- .../stRandom/test_random_statetest10.py | 76 +- .../stRandom/test_random_statetest100.py | 93 +- .../stRandom/test_random_statetest102.py | 91 +- .../stRandom/test_random_statetest103.py | 76 +- .../stRandom/test_random_statetest104.py | 109 +- .../stRandom/test_random_statetest105.py | 95 +- .../stRandom/test_random_statetest106.py | 104 +- .../stRandom/test_random_statetest107.py | 95 +- .../stRandom/test_random_statetest108.py | 74 +- .../stRandom/test_random_statetest11.py | 96 +- .../stRandom/test_random_statetest110.py | 94 +- .../stRandom/test_random_statetest111.py | 74 +- .../stRandom/test_random_statetest112.py | 103 +- .../stRandom/test_random_statetest114.py | 107 +- .../stRandom/test_random_statetest115.py | 96 +- .../stRandom/test_random_statetest116.py | 105 +- .../stRandom/test_random_statetest117.py | 84 +- .../stRandom/test_random_statetest118.py | 103 +- .../stRandom/test_random_statetest119.py | 90 +- .../stRandom/test_random_statetest12.py | 97 +- .../stRandom/test_random_statetest120.py | 104 +- .../stRandom/test_random_statetest121.py | 102 +- .../stRandom/test_random_statetest122.py | 99 +- .../stRandom/test_random_statetest124.py | 77 +- .../stRandom/test_random_statetest125.py | 70 +- .../stRandom/test_random_statetest126.py | 126 +- .../stRandom/test_random_statetest129.py | 97 +- .../stRandom/test_random_statetest13.py | 97 +- .../stRandom/test_random_statetest130.py | 101 +- .../stRandom/test_random_statetest131.py | 95 +- .../stRandom/test_random_statetest133.py | 74 +- .../stRandom/test_random_statetest134.py | 97 +- .../stRandom/test_random_statetest135.py | 118 +- .../stRandom/test_random_statetest137.py | 85 +- .../stRandom/test_random_statetest138.py | 97 +- .../stRandom/test_random_statetest139.py | 91 +- .../stRandom/test_random_statetest14.py | 78 +- .../stRandom/test_random_statetest142.py | 110 +- .../stRandom/test_random_statetest143.py | 81 +- .../stRandom/test_random_statetest144.py | 250 +- .../stRandom/test_random_statetest145.py | 97 +- .../stRandom/test_random_statetest146.py | 80 +- .../stRandom/test_random_statetest147.py | 76 +- .../stRandom/test_random_statetest148.py | 82 +- .../stRandom/test_random_statetest149.py | 103 +- .../stRandom/test_random_statetest15.py | 91 +- .../stRandom/test_random_statetest150.py | 238 +- .../stRandom/test_random_statetest151.py | 66 +- .../stRandom/test_random_statetest153.py | 73 +- .../stRandom/test_random_statetest154.py | 106 +- .../stRandom/test_random_statetest155.py | 99 +- .../stRandom/test_random_statetest156.py | 84 +- .../stRandom/test_random_statetest157.py | 154 +- .../stRandom/test_random_statetest158.py | 99 +- .../stRandom/test_random_statetest159.py | 192 +- .../stRandom/test_random_statetest16.py | 78 +- .../stRandom/test_random_statetest161.py | 86 +- .../stRandom/test_random_statetest162.py | 99 +- .../stRandom/test_random_statetest163.py | 76 +- .../stRandom/test_random_statetest164.py | 109 +- .../stRandom/test_random_statetest166.py | 89 +- .../stRandom/test_random_statetest167.py | 97 +- .../stRandom/test_random_statetest169.py | 97 +- .../stRandom/test_random_statetest17.py | 92 +- .../stRandom/test_random_statetest171.py | 97 +- .../stRandom/test_random_statetest172.py | 192 +- .../stRandom/test_random_statetest173.py | 75 +- .../stRandom/test_random_statetest174.py | 57 +- .../stRandom/test_random_statetest175.py | 95 +- .../stRandom/test_random_statetest176.py | 152 +- .../stRandom/test_random_statetest177.py | 280 +- .../stRandom/test_random_statetest178.py | 149 +- .../stRandom/test_random_statetest179.py | 107 +- .../stRandom/test_random_statetest18.py | 72 +- .../stRandom/test_random_statetest180.py | 87 +- .../stRandom/test_random_statetest183.py | 87 +- .../stRandom/test_random_statetest184.py | 65 +- .../stRandom/test_random_statetest185.py | 90 +- .../stRandom/test_random_statetest187.py | 85 +- .../stRandom/test_random_statetest188.py | 95 +- .../stRandom/test_random_statetest189.py | 80 +- .../stRandom/test_random_statetest19.py | 99 +- .../stRandom/test_random_statetest190.py | 184 +- .../stRandom/test_random_statetest191.py | 104 +- .../stRandom/test_random_statetest192.py | 98 +- .../stRandom/test_random_statetest194.py | 94 +- .../stRandom/test_random_statetest195.py | 87 +- .../stRandom/test_random_statetest196.py | 102 +- .../stRandom/test_random_statetest197.py | 154 +- .../stRandom/test_random_statetest198.py | 74 +- .../stRandom/test_random_statetest199.py | 78 +- .../stRandom/test_random_statetest2.py | 91 +- .../stRandom/test_random_statetest20.py | 105 +- .../stRandom/test_random_statetest200.py | 79 +- .../stRandom/test_random_statetest201.py | 75 +- .../stRandom/test_random_statetest202.py | 72 +- .../stRandom/test_random_statetest204.py | 94 +- .../stRandom/test_random_statetest205.py | 213 +- .../stRandom/test_random_statetest206.py | 95 +- .../stRandom/test_random_statetest207.py | 72 +- .../stRandom/test_random_statetest208.py | 98 +- .../stRandom/test_random_statetest209.py | 146 +- .../stRandom/test_random_statetest210.py | 92 +- .../stRandom/test_random_statetest211.py | 149 +- .../stRandom/test_random_statetest212.py | 120 +- .../stRandom/test_random_statetest214.py | 95 +- .../stRandom/test_random_statetest215.py | 87 +- .../stRandom/test_random_statetest216.py | 95 +- .../stRandom/test_random_statetest217.py | 87 +- .../stRandom/test_random_statetest219.py | 91 +- .../stRandom/test_random_statetest22.py | 74 +- .../stRandom/test_random_statetest220.py | 89 +- .../stRandom/test_random_statetest221.py | 90 +- .../stRandom/test_random_statetest222.py | 88 +- .../stRandom/test_random_statetest225.py | 107 +- .../stRandom/test_random_statetest226.py | 93 +- .../stRandom/test_random_statetest227.py | 86 +- .../stRandom/test_random_statetest228.py | 80 +- .../stRandom/test_random_statetest23.py | 90 +- .../stRandom/test_random_statetest230.py | 179 +- .../stRandom/test_random_statetest231.py | 95 +- .../stRandom/test_random_statetest232.py | 72 +- .../stRandom/test_random_statetest233.py | 91 +- .../stRandom/test_random_statetest236.py | 102 +- .../stRandom/test_random_statetest237.py | 99 +- .../stRandom/test_random_statetest238.py | 93 +- .../stRandom/test_random_statetest24.py | 68 +- .../stRandom/test_random_statetest242.py | 94 +- .../stRandom/test_random_statetest243.py | 74 +- .../stRandom/test_random_statetest244.py | 76 +- .../stRandom/test_random_statetest245.py | 103 +- .../stRandom/test_random_statetest246.py | 75 +- .../stRandom/test_random_statetest247.py | 101 +- .../stRandom/test_random_statetest248.py | 106 +- .../stRandom/test_random_statetest249.py | 91 +- .../stRandom/test_random_statetest25.py | 150 +- .../stRandom/test_random_statetest250.py | 132 +- .../stRandom/test_random_statetest251.py | 146 +- .../stRandom/test_random_statetest252.py | 123 +- .../stRandom/test_random_statetest254.py | 96 +- .../stRandom/test_random_statetest257.py | 74 +- .../stRandom/test_random_statetest259.py | 93 +- .../stRandom/test_random_statetest26.py | 73 +- .../stRandom/test_random_statetest260.py | 90 +- .../stRandom/test_random_statetest261.py | 74 +- .../stRandom/test_random_statetest263.py | 96 +- .../stRandom/test_random_statetest264.py | 94 +- .../stRandom/test_random_statetest265.py | 76 +- .../stRandom/test_random_statetest266.py | 93 +- .../stRandom/test_random_statetest267.py | 87 +- .../stRandom/test_random_statetest268.py | 101 +- .../stRandom/test_random_statetest269.py | 96 +- .../stRandom/test_random_statetest27.py | 94 +- .../stRandom/test_random_statetest270.py | 97 +- .../stRandom/test_random_statetest271.py | 148 +- .../stRandom/test_random_statetest273.py | 93 +- .../stRandom/test_random_statetest274.py | 102 +- .../stRandom/test_random_statetest275.py | 174 +- .../stRandom/test_random_statetest276.py | 96 +- .../stRandom/test_random_statetest278.py | 89 +- .../stRandom/test_random_statetest279.py | 95 +- .../stRandom/test_random_statetest28.py | 94 +- .../stRandom/test_random_statetest280.py | 83 +- .../stRandom/test_random_statetest281.py | 85 +- .../stRandom/test_random_statetest282.py | 91 +- .../stRandom/test_random_statetest283.py | 101 +- .../stRandom/test_random_statetest285.py | 58 +- .../stRandom/test_random_statetest286.py | 98 +- .../stRandom/test_random_statetest287.py | 97 +- .../stRandom/test_random_statetest288.py | 121 +- .../stRandom/test_random_statetest29.py | 93 +- .../stRandom/test_random_statetest290.py | 94 +- .../stRandom/test_random_statetest291.py | 92 +- .../stRandom/test_random_statetest292.py | 102 +- .../stRandom/test_random_statetest293.py | 91 +- .../stRandom/test_random_statetest294.py | 76 +- .../stRandom/test_random_statetest295.py | 80 +- .../stRandom/test_random_statetest296.py | 78 +- .../stRandom/test_random_statetest297.py | 98 +- .../stRandom/test_random_statetest298.py | 88 +- .../stRandom/test_random_statetest299.py | 111 +- .../stRandom/test_random_statetest3.py | 87 +- .../stRandom/test_random_statetest30.py | 65 +- .../stRandom/test_random_statetest300.py | 190 +- .../stRandom/test_random_statetest301.py | 106 +- .../stRandom/test_random_statetest302.py | 90 +- .../stRandom/test_random_statetest303.py | 78 +- .../stRandom/test_random_statetest304.py | 115 +- .../stRandom/test_random_statetest305.py | 99 +- .../stRandom/test_random_statetest306.py | 236 +- .../stRandom/test_random_statetest307.py | 100 +- .../stRandom/test_random_statetest308.py | 99 +- .../stRandom/test_random_statetest309.py | 71 +- .../stRandom/test_random_statetest31.py | 93 +- .../stRandom/test_random_statetest310.py | 103 +- .../stRandom/test_random_statetest311.py | 93 +- .../stRandom/test_random_statetest312.py | 150 +- .../stRandom/test_random_statetest313.py | 98 +- .../stRandom/test_random_statetest315.py | 106 +- .../stRandom/test_random_statetest316.py | 100 +- .../stRandom/test_random_statetest318.py | 102 +- .../stRandom/test_random_statetest320.py | 72 +- .../stRandom/test_random_statetest321.py | 247 +- .../stRandom/test_random_statetest322.py | 93 +- .../stRandom/test_random_statetest323.py | 148 +- .../stRandom/test_random_statetest325.py | 101 +- .../stRandom/test_random_statetest326.py | 76 +- .../stRandom/test_random_statetest327.py | 78 +- .../stRandom/test_random_statetest329.py | 94 +- .../stRandom/test_random_statetest33.py | 102 +- .../stRandom/test_random_statetest332.py | 98 +- .../stRandom/test_random_statetest333.py | 94 +- .../stRandom/test_random_statetest334.py | 89 +- .../stRandom/test_random_statetest335.py | 80 +- .../stRandom/test_random_statetest336.py | 79 +- .../stRandom/test_random_statetest337.py | 94 +- .../stRandom/test_random_statetest338.py | 113 +- .../stRandom/test_random_statetest339.py | 93 +- .../stRandom/test_random_statetest340.py | 102 +- .../stRandom/test_random_statetest341.py | 94 +- .../stRandom/test_random_statetest342.py | 95 +- .../stRandom/test_random_statetest343.py | 104 +- .../stRandom/test_random_statetest345.py | 146 +- .../stRandom/test_random_statetest346.py | 107 +- .../stRandom/test_random_statetest347.py | 290 +- .../stRandom/test_random_statetest348.py | 101 +- .../stRandom/test_random_statetest349.py | 98 +- .../stRandom/test_random_statetest350.py | 188 +- .../stRandom/test_random_statetest351.py | 77 +- .../stRandom/test_random_statetest352.py | 123 +- .../stRandom/test_random_statetest353.py | 78 +- .../stRandom/test_random_statetest354.py | 118 +- .../stRandom/test_random_statetest355.py | 78 +- .../stRandom/test_random_statetest356.py | 97 +- .../stRandom/test_random_statetest357.py | 78 +- .../stRandom/test_random_statetest358.py | 92 +- .../stRandom/test_random_statetest359.py | 72 +- .../stRandom/test_random_statetest36.py | 112 +- .../stRandom/test_random_statetest360.py | 101 +- .../stRandom/test_random_statetest361.py | 98 +- .../stRandom/test_random_statetest362.py | 95 +- .../stRandom/test_random_statetest363.py | 106 +- .../stRandom/test_random_statetest364.py | 101 +- .../stRandom/test_random_statetest365.py | 119 +- .../stRandom/test_random_statetest366.py | 102 +- .../stRandom/test_random_statetest367.py | 97 +- .../stRandom/test_random_statetest368.py | 77 +- .../stRandom/test_random_statetest369.py | 98 +- .../stRandom/test_random_statetest37.py | 101 +- .../stRandom/test_random_statetest370.py | 101 +- .../stRandom/test_random_statetest371.py | 99 +- .../stRandom/test_random_statetest372.py | 94 +- .../stRandom/test_random_statetest376.py | 80 +- .../stRandom/test_random_statetest378.py | 92 +- .../stRandom/test_random_statetest379.py | 61 +- .../stRandom/test_random_statetest380.py | 104 +- .../stRandom/test_random_statetest381.py | 96 +- .../stRandom/test_random_statetest382.py | 92 +- .../stRandom/test_random_statetest383.py | 80 +- .../stRandom/test_random_statetest384.py | 491 +- .../stRandom/test_random_statetest39.py | 103 +- .../stRandom/test_random_statetest4.py | 80 +- .../stRandom/test_random_statetest41.py | 88 +- .../stRandom/test_random_statetest42.py | 99 +- .../stRandom/test_random_statetest43.py | 106 +- .../stRandom/test_random_statetest45.py | 142 +- .../stRandom/test_random_statetest47.py | 96 +- .../stRandom/test_random_statetest48.py | 128 +- .../stRandom/test_random_statetest49.py | 93 +- .../stRandom/test_random_statetest5.py | 184 +- .../stRandom/test_random_statetest51.py | 74 +- .../stRandom/test_random_statetest52.py | 92 +- .../stRandom/test_random_statetest53.py | 94 +- .../stRandom/test_random_statetest54.py | 80 +- .../stRandom/test_random_statetest55.py | 76 +- .../stRandom/test_random_statetest57.py | 175 +- .../stRandom/test_random_statetest58.py | 105 +- .../stRandom/test_random_statetest59.py | 106 +- .../stRandom/test_random_statetest6.py | 101 +- .../stRandom/test_random_statetest60.py | 92 +- .../stRandom/test_random_statetest62.py | 100 +- .../stRandom/test_random_statetest63.py | 97 +- .../stRandom/test_random_statetest64.py | 93 +- .../stRandom/test_random_statetest66.py | 88 +- .../stRandom/test_random_statetest67.py | 97 +- .../stRandom/test_random_statetest69.py | 102 +- .../stRandom/test_random_statetest72.py | 182 +- .../stRandom/test_random_statetest73.py | 85 +- .../stRandom/test_random_statetest74.py | 91 +- .../stRandom/test_random_statetest75.py | 104 +- .../stRandom/test_random_statetest77.py | 88 +- .../stRandom/test_random_statetest78.py | 154 +- .../stRandom/test_random_statetest80.py | 89 +- .../stRandom/test_random_statetest81.py | 98 +- .../stRandom/test_random_statetest82.py | 182 +- .../stRandom/test_random_statetest83.py | 95 +- .../stRandom/test_random_statetest84.py | 88 +- .../stRandom/test_random_statetest85.py | 78 +- .../stRandom/test_random_statetest87.py | 93 +- .../stRandom/test_random_statetest88.py | 87 +- .../stRandom/test_random_statetest89.py | 84 +- .../stRandom/test_random_statetest9.py | 95 +- .../stRandom/test_random_statetest90.py | 89 +- .../stRandom/test_random_statetest92.py | 100 +- .../stRandom/test_random_statetest95.py | 97 +- .../stRandom/test_random_statetest96.py | 95 +- .../stRandom/test_random_statetest97.py | 109 +- .../stRandom/test_random_statetest98.py | 95 +- tests/ported_static/stRandom2/__init__.py | 2 +- .../stRandom2/test_random_statetest.py | 101 +- .../stRandom2/test_random_statetest384.py | 97 +- .../stRandom2/test_random_statetest385.py | 89 +- .../stRandom2/test_random_statetest386.py | 107 +- .../stRandom2/test_random_statetest387.py | 80 +- .../stRandom2/test_random_statetest388.py | 88 +- .../stRandom2/test_random_statetest389.py | 105 +- .../stRandom2/test_random_statetest393.py | 80 +- .../stRandom2/test_random_statetest395.py | 93 +- .../stRandom2/test_random_statetest396.py | 158 +- .../stRandom2/test_random_statetest397.py | 58 +- .../stRandom2/test_random_statetest398.py | 88 +- .../stRandom2/test_random_statetest399.py | 103 +- .../stRandom2/test_random_statetest401.py | 92 +- .../stRandom2/test_random_statetest402.py | 96 +- .../stRandom2/test_random_statetest404.py | 150 +- .../stRandom2/test_random_statetest405.py | 106 +- .../stRandom2/test_random_statetest406.py | 99 +- .../stRandom2/test_random_statetest407.py | 97 +- .../stRandom2/test_random_statetest408.py | 102 +- .../stRandom2/test_random_statetest409.py | 124 +- .../stRandom2/test_random_statetest410.py | 98 +- .../stRandom2/test_random_statetest411.py | 97 +- .../stRandom2/test_random_statetest412.py | 97 +- .../stRandom2/test_random_statetest413.py | 95 +- .../stRandom2/test_random_statetest414.py | 231 +- .../stRandom2/test_random_statetest415.py | 74 +- .../stRandom2/test_random_statetest416.py | 86 +- .../stRandom2/test_random_statetest417.py | 66 +- .../stRandom2/test_random_statetest418.py | 97 +- .../stRandom2/test_random_statetest419.py | 107 +- .../stRandom2/test_random_statetest420.py | 150 +- .../stRandom2/test_random_statetest421.py | 89 +- .../stRandom2/test_random_statetest422.py | 90 +- .../stRandom2/test_random_statetest424.py | 95 +- .../stRandom2/test_random_statetest425.py | 84 +- .../stRandom2/test_random_statetest426.py | 102 +- .../stRandom2/test_random_statetest428.py | 123 +- .../stRandom2/test_random_statetest429.py | 98 +- .../stRandom2/test_random_statetest430.py | 98 +- .../stRandom2/test_random_statetest433.py | 80 +- .../stRandom2/test_random_statetest435.py | 92 +- .../stRandom2/test_random_statetest436.py | 94 +- .../stRandom2/test_random_statetest437.py | 98 +- .../stRandom2/test_random_statetest438.py | 98 +- .../stRandom2/test_random_statetest439.py | 103 +- .../stRandom2/test_random_statetest440.py | 87 +- .../stRandom2/test_random_statetest442.py | 102 +- .../stRandom2/test_random_statetest443.py | 105 +- .../stRandom2/test_random_statetest444.py | 152 +- .../stRandom2/test_random_statetest445.py | 80 +- .../stRandom2/test_random_statetest446.py | 98 +- .../stRandom2/test_random_statetest447.py | 105 +- .../stRandom2/test_random_statetest448.py | 94 +- .../stRandom2/test_random_statetest449.py | 98 +- .../stRandom2/test_random_statetest450.py | 98 +- .../stRandom2/test_random_statetest451.py | 100 +- .../stRandom2/test_random_statetest452.py | 102 +- .../stRandom2/test_random_statetest454.py | 91 +- .../stRandom2/test_random_statetest455.py | 97 +- .../stRandom2/test_random_statetest456.py | 66 +- .../stRandom2/test_random_statetest457.py | 90 +- .../stRandom2/test_random_statetest458.py | 282 +- .../stRandom2/test_random_statetest460.py | 101 +- .../stRandom2/test_random_statetest461.py | 94 +- .../stRandom2/test_random_statetest462.py | 90 +- .../stRandom2/test_random_statetest464.py | 98 +- .../stRandom2/test_random_statetest465.py | 92 +- .../stRandom2/test_random_statetest466.py | 88 +- .../stRandom2/test_random_statetest467.py | 187 +- .../stRandom2/test_random_statetest469.py | 90 +- .../stRandom2/test_random_statetest470.py | 86 +- .../stRandom2/test_random_statetest471.py | 79 +- .../stRandom2/test_random_statetest472.py | 97 +- .../stRandom2/test_random_statetest473.py | 104 +- .../stRandom2/test_random_statetest474.py | 93 +- .../stRandom2/test_random_statetest475.py | 94 +- .../stRandom2/test_random_statetest476.py | 112 +- .../stRandom2/test_random_statetest477.py | 99 +- .../stRandom2/test_random_statetest478.py | 154 +- .../stRandom2/test_random_statetest480.py | 97 +- .../stRandom2/test_random_statetest481.py | 74 +- .../stRandom2/test_random_statetest482.py | 102 +- .../stRandom2/test_random_statetest483.py | 91 +- .../stRandom2/test_random_statetest484.py | 76 +- .../stRandom2/test_random_statetest485.py | 76 +- .../stRandom2/test_random_statetest487.py | 80 +- .../stRandom2/test_random_statetest488.py | 96 +- .../stRandom2/test_random_statetest489.py | 95 +- .../stRandom2/test_random_statetest491.py | 100 +- .../stRandom2/test_random_statetest493.py | 97 +- .../stRandom2/test_random_statetest494.py | 68 +- .../stRandom2/test_random_statetest495.py | 75 +- .../stRandom2/test_random_statetest496.py | 90 +- .../stRandom2/test_random_statetest497.py | 92 +- .../stRandom2/test_random_statetest498.py | 244 +- .../stRandom2/test_random_statetest499.py | 105 +- .../stRandom2/test_random_statetest500.py | 96 +- .../stRandom2/test_random_statetest501.py | 110 +- .../stRandom2/test_random_statetest502.py | 87 +- .../stRandom2/test_random_statetest503.py | 95 +- .../stRandom2/test_random_statetest504.py | 72 +- .../stRandom2/test_random_statetest505.py | 99 +- .../stRandom2/test_random_statetest506.py | 99 +- .../stRandom2/test_random_statetest507.py | 93 +- .../stRandom2/test_random_statetest508.py | 66 +- .../stRandom2/test_random_statetest509.py | 128 +- .../stRandom2/test_random_statetest510.py | 91 +- .../stRandom2/test_random_statetest511.py | 93 +- .../stRandom2/test_random_statetest512.py | 102 +- .../stRandom2/test_random_statetest513.py | 76 +- .../stRandom2/test_random_statetest514.py | 97 +- .../stRandom2/test_random_statetest516.py | 106 +- .../stRandom2/test_random_statetest517.py | 92 +- .../stRandom2/test_random_statetest518.py | 95 +- .../stRandom2/test_random_statetest519.py | 71 +- .../stRandom2/test_random_statetest520.py | 112 +- .../stRandom2/test_random_statetest521.py | 102 +- .../stRandom2/test_random_statetest523.py | 91 +- .../stRandom2/test_random_statetest524.py | 100 +- .../stRandom2/test_random_statetest525.py | 74 +- .../stRandom2/test_random_statetest526.py | 79 +- .../stRandom2/test_random_statetest527.py | 93 +- .../stRandom2/test_random_statetest528.py | 109 +- .../stRandom2/test_random_statetest531.py | 123 +- .../stRandom2/test_random_statetest532.py | 101 +- .../stRandom2/test_random_statetest533.py | 94 +- .../stRandom2/test_random_statetest534.py | 94 +- .../stRandom2/test_random_statetest535.py | 93 +- .../stRandom2/test_random_statetest536.py | 78 +- .../stRandom2/test_random_statetest537.py | 87 +- .../stRandom2/test_random_statetest539.py | 95 +- .../stRandom2/test_random_statetest541.py | 99 +- .../stRandom2/test_random_statetest542.py | 96 +- .../stRandom2/test_random_statetest543.py | 179 +- .../stRandom2/test_random_statetest544.py | 83 +- .../stRandom2/test_random_statetest545.py | 97 +- .../stRandom2/test_random_statetest546.py | 93 +- .../stRandom2/test_random_statetest547.py | 76 +- .../stRandom2/test_random_statetest548.py | 97 +- .../stRandom2/test_random_statetest550.py | 102 +- .../stRandom2/test_random_statetest552.py | 96 +- .../stRandom2/test_random_statetest553.py | 91 +- .../stRandom2/test_random_statetest554.py | 213 +- .../stRandom2/test_random_statetest555.py | 93 +- .../stRandom2/test_random_statetest556.py | 96 +- .../stRandom2/test_random_statetest558.py | 123 +- .../stRandom2/test_random_statetest559.py | 106 +- .../stRandom2/test_random_statetest560.py | 74 +- .../stRandom2/test_random_statetest562.py | 103 +- .../stRandom2/test_random_statetest563.py | 72 +- .../stRandom2/test_random_statetest564.py | 95 +- .../stRandom2/test_random_statetest565.py | 90 +- .../stRandom2/test_random_statetest566.py | 94 +- .../stRandom2/test_random_statetest567.py | 152 +- .../stRandom2/test_random_statetest569.py | 77 +- .../stRandom2/test_random_statetest571.py | 96 +- .../stRandom2/test_random_statetest572.py | 182 +- .../stRandom2/test_random_statetest574.py | 93 +- .../stRandom2/test_random_statetest575.py | 108 +- .../stRandom2/test_random_statetest576.py | 74 +- .../stRandom2/test_random_statetest577.py | 82 +- .../stRandom2/test_random_statetest578.py | 95 +- .../stRandom2/test_random_statetest579.py | 80 +- .../stRandom2/test_random_statetest580.py | 96 +- .../stRandom2/test_random_statetest581.py | 74 +- .../stRandom2/test_random_statetest582.py | 98 +- .../stRandom2/test_random_statetest583.py | 104 +- .../stRandom2/test_random_statetest584.py | 106 +- .../stRandom2/test_random_statetest585.py | 96 +- .../stRandom2/test_random_statetest586.py | 96 +- .../stRandom2/test_random_statetest587.py | 91 +- .../stRandom2/test_random_statetest588.py | 98 +- .../stRandom2/test_random_statetest589.py | 94 +- .../stRandom2/test_random_statetest592.py | 88 +- .../stRandom2/test_random_statetest596.py | 89 +- .../stRandom2/test_random_statetest597.py | 74 +- .../stRandom2/test_random_statetest599.py | 107 +- .../stRandom2/test_random_statetest600.py | 96 +- .../stRandom2/test_random_statetest601.py | 74 +- .../stRandom2/test_random_statetest602.py | 87 +- .../stRandom2/test_random_statetest603.py | 93 +- .../stRandom2/test_random_statetest604.py | 106 +- .../stRandom2/test_random_statetest605.py | 97 +- .../stRandom2/test_random_statetest607.py | 88 +- .../stRandom2/test_random_statetest608.py | 88 +- .../stRandom2/test_random_statetest609.py | 150 +- .../stRandom2/test_random_statetest610.py | 96 +- .../stRandom2/test_random_statetest611.py | 92 +- .../stRandom2/test_random_statetest612.py | 101 +- .../stRandom2/test_random_statetest615.py | 103 +- .../stRandom2/test_random_statetest616.py | 96 +- .../stRandom2/test_random_statetest618.py | 107 +- .../stRandom2/test_random_statetest620.py | 97 +- .../stRandom2/test_random_statetest621.py | 82 +- .../stRandom2/test_random_statetest624.py | 123 +- .../stRandom2/test_random_statetest625.py | 95 +- .../stRandom2/test_random_statetest626.py | 105 +- .../stRandom2/test_random_statetest627.py | 90 +- .../stRandom2/test_random_statetest628.py | 66 +- .../stRandom2/test_random_statetest629.py | 100 +- .../stRandom2/test_random_statetest630.py | 101 +- .../stRandom2/test_random_statetest632.py | 80 +- .../stRandom2/test_random_statetest633.py | 103 +- .../stRandom2/test_random_statetest635.py | 115 +- .../stRandom2/test_random_statetest636.py | 196 +- .../stRandom2/test_random_statetest637.py | 93 +- .../stRandom2/test_random_statetest638.py | 95 +- .../stRandom2/test_random_statetest639.py | 223 +- .../stRandom2/test_random_statetest640.py | 94 +- .../stRandom2/test_random_statetest641.py | 101 +- .../stRandom2/test_random_statetest642.py | 72 +- .../stRandom2/test_random_statetest643.py | 142 +- .../stRandom2/test_random_statetest644.py | 383 +- .../stRandom2/test_random_statetest645.py | 189 +- .../stRandom2/test_random_statetest646.py | 81 +- .../stRandom2/test_random_statetest647.py | 31 +- .../stRandom2/test_random_statetest648.py | 67 +- .../stRandom2/test_random_statetest649.py | 243 +- .../stRandom2/test_random_statetest650.py | 9841 +- .../stRecursiveCreate/__init__.py | 2 +- .../test_recursive_create.py | 36 +- .../test_recursive_create_return_value.py | 1122 +- tests/ported_static/stRefundTest/__init__.py | 2 +- .../stRefundTest/test_refund50_1.py | 44 +- .../stRefundTest/test_refund50_2.py | 48 +- .../stRefundTest/test_refund50percent_cap.py | 59 +- .../stRefundTest/test_refund600.py | 61 +- .../stRefundTest/test_refund_call_a.py | 65 +- ...st_refund_call_a_not_enough_gas_in_call.py | 71 +- .../stRefundTest/test_refund_call_a_oog.py | 68 +- .../test_refund_call_to_suicide_no_storage.py | 147 +- .../test_refund_call_to_suicide_storage.py | 155 +- .../test_refund_call_to_suicide_twice.py | 159 +- .../test_refund_change_non_zero_storage.py | 32 +- .../stRefundTest/test_refund_ff.py | 36 +- .../test_refund_get_ether_back.py | 30 +- .../stRefundTest/test_refund_max.py | 66 +- .../test_refund_multimple_suicide.py | 226 +- .../stRefundTest/test_refund_no_oog_1.py | 30 +- .../stRefundTest/test_refund_oog.py | 28 +- .../test_refund_single_suicide.py | 172 +- .../stRefundTest/test_refund_sstore.py | 30 +- .../test_refund_suicide50procent_cap.py | 179 +- .../stRefundTest/test_refund_tx_to_suicide.py | 39 +- .../test_refund_tx_to_suicide_oog.py | 36 +- .../stReturnDataTest/__init__.py | 2 +- ...ecrec_success_empty_then_returndatasize.py | 51 +- ...n_create_successful_then_returndatasize.py | 91 +- ...hen_call_value_fail_then_returndatasize.py | 95 +- ...n_create_successful_then_returndatasize.py | 93 +- .../test_clear_return_buffer.py | 3485 +- ...st_create_callprecompile_returndatasize.py | 96 +- .../test_modexp_modsize0_returndatasize.py | 322 +- ...atacopy_0_0_following_successful_create.py | 55 +- ...t_returndatacopy_after_failing_callcode.py | 66 +- ...est_returndatacopy_after_failing_create.py | 37 +- ...turndatacopy_after_failing_delegatecall.py | 62 +- ...returndatacopy_after_failing_staticcall.py | 75 +- ...turndatacopy_after_revert_in_staticcall.py | 75 +- ...eturndatacopy_after_successful_callcode.py | 77 +- ...ndatacopy_after_successful_delegatecall.py | 71 +- ...urndatacopy_after_successful_staticcall.py | 69 +- .../test_returndatacopy_following_call.py | 77 +- .../test_returndatacopy_following_create.py | 80 +- ...t_returndatacopy_following_failing_call.py | 62 +- .../test_returndatacopy_following_revert.py | 73 +- ...turndatacopy_following_revert_in_create.py | 58 +- ...urndatacopy_following_successful_create.py | 60 +- ...turndatacopy_following_too_big_transfer.py | 77 +- .../test_returndatacopy_initial.py | 38 +- .../test_returndatacopy_initial_256.py | 86 +- .../test_returndatacopy_initial_big_sum.py | 45 +- .../test_returndatacopy_overrun.py | 86 +- ...t_returndatasize_after_failing_callcode.py | 70 +- ...turndatasize_after_failing_delegatecall.py | 68 +- ...returndatasize_after_failing_staticcall.py | 68 +- ...t_returndatasize_after_oog_after_deeper.py | 123 +- ...eturndatasize_after_successful_callcode.py | 79 +- ...ndatasize_after_successful_delegatecall.py | 65 +- ...urndatasize_after_successful_staticcall.py | 77 +- .../test_returndatasize_bug.py | 89 +- ...urndatasize_following_successful_create.py | 52 +- .../test_returndatasize_initial.py | 26 +- .../test_returndatasize_initial_zero_read.py | 66 +- .../test_revert_ret_data_size.py | 1532 +- .../test_subcall_return_more_then_expected.py | 288 +- .../test_too_long_return_data_copy.py | 674 +- tests/ported_static/stRevertTest/__init__.py | 2 +- .../stRevertTest/test_cost_revert.py | 864 +- .../test_loop_calls_depth_then_revert.py | 84 +- .../test_loop_calls_depth_then_revert2.py | 67 +- .../test_loop_calls_depth_then_revert3.py | 70 +- .../test_loop_calls_then_revert.py | 67 +- ...t_loop_delegate_calls_depth_then_revert.py | 78 +- .../test_nashatyrev_suicide_revert.py | 53 +- ...python_revert_test_tue201814_minus_1430.py | 1263 +- .../stRevertTest/test_revert_depth2.py | 202 +- ...t_revert_depth_create_address_collision.py | 250 +- .../test_revert_depth_create_oog.py | 240 +- .../stRevertTest/test_revert_in_call_code.py | 76 +- .../test_revert_in_create_in_init_paris.py | 41 +- .../test_revert_in_delegate_call.py | 72 +- .../test_revert_in_static_call.py | 54 +- .../test_revert_on_empty_stack.py | 25 +- .../stRevertTest/test_revert_opcode.py | 107 +- .../stRevertTest/test_revert_opcode_calls.py | 460 +- .../stRevertTest/test_revert_opcode_create.py | 102 +- .../test_revert_opcode_direct_call.py | 170 +- ...pcode_in_calls_on_non_empty_return_data.py | 619 +- .../test_revert_opcode_in_create_returns.py | 52 +- .../test_revert_opcode_in_init.py | 50 +- .../test_revert_opcode_multiple_sub_calls.py | 944 +- .../stRevertTest/test_revert_opcode_return.py | 334 +- ...t_revert_opcode_with_big_output_in_init.py | 53 +- ...evert_precompiled_touch_exact_oog_paris.py | 1526 +- .../test_revert_precompiled_touch_nonce.py | 867 +- ...t_revert_precompiled_touch_noncestorage.py | 871 +- .../test_revert_precompiled_touch_paris.py | 895 +- ..._revert_precompiled_touch_storage_paris.py | 903 +- .../stRevertTest/test_revert_prefound.py | 48 +- .../stRevertTest/test_revert_prefound_call.py | 60 +- .../test_revert_prefound_call_oog.py | 60 +- ...st_revert_prefound_empty_call_oog_paris.py | 63 +- .../test_revert_prefound_empty_call_paris.py | 62 +- .../test_revert_prefound_empty_oog_paris.py | 42 +- .../test_revert_prefound_empty_paris.py | 50 +- .../stRevertTest/test_revert_prefound_oog.py | 40 +- .../test_revert_sub_call_storage_oog.py | 116 +- .../test_revert_sub_call_storage_oog2.py | 114 +- .../stRevertTest/test_state_revert.py | 390 +- ...st_touch_to_empty_account_revert2_paris.py | 121 +- ...st_touch_to_empty_account_revert3_paris.py | 151 +- ...est_touch_to_empty_account_revert_paris.py | 95 +- tests/ported_static/stSLoadTest/__init__.py | 1 - .../stSLoadTest/test_sload_gas_cost.py | 79 - tests/ported_static/stSStoreTest/__init__.py | 2 +- .../stSStoreTest/test_sstore_0to0.py | 627 +- .../stSStoreTest/test_sstore_0to0to0.py | 639 +- .../stSStoreTest/test_sstore_0to0to_x.py | 666 +- .../stSStoreTest/test_sstore_0to_x.py | 648 +- .../stSStoreTest/test_sstore_0to_xto0.py | 645 +- .../stSStoreTest/test_sstore_0to_xto0to_x.py | 674 +- .../stSStoreTest/test_sstore_0to_xto_x.py | 660 +- .../stSStoreTest/test_sstore_0to_xto_y.py | 666 +- ...tore_call_to_self_sub_refund_below_zero.py | 61 +- ..._change_from_external_call_in_init_code.py | 687 +- .../stSStoreTest/test_sstore_gas.py | 202 +- .../stSStoreTest/test_sstore_gas_left.py | 455 +- .../stSStoreTest/test_sstore_xto0.py | 761 +- .../stSStoreTest/test_sstore_xto0to0.py | 773 +- .../stSStoreTest/test_sstore_xto0to_x.py | 797 +- .../stSStoreTest/test_sstore_xto0to_xto0.py | 785 +- .../stSStoreTest/test_sstore_xto0to_y.py | 797 +- .../stSStoreTest/test_sstore_xto_x.py | 777 +- .../stSStoreTest/test_sstore_xto_xto0.py | 777 +- .../stSStoreTest/test_sstore_xto_xto_x.py | 789 +- .../stSStoreTest/test_sstore_xto_xto_y.py | 795 +- .../stSStoreTest/test_sstore_xto_y.py | 779 +- .../stSStoreTest/test_sstore_xto_yto0.py | 779 +- .../stSStoreTest/test_sstore_xto_yto_x.py | 797 +- .../stSStoreTest/test_sstore_xto_yto_y.py | 791 +- .../stSStoreTest/test_sstore_xto_yto_z.py | 797 +- tests/ported_static/stSelfBalance/__init__.py | 2 +- .../stSelfBalance/test_self_balance.py | 24 +- .../test_self_balance_call_types.py | 383 +- .../test_self_balance_equals_balance.py | 38 +- .../test_self_balance_gas_cost.py | 48 +- .../stSelfBalance/test_self_balance_update.py | 62 +- tests/ported_static/stShift/__init__.py | 2 +- tests/ported_static/stShift/test_sar00.py | 32 +- tests/ported_static/stShift/test_sar01.py | 30 +- tests/ported_static/stShift/test_sar10.py | 30 +- tests/ported_static/stShift/test_sar11.py | 32 +- .../stShift/test_sar_0_256_minus_1.py | 48 +- .../stShift/test_sar_2_254_254.py | 44 +- .../ported_static/stShift/test_sar_2_255_1.py | 45 +- .../stShift/test_sar_2_255_255.py | 45 +- .../stShift/test_sar_2_255_256.py | 45 +- .../stShift/test_sar_2_255_257.py | 45 +- .../stShift/test_sar_2_255_minus_1_248.py | 44 +- .../stShift/test_sar_2_255_minus_1_254.py | 42 +- .../stShift/test_sar_2_255_minus_1_255.py | 46 +- .../stShift/test_sar_2_255_minus_1_256.py | 46 +- .../stShift/test_sar_2_256_minus_1_0.py | 55 +- .../stShift/test_sar_2_256_minus_1_1.py | 45 +- .../stShift/test_sar_2_256_minus_1_255.py | 45 +- .../stShift/test_sar_2_256_minus_1_256.py | 45 +- .../stShift/test_shift_signed_combinations.py | 483 +- tests/ported_static/stShift/test_shl01.py | 36 +- .../stShift/test_shl01_minus_0100.py | 36 +- .../stShift/test_shl01_minus_0101.py | 34 +- .../stShift/test_shl01_minus_ff.py | 32 +- tests/ported_static/stShift/test_shl10.py | 34 +- tests/ported_static/stShift/test_shl11.py | 34 +- .../stShift/test_shl_2_255_minus_1_1.py | 45 +- .../stShift/test_shl_minus_1_0.py | 46 +- .../stShift/test_shl_minus_1_1.py | 48 +- .../stShift/test_shl_minus_1_255.py | 46 +- .../stShift/test_shl_minus_1_256.py | 52 +- tests/ported_static/stShift/test_shr01.py | 28 +- tests/ported_static/stShift/test_shr10.py | 28 +- tests/ported_static/stShift/test_shr11.py | 30 +- .../ported_static/stShift/test_shr_2_255_1.py | 43 +- .../stShift/test_shr_2_255_255.py | 42 +- .../stShift/test_shr_2_255_256.py | 44 +- .../stShift/test_shr_2_255_257.py | 42 +- .../stShift/test_shr_minus_1_0.py | 43 +- .../stShift/test_shr_minus_1_1.py | 43 +- .../stShift/test_shr_minus_1_255.py | 42 +- .../stShift/test_shr_minus_1_256.py | 44 +- .../ported_static/stSolidityTest/__init__.py | 2 +- .../stSolidityTest/test_ambiguous_method.py | 66 +- .../stSolidityTest/test_by_zero.py | 62 +- .../stSolidityTest/test_call_infinite_loop.py | 105 +- .../test_call_low_level_creates_solidity.py | 247 +- .../test_call_recursive_methods.py | 109 +- .../test_contract_inheritance.py | 338 +- .../test_create_contract_from_method.py | 184 +- .../test_recursive_create_contracts.py | 447 +- ...sive_create_contracts_create4_contracts.py | 456 +- ...t_test_block_and_transaction_properties.py | 414 +- .../test_test_contract_interaction.py | 259 +- .../test_test_contract_suicide.py | 305 +- .../test_test_cryptographic_functions.py | 412 +- .../stSolidityTest/test_test_keywords.py | 217 +- .../stSolidityTest/test_test_overflow.py | 247 +- .../test_test_store_gas_prices.py | 130 +- .../test_test_structures_and_variabless.py | 377 +- tests/ported_static/stSpecialTest/__init__.py | 2 +- .../stSpecialTest/test_block504980.py | 19510 ++-- .../stSpecialTest/test_deployment_error.py | 141 +- .../stSpecialTest/test_eoa_empty_paris.py | 528 +- ...st_failed_create_reverts_deletion_paris.py | 34 +- .../test_failed_tx_xcf416c53_paris.py | 292 +- .../stSpecialTest/test_gas_price0.py | 29 +- .../stSpecialTest/test_jumpdest_attack.py | 51 +- .../test_jumpdest_attackwith_jump.py | 57 +- .../stSpecialTest/test_make_money.py | 73 +- .../test_overflow_gas_make_money.py | 13 +- .../stSpecialTest/test_push32without_byte.py | 27 +- .../test_selfdestruct_eip2929.py | 402 +- .../stSpecialTest/test_sha3_deja.py | 35 +- .../test_stack_depth_limit_sec.py | 32 +- .../stSpecialTest/test_tx_e1c174e2.py | 6837 +- tests/ported_static/stStackTests/__init__.py | 2 +- .../stStackTests/test_shallow_stack.py | 1083 +- .../stStackTests/test_stack_overflow.py | 182 +- .../stStackTests/test_stack_overflow_dup.py | 312 +- .../stStackTests/test_stack_overflow_m1.py | 232 +- .../test_stack_overflow_m1_dup.py | 332 +- .../test_stack_overflow_m1_push.py | 12100 ++- .../stStackTests/test_stack_overflow_push.py | 3411 +- .../stStackTests/test_stack_overflow_swap.py | 80 +- .../stStackTests/test_stacksanity_swap.py | 78 +- .../stStackTests/test_underflow_test.py | 90512 +--------------- tests/ported_static/stStaticCall/__init__.py | 2 +- .../stStaticCall/test_static_ab_acalls0.py | 239 +- .../stStaticCall/test_static_ab_acalls1.py | 243 +- .../stStaticCall/test_static_ab_acalls2.py | 238 +- .../stStaticCall/test_static_ab_acalls3.py | 238 +- .../test_static_ab_acalls_suicide0.py | 265 +- .../test_static_ab_acalls_suicide1.py | 129 +- .../stStaticCall/test_static_call10.py | 234 +- .../test_static_call1024_balance_too_low.py | 202 +- .../test_static_call1024_balance_too_low2.py | 202 +- .../stStaticCall/test_static_call1024_oog.py | 224 +- .../test_static_call1024_pre_calls.py | 265 +- .../test_static_call1024_pre_calls2.py | 273 +- .../test_static_call1024_pre_calls3.py | 265 +- .../test_static_call1_mb1024_calldepth.py | 222 +- .../stStaticCall/test_static_call50000.py | 273 +- .../test_static_call50000_ecrec.py | 234 +- .../test_static_call50000_identity.py | 222 +- .../test_static_call50000_identity2.py | 242 +- .../test_static_call50000_rip160.py | 203 +- ...test_static_call50000bytes_contract50_1.py | 3588 +- ...test_static_call50000bytes_contract50_2.py | 3586 +- ...test_static_call50000bytes_contract50_3.py | 3588 +- ...e_consume_more_gas_then_transaction_has.py | 262 +- ...more_gas_on_depth2_then_transaction_has.py | 289 +- .../stStaticCall/test_static_call_basic.py | 273 +- .../test_static_call_change_revert.py | 411 +- ...ract_to_create_contract_and_call_it_oog.py | 149 +- ...ic_call_contract_to_create_contract_oog.py | 125 +- ...ntract_to_create_contract_oog_bonus_gas.py | 133 +- ...t_which_would_create_contract_if_called.py | 78 +- .../stStaticCall/test_static_call_create.py | 227 +- .../stStaticCall/test_static_call_create2.py | 281 +- .../stStaticCall/test_static_call_create3.py | 94 +- .../test_static_call_ecrecover0.py | 88 +- .../test_static_call_ecrecover0_0input.py | 413 +- ...c_call_ecrecover0_complete_return_value.py | 82 +- .../test_static_call_ecrecover0_gas2999.py | 89 +- .../test_static_call_ecrecover0_gas3000.py | 90 +- .../test_static_call_ecrecover0_no_gas.py | 87 +- ...all_ecrecover0_overlapping_input_output.py | 89 +- .../test_static_call_ecrecover1.py | 89 +- .../test_static_call_ecrecover2.py | 89 +- .../test_static_call_ecrecover3.py | 87 +- .../test_static_call_ecrecover80.py | 91 +- ...test_static_call_ecrecover_check_length.py | 94 +- ...tic_call_ecrecover_check_length_wrong_v.py | 91 +- .../test_static_call_ecrecover_h_prefixed0.py | 93 +- .../test_static_call_ecrecover_r_prefixed0.py | 92 +- .../test_static_call_ecrecover_s_prefixed0.py | 91 +- .../test_static_call_ecrecover_v_prefixed0.py | 91 +- ...st_static_call_goes_oog_on_second_level.py | 105 +- ...t_static_call_goes_oog_on_second_level2.py | 162 +- .../test_static_call_identitiy_1.py | 58 +- ...st_static_call_identity_1_nonzero_value.py | 80 +- .../test_static_call_identity_2.py | 58 +- .../test_static_call_identity_3.py | 58 +- .../test_static_call_identity_4.py | 62 +- .../test_static_call_identity_4_gas17.py | 65 +- .../test_static_call_identity_4_gas18.py | 64 +- .../test_static_call_identity_5.py | 62 +- .../test_static_call_lose_gas_oog.py | 65 +- .../test_static_call_one_v_call_suicide.py | 71 +- ...t_static_call_oog_additional_gas_costs1.py | 53 +- ...ic_call_oog_additional_gas_costs2_paris.py | 60 +- .../stStaticCall/test_static_call_output1.py | 67 +- .../stStaticCall/test_static_call_output2.py | 65 +- .../stStaticCall/test_static_call_output3.py | 67 +- .../test_static_call_output3_fail.py | 69 +- .../test_static_call_output3partial.py | 69 +- .../test_static_call_output3partial_fail.py | 75 +- .../test_static_call_recursive_bomb0.py | 83 +- ...l_recursive_bomb0_oog_at_max_call_depth.py | 101 +- .../test_static_call_recursive_bomb1.py | 82 +- .../test_static_call_recursive_bomb2.py | 84 +- .../test_static_call_recursive_bomb3.py | 86 +- .../test_static_call_recursive_bomb_log.py | 92 +- .../test_static_call_recursive_bomb_log2.py | 85 +- ...est_static_call_recursive_bomb_pre_call.py | 98 +- ...st_static_call_recursive_bomb_pre_call2.py | 102 +- .../test_static_call_ripemd160_1.py | 56 +- .../test_static_call_ripemd160_2.py | 58 +- .../test_static_call_ripemd160_3.py | 60 +- ...test_static_call_ripemd160_3_postfixed0.py | 59 +- .../test_static_call_ripemd160_3_prefixed0.py | 59 +- .../test_static_call_ripemd160_4.py | 64 +- .../test_static_call_ripemd160_4_gas719.py | 64 +- .../test_static_call_ripemd160_5.py | 64 +- .../stStaticCall/test_static_call_sha256_1.py | 54 +- ...test_static_call_sha256_1_nonzero_value.py | 84 +- .../stStaticCall/test_static_call_sha256_2.py | 56 +- .../stStaticCall/test_static_call_sha256_3.py | 56 +- .../test_static_call_sha256_3_postfix0.py | 58 +- .../test_static_call_sha256_3_prefix0.py | 58 +- .../stStaticCall/test_static_call_sha256_4.py | 62 +- .../test_static_call_sha256_4_gas99.py | 66 +- .../stStaticCall/test_static_call_sha256_5.py | 62 +- ..._static_call_to_call_code_op_code_check.py | 199 +- .../test_static_call_to_call_op_code_check.py | 198 +- ...t_static_call_to_del_call_op_code_check.py | 197 +- .../test_static_call_to_name_registrator0.py | 102 +- .../test_static_call_to_return1.py | 69 +- ...est_static_call_to_static_op_code_check.py | 196 +- .../test_static_call_value_inherit.py | 74 +- ...est_static_call_value_inherit_from_call.py | 99 +- .../test_static_call_with_high_value.py | 69 +- ...static_call_with_high_value_and_gas_oog.py | 250 +- ...all_with_high_value_and_oo_gat_tx_level.py | 68 +- ...static_call_with_high_value_oo_gin_call.py | 74 +- .../test_static_call_zero_v_call_suicide.py | 71 +- .../stStaticCall/test_static_callcall_00.py | 316 +- .../test_static_callcall_00_ooge.py | 309 +- .../test_static_callcall_00_ooge_1.py | 309 +- .../test_static_callcall_00_ooge_2.py | 269 +- .../test_static_callcall_00_suicide_end.py | 101 +- .../test_static_callcallcall_000.py | 392 +- .../test_static_callcallcall_000_ooge.py | 371 +- ...test_static_callcallcall_000_oogm_after.py | 132 +- ...est_static_callcallcall_000_oogm_after2.py | 151 +- ...est_static_callcallcall_000_oogm_before.py | 133 +- ...est_static_callcallcall_000_suicide_end.py | 136 +- ..._static_callcallcall_000_suicide_middle.py | 128 +- ...test_static_callcallcall_abcb_recursive.py | 123 +- .../test_static_callcallcallcode_001.py | 375 +- .../test_static_callcallcallcode_001_2.py | 368 +- .../test_static_callcallcallcode_001_ooge.py | 150 +- ...test_static_callcallcallcode_001_ooge_2.py | 311 +- ..._static_callcallcallcode_001_oogm_after.py | 216 +- ...static_callcallcallcode_001_oogm_after2.py | 201 +- ...tatic_callcallcallcode_001_oogm_after_2.py | 198 +- ...tatic_callcallcallcode_001_oogm_after_3.py | 201 +- ...static_callcallcallcode_001_oogm_before.py | 216 +- ...tatic_callcallcallcode_001_oogm_before2.py | 205 +- ...static_callcallcallcode_001_suicide_end.py | 125 +- ...tatic_callcallcallcode_001_suicide_end2.py | 121 +- ...tic_callcallcallcode_001_suicide_middle.py | 130 +- ...ic_callcallcallcode_001_suicide_middle2.py | 126 +- ..._static_callcallcallcode_abcb_recursive.py | 125 +- ...static_callcallcallcode_abcb_recursive2.py | 121 +- .../test_static_callcallcode_01_2.py | 248 +- .../test_static_callcallcode_01_ooge_2.py | 161 +- ...test_static_callcallcode_01_suicide_end.py | 102 +- ...est_static_callcallcode_01_suicide_end2.py | 102 +- .../test_static_callcallcodecall_010.py | 132 +- .../test_static_callcallcodecall_010_2.py | 210 +- .../test_static_callcallcodecall_010_ooge.py | 210 +- ...test_static_callcallcodecall_010_ooge_2.py | 182 +- ..._static_callcallcodecall_010_oogm_after.py | 194 +- ...static_callcallcodecall_010_oogm_after2.py | 200 +- ...tatic_callcallcodecall_010_oogm_after_2.py | 194 +- ...tatic_callcallcodecall_010_oogm_after_3.py | 202 +- ...static_callcallcodecall_010_oogm_before.py | 196 +- ...tatic_callcallcodecall_010_oogm_before2.py | 194 +- ...static_callcallcodecall_010_suicide_end.py | 120 +- ...tatic_callcallcodecall_010_suicide_end2.py | 120 +- ...tic_callcallcodecall_010_suicide_middle.py | 117 +- ...ic_callcallcodecall_010_suicide_middle2.py | 119 +- ..._static_callcallcodecall_abcb_recursive.py | 105 +- ...static_callcallcodecall_abcb_recursive2.py | 105 +- .../test_static_callcallcodecallcode_011.py | 133 +- .../test_static_callcallcodecallcode_011_2.py | 209 +- ...st_static_callcallcodecallcode_011_ooge.py | 174 +- ..._static_callcallcodecallcode_011_ooge_2.py | 235 +- ...tic_callcallcodecallcode_011_oogm_after.py | 212 +- ...ic_callcallcodecallcode_011_oogm_after2.py | 194 +- ...c_callcallcodecallcode_011_oogm_after_1.py | 221 +- ...c_callcallcodecallcode_011_oogm_after_2.py | 218 +- ...ic_callcallcodecallcode_011_oogm_before.py | 216 +- ...c_callcallcodecallcode_011_oogm_before2.py | 289 +- ...ic_callcallcodecallcode_011_suicide_end.py | 120 +- ...c_callcallcodecallcode_011_suicide_end2.py | 129 +- ...callcallcodecallcode_011_suicide_middle.py | 124 +- ...allcallcodecallcode_011_suicide_middle2.py | 136 +- ...tic_callcallcodecallcode_abcb_recursive.py | 105 +- ...ic_callcallcodecallcode_abcb_recursive2.py | 107 +- .../test_static_callcode_check_pc.py | 66 +- .../test_static_callcodecall_10.py | 100 +- .../test_static_callcodecall_10_2.py | 94 +- .../test_static_callcodecall_10_ooge.py | 149 +- .../test_static_callcodecall_10_ooge_2.py | 165 +- ...test_static_callcodecall_10_suicide_end.py | 152 +- ...est_static_callcodecall_10_suicide_end2.py | 154 +- .../test_static_callcodecallcall_100.py | 122 +- .../test_static_callcodecallcall_100_2.py | 156 +- .../test_static_callcodecallcall_100_ooge.py | 196 +- .../test_static_callcodecallcall_100_ooge2.py | 180 +- ..._static_callcodecallcall_100_oogm_after.py | 148 +- ...static_callcodecallcall_100_oogm_after2.py | 173 +- ...tatic_callcodecallcall_100_oogm_after_2.py | 144 +- ...tatic_callcodecallcall_100_oogm_after_3.py | 207 +- ...static_callcodecallcall_100_oogm_before.py | 198 +- ...tatic_callcodecallcall_100_oogm_before2.py | 229 +- ...static_callcodecallcall_100_suicide_end.py | 131 +- ...tatic_callcodecallcall_100_suicide_end2.py | 137 +- ...tic_callcodecallcall_100_suicide_middle.py | 117 +- ...ic_callcodecallcall_100_suicide_middle2.py | 155 +- ..._static_callcodecallcall_abcb_recursive.py | 103 +- ...static_callcodecallcall_abcb_recursive2.py | 143 +- .../test_static_callcodecallcallcode_101.py | 135 +- .../test_static_callcodecallcallcode_101_2.py | 188 +- ...st_static_callcodecallcallcode_101_ooge.py | 134 +- ..._static_callcodecallcallcode_101_ooge_2.py | 136 +- ...tic_callcodecallcallcode_101_oogm_after.py | 148 +- ...ic_callcodecallcallcode_101_oogm_after2.py | 180 +- ...c_callcodecallcallcode_101_oogm_after_1.py | 329 +- ...c_callcodecallcallcode_101_oogm_after_3.py | 334 +- ...ic_callcodecallcallcode_101_oogm_before.py | 136 +- ...c_callcodecallcallcode_101_oogm_before2.py | 178 +- ...ic_callcodecallcallcode_101_suicide_end.py | 129 +- ...c_callcodecallcallcode_101_suicide_end2.py | 175 +- ...callcodecallcallcode_101_suicide_middle.py | 127 +- ...allcodecallcallcode_101_suicide_middle2.py | 167 +- ...tic_callcodecallcallcode_abcb_recursive.py | 105 +- ...ic_callcodecallcallcode_abcb_recursive2.py | 228 +- .../test_static_callcodecallcodecall_110.py | 133 +- .../test_static_callcodecallcodecall_1102.py | 173 +- .../test_static_callcodecallcodecall_110_2.py | 185 +- ...st_static_callcodecallcodecall_110_ooge.py | 134 +- ...t_static_callcodecallcodecall_110_ooge2.py | 184 +- ...tic_callcodecallcodecall_110_oogm_after.py | 132 +- ...ic_callcodecallcodecall_110_oogm_after2.py | 188 +- ...c_callcodecallcodecall_110_oogm_after_2.py | 132 +- ...c_callcodecallcodecall_110_oogm_after_3.py | 140 +- ...ic_callcodecallcodecall_110_oogm_before.py | 134 +- ...c_callcodecallcodecall_110_oogm_before2.py | 188 +- ...ic_callcodecallcodecall_110_suicide_end.py | 157 +- ...c_callcodecallcodecall_110_suicide_end2.py | 188 +- ...callcodecallcodecall_110_suicide_middle.py | 115 +- ...allcodecallcodecall_110_suicide_middle2.py | 117 +- ...tic_callcodecallcodecall_abcb_recursive.py | 103 +- ...ic_callcodecallcodecall_abcb_recursive2.py | 145 +- ...allcodecallcodecallcode_111_suicide_end.py | 123 +- .../test_static_calldelcode_01.py | 90 +- .../test_static_calldelcode_01_ooge.py | 157 +- .../test_static_callto_return2.py | 84 +- .../test_static_check_call_cost_oog.py | 87 +- .../stStaticCall/test_static_check_opcodes.py | 424 +- .../test_static_check_opcodes2.py | 909 +- .../test_static_check_opcodes3.py | 988 +- .../test_static_check_opcodes4.py | 386 +- .../test_static_check_opcodes5.py | 966 +- ..._ask_more_gas_then_transaction_provided.py | 291 +- ...nt_leave_empty_contract_via_transaction.py | 97 +- ...tic_create_contract_suicide_during_init.py | 194 +- ...cide_during_init_then_store_then_return.py | 151 +- ...contract_suicide_during_init_with_value.py | 94 +- ..._create_empty_contract_and_call_it_0wei.py | 64 +- ..._contract_with_storage_and_call_it_0wei.py | 92 +- ..._that_ask_fore_gas_then_trabsaction_has.py | 165 +- ..._static_internal_call_hitting_gas_limit.py | 82 +- ...static_internal_call_hitting_gas_limit2.py | 84 +- ...t_static_internal_call_store_clears_oog.py | 108 +- .../test_static_log0_empty_mem.py | 66 +- ...test_static_log0_log_mem_start_too_high.py | 82 +- .../test_static_log0_log_memsize_too_high.py | 82 +- .../test_static_log0_log_memsize_zero.py | 76 +- .../test_static_log0_non_empty_mem.py | 76 +- ...static_log0_non_empty_mem_log_mem_size1.py | 75 +- ...empty_mem_log_mem_size1_log_mem_start31.py | 75 +- .../test_static_log1_empty_mem.py | 62 +- ...test_static_log1_log_mem_start_too_high.py | 84 +- .../test_static_log1_log_memsize_too_high.py | 84 +- .../test_static_log1_log_memsize_zero.py | 76 +- .../test_static_log1_max_topic.py | 82 +- .../stStaticCall/test_static_log_caller.py | 209 +- ...est_static_loop_calls_depth_then_revert.py | 109 +- ...st_static_loop_calls_depth_then_revert2.py | 77 +- ...st_static_loop_calls_depth_then_revert3.py | 85 +- .../test_static_loop_calls_then_revert.py | 172 +- .../stStaticCall/test_static_make_money.py | 68 +- .../test_static_post_to_return1.py | 83 +- .../test_static_raw_call_gas_ask.py | 278 +- .../stStaticCall/test_static_refund_call_a.py | 66 +- ...tatic_refund_call_to_suicide_no_storage.py | 124 +- ...est_static_refund_call_to_suicide_twice.py | 167 +- .../stStaticCall/test_static_return50000_2.py | 125 +- .../stStaticCall/test_static_return_bounds.py | 565 +- .../test_static_return_bounds_oog.py | 679 +- .../stStaticCall/test_static_return_test.py | 68 +- .../stStaticCall/test_static_return_test2.py | 76 +- .../stStaticCall/test_static_revert_depth2.py | 150 +- .../test_static_revert_opcode_calls.py | 94 +- .../test_static_zero_value_call_oog_revert.py | 66 +- ...st_static_zero_value_suicide_oog_revert.py | 71 +- ...call_to_precompile_from_called_contract.py | 936 +- ...precompile_from_contract_initialization.py | 226 +- ...aticcall_to_precompile_from_transaction.py | 871 +- .../stStaticFlagEnabled/__init__.py | 2 +- ...code_to_precompile_from_called_contract.py | 1663 +- ...precompile_from_contract_initialization.py | 1436 +- ...callcode_to_precompile_from_transaction.py | 1542 +- ...call_to_precompile_from_called_contract.py | 1171 +- ...precompile_from_contract_initialization.py | 1010 +- ...gatecall_to_precompile_from_transaction.py | 1050 +- .../stSystemOperationsTest/__init__.py | 2 +- .../stSystemOperationsTest/test_ab_acalls0.py | 90 +- .../stSystemOperationsTest/test_ab_acalls1.py | 88 +- .../stSystemOperationsTest/test_ab_acalls2.py | 84 +- .../stSystemOperationsTest/test_ab_acalls3.py | 80 +- .../test_ab_acalls_suicide0.py | 97 +- .../test_ab_acalls_suicide1.py | 145 +- .../test_balance_input_address_too_big.py | 41 +- .../stSystemOperationsTest/test_call10.py | 73 +- .../test_call_recursive_bomb0.py | 83 +- ...l_recursive_bomb0_oog_at_max_call_depth.py | 73 +- .../test_call_recursive_bomb1.py | 58 +- .../test_call_recursive_bomb2.py | 58 +- .../test_call_recursive_bomb3.py | 58 +- .../test_call_recursive_bomb_log.py | 93 +- .../test_call_recursive_bomb_log2.py | 88 +- .../test_call_to_name_registrator0.py | 112 +- ...o_name_registrator_address_too_big_left.py | 55 +- ..._name_registrator_address_too_big_right.py | 103 +- ...trator_mem_oog_and_insufficient_balance.py | 101 +- ...ll_to_name_registrator_not_much_memory0.py | 101 +- ...ll_to_name_registrator_not_much_memory1.py | 101 +- ...est_call_to_name_registrator_out_of_gas.py | 101 +- ...ll_to_name_registrator_too_much_memory0.py | 95 +- ...ll_to_name_registrator_too_much_memory1.py | 101 +- ...ll_to_name_registrator_too_much_memory2.py | 95 +- ...ame_registrator_zeor_size_mem_expansion.py | 151 +- .../test_call_to_return1.py | 77 +- .../test_call_to_return1_for_dynamic_jump0.py | 77 +- .../test_call_to_return1_for_dynamic_jump1.py | 73 +- .../stSystemOperationsTest/test_call_value.py | 28 +- .../test_callcode_to0.py | 56 +- .../test_callcode_to_name_registrator0.py | 101 +- ...to_name_registrator_addres_too_big_left.py | 55 +- ...o_name_registrator_addres_too_big_right.py | 103 +- ...e_to_name_registrator_zero_mem_expanion.py | 157 +- .../test_callcode_to_return1.py | 93 +- .../test_caller_account_balance.py | 28 +- .../test_callto_return2.py | 95 +- .../test_create_hash_collision.py | 61 +- .../test_create_name_registrator.py | 48 +- ..._name_registrator_oog_mem_expansion_oov.py | 53 +- ...e_name_registrator_out_of_memory_bonds0.py | 45 +- ...e_name_registrator_out_of_memory_bonds1.py | 45 +- ..._create_name_registrator_value_too_high.py | 51 +- .../test_create_name_registrator_zero_mem.py | 43 +- .../test_create_name_registrator_zero_mem2.py | 55 +- ...ate_name_registrator_zero_mem_expansion.py | 43 +- .../test_create_with_invalid_opcode.py | 43 +- .../test_current_account_balance.py | 36 +- .../test_double_selfdestruct_test.py | 311 +- .../test_double_selfdestruct_touch_paris.py | 210 +- .../test_extcodecopy.py | 207 +- .../test_multi_selfdestruct.py | 413 +- .../test_post_to_return1.py | 97 +- .../stSystemOperationsTest/test_return0.py | 32 +- .../stSystemOperationsTest/test_return1.py | 32 +- .../stSystemOperationsTest/test_return2.py | 32 +- .../test_suicide_address.py | 38 +- .../test_suicide_caller.py | 37 +- ...test_suicide_caller_addres_too_big_left.py | 39 +- ...est_suicide_caller_addres_too_big_right.py | 38 +- .../test_suicide_not_existing_account.py | 37 +- .../test_suicide_origin.py | 37 +- .../test_suicide_send_ether_post_death.py | 265 +- .../test_suicide_send_ether_to_me.py | 29 +- .../test_test_name_registrator.py | 55 +- .../test_test_random_test.py | 57 +- .../ported_static/stTimeConsuming/__init__.py | 2 +- .../ported_static/stTimeConsuming/conftest.py | 15 - ...t_sstore_combinations_initial00_2_paris.py | 36116 ++++-- ...est_sstore_combinations_initial00_paris.py | 36442 +++++-- ...t_sstore_combinations_initial01_2_paris.py | 37830 +++++-- ...est_sstore_combinations_initial01_paris.py | 35892 ++++-- ...t_sstore_combinations_initial10_2_paris.py | 35447 ++++-- ...est_sstore_combinations_initial10_paris.py | 35167 ++++-- ...t_sstore_combinations_initial11_2_paris.py | 37506 +++++-- ...est_sstore_combinations_initial11_paris.py | 35568 ++++-- ...t_sstore_combinations_initial20_2_paris.py | 35447 ++++-- ...est_sstore_combinations_initial20_paris.py | 35167 ++++-- ...t_sstore_combinations_initial21_2_paris.py | 37506 +++++-- ...est_sstore_combinations_initial21_paris.py | 35568 ++++-- .../stTransactionTest/__init__.py | 2 +- .../test_contract_store_clears_oog.py | 71 +- .../test_contract_store_clears_success.py | 69 +- .../test_create_message_reverted.py | 37 +- .../test_create_message_success.py | 37 +- .../test_create_transaction_success.py | 44 +- .../test_empty_transaction3.py | 20 +- .../stTransactionTest/test_high_gas_limit.py | 68 +- .../test_high_gas_price_paris.py | 27 +- .../test_internal_call_hitting_gas_limit.py | 61 +- .../test_internal_call_hitting_gas_limit2.py | 55 +- ...internal_call_hitting_gas_limit_success.py | 55 +- .../test_internal_call_store_clears_oog.py | 108 +- ...test_internal_call_store_clears_success.py | 107 +- .../stTransactionTest/test_no_src_account.py | 623 +- .../test_no_src_account1559.py | 406 +- .../test_no_src_account_create.py | 591 +- .../test_no_src_account_create1559.py | 400 +- .../test_opcodes_transaction_init.py | 1862 +- .../test_overflow_gas_require2.py | 96 +- .../test_point_at_infinity_ec_recover.py | 33 +- ...ears_and_internal_call_store_clears_oog.py | 111 +- ..._and_internal_call_store_clears_success.py | 114 +- .../test_store_gas_on_create.py | 31 +- ...nternal_call_suicides_bonus_gas_at_call.py | 67 +- ..._call_suicides_bonus_gas_at_call_failed.py | 57 +- ...suicides_and_internal_call_suicides_oog.py | 61 +- ...ides_and_internal_call_suicides_success.py | 122 +- ...nd_send_money_to_itself_ether_destroyed.py | 41 +- .../test_suicides_stop_after_suicide.py | 67 +- .../test_transaction_data_costs652.py | 99 +- .../test_transaction_sending_to_empty.py | 20 +- .../test_transaction_sending_to_zero.py | 24 +- ...est_transaction_to_addressh160minus_one.py | 22 +- .../test_transaction_to_itself.py | 16 +- .../stTransitionTest/__init__.py | 2 +- ...t_create_name_registrator_per_txs_after.py | 36 +- ...test_create_name_registrator_per_txs_at.py | 38 +- ..._create_name_registrator_per_txs_before.py | 36 +- .../test_delegatecall_after_transition.py | 71 +- .../test_delegatecall_at_transition.py | 70 +- .../test_delegatecall_before_transition.py | 71 +- tests/ported_static/stWalletTest/__init__.py | 2 +- .../test_day_limit_construction.py | 130 +- .../test_day_limit_construction_oog.py | 91 +- .../test_day_limit_construction_partial.py | 98 +- .../test_day_limit_reset_spent_today.py | 119 +- .../test_day_limit_set_daily_limit.py | 116 +- .../test_day_limit_set_daily_limit_no_data.py | 115 +- .../test_multi_owned_add_owner.py | 111 +- .../test_multi_owned_add_owner_add_myself.py | 112 +- .../test_multi_owned_change_owner.py | 113 +- ...multi_owned_change_owner_from_not_owner.py | 116 +- ...st_multi_owned_change_owner_no_argument.py | 110 +- ...st_multi_owned_change_owner_to_is_owner.py | 116 +- ...test_multi_owned_change_requirement_to0.py | 112 +- ...test_multi_owned_change_requirement_to1.py | 112 +- ...test_multi_owned_change_requirement_to2.py | 112 +- .../test_multi_owned_construction_correct.py | 91 +- ...multi_owned_construction_not_enough_gas.py | 85 +- ...ned_construction_not_enough_gas_partial.py | 159 +- .../test_multi_owned_is_owner_false.py | 113 +- .../test_multi_owned_is_owner_true.py | 110 +- .../test_multi_owned_remove_owner.py | 1631 +- ...t_multi_owned_remove_owner_by_non_owner.py | 125 +- .../test_multi_owned_remove_owner_my_self.py | 112 +- ...i_owned_remove_owner_owner_is_not_owner.py | 112 +- .../test_multi_owned_revoke_nothing.py | 113 +- ...et_add_owner_remove_pending_transaction.py | 182 +- ...change_owner_remove_pending_transaction.py | 184 +- ..._requirement_remove_pending_transaction.py | 181 +- .../stWalletTest/test_wallet_confirm.py | 184 +- .../stWalletTest/test_wallet_construction.py | 174 +- .../test_wallet_construction_oog.py | 218 +- .../test_wallet_construction_partial.py | 143 +- .../stWalletTest/test_wallet_default.py | 154 +- .../test_wallet_default_with_out_value.py | 154 +- ...et_execute_over_daily_limit_multi_owner.py | 165 +- ...execute_over_daily_limit_only_one_owner.py | 163 +- ...ute_over_daily_limit_only_one_owner_new.py | 164 +- .../test_wallet_execute_under_daily_limit.py | 166 +- .../stWalletTest/test_wallet_kill.py | 155 +- .../test_wallet_kill_not_by_owner.py | 171 +- .../test_wallet_kill_to_wallet.py | 155 +- ...remove_owner_remove_pending_transaction.py | 181 +- .../stZeroCallsRevert/__init__.py | 2 +- .../test_zero_value_call_oog_revert.py | 69 +- ...ro_value_call_to_empty_oog_revert_paris.py | 71 +- ...lue_call_to_non_zero_balance_oog_revert.py | 71 +- ...all_to_one_storage_key_oog_revert_paris.py | 69 +- .../test_zero_value_callcode_oog_revert.py | 70 +- ...alue_callcode_to_empty_oog_revert_paris.py | 71 +- ...callcode_to_non_zero_balance_oog_revert.py | 71 +- ...ode_to_one_storage_key_oog_revert_paris.py | 69 +- ...test_zero_value_delegatecall_oog_revert.py | 66 +- ..._delegatecall_to_empty_oog_revert_paris.py | 69 +- ...gatecall_to_non_zero_balance_oog_revert.py | 69 +- ...all_to_one_storage_key_oog_revert_paris.py | 67 +- .../test_zero_value_suicide_oog_revert.py | 77 +- ...value_suicide_to_empty_oog_revert_paris.py | 81 +- ..._suicide_to_non_zero_balance_oog_revert.py | 81 +- ...ide_to_one_storage_key_oog_revert_paris.py | 81 +- .../ported_static/stZeroCallsTest/__init__.py | 2 +- .../stZeroCallsTest/test_zero_value_call.py | 58 +- .../test_zero_value_call_to_empty_paris.py | 64 +- ...est_zero_value_call_to_non_zero_balance.py | 64 +- ...ero_value_call_to_one_storage_key_paris.py | 63 +- .../test_zero_value_callcode.py | 58 +- ...test_zero_value_callcode_to_empty_paris.py | 62 +- ...zero_value_callcode_to_non_zero_balance.py | 62 +- ...value_callcode_to_one_storage_key_paris.py | 63 +- .../test_zero_value_delegatecall.py | 58 +- ..._zero_value_delegatecall_to_empty_paris.py | 60 +- ..._value_delegatecall_to_non_zero_balance.py | 60 +- ...e_delegatecall_to_one_storage_key_paris.py | 61 +- .../test_zero_value_suicide.py | 43 +- .../test_zero_value_suicide_to_empty_paris.py | 49 +- ..._zero_value_suicide_to_non_zero_balance.py | 47 +- ..._value_suicide_to_one_storage_key_paris.py | 48 +- ...t_zero_value_transaction_cal_lwith_data.py | 65 +- ...ansaction_cal_lwith_data_to_empty_paris.py | 64 +- ...tion_cal_lwith_data_to_non_zero_balance.py | 64 +- ...cal_lwith_data_to_one_storage_key_paris.py | 68 +- .../test_zero_value_transaction_call.py | 24 +- ...o_value_transaction_call_to_empty_paris.py | 21 +- ...ue_transaction_call_to_non_zero_balance.py | 21 +- ...ansaction_call_to_one_storage_key_paris.py | 23 +- .../ported_static/stZeroKnowledge/__init__.py | 2 +- ...t_ecpairing_empty_data_insufficient_gas.py | 223 - .../stZeroKnowledge/test_ecpairing_inputs.py | 1386 - ...st_ecpairing_one_point_insufficient_gas.py | 250 - ...est_ecpairing_one_point_not_in_subgroup.py | 260 - ...g_one_point_with_g2_zero_and_g1_invalid.py | 259 - ...est_ecpairing_perturb_g2_by_curve_order.py | 260 - .../test_ecpairing_perturb_g2_by_one.py | 259 - ...airing_perturb_zeropoint_by_curve_order.py | 260 - ...ring_perturb_zeropoint_by_field_modulus.py | 260 - ...test_ecpairing_perturb_zeropoint_by_one.py | 260 - .../test_ecpairing_three_point_fail_1.py | 270 - .../test_ecpairing_three_point_match_1.py | 270 - .../test_ecpairing_two_point_fail_1.py | 254 - .../test_ecpairing_two_point_fail_2.py | 264 - .../test_ecpairing_two_point_match_2.py | 264 - .../test_ecpairing_two_point_match_3.py | 264 - .../test_ecpairing_two_point_match_4.py | 264 - .../test_ecpairing_two_point_match_5.py | 264 - .../test_ecpairing_two_point_oog.py | 264 - ...t_ecpairing_two_points_with_one_g2_zero.py | 265 - .../stZeroKnowledge/test_pairing_test.py | 762 +- .../stZeroKnowledge/test_point_add.py | 499 - .../stZeroKnowledge/test_point_add_trunc.py | 503 - .../stZeroKnowledge/test_point_mul_add.py | 891 +- .../stZeroKnowledge/test_point_mul_add2.py | 2936 +- .../vmArithmeticTest/__init__.py | 1 + .../vmArithmeticTest/test_add.py | 255 + .../vmArithmeticTest/test_addmod.py | 516 + .../vmArithmeticTest/test_arith.py | 84 + .../vmArithmeticTest/test_div.py | 298 + .../vmArithmeticTest/test_div_by_zero.py | 1139 + .../vmArithmeticTest/test_exp.py | 370 + .../vmArithmeticTest/test_exp_power2.py | 191 + .../vmArithmeticTest/test_exp_power256.py | 445 + .../test_exp_power256_of256.py | 1504 + .../vmArithmeticTest/test_fib.py | 151 + .../vmArithmeticTest/test_mod.py | 271 + .../vmArithmeticTest/test_mul.py | 380 + .../vmArithmeticTest/test_mulmod.py | 539 + .../vmArithmeticTest/test_not.py | 58 +- .../vmArithmeticTest/test_sdiv.py | 682 + .../vmArithmeticTest/test_signextend.py | 534 + .../vmArithmeticTest/test_smod.py | 279 + .../vmArithmeticTest/test_sub.py | 257 + .../vmArithmeticTest/test_two_ops.py | 2821 + .../vmBitwiseLogicOperation/__init__.py | 1 + .../vmBitwiseLogicOperation/test_and.py | 253 + .../vmBitwiseLogicOperation/test_byte.py | 472 + .../vmBitwiseLogicOperation/test_eq.py | 185 + .../vmBitwiseLogicOperation/test_gt.py | 216 + .../vmBitwiseLogicOperation/test_iszero.py | 181 + .../vmBitwiseLogicOperation/test_lt.py | 216 + .../vmBitwiseLogicOperation/test_not.py | 292 + .../vmBitwiseLogicOperation/test_or.py | 293 + .../vmBitwiseLogicOperation/test_sgt.py | 216 + .../vmBitwiseLogicOperation/test_slt.py | 216 + .../vmBitwiseLogicOperation/test_xor.py | 293 + .../vmIOandFlowOperations/__init__.py | 1 + .../vmIOandFlowOperations/test_codecopy.py | 374 + .../vmIOandFlowOperations/test_gas.py | 156 + .../vmIOandFlowOperations/test_jump.py | 457 + .../test_jump_to_push.py | 1817 + .../vmIOandFlowOperations/test_jumpi.py | 648 + .../test_loop_stacklimit.py | 160 + .../test_loops_conditionals.py | 441 + .../vmIOandFlowOperations/test_mload.py | 183 + .../vmIOandFlowOperations/test_msize.py | 284 + .../vmIOandFlowOperations/test_mstore.py | 244 + .../vmIOandFlowOperations/test_mstore8.py | 193 + .../vmIOandFlowOperations/test_pc.py | 153 + .../vmIOandFlowOperations/test_pop.py | 145 + .../vmIOandFlowOperations/test_return.py | 278 + .../test_sstore_sload.py | 198 + tests/ported_static/vmLogTest/__init__.py | 1 + tests/ported_static/vmLogTest/test_log0.py | 326 + tests/ported_static/vmLogTest/test_log1.py | 351 + tests/ported_static/vmLogTest/test_log2.py | 352 + tests/ported_static/vmLogTest/test_log3.py | 401 + tests/ported_static/vmLogTest/test_log4.py | 447 + tests/ported_static/vmTests/__init__.py | 1 + .../ported_static/vmTests/test_block_info.py | 223 + tests/ported_static/vmTests/test_env_info.py | 368 + tests/ported_static/vmTests/test_random.py | 239 + tests/ported_static/vmTests/test_sha3.py | 599 + tests/ported_static/vmTests/test_suicide.py | 178 + 2341 files changed, 545454 insertions(+), 464199 deletions(-) create mode 100644 scripts/filler_to_python/__init__.py create mode 100644 scripts/filler_to_python/__main__.py create mode 100644 scripts/filler_to_python/analyzer.py create mode 100644 scripts/filler_to_python/ir.py create mode 100644 scripts/filler_to_python/render.py create mode 100644 scripts/filler_to_python/templates/state_test.py.j2 delete mode 100644 scripts/fixture_to_python.py delete mode 100644 tests/ported_static/Cancun/__init__.py delete mode 100644 tests/ported_static/Cancun/stEIP1153_transientStorage/__init__.py delete mode 100644 tests/ported_static/Cancun/stEIP1153_transientStorage/test_10_revert_undoes_store_after_return.py delete mode 100644 tests/ported_static/Cancun/stEIP1153_transientStorage/test_14_revert_after_nested_staticcall.py delete mode 100644 tests/ported_static/Cancun/stEIP1153_transientStorage/test_trans_storage_ok.py delete mode 100644 tests/ported_static/Cancun/stEIP1153_transientStorage/test_trans_storage_reset.py delete mode 100644 tests/ported_static/Cancun/stEIP4844_blobtransactions/__init__.py delete mode 100644 tests/ported_static/Cancun/stEIP5656_MCOPY/__init__.py delete mode 100644 tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy.py delete mode 100644 tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy_copy_cost.py delete mode 100644 tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy_memory_expansion_cost.py delete mode 100644 tests/ported_static/Shanghai/__init__.py delete mode 100644 tests/ported_static/Shanghai/stEIP3651_warmcoinbase/__init__.py delete mode 100644 tests/ported_static/Shanghai/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas.py delete mode 100644 tests/ported_static/Shanghai/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas_fail.py delete mode 100644 tests/ported_static/Shanghai/stEIP3855_push0/__init__.py delete mode 100644 tests/ported_static/Shanghai/stEIP3855_push0/test_push0.py delete mode 100644 tests/ported_static/Shanghai/stEIP3855_push0/test_push0_gas2.py delete mode 100644 tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/__init__.py delete mode 100644 tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_create2_init_code_size_limit.py delete mode 100644 tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_create_init_code_size_limit.py delete mode 100644 tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_creation_tx_init_code_size_limit.py delete mode 100644 tests/ported_static/VMTests/__init__.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/__init__.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_add.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_addmod.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_arith.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_div.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_div_by_zero.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_exp.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_exp_power2.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_exp_power256.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_exp_power256_of256.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_fib.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_mod.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_mul.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_mulmod.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_sdiv.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_signextend.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_smod.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_sub.py delete mode 100644 tests/ported_static/VMTests/vmArithmeticTest/test_two_ops.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/__init__.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/test_and.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/test_byte.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/test_eq.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/test_gt.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/test_iszero.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/test_lt.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/test_not.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/test_or.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/test_sgt.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/test_slt.py delete mode 100644 tests/ported_static/VMTests/vmBitwiseLogicOperation/test_xor.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/__init__.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_codecopy.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_gas.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_jump.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_jump_to_push.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_jumpi.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_loop_stacklimit.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_loops_conditionals.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_mload.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_msize.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_mstore.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_mstore8.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_pc.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_pop.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_return.py delete mode 100644 tests/ported_static/VMTests/vmIOandFlowOperations/test_sstore_sload.py delete mode 100644 tests/ported_static/VMTests/vmLogTest/__init__.py delete mode 100644 tests/ported_static/VMTests/vmLogTest/test_log0.py delete mode 100644 tests/ported_static/VMTests/vmLogTest/test_log1.py delete mode 100644 tests/ported_static/VMTests/vmLogTest/test_log2.py delete mode 100644 tests/ported_static/VMTests/vmLogTest/test_log3.py delete mode 100644 tests/ported_static/VMTests/vmLogTest/test_log4.py delete mode 100644 tests/ported_static/VMTests/vmTests/__init__.py delete mode 100644 tests/ported_static/VMTests/vmTests/test_block_info.py delete mode 100644 tests/ported_static/VMTests/vmTests/test_env_info.py delete mode 100644 tests/ported_static/VMTests/vmTests/test_random.py delete mode 100644 tests/ported_static/VMTests/vmTests/test_sha3.py delete mode 100644 tests/ported_static/VMTests/vmTests/test_suicide.py delete mode 100644 tests/ported_static/__init__.py delete mode 100644 tests/ported_static/stChainId/__init__.py delete mode 100644 tests/ported_static/stChainId/test_chain_id.py delete mode 100644 tests/ported_static/stChainId/test_chain_id_gas_cost.py create mode 100644 tests/ported_static/stEIP1153_transientStorage/__init__.py create mode 100644 tests/ported_static/stEIP1153_transientStorage/test_10_revert_undoes_store_after_return.py create mode 100644 tests/ported_static/stEIP1153_transientStorage/test_14_revert_after_nested_staticcall.py create mode 100644 tests/ported_static/stEIP1153_transientStorage/test_trans_storage_ok.py create mode 100644 tests/ported_static/stEIP1153_transientStorage/test_trans_storage_reset.py create mode 100644 tests/ported_static/stEIP1559/test_base_fee_diff_places_osaka.py create mode 100644 tests/ported_static/stEIP1559/test_gas_price_diff_places_osaka.py create mode 100644 tests/ported_static/stEIP3651_warmcoinbase/__init__.py create mode 100644 tests/ported_static/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas.py create mode 100644 tests/ported_static/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas_fail.py create mode 100644 tests/ported_static/stEIP3855_push0/__init__.py create mode 100644 tests/ported_static/stEIP3855_push0/test_push0.py rename tests/ported_static/{Shanghai => }/stEIP3855_push0/test_push0_gas.py (56%) create mode 100644 tests/ported_static/stEIP3855_push0/test_push0_gas2.py create mode 100644 tests/ported_static/stEIP3860_limitmeterinitcode/__init__.py create mode 100644 tests/ported_static/stEIP3860_limitmeterinitcode/test_create2_init_code_size_limit.py create mode 100644 tests/ported_static/stEIP3860_limitmeterinitcode/test_create_init_code_size_limit.py create mode 100644 tests/ported_static/stEIP3860_limitmeterinitcode/test_creation_tx_init_code_size_limit.py create mode 100644 tests/ported_static/stEIP4844_blobtransactions/__init__.py rename tests/ported_static/{Cancun => }/stEIP4844_blobtransactions/test_create_blobhash_tx.py (74%) rename tests/ported_static/{Cancun => }/stEIP4844_blobtransactions/test_empty_blobhash_list.py (75%) rename tests/ported_static/{Cancun => }/stEIP4844_blobtransactions/test_opcode_blobh_bounds.py (63%) rename tests/ported_static/{Cancun => }/stEIP4844_blobtransactions/test_opcode_blobhash_out_of_range.py (73%) rename tests/ported_static/{Cancun => }/stEIP4844_blobtransactions/test_wrong_blobhash_version.py (77%) create mode 100644 tests/ported_static/stEIP5656_MCOPY/__init__.py create mode 100644 tests/ported_static/stEIP5656_MCOPY/test_mcopy.py create mode 100644 tests/ported_static/stEIP5656_MCOPY/test_mcopy_copy_cost.py create mode 100644 tests/ported_static/stEIP5656_MCOPY/test_mcopy_memory_expansion_cost.py delete mode 100644 tests/ported_static/stExtCodeHash/__init__.py delete mode 100644 tests/ported_static/stExtCodeHash/test_code_copy_zero_paris.py delete mode 100644 tests/ported_static/stExtCodeHash/test_ext_code_hash_created_and_deleted_account_recheck_in_outer_call.py delete mode 100644 tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_oog.py delete mode 100644 tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_suicide.py delete mode 100644 tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_suicide_cancun.py delete mode 100644 tests/ported_static/stSLoadTest/__init__.py delete mode 100644 tests/ported_static/stSLoadTest/test_sload_gas_cost.py delete mode 100644 tests/ported_static/stTimeConsuming/conftest.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_empty_data_insufficient_gas.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_inputs.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_insufficient_gas.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_not_in_subgroup.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_with_g2_zero_and_g1_invalid.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_g2_by_curve_order.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_g2_by_one.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_curve_order.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_field_modulus.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_one.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_three_point_fail_1.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_three_point_match_1.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_fail_1.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_fail_2.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_2.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_3.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_4.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_5.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_oog.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_ecpairing_two_points_with_one_g2_zero.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_point_add.py delete mode 100644 tests/ported_static/stZeroKnowledge/test_point_add_trunc.py create mode 100644 tests/ported_static/vmArithmeticTest/__init__.py create mode 100644 tests/ported_static/vmArithmeticTest/test_add.py create mode 100644 tests/ported_static/vmArithmeticTest/test_addmod.py create mode 100644 tests/ported_static/vmArithmeticTest/test_arith.py create mode 100644 tests/ported_static/vmArithmeticTest/test_div.py create mode 100644 tests/ported_static/vmArithmeticTest/test_div_by_zero.py create mode 100644 tests/ported_static/vmArithmeticTest/test_exp.py create mode 100644 tests/ported_static/vmArithmeticTest/test_exp_power2.py create mode 100644 tests/ported_static/vmArithmeticTest/test_exp_power256.py create mode 100644 tests/ported_static/vmArithmeticTest/test_exp_power256_of256.py create mode 100644 tests/ported_static/vmArithmeticTest/test_fib.py create mode 100644 tests/ported_static/vmArithmeticTest/test_mod.py create mode 100644 tests/ported_static/vmArithmeticTest/test_mul.py create mode 100644 tests/ported_static/vmArithmeticTest/test_mulmod.py rename tests/ported_static/{VMTests => }/vmArithmeticTest/test_not.py (55%) create mode 100644 tests/ported_static/vmArithmeticTest/test_sdiv.py create mode 100644 tests/ported_static/vmArithmeticTest/test_signextend.py create mode 100644 tests/ported_static/vmArithmeticTest/test_smod.py create mode 100644 tests/ported_static/vmArithmeticTest/test_sub.py create mode 100644 tests/ported_static/vmArithmeticTest/test_two_ops.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/__init__.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/test_and.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/test_byte.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/test_eq.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/test_gt.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/test_iszero.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/test_lt.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/test_not.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/test_or.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/test_sgt.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/test_slt.py create mode 100644 tests/ported_static/vmBitwiseLogicOperation/test_xor.py create mode 100644 tests/ported_static/vmIOandFlowOperations/__init__.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_codecopy.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_gas.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_jump.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_jump_to_push.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_jumpi.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_loop_stacklimit.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_loops_conditionals.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_mload.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_msize.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_mstore.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_mstore8.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_pc.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_pop.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_return.py create mode 100644 tests/ported_static/vmIOandFlowOperations/test_sstore_sload.py create mode 100644 tests/ported_static/vmLogTest/__init__.py create mode 100644 tests/ported_static/vmLogTest/test_log0.py create mode 100644 tests/ported_static/vmLogTest/test_log1.py create mode 100644 tests/ported_static/vmLogTest/test_log2.py create mode 100644 tests/ported_static/vmLogTest/test_log3.py create mode 100644 tests/ported_static/vmLogTest/test_log4.py create mode 100644 tests/ported_static/vmTests/__init__.py create mode 100644 tests/ported_static/vmTests/test_block_info.py create mode 100644 tests/ported_static/vmTests/test_env_info.py create mode 100644 tests/ported_static/vmTests/test_random.py create mode 100644 tests/ported_static/vmTests/test_sha3.py create mode 100644 tests/ported_static/vmTests/test_suicide.py diff --git a/packages/testing/src/execution_testing/cli/evm_bytes.py b/packages/testing/src/execution_testing/cli/evm_bytes.py index 4a42c3b876f..3929ad4dce8 100644 --- a/packages/testing/src/execution_testing/cli/evm_bytes.py +++ b/packages/testing/src/execution_testing/cli/evm_bytes.py @@ -27,8 +27,10 @@ class OpcodeWithOperands: opcode: Op operands: List[int] = field(default_factory=list) - args: List["OpcodeWithOperands | HexNumber"] = field(default_factory=list) - kwargs: Dict[str, "OpcodeWithOperands | HexNumber"] = field( + args: List["OpcodeWithOperands | HexNumber | str"] = field( + default_factory=list + ) + kwargs: Dict[str, "OpcodeWithOperands | HexNumber | str"] = field( default_factory=dict ) @@ -49,7 +51,9 @@ def __str__(self) -> str: output = f"{output}({', '.join(args)})" return output - def opcode_or_int(self) -> "OpcodeWithOperands | HexNumber": + def opcode_or_int( + self, int_definitions: dict[int, str] | None = None + ) -> "OpcodeWithOperands | HexNumber | str": """ Return self or an HexNumber if the opcode is a PUSH opcode and can be seamlessly converted to int when used as a stack argument or keyword @@ -69,6 +73,8 @@ def opcode_or_int(self) -> "OpcodeWithOperands | HexNumber": value = self.operands[0] min_bytes = max(1, (value.bit_length() + 7) // 8) if self.opcode.data_portion_length == min_bytes: + if int_definitions and value in int_definitions: + return int_definitions[value] return HexNumber(value) return self @@ -103,7 +109,9 @@ def __str__(self) -> str: def process_evm_bytes( # noqa: D103 - evm_bytes: bytes, assembly: bool + evm_bytes: bytes, + assembly: bool = False, + int_definitions: dict[int, str] | None = None, ) -> List[OpcodeWithOperands]: evm_bytes_array = bytearray(evm_bytes) @@ -143,7 +151,10 @@ def process_evm_bytes( # noqa: D103 reversed(opcodes[-opcode.popped_stack_items :]) ) if all(arg.opcode.pushed_stack_items == 1 for arg in args): - args_with_int = [arg.opcode_or_int() for arg in args] + args_with_int = [ + arg.opcode_or_int(int_definitions=int_definitions) + for arg in args + ] opcodes = opcodes[: -opcode.popped_stack_items] if opcode.kwargs and len(opcode.kwargs) == len(args_with_int): opcode_with_operands.kwargs = dict( @@ -218,6 +229,7 @@ def process_evm_bytes_string( evm_bytes_hex_string: str, assembly: bool = False, skip_simplify: bool = False, + int_definitions: dict[int, str] | None = None, ) -> str: """Process the given EVM bytes hex string.""" if evm_bytes_hex_string.startswith("0x"): @@ -225,7 +237,11 @@ def process_evm_bytes_string( evm_bytes = bytes.fromhex(evm_bytes_hex_string) return format_opcodes( - process_evm_bytes(evm_bytes, assembly=assembly), + process_evm_bytes( + evm_bytes, + assembly=assembly, + int_definitions=int_definitions, + ), assembly=assembly, skip_simplify=skip_simplify, ) diff --git a/packages/testing/src/execution_testing/specs/static_state/expect_section.py b/packages/testing/src/execution_testing/specs/static_state/expect_section.py index ccef81dec91..0425b65fb0a 100644 --- a/packages/testing/src/execution_testing/specs/static_state/expect_section.py +++ b/packages/testing/src/execution_testing/specs/static_state/expect_section.py @@ -391,3 +391,100 @@ def has_index(self, d: int, g: int, v: int) -> bool: v_match = True if self.indexes.value.count(v) else False return d_match and g_match and v_match + + +def _match_index(idx: int | list, val: int) -> bool: + """Check if an index specification matches a value.""" + if isinstance(idx, int): + return idx == -1 or idx == val + if isinstance(idx, list): + return val in idx + return False + + +def resolve_expect_post( + expect_entries: list[dict], + d: int, + g: int, + v: int, + fork: Fork, +) -> tuple[dict, TransactionExceptionInstanceOrList | None]: + """ + Resolve expected post-state for given d, g, v and fork. + + Used by generated Python tests at runtime. The expect_entries are + materialized Python dicts with resolved addresses and Account objects. + """ + for entry in expect_entries: + indexes = entry["indexes"] + if not _match_index(indexes.get("data", -1), d): + continue + if not _match_index(indexes.get("gas", -1), g): + continue + if not _match_index(indexes.get("value", -1), v): + continue + + # Match fork against network constraints + network = entry["network"] + fork_set = ForkSet.model_validate(network) + if fork not in fork_set: + continue + + # Found matching entry + result = entry.get("result", {}) + + # Resolve exception + exception: TransactionExceptionInstanceOrList | None = None + expect_exc = entry.get("expect_exception") + if expect_exc: + for constraint_str, exc_value in expect_exc.items(): + exc_fork_set = ForkSet.model_validate( + constraint_str.split(",") + ) + if fork in exc_fork_set: + exception = exc_value + break + + return result, exception + + raise ValueError( + f"No matching expect entry for d={d}, g={g}, v={v}, fork={fork}" + ) + + +def resolve_expect_post_fork( + expect_entries: list[dict], + fork: Fork, +) -> tuple[dict, TransactionExceptionInstanceOrList | None]: + """ + Resolve expected post-state for a given fork only (no d/g/v matching). + + Used by single-case generated Python tests that have fork-dependent + post-state (multiple expect sections with different networks but only + one (d, g, v) combo). + """ + for entry in expect_entries: + # Match fork against network constraints + network = entry["network"] + fork_set = ForkSet.model_validate(network) + if fork not in fork_set: + continue + + # Found matching entry + result = entry.get("result", {}) + + # Resolve exception + exception: TransactionExceptionInstanceOrList | None = None + expect_exc = entry.get("expect_exception") + if expect_exc: + for constraint_str, exc_value in expect_exc.items(): + exc_fork_set = ForkSet.model_validate( + constraint_str.split(",") + ) + if fork in exc_fork_set: + exception = exc_value + break + + return result, exception + + raise ValueError(f"No matching expect entry for fork={fork}") diff --git a/scripts/compare_fixtures.py b/scripts/compare_fixtures.py index d59d5166033..dce70970448 100644 --- a/scripts/compare_fixtures.py +++ b/scripts/compare_fixtures.py @@ -1,18 +1,17 @@ #!/usr/bin/env python3 """ -Compare two fixture directories by post-state hashes. +Compare two fixture directories by full JSON content. -Matches fixtures across directories with different path layouts and -naming conventions: - compiled: state_tests/for_{fork}/static/state_tests/{cat}/{Name}.json - generated: state_tests/for_{fork}/ported_static/{cat}/{name}/{name}.json +Match fixtures across directories with different path layouts and naming +conventions. Fixtures are paired by (fork, normalized_name), ignoring +category directories since the same test can live in different categories +across static-fill and ported Python tests. -Fixtures are paired by (category, normalized_name) across all fork -directories. Names are normalized via the same transforms as -fixture_to_python.py so that ``addNonConst`` matches ``add_non_const``. -Post-state hashes are compared only for forks present on both sides. +When multiple files match the same (fork, name), all combinations are +tried to find a content match. -Unmatched fixtures (present on one side only) are treated as errors. +The ``_info`` field is stripped before comparison (it contains source +paths and tool metadata that legitimately differ). Usage: python scripts/compare_fixtures.py LEFT RIGHT @@ -25,107 +24,65 @@ import json import re import sys -from collections import defaultdict from pathlib import Path -# Key = (category, normalized_name) -FixtureKey = tuple[str, str] - -# Category directories start with these prefixes (case-sensitive). -# "st" is followed by an uppercase letter (stBugs, stCallCodes, ...) -# "vm" and "VM" are followed by anything (vmArith, VMTests, ...) -_CATEGORY_RE = re.compile(r"^(st[A-Z]|vm|VM)") - def _normalize_name(name: str) -> str: """ Normalize a fixture name for comparison. - Apply the same transforms as filler_name_to_test_name minus the - ``test_`` prefix: camelCase -> snake_case, replace special chars, - collapse underscores. + CamelCase -> snake_case, replace special chars, collapse underscores. """ - # CamelCase -> snake_case s = re.sub(r"([a-z0-9])([A-Z])", r"\1_\2", name) s = re.sub(r"([A-Z]+)([A-Z][a-z])", r"\1_\2", s) s = s.lower() - # Replace + and - with descriptive words before general cleanup - s = s.replace("+", "_plus_") - s = s.replace("-", "_minus_") - # Replace remaining non-alphanumeric (except _) with _ - s = re.sub(r"[^a-z0-9_]", "_", s) - # Collapse multiple underscores - s = re.sub(r"_+", "_", s) - return s.strip("_") + s = s.replace("+", "plus").replace("-", "minus") + s = re.sub(r"[^a-z0-9]", "", s) + if s.startswith("test_"): + s = s[5:] + return s -def _parse_entry(path: Path, root: Path) -> tuple[FixtureKey, str] | None: - """ - Extract ((category, normalized_name), fork) from a fixture path. +def _strip_info(obj: object) -> None: + """Recursively remove all '_info' keys.""" + if isinstance(obj, dict): + obj.pop("_info", None) + for v in obj.values(): + _strip_info(v) + elif isinstance(obj, list): + for v in obj: + _strip_info(v) - Return None if the path doesn't match a recognizable layout. - """ - parts = path.relative_to(root).parts - - # Find fork directory - fork = next((p for p in parts if p.startswith("for_")), None) - if fork is None: - return None - - # Everything between fork and the filename - fork_pos = parts.index(fork) - between = parts[fork_pos + 1 : -1] - - # Walk backwards to find the category dir - category = None - for part in reversed(between): - if _CATEGORY_RE.match(part): - category = part - break - - if category is None: - return None - - name = _normalize_name(path.stem) - # Strip leading test_ prefix so compiled "AddNonConst" and filled - # "test_add_non_const" both normalize to "add_non_const". - if name.startswith("test_"): - name = name[5:] - return ((category, name), fork) - - -def _post_hashes(path: Path) -> set[tuple[str, str]]: - """Extract the set of (fork, hash) from all post entries.""" - hashes: set[tuple[str, str]] = set() - for _key, test in json.loads(path.read_text()).items(): - for fork, entries in test.get("post", {}).items(): - for entry in entries: - h = entry.get("hash", "") - if h: - hashes.add((fork, h)) - return hashes - - -def _index( - root: Path, -) -> dict[FixtureKey, dict[str, Path]]: + +def _canonical_values(path: Path) -> list[str]: + """Load fixture, strip _info, return sorted canonical values.""" + with open(path) as f: + data = json.load(f) + _strip_info(data) + return sorted(json.dumps(v, sort_keys=True) for v in data.values()) + + +def _index(root: Path) -> dict[tuple[str, str], list[Path]]: """ - Index fixture JSONs by (category, normalized_name). + Index state_test fixtures by (fork, normalized_name). - Return {key: {fork: path, ...}} collecting all fork variants. + Return {(fork, name): [paths]} — multiple paths per key are + possible when the same test name exists in different categories. """ - idx: dict[FixtureKey, dict[str, Path]] = defaultdict(dict) + idx: dict[tuple[str, str], list[Path]] = {} for p in root.rglob("*.json"): if ".meta" in p.parts: continue - result = _parse_entry(p, root) - if result is None: + rel = str(p.relative_to(root)) + if not rel.startswith("state_tests/"): + continue + m = re.search(r"for_(\w+)/", rel) + if not m: continue - key, fork = result - # Keep first file per (key, fork) - if fork not in idx[key]: - idx[key][fork] = p - return dict(idx) + fork = m.group(1) + name = _normalize_name(p.stem) + idx.setdefault((fork, name), []).append(p) + return idx def compare( @@ -134,102 +91,66 @@ def compare( *, show_missing: bool = False, ) -> int: - """Compare two fixture directories. Return number of errors.""" + """Compare two fixture directories by full JSON content.""" left_idx = _index(left) right_idx = _index(right) - common = sorted(set(left_idx) & set(right_idx)) + common_keys = sorted(set(left_idx) & set(right_idx)) only_left = sorted(set(left_idx) - set(right_idx)) only_right = sorted(set(right_idx) - set(left_idx)) - mismatches = 0 - no_common_fork = 0 - - for key in common: - l_forks = left_idx[key] - r_forks = right_idx[key] - shared_forks = set(l_forks) & set(r_forks) - - if not shared_forks: - # No common fork dirs — compare post hashes by fork name - # inside the JSON (the JSON contains per-fork post entries - # regardless of which for_X directory it sits in). - lh: set[tuple[str, str]] = set() - for p in l_forks.values(): - lh |= _post_hashes(p) - rh: set[tuple[str, str]] = set() - for p in r_forks.values(): - rh |= _post_hashes(p) - - # Find forks present in both JSONs - l_fork_names = {f for f, _ in lh} - r_fork_names = {f for f, _ in rh} - common_forks = l_fork_names & r_fork_names - - if not common_forks: - no_common_fork += 1 - continue - - lh_f = {(f, h) for f, h in lh if f in common_forks} - rh_f = {(f, h) for f, h in rh if f in common_forks} - - if lh_f != rh_f: - mismatches += 1 - print(f"MISMATCH {'/'.join(key)} (cross-fork)") - diff_l = lh_f - rh_f - diff_r = rh_f - lh_f - print( - f" {len(diff_l)} only in left," - f" {len(diff_r)} only in right" - ) + matched = 0 + mismatched = 0 + mismatch_details: list[str] = [] + + for key in common_keys: + l_paths = left_idx[key] + r_paths = right_idx[key] + + # Try all path combinations to find a content match + found = False + for lp in l_paths: + for rp in r_paths: + try: + if _canonical_values(lp) == _canonical_values(rp): + found = True + break + except Exception: + pass + if found: + break + + if found: + matched += 1 else: - # Compare within shared fork directories - for fork in sorted(shared_forks): - lh_s = _post_hashes(l_forks[fork]) - rh_s = _post_hashes(r_forks[fork]) - if lh_s != rh_s: - mismatches += 1 - print(f"MISMATCH {'/'.join(key)} ({fork})") - print(f" left: {l_forks[fork]}") - print(f" right: {r_forks[fork]}") - diff_l = lh_s - rh_s - diff_r = rh_s - lh_s - print( - f" {len(diff_l)} only in left," - f" {len(diff_r)} only in right" - ) - - total = len(common) - matched = total - mismatches - no_common_fork - # Mismatches and left-only (missing from generated) are errors. - # Right-only (extra generated, e.g. fork-specific fillers) are - # warnings — the generated side may legitimately have tests that - # the compiled reference lacks. - errors = mismatches + len(only_left) - - print() - print(f"Paired: {total}") - print(f"Matched: {matched}/{total}") - if mismatches: - print(f"Mismatched: {mismatches}") - if no_common_fork: - print(f"No common fork to compare: {no_common_fork}") - if only_left: - print(f"Left only: {len(only_left)} (ERROR)") - if only_right: - print(f"Right only: {len(only_right)}") + mismatched += 1 + fork, name = key + mismatch_details.append(f"{fork}/{name}") + + # Left-only fixtures are errors (missing from right). + errors = mismatched + len(only_left) + + print(f"Paired: {len(common_keys)}") + print(f"Matched: {matched}/{len(common_keys)}") + if mismatched: + print(f"Mismatched: {mismatched}") + print(f"Left only: {len(only_left)}") + print(f"Right only: {len(only_right)}") if errors: print(f"\nERRORS: {errors}") else: print("\nOK") - if show_missing and only_left: + if mismatch_details: + print(f"\n-- Mismatched ({len(mismatch_details)}) --") + for d in mismatch_details: + print(f" {d}") + + if show_missing: print(f"\n-- Only in {left} ({len(only_left)}) --") for key in only_left: print(f" {'/'.join(key)}") - - if show_missing and only_right: print(f"\n-- Only in {right} ({len(only_right)}) --") for key in only_right: print(f" {'/'.join(key)}") @@ -238,16 +159,19 @@ def compare( def main() -> None: - """Compare two fixture directories by post-state hashes.""" + """Compare two fixture directories by full JSON content.""" parser = argparse.ArgumentParser( - description="Compare fixture directories by post-state hashes.", + description=( + "Compare fixture directories by full JSON content " + "(stripping _info, sorting keys)." + ), ) parser.add_argument("left", type=Path) parser.add_argument("right", type=Path) parser.add_argument( "--show-missing", action="store_true", - help="List fixtures that exist in only one directory", + help="List fixtures present in only one directory", ) args = parser.parse_args() result = compare(args.left, args.right, show_missing=args.show_missing) diff --git a/scripts/filler_to_python/__init__.py b/scripts/filler_to_python/__init__.py new file mode 100644 index 00000000000..359373d411c --- /dev/null +++ b/scripts/filler_to_python/__init__.py @@ -0,0 +1 @@ +"""Convert static filler YAML/JSON to Python test files.""" diff --git a/scripts/filler_to_python/__main__.py b/scripts/filler_to_python/__main__.py new file mode 100644 index 00000000000..e12d9b21053 --- /dev/null +++ b/scripts/filler_to_python/__main__.py @@ -0,0 +1,275 @@ +"""CLI entry point: load -> analyze -> render -> format -> write.""" + +from __future__ import annotations + +import argparse +import ast +import logging +import os +import re +import subprocess +import sys +from pathlib import Path + +from .analyzer import analyze, load_filler +from .render import render_test + +logger = logging.getLogger(__name__) + + +def post_format(source: str) -> str: + """Format generated Python source with ruff.""" + # ruff format + try: + result = subprocess.run( + ["ruff", "format", "--stdin-filename", "test.py", "-"], + input=source, + capture_output=True, + text=True, + env={**os.environ, "RUST_MIN_STACK": "8388608"}, + ) + if result.returncode == 0: + source = result.stdout + except FileNotFoundError: + pass # ruff not installed + + # ruff check --fix (accept output even with remaining unfixable issues) + try: + result = subprocess.run( + [ + "ruff", + "check", + "--fix", + "--stdin-filename", + "test.py", + "-", + ], + input=source, + capture_output=True, + text=True, + env={**os.environ, "RUST_MIN_STACK": "8388608"}, + ) + if result.stdout: + source = result.stdout + except FileNotFoundError: + pass + + # Add # noqa for generated code issues that can't be auto-fixed. + # Track docstring boundaries to avoid adding noqa inside docstrings. + lines = source.split("\n") + fixed_lines: list[str] = [] + in_docstring = False + for line in lines: + stripped = line.rstrip() + if '"""' in stripped: + count = stripped.count('"""') + if count == 1: + in_docstring = not in_docstring + # count == 2 means open+close on same line, no state change + if in_docstring: + fixed_lines.append(line) + continue + noqa_parts: list[str] = [] + if len(stripped) > 79: + noqa_parts.append("E501") + # F841: deploy_contract assigns to variables used in expect dicts + if "= pre.deploy_contract(" in stripped: + noqa_parts.append("F841") + if noqa_parts and "# noqa" not in stripped: + codes = ", ".join(noqa_parts) + fixed_lines.append(f"{stripped} # noqa: {codes}") + else: + fixed_lines.append(line) + source = "\n".join(fixed_lines) + + return source + + +def _filler_name_to_filename(stem: str) -> str: + """Convert filler stem to output filename.""" + name = re.sub(r"Filler$", "", stem) + # camel_to_snake + s = re.sub(r"([a-z0-9])([A-Z])", r"\1_\2", name) + s = re.sub(r"([A-Z]+)([A-Z][a-z])", r"\1_\2", s) + result = s.lower() + result = result.replace("+", "_plus_") + result = result.replace("-", "_minus_") + result = re.sub(r"[^a-z0-9_]", "_", result) + result = re.sub(r"_+", "_", result) + return "test_" + result.strip("_") + ".py" + + +def discover_fillers(fillers_dir: Path) -> list[Path]: + """Walk a directory for *Filler.yml and *Filler.json files.""" + found: list[Path] = [] + for root, _dirs, files in os.walk(fillers_dir): + for f in sorted(files): + if f.endswith("Filler.yml") or f.endswith("Filler.json"): + found.append(Path(root) / f) + return found + + +def process_single_filler( + filler_path: Path, + fillers_base: Path, + output_dir: Path, + dry_run: bool = False, +) -> str: + """ + Process one filler file. + + Return "ok", "fail", or "warn". + """ + try: + # Relative path for the generated test's ported_from marker + try: + rel_path = filler_path.relative_to(fillers_base.parent) + except ValueError: + rel_path = filler_path + + # Load + test_name, model = load_filler(filler_path) + + # Analyze + ir = analyze(test_name, model, rel_path) + + # Render + source = render_test(ir) + + # Verify syntax + try: + ast.parse(source) + except SyntaxError as e: + logger.error( + "Syntax error in generated code for %s: %s", + filler_path, + e, + ) + return "fail" + + # Format + source = post_format(source) + + if dry_run: + print(f"[DRY-RUN] {filler_path} -> {ir.test_name}") + return "ok" + + # Write + category = rel_path.parts[-2] if len(rel_path.parts) >= 2 else "" + out_subdir = output_dir / category + out_subdir.mkdir(parents=True, exist_ok=True) + + # Write __init__.py if needed + init_file = out_subdir / "__init__.py" + if not init_file.exists(): + init_file.write_text( + f'"""Ported static tests: {category}.""" # noqa: N999\n' + ) + + out_file = out_subdir / _filler_name_to_filename(filler_path.stem) + out_file.write_text(source) + logger.info("OK: %s -> %s", filler_path.name, out_file) + return "ok" + + except Exception as e: + logger.error("FAIL: %s: %s", filler_path, e) + if logger.isEnabledFor(logging.DEBUG): + logger.debug("Traceback:", exc_info=True) + return "fail" + + +def main() -> None: + """Run the filler-to-python pipeline.""" + parser = argparse.ArgumentParser( + description="Convert static filler YAML/JSON to Python test files." + ) + parser.add_argument( + "--fillers", + type=Path, + required=True, + help="Directory containing *Filler.yml/*.json files.", + ) + parser.add_argument( + "--output", + type=Path, + required=True, + help="Output directory for generated .py test files.", + ) + parser.add_argument( + "--single", + type=Path, + default=None, + help="Process a single filler file instead of the whole directory.", + ) + parser.add_argument( + "--filter", + type=Path, + default=None, + help="Only convert fillers listed in this file (one path per line).", + ) + parser.add_argument( + "--dry-run", + action="store_true", + help="Parse and analyze but don't write files.", + ) + parser.add_argument( + "-v", + "--verbose", + action="store_true", + help="Enable verbose logging.", + ) + + args = parser.parse_args() + + logging.basicConfig( + level=logging.DEBUG if args.verbose else logging.INFO, + format="%(levelname)s: %(message)s", + ) + + if args.single: + filler_paths = [args.single] + else: + if not args.fillers.is_dir(): + logger.error("--fillers must be a directory: %s", args.fillers) + sys.exit(1) + filler_paths = discover_fillers(args.fillers) + + # Apply filter + if args.filter: + allowed = set() + for line in args.filter.read_text().splitlines(): + line = line.strip() + if line and not line.startswith("#"): + allowed.add(line) + filler_paths = [ + p for p in filler_paths if str(p) in allowed or p.name in allowed + ] + + if not filler_paths: + logger.warning("No filler files found.") + sys.exit(0) + + logger.info("Processing %d filler(s)...", len(filler_paths)) + + counts = {"ok": 0, "fail": 0, "warn": 0} + for filler_path in filler_paths: + status = process_single_filler( + filler_path, + args.fillers, + args.output, + dry_run=args.dry_run, + ) + counts[status] += 1 + + # Summary + total = sum(counts.values()) + print( + f"\nDone: {counts['ok']}/{total} OK, " + f"{counts['fail']} failed, {counts['warn']} warnings" + ) + if counts["fail"] > 0: + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/scripts/filler_to_python/analyzer.py b/scripts/filler_to_python/analyzer.py new file mode 100644 index 00000000000..e780f883294 --- /dev/null +++ b/scripts/filler_to_python/analyzer.py @@ -0,0 +1,1217 @@ +"""Analyze a parsed filler model and produce codegen IR.""" + +from __future__ import annotations + +import json +import logging +import re +import warnings +from pathlib import Path +from typing import Any + +import yaml +from execution_testing.base_types import Address +from execution_testing.base_types import Hash as EHash +from execution_testing.cli.evm_bytes import process_evm_bytes_string +from execution_testing.exceptions import TransactionException +from execution_testing.forks import get_forks +from execution_testing.specs import StateStaticTest +from execution_testing.specs.static_state.common import Tag, TagDict +from execution_testing.specs.static_state.common.tags import ( + ContractTag, + SenderKeyTag, + SenderTag, +) +from execution_testing.specs.static_state.expect_section import ( + ForkSet, +) +from execution_testing.specs.static_state.general_transaction import ( + GeneralTransactionInFiller, +) +from execution_testing.test_types import ( + EOA, + Alloc, + compute_create_address, + eoa_from_hash, +) +from execution_testing.vm import Op + +from .ir import ( + AccessListEntryIR, + AccountAssertionIR, + AccountIR, + EnvironmentIR, + ExpectEntryIR, + ImportsIR, + IntermediateTestModel, + ParameterCaseIR, + SenderIR, + TransactionIR, +) + +try: + from execution_testing.cli.pytest_commands.plugins.filler.static_filler import ( # noqa: E501 + NoIntResolver, + ) +except ImportError: + import yaml as _yaml + + class NoIntResolver(_yaml.SafeLoader): # type: ignore[no-redef] + """Fallback NoIntResolver.""" + + pass + + +logger = logging.getLogger(__name__) + +MAX_BYTECODE_OP_SIZE = 24576 +SLOW_CATEGORIES = { + "stQuadraticComplexityTest", + "stStaticCall", + "stTimeConsuming", +} + + +class _AnalyzerAlloc(Alloc): + """Alloc subclass that supports fund_eoa for analysis.""" + + _eoa_counter: int = 0 + + def fund_eoa( + self, + _amount: Any = None, + _label: Any = None, + **_kwargs: Any, + ) -> EOA: + """Create a deterministic EOA for analysis.""" + self._eoa_counter += 1 + h = EHash(self._eoa_counter.to_bytes(32, "big")) + return eoa_from_hash(h, 0) + + +# --------------------------------------------------------------------------- +# Public API +# --------------------------------------------------------------------------- + + +def load_filler(path: Path) -> tuple[str, StateStaticTest]: + """Load a filler file and return (test_name, validated model).""" + with open(path) as f: + if path.suffix == ".json": + data = json.load(f) + else: + data = yaml.load(f, Loader=NoIntResolver) + + test_name = next(iter(data)) + model = StateStaticTest.model_validate(data[test_name]) + model.test_name = test_name + return test_name, model + + +def analyze( + test_name: str, + model: StateStaticTest, + filler_path: Path, +) -> IntermediateTestModel: + """Analyze a parsed filler model and produce codegen IR.""" + # 1. Gather all tag dependencies + all_deps: dict[str, Tag] = {} + all_deps.update(model.transaction.tag_dependencies()) + for expect in model.expect: + all_deps.update(expect.result.tag_dependencies()) + imports = ImportsIR() + + # 2. Resolve tags via pre-state setup + pre = _AnalyzerAlloc() + tags = model.pre.setup(pre, all_deps) + + # 3. Fork range (must sort chronologically, not alphabetically) + all_fork_names = [str(f) for f in sorted(get_forks())] + valid_forks_set = set(model.get_valid_at_forks()) + valid_forks_chrono = [f for f in all_fork_names if f in valid_forks_set] + valid_from = valid_forks_chrono[0] if valid_forks_chrono else "Cancun" + + valid_until: str | None = None + if valid_forks_chrono and valid_forks_chrono[-1] != all_fork_names[-1]: + valid_until = valid_forks_chrono[-1] + + # 4. Category from filler path + category = filler_path.parent.name if filler_path.parent.name else "" + + # 5. Build address -> variable name mapping + addr_to_var = _assign_variable_names(model, tags) + + # 6. Identify sender + sender_ir, sender_tag_name = _build_sender_ir(model, tags) + + # 7. Build TX arrays + probably_bytecode = model.transaction.to is None + tx_data, tx_gas, tx_value = _build_tx_arrays( + model.transaction, + tags, + addr_to_var, + probably_bytecode, + imports, + ) + + # 8. Parameter matrix + parameters = _build_parameters(model) + is_multi_case = len(parameters) > 1 + + # Detect fork-dependent single-case tests (multiple expect sections + # with different networks but only one (d, g, v) combo) + is_fork_dependent = not is_multi_case and len(model.expect) > 1 + + # 9. Build accounts + accounts = _build_accounts( + model, tags, addr_to_var, sender_tag_name, imports + ) + + # Track if sender is not in the pre-state (for fund_eoa handling). + # When True, the generated test uses pre.fund_eoa(amount=0) instead + # of EOA(key=...), matching the static fill's setup() step 7. + if sender_tag_name and not any(a.is_sender for a in accounts): + sender_ir.not_in_pre = True + + # 10. Build environment + environment_ir = _build_environment(model, tags, addr_to_var) + + # 11. Build expect entries + expect_entries = _build_expect_entries( + model, tags, addr_to_var, all_fork_names, imports + ) + + # 12. Build transaction IR + transaction_ir, access_list_entries = _build_transaction_ir( + model, + tags, + addr_to_var, + tx_data, + tx_gas, + tx_value, + is_multi_case, + imports, + ) + + # 13. Address constants (non-tagged, non-sender addresses) + address_constants = _build_address_constants( + model, tags, addr_to_var, sender_tag_name + ) + + # 14. Import flags + if access_list_entries or any( + model.transaction.data[d.index].access_list is not None + for d in model.transaction.data + ): + imports.needs_access_list = True + + if ( + imports.needs_access_list + or model.transaction.blob_versioned_hashes is not None + ): + imports.needs_hash = True + + if any(p.has_exception for p in parameters): + imports.needs_tx_exception = True + + # 15. Filler comment + filler_comment = "" + if model.info and model.info.comment: + filler_comment = model.info.comment + + # 16. Test name + py_test_name = _filler_name_to_test_name(test_name) + + return IntermediateTestModel( + test_name=py_test_name, + filler_path=str(filler_path), + filler_comment=filler_comment, + category=category, + valid_from=valid_from, + valid_until=valid_until, + is_slow=( + (model.info is not None and "slow" in model.info.pytest_marks) + or category in SLOW_CATEGORIES + ), + is_multi_case=is_multi_case, + is_fork_dependent=is_fork_dependent, + environment=environment_ir, + accounts=accounts, + sender=sender_ir, + parameters=parameters, + transaction=transaction_ir, + expect_entries=expect_entries, + address_constants=address_constants, + tx_data=tx_data, + tx_gas=tx_gas, + tx_value=tx_value, + imports=imports, + ) + + +# --------------------------------------------------------------------------- +# Private helpers +# --------------------------------------------------------------------------- + + +def _camel_to_snake(name: str) -> str: + """Convert CamelCase to snake_case.""" + s = re.sub(r"([a-z0-9])([A-Z])", r"\1_\2", name) + s = re.sub(r"([A-Z]+)([A-Z][a-z])", r"\1_\2", s) + return s.lower() + + +def _filler_name_to_test_name(filler_stem: str) -> str: + """Convert filler stem to Python test function name.""" + name = re.sub(r"Filler$", "", filler_stem) + result = "test_" + _camel_to_snake(name) + result = result.replace("+", "_plus_") + result = result.replace("-", "_minus_") + result = re.sub(r"[^a-z0-9_]", "_", result) + result = re.sub(r"_+", "_", result) + return result.strip("_") + + +def _classify_code_source(source: str) -> str: + """Classify code source and format as a comment block.""" + if not source or source.strip() == "": + return "" + + stripped = source.strip() + + if stripped.startswith(":yul"): + lang = "yul" + body = stripped[4:].strip() + elif stripped.startswith("{") or stripped.startswith("(asm"): + lang = "lll" + body = stripped + elif stripped.startswith(":abi"): + lang = "abi" + body = stripped[4:].strip() + elif stripped.startswith(":raw"): + lang = "raw" + body = stripped[4:].strip() + elif stripped.startswith("0x"): + lang = "hex" + body = stripped + else: + lang = "unknown" + body = stripped + + lines = body.split("\n") + if len(lines) > 30: + lines = lines[:30] + [f"... ({len(lines) - 30} more lines)"] + + comment_lines = [f" # Source: {lang}"] + for line in lines: + comment_lines.append(f" # {line}") + return "\n".join(comment_lines) + + +def _get_int_definitions( + addr_to_var: dict[Address | EOA, str] | None, +) -> dict[int, str]: + """ + Convert variable dictionary to int definitions used by the evm bytecode + parser. + """ + result: dict[int, str] = {} + if not addr_to_var: + return result + for k, v in addr_to_var.items(): + result[int.from_bytes(k, "big")] = v + return result + + +def _bytes_to_op_expr( + code_bytes: bytes, + addr_to_var: dict[Address | EOA, str] | None = None, +) -> str | None: + """Convert compiled bytecode to Op expression string.""" + if not code_bytes or len(code_bytes) > MAX_BYTECODE_OP_SIZE: + return None + + hex_str = code_bytes.hex() + if not hex_str: + return None + + try: + int_definitions = _get_int_definitions(addr_to_var) + op_str = process_evm_bytes_string( + hex_str, + assembly=False, + int_definitions=int_definitions, + ) + # Roundtrip check + compiled = eval( + op_str, {"Op": Op}, {v: k for k, v in int_definitions.items()} + ) # noqa: S307 + if compiled.hex() != hex_str.lower(): + return None + return op_str + except Exception: + return None + + +def _assign_variable_names( + model: StateStaticTest, tags: TagDict +) -> dict[Address | EOA, str]: + """Build address -> variable name mapping.""" + addr_to_var: dict[Address | EOA, str] = {} + contract_counter = 0 + + # Coinbase + coinbase_addr: Address | None = None + if isinstance(model.env.current_coinbase, Tag): + tag_name = model.env.current_coinbase.name + if tag_name in tags: + coinbase_addr = tags[tag_name] + else: + coinbase_addr = model.env.current_coinbase + + if coinbase_addr: + addr_to_var[coinbase_addr] = "coinbase" + + # Sender + sender_addr: Address | EOA | None = None + if isinstance(model.transaction.secret_key, SenderKeyTag): + tag_name = model.transaction.secret_key.name + if tag_name in tags: + sender_addr = tags[tag_name] + else: + # Non-tagged sender: derive address from key + sender_addr = EOA(key=model.transaction.secret_key) + + if sender_addr: + addr_to_var[sender_addr] = "sender" + + # Tagged pre-state accounts + for address_or_tag, _account in model.pre.root.items(): + if isinstance(address_or_tag, Tag): + tag_name = address_or_tag.name + if tag_name in tags: + addr = tags[tag_name] + if addr not in addr_to_var: + var_name = _sanitize_var_name( + tag_name, set(addr_to_var.values()) + ) + addr_to_var[addr] = var_name + + # Non-tagged pre-state accounts + for address_or_tag, _account in model.pre.root.items(): + if not isinstance(address_or_tag, Tag): + if address_or_tag not in addr_to_var: + var_name = f"contract_{contract_counter}" + contract_counter += 1 + addr_to_var[address_or_tag] = var_name + + # Transaction "to" address + if model.transaction.to is not None: + if isinstance(model.transaction.to, Tag): + tag_name = model.transaction.to.name + if tag_name in tags: + to_addr = tags[tag_name] + if to_addr not in addr_to_var: + var_name = _sanitize_var_name( + tag_name, set(addr_to_var.values()) + ) + addr_to_var[to_addr] = var_name + + return addr_to_var + + +def _sanitize_var_name(name: str, used: set[str]) -> str: + """Sanitize a tag name into a valid Python variable name.""" + var = re.sub(r"[^a-zA-Z0-9_]", "_", name) + var = re.sub(r"_+", "_", var).strip("_").lower() + if re.match(r"0x[0-9a-f]{40}", var): + # Some tagged tests use addresses as tags, which is confusing, remove + var = "addr" + if not var or var[0].isdigit(): + var = "addr_" + var + # Avoid Python keywords and builtins + _reserved = { + "type", + "hash", + "id", + "input", + "range", + "list", + "dict", + "return", + "class", + "def", + "for", + "if", + "else", + "elif", + "while", + "break", + "continue", + "pass", + "import", + "from", + "as", + "with", + "try", + "except", + "finally", + "raise", + "yield", + "lambda", + "global", + "nonlocal", + "assert", + "del", + "in", + "is", + "not", + "and", + "or", + "True", + "False", + "None", + "async", + "await", + "print", + "exec", + "eval", + "open", + "map", + "filter", + "set", + "bytes", + "int", + "str", + "float", + "bool", + "object", + "super", + "property", + "staticmethod", + "classmethod", + "abs", + "all", + "any", + "bin", + "hex", + "oct", + "len", + "max", + "min", + "pow", + "sum", + "zip", + } + if var in _reserved: + var = var + "_" + base = var + counter = 2 + while var in used: + var = f"{base}_{counter}" + counter += 1 + return var + + +def _addr_hex(addr: Address | EOA) -> str: + """Normalize an address-like value to hex string.""" + hex_str = str(addr)[2:].lstrip("0") + if hex_str == "": + hex_str = "0" + return f"0x{hex_str}" + + +def _build_sender_ir( + model: StateStaticTest, tags: TagDict +) -> tuple[SenderIR, str | None]: + """Build SenderIR and return (sender_ir, sender_tag_name).""" + if isinstance(model.transaction.secret_key, SenderKeyTag): + tag_name = model.transaction.secret_key.name + # Get the filler-derived key from tags (eoa_from_hash result) + resolved = tags.get(tag_name) + if isinstance(resolved, EOA): + key = resolved.key + assert key is not None + key_int = int.from_bytes(key, "big") + else: + key_int = 0 + # Find sender balance from pre-state + balance = 0 + for address_or_tag, account in model.pre.root.items(): + if isinstance(address_or_tag, SenderTag): + if address_or_tag.name == tag_name: + balance = int(account.balance) if account.balance else 0 + break + return ( + SenderIR(is_tagged=False, key=key_int, balance=balance), + tag_name, + ) + else: + # Find sender balance from pre-state + eoa = EOA(key=model.transaction.secret_key) + sender_addr = _addr_hex(eoa) + balance = 0 + for address_or_tag, account in model.pre.root.items(): + if not isinstance(address_or_tag, Tag): + if _addr_hex(address_or_tag) == sender_addr: + balance = int(account.balance) if account.balance else 0 + break + return SenderIR( + is_tagged=False, + key=int.from_bytes(eoa.key, "big"), + balance=balance, + ), None + + +def _build_parameters(model: StateStaticTest) -> list[ParameterCaseIR]: + """Build the (d, g, v) parameter matrix.""" + parameters: list[ParameterCaseIR] = [] + for d in model.transaction.data: + for g in range(len(model.transaction.gas_limit)): + for v in range(len(model.transaction.value)): + has_exc = False + for expect in model.expect: + if ( + expect.has_index(d.index, g, v) + and expect.expect_exception is not None + ): + has_exc = True + + # Build ID label (same logic as fill_function) + id_label = "" + if len(model.transaction.data) > 1 or d.label is not None: + if d.label is not None: + id_label = f"{d}" + else: + id_label = f"d{d}" + if len(model.transaction.gas_limit) > 1: + id_label += f"-g{g}" + if len(model.transaction.value) > 1: + id_label += f"-v{v}" + + marks = "pytest.mark.exception_test" if has_exc else None + + parameters.append( + ParameterCaseIR( + d=d.index, + g=g, + v=v, + has_exception=has_exc, + label=d.label, + id=id_label, + marks=marks, + ) + ) + return parameters + + +def _build_accounts( + model: StateStaticTest, + tags: TagDict, + addr_to_var: dict[Address | EOA, str], + sender_tag_name: str | None, + imports: ImportsIR, +) -> list[AccountIR]: + """Build AccountIR list. Return (accounts, needs_op_import).""" + accounts: list[AccountIR] = [] + + for address_or_tag, account in model.pre.root.items(): + is_tagged = isinstance(address_or_tag, Tag) + # SenderTag type is always EOA, ContractTag is always contract + is_eoa = isinstance(address_or_tag, SenderTag) if is_tagged else False + is_sender = False + + if is_tagged: + tag_name = address_or_tag.name + if sender_tag_name and tag_name == sender_tag_name: + is_sender = True + is_eoa = True + resolved = tags.get(tag_name) + var_name = ( + addr_to_var.get(resolved, tag_name) + if resolved is not None + else tag_name + ) + address = resolved + else: + address_str = str(address_or_tag) + var_name = addr_to_var.get( + address_or_tag, f"addr_{address_str[:10]}" + ) + # Check if this non-tagged address is the sender + if addr_to_var.get(address_or_tag) == "sender": + is_sender = True + is_eoa = True + address = address_or_tag + + assert not var_name.startswith("0x") + + # Determine if non-tagged account has code (is a contract) + has_code = account.code is not None and account.code.source.strip() + if not is_tagged and not is_eoa and not has_code: + # Non-tagged, no code — treat as EOA + is_eoa = True + + # Code processing + source_comment = "" + code_expr = "" + oversized_code = False + if has_code: + source_comment = _classify_code_source(account.code.source) + try: + code_bytes = account.code.compiled(tags) + if len(code_bytes) > MAX_BYTECODE_OP_SIZE: + oversized_code = True + # TODO: To add `addr_to_var` here, we need to resolve + # dependency order. + op_expr = _bytes_to_op_expr(code_bytes) + if op_expr: + code_expr = op_expr + imports.needs_op = True + elif code_bytes: + code_expr = f'bytes.fromhex("{code_bytes.hex()}")' + except Exception as e: + warnings.warn( + f"Code compilation failed for {var_name}: {e}", + stacklevel=2, + ) + code_expr = 'b""' + + # Storage + storage: dict[int, int] = {} + if account.storage and account.storage.root: + resolved_storage = account.storage.resolve(tags) + for k, v in resolved_storage.items(): + storage[int(k)] = int(v) + + # Balance and nonce + balance = int(account.balance) if account.balance is not None else 0 + nonce = int(account.nonce) if account.nonce is not None else None + + accounts.append( + AccountIR( + var_name=var_name, + is_tagged=is_tagged, + is_eoa=is_eoa, + is_sender=is_sender, + balance=balance, + nonce=nonce, + address=address, + source_comment=source_comment, + code_expr=code_expr, + storage=storage, + oversized_code=oversized_code, + ) + ) + + return accounts + + +def _build_environment( + model: StateStaticTest, + tags: TagDict, + addr_to_var: dict[Address | EOA, str], +) -> EnvironmentIR: + """Build EnvironmentIR.""" + # Resolve coinbase + if isinstance(model.env.current_coinbase, Tag): + tag_name = model.env.current_coinbase.name + resolved = tags.get(tag_name) + coinbase_var = ( + addr_to_var.get(resolved, tag_name) if resolved else tag_name + ) + else: + coinbase_var = addr_to_var.get(model.env.current_coinbase, "coinbase") + + return EnvironmentIR( + coinbase_var=coinbase_var, + number=int(model.env.current_number), + timestamp=int(model.env.current_timestamp), + difficulty=( + int(model.env.current_difficulty) + if model.env.current_difficulty is not None + else None + ), + prev_randao=( + int(model.env.current_random) + if model.env.current_random is not None + else None + ), + base_fee_per_gas=( + int(model.env.current_base_fee) + if model.env.current_base_fee is not None + else None + ), + excess_blob_gas=( + int(model.env.current_excess_blob_gas) + if model.env.current_excess_blob_gas is not None + else None + ), + gas_limit=int(model.env.current_gas_limit), + ) + + +def _fork_set_to_constraints( + fork_set: ForkSet, all_fork_names: list[str] +) -> list[str]: + """Reconstruct constraint strings from an expanded ForkSet.""" + set_fork_names = sorted( + [str(f) for f in fork_set], + key=lambda f: all_fork_names.index(f) if f in all_fork_names else 999, + ) + + if not set_fork_names: + return [] + + if len(set_fork_names) == 1: + return [set_fork_names[0]] + + # Try to detect contiguous ranges + groups: list[list[str]] = [] + group: list[str] = [set_fork_names[0]] + for i in range(1, len(set_fork_names)): + curr_idx = all_fork_names.index(set_fork_names[i]) + prev_idx = all_fork_names.index(set_fork_names[i - 1]) + if curr_idx == prev_idx + 1: + group.append(set_fork_names[i]) + else: + groups.append(group) + group = [set_fork_names[i]] + groups.append(group) + + constraints: list[str] = [] + for g in groups: + if len(g) == 1: + constraints.append(g[0]) + else: + last_idx = all_fork_names.index(g[-1]) + if last_idx == len(all_fork_names) - 1: + constraints.append(f">={g[0]}") + else: + next_fork = all_fork_names[last_idx + 1] + constraints.append(f">={g[0]}<{next_fork}") + return constraints + + +def _format_exception_value( + exc: Any, +) -> str: + """Format a TransactionException value as a Python expression string.""" + if isinstance(exc, list): + parts = [f"TransactionException.{e.name}" for e in exc] + return "[" + ", ".join(parts) + "]" + if isinstance(exc, TransactionException): + return f"TransactionException.{exc.name}" + return str(exc) + + +def _build_expect_entries( + model: StateStaticTest, + tags: TagDict, + addr_to_var: dict[Address | EOA, str], + all_fork_names: list[str], + imports: ImportsIR, +) -> list[ExpectEntryIR]: + """Build ExpectEntryIR list.""" + entries: list[ExpectEntryIR] = [] + + for expect in model.expect: + # Indexes + indexes = { + "data": expect.indexes.data, + "gas": expect.indexes.gas, + "value": expect.indexes.value, + } + + # Network constraints + network = _fork_set_to_constraints(expect.network, all_fork_names) + + # Result: resolve and map to assertions + result_assertions: list[AccountAssertionIR] = [] + for address_or_tag, account_expect in expect.result.root.items(): + if isinstance(address_or_tag, Tag): + # Use resolve() for all tags — handles CreateTag's + # address derivation (compute_create_address etc.) + try: + addr = address_or_tag.resolve(tags) + var_ref = _resolve_address(addr, addr_to_var, imports) + except (KeyError, AssertionError): + tag_name = address_or_tag.name + addr = tags.get(tag_name, tag_name) + assert not isinstance(addr, str) + var_ref = _resolve_address(addr, addr_to_var, imports) + else: + var_ref = _resolve_address( + address_or_tag, addr_to_var, imports + ) + + if account_expect is None: + # shouldnotexist + result_assertions.append( + AccountAssertionIR( + var_ref=var_ref, + should_not_exist=True, + ) + ) + continue + + # Storage (including ANY keys) + storage: dict[int, int] | None = None + storage_any_keys: list[int] = [] + if account_expect.storage is not None: + storage = {} + resolved_storage = account_expect.storage.resolve(tags) + for k, v in resolved_storage.items(): + storage[int(k)] = int(v) + # Capture ANY keys from _any_map + if hasattr(resolved_storage, "_any_map"): + for k in resolved_storage._any_map: + storage_any_keys.append(int(k)) + + # Code + code: bytes | None = None + if account_expect.code is not None: + try: + code = account_expect.code.compiled(tags) + except Exception: + pass + + result_assertions.append( + AccountAssertionIR( + var_ref=var_ref, + storage=storage, + storage_any_keys=storage_any_keys, + code=code, + balance=( + int(account_expect.balance) + if account_expect.balance is not None + else None + ), + nonce=( + int(account_expect.nonce) + if account_expect.nonce is not None + else None + ), + ) + ) + + # Exception + expect_exc: dict[str, str] | None = None + if expect.expect_exception is not None: + expect_exc = {} + for fork_set_key in expect.expect_exception: + constraint_strs = _fork_set_to_constraints( + fork_set_key, all_fork_names + ) + constraint_key = ",".join(constraint_strs) + exc_value = expect.expect_exception.root[fork_set_key] + expect_exc[constraint_key] = _format_exception_value(exc_value) + + entries.append( + ExpectEntryIR( + indexes=indexes, + network=network, + result=result_assertions, + expect_exception=expect_exc, + ) + ) + + return entries + + +def _build_transaction_ir( + model: StateStaticTest, + tags: TagDict, + addr_to_var: dict[Address | EOA, str], + tx_data: list[str], + tx_gas: list[int], + tx_value: list[int], + is_multi_case: bool, + imports: ImportsIR, +) -> tuple[TransactionIR, list[AccessListEntryIR]]: + """Build TransactionIR. Return (transaction_ir, access_list_entries).""" + # Resolve "to" + to_var: str | None = None + to_is_none = False + if model.transaction.to is None: + to_is_none = True + elif isinstance(model.transaction.to, Tag): + tag_name = model.transaction.to.name + resolved = tags.get(tag_name) + if resolved: + to_var = addr_to_var.get(resolved, tag_name) + else: + to_var = tag_name + else: + to_var = _resolve_address(model.transaction.to, addr_to_var, imports) + + # Access lists — check if they vary per data entry + access_list_entries: list[AccessListEntryIR] = [] + per_data_access_lists: dict[int, list[AccessListEntryIR]] | None = None + + def _resolve_access_list(data_box_al): + entries = [] + for al_entry in data_box_al: + if isinstance(al_entry.address, Tag): + resolved_al = al_entry.address.resolve(tags) + al_addr = str(Address(resolved_al)) + else: + al_addr = str(al_entry.address) + al_keys = [str(k) for k in al_entry.storage_keys] + entries.append( + AccessListEntryIR(address=al_addr, storage_keys=al_keys) + ) + return entries + + # Check if any data entry has access lists + has_any_al = any( + model.transaction.data[d.index].access_list is not None + for d in model.transaction.data + ) + if has_any_al and is_multi_case: + # Build per-data access list map. + # Include entries where access_list is not None (even if empty []) + # because access_list=[] makes the tx type-2 (EIP-2930), while + # access_list=None keeps it legacy. + per_data_al: dict[int, list[AccessListEntryIR]] = {} + for d in model.transaction.data: + data_box = model.transaction.data[d.index] + if data_box.access_list is not None: + per_data_al[d.index] = _resolve_access_list( + data_box.access_list + ) + if per_data_al: + per_data_access_lists = per_data_al + elif has_any_al: + # Single-case: use first data entry's access list + first_data = model.transaction.data[0] + if first_data.access_list is not None: + access_list_entries = _resolve_access_list(first_data.access_list) + + # Blob versioned hashes + blob_hashes: list[str] | None = None + if model.transaction.blob_versioned_hashes is not None: + blob_hashes = [str(h) for h in model.transaction.blob_versioned_hashes] + + # Single-case inlines + data_inline: str | None = None + gas_limit_single: int | None = None + value_single: int | None = None + if not is_multi_case: + if tx_data and tx_data[0]: + data_inline = tx_data[0] + else: + data_inline = "b''" + gas_limit_single = tx_gas[0] if tx_gas else 21000 + value_single = tx_value[0] if tx_value else 0 + + return ( + TransactionIR( + to_var=to_var, + to_is_none=to_is_none, + gas_price=( + int(model.transaction.gas_price) + if model.transaction.gas_price is not None + else None + ), + max_fee_per_gas=( + int(model.transaction.max_fee_per_gas) + if model.transaction.max_fee_per_gas is not None + else None + ), + max_priority_fee_per_gas=( + int(model.transaction.max_priority_fee_per_gas) + if model.transaction.max_priority_fee_per_gas is not None + else None + ), + max_fee_per_blob_gas=( + int(model.transaction.max_fee_per_blob_gas) + if model.transaction.max_fee_per_blob_gas is not None + else None + ), + blob_versioned_hashes=blob_hashes, + nonce=( + int(model.transaction.nonce) + if model.transaction.nonce is not None + else None + ), + access_list=access_list_entries if has_any_al else None, + per_data_access_lists=per_data_access_lists, + data_inline=data_inline, + gas_limit=gas_limit_single, + value=value_single, + ), + access_list_entries, + ) + + +def _build_address_constants( + model: StateStaticTest, + tags: TagDict, + addr_to_var: dict[Address | EOA, str], + sender_tag_name: str | None, +) -> list[dict[str, str]]: + """Build list of address constants for the function body.""" + constants: list[dict[str, str]] = [] + seen: set[Address | EOA] = set() + + # Coinbase (tagged or not) + if isinstance(model.env.current_coinbase, Tag): + tag_name = model.env.current_coinbase.name + resolved = tags.get(tag_name) + if resolved: + var_name = addr_to_var.get(resolved, "coinbase") + if var_name != "sender" and resolved not in seen: + constants.append({"var_name": var_name, "hex": f"{resolved}"}) + seen.add(resolved) + else: + addr = model.env.current_coinbase + var_name = addr_to_var.get(model.env.current_coinbase) + if var_name and var_name != "sender" and addr not in seen: + constants.append({"var_name": var_name, "hex": f"{addr}"}) + seen.add(addr) + + # All non-sender, non-contract pre-state accounts (tagged or not) + for address_or_tag, _acct in model.pre.root.items(): + if isinstance(address_or_tag, Tag): + tag_name = address_or_tag.name + # Skip sender + if sender_tag_name and tag_name == sender_tag_name: + continue + # Skip ContractTag accounts (they get address via deploy_contract) + # SenderTag accounts are EOAs even if they have code + if isinstance(address_or_tag, ContractTag): + continue + resolved = tags.get(tag_name) + if resolved: + var_name = addr_to_var.get(resolved, tag_name) + if resolved not in seen and var_name != "coinbase": + constants.append( + {"var_name": var_name, "hex": f"{resolved}"} + ) + seen.add(resolved) + else: + var_name = addr_to_var.get(address_or_tag) + if ( + var_name + and var_name != "sender" + and var_name != "coinbase" + and address_or_tag not in seen + ): + constants.append( + {"var_name": var_name, "hex": f"{address_or_tag}"} + ) + seen.add(address_or_tag) + + return constants + + +def _decode_tx_data_word( + data: bytes, addr_to_var: dict[Address | EOA, str], imports: ImportsIR +) -> str: + """ + Attempt to decode a single word of 32 or 20 bytes from the transaction + data into meaningful information. + """ + addr_var: str | None = None + if len(data.lstrip(b"\x00")) <= 20: + maybe_addr = Address(int.from_bytes(data, "big")) + if maybe_addr in addr_to_var: + addr_var = addr_to_var[maybe_addr] + + if len(data) == 32 or len(data) == 20: + if addr_var: + if len(data) == 20: + return addr_var + else: + imports.needs_hash = True + return f"Hash({addr_var}, left_padding=True)" + else: + if len(data) == 32: + imports.needs_hash = True + hex_type = "Hash" + else: + hex_type = "Address" + hex_string = data.hex().lstrip("0") + if len(hex_string) == 0: + hex_string = "0" + return f"{hex_type}(0x{hex_string})" + else: + imports.needs_bytes = True + hex_string = data.hex() + return f'Bytes("{hex_string}")' + + +def _decode_tx_data( + data: bytes, + addr_to_var: dict[Address | EOA, str], + probably_bytecode: bool, + imports: ImportsIR, +) -> str: + """Attempt to decode meaningful information from the transaction data.""" + if probably_bytecode: + bytecode = _bytes_to_op_expr(data, addr_to_var) + if bytecode: + imports.needs_op = True + return bytecode + decoded_words: list[str] = [] + if len(data) > 0 and len(data) % 32 in (0, 4): + if len(data) % 32 == 4: + decoded_words.append( + _decode_tx_data_word(data[:4], addr_to_var, imports) + ) + offset = 4 if len(data) % 32 == 4 else 0 + for i in range(offset, len(data), 32): + decoded_words.append( + _decode_tx_data_word(data[i : i + 32], addr_to_var, imports) + ) + else: + return _decode_tx_data_word(data, addr_to_var, imports) + return " + ".join(decoded_words) + + +def _build_tx_arrays( + tx: GeneralTransactionInFiller, + tags: TagDict, + addr_to_var: dict[Address | EOA, str], + probably_bytecode: bool, + imports: ImportsIR, +) -> tuple[list[str], list[int], list[int]]: + """Build the list of data that goes in each transaction.""" + tx_data: list[str] = [] + for d_entry in tx.data: + data_box = tx.data[d_entry.index] + compiled = data_box.data.compiled(tags) + tx_data.append( + _decode_tx_data(compiled, addr_to_var, probably_bytecode, imports) + ) + + tx_gas = [int(g) for g in tx.gas_limit] + tx_value = [int(v) for v in tx.value] + return tx_data, tx_gas, tx_value + + +def _resolve_address( + addr: Address, + addr_to_var: dict[Address | EOA, str], + imports: ImportsIR, +) -> str: + """ + Return a variable reference if the address or an address derived from it + is contained in the `addr_to_var` dictionary. + + Fallbacks to returning f"Address({addr})". + """ + for var_addr, var in addr_to_var.items(): + if addr == var_addr: + return var + # Check if the address is the result of contract creation from a known + # address. + for var_addr, var in addr_to_var.items(): + max_created_contracts = 256 + for nonce in range(max_created_contracts): + if addr == compute_create_address(address=var_addr, nonce=nonce): + imports.needs_compute_create_address = True + return f"compute_create_address(address={var}, nonce={nonce})" + + return f"Address({addr})" diff --git a/scripts/filler_to_python/ir.py b/scripts/filler_to_python/ir.py new file mode 100644 index 00000000000..2712d4f3635 --- /dev/null +++ b/scripts/filler_to_python/ir.py @@ -0,0 +1,153 @@ +"""Intermediate Representation dataclasses for filler-to-python codegen.""" + +from __future__ import annotations + +from dataclasses import dataclass, field + +from execution_testing.base_types import Address + + +@dataclass +class EnvironmentIR: + """IR for the test environment.""" + + coinbase_var: str + number: int + timestamp: int + difficulty: int | None = None + prev_randao: int | None = None + base_fee_per_gas: int | None = None + excess_blob_gas: int | None = None + gas_limit: int = 0 + + +@dataclass +class AccountIR: + """IR for a pre-state account.""" + + var_name: str + is_tagged: bool + is_eoa: bool + is_sender: bool + balance: int = 0 + nonce: int | None = None + address: Address | None = None + source_comment: str = "" + code_expr: str = "" + storage: dict = field(default_factory=dict) + oversized_code: bool = False + + +@dataclass +class AccountAssertionIR: + """IR for a post-state account assertion.""" + + var_ref: str + storage: dict | None = None + storage_any_keys: list = field(default_factory=list) + code: bytes | None = None + balance: int | None = None + nonce: int | None = None + should_not_exist: bool = False + + +@dataclass +class ExpectEntryIR: + """IR for one filler expect section.""" + + indexes: dict = field(default_factory=dict) + network: list = field(default_factory=list) + result: list = field(default_factory=list) + expect_exception: dict | None = None + + +@dataclass +class ParameterCaseIR: + """IR for one (d, g, v) parameter combo.""" + + d: int = 0 + g: int = 0 + v: int = 0 + has_exception: bool = False + label: str | None = None + id: str = "" + marks: str | None = None + + +@dataclass +class AccessListEntryIR: + """IR for a single access list entry.""" + + address: str = "" + storage_keys: list = field(default_factory=list) + + +@dataclass +class TransactionIR: + """IR for the transaction.""" + + to_var: str | None = None + to_is_none: bool = False + gas_price: int | None = None + max_fee_per_gas: int | None = None + max_priority_fee_per_gas: int | None = None + max_fee_per_blob_gas: int | None = None + blob_versioned_hashes: list | None = None + nonce: int | None = None + access_list: list | None = None + per_data_access_lists: dict | None = None + data_inline: str | None = None + gas_limit: int | None = None + value: int | None = None + + +@dataclass +class SenderIR: + """IR for the transaction sender.""" + + is_tagged: bool = False + key: int | None = None + balance: int = 0 + not_in_pre: bool = False + + +@dataclass +class ImportsIR: + """List of import requirements for the test.""" + + needs_op: bool = False + needs_access_list: bool = False + needs_bytes: bool = False + needs_hash: bool = False + needs_tx_exception: bool = False + needs_compute_create_address: bool = False + + +@dataclass +class IntermediateTestModel: + """Complete IR for one test file.""" + + test_name: str = "" + filler_path: str = "" + filler_comment: str = "" + category: str = "" + valid_from: str = "" + valid_until: str | None = None + is_slow: bool = False + is_multi_case: bool = False + is_fork_dependent: bool = False + environment: EnvironmentIR = field( + default_factory=lambda: EnvironmentIR( + coinbase_var="coinbase", number=0, timestamp=0 + ) + ) + accounts: list = field(default_factory=list) + sender: SenderIR = field(default_factory=SenderIR) + parameters: list = field(default_factory=list) + transaction: TransactionIR = field(default_factory=TransactionIR) + expect_entries: list = field(default_factory=list) + address_constants: list = field(default_factory=list) + tx_data: list = field(default_factory=list) + tx_gas: list = field(default_factory=list) + tx_value: list = field(default_factory=list) + imports: ImportsIR = field(default_factory=ImportsIR) diff --git a/scripts/filler_to_python/render.py b/scripts/filler_to_python/render.py new file mode 100644 index 00000000000..b5be4ea56df --- /dev/null +++ b/scripts/filler_to_python/render.py @@ -0,0 +1,290 @@ +"""Jinja2 rendering for filler-to-python codegen.""" + +from __future__ import annotations + +from dataclasses import asdict +from pathlib import Path + +import jinja2 + +from .ir import AccountAssertionIR, IntermediateTestModel + +TEMPLATE_DIR = Path(__file__).parent / "templates" + + +# --------------------------------------------------------------------------- +# Custom Jinja2 filters +# --------------------------------------------------------------------------- + + +def format_int(v: int | None) -> str: + """Format an integer as Python literal: hex for large values.""" + if v is None: + return "0" + if isinstance(v, bool): + return str(v) + v = int(v) + if v > 0xFFFF: + return hex(v) + return str(v) + + +def format_hex(v: int | str) -> str: + """Always format as hex.""" + if isinstance(v, str): + return v + return hex(int(v)) + + +def format_storage(d: dict) -> str: + """Format a {slot: value} storage dict as Python literal.""" + if not d: + return "{}" + items = [] + for k in sorted(d.keys()): + items.append(f"{format_int(k)}: {format_int(d[k])}") + single = "{" + ", ".join(items) + "}" + if len(single) <= 50: + return single + formatted = ",\n ".join(items) + return "{\n " + formatted + ",\n }" + + +def format_account(a: AccountAssertionIR) -> str: + """Format an AccountAssertionIR as Account(...) expression.""" + if a.should_not_exist: + return "Account.NONEXISTENT" + + parts: list[str] = [] + if a.storage is not None: + if a.storage_any_keys: + # Need Storage object with set_expect_any calls + storage_str = format_storage(a.storage) + any_keys = a.storage_any_keys + parts.append( + f"storage=_storage_with_any({storage_str}, {any_keys})" + ) + else: + parts.append(f"storage={format_storage(a.storage)}") + if a.code is not None: + if a.code: + parts.append(f'code=bytes.fromhex("{a.code.hex()}")') + else: + parts.append('code=b""') + if a.balance is not None: + parts.append(f"balance={format_int(a.balance)}") + if a.nonce is not None: + parts.append(f"nonce={a.nonce}") + + if not parts: + return "Account()" + single = "Account(" + ", ".join(parts) + ")" + if len(single) <= 60: + return single + inner = ",\n ".join(parts) + return "Account(\n " + inner + ",\n )" + + +def format_post(result: list) -> str: + """Format a list of AccountAssertionIR as a post dict literal.""" + if not result: + return "{}" + + entries: list[str] = [] + for a in result: + entries.append(f"{a.var_ref}: {format_account(a)}") + + if len(entries) == 1: + single = "{" + entries[0] + "}" + if len(single) <= 70: + return single + + inner = ",\n ".join(entries) + return "{\n " + inner + ",\n }" + + +def format_expect_exception(d: dict) -> str: + """Format expect_exception dict with unquoted exception values.""" + items = [] + for k, v in d.items(): + items.append(f'"{k}": {v}') + return "{" + ", ".join(items) + "}" + + +def wrap_op_chain(s: str, indent: int = 8) -> str: + """Split an Op chain at + boundaries to fit 79-char lines.""" + if not s: + return '""' + + prefix = " " * indent + # If it fits on one line, just return it + if len(prefix + s) <= 79: + return s + + # If it's a bytes.fromhex expression, just return it (will get noqa) + if s.startswith("bytes.fromhex("): + return s + + # Split at " + " + parts = s.split(" + ") + if len(parts) <= 1: + return s + + lines: list[str] = [] + current_line = parts[0] + for part in parts[1:]: + candidate = current_line + " + " + part + if len(prefix + candidate) <= 79: + current_line = candidate + else: + lines.append(current_line) + current_line = part + + lines.append(current_line) + + if len(lines) == 1: + return lines[0] + + joiner = "\n" + prefix + "+ " + return lines[0] + joiner + joiner.join(lines[1:]) + + +# --------------------------------------------------------------------------- +# Template rendering +# --------------------------------------------------------------------------- + + +def _build_template_env() -> jinja2.Environment: + """Create and configure the Jinja2 environment.""" + env = jinja2.Environment( + loader=jinja2.FileSystemLoader(str(TEMPLATE_DIR)), + keep_trailing_newline=True, + trim_blocks=True, + lstrip_blocks=True, + ) + env.filters["format_int"] = format_int + env.filters["format_hex"] = format_hex + env.filters["format_storage"] = format_storage + env.filters["format_account"] = format_account + env.filters["format_post"] = format_post + env.filters["format_expect_exception"] = format_expect_exception + env.filters["wrap_op_chain"] = wrap_op_chain + return env + + +_template_env = _build_template_env() + + +def render_test(ir: IntermediateTestModel) -> str: + """Render a Python test file from an IR model.""" + template = _template_env.get_template("state_test.py.j2") + + # Build short docstring (first sentence of filler comment) + short_docstring = ir.filler_comment or ir.test_name + if "." in short_docstring: + short_docstring = short_docstring[: short_docstring.index(".") + 1] + if len(short_docstring) > 70: + # Truncate at word boundary + truncated = short_docstring[:67] + last_space = truncated.rfind(" ") + if last_space > 40: + truncated = truncated[:last_space] + short_docstring = truncated + "..." + # Ensure ends with period (D400/D415) + if not short_docstring.endswith("."): + short_docstring += "." + # Capitalize first letter (D403), avoid "This" (D404) + if short_docstring and short_docstring[0].islower(): + short_docstring = short_docstring[0].upper() + short_docstring[1:] + if short_docstring.startswith("This "): + short_docstring = "Test: t" + short_docstring[2:] + # Escape any quotes + short_docstring = short_docstring.replace('"', '\\"') + + # Build docstring — ensure first line ends with period (D400/D415) + docstring = ir.filler_comment or ir.test_name + first_line = docstring.split("\n")[0] + if not first_line.rstrip().endswith("."): + docstring = ( + first_line.rstrip() + ".\n" + "\n".join(docstring.split("\n")[1:]) + ) + docstring = docstring.rstrip() + # Capitalize first letter (D403) and avoid starting with "This" (D404) + if docstring and docstring[0].islower(): + docstring = docstring[0].upper() + docstring[1:] + if docstring.startswith("This "): + docstring = "Test: " + docstring[0].lower() + docstring[1:] + # Ensure all docstring lines fit 79 chars. + # First line must end with period (D400), so truncate if needed. + import textwrap + + doc_lines = docstring.split("\n") + first = doc_lines[0] + if len(first) > 75: + # Truncate at word boundary, add period + trunc = first[:72] + sp = trunc.rfind(" ") + if sp > 40: + trunc = trunc[:sp] + first = trunc + "..." + if not first.endswith("."): + first += "." + doc_lines[0] = first + # Ensure blank line after first line so D400 only checks line 1 + if len(doc_lines) > 1 and doc_lines[1].strip(): + doc_lines.insert(1, "") + wrapped_lines: list[str] = [doc_lines[0]] + for line in doc_lines[1:]: + if len(line) > 79: + wrapped_lines.extend(textwrap.wrap(line, width=79)) + else: + wrapped_lines.append(line) + docstring = "\n".join(wrapped_lines) + + # Has exceptions? + has_exceptions = any(p.has_exception for p in ir.parameters) + + # Needs _storage_with_any helper? + needs_storage_any = any( + a.storage_any_keys for entry in ir.expect_entries for a in entry.result + ) + + # Single-case post and error + single_post = None + single_error = None + if ir.expect_entries and len(ir.expect_entries) == 1: + entry = ir.expect_entries[0] + if entry.result: + single_post = entry.result + if entry.expect_exception: + exc_values = list(entry.expect_exception.values()) + if exc_values: + single_error = exc_values[0] + + context = { + "docstring": docstring, + "filler_path": ir.filler_path, + "test_name": ir.test_name, + "short_docstring": short_docstring, + "valid_from": ir.valid_from, + "valid_until": ir.valid_until, + "is_slow": ir.is_slow, + "is_multi_case": ir.is_multi_case, + "is_fork_dependent": ir.is_fork_dependent, + "has_exceptions": has_exceptions, + "env": ir.environment, + "accounts": ir.accounts, + "tx": ir.transaction, + "tx_data": ir.tx_data, + "tx_gas": ir.tx_gas, + "tx_value": ir.tx_value, + "expect_entries": ir.expect_entries, + "parameters": ir.parameters, + "sender": ir.sender, + "address_constants": ir.address_constants, + "needs_storage_any": needs_storage_any, + "single_post": single_post, + "single_error": single_error, + } | asdict(ir.imports) + + return template.render(**context) diff --git a/scripts/filler_to_python/templates/state_test.py.j2 b/scripts/filler_to_python/templates/state_test.py.j2 new file mode 100644 index 00000000000..0b9c52a6dd5 --- /dev/null +++ b/scripts/filler_to_python/templates/state_test.py.j2 @@ -0,0 +1,390 @@ +{#- + Jinja2 template for generating Python test files from static fillers. + + Parametrize approach: always (d, g, v). + Transaction fields are looked up from module-level arrays: + tx_data[d], tx_gas[g], tx_value[v] + Post-state and exceptions are resolved at runtime: + resolve_expect_post(expect_entries_, d, g, v, fork) + + Context variables (from IntermediateTestModel via render.py): + + docstring str Module docstring (from _info.comment) + filler_path str Relative path to filler file + test_name str Python function name (test_xxx) + short_docstring str One-line docstring for the function + valid_from str Fork name (e.g., "Cancun") + valid_until str|None Fork name or None + is_slow bool Mark @pytest.mark.slow + is_multi_case bool len(parameters) > 1 + has_exceptions bool Any case has an exception + + needs_op bool Import Op + needs_tx_exception bool Import TransactionException + needs_access_list bool Import AccessList + needs_hash bool Import Hash + + env EnvironmentIR + accounts list[AccountIR] + transaction TransactionIR + + -- Module-level arrays (from filler transaction) -- + + tx_data list[str] Compiled data hex per d index + tx_gas list[int] Gas limit per g index + tx_value list[int] Value per v index + + -- Expect entries (from filler expect sections) -- + + expect_entries list[ExpectEntryIR] + Each has: .indexes (dict), .network (list[str]), + .result (dict: var_name -> Account assertion), + .expect_exception (dict | None) + Resolved from expect.result.resolve(tags). + Used at runtime by resolve_expect_post(). + + -- Parametrize (d, g, v) combos -- + + parameters list[ParameterCaseIR] + Each has: .d, .g, .v, .has_exception, .label + Built from data x gasLimit x value matrix. + + -- Single-case data (when not is_multi_case) -- + + single_post str|None Formatted post dict, or None if empty + single_error str|None Formatted error, or None + + -- Sender -- + + sender SenderIR .is_tagged, .key, .balance + address_constants list Non-tagged address variables + [{var_name, hex}] + + Custom filters: + format_int(v) Hex vs decimal heuristic + format_storage(d) Format {slot: value} dict + format_account(a) Format Account(storage=..., code=...) + format_post(post) Format post dict {addr: Account(...)} + wrap_op_chain(s, ind) Split Op chain at + for 79-char lines +-#} +""" +{{ docstring }} + +Ported from: +{{ filler_path }} +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, +{% if needs_bytes %} + Bytes, +{% endif %} + Environment, + StateTestFiller, + Transaction, +{% if needs_tx_exception %} + TransactionException, +{% endif %} +{% if needs_access_list %} + AccessList, +{% endif %} +{% if needs_hash %} + Hash, +{% endif %} +{% if needs_storage_any %} + Storage, +{% endif %} +{% if needs_compute_create_address %} + compute_create_address, +{% endif %} +) +{% if needs_op %} +from execution_testing.vm import Op +{% endif %} +{% if is_multi_case %} +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +{% elif is_fork_dependent %} +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post_fork, +) +{% endif %} + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + +{% if needs_storage_any %} +def _storage_with_any(base: dict, any_keys: list) -> Storage: + """Create Storage with set_expect_any for specified keys.""" + s = Storage(base) + for k in any_keys: + s.set_expect_any(k) + return s + +{% endif %} + +@pytest.mark.ported_from( + ["{{ filler_path }}"], +) +@pytest.mark.valid_from("{{ valid_from }}") +{% if valid_until %} +@pytest.mark.valid_until("{{ valid_until }}") +{% endif %} +{% if is_slow %} +@pytest.mark.slow +{% endif %} +{% if is_multi_case %} +@pytest.mark.parametrize( + "d, g, v", + [ +{% for case in parameters %} + pytest.param( + {{ case.d }}, {{ case.g }}, {{ case.v }}, + id="{{ case.id }}", +{% if case.marks %} + marks={{ case.marks }}, +{% endif %} + ), +{% endfor %} + ], +) +{% endif %} +{% if has_exceptions and not is_multi_case %} +@pytest.mark.exception_test +{% endif %} +@pytest.mark.pre_alloc_mutable +def {{ test_name }}( + state_test: StateTestFiller, + pre: Alloc, +{% if is_multi_case %} + fork: Fork, + d: int, + g: int, + v: int, +{% elif is_fork_dependent %} + fork: Fork, +{% endif %} +) -> None: + """{{ short_docstring }}""" +{% for addr in address_constants %} + {{ addr.var_name }} = Address({{ addr.hex }}) +{% endfor %} +{% if sender.not_in_pre %} + sender = pre.fund_eoa(amount=0) +{% else %} + sender = EOA( + key={{ sender.key | format_int }} + ) +{% endif %} + + env = Environment( + fee_recipient={{ env.coinbase_var }}, + number={{ env.number }}, + timestamp={{ env.timestamp }}, +{% if env.prev_randao is not none %} + prev_randao={{ env.prev_randao | format_int }}, +{% endif %} +{% if env.difficulty is not none and env.prev_randao is none %} + difficulty={{ env.difficulty | format_int }}, +{% endif %} +{% if env.base_fee_per_gas is not none %} + base_fee_per_gas={{ env.base_fee_per_gas }}, +{% endif %} +{% if env.excess_blob_gas is not none %} + excess_blob_gas={{ env.excess_blob_gas | format_int }}, +{% endif %} + gas_limit={{ env.gas_limit }}, + ) + +{# Pre-state account setup #} +{% for account in accounts %} +{% if account.is_sender %} + pre[sender] = Account(balance={{ account.balance | format_int }}{{ ", nonce=%d" | format(account.nonce) if account.nonce }}{{ ", storage=%s" | format(account.storage | format_storage) if account.storage }}{{ ", code=%s" | format(account.code_expr | wrap_op_chain(indent=8)) if account.code_expr }}) +{% elif account.is_eoa %} + pre[{{ account.var_name }}] = Account(balance={{ account.balance | format_int }}{{ ", nonce=%d" | format(account.nonce) if account.nonce }}{{ ", storage=%s" | format(account.storage | format_storage) if account.storage }}{{ ", code=%s" | format(account.code_expr | wrap_op_chain(indent=8)) if account.code_expr }}) +{% else %} +{# Contract: source comment + deploy #} +{{ account.source_comment }} +{% if account.oversized_code %} + {{ account.var_name }} = Address({{ account.address }}) + pre[{{ account.var_name }}] = Account( + code={{ account.code_expr | wrap_op_chain(indent=8) }}, +{% if account.storage %} + storage={{ account.storage | format_storage }}, +{% endif %} +{% if account.balance %} + balance={{ account.balance | format_int }}, +{% endif %} +{% if account.nonce is not none %} + nonce={{ account.nonce }}, +{% endif %} + ) +{% else %} + {{ account.var_name }} = pre.deploy_contract( + code={{ account.code_expr | wrap_op_chain(indent=8) }}, +{% if account.storage %} + storage={{ account.storage | format_storage }}, +{% endif %} +{% if account.balance %} + balance={{ account.balance | format_int }}, +{% endif %} +{% if account.nonce is not none %} + nonce={{ account.nonce }}, +{% endif %} + address=Address({{ account.address }}), # noqa: E501 + ) +{% endif %} +{% endif %} +{% endfor %} + +{# Expect entries (used by resolve_expect_post at runtime) #} +{% if single_post %} +{# Post will be assigned below #} +{% elif is_multi_case or is_fork_dependent %} + expect_entries_: list[dict] = [ +{% for entry in expect_entries %} + { +{% if is_multi_case %} + "indexes": {{ entry.indexes }}, +{% endif %} + "network": {{ entry.network }}, + "result": {{ entry.result | format_post }}, +{% if entry.expect_exception %} + "expect_exception": {{ entry.expect_exception | format_expect_exception }}, +{% endif %} + }, +{% endfor %} + ] + +{% if is_multi_case %} + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) +{% else %} + post, _exc = resolve_expect_post_fork(expect_entries_, fork) +{% endif %} +{% endif %} + +{% if is_multi_case %} +{# Case value arrays: tx fields indexed by d, g, v #} + tx_data = [ + {% for d in tx_data %} + {{ d }}, + {% endfor %} + ] + tx_gas = [{{ tx_gas | join(", ") }}] +{% if tx_value != [0] %} + tx_value = [{{ tx_value | join(", ") }}] +{% endif %} +{% if tx.per_data_access_lists %} + tx_access_lists: dict[int, list] = { + {% for d_idx, al_entries in tx.per_data_access_lists.items() %} + {{ d_idx }}: [ + {% for al in al_entries %} + AccessList( + address=Address({{ al.address }}), + storage_keys=[ + {% for sk in al.storage_keys %} + Hash("{{ sk }}"), # noqa: E501 + {% endfor %} + ], + ), + {% endfor %} + ], + {% endfor %} + } +{% endif %} + +{% endif %} + +{# Transaction #} + tx = Transaction( + sender=sender, +{% if tx.to_var is not none %} + to={{ tx.to_var }}, +{% elif tx.to_is_none %} + to=None, +{% endif %} +{% if is_multi_case %} + data=tx_data[d], + gas_limit=tx_gas[g], +{% if tx_value != [0] %} + value=tx_value[v], +{% endif %} +{% else %} +{% if tx.data_inline and tx.data_inline != "b''" %} + data={{ tx.data_inline }}, +{% endif %} +{% if tx.gas_limit is not none and tx.gas_limit != 21000 %} + gas_limit={{ tx.gas_limit }}, +{% endif %} +{% if tx.value %} + value={{ tx.value | format_int }}, +{% endif %} +{% endif %} +{% if tx.max_fee_per_gas is not none %} + max_fee_per_gas={{ tx.max_fee_per_gas }}, +{% endif %} +{% if tx.max_priority_fee_per_gas is not none %} + max_priority_fee_per_gas={{ tx.max_priority_fee_per_gas }}, +{% endif %} +{% if tx.nonce is not none and tx.nonce != 0 %} + nonce={{ tx.nonce }}, +{% endif %} +{% if tx.gas_price is not none and tx.gas_price != 10 %} + gas_price={{ tx.gas_price }}, +{% endif %} +{% if tx.max_fee_per_blob_gas is not none %} + max_fee_per_blob_gas={{ tx.max_fee_per_blob_gas | format_int }}, +{% endif %} +{% if tx.blob_versioned_hashes is not none %} + blob_versioned_hashes=[ +{% for h in tx.blob_versioned_hashes %} + Hash( + "{{ h }}" # noqa: E501 + ), +{% endfor %} + ], +{% endif %} +{% if tx.per_data_access_lists and is_multi_case %} + access_list=tx_access_lists.get(d), +{% elif tx.access_list is not none %} + access_list=[ +{% for al in tx.access_list %} + AccessList( + address=Address({{ al.address }}), + storage_keys=[ +{% for sk in al.storage_keys %} + Hash( + "{{ sk }}" # noqa: E501 + ), +{% endfor %} + ], + ), +{% endfor %} + ], +{% endif %} +{% if single_error %} + error={{ single_error }}, +{% elif single_post %} + {# Single post without error #} +{% elif is_multi_case or is_fork_dependent %} + error=_exc, +{% endif %} + ) + +{# Post-state #} +{% if single_post %} + post = {{ single_post | format_post }} +{% elif is_multi_case or is_fork_dependent %} +{# Post resolved above via resolve_expect_post / resolve_expect_post_fork #} +{% else %} + post: dict = {} +{% endif %} + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/scripts/fixture_to_python.py b/scripts/fixture_to_python.py deleted file mode 100644 index c31b9ad52ae..00000000000 --- a/scripts/fixture_to_python.py +++ /dev/null @@ -1,2705 +0,0 @@ -#!/usr/bin/env python3 -""" -Convert compiled state_test fixtures to Python test files. - -Reads compiled fixture JSON (from --fill-static-tests) and source filler -(for _info.comment), then generates a Python test file with: -- Module docstring from _info.comment -- Op-language bytecode (readable, self-documenting) -- Proper pytest markers and structure -- Maximum embedded context for future Amsterdam porting - -Usage: - python scripts/fixture_to_python.py \ - --fixtures /tmp/compiled_static/ \ - --fillers tests/static/state_tests/ \ - --output tests/ported_static/ -""" - -from __future__ import annotations - -import argparse -import json -import os -import re -import subprocess -import sys -import textwrap -from pathlib import Path -from typing import Any - -# --------------------------------------------------------------------------- -# Categories that are prohibitively slow to fill — mark with @pytest.mark.slow -# --------------------------------------------------------------------------- - -SLOW_CATEGORIES = { - "stQuadraticComplexityTest", - "stStaticCall", - "stTimeConsuming", -} - -# --------------------------------------------------------------------------- -# Fork ordering (earliest to latest) -# --------------------------------------------------------------------------- - -FORK_ORDER = [ - "Frontier", - "Homestead", - "EIP150", - "EIP158", - "Byzantium", - "Constantinople", - "ConstantinopleFix", - "Istanbul", - "Berlin", - "London", - "Paris", - "Shanghai", - "Cancun", - "Prague", - "Osaka", - "Amsterdam", -] -FORK_RANK = {name: i for i, name in enumerate(FORK_ORDER)} - - -def earliest_fork(forks: set[str]) -> str: - """Return the earliest fork from a set, by FORK_ORDER.""" - known = [f for f in forks if f in FORK_RANK] - if not known: - return sorted(forks)[0] # fallback alphabetical - return min(known, key=lambda f: FORK_RANK[f]) - - -def fork_before(fork_name: str) -> str | None: - """Return the fork immediately before the given fork in FORK_ORDER.""" - if fork_name not in FORK_RANK: - return None - idx = FORK_RANK[fork_name] - if idx <= 0: - return None - return FORK_ORDER[idx - 1] - - -def _next_fork(fork_name: str) -> str | None: - """Return the fork immediately after the given fork in FORK_ORDER.""" - if fork_name not in FORK_RANK: - return None - idx = FORK_RANK[fork_name] - if idx + 1 >= len(FORK_ORDER): - return None - return FORK_ORDER[idx + 1] - - -def detect_fork_ranges( - earliest_fixture: dict[str, Any], - other_fixtures: dict[str, dict[str, Any]], - earliest_fork: str, -) -> list[tuple[str, str | None, dict[str, Any]]]: - """ - Detect fork ranges where post-states are identical. - - Compare post-state hashes from the earliest fork's fixture against - other forks' fixtures. Return a list of - (valid_from, valid_until, fixture_data) tuples where valid_until - is the last fork in the range (None = no upper bound). - - If no divergence is found, returns a single range covering all forks. - """ - # Available forks in order - avail_forks = sorted( - [earliest_fork] + list(other_fixtures.keys()), - key=lambda f: FORK_RANK.get(f, 999), - ) - - # Build per-case post-state hashes for each fork - def _post_hashes(data: dict, fork: str) -> list[str]: - hashes = [] - for key in sorted(data.keys()): - post = data[key].get("post", {}) - entries = post.get(fork, []) - if isinstance(entries, list) and entries: - hashes.append(entries[0].get("hash", "")) - else: - hashes.append("") - return hashes - - fork_hashes: dict[str, list[str]] = {} - fork_hashes[earliest_fork] = _post_hashes(earliest_fixture, earliest_fork) - for fork, data in other_fixtures.items(): - fork_hashes[fork] = _post_hashes(data, fork) - - # Find fork transitions where hashes change - # Group consecutive forks with identical hashes into ranges - ranges: list[tuple[str, str | None, dict[str, Any]]] = [] - range_start = avail_forks[0] - range_fixture = earliest_fixture - - for i in range(len(avail_forks) - 1): - cur = avail_forks[i] - nxt = avail_forks[i + 1] - cur_h = fork_hashes.get(cur, []) - nxt_h = fork_hashes.get(nxt, []) - if cur_h != nxt_h: - # Hashes differ — close current range - ranges.append((range_start, cur, range_fixture)) - range_start = nxt - range_fixture = ( - other_fixtures[nxt] - if nxt in other_fixtures - else earliest_fixture - ) - - # Close the final range (no upper bound) - ranges.append((range_start, None, range_fixture)) - return ranges - - -def parse_network_upper_bound(network_str: str) -> str | None: - """ - Parse the upper fork bound from a network string. - - Examples: - ">=Cancun" -> None (no upper bound) - ">=Cancun "Osaka" (exclusive upper bound) - "Cancun" -> None (exact fork) - - """ - match = re.search(r"<(\w+)$", network_str.strip()) - if match: - return match.group(1) - return None - - -def parse_network_lower_bound(network_str: str) -> str | None: - """ - Parse the lower fork bound from a network string. - - Examples: - ">=Cancun" -> "Cancun" - ">=Cancun "Cancun" - "Cancun" -> "Cancun" (exact fork) - - """ - match = re.match(r">=(\w+)", network_str.strip()) - if match: - return match.group(1) - # Exact fork name - s = network_str.strip() - if s in FORK_RANK: - return s - return None - - -# --------------------------------------------------------------------------- -# Helpers -# --------------------------------------------------------------------------- - - -def camel_to_snake(name: str) -> str: - """Convert CamelCase to snake_case, preserving leading numbers.""" - # Insert _ before uppercase letters preceded by lowercase or digits - s = re.sub(r"([a-z0-9])([A-Z])", r"\1_\2", name) - # Insert _ before uppercase followed by lowercase (ABCDef -> ABC_Def) - s = re.sub(r"([A-Z]+)([A-Z][a-z])", r"\1_\2", s) - return s.lower() - - -def filler_name_to_test_name(filler_stem: str) -> str: - """ - Convert filler stem to Python test function/file name. - - e.g. 'callcode_checkPCFiller' -> 'test_callcode_check_pc' - e.g. 'ContractCreationSpamFiller' -> 'test_contract_creation_spam' - e.g. 'mem32kb+1Filler' -> 'test_mem32kb_plus_1' - e.g. 'mem32kb-1Filler' -> 'test_mem32kb_minus_1' - """ - # Strip 'Filler' suffix - name = re.sub(r"Filler$", "", filler_stem) - result = "test_" + camel_to_snake(name) - # Replace + and - with descriptive words before general cleanup - result = result.replace("+", "_plus_") - result = result.replace("-", "_minus_") - # Replace remaining non-alphanumeric chars with underscores - result = re.sub(r"[^a-z0-9_]", "_", result) - # Collapse multiple underscores - result = re.sub(r"_+", "_", result) - return result.strip("_") - - -def hex_to_int(v: str) -> int: - """Convert hex string to int.""" - return int(v, 16) - - -def format_int(v: int, *, force_hex: bool = False) -> str: - """Format an int as Python literal. Use hex for large values.""" - if force_hex or v > 0xFFFF: - return hex(v) - return str(v) - - -def format_balance(v: int) -> str: - """Format balance as Python literal.""" - return format_int(v, force_hex=(v > 9999)) - - -def format_storage( - storage: dict[str, str], - indent: str = " ", -) -> str: - """Format storage dict as Python literal.""" - if not storage: - return "{}" - items = [] - for k, v in sorted(storage.items(), key=lambda x: int(x[0], 16)): - items.append(f"{hex(int(k, 16))}: {hex(int(v, 16))}") - single = "{" + ", ".join(items) + "}" - if len(single) <= 50: - return single - formatted: list[str] = [] - for item in items: - formatted.append(item + ",") - inner = ("\n" + indent).join(formatted) - close = indent[4:] if len(indent) >= 4 else "" - return "{\n" + indent + inner + "\n" + close + "}" - - -def _format_exception(exc_str: str) -> str: - """ - Format an expectException string as Python code. - - Single: 'TransactionException.FOO' -> 'TransactionException.FOO' - Compound: 'TransactionException.FOO|TransactionException.BAR' - -> '[TransactionException.FOO, TransactionException.BAR]' - """ - parts = [p.strip() for p in exc_str.split("|")] - if len(parts) == 1: - return parts[0] - single = "[" + ", ".join(parts) + "]" - if len(" error=" + single + ",") <= 79: - return single - inner = ",\n ".join(parts) - return "[\n " + inner + ",\n ]" - - -def _format_access_list( - al: list[dict[str, Any]], - multiline: bool = True, -) -> str: - """Format an access list as Python code.""" - if not al: - return "[]" - items = [] - for entry in al: - addr = _pad_address(entry["address"]) - keys = entry.get("storageKeys", []) - if keys: - key_strs = ", ".join(f'Hash("{k}")' for k in keys) - single = ( - f'AccessList(address=Address("{addr}"),' - f" storage_keys=[{key_strs}])" - ) - if multiline and len(" " + single) > 79: - key_items = [f'Hash("{k}")' for k in keys] - ki = ",\n ".join(key_items) - items.append( - f"AccessList(\n" - f' address=Address("{addr}"),\n' - f" storage_keys=[\n" - f" {ki},\n" - f" ],\n" - f" )" - ) - else: - items.append(single) - else: - items.append( - f'AccessList(address=Address("{addr}"), storage_keys=[])' - ) - if not multiline: - return "[" + ", ".join(items) + "]" - if len(items) == 1: - single = f"[{items[0]}]" - if "\n" not in single and len(" " + single + ",") <= 79: - return single - inner = ",\n ".join(items) - return f"[\n {inner},\n ]" - - -def bytecode_to_op_string(hex_code: str) -> str | None: - """ - Convert hex bytecode to Op expression string. - - Returns None if bytecode is empty, conversion fails, or roundtrip - produces different bytecode (evm_bytes has edge cases with PUSH parsing). - """ - if hex_code in ("0x", "0x00", ""): - return None - - raw = hex_code[2:] if hex_code.startswith("0x") else hex_code - - try: - from execution_testing import Op - from execution_testing.cli.evm_bytes import process_evm_bytes_string - - op_str = process_evm_bytes_string(raw, assembly=False) - # Verify roundtrip: compile Op back to hex and compare - compiled = eval(op_str, {"Op": Op}) # noqa: S307 - if compiled.hex() != raw.lower(): - return None # Roundtrip mismatch — fall back to bytes.fromhex - return op_str - except Exception: - return None - - -def bytecode_to_assembly_summary( - hex_code: str, max_lines: int = 20 -) -> str | None: - """Get a short assembly summary of bytecode for docstrings.""" - if hex_code in ("0x", "0x00", ""): - return None - - raw = hex_code[2:] if hex_code.startswith("0x") else hex_code - - try: - from execution_testing.cli.evm_bytes import process_evm_bytes_string - - asm = process_evm_bytes_string(raw, assembly=True) - lines = [x for x in asm.split("\n") if x.strip()] - if len(lines) <= max_lines: - return "\n".join(lines) - return ( - "\n".join(lines[:max_lines]) - + f"\n... ({len(lines) - max_lines} more instructions)" - ) - except Exception: - return None - - -# --------------------------------------------------------------------------- -# Filler context extraction -# --------------------------------------------------------------------------- - - -def _load_filler_data(filler_path: Path) -> dict | None: - """ - Load and parse a filler file (JSON or YAML). - - Return the parsed dict, or None on failure. - """ - raw: str | None = None - suffix = filler_path.suffix - - if filler_path.exists(): - raw = filler_path.read_text() - else: - # Try relative to repo root - try: - repo_root = Path( - subprocess.check_output( - ["git", "rev-parse", "--show-toplevel"], - stderr=subprocess.DEVNULL, - ) - .decode() - .strip() - ) - resolved = repo_root / filler_path - if resolved.exists(): - raw = resolved.read_text() - except (subprocess.CalledProcessError, OSError): - pass - - if raw is None: - return None - - try: - if suffix == ".json": - return json.loads(raw) - elif suffix in (".yml", ".yaml"): - try: - import yaml - - return yaml.safe_load(raw) - except ImportError: - return None - return None - except Exception: - return None - - -def load_filler_comment(filler_path: Path) -> str: - """Extract _info.comment from a filler file.""" - data = _load_filler_data(filler_path) - if not data: - return "" - try: - for _test_name, test_data in data.items(): - if isinstance(test_data, dict) and "_info" in test_data: - comment = test_data["_info"].get("comment", "") - if comment: - return comment - except Exception: - pass - return "" - - -def load_filler_network_upper_bound(filler_path: Path) -> str | None: - """ - Extract the strictest upper fork bound from a filler's network fields. - - Parses expect[].network entries like ">=Cancun=" in s: - has_range = True - elif s in FORK_RANK: - all_exact_forks.append(s) - - # Range syntax like ">=Cancun str | None: - """ - Extract the earliest fork from a filler's network fields. - - Parse expect[].network entries like ">=Cancun" or ">=Shanghai" - and return the earliest lower bound (e.g. "Cancun"). - For exact fork lists like ["Cancun", "Prague"], return the earliest. - """ - data = _load_filler_data(filler_path) - if not data: - return None - try: - lower_bounds: list[str] = [] - all_exact_forks: list[str] = [] - for _test_name, test_data in data.items(): - if not isinstance(test_data, dict): - continue - expect = test_data.get("expect", []) - if not isinstance(expect, list): - continue - for expect_entry in expect: - if not isinstance(expect_entry, dict): - continue - network = expect_entry.get("network", []) - if isinstance(network, list): - for net_str in network: - s = str(net_str).strip() - bound = parse_network_lower_bound(s) - if bound and bound in FORK_RANK: - lower_bounds.append(bound) - elif s in FORK_RANK: - all_exact_forks.append(s) - - if lower_bounds: - return min(lower_bounds, key=lambda f: FORK_RANK[f]) - if all_exact_forks: - return min(all_exact_forks, key=lambda f: FORK_RANK[f]) - return None - except Exception: - return None - - -_MAX_SOURCE_LINES = 30 - - -class _FillerCodeSources: - """Source code comments extracted from a filler file.""" - - def __init__(self) -> None: - # {normalized_address: comment} — works for plain-address fillers - self.by_address: dict[str, str] = {} - # {hex_bytecode_lower: comment} — for :raw and 0x... code - self.by_hex: dict[str, str] = {} - # Source comment for the contract with the "target" label - self.target_source: str = "" - - def lookup( - self, - compiled_addr: str, - compiled_hex: str, - is_to_addr: bool, - ) -> str: - """Look up source comment for a compiled fixture address.""" - norm = _normalize_address(compiled_addr) - - # 1. Try direct address match (plain-address fillers) - if norm in self.by_address: - return self.by_address[norm] - - # 2. Try bytecode match (:raw and hex code) - hex_key = compiled_hex.lower() - if hex_key.startswith("0x"): - hex_key = hex_key[2:] - if hex_key and hex_key in self.by_hex: - return self.by_hex[hex_key] - - # 3. For the to_addr, use the target label source - if is_to_addr and self.target_source: - return self.target_source - - return "" - - -def _extract_filler_code_sources( - filler_data: dict | None, -) -> _FillerCodeSources: - """ - Extract original source code from filler pre-state. - - Return a _FillerCodeSources object supporting lookup by address, - bytecode hex, and label role. - """ - result = _FillerCodeSources() - if not filler_data: - return result - - try: - for _test_name, test_data in filler_data.items(): - if not isinstance(test_data, dict): - continue - pre = test_data.get("pre", {}) - if not isinstance(pre, dict): - continue - for addr_key, account in pre.items(): - if not isinstance(account, dict): - continue - code = account.get("code") - if not code or not isinstance(code, str): - continue - code = code.strip() - if not code: - continue - - comment = _classify_code_source(code) - if not comment: - continue - - addr_str = str(addr_key) - - # Store by normalized address - norm = _normalize_address(addr_str) - result.by_address[norm] = comment - - # Store by hex for :raw and plain-hex code - hex_bytes = _extract_hex_from_code(code) - if hex_bytes: - result.by_hex[hex_bytes] = comment - - # Detect target/entry role from label - if ":target:" in addr_str or ":entry:" in addr_str: - result.target_source = comment - except Exception: - pass - return result - - -def _extract_hex_from_code(code: str) -> str: - """ - Extract raw hex bytes from a code field, if applicable. - - Return lowercase hex string (no 0x prefix), or empty string. - """ - stripped = code.strip() - if stripped.startswith(":raw"): - raw = stripped[4:].strip() - if raw.startswith("0x"): - return raw[2:].lower() - return raw.lower() - if stripped.startswith("0x"): - return stripped[2:].lower() - return "" - - -def _classify_code_source(code: str) -> str: - """ - Classify a filler code field and return a source comment string. - - Return empty string if no useful comment can be generated. - """ - stripped = code.strip() - - # :yul { ... } - if stripped.startswith(":yul"): - body = stripped[4:].strip() - # Remove optional dialect name (e.g. "berlin") - brace = body.find("{") - if brace >= 0: - body = body[brace:] - return _format_source_comment("Yul", body) - - # :abi func(args) vals - if stripped.startswith(":abi"): - body = stripped[4:].strip() - return _format_source_comment("ABI", body) - - # :raw 0x... - if stripped.startswith(":raw"): - return "# Source: raw bytecode" - - # Plain hex: 0x... - if stripped.startswith("0x"): - return "# Source: raw bytecode" - - # LLL: starts with { ... } - if stripped.startswith("{"): - return _format_source_comment("LLL", stripped) - - # Inline assembly: (asm OP OP ...) - if stripped.startswith("(asm"): - return _format_source_comment("asm", stripped) - - return "" - - -def _format_source_comment(lang: str, body: str) -> str: - """Format a source comment with language tag and body lines.""" - lines = body.splitlines() - if len(lines) > _MAX_SOURCE_LINES: - extra = len(lines) - _MAX_SOURCE_LINES - lines = lines[:_MAX_SOURCE_LINES] - lines.append(f"... ({extra} more lines)") - comment_lines = [f"# Source: {lang}"] - for line in lines: - comment_lines.append(f"# {line}" if line.strip() else "#") - return "\n".join(comment_lines) - - -COINBASE_ADDRESS = "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" - -# Regex to strip YAML label syntax: -# -> 0xADDR (3-part) -# -> 0xADDR (2-part) -_LABEL_RE = re.compile(r"<[^>]*?(0x[0-9a-fA-F]+)>") - - -def _strip_label(s: str) -> str: - """Strip YAML label syntax, returning just the address.""" - m = _LABEL_RE.match(s.strip()) - if m: - return m.group(1).lower() - return s.strip().lower() - - -def _normalize_address(addr: str) -> str: - """Normalize an address to lowercase with 0x prefix.""" - addr = _strip_label(addr) - if not addr.startswith("0x"): - addr = "0x" + addr - return addr.lower() - - -def load_filler_expect_results(filler_path: Path) -> list[dict]: - """ - Load expect entries from a filler file. - - Return list of dicts with keys: - indexes: {"data": ..., "gas": ..., "value": ...} - result: {address: {field: value, ...}, ...} - """ - data = _load_filler_data(filler_path) - if not data: - return [] - try: - for _test_name, test_data in data.items(): - if not isinstance(test_data, dict): - continue - expect = test_data.get("expect", []) - if not isinstance(expect, list): - continue - - entries = [] - for expect_entry in expect: - if not isinstance(expect_entry, dict): - continue - raw_indexes = expect_entry.get("indexes", {}) - raw_result = expect_entry.get("result", {}) - - # Strip // prefixed keys (JSON comment hack) - indexes = { - k: v - for k, v in raw_indexes.items() - if not str(k).startswith("//") - } - result: dict[str, dict] = {} - for addr_key, fields in raw_result.items(): - if str(addr_key).startswith("//"): - continue - if not isinstance(fields, dict): - continue - norm_addr = _normalize_address(str(addr_key)) - # Strip // prefixed field keys - clean_fields = { - k: v - for k, v in fields.items() - if not str(k).startswith("//") - } - if clean_fields: - result[norm_addr] = clean_fields - - entries.append( - { - "indexes": indexes, - "result": result, - } - ) - return entries - return [] - except Exception: - return [] - - -def load_filler_tx_dimensions( - filler_path: Path, -) -> tuple[int, int, int] | None: - """ - Load transaction dimensions (data, gas, value) from a filler. - - Return (num_data, num_gas, num_value) or None on failure. - """ - data = _load_filler_data(filler_path) - if not data: - return None - try: - for _test_name, test_data in data.items(): - if not isinstance(test_data, dict): - continue - tx = test_data.get("transaction", {}) - if not isinstance(tx, dict): - continue - num_data = len(tx.get("data", [""])) - num_gas = len(tx.get("gasLimit", [""])) - num_value = len(tx.get("value", [""])) - return (num_data, num_gas, num_value) - return None - except Exception: - return None - - -def _index_matches(selector: Any, case_idx: int) -> bool: - """ - Check if an index selector matches a specific case index. - - Selector can be: - - -1: matches any index - - int: matches that exact index - - list: matches if case_idx is in the list (items can be ints or ranges) - - str range "0-2": matches 0, 1, 2 - - str label ":label ...": treated as matching the index position - """ - if isinstance(selector, int): - return selector == -1 or selector == case_idx - if isinstance(selector, str): - s = selector.strip() - # Range like "0-2" - range_match = re.match(r"^(\d+)-(\d+)$", s) - if range_match: - lo, hi = int(range_match.group(1)), int(range_match.group(2)) - return lo <= case_idx <= hi - # Label syntax — can't resolve without the data array, treat as match - if s.startswith(":label"): - return True - # Try as integer - try: - return int(s) == case_idx - except ValueError: - return True # Unknown format, be permissive - if isinstance(selector, list): - return any(_index_matches(item, case_idx) for item in selector) - return True # Unknown type, be permissive - - -def resolve_expect_for_case( - expect_entries: list[dict], - data_idx: int, - gas_idx: int, - value_idx: int, -) -> dict | None: - """Find the expect entry whose indexes match the given case.""" - for entry in expect_entries: - indexes = entry.get("indexes", {}) - d_sel = indexes.get("data", -1) - g_sel = indexes.get("gas", -1) - v_sel = indexes.get("value", -1) - if ( - _index_matches(d_sel, data_idx) - and _index_matches(g_sel, gas_idx) - and _index_matches(v_sel, value_idx) - ): - return entry.get("result") - return None - - -def extract_case_indices(fixture_key: str) -> tuple[int, int, int]: - """ - Extract (data_idx, gas_idx, value_idx) from fixture key. - - Key format: "tests/.../XFiller.json::TestName[d0g0v0-Cancun]" - """ - m = re.search(r"\[d(\d+)g(\d+)v(\d+)-", fixture_key) - if m: - return int(m.group(1)), int(m.group(2)), int(m.group(3)) - return 0, 0, 0 - - -# --------------------------------------------------------------------------- -# Code generation -# --------------------------------------------------------------------------- - - -def _find_top_level_eq(s: str) -> int: - """Find the position of '=' that is not inside parens/brackets.""" - depth = 0 - for i, ch in enumerate(s): - if ch in ("(", "["): - depth += 1 - elif ch in (")", "]"): - depth -= 1 - elif ch == "=" and depth == 0: - return i - return -1 - - -def _wrap_long_op_call(op_call: str, indent: str) -> str: - """ - Wrap a single long Op call across keyword arguments. - - E.g. Op.CALL(gas=X, address=Y, ...) becomes: - Op.CALL( - gas=X, - address=Y, - ... - ) - Recursively wraps nested calls that are also too long. - """ - # Find the opening paren - if "(" not in op_call: - return op_call - paren_pos = op_call.index("(") - func_name = op_call[: paren_pos + 1] - args_str = op_call[paren_pos + 1 : -1] # strip outer parens - - # Split by ", " but respect nested parens - args: list[str] = [] - depth = 0 - current = "" - for ch in args_str: - if ch in ("(", "["): - depth += 1 - elif ch in (")", "]"): - depth -= 1 - if ch == "," and depth == 0: - args.append(current.strip()) - current = "" - else: - current += ch - if current.strip(): - args.append(current.strip()) - - arg_indent = indent + " " - arg_lines: list[str] = [] - for a in args: - line = f"{arg_indent}{a}," - if len(line) > 79 and "(" in a: - # Find top-level '=' (not inside parens) - eq_pos = _find_top_level_eq(a) - if eq_pos > 0: - key = a[: eq_pos + 1] - val = a[eq_pos + 1 :] - wrapped_val = _wrap_long_op_call(val, arg_indent) - arg_lines.append(f"{arg_indent}{key}{wrapped_val},") - else: - arg_lines.append( - f"{arg_indent}{_wrap_long_op_call(a, arg_indent)}," - ) - else: - arg_lines.append(line) - return func_name + "\n" + "\n".join(arg_lines) + "\n" + indent + ")" - - -def _wrap_op_chain( - op_str: str, - indent: str = " ", - prefix: str = "code=", -) -> str: - """ - Wrap a long Op chain string to fit within 79 chars. - - Return the original string if it fits, otherwise wrap with - line continuations. - """ - # Use 78 to leave room for trailing comma - if len(indent + prefix + op_str) <= 78: - return op_str - parts = op_str.split(" + ") - - # Wrap individual Op calls that are too long on their own - max_part_len = 79 - len(indent + "+ ") - wrapped_parts = [] - for part in parts: - if len(part) > max_part_len and "(" in part: - wrapped_parts.append(_wrap_long_op_call(part, indent)) - else: - wrapped_parts.append(part) - - lines: list[str] = [] - current = wrapped_parts[0] - line_indent = indent + "+ " - for part in wrapped_parts[1:]: - has_newline = "\n" in current or "\n" in part - candidate = current + " + " + part - # First line has prefix, subsequent have "+ " - # Use 78 to leave room for trailing comma - if lines: - limit = 78 - len(line_indent) - else: - limit = 78 - len(indent + prefix) - if has_newline or len(candidate) > limit: - lines.append(current) - current = part - else: - current = candidate - lines.append(current) - joined = ("\n" + line_indent).join(lines) - close_indent = indent[4:] if len(indent) >= 4 else "" - return f"(\n{indent}{joined}\n{close_indent})" - - -def generate_code_expr( - hex_code: str, - indent: str = " ", - source_comment: str = "", -) -> tuple[str, str]: - """ - Generate Python code expression for bytecode. - - Returns (code_expr, pre_comment) where: - - code_expr is the Python expression (Op chain or bytes.fromhex fallback) - - pre_comment is the source language comment (if provided) - """ - if hex_code in ("0x", ""): - return 'b""', "" - - raw = hex_code[2:] if hex_code.startswith("0x") else hex_code - - # Indent source comment lines to match the surrounding code - comment = "" - if source_comment: - comment_indent = indent[4:] if len(indent) >= 4 else "" - comment = "\n".join( - f"{comment_indent}{line}" for line in source_comment.splitlines() - ) - - # Always use Op format — readable and round-trips to identical bytecode - op_str = bytecode_to_op_string(hex_code) - if op_str is not None: - wrapped = _wrap_op_chain(op_str, indent=indent, prefix="code=") - return wrapped, comment - - # bytes.fromhex fallback only if Op conversion fails entirely - if len(raw) > 72: - chunks = [raw[i : i + 72] for i in range(0, len(raw), 72)] - if len(chunks) == 1: - expr = f'bytes.fromhex(\n{indent}"{chunks[0]}"\n{indent[4:]})' - return expr, comment - hex_lines = f'"\n{indent}"'.join(chunks) - expr = f'bytes.fromhex(\n{indent}"{hex_lines}"\n{indent[4:]})' - return expr, comment - - return f'bytes.fromhex("{raw}")', comment - - -def generate_account_setup( - address: str, - account: dict[str, Any], - var_name: str, - indent: str = " ", - source_comment: str = "", - is_sender: bool = False, - var_is_used: bool = True, - already_defined: bool = False, -) -> str: - """ - Generate pre-state account setup code. - - For EOAs and the sender, emit pre[var] = Account(...). - For contracts, emit var = pre.deploy_contract(...). - For oversized contracts (>24576 bytes), keep pre[var] = Account(...). - - When already_defined is True, the variable (e.g. coinbase, sender) was - already emitted earlier, so deploy_contract is called without assignment - and uses address=var_name instead of a literal Address. - """ - lines = [] - code_hex = account.get("code", "0x") - balance = hex_to_int(account.get("balance", "0x00")) - nonce = hex_to_int(account.get("nonce", "0x00")) - storage = account.get("storage", {}) - - # Determine if this is an EOA (no code) or contract - is_eoa = code_hex in ("0x", "") - - # Check if contract code is oversized (>24576 bytes = >49152 hex chars) - raw_hex = code_hex[2:] if code_hex.startswith("0x") else code_hex - is_oversized = len(raw_hex) > 49152 - - # Use deploy_contract for non-oversized contracts - use_deploy = not is_eoa and not is_oversized - - if use_deploy: - # Build deploy_contract call - code_expr, code_comment = generate_code_expr( - code_hex, - indent=indent + " ", - source_comment=source_comment, - ) - if code_comment: - lines.append(code_comment.rstrip()) - - deploy_parts = [] - deploy_parts.append(f"code={code_expr}") - if storage: - deploy_parts.append(f"storage={format_storage(storage)}") - # balance: omit if 0 (deploy_contract default) - if balance != 0: - deploy_parts.append(f"balance={format_balance(balance)}") - # nonce: omit if 1 (deploy_contract default), emit otherwise - if nonce != 1: - deploy_parts.append(f"nonce={nonce}") - if already_defined: - addr_part = f"address={var_name}" - else: - padded = _pad_address(address) - addr_part = f'address=Address("{padded}")' - - # Always use multi-line for deploy_contract (address line needs - # noqa: E501 and the call is almost always long). - deploy_parts.append(addr_part) - if var_is_used and not already_defined: - lines.append(f"{indent}{var_name} = pre.deploy_contract(") - else: - lines.append(f"{indent}pre.deploy_contract(") - for i, part in enumerate(deploy_parts): - if i == len(deploy_parts) - 1 and part == addr_part: - # Last part is address — add noqa: E501 - lines.append(f"{indent} {part}, # noqa: E501") - else: - lines.append(f"{indent} {part},") - lines.append(f"{indent})") - else: - # Standard pre[var] = Account(...) form - parts = [] - parts.append(f"balance={format_balance(balance)}") - # Omit nonce=0 for sender (it's the default) - if is_sender: - if nonce != 0: - parts.append(f"nonce={nonce}") - else: - parts.append(f"nonce={nonce}") - - if not is_eoa: - code_expr, code_comment = generate_code_expr( - code_hex, indent=indent + " " - ) - if code_comment: - lines.append(code_comment.rstrip()) - parts.append(f"code={code_expr}") - - if storage: - parts.append(f"storage={format_storage(storage)}") - - # Format as single line or multi-line - single = f"{indent}pre[{var_name}] = Account({', '.join(parts)})" - if len(single) <= 79 and "\n" not in "".join(parts): - lines.append(single) - else: - lines.append(f"{indent}pre[{var_name}] = Account(") - for part in parts: - lines.append(f"{indent} {part},") - lines.append(f"{indent})") - - return "\n".join(lines) - - -def _parse_result_int(v: Any) -> int: - """Parse an int from a filler result value (may be str, int, hex).""" - if isinstance(v, int): - return v - s = str(v).strip() - if not s or s in ("0x", "0X"): - return 0 - # YAML label syntax: or - if s.startswith("<") and ":" in s: - m = re.search(r"(0x[0-9a-fA-F]+)", s) - if m: - return int(m.group(1), 16) - return 0 - if s.startswith("0x") or s.startswith("0X"): - return int(s, 16) - try: - return int(s) - except ValueError: - return 0 - - -def _format_storage_flat(storage: dict) -> str: - """Format storage dict on a single line (for parametrize values).""" - if not storage: - return "{}" - items = [] - for k, v in sorted(storage.items(), key=lambda x: _parse_result_int(x[0])): - key_int = _parse_result_int(k) - val_int = _parse_result_int(v) - items.append(f"{format_int(key_int)}: {format_int(val_int)}") - return "{" + ", ".join(items) + "}" - - -def _format_storage_from_result( - storage: dict, - indent: str = " ", -) -> str: - """Format storage dict from filler result.""" - if not storage: - return "{}" - items = [] - for k, v in sorted(storage.items(), key=lambda x: _parse_result_int(x[0])): - key_int = _parse_result_int(k) - val_int = _parse_result_int(v) - item = f"{format_int(key_int)}: {format_int(val_int)}" - items.append(item) - single = "{" + ", ".join(items) + "}" - if len(single) <= 50: - return single - formatted: list[str] = [] - for item in items: - formatted.append(item + ",") - inner = ("\n" + indent).join(formatted) - close = indent[4:] if len(indent) >= 4 else "" - return "{\n" + indent + inner + "\n" + close + "}" - - -def generate_post_dict( - result: dict[str, dict], - addr_vars: dict[str, str], -) -> str: - """ - Generate the post = {...} dict from filler expect result. - - Handle all 5 field types: storage, nonce, balance, code, shouldnotexist. - Skip coinbase address. - """ - lines = [" post = {"] - has_entries = False - for addr, fields in sorted(result.items()): - # Skip coinbase - if addr.lower() == COINBASE_ADDRESS: - continue - padded = _pad_address(addr) - var = addr_vars.get(addr.lower(), f'Address("{padded}")') - - # shouldnotexist - if "shouldnotexist" in fields: - lines.append(f" {var}: Account.NONEXISTENT,") - has_entries = True - continue - - parts = [] - if "storage" in fields: - parts.append( - f"storage={_format_storage_from_result(fields['storage'])}" - ) - if "nonce" in fields: - parts.append(f"nonce={_parse_result_int(fields['nonce'])}") - if "balance" in fields: - val = _parse_result_int(fields["balance"]) - parts.append(f"balance={format_balance(val)}") - if parts: - parts_str = ", ".join(parts) - single = f" {var}: Account({parts_str})," - if len(single) <= 79 and "\n" not in parts_str: - lines.append(single) - else: - lines.append(f" {var}: Account(") - for p in parts: - lines.append(f" {p},") - lines.append(" ),") - has_entries = True - lines.append(" }") - if not has_entries: - return " post: dict = {}" - return "\n".join(lines) - - -def _truncate_at_word(text: str, max_len: int) -> str: - """Truncate text at a word boundary, appending '...'.""" - if len(text) <= max_len: - return text - # Find last space before the limit (leaving room for "...") - cut = text.rfind(" ", 0, max_len - 3) - if cut <= 0: - # No space found; hard-cut - return text[: max_len - 3] + "..." - return text[:cut] + "..." - - -def _pad_address(addr: str) -> str: - """Pad a short hex address to 40 hex chars (20 bytes).""" - raw = addr[2:] if addr.startswith("0x") else addr - if len(raw) < 40: - raw = raw.zfill(40) - return "0x" + raw - - -def generate_post_value_string(result: dict | None) -> str: - """ - Generate a post dict expression for use in parametrize values. - - Use Address("0x...") literals (not variable names) since parametrize - evaluates at module import time. Return "{}" for None/empty results. - """ - if not result: - return "{}" - parts: list[str] = [] - for addr, fields in sorted(result.items()): - if addr.lower() == COINBASE_ADDRESS: - continue - - # Skip unresolved Yul/label addresses - if "<" in addr: - continue - - padded = _pad_address(addr) - - if "shouldnotexist" in fields: - parts.append(f'Address("{padded}"): Account.NONEXISTENT') - continue - - acct_parts: list[str] = [] - if "storage" in fields: - acct_parts.append( - f"storage={_format_storage_from_result(fields['storage'])}" - ) - if "nonce" in fields: - acct_parts.append(f"nonce={_parse_result_int(fields['nonce'])}") - if "balance" in fields: - val = _parse_result_int(fields["balance"]) - acct_parts.append(f"balance={format_balance(val)}") - - if acct_parts: - acct_str = ", ".join(acct_parts) - parts.append(f'Address("{padded}"): Account({acct_str})') - - if not parts: - return "{}" - if len(parts) == 1: - return "{" + parts[0] + "}" - inner = ", ".join(parts) - return "{" + inner + "}" - - -def _generate_post_from_fixture_state( - post_state: dict[str, dict], - addr_vars: dict[str, str], -) -> str: - """ - Generate the post = {...} dict from compiled fixture post state. - - The fixture post state format is: - {address: {balance: "0x...", nonce: "0x...", code: "0x...", - storage: {key: value}}} - - Only assert on storage and code (not balance/nonce) since those - depend on gas costs which vary across forks. - Skip coinbase and accounts with no interesting assertions. - """ - lines = [" post = {"] - has_entries = False - for addr, fields in sorted(post_state.items()): - addr_l = addr.lower() - # Skip coinbase - if addr_l == COINBASE_ADDRESS: - continue - padded = _pad_address(addr_l) - var = addr_vars.get(addr_l, f'Address("{padded}")') - - parts = [] - if "storage" in fields and fields["storage"]: - parts.append( - f"storage={_format_storage_from_result(fields['storage'])}" - ) - - if parts: - parts_str = ", ".join(parts) - single = f" {var}: Account({parts_str})," - if len(single) <= 79 and "\n" not in parts_str: - lines.append(single) - else: - lines.append(f" {var}: Account(") - for j, p in enumerate(parts): - comma = "," if j < len(parts) - 1 else "," - lines.append(f" {p}{comma}") - lines.append(" ),") - has_entries = True - - lines.append(" }") - if not has_entries: - return " post: dict = {}" - return "\n".join(lines) - - -def _generate_post_value_from_fixture_state( - post_state: dict[str, dict], -) -> str: - """ - Generate a post dict expression from fixture state for parametrize. - - Use Address("0x...") literals (not variable names). - Only assert on storage and code (not balance/nonce). - Return "{}" for empty state. - """ - if not post_state: - return "{}" - parts: list[str] = [] - for addr, fields in sorted(post_state.items()): - addr_l = addr.lower() - if addr_l == COINBASE_ADDRESS: - continue - padded = _pad_address(addr_l) - - acct_parts: list[str] = [] - if "storage" in fields and fields["storage"]: - # Flat format for parametrize (no multiline wrapping) - acct_parts.append( - f"storage={_format_storage_flat(fields['storage'])}" - ) - - if acct_parts: - acct_str = ", ".join(acct_parts) - parts.append(f'Address("{padded}"): Account({acct_str})') - - if not parts: - return "{}" - # Parametrize values stay on one line (ruff format + noqa post-step) - if len(parts) == 1: - return "{" + parts[0] + "}" - inner = ", ".join(parts) - return "{" + inner + "}" - - -def post_value_uses_op(post_str: str) -> bool: - """Check whether a post value string references Op.""" - return "Op." in post_str - - -def generate_test_file( - fixture_data: dict[str, Any], - filler_path: str, - filler_comment: str, - valid_until: str | None = None, - valid_from_override: str | None = None, - filler_full_path: Path | None = None, # noqa: ARG001 - code_sources: _FillerCodeSources | None = None, - slow: bool = False, - fork_for_post: str | None = None, - func_name_suffix: str = "", -) -> str: - """ - Generate a complete Python test file from fixture data. - - Parameters - ---------- - fixture_data - Parsed JSON fixture mapping test keys to test data. - filler_path - Relative path for the filler comment in the generated file. - filler_comment - Comment string identifying the source filler. - valid_until - Last fork name for which this test is valid (None = no bound). - valid_from_override - Override the detected valid_from fork name. - filler_full_path - Absolute path to the filler file (unused). - code_sources - Pre-resolved code source mappings for bytecode generation. - slow - Whether to mark the generated test with @pytest.mark.slow. - fork_for_post - If set, extract post-state from this fork instead of the - earliest fork. Used for fork-range-specific test functions. - func_name_suffix - Appended to the test function name (e.g. "_from_prague"). - - """ - # Compiled fixtures have one top-level key per (case × fork). - # Collect all forks, find the earliest, then collect cases for that fork. - all_keys = list(fixture_data.keys()) - first_test = fixture_data[all_keys[0]] - - env = first_test["env"] - - # Merge pre from ALL cases — different cases may deploy different - # contracts (e.g. test_push has 32 cases each with a unique contract). - pre: dict[str, Any] = {} - for key in all_keys: - for addr, acct in fixture_data[key]["pre"].items(): - if addr.lower() not in {a.lower() for a in pre}: - pre[addr] = acct - - # Detect all forks present across all entries - all_forks: set[str] = set() - for key in all_keys: - test = fixture_data[key] - all_forks.update(test["post"].keys()) - # Use filler network lower bound if available, else earliest from - # fixture post keys - fork_name = valid_from_override or earliest_fork(all_forks) - - # When generating for a specific fork range, use that fork's - # post-state instead of the earliest fork's. - post_fork = fork_for_post or fork_name - - # Collect all cases for this fork - cases_for_fork: list[dict[str, Any]] = [] - for key in all_keys: - test = fixture_data[key] - if post_fork in test["post"]: - tx = test["transaction"] - post_entry = test["post"][post_fork][0] - post_state = post_entry.get("state", {}) - expect_exception = post_entry.get("expectException") - # accessLists is a list of access lists (one per case index) - access_lists = tx.get("accessLists", []) - al = ( - access_lists[0] if access_lists else None - ) # None = no access list - case_to = (tx.get("to") or "").lower() - cases_for_fork.append( - { - "data": tx["data"][0] if tx["data"] else "0x", - "gas_limit": hex_to_int(tx["gasLimit"][0]) - if tx["gasLimit"] - else 100000, - "value": hex_to_int(tx["value"][0]) if tx["value"] else 0, - "access_list": al, - "expect_exception": expect_exception, - "post_state": post_state, - "to": case_to, - } - ) - - is_multi = len(cases_for_fork) > 1 - - # Use first case's tx for shared fields (secret_key, to, gas_price, nonce) - tx = first_test["transaction"] - - # Determine test name - filler_stem = Path(filler_path).stem # e.g. "callcode_checkPCFiller" - test_func_name = filler_name_to_test_name(filler_stem) + func_name_suffix - - # Identify accounts - sender_addr = tx.get("sender", "").lower() - to_addr = (tx.get("to") or "").lower() - coinbase_addr = env.get("currentCoinbase", "").lower() - - # Build address variable mapping - addr_vars: dict[str, str] = {} - var_names: list[tuple[str, str, str]] = [] # (addr, var_name, display) - - # Always add coinbase - if coinbase_addr: - addr_vars[coinbase_addr] = "coinbase" - var_names.append((coinbase_addr, "coinbase", coinbase_addr)) - - # Add sender - if sender_addr: - addr_vars[sender_addr] = "sender" - var_names.append((sender_addr, "sender", sender_addr)) - - # Reserve "contract" for the to_addr first - if to_addr and to_addr not in addr_vars: - addr_vars[to_addr] = "contract" - var_names.append((to_addr, "contract", to_addr)) - - # Add other accounts with unique names - contract_idx = 0 - for addr in sorted(pre.keys()): - addr_l = addr.lower() - if addr_l in addr_vars: - continue - if contract_idx == 0 and "contract" not in addr_vars.values(): - name = "contract" - else: - name = f"callee_{contract_idx}" if contract_idx > 0 else "callee" - addr_vars[addr_l] = name - var_names.append((addr_l, name, addr_l)) - contract_idx += 1 - - # Module docstring - doc_lines = [] - if filler_comment: - comment_lines = [line.rstrip() for line in filler_comment.splitlines()] - # Find first non-empty line for the summary - summary = "" - rest_start = 0 - for i, line in enumerate(comment_lines): - if line.strip(): - summary = line.strip() - rest_start = i + 1 - break - if not summary: - summary = "Test ported from static filler" - # D404: first word should not be "This" - if summary.startswith("This "): - summary = summary[5:] - summary = summary[0].upper() + summary[1:] - # D400/D415: ensure ends with punctuation - if summary and summary[-1] not in ".?!": - summary += "." - # Truncate/wrap summary to 79 chars - if len(summary) > 79: - summary = _truncate_at_word(summary, 79) - doc_lines.append(summary) - # Add remaining lines with blank separator - remaining = comment_lines[rest_start:] - if remaining and any(x.strip() for x in remaining): - doc_lines.append("") - for line in remaining: - if len(line) <= 79: - doc_lines.append(line) - elif line.startswith("http"): - # Don't wrap URLs — add noqa - doc_lines.append(line) - else: - doc_lines.extend(textwrap.wrap(line, width=79)) - doc_lines.append("") - else: - doc_lines.append("Test ported from static filler.") - doc_lines.append("") - doc_lines.append("Ported from:") - if len(filler_path) > 79: - # Break path at directory separator - parts = filler_path.split("/") - current = parts[0] - for p in parts[1:]: - candidate = current + "/" + p - if len(candidate) > 79: - doc_lines.append(current) - current = p - else: - current = candidate - doc_lines.append(current) - else: - doc_lines.append(filler_path) - - # Add assembly summaries for contracts - for addr in sorted(pre.keys()): - addr_l = addr.lower() - code_hex = pre[addr].get("code", "0x") - if code_hex in ("0x", ""): - continue - var = addr_vars.get(addr_l, addr) - asm = bytecode_to_assembly_summary(code_hex) - if asm: - doc_lines.append("") - doc_lines.append(f"{var} code:") - for line in asm.split("\n"): - doc_lines.append(f" {line}") - - # Escape content that would break triple-quoted docstrings - safe_lines = [ - line.replace("\\", "\\\\").replace('"""', '""\\"') - for line in doc_lines - ] - module_doc = '"""\n' + "\n".join(safe_lines) + '\n"""' - - # Check if we need Op import - needs_op = False - for addr in pre: - code_hex = pre[addr].get("code", "0x") - if ( - code_hex not in ("0x", "") - and bytecode_to_op_string(code_hex) is not None - ): - needs_op = True - break - - # Check if we need AccessList import (non-empty lists only) - needs_access_list = any(c["access_list"] for c in cases_for_fork) - # Check if we need TransactionException import - needs_tx_exception = any(c.get("expect_exception") for c in cases_for_fork) - - # Check if Hash is needed (e.g. in access_list entries or blob hashes) - needs_hash = False - blob_hashes = tx.get("blobVersionedHashes") - if blob_hashes: - needs_hash = True - if not needs_hash and is_multi: - # Check if any access list entries use Hash - for c in cases_for_fork: - al = c.get("access_list") - if al: - for entry in al: - if entry.get("storageKeys"): - needs_hash = True - break - if needs_hash: - break - if not needs_hash and not is_multi: - al = cases_for_fork[0].get("access_list") - if al: - for entry in al: - if entry.get("storageKeys"): - needs_hash = True - break - - # Build imports - imports = [ - "import pytest", - "from execution_testing import (", - ] - if needs_access_list: - imports.append(" AccessList,") - imports.extend( - [ - " Account,", - " Address,", - " Alloc,", - " EOA,", - " Environment,", - ] - ) - if needs_hash: - imports.append(" Hash,") - imports.extend( - [ - " StateTestFiller,", - " Transaction,", - ] - ) - if needs_tx_exception: - imports.append(" TransactionException,") - imports.append(")") - if needs_op: - imports.append("from execution_testing.vm import Op") - - # Build env - env_parts = [] - env_parts.append("fee_recipient=coinbase") - - num = hex_to_int(env.get("currentNumber", "0x01")) - env_parts.append(f"number={num}") - - ts = hex_to_int(env.get("currentTimestamp", "0x03e8")) - env_parts.append(f"timestamp={ts}") - - diff = hex_to_int(env.get("currentDifficulty", "0x00")) - if diff > 0: - env_parts.append(f"difficulty={hex(diff)}") - - randao = hex_to_int(env.get("currentRandom", "0x00")) - if randao > 0: - env_parts.append(f"prev_randao={hex(randao)}") - - base_fee = hex_to_int(env.get("currentBaseFee", "0x0a")) - if base_fee > 0: - env_parts.append(f"base_fee_per_gas={base_fee}") - - excess_blob = hex_to_int(env.get("currentExcessBlobGas", "0x00")) - if excess_blob > 0: - env_parts.append(f"excess_blob_gas={excess_blob}") - - # Include gas_limit from original fixture for hasher match. - # Amsterdam update: remove this to get framework default 100M. - block_gas_limit = hex_to_int(env.get("currentGasLimit", "0x05f5e100")) - env_parts.append(f"gas_limit={block_gas_limit}") - - # Detect which tx params vary across cases - if is_multi: - all_data = [c["data"] for c in cases_for_fork] - all_gas = [c["gas_limit"] for c in cases_for_fork] - all_val = [c["value"] for c in cases_for_fork] - all_to = [c["to"] for c in cases_for_fork] - all_al = [ - json.dumps(c["access_list"], sort_keys=True) - for c in cases_for_fork - ] - all_exc = [c.get("expect_exception") or "" for c in cases_for_fork] - data_varies = len(set(all_data)) > 1 - gas_varies = len(set(all_gas)) > 1 - value_varies = len(set(all_val)) > 1 - to_varies = len(set(all_to)) > 1 - al_varies = len(set(all_al)) > 1 - exc_varies = len(set(all_exc)) > 1 - - # Extract secret key for EOA - secret_key_hex = tx["secretKey"] - if secret_key_hex.startswith("0x"): - secret_key_hex = secret_key_hex[2:] - - # Build tx - tx_parts = [] - tx_parts.append("sender=sender") - - if is_multi and to_varies: - tx_parts.append("to=tx_to") - elif to_addr: - q = chr(34) - fallback = f"Address({q}{to_addr}{q})" - tx_parts.append(f"to={addr_vars.get(to_addr, fallback)}") - else: - tx_parts.append("to=None") - - # For single-case, use values directly - if not is_multi: - case = cases_for_fork[0] - data_hex = case["data"] - data_raw = data_hex[2:] if data_hex.startswith("0x") else data_hex - if data_raw: - if len(data_raw) > 72: - chunks = [ - data_raw[i : i + 72] for i in range(0, len(data_raw), 72) - ] - hex_joined = '"\n "'.join(chunks) - fromhex = ( - f"data=bytes.fromhex(\n" - f' "{hex_joined}"\n' - f" )" - ) - tx_parts.append(fromhex) - else: - tx_parts.append(f'data=bytes.fromhex("{data_raw}")') - # Omit data=b"" (default) - if case["gas_limit"] != 21000: - tx_parts.append(f"gas_limit={case['gas_limit']}") - else: - if data_varies: - tx_parts.append("data=tx_data") - else: - data_hex = cases_for_fork[0]["data"] - data_raw = data_hex[2:] if data_hex.startswith("0x") else data_hex - if data_raw: - if len(data_raw) > 55: - chunks = [ - data_raw[i : i + 72] - for i in range(0, len(data_raw), 72) - ] - hex_joined = '"\n "'.join(chunks) - fromhex = ( - f"data=bytes.fromhex(\n" - f' "{hex_joined}"\n' - f" )" - ) - tx_parts.append(fromhex) - else: - tx_parts.append(f'data=bytes.fromhex("{data_raw}")') - # Omit data=b"" (default) - if gas_varies: - tx_parts.append("gas_limit=tx_gas_limit") - else: - if cases_for_fork[0]["gas_limit"] != 21000: - tx_parts.append(f"gas_limit={cases_for_fork[0]['gas_limit']}") - - gas_price = tx.get("gasPrice") - max_fee = tx.get("maxFeePerGas") - max_priority = tx.get("maxPriorityFeePerGas") - max_fee_blob = tx.get("maxFeePerBlobGas") - blob_hashes = tx.get("blobVersionedHashes") - - if max_fee: - tx_parts.append(f"max_fee_per_gas={hex_to_int(max_fee)}") - if max_priority and hex_to_int(max_priority) != 0: - tx_parts.append( - f"max_priority_fee_per_gas={hex_to_int(max_priority)}" - ) - elif gas_price and hex_to_int(gas_price) != 10: - tx_parts.append(f"gas_price={hex_to_int(gas_price)}") - - if max_fee_blob: - tx_parts.append(f"max_fee_per_blob_gas={hex_to_int(max_fee_blob)}") - if blob_hashes is not None: - if blob_hashes: - hash_items = [f'Hash("{h}")' for h in blob_hashes] - single = "blob_versioned_hashes=[" + ", ".join(hash_items) + "]" - if len(" " + single + ",") <= 79: - tx_parts.append(single) - else: - inner = ",\n ".join(hash_items) - tx_parts.append( - "blob_versioned_hashes=[\n" - " " + inner + ",\n" - " ]" - ) - else: - tx_parts.append("blob_versioned_hashes=[]") - - tx_nonce = hex_to_int(tx.get("nonce", "0x00")) - if tx_nonce != 0: - tx_parts.append(f"nonce={tx_nonce}") - - if not is_multi: - if cases_for_fork[0]["value"] != 0: - tx_parts.append(f"value={cases_for_fork[0]['value']}") - # Access list for single case (omit empty list, it's the default) - al = cases_for_fork[0]["access_list"] - if al: - tx_parts.append(f"access_list={_format_access_list(al)}") - elif value_varies: - tx_parts.append("value=tx_value") - else: - if cases_for_fork[0]["value"] != 0: - tx_parts.append(f"value={cases_for_fork[0]['value']}") - - # Access list for multi-case (omit empty list, it's the default) - if is_multi: - if al_varies: - tx_parts.append("access_list=tx_access_list") - else: - al = cases_for_fork[0]["access_list"] - if al: - tx_parts.append(f"access_list={_format_access_list(al)}") - - # Expected transaction error (e.g. blob tx with to=None) - if is_multi and exc_varies: - tx_parts.append("error=tx_error") - else: - expect_exception = cases_for_fork[0].get("expect_exception") - if expect_exception: - tx_parts.append(f"error={_format_exception(expect_exception)}") - - # ----------------------------------------------------------------------- - # Compute post-state assertions from compiled fixture post state - # ----------------------------------------------------------------------- - post_code = " post: dict = {}" - extra_param_name: str | None = None # e.g. "expected_storage" - extra_param_vals: list[str] = [] # per-case values - extra_func_param: str | None = None # e.g. " expected_storage: dict," - - if not is_multi: - # Single-case: use compiled fixture's post state directly - ps = cases_for_fork[0].get("post_state", {}) - if ps: - post_code = _generate_post_from_fixture_state(ps, addr_vars) - else: - # Multi-case: check if all post states are identical - all_post_states = [c.get("post_state", {}) for c in cases_for_fork] - all_same = len(all_post_states) > 0 and all( - ps == all_post_states[0] for ps in all_post_states - ) - - if all_same and all_post_states[0]: - post_code = _generate_post_from_fixture_state( - all_post_states[0], addr_vars - ) - elif any(all_post_states): - extra_param_name = "expected_post" - extra_func_param = " expected_post: dict," - for ps in all_post_states: - extra_param_vals.append( - _generate_post_value_from_fixture_state(ps) - ) - post_code = " post = expected_post" - - # Check if post assertions use Op (needs import) - if "Op." in post_code: - needs_op = True - if any(post_value_uses_op(v) for v in extra_param_vals): - needs_op = True - # Add Op import if detected after initial import build - op_import = "from execution_testing.vm import Op" - if needs_op and op_import not in imports: - imports.append(op_import) - - # ----------------------------------------------------------------------- - # Assemble the file - # ----------------------------------------------------------------------- - out = [] - out.append(module_doc) - out.append("") - out.extend(imports) - out.append("") - out.append('REFERENCE_SPEC_GIT_PATH = "N/A"') - out.append('REFERENCE_SPEC_VERSION = "N/A"') - out.append("") - - # Parametrize for multi-case - if is_multi: - # Build parameter names and values based on what varies - param_names = [] - if to_varies: - param_names.append("tx_to") - if data_varies: - param_names.append("tx_data_hex") - if gas_varies: - param_names.append("tx_gas_limit") - if value_varies: - param_names.append("tx_value") - if al_varies: - param_names.append("tx_access_list") - if exc_varies: - param_names.append("tx_error") - if extra_param_name: - param_names.append(extra_param_name) - - out.append("") - ported_line = f' ["{filler_path}"],' - if len(ported_line) > 79: - out.append("@pytest.mark.ported_from(") - inner = f' "{filler_path}",' - out.append(" [") - out.append(inner) - out.append(" ],") - out.append(")") - else: - out.append("@pytest.mark.ported_from(") - out.append(ported_line) - out.append(")") - out.append(f'@pytest.mark.valid_from("{fork_name}")') - if valid_until: - out.append(f'@pytest.mark.valid_until("{valid_until}")') - - # Build parametrize values - param_vals = [] - param_ids = [] - case_has_exc = [] - for i, case in enumerate(cases_for_fork): - vals = [] - if to_varies: - if case["to"]: - padded_to = _pad_address(case["to"]) - vals.append(f'Address("{padded_to}")') - else: - vals.append("None") - if data_varies: - data_raw = ( - case["data"][2:] - if case["data"].startswith("0x") - else case["data"] - ) - vals.append(f'"{data_raw}"') - if gas_varies: - vals.append(str(case["gas_limit"])) - if value_varies: - vals.append(str(case["value"])) - if al_varies: - al = case["access_list"] - if al is None: - vals.append("None") - else: - vals.append(_format_access_list(al, multiline=False)) - if exc_varies: - exc = case.get("expect_exception") or "" - if exc: - vals.append(_format_exception(exc)) - case_has_exc.append(True) - else: - vals.append("None") - case_has_exc.append(False) - else: - case_has_exc.append(False) - if extra_param_vals: - vals.append( - extra_param_vals[i] if i < len(extra_param_vals) else "{}" - ) - param_vals.append(vals) - param_ids.append(f"case{i}") - - if exc_varies: - # Use pytest.param for entries (each needs id + marks) - out.append("@pytest.mark.parametrize(") - names_line = f' "{", ".join(param_names)}",' - out.append(names_line) - out.append(" [") - for i, (vals, has_exc) in enumerate( - zip(param_vals, case_has_exc, strict=True) - ): - if has_exc: - joined = ", ".join(vals) - pid = param_ids[i] - entry = ( - f"pytest.param({joined}," - f' id="{pid}",' - f" marks=pytest.mark.exception_test)" - ) - elif len(vals) == 1: - entry = f'pytest.param({vals[0]}, id="{param_ids[i]}")' - else: - entry = ( - f'pytest.param({", ".join(vals)}, id="{param_ids[i]}")' - ) - line = f" {entry}," - out.append(line) - out.append(" ],") - out.append(")") - elif len(param_names) == 1: - out.append("@pytest.mark.parametrize(") - out.append(f' "{param_names[0]}",') - out.append(" [") - for vals in param_vals: - line = f" {vals[0]}," - out.append(line) - out.append(" ],") - ids_line = f" ids={param_ids}," - out.append(ids_line) - out.append(")") - else: - out.append("@pytest.mark.parametrize(") - names_line2 = f' "{", ".join(param_names)}",' - out.append(names_line2) - out.append(" [") - for vals in param_vals: - line = f" ({', '.join(vals)})," - out.append(line) - out.append(" ],") - ids_line = f" ids={param_ids}," - out.append(ids_line) - out.append(")") - else: - out.append("") - ported_line = f' ["{filler_path}"],' - if len(ported_line) > 79: - out.append("@pytest.mark.ported_from(") - inner = f' "{filler_path}",' - out.append(" [") - out.append(inner) - out.append(" ],") - out.append(")") - else: - out.append("@pytest.mark.ported_from(") - out.append(ported_line) - out.append(")") - out.append(f'@pytest.mark.valid_from("{fork_name}")') - if valid_until: - out.append(f'@pytest.mark.valid_until("{valid_until}")') - - # pre_alloc_mutable since generated tests assign pre[addr] = Account(...) - out.append("@pytest.mark.pre_alloc_mutable") - - if slow: - out.append("@pytest.mark.slow") - - # Add exception_test marker if ALL cases expect transaction failure - # (when exc_varies, some cases succeed so the global marker can't be used) - if needs_tx_exception and not (is_multi and exc_varies): - out.append("@pytest.mark.exception_test") - - # Function signature - func_params = [" state_test: StateTestFiller,", " pre: Alloc,"] - if is_multi: - if to_varies: - func_params.append(" tx_to: Address,") - if data_varies: - func_params.append(" tx_data_hex: str,") - if gas_varies: - func_params.append(" tx_gas_limit: int,") - if value_varies: - func_params.append(" tx_value: int,") - if al_varies: - func_params.append(" tx_access_list: list | None,") - if exc_varies: - func_params.append(" tx_error: object,") - if extra_func_param: - func_params.append(extra_func_param) - def_line = f"def {test_func_name}(" - out.append(def_line) - out.extend(func_params) - out.append(") -> None:") - - # Function docstring — single-line, with punctuation (D400/D415) - func_doc = filler_comment.split("\n")[0].rstrip() if filler_comment else "" - # D404: first word should not be "This" - if func_doc.startswith("This "): - func_doc = func_doc[5:] - if not func_doc: - func_doc = "Test ported from static filler" - # Capitalize first letter (D403) - func_doc = func_doc[0].upper() + func_doc[1:] - if func_doc[-1] not in ".?!": - func_doc += "." - # Truncate if too long for single-line docstring (79 - 4 - 6 = 69) - if len(func_doc) > 69: - func_doc = _truncate_at_word(func_doc, 69) - # Escape content that would break triple-quoted docstrings - func_doc = func_doc.replace("\\", "\\\\") - func_doc = func_doc.replace('"""', '""\\"') - out.append(f' """{func_doc}"""') - - # Determine which accounts will use deploy_contract (so we skip - # emitting a separate Address variable for them — deploy_contract - # assigns the variable directly). - deploy_contract_vars: set[str] = set() - for addr in sorted(pre.keys()): - addr_l = addr.lower() - var = addr_vars.get(addr_l, "") - code_hex = pre[addr].get("code", "0x") - raw_hex = code_hex[2:] if code_hex.startswith("0x") else code_hex - is_eoa_acct = code_hex in ("0x", "") - is_oversized_acct = len(raw_hex) > 49152 - is_sender_acct = var == "sender" - if not is_eoa_acct and not is_oversized_acct: - deploy_contract_vars.add(var) - - # Address variables — only emit if used somewhere - pre_addrs = {a.lower() for a in pre.keys()} - all_code = post_code + " ".join(str(p) for p in tx_parts) - sender_emitted = False - for addr, var, _ in var_names: - # Skip vars that will be assigned by deploy_contract - # (but not coinbase — it must be defined before env) - if var in deploy_contract_vars and var != "coinbase": - continue - used = ( - addr in pre_addrs - or var == "coinbase" # fee_recipient=coinbase - or var == "sender" # always used (Transaction sender=sender) - or bool(re.search(rf"\b{re.escape(var)}\b", all_code)) - ) - if used: - if var == "sender": - out.append( - f" sender = EOA(\n key=0x{secret_key_hex}\n )" - ) - sender_emitted = True - else: - out.append(f' {var} = Address("{_pad_address(addr)}")') - # Handle "no sender" tests: sender not in var_names but we still need it - if not sender_emitted: - out.append(f" sender = EOA(\n key=0x{secret_key_hex}\n )") - out.append("") - - # Environment - out.append(" env = Environment(") - for p in env_parts: - out.append(f" {p},") - out.append(" )") - out.append("") - - # Pre-state accounts - src = code_sources or _FillerCodeSources() - for addr in sorted(pre.keys()): - addr_l = addr.lower() - var = addr_vars.get(addr_l, f'Address("{addr}")') - code_hex = pre[addr].get("code", "0x") - src_comment = src.lookup( - addr_l, - code_hex, - is_to_addr=(addr_l == to_addr), - ) - is_sender_acct = addr_l == sender_addr - is_var_used = ( - bool(re.search(rf"\b{re.escape(var)}\b", all_code)) - or var == "coinbase" - ) - # coinbase and sender are already defined (as Address / EOA) - # before the pre-state section, so deploy_contract should not - # re-assign them. - is_already_defined = var in ("coinbase", "sender") - account_code = generate_account_setup( - addr_l, - pre[addr], - var, - indent=" ", - source_comment=src_comment, - is_sender=is_sender_acct, - var_is_used=is_var_used, - already_defined=is_already_defined, - ) - out.append(account_code) - - out.append("") - - # Multi-case tx data conversion - if is_multi and data_varies: - out.append( - ' tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b""' - ) - out.append("") - - # Transaction - out.append(" tx = Transaction(") - for p in tx_parts: - out.append(f" {p},") - out.append(" )") - out.append("") - - # Post state assertions - out.append(post_code) - - out.append("") - out.append(" state_test(env=env, pre=pre, post=post, tx=tx)") - out.append("") - - return "\n".join(out) - - -# --------------------------------------------------------------------------- -# Main -# --------------------------------------------------------------------------- - - -# Reverse lookup: lowercase fork dir name -> canonical fork name -_DIR_TO_FORK = {name.lower(): name for name in FORK_ORDER} - - -def _extract_fork_from_path(path: Path, root: Path) -> str | None: - """Extract the fork name from a for_* directory in the path.""" - for part in path.relative_to(root).parts: - if part.startswith("for_"): - name = part[4:] - return _DIR_TO_FORK.get(name) - return None - - -def _group_fixture_candidates( - fixtures_dir: Path, -) -> dict[str, list[tuple[str, Path]]]: - """ - Group fixture JSON files by identity across for_* directories. - - Return a dict mapping identity (path after for_*/) to list of - (fork_name, path) pairs. - """ - candidates: list[Path] = [] - for p in fixtures_dir.rglob("*.json"): - if ".meta" in p.parts: - continue - rel = str(p.relative_to(fixtures_dir)) - # Must be under state_tests/for_* (not blockchain_tests) - if not rel.startswith("state_tests/") and "/state_tests/" not in rel: - continue - if "/for_" not in rel and not rel.startswith("for_"): - continue - if "ported_static" in rel: - continue - candidates.append(p) - - groups: dict[str, list[tuple[str, Path]]] = {} - for p in candidates: - rel = str(p.relative_to(fixtures_dir)) - idx = rel.find("/static/") - if idx >= 0: - identity = rel[idx + len("/static/") :] - else: - import re as _re - - m = _re.search(r"/for_[^/]+/", rel) - if m: - identity = rel[m.end() :] - elif rel.startswith("for_"): - slash = rel.find("/") - identity = rel[slash + 1 :] if slash >= 0 else rel - else: - continue - fork = _extract_fork_from_path(p, fixtures_dir) - if fork is None: - continue - groups.setdefault(identity, []).append((fork, p)) - return groups - - -def find_fixture_files(fixtures_dir: Path) -> list[Path]: - """ - Find state_test fixture JSON files from static fillers. - - Supports two output layouts: - - with ``static/``: state_tests/for_*/static/state_tests/{cat}/… - - without: state_tests/for_*/{cat}/… - - When the same fixture exists across multiple for_* directories - (e.g. for_cancun, for_prague), only the earliest fork's file is - kept so that valid_from is set correctly. - """ - groups = _group_fixture_candidates(fixtures_dir) - - # Pick the earliest fork per fixture - results = [] - for _identity, fork_paths in groups.items(): - known = [(f, p) for f, p in fork_paths if f in FORK_RANK] - if known: - known.sort(key=lambda fp: FORK_RANK[fp[0]]) - results.append(known[0][1]) - else: - results.append(fork_paths[0][1]) - - return sorted(results) - - -def find_fixture_files_grouped( - fixtures_dir: Path, -) -> list[tuple[Path, dict[str, Path]]]: - """ - Find fixture files and return with all fork variants. - - Return a list of (earliest_path, {fork: path}) for each unique - fixture identity. - """ - groups = _group_fixture_candidates(fixtures_dir) - - results = [] - for _identity, fork_paths in groups.items(): - known = [(f, p) for f, p in fork_paths if f in FORK_RANK] - if not known: - fp_dict = {fork_paths[0][0]: fork_paths[0][1]} - results.append((fork_paths[0][1], fp_dict)) - continue - known.sort(key=lambda fp: FORK_RANK[fp[0]]) - fp_dict = dict(known) - results.append((known[0][1], fp_dict)) - - return sorted(results, key=lambda x: x[0]) - - -def fixture_to_filler_path(fixture_data: dict) -> str | None: - """Extract the filler path from a fixture's test key.""" - for key in fixture_data: - # Key: "tests/static/.../XFiller.json::TestName[...]" - if "::" in key: - return key.split("::")[0] - return None - - -def process_single_fixture( - fixture_path: Path, - fillers_dir: Path, - output_dir: Path, - all_fork_paths: dict[str, Path] | None = None, -) -> tuple[bool, str]: - """ - Process a single fixture file. Returns (success, message). - - Parameters - ---------- - fixture_path - Path to the fixture JSON file to process. - fillers_dir - Root directory containing filler source files. - output_dir - Directory where the generated Python test file is written. - all_fork_paths - If provided, a dict mapping fork name to fixture path for all - forks that have this test. Used to detect fork divergence and - generate fork-range-specific test functions. - - """ - with open(fixture_path) as f: - fixture_data = json.load(f) - - filler_path = fixture_to_filler_path(fixture_data) - if not filler_path: - return False, f"Could not extract filler path from {fixture_path}" - - # Load filler comment - filler_full_path = fillers_dir.parent.parent / filler_path - if not filler_full_path.exists(): - # Try relative to repo root - filler_full_path = Path(filler_path) - filler_comment = load_filler_comment(filler_full_path) - - # Extract source code comments from filler pre-state - filler_data = _load_filler_data(filler_full_path) - code_sources = _extract_filler_code_sources(filler_data) - - # Detect fork bounds from filler network (e.g. ">=Cancun stCallCodes - filler_parts = Path(filler_path).parts - # Find the part after "state_tests" - category = "" - for i, part in enumerate(filler_parts): - if part == "state_tests" and i + 1 < len(filler_parts): - # If there's a subfolder (e.g. Cancun/stEIP...), include it - remaining = filler_parts[i + 1 : -1] - category = str(Path(*remaining)) if remaining else "" - break - - # Check if the top-level category is slow - top_category = Path(category).parts[0] if category else "" - is_slow = top_category in SLOW_CATEGORIES - - # Detect fork divergence when multiple fork fixtures are available - fork_ranges = None - if all_fork_paths and len(all_fork_paths) > 1: - # Determine the earliest fork from the fixture - ef = earliest_fork(set(all_fork_paths.keys())) - other_fixtures: dict[str, dict[str, Any]] = {} - for fork, fp in all_fork_paths.items(): - if fork != ef: - with open(fp) as f: - other_fixtures[fork] = json.load(f) - fork_ranges = detect_fork_ranges(fixture_data, other_fixtures, ef) - - # Single range or no divergence — generate one test function - if not fork_ranges or len(fork_ranges) == 1: - try: - python_code = generate_test_file( - fixture_data, - filler_path, - filler_comment, - valid_until=valid_until, - valid_from_override=filler_lower_bound, - filler_full_path=filler_full_path, - code_sources=code_sources, - slow=is_slow, - ) - except Exception as e: - return False, f"Error generating {fixture_path}: {e}" - else: - # Multiple fork ranges — generate one test function per range. - # First range gets the base test file (with imports, module doc). - # Subsequent ranges append only the test function. - parts: list[str] = [] - for range_idx, (vf, vu, range_data) in enumerate(fork_ranges): - suffix = "" if range_idx == 0 else f"_from_{vf.lower()}" - # Skip ranges that start after the filler's valid_until - if valid_until and FORK_RANK.get(vf, 0) > FORK_RANK.get( - valid_until, 999 - ): - continue - - # valid_until: use the range's upper bound fork, unless - # the filler itself has a tighter bound. - range_valid_until = vu - if valid_until: - filler_vu_rank = FORK_RANK.get(valid_until, 999) - if vu: - # Use the tighter (earlier) bound - if filler_vu_rank < FORK_RANK.get(vu, 999): - range_valid_until = valid_until - else: - range_valid_until = valid_until - - try: - code = generate_test_file( - range_data, - filler_path, - filler_comment, - valid_until=range_valid_until, - valid_from_override=vf, - filler_full_path=filler_full_path, - code_sources=code_sources, - slow=is_slow, - fork_for_post=vf, - func_name_suffix=suffix, - ) - except Exception as e: - return ( - False, - f"Error generating {fixture_path} (range {vf}): {e}", - ) - - if range_idx == 0: - parts.append(code) - else: - # Extract only the test function (after the last - # REFERENCE_SPEC line) to avoid duplicate imports - lines = code.split("\n") - func_start = None - for li, line in enumerate(lines): - if line.startswith("@pytest.mark.ported_from"): - # Include the blank line before the decorator - func_start = li - 1 if li > 0 else li - break - if func_start is not None: - parts.append("\n".join(lines[func_start:])) - else: - parts.append(code) - python_code = "\n".join(parts) - - out_dir = output_dir / category if category else output_dir - out_dir.mkdir(parents=True, exist_ok=True) - - # Write __init__.py files with docstrings in every package dir - for parent in [out_dir, *out_dir.parents]: - if parent == output_dir.parent: - break - init_file = parent / "__init__.py" - if not init_file.exists() or init_file.stat().st_size == 0: - pkg = parent.name - init_file.write_text(f'"""Tests ported from {pkg}."""\n') - - out_file = out_dir / f"{test_name}.py" - out_file.write_text(python_code) - - return True, f"Generated {out_file}" - - -def main() -> None: - """Main entry point.""" - parser = argparse.ArgumentParser( - description="Convert compiled state_test fixtures to Python." - ) - parser.add_argument( - "--fixtures", - type=Path, - required=True, - help="Path to compiled fixture directory (from --fill-static-tests)", - ) - parser.add_argument( - "--fillers", - type=Path, - required=True, - help="Path to source filler directory (tests/static/state_tests/)", - ) - parser.add_argument( - "--output", - type=Path, - required=True, - help="Output directory for generated Python tests", - ) - parser.add_argument( - "--single", - type=Path, - default=None, - help="Process a single fixture file (for testing)", - ) - parser.add_argument( - "--filter", - type=Path, - default=None, - help="Only convert fixtures in this file (one per line)", - ) - args = parser.parse_args() - - # Load filter list if provided - filter_set: set[str] | None = None - if args.filter: - with open(args.filter) as f: - filter_set = {line.strip() for line in f if line.strip()} - - if args.single: - # Single mode: no fork grouping - entries: list[tuple[Path, dict[str, Path] | None]] = [ - (args.single, None), - ] - else: - grouped = find_fixture_files_grouped(args.fixtures) - entries = [(fp, fork_paths) for fp, fork_paths in grouped] - - # Filter fixtures to only those matching the filter list - if filter_set is not None: - filtered = [] - for fp, fork_paths in entries: - with open(fp) as f: - data = json.load(f) - filler_path = fixture_to_filler_path(data) - if filler_path and filler_path in filter_set: - filtered.append((fp, fork_paths)) - print(f"Filtered: {len(filtered)}/{len(entries)} fixtures match") - entries = filtered - - if not entries: - print("No fixture files found.") - sys.exit(1) - - args.output.mkdir(parents=True, exist_ok=True) - - success_count = 0 - fail_count = 0 - for fixture_path, fork_paths in entries: - ok, msg = process_single_fixture( - fixture_path, - args.fillers, - args.output, - all_fork_paths=fork_paths, - ) - if ok: - success_count += 1 - print(f" OK: {msg}") - else: - fail_count += 1 - print(f"FAIL: {msg}", file=sys.stderr) - - print(f"\nDone: {success_count} generated, {fail_count} failed") - if fail_count > 0: - sys.exit(1) - - # Post-process: ruff format + add noqa: E501 to unsplittable lines - _post_format(args.output) - - -def _post_format(output_dir: Path) -> None: - """Run ruff format on generated files, then suppress E501.""" - # Increase Rust stack size to prevent ruff stack overflow on deeply - # nested generated code (which can corrupt files to 0 bytes). - env = {**os.environ, "RUST_MIN_STACK": "16777216"} - print("\nRunning ruff format...") - subprocess.run( - ["ruff", "format", str(output_dir)], - check=False, - env=env, - ) - print("Running ruff check --fix (import sorting)...") - subprocess.run( - ["ruff", "check", "--fix", str(output_dir)], - check=False, - env=env, - ) - - print("Adding # noqa: E501 to long lines...") - count = 0 - for py_file in output_dir.rglob("*.py"): - text = py_file.read_text() - lines = text.split("\n") - changed = False - for i, line in enumerate(lines): - if len(line) > 79 and "# noqa: E501" not in line: - lines[i] = line + " # noqa: E501" - changed = True - if changed: - py_file.write_text("\n".join(lines)) - count += 1 - print(f" Patched {count} files") - - -if __name__ == "__main__": - main() diff --git a/tests/ported_static/Cancun/__init__.py b/tests/ported_static/Cancun/__init__.py deleted file mode 100644 index 75e316e97ec..00000000000 --- a/tests/ported_static/Cancun/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from Cancun.""" diff --git a/tests/ported_static/Cancun/stEIP1153_transientStorage/__init__.py b/tests/ported_static/Cancun/stEIP1153_transientStorage/__init__.py deleted file mode 100644 index 84c4b8e0363..00000000000 --- a/tests/ported_static/Cancun/stEIP1153_transientStorage/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from stEIP1153_transientStorage.""" diff --git a/tests/ported_static/Cancun/stEIP1153_transientStorage/test_10_revert_undoes_store_after_return.py b/tests/ported_static/Cancun/stEIP1153_transientStorage/test_10_revert_undoes_store_after_return.py deleted file mode 100644 index 2803bada33f..00000000000 --- a/tests/ported_static/Cancun/stEIP1153_transientStorage/test_10_revert_undoes_store_after_return.py +++ /dev/null @@ -1,157 +0,0 @@ -""" -Revert undoes the transient storage writes after a successful call. - -Ported from: -tests/static/state_tests/Cancun/stEIP1153_transientStorage -10_revertUndoesStoreAfterReturnFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Cancun/stEIP1153_transientStorage/10_revertUndoesStoreAfterReturnFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_10_revert_undoes_store_after_return( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Revert undoes the transient storage writes after a successful call.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xBE0E7D5FEA1604BF57E004B0B414DF8DE04816DBB1C8F8719B725D0D6619B531 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=4503599627370496, - ) - - pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - # Source: Yul - # { - # switch selector() - # - # case 0x70ac643e { // doFirstCall() - # doFirstCall() - # } - # - # case 0x76b85d23 { // doCallThenRevert() - # doCallThenRevert() - # } - # - # case 0x4ccca553 { // doSuccessfulStore() - # doSuccessfulStore() - # } - # - # function doFirstCall() { - # verbatim_2i_0o(hex"5D", 0, 5) - # - # let v := verbatim_1i_1o(hex"5C", 0) - # sstore(0, v) - # - # mstore(0, hex"76b85d23") // calls doCallThenRevert() - # let fail := call(gas(), address(), 0, 0, 32, 0, 32) - # - # sstore(1, fail) // should be 0 (revert) - # sstore(2, mload(0)) // load 1 (successful call) - # - # let val := verbatim_1i_1o(hex"5C", 0) - # sstore(3, val) - # } - # ... (23 more lines) - contract = pre.deploy_contract( - code=( - Op.SHR(0xE0, Op.CALLDATALOAD(offset=Op.PUSH0)) - + Op.JUMPI(pc=0x2F, condition=Op.EQ(0x70AC643E, Op.DUP1)) - + Op.JUMPI(pc=0x2B, condition=Op.EQ(0x76B85D23, Op.DUP1)) - + Op.PUSH4[0x4CCCA553] - + Op.JUMPI(pc=0x23, condition=Op.EQ) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x29] - + Op.JUMP(pc=0x76) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.JUMP(pc=0x5C) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x29] - + Op.TSTORE(key=Op.PUSH0, value=0x5) - + Op.SSTORE(key=Op.PUSH0, value=Op.TLOAD(key=Op.PUSH0)) - + Op.MSTORE(offset=Op.PUSH0, value=Op.SHL(0xE0, 0x76B85D23)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=Op.PUSH0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=Op.PUSH0)) - + Op.SSTORE(key=0x3, value=Op.TLOAD(key=Op.PUSH0)) - + Op.JUMP - + Op.JUMPDEST - + Op.MSTORE(offset=Op.PUSH0, value=Op.SHL(0xE0, 0x4CCCA553)) - + Op.MSTORE( - offset=Op.PUSH0, - value=Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.REVERT(offset=Op.PUSH0, size=0x20) - + Op.JUMPDEST - + Op.TSTORE(key=Op.PUSH0, value=0x6) - + Op.JUMP - ), - storage={0x1: 0xFFFF}, - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xe42b9e92d5348b0fc6353d40e3d220c316d3c685"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("70ac643e"), - gas_limit=400000, - max_fee_per_gas=2000, - ) - - post = { - contract: Account(storage={0: 5, 2: 1, 3: 5}), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Cancun/stEIP1153_transientStorage/test_14_revert_after_nested_staticcall.py b/tests/ported_static/Cancun/stEIP1153_transientStorage/test_14_revert_after_nested_staticcall.py deleted file mode 100644 index b173fa87cca..00000000000 --- a/tests/ported_static/Cancun/stEIP1153_transientStorage/test_14_revert_after_nested_staticcall.py +++ /dev/null @@ -1,155 +0,0 @@ -""" -Transient storage can't be manipulated from nested staticcall. - -Ported from: -tests/static/state_tests/Cancun/stEIP1153_transientStorage -14_revertAfterNestedStaticcallFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Cancun/stEIP1153_transientStorage/14_revertAfterNestedStaticcallFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_14_revert_after_nested_staticcall( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Transient storage can't be manipulated from nested staticcall.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xBE0E7D5FEA1604BF57E004B0B414DF8DE04816DBB1C8F8719B725D0D6619B531 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=4503599627370496, - ) - - # Source: Yul - # { - # switch selector() - # - # case 0xf5f40590 { // doStoreAndStaticCall() - # doStoreAndStaticCall() - # } - # - # case 0xf8dfc2d0 { // doCallToStore() - # doCallToStore() - # } - # - # case 0x62fdb9be { // doStore() - # doStore() - # } - # - # function doStoreAndStaticCall() { - # verbatim_2i_0o(hex"5D", 0, 10) - # - # let v := verbatim_1i_1o(hex"5C", 0) - # sstore(0, v) - # - # mstore(0, hex"f8dfc2d0") // doCallToStore() - # let success := staticcall(0xffff, address(), 0, 32, 0, 32) - # - # sstore(1, mload(0)) // should be 0 from nested unsuccessful call - # sstore(2, success) // should be 1 - # - # let val := verbatim_1i_1o(hex"5C", 0) - # sstore(3, val) - # } - # ... (17 more lines) - contract = pre.deploy_contract( - code=( - Op.SHR(0xE0, Op.CALLDATALOAD(offset=Op.PUSH0)) - + Op.JUMPI(pc=0x2F, condition=Op.EQ(0xF5F40590, Op.DUP1)) - + Op.JUMPI(pc=0x2B, condition=Op.EQ(0xF8DFC2D0, Op.DUP1)) - + Op.PUSH4[0x62FDB9BE] - + Op.JUMPI(pc=0x23, condition=Op.EQ) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x29] - + Op.JUMP(pc=0x77) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.JUMP(pc=0x5D) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x29] - + Op.TSTORE(key=Op.PUSH0, value=0xA) - + Op.SSTORE(key=Op.PUSH0, value=Op.TLOAD(key=Op.PUSH0)) - + Op.MSTORE(offset=Op.PUSH0, value=Op.SHL(0xE4, 0xF8DFC2D)) - + Op.STATICCALL( - gas=0xFFFF, - address=Op.ADDRESS, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=Op.PUSH0, - ret_size=0x20, - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=Op.PUSH0)) - + Op.PUSH1[0x2] - + Op.SSTORE - + Op.SSTORE(key=0x3, value=Op.TLOAD(key=Op.PUSH0)) - + Op.JUMP - + Op.JUMPDEST - + Op.MSTORE(offset=Op.PUSH0, value=Op.SHL(0xE1, 0x317EDCDF)) - + Op.MSTORE( - offset=Op.PUSH0, - value=Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.RETURN(offset=Op.PUSH0, size=0x20) - + Op.JUMPDEST - + Op.TSTORE(key=Op.PUSH0, value=0xB) - + Op.JUMP - ), - storage={0x1: 0xFFFF}, - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x1150baff55fdcea5fd92b0995358ec0c416debe3"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("f5f40590"), - gas_limit=400000, - max_fee_per_gas=2000, - ) - - post = { - contract: Account(storage={0: 10, 2: 1, 3: 10}), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Cancun/stEIP1153_transientStorage/test_trans_storage_ok.py b/tests/ported_static/Cancun/stEIP1153_transientStorage/test_trans_storage_ok.py deleted file mode 100644 index d578203bf59..00000000000 --- a/tests/ported_static/Cancun/stEIP1153_transientStorage/test_trans_storage_ok.py +++ /dev/null @@ -1,1557 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/Cancun/stEIP1153_transientStorage -transStorageOKFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Cancun/stEIP1153_transientStorage/transStorageOKFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "264bb86a0000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0x00000000000000000000000000000000264bb86a"): Account( - storage={1: 6, 2: 1, 3: 63} - ), - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0x264BB86A, 1: 1} - ), - }, - ), - ( - "5114e2c8000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000005114e2c8"): Account( - storage={1: 10, 2: 1, 3: 55} - ), - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0x5114E2C8, 1: 1} - ), - }, - ), - ( - "5114e2c80000000000000000000000000000000000000000000000000000000000000032", # noqa: E501 - { - Address("0x000000000000000000000000000000005114e2c8"): Account( - storage={1: 50, 2: 1, 3: 1275} - ), - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0x5114E2C8, 1: 1} - ), - }, - ), - ( - "6e3a72040000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000006e3a7204"): Account( - storage={1: 16, 2: 1, 3: 136} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0x6E3A7204, 1: 1} - ), - }, - ), - ( - "c54b5829f1f1f1f1f2f2f2f2f4f4f4f4f1f1f1f1f2f2f2f2f4f4f4f4f1f1f1f1f2f2f2f2", # noqa: E501 - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000c54b5829"): Account( - storage={0: 2} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0xC54B5829, 1: 1} - ), - }, - ), - ( - "c54b5829f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1", # noqa: E501 - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000c54b5829"): Account( - storage={0: 2} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0xC54B5829, 1: 1} - ), - }, - ), - ( - "c54b5829f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1", # noqa: E501 - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000c54b5829"): Account( - storage={0: 2} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0xC54B5829, 1: 1} - ), - }, - ), - ( - "c54b5829f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2", # noqa: E501 - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000c54b5829"): Account( - storage={0: 2} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0xC54B5829, 1: 1} - ), - }, - ), - ( - "c54b5829f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4", # noqa: E501 - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000c54b5829"): Account( - storage={0: 2} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0xC54B5829, 1: 1} - ), - }, - ), - ( - "c54b5829f2f4f1f2f4f1f2f4f1f2f4f1f2f4f1f2f4f1f2f4f1f2f4f1f2f4f1f2f4f1f1f1", # noqa: E501 - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000c54b5829"): Account( - storage={0: 2} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0xC54B5829, 1: 1} - ), - }, - ), - ( - "7074a4860000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007074a486"): Account( - storage={1: 6, 2: 1, 3: 63} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0x7074A486, 1: 1} - ), - }, - ), - ( - "c1c922f10000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000c1c922f1"): Account( - storage={1: 16, 2: 1, 3: 136} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0xC1C922F1, 1: 1} - ), - }, - ), - ( - "7f9317bd", - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={1: 1, 2: 2, 3: 2, 17: 1, 18: 1, 19: 1} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0x7F9317BD, 1: 1} - ), - }, - ), - ( - "5d7935df", - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={0: 24743, 1: 24743, 16: 1, 17: 1} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0x5D7935DF, 1: 1} - ), - }, - ), - ( - "ebd141d50000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x00000000000000000000000000000000ebd141d5"): Account( - storage={1: 16, 2: 1, 3: 136} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0xEBD141D5, 1: 1} - ), - }, - ), - ( - "ebd141d50000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x000000000000000000000000000000005d7935df"): Account( - storage={2: 24743, 18: 24743} - ), - Address("0x000000000000000000000000000000007f9317bd"): Account( - storage={0: 24743} - ), - Address("0x00000000000000000000000000000000ca11bacc"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x00000000000000000000000000000000ebd141d5"): Account( - storage={1: 256, 2: 1, 3: 32896} - ), - Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"): Account( - storage={0: 0xEBD141D5, 1: 1} - ), - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - ], -) -@pytest.mark.pre_alloc_mutable -def test_trans_storage_ok( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - # Source: Yul - # { - # function tload_temp(loc) -> val { - # val := verbatim_1i_1o(hex"5C", loc) - # } - # - # function tstore_temp(loc, val) { - # verbatim_2i_0o(hex"5D", loc, val) - # } - # - # // There is calldata, so write to Trans[0] - # if calldatasize() { - # tstore_temp(0, 0x60A7) - # } - # - # // Return Trans[0] - # // This happens whether we are called with data or not. - # mstore(0, tload_temp(0)) - # return(0,32) - # } - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x12, condition=Op.CALLDATASIZE) - + Op.JUMPDEST - + Op.PUSH1[0xB] - + Op.PUSH0 - + Op.JUMP(pc=0x20) - + Op.JUMPDEST - + Op.PUSH0 - + Op.MSTORE - + Op.RETURN(offset=Op.PUSH0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x1C] - + Op.PUSH2[0x60A7] - + Op.PUSH0 - + Op.JUMP(pc=0x24) - + Op.JUMPDEST - + Op.JUMP(pc=0x4) - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.TSTORE - + Op.JUMP - ), - address=Address("0x00000000000000000000000000000000000057a7"), # noqa: E501 - ) - # Source: Yul - # { - # function tload_temp(loc) -> val { - # val := verbatim_1i_1o(hex"5C", loc) - # } - # - # function tstore_temp(loc, val) { - # verbatim_2i_0o(hex"5D", loc, val) - # } - # - # tstore_temp(0, add(tload_temp(0), 1)) - # } - pre.deploy_contract( - code=( - Op.PUSH1[0x10] - + Op.PUSH1[0x1] - + Op.PUSH1[0xA] - + Op.PUSH0 - + Op.JUMP(pc=0x12) - + Op.JUMPDEST - + Op.ADD - + Op.PUSH0 - + Op.JUMP(pc=0x16) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.TSTORE - + Op.JUMP - ), - address=Address("0x000000000000000000000000000000000000add1"), # noqa: E501 - ) - # Source: Yul - # { - # function tload_temp(loc) -> val { - # val := verbatim_1i_1o(hex"5C", loc) - # } - # - # function tstore_temp(loc, val) { - # verbatim_2i_0o(hex"5D", loc, val) - # } - # - # // We are inside the loop - # if eq(caller(), address()) { - # let counter := tload_temp(0) - # - # // If counter is zero, we're at an end of the loop (a leaf of - # // the tree), return. - # if eq(counter,0) { - # return(0,0) - # } - # - # // If counter isn't zero, call yourself with counter-1 twice and - # // add one to Trans[1] - # tstore_temp(0, sub(counter, 1)) - # let res := call(gas(), address(), 0, 0,0, 0,0) - # if iszero(res) { // If the call failed, fail too - # revert(0,0) - # } - # - # // We need to repair Trans[0] because it got overwritten in - # // the previous call - # tstore_temp(0, sub(counter, 1)) - # ... (22 more lines) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x33, condition=Op.EQ(Op.CALLER, Op.ADDRESS)) - + Op.JUMPDEST - + Op.JUMPI(pc=0xE, condition=Op.SUB(Op.CALLER, Op.ADDRESS)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x1B] - + Op.CALLDATALOAD(offset=Op.PUSH0) - + Op.SSTORE(key=0x1, value=Op.DUP1) - + Op.PUSH0 - + Op.JUMP(pc=0x8D) - + Op.JUMPDEST - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.PUSH1[0x2E] - + Op.PUSH1[0x1] - + Op.JUMP(pc=0x89) - + Op.JUMPDEST - + Op.PUSH1[0x3] - + Op.SSTORE - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x3A] - + Op.PUSH0 - + Op.JUMP(pc=0x89) - + Op.JUMPDEST - + Op.JUMPI(pc=0x87, condition=Op.ISZERO(Op.DUP1)) - + Op.PUSH1[0x4A] - + Op.SUB(Op.DUP3, 0x1) - + Op.PUSH0 - + Op.JUMP(pc=0x8D) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x83, - condition=Op.ISZERO( - Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ), - ) - + Op.PUSH1[0x1] - + Op.PUSH1[0x61] - + Op.SWAP2 - + Op.SUB - + Op.PUSH0 - + Op.JUMP(pc=0x8D) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x83, - condition=Op.ISZERO( - Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ), - ) - + Op.PUSH1[0x7F] - + Op.PUSH1[0x1] - + Op.PUSH1[0x78] - + Op.DUP2 - + Op.JUMP(pc=0x89) - + Op.JUMPDEST - + Op.ADD - + Op.PUSH1[0x1] - + Op.JUMP(pc=0x8D) - + Op.JUMPDEST - + Op.JUMP(pc=0x6) - + Op.JUMPDEST - + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.TSTORE - + Op.JUMP - ), - address=Address("0x00000000000000000000000000000000264bb86a"), # noqa: E501 - ) - # Source: Yul - # { - # function tload_temp(loc) -> val { - # val := verbatim_1i_1o(hex"5C", loc) - # } - # - # function tstore_temp(loc, val) { - # verbatim_2i_0o(hex"5D", loc, val) - # } - # - # // If we are called by 0xca11bacc, this is part of the loop - # if eq(caller(), 0xca11bacc) { - # let counter := tload_temp(0) - # - # // If the counter is equal to zero, we're done - return. - # if eq(counter,0) { - # return(0,0) - # } - # - # // If counter isn't zero, add counter to Trans[1] and do recursion - # tstore_temp(1, add(tload_temp(1), counter)) - # - # // Change the loop variable and call 0xca11bacc, which calls us back. # noqa: E501 - # tstore_temp(0, sub(counter, 1)) - # let res := call(gas(), 0xca11bacc, 0, 0,0, 0,0) - # if iszero(res) { // If the call failed, fail too - # revert(0,0) - # } - # } - # - # // If called by a different address from 0xca11bacc, we are the first - # ... (12 more lines) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x3F, condition=Op.EQ(Op.CALLER, 0xCA11BACC)) - + Op.JUMPDEST - + Op.JUMPI(pc=0x16, condition=Op.SUB(Op.CALLER, 0xCA11BACC)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x23] - + Op.CALLDATALOAD(offset=Op.PUSH0) - + Op.SSTORE(key=0x1, value=Op.DUP1) - + Op.PUSH0 - + Op.JUMP(pc=0x7F) - + Op.JUMPDEST - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=Op.GAS, - address=0xCA11BACC, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.PUSH1[0x3A] - + Op.PUSH1[0x1] - + Op.JUMP(pc=0x7B) - + Op.JUMPDEST - + Op.PUSH1[0x3] - + Op.SSTORE - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x46] - + Op.PUSH0 - + Op.JUMP(pc=0x7B) - + Op.JUMPDEST - + Op.JUMPI(pc=0x79, condition=Op.ISZERO(Op.DUP1)) - + Op.PUSH1[0x1] - + Op.DUP2 - + Op.PUSH1[0x60] - + Op.PUSH1[0x66] - + Op.SWAP4 - + Op.PUSH1[0x5A] - + Op.DUP5 - + Op.JUMP(pc=0x7B) - + Op.JUMPDEST - + Op.ADD - + Op.DUP4 - + Op.JUMP(pc=0x7F) - + Op.JUMPDEST - + Op.SUB - + Op.PUSH0 - + Op.JUMP(pc=0x7F) - + Op.JUMPDEST - + Op.JUMPI( - pc=0xA, - condition=Op.CALL( - gas=Op.GAS, - address=0xCA11BACC, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.TSTORE - + Op.JUMP - ), - address=Address("0x000000000000000000000000000000005114e2c8"), # noqa: E501 - ) - # Source: Yul - # { - # // Set up Trans[0] with a regular call. - # sstore(0x10,call(gas(), 0x57A7, 0, 0,1, 0,32)) - # sstore(0, mload(0)) - # - # // Use staticcall to read Trans[0] of 0x0..57A7. - # mstore(0,0) - # sstore(0x11,staticcall(gas(), 0x57A7, 0,0, 0,32)) - # sstore(1, mload(0)) - # - # // Try to use staticall to write Trans[0]. This should fail. - # mstore(0,0) - # sstore(0x12,staticcall(gas(), 0x57A7, 0,1, 0,32)) - # sstore(2, mload(0)) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x10, - value=Op.CALL( - gas=Op.GAS, - address=0x57A7, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x1, - ret_offset=Op.PUSH0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=Op.PUSH0, value=Op.MLOAD(offset=Op.PUSH0)) - + Op.MSTORE(offset=Op.DUP1, value=Op.PUSH0) - + Op.SSTORE( - key=0x11, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x57A7, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.PUSH0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=Op.PUSH0)) - + Op.MSTORE(offset=Op.DUP1, value=Op.PUSH0) - + Op.SSTORE( - key=0x12, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x57A7, - args_offset=Op.DUP2, - args_size=0x1, - ret_offset=Op.PUSH0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=Op.PUSH0)) - + Op.STOP - ), - storage={0x2: 0x60A7, 0x12: 0x60A7}, - address=Address("0x000000000000000000000000000000005d7935df"), # noqa: E501 - ) - # Source: Yul - # { - # function tload_temp(loc) -> val { - # val := verbatim_1i_1o(hex"5C", loc) - # } - # - # function tstore_temp(loc, val) { - # verbatim_2i_0o(hex"5D", loc, val) - # } - # - # // If we are called by ourselves, this is part of the loop. - # if eq(caller(), address()) { - # let counter := tload_temp(0) - # - # // Loop ended, return - # if eq(counter,0) { - # return(0,0) - # } - # - # - # // Change the loop variable and call yourself - # tstore_temp(1, add(tload_temp(1), counter)) - # tstore_temp(0, sub(counter, 1)) - # let res := callcode(gas(), address(), 0, 0,0, 0,0) - # if iszero(res) { // If the call failed, fail too - # revert(0,0) - # } - # } - # - # // If called by a different address, we are the first call and need - # // to setup Trans[0] before starting the loop. - # ... (15 more lines) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x33, condition=Op.EQ(Op.CALLER, Op.ADDRESS)) - + Op.JUMPDEST - + Op.JUMPI(pc=0xE, condition=Op.SUB(Op.CALLER, Op.ADDRESS)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x1B] - + Op.CALLDATALOAD(offset=Op.PUSH0) - + Op.SSTORE(key=0x1, value=Op.DUP1) - + Op.PUSH0 - + Op.JUMP(pc=0x6F) - + Op.JUMPDEST - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.PUSH1[0x2E] - + Op.PUSH1[0x1] - + Op.JUMP(pc=0x6B) - + Op.JUMPDEST - + Op.PUSH1[0x3] - + Op.SSTORE - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x3A] - + Op.PUSH0 - + Op.JUMP(pc=0x6B) - + Op.JUMPDEST - + Op.JUMPI(pc=0x69, condition=Op.ISZERO(Op.DUP1)) - + Op.PUSH1[0x1] - + Op.DUP2 - + Op.PUSH1[0x54] - + Op.PUSH1[0x5A] - + Op.SWAP4 - + Op.PUSH1[0x4E] - + Op.DUP5 - + Op.JUMP(pc=0x6B) - + Op.JUMPDEST - + Op.ADD - + Op.DUP4 - + Op.JUMP(pc=0x6F) - + Op.JUMPDEST - + Op.SUB - + Op.PUSH0 - + Op.JUMP(pc=0x6F) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x6, - condition=Op.CALLCODE( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.TSTORE - + Op.JUMP - ), - address=Address("0x000000000000000000000000000000006e3a7204"), # noqa: E501 - ) - # Source: Yul - # { - # function tload_temp(loc) -> val { - # val := verbatim_1i_1o(hex"5C", loc) - # } - # - # function tstore_temp(loc, val) { - # verbatim_2i_0o(hex"5D", loc, val) - # } - # - # // If we are in the loop - # if eq(caller(), address()) { - # let counter := tload_temp(0) - # - # // If the counter is zero, we're at loop's end, return - # if eq(counter,0) { - # return(0,0) - # } - # - # // If counter isn't zero - # // Call yourself with counter-1 twice then add 1 to Trans[1] - # // Note that one call is callcode() and the other delegatecall(). - # // This way the same test checks both of them. - # - # tstore_temp(0, sub(counter, 1)) - # let res := callcode(gas(), address(), 0, 0,0, 0,0) - # if iszero(res) { // If the call failed, fail too - # revert(0,0) - # } - # - # // We need to repair Trans[0] because it got overwritten in - # ... (25 more lines) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x33, condition=Op.EQ(Op.CALLER, Op.ADDRESS)) - + Op.JUMPDEST - + Op.JUMPI(pc=0xE, condition=Op.SUB(Op.CALLER, Op.ADDRESS)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x1B] - + Op.CALLDATALOAD(offset=Op.PUSH0) - + Op.SSTORE(key=0x1, value=Op.DUP1) - + Op.PUSH0 - + Op.JUMP(pc=0x8C) - + Op.JUMPDEST - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.PUSH1[0x2E] - + Op.PUSH1[0x1] - + Op.JUMP(pc=0x88) - + Op.JUMPDEST - + Op.PUSH1[0x3] - + Op.SSTORE - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x3A] - + Op.PUSH0 - + Op.JUMP(pc=0x88) - + Op.JUMPDEST - + Op.JUMPI(pc=0x86, condition=Op.ISZERO(Op.DUP1)) - + Op.PUSH1[0x4A] - + Op.SUB(Op.DUP3, 0x1) - + Op.PUSH0 - + Op.JUMP(pc=0x8C) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x82, - condition=Op.ISZERO( - Op.CALLCODE( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ), - ) - + Op.PUSH1[0x1] - + Op.PUSH1[0x61] - + Op.SWAP2 - + Op.SUB - + Op.PUSH0 - + Op.JUMP(pc=0x8C) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x82, - condition=Op.ISZERO( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADDRESS, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ), - ) - + Op.PUSH1[0x7E] - + Op.PUSH1[0x1] - + Op.PUSH1[0x77] - + Op.DUP2 - + Op.JUMP(pc=0x88) - + Op.JUMPDEST - + Op.ADD - + Op.PUSH1[0x1] - + Op.JUMP(pc=0x8C) - + Op.JUMPDEST - + Op.JUMP(pc=0x6) - + Op.JUMPDEST - + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.TSTORE - + Op.JUMP - ), - address=Address("0x000000000000000000000000000000007074a486"), # noqa: E501 - ) - # Source: Yul - # { - # function tload_temp(loc) -> val { - # val := verbatim_1i_1o(hex"5C", loc) - # } - # - # function tstore_temp(loc, val) { - # verbatim_2i_0o(hex"5D", loc, val) - # } - # - # // The initial value of the counter is zero - # sstore(0, tload_temp(0)) - # - # // CALLCODE increments our Trans[0] - # sstore(0x11, callcode(gas(), 0xadd1, 0, 0,0, 0,0)) - # sstore(1, tload_temp(0)) - # - # // DELEGATECALL increments our Trans[0] - # sstore(0x12, delegatecall(gas(), 0xadd1, 0,0, 0,0)) - # sstore(2, tload_temp(0)) - # - # // CALL does not increment our Trans[0], it means a different - # // transient storage - # sstore(0x13, call(gas(), 0xadd1, 0, 0,0, 0,0)) - # sstore(3, tload_temp(0)) - # } - pre.deploy_contract( - code=( - Op.PUSH1[0x6] - + Op.PUSH0 - + Op.JUMP(pc=0x4E) - + Op.JUMPDEST - + Op.PUSH0 - + Op.SSTORE - + Op.SSTORE( - key=0x11, - value=Op.CALLCODE( - gas=Op.GAS, - address=0xADD1, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.PUSH1[0x1C] - + Op.PUSH0 - + Op.JUMP(pc=0x4E) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.SSTORE - + Op.SSTORE( - key=0x12, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0xADD1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.PUSH1[0x32] - + Op.PUSH0 - + Op.JUMP(pc=0x4E) - + Op.JUMPDEST - + Op.PUSH1[0x2] - + Op.SSTORE - + Op.SSTORE( - key=0x13, - value=Op.CALL( - gas=Op.GAS, - address=0xADD1, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.PUSH1[0x49] - + Op.PUSH0 - + Op.JUMP(pc=0x4E) - + Op.JUMPDEST - + Op.PUSH1[0x3] - + Op.SSTORE - + Op.STOP - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - ), - storage={0x0: 0x60A7}, - address=Address("0x000000000000000000000000000000007f9317bd"), # noqa: E501 - ) - # Source: Yul - # { - # function tload_temp(loc) -> val { - # val := verbatim_1i_1o(hex"5C", loc) - # } - # - # function tstore_temp(loc, val) { - # verbatim_2i_0o(hex"5D", loc, val) - # } - # - # // If we are called by ourselves, this is part of the loop. - # if eq(caller(), address()) { - # let counter := tload_temp(0) - # - # // If the counter is equal to zero, we're done - return. - # if eq(counter,0) { - # return(0,0) - # } - # - # // Change the loop variable and call yourself - # tstore_temp(1, add(tload_temp(1), counter)) - # tstore_temp(0, sub(counter, 1)) - # let res := delegatecall(gas(), address(), 0,0, 0,0) - # if iszero(res) { // If the call failed, fail too - # revert(0,0) - # } - # } - # - # - # // If called by a different address, we are the first call and need - # // to setup Trans[0] before starting the loop. - # ... (15 more lines) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x33, condition=Op.EQ(Op.CALLER, Op.ADDRESS)) - + Op.JUMPDEST - + Op.JUMPI(pc=0xE, condition=Op.SUB(Op.CALLER, Op.ADDRESS)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x1B] - + Op.CALLDATALOAD(offset=Op.PUSH0) - + Op.SSTORE(key=0x1, value=Op.DUP1) - + Op.PUSH0 - + Op.JUMP(pc=0x6E) - + Op.JUMPDEST - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.PUSH1[0x2E] - + Op.PUSH1[0x1] - + Op.JUMP(pc=0x6A) - + Op.JUMPDEST - + Op.PUSH1[0x3] - + Op.SSTORE - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x3A] - + Op.PUSH0 - + Op.JUMP(pc=0x6A) - + Op.JUMPDEST - + Op.JUMPI(pc=0x68, condition=Op.ISZERO(Op.DUP1)) - + Op.PUSH1[0x1] - + Op.DUP2 - + Op.PUSH1[0x54] - + Op.PUSH1[0x5A] - + Op.SWAP4 - + Op.PUSH1[0x4E] - + Op.DUP5 - + Op.JUMP(pc=0x6A) - + Op.JUMPDEST - + Op.ADD - + Op.DUP4 - + Op.JUMP(pc=0x6E) - + Op.JUMPDEST - + Op.SUB - + Op.PUSH0 - + Op.JUMP(pc=0x6E) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x6, - condition=Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADDRESS, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.TSTORE - + Op.JUMP - ), - address=Address("0x00000000000000000000000000000000c1c922f1"), # noqa: E501 - ) - # Source: Yul - # { - # function tload_temp(loc) -> val { - # val := verbatim_1i_1o(hex"5C", loc) - # } - # - # function tstore_temp(loc, val) { - # verbatim_2i_0o(hex"5D", loc, val) - # } - # - # // If we are at the bottom of the call stack, increment - # // the counter and return - # if eq(calldatasize(), 0) { - # tstore_temp(0, add(tload_temp(0),1)) - # return(0,0) - # } - # - # // If we are at the top of the stack (called by a different contract), # noqa: E501 - # // set the counter to one - # if iszero(eq(address(), caller())) { - # tstore_temp(0, 1) - # } - # - # // Read the most significant byte of the input. - # // Luckily for us the input is top justified - if the caller provided - # // just n bytes (n<20), they will be the top n bytes of calldataload(0). # noqa: E501 - # let callType := shr( - # 248, - # calldataload(0) - # ) - # - # ... (32 more lines) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x81, condition=Op.ISZERO(Op.CALLDATASIZE)) - + Op.JUMPI(pc=0x74, condition=Op.SUB(Op.ADDRESS, Op.CALLER)) - + Op.JUMPDEST - + Op.SHR(0xF8, Op.CALLDATALOAD(offset=Op.PUSH0)) - + Op.MSTORE( - offset=Op.PUSH0, value=Op.CALLDATALOAD(offset=Op.PUSH0) - ) - + Op.SUB(Op.CALLDATASIZE, 0x1) - + Op.SWAP1 - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.JUMPI(pc=0x64, condition=Op.EQ(0xF1, Op.DUP1)) - + Op.JUMPI(pc=0x54, condition=Op.EQ(0xF2, Op.DUP1)) - + Op.PUSH1[0xF4] - + Op.JUMPI(pc=0x46, condition=Op.EQ) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPI(pc=0x3B, condition=Op.SUB(Op.ADDRESS, Op.CALLER)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x42] - + Op.PUSH0 - + Op.JUMP(pc=0x94) - + Op.JUMPDEST - + Op.PUSH0 - + Op.SSTORE - + Op.STOP - + Op.JUMPDEST - + Op.PUSH0 - + Op.SWAP2 - + Op.DUP3 - + Op.SWAP2 - + Op.ADDRESS - + Op.GAS - + Op.POP(Op.DELEGATECALL) - + Op.PUSH0 - + Op.DUP1 - + Op.JUMP(pc=0x31) - + Op.JUMPDEST - + Op.POP - + Op.PUSH0 - + Op.SWAP2 - + Op.DUP3 - + Op.SWAP2 - + Op.DUP3 - + Op.ADDRESS - + Op.GAS - + Op.POP(Op.CALLCODE) - + Op.PUSH0 - + Op.DUP1 - + Op.JUMP(pc=0x31) - + Op.JUMPDEST - + Op.POP - + Op.PUSH0 - + Op.SWAP2 - + Op.DUP3 - + Op.SWAP2 - + Op.DUP3 - + Op.ADDRESS - + Op.GAS - + Op.POP(Op.CALL) - + Op.PUSH0 - + Op.DUP1 - + Op.JUMP(pc=0x31) - + Op.JUMPDEST - + Op.PUSH1[0x7D] - + Op.PUSH1[0x1] - + Op.PUSH0 - + Op.JUMP(pc=0x98) - + Op.JUMPDEST - + Op.JUMP(pc=0xB) - + Op.JUMPDEST - + Op.PUSH1[0x92] - + Op.PUSH1[0x1] - + Op.PUSH1[0x8C] - + Op.PUSH0 - + Op.JUMP(pc=0x94) - + Op.JUMPDEST - + Op.ADD - + Op.PUSH0 - + Op.JUMP(pc=0x98) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.TSTORE - + Op.JUMP - ), - address=Address("0x00000000000000000000000000000000c54b5829"), # noqa: E501 - ) - # Source: Yul - # { - # function tload_temp(loc) -> val { - # val := verbatim_1i_1o(hex"5C", loc) - # } - # - # function tstore_temp(loc, val) { - # verbatim_2i_0o(hex"5D", loc, val) - # } - # - # // Write these values to storage (overwriting the 0x60A7's). - # // If these values are not zero, there is a problem. - # sstore(0, tload_temp(0)) - # sstore(1, tload_temp(1)) - # pop(call(gas(), caller(), 0, 0,0, 0,0)) - # } - pre.deploy_contract( - code=( - Op.PUSH1[0x6] - + Op.PUSH0 - + Op.JUMP(pc=0x1D) - + Op.JUMPDEST - + Op.PUSH0 - + Op.SSTORE - + Op.PUSH1[0x10] - + Op.PUSH1[0x1] - + Op.JUMP(pc=0x1D) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.SSTORE - + Op.CALL( - gas=Op.GAS, - address=Op.CALLER, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ) - + Op.STOP - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - ), - storage={0x0: 0x60A7, 0x1: 0x60A7}, - address=Address("0x00000000000000000000000000000000ca11bacc"), # noqa: E501 - ) - # Source: Yul - # { - # // These two functions use transient storage. - # // Once the relevant opcodes are added to Yul, simply remove - # // them (from all contracts) and remove the _temp suffices. - # function tload_temp(loc) -> val { - # val := verbatim_1i_1o(hex"5C", loc) - # } - # - # function tstore_temp(loc, val) { - # verbatim_2i_0o(hex"5D", loc, val) - # } - # - # // If we are called by ourselves, this is part of the loop. - # if eq(caller(), address()) { - # let counter := tload_temp(0) - # - # // If the counter is equal to zero, we're done - return. - # if eq(counter,0) { - # return(0,0) - # } - # - # // If counter isn't zero, add counter to Trans[1] and do recursion - # tstore_temp(1, add(tload_temp(1), counter)) - # - # // Change the loop variable and call yourself - # tstore_temp(0, sub(counter, 1)) - # let res := call(gas(), address(), 0, 0,0, 0,0) - # if iszero(res) { // If the call failed, fail too - # revert(0,0) - # } - # ... (15 more lines) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x33, condition=Op.EQ(Op.CALLER, Op.ADDRESS)) - + Op.JUMPDEST - + Op.JUMPI(pc=0xE, condition=Op.SUB(Op.CALLER, Op.ADDRESS)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x1B] - + Op.CALLDATALOAD(offset=Op.PUSH0) - + Op.SSTORE(key=0x1, value=Op.DUP1) - + Op.PUSH0 - + Op.JUMP(pc=0x6F) - + Op.JUMPDEST - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.PUSH1[0x2E] - + Op.PUSH1[0x1] - + Op.JUMP(pc=0x6B) - + Op.JUMPDEST - + Op.PUSH1[0x3] - + Op.SSTORE - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x3A] - + Op.PUSH0 - + Op.JUMP(pc=0x6B) - + Op.JUMPDEST - + Op.JUMPI(pc=0x69, condition=Op.ISZERO(Op.DUP1)) - + Op.PUSH1[0x1] - + Op.DUP2 - + Op.PUSH1[0x54] - + Op.PUSH1[0x5A] - + Op.SWAP4 - + Op.PUSH1[0x4E] - + Op.DUP5 - + Op.JUMP(pc=0x6B) - + Op.JUMPDEST - + Op.ADD - + Op.DUP4 - + Op.JUMP(pc=0x6F) - + Op.JUMPDEST - + Op.SUB - + Op.PUSH0 - + Op.JUMP(pc=0x6F) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x6, - condition=Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.PUSH0, - ), - ) - + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.TSTORE - + Op.JUMP - ), - address=Address("0x00000000000000000000000000000000ebd141d5"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: Yul - # { - # let func := shr(224, calldataload(0)) - # let param := calldataload(4) - # sstore(0, func) - # mstore(0, param) - # sstore(1, call(gas(), func, 0, 0,32, 0,0)) - # } - contract = pre.deploy_contract( - code=( - Op.PUSH0 - + Op.DUP1 - + Op.PUSH1[0x20] - + Op.DUP2 - + Op.DUP1 - + Op.SHR(0xE0, Op.CALLDATALOAD(offset=Op.DUP1)) - + Op.CALLDATALOAD(offset=0x4) - + Op.SSTORE(key=Op.DUP4, value=Op.DUP2) - + Op.DUP3 - + Op.MSTORE - + Op.GAS - + Op.SSTORE(key=0x1, value=Op.CALL) - + Op.STOP - ), - address=Address("0xdd53b677a6fd4e871a6355f283b1bd7ceb95a95e"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - nonce=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Cancun/stEIP1153_transientStorage/test_trans_storage_reset.py b/tests/ported_static/Cancun/stEIP1153_transientStorage/test_trans_storage_reset.py deleted file mode 100644 index 5b85bca033b..00000000000 --- a/tests/ported_static/Cancun/stEIP1153_transientStorage/test_trans_storage_reset.py +++ /dev/null @@ -1,845 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/Cancun/stEIP1153_transientStorage -transStorageResetFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Cancun/stEIP1153_transientStorage/transStorageResetFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f1f1fe", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f1f1fd", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f1f100", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 48879, 1: 1} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 1} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f100fe", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f100fd", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f10000", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743, 1: 1} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 32343} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f2f1fe", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f2f1fd", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f2f100", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 48879, 1: 1, 16: 1} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f2f2fe", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f2f2fd", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f2f200", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 48879, 1: 1, 16: 1} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f2f4fe", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f2f4fd", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f2f400", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 48879, 1: 1, 16: 1} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f200fe", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f200fd", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f20000", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 0xBAD0BEEF, 1: 1, 16: 32343} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f4f1fe", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f4f1fd", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f4f100", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 48879, 1: 1, 16: 1} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f4f2fe", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f4f2fd", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f4f200", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 48879, 1: 1, 16: 1} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f4f4fe", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f4f4fd", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f4f400", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 48879, 1: 1, 16: 1} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f400fe", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f400fd", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 24743} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ( - "d6c2107a0000000000000000000000009f075370ef41d4cd90151e731e33836e6f521669000000000000000000000000d1f046b080a87137c61a14bb81c2b6bbcec170840000000000000000000000000000000000000000000000000000000000f40000", # noqa: E501 - { - Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"): Account( - storage={ - 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, - 1: 1, - } - ), - Address("0x9f075370ef41d4cd90151e731e33836e6f521669"): Account( - storage={0: 0xBAD0BEEF, 1: 1, 16: 32343} - ), - Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"): Account( - storage={16: 24743} - ), - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - ], -) -@pytest.mark.pre_alloc_mutable -def test_trans_storage_reset( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - # Source: Yul - # { - # let reverter := calldataload(4) - # let dead := calldataload(36) - # let param := calldataload(68) - # sstore(0, reverter) - # mstore(0, reverter) - # mstore(32, dead) - # mstore(64, param) - # sstore(1, call(gas(), reverter, 0, 0, 96, 0, 0)) - # } - contract = pre.deploy_contract( - code=( - Op.PUSH0 - + Op.DUP1 - + Op.PUSH1[0x60] - + Op.DUP2 - + Op.DUP1 - + Op.CALLDATALOAD(offset=0x4) - + Op.CALLDATALOAD(offset=0x24) - + Op.CALLDATALOAD(offset=0x44) - + Op.SWAP1 - + Op.SSTORE(key=Op.DUP5, value=Op.DUP3) - + Op.MSTORE(offset=Op.DUP5, value=Op.DUP3) - + Op.PUSH1[0x20] - + Op.MSTORE - + Op.PUSH1[0x40] - + Op.MSTORE - + Op.GAS - + Op.SSTORE(key=0x1, value=Op.CALL) - + Op.STOP - ), - address=Address("0x1679c7439ef325a99a6afc54a8f7894c3da35b16"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=Op.PUSH0) - + Op.CALLDATALOAD(offset=0x20) - + Op.SWAP1 - + Op.PUSH0 - + Op.MSTORE - + Op.MSTORE(offset=0x20, value=Op.DUP1) - + Op.BYTE(0x1D, Op.CALLDATALOAD(offset=0x40)) - + Op.SWAP1 - + Op.PUSH1[0x19] - + Op.PUSH0 - + Op.JUMP(pc=0xA8) - + Op.JUMPDEST - + Op.JUMPI(pc=0x39, condition=Op.ISZERO) - + Op.PUSH2[0x60A7] - + Op.PUSH1[0x27] - + Op.PUSH0 - + Op.JUMP(pc=0xA8) - + Op.JUMPDEST - + Op.JUMPI(pc=0x2D, condition=Op.EQ) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x37] - + Op.PUSH2[0xBEEF] - + Op.PUSH0 - + Op.JUMP(pc=0xAC) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x43] - + Op.PUSH2[0x60A7] - + Op.PUSH0 - + Op.JUMP(pc=0xAC) - + Op.JUMPDEST - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) - + Op.PUSH0 - + Op.SWAP2 - + Op.DIV(Op.GAS, 0x2) - + Op.SWAP1 - + Op.JUMPI(pc=0x96, condition=Op.EQ(0xF1, Op.DUP1)) - + Op.JUMPI(pc=0x84, condition=Op.EQ(0xF2, Op.DUP1)) - + Op.PUSH1[0xF4] - + Op.JUMPI(pc=0x74, condition=Op.EQ) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.DUP3) - + Op.PUSH1[0x70] - + Op.PUSH0 - + Op.JUMP(pc=0xA8) - + Op.JUMPDEST - + Op.PUSH0 - + Op.SSTORE - + Op.STOP - + Op.JUMPDEST - + Op.PUSH0 - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.DUP1 - + Op.SWAP3 - + Op.PUSH1[0x60] - + Op.SWAP3 - + Op.DELEGATECALL - + Op.PUSH0 - + Op.DUP1 - + Op.JUMP(pc=0x65) - + Op.JUMPDEST - + Op.POP - + Op.PUSH0 - + Op.DUP1 - + Op.DUP1 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.PUSH1[0x60] - + Op.SWAP4 - + Op.CALLCODE - + Op.PUSH0 - + Op.DUP1 - + Op.JUMP(pc=0x65) - + Op.JUMPDEST - + Op.POP - + Op.PUSH0 - + Op.DUP1 - + Op.DUP1 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.PUSH1[0x60] - + Op.SWAP4 - + Op.CALL - + Op.PUSH0 - + Op.DUP1 - + Op.JUMP(pc=0x65) - + Op.JUMPDEST - + Op.TLOAD - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.TSTORE - + Op.JUMP - ), - storage={0x1: 0x60A7}, - address=Address("0x9f075370ef41d4cd90151e731e33836e6f521669"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=Op.PUSH0) - + Op.CALLDATALOAD(offset=0x20) - + Op.MSTORE(offset=Op.PUSH0, value=Op.DUP2) - + Op.PUSH1[0x20] - + Op.MSTORE - + Op.BYTE(0x1E, Op.CALLDATALOAD(offset=0x40)) - + Op.BYTE(0x1F, Op.CALLDATALOAD(offset=0x40)) - + Op.SWAP2 - + Op.PUSH2[0x7E57] - + Op.SWAP2 - + Op.SWAP1 - + Op.JUMPI(pc=0x91, condition=Op.EQ(0xF1, Op.DUP2)) - + Op.JUMPI(pc=0x80, condition=Op.EQ(0xF2, Op.DUP2)) - + Op.JUMPI(pc=0x70, condition=Op.EQ(0xF4, Op.DUP2)) - + Op.POP - + Op.JUMPI(pc=0x60, condition=Op.ISZERO) - + Op.JUMPDEST - + Op.PUSH1[0x10] - + Op.SSTORE - + Op.JUMPI(pc=0x5E, condition=Op.ISZERO(Op.DUP1)) - + Op.JUMPI(pc=0x5A, condition=Op.EQ(0xFD, Op.DUP1)) - + Op.JUMPI(pc=0x58, condition=Op.EQ(0xFE, Op.DUP1)) - + Op.PUSH1[0xFF] - + Op.JUMPI(pc=0x55, condition=Op.EQ) - + Op.STOP - + Op.JUMPDEST - + Op.SELFDESTRUCT(address=Op.PUSH0) - + Op.JUMPDEST - + Op.INVALID - + Op.JUMPDEST - + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x6C] - + Op.PUSH4[0xBAD0BEEF] - + Op.PUSH0 - + Op.JUMP(pc=0xA2) - + Op.JUMPDEST - + Op.JUMP(pc=0x37) - + Op.JUMPDEST - + Op.PUSH0 - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.DUP1 - + Op.SWAP3 - + Op.POP - + Op.PUSH1[0x40] - + Op.SWAP2 - + Op.GAS - + Op.DELEGATECALL - + Op.JUMP(pc=0x37) - + Op.JUMPDEST - + Op.PUSH0 - + Op.DUP1 - + Op.DUP1 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.PUSH1[0x40] - + Op.SWAP3 - + Op.GAS - + Op.CALLCODE - + Op.JUMP(pc=0x37) - + Op.JUMPDEST - + Op.PUSH0 - + Op.DUP1 - + Op.DUP1 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.PUSH1[0x40] - + Op.SWAP3 - + Op.GAS - + Op.CALL - + Op.JUMP(pc=0x37) - + Op.JUMPDEST - + Op.TSTORE - + Op.JUMP - ), - storage={0x10: 0x60A7}, - address=Address("0xd1f046b080a87137c61a14bb81c2b6bbcec17084"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - nonce=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Cancun/stEIP4844_blobtransactions/__init__.py b/tests/ported_static/Cancun/stEIP4844_blobtransactions/__init__.py deleted file mode 100644 index 344841db7d1..00000000000 --- a/tests/ported_static/Cancun/stEIP4844_blobtransactions/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from stEIP4844_blobtransactions.""" diff --git a/tests/ported_static/Cancun/stEIP5656_MCOPY/__init__.py b/tests/ported_static/Cancun/stEIP5656_MCOPY/__init__.py deleted file mode 100644 index 2743ddae1d6..00000000000 --- a/tests/ported_static/Cancun/stEIP5656_MCOPY/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from stEIP5656_MCOPY.""" diff --git a/tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy.py b/tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy.py deleted file mode 100644 index 94329bb3711..00000000000 --- a/tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy.py +++ /dev/null @@ -1,371 +0,0 @@ -""" -MCOPY memory copy test cases. - -Ported from: -tests/static/state_tests/Cancun/stEIP5656_MCOPY/MCOPYFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/Cancun/stEIP5656_MCOPY/MCOPYFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC1C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xC1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1C1A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE, # noqa: E501 - 1: 0xDFC1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0, # noqa: E501 - 1: 0xC1C2C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A0A1A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xBFC1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xA1A2C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A0A1A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE, # noqa: E501 - 1: 0xBFC1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000033", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"): Account( - storage={ - 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - } - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], -) -@pytest.mark.pre_alloc_mutable -def test_mcopy( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """MCOPY memory copy test cases.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1687174231, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=1000000, - ) - - # Source: Yul - # { - # // Fill memory at [0-96] (3x32) with the pattern of unique bytes. - # mstore( 0, 0xa0a1a2a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbF) # noqa: E501 - # mstore(32, 0xc0c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF) # noqa: E501 - # mstore(64, 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF) # noqa: E501 - # - # // MCOPY using parameters from CALLDATA. - # mcopy(calldataload(0), calldataload(32), calldataload(64)) - # - # // Dump memory at [0-96] to 3 storage slots. - # sstore(0, mload( 0)) - # sstore(1, mload(32)) - # sstore(2, mload(64)) - # } - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=Op.PUSH0, - value=0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 - ) - + Op.MCOPY( - dest_offset=Op.CALLDATALOAD(offset=Op.PUSH0), - offset=Op.CALLDATALOAD(offset=0x20), - size=Op.CALLDATALOAD(offset=0x40), - ) - + Op.SSTORE(key=Op.PUSH0, value=Op.MLOAD(offset=Op.PUSH0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x40)) - + Op.STOP - ), - address=Address("0xbfd584ec9dc8fbadcea812c707e1765b4df8fa6c"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3B9ACA00) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=1000000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy_copy_cost.py b/tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy_copy_cost.py deleted file mode 100644 index 4016ad003a3..00000000000 --- a/tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy_copy_cost.py +++ /dev/null @@ -1,712 +0,0 @@ -""" -Test cases for the cost of memory copy in the MCOPY instruction. - -Ported from: -tests/static/state_tests/Cancun/stEIP5656_MCOPY/MCOPY_copy_costFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Cancun/stEIP5656_MCOPY/MCOPY_copy_costFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", - [ - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aedf", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aedf", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aee0", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aee0", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aee1", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aee1", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000aedf", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000aedf", # noqa: E501 - 55697, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000aee0", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000aee0", # noqa: E501 - 55697, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000aee1", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000aee1", # noqa: E501 - 55697, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000aedf", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000aedf", # noqa: E501 - 55697, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000aee0", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000aee0", # noqa: E501 - 55697, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000aee1", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000aee1", # noqa: E501 - 55697, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - 55697, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000aedf", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000aedf", # noqa: E501 - 55697, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000aee0", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000aee0", # noqa: E501 - 55697, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000aee1", # noqa: E501 - 100000, - { - Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000aee1", # noqa: E501 - 55697, - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - ], -) -@pytest.mark.pre_alloc_mutable -def test_mcopy_copy_cost( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Test cases for the cost of memory copy in the MCOPY instruction.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1687174231, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=1000000, - ) - - # Source: Yul - # { - # function mcopy(dst, src, size) { verbatim_3i_0o(hex"5e", dst, src, size) } # noqa: E501 - # - # // Put a flag in storage indicating successful execution (will be reverted in case of OOG). # noqa: E501 - # sstore(0, 1) - # - # // Expand memory to cover memory expansion cost before MCOPY. - # // The test uses up to 1400 memory words. - # mstore(44800, 1) - # - # // MCOPY using src and size from CALLDATA to 0 destination. - # mcopy(0, calldataload(0), calldataload(32)) - # } - contract = pre.deploy_contract( - code=( - Op.JUMP(pc=0xC) - + Op.JUMPDEST - + Op.MCOPY(dest_offset=Op.DUP3, offset=Op.DUP3, size=Op.DUP3) - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.SSTORE(key=Op.PUSH0, value=0x1) - + Op.MSTORE(offset=0xAF00, value=0x1) - + Op.PUSH1[0x22] - + Op.CALLDATALOAD(offset=0x20) - + Op.CALLDATALOAD(offset=Op.PUSH0) - + Op.PUSH0 - + Op.JUMP(pc=0x3) - + Op.JUMPDEST - ), - address=Address("0x9f1a7b52bb2d016223285964cb0876dff8c9c9f8"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3B9ACA00) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy_memory_expansion_cost.py b/tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy_memory_expansion_cost.py deleted file mode 100644 index 796779825cb..00000000000 --- a/tests/ported_static/Cancun/stEIP5656_MCOPY/test_mcopy_memory_expansion_cost.py +++ /dev/null @@ -1,555 +0,0 @@ -""" -Test cases for the memory expansion cost in the MCOPY instruction. - -Ported from: -tests/static/state_tests/Cancun/stEIP5656_MCOPY -MCOPY_memory_expansion_costFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Cancun/stEIP5656_MCOPY/MCOPY_memory_expansion_costFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000002c2", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 768} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c2", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 768} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000002c2", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 768} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000002c2", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 768} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000002c2", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 768} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000ffffffffffffffff", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - ], -) -@pytest.mark.pre_alloc_mutable -def test_mcopy_memory_expansion_cost( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test cases for the memory expansion cost in the MCOPY instruction.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1687174231, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=1000000, - ) - - # Source: Yul - # { - # // Take most of the SSTORE cost before MCOPY. - # sstore(0, 1) - # - # // MCOPY using parameters from CALLDATA. - # mcopy(calldataload(0), calldataload(32), calldataload(64)) - # - # // Put MSIZE in storage. - # sstore(0, msize()) - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=Op.PUSH0, value=0x1) - + Op.MCOPY( - dest_offset=Op.CALLDATALOAD(offset=Op.PUSH0), - offset=Op.CALLDATALOAD(offset=0x20), - size=Op.CALLDATALOAD(offset=0x40), - ) - + Op.SSTORE(key=Op.PUSH0, value=Op.MSIZE) - + Op.STOP - ), - storage={0x0: 0xFA11ED}, - address=Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3B9ACA00) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=100000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Cancun/stEIP5656_MCOPY/MCOPY_memory_expansion_costFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000002c2", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 768} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c2", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 768} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000002c2", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 768} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000002c2", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 768} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000002c2", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 768} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000540", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 1408} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000ffffffffffffffff", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - { - Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"): Account( - storage={0: 0xFA11ED} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - ], -) -@pytest.mark.pre_alloc_mutable -def test_mcopy_memory_expansion_cost_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test cases for the memory expansion cost in the MCOPY instruction.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1687174231, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=1000000, - ) - - # Source: Yul - # { - # // Take most of the SSTORE cost before MCOPY. - # sstore(0, 1) - # - # // MCOPY using parameters from CALLDATA. - # mcopy(calldataload(0), calldataload(32), calldataload(64)) - # - # // Put MSIZE in storage. - # sstore(0, msize()) - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=Op.PUSH0, value=0x1) - + Op.MCOPY( - dest_offset=Op.CALLDATALOAD(offset=Op.PUSH0), - offset=Op.CALLDATALOAD(offset=0x20), - size=Op.CALLDATALOAD(offset=0x40), - ) - + Op.SSTORE(key=Op.PUSH0, value=Op.MSIZE) - + Op.STOP - ), - storage={0x0: 0xFA11ED}, - address=Address("0x147daecf943fa4fb48d1b7287571525b0baefeb9"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3B9ACA00) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=100000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Shanghai/__init__.py b/tests/ported_static/Shanghai/__init__.py deleted file mode 100644 index af31530b519..00000000000 --- a/tests/ported_static/Shanghai/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from Shanghai.""" diff --git a/tests/ported_static/Shanghai/stEIP3651_warmcoinbase/__init__.py b/tests/ported_static/Shanghai/stEIP3651_warmcoinbase/__init__.py deleted file mode 100644 index 5519aca3d48..00000000000 --- a/tests/ported_static/Shanghai/stEIP3651_warmcoinbase/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from stEIP3651_warmcoinbase.""" diff --git a/tests/ported_static/Shanghai/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas.py b/tests/ported_static/Shanghai/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas.py deleted file mode 100644 index 908daf17c4c..00000000000 --- a/tests/ported_static/Shanghai/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas.py +++ /dev/null @@ -1,310 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/Shanghai/stEIP3651_warmcoinbase -coinbaseWarmAccountCallGasFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Shanghai/stEIP3651_warmcoinbase/coinbaseWarmAccountCallGasFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xa4a48fc5f3526a9bc06a0136ab0ba1d9574d15ba"): Account( - storage={0: 100} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xa4a48fc5f3526a9bc06a0136ab0ba1d9574d15ba"): Account( - storage={0: 100} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xa4a48fc5f3526a9bc06a0136ab0ba1d9574d15ba"): Account( - storage={0: 100} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xa4a48fc5f3526a9bc06a0136ab0ba1d9574d15ba"): Account( - storage={0: 100} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xa4a48fc5f3526a9bc06a0136ab0ba1d9574d15ba"): Account( - storage={0: 100} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0xa4a48fc5f3526a9bc06a0136ab0ba1d9574d15ba"): Account( - storage={0: 100} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xa4a48fc5f3526a9bc06a0136ab0ba1d9574d15ba"): Account( - storage={0: 100} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0xa4a48fc5f3526a9bc06a0136ab0ba1d9574d15ba"): Account( - storage={0: 100} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - ], -) -@pytest.mark.pre_alloc_mutable -def test_coinbase_warm_account_call_gas( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x50228c44ed92561d94511e8518a75aa463bd444b") - sender = EOA( - key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - pre[coinbase] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: Yul - # { - # // Save the coinbase value - # let cb := coinbase() - # - # // Minimum gas spent on the measurement, which changes depending on - # // the tested opcode - # // - # // Note that this value can change (mostly down) when Yul rolls out new # noqa: E501 - # // optimizations - # let measureGas - # - # let gas0, gas1 - # let retVal - # - # // We can only check the gas of one opcode per transaction, - # // because the first check adds the account to the - # // 'accessed_addresses' list. - # switch calldataload(4) - # case 0 { - # // EXTCODESIZE - # measureGas := 8 - # gas0 := gas() - # retVal := extcodesize(cb) - # gas1 := gas() - # } - # case 1 { - # // EXTCODECOPY - # measureGas := 5 - # gas0 := gas() - # extcodecopy(cb, 0, 0, 0) - # ... (53 more lines) - contract = pre.deploy_contract( - code=( - Op.COINBASE - + Op.CALLDATALOAD(offset=0x4) - + Op.PUSH1[0x0] - + Op.JUMPI(pc=0xCC, condition=Op.ISZERO(Op.DUP2)) - + Op.JUMPI(pc=0xBA, condition=Op.EQ(0x1, Op.DUP2)) - + Op.POP - + Op.JUMPI(pc=0xAD, condition=Op.EQ(0x2, Op.DUP1)) - + Op.JUMPI(pc=0xA0, condition=Op.EQ(0x3, Op.DUP1)) - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x4, Op.DUP1)) - + Op.JUMPI(pc=0x74, condition=Op.EQ(0x5, Op.DUP1)) - + Op.JUMPI(pc=0x5F, condition=Op.EQ(0x6, Op.DUP1)) - + Op.PUSH1[0x7] - + Op.JUMPI(pc=0x40, condition=Op.EQ) - + Op.REVERT(offset=Op.DUP1, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0xB] - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.GAS - + Op.SWAP6 - + Op.PUSH2[0x2710] - + Op.STATICCALL - + Op.SWAP2 - + Op.GAS - + Op.SWAP1 - + Op.JUMPDEST - + Op.SUB - + Op.SSTORE(key=0x0, value=Op.SUB) - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0xB] - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.GAS - + Op.SWAP6 - + Op.PUSH2[0x2710] - + Op.DELEGATECALL - + Op.SWAP2 - + Op.GAS - + Op.SWAP1 - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0xB] - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.GAS - + Op.SWAP7 - + Op.PUSH2[0x2710] - + Op.CALLCODE - + Op.SWAP2 - + Op.GAS - + Op.SWAP1 - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0xB] - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.GAS - + Op.SWAP7 - + Op.PUSH2[0x2710] - + Op.CALL - + Op.SWAP2 - + Op.GAS - + Op.SWAP1 - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x8] - + Op.GAS - + Op.SWAP2 - + Op.BALANCE - + Op.SWAP2 - + Op.GAS - + Op.SWAP1 - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x8] - + Op.GAS - + Op.SWAP2 - + Op.EXTCODEHASH - + Op.SWAP2 - + Op.GAS - + Op.SWAP1 - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.SWAP2 - + Op.PUSH1[0x5] - + Op.SWAP2 - + Op.POP - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.GAS - + Op.SWAP4 - + Op.EXTCODECOPY - + Op.GAS - + Op.SWAP1 - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.PUSH1[0x8] - + Op.GAS - + Op.SWAP2 - + Op.EXTCODESIZE - + Op.SWAP2 - + Op.GAS - + Op.SWAP1 - + Op.JUMP(pc=0x51) - ), - balance=0xBA1A9CE0BA1A9CE, - address=Address("0xa4a48fc5f3526a9bc06a0136ab0ba1d9574d15ba"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=80000, - nonce=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Shanghai/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas_fail.py b/tests/ported_static/Shanghai/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas_fail.py deleted file mode 100644 index cad9034e1ca..00000000000 --- a/tests/ported_static/Shanghai/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas_fail.py +++ /dev/null @@ -1,251 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/Shanghai/stEIP3651_warmcoinbase -coinbaseWarmAccountCallGasFailFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Shanghai/stEIP3651_warmcoinbase/coinbaseWarmAccountCallGasFailFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000008ddf5d9a5251c41efd2949f53db0a464116c7c6e", # noqa: E501 - { - Address("0x0a92fc97bb4c47b3d5e9e96fbb1c3fc2f07dba81"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000498516b6b2f25cb6a8e011a7c37a617b77e7d500", # noqa: E501 - { - Address("0x0a92fc97bb4c47b3d5e9e96fbb1c3fc2f07dba81"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000008873820bb96daa39db93ae64a9d6397e4c6a48d7", # noqa: E501 - { - Address("0x0a92fc97bb4c47b3d5e9e96fbb1c3fc2f07dba81"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000303b6790d019874a107418eb549e4e7766a64728", # noqa: E501 - { - Address("0x0a92fc97bb4c47b3d5e9e96fbb1c3fc2f07dba81"): Account( - storage={0: 1} - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_coinbase_warm_account_call_gas_fail( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x50228c44ed92561d94511e8518a75aa463bd444b") - sender = EOA( - key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - # Source: Yul - # { - # // Depending on the called contract here, the subcall will perform - # // another call/delegatecall/staticcall/callcode that will only succeed # noqa: E501 - # // if coinbase is considered warm by default (post-Shanghai). - # let calladdr := calldataload(4) - # - # let callgas := 100 - # switch calladdr - # case { - # // Extra: COINBASE + 6xPUSH1 + DUP6 + 2xPOP - # callgas := add(callgas, 27) - # } - # case { - # // Extra: COINBASE + 6xPUSH1 + DUP6 + 2xPOP - # callgas := add(callgas, 27) - # } - # case { - # // Extra: COINBASE + 5xPUSH1 + DUP6 + 2xPOP - # callgas := add(callgas, 24) - # } - # case { - # // Extra: COINBASE + 5xPUSH1 + DUP6 + 2xPOP - # callgas := add(callgas, 24) - # } - # // Call and save result - # sstore(0, call(callgas, calladdr, 0, 0, 0, 0, 0)) - # - # } - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.CALLDATALOAD(offset=0x4) - + Op.PUSH1[0x64] - + Op.DUP2 - + Op.JUMPI( - pc=0x88, - condition=Op.EQ( - 0x8DDF5D9A5251C41EFD2949F53DB0A464116C7C6E, - Op.DUP1, - ), - ) - + Op.JUMPI( - pc=0x88, - condition=Op.EQ( - 0x498516B6B2F25CB6A8E011A7C37A617B77E7D500, - Op.DUP1, - ), - ) - + Op.JUMPI( - pc=0x80, - condition=Op.EQ( - 0x8873820BB96DAA39DB93AE64A9D6397E4C6A48D7, - Op.DUP1, - ), - ) - + Op.PUSH20[0x303B6790D019874A107418EB549E4E7766A64728] - + Op.JUMPI(pc=0x79, condition=Op.EQ) - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x18] - + Op.ADD - + Op.JUMP(pc=0x73) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x18] - + Op.ADD - + Op.JUMP(pc=0x73) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x1B] - + Op.ADD - + Op.JUMP(pc=0x73) - ), - balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0a92fc97bb4c47b3d5e9e96fbb1c3fc2f07dba81"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=Op.DUP2, - address=Op.COINBASE, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - address=Address("0x303b6790d019874a107418eb549e4e7766a64728"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=Op.DUP2, - address=Op.COINBASE, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - address=Address("0x498516b6b2f25cb6a8e011a7c37a617b77e7d500"), # noqa: E501 - ) - pre[coinbase] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.DUP2, - address=Op.COINBASE, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - address=Address("0x8873820bb96daa39db93ae64a9d6397e4c6a48d7"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALL( - gas=Op.DUP2, - address=Op.COINBASE, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - address=Address("0x8ddf5d9a5251c41efd2949f53db0a464116c7c6e"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=80000, - nonce=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Shanghai/stEIP3855_push0/__init__.py b/tests/ported_static/Shanghai/stEIP3855_push0/__init__.py deleted file mode 100644 index 79966be3e0d..00000000000 --- a/tests/ported_static/Shanghai/stEIP3855_push0/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from stEIP3855_push0.""" diff --git a/tests/ported_static/Shanghai/stEIP3855_push0/test_push0.py b/tests/ported_static/Shanghai/stEIP3855_push0/test_push0.py deleted file mode 100644 index 6ae9e2f0065..00000000000 --- a/tests/ported_static/Shanghai/stEIP3855_push0/test_push0.py +++ /dev/null @@ -1,1325 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/Shanghai/stEIP3855_push0/push0Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/Shanghai/stEIP3855_push0/push0Filler.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "0000000000000000000000000000000000000200", - { - Address("0x0000000000000000000000000000000000000200"): Account( - storage={0: 1} - ), - Address("0x0000000000000000000000000000000000000400"): Account( - storage={0: 10, 1: 10} - ), - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ), - }, - ), - ( - "0000000000000000000000000000000000000300", - { - Address("0x0000000000000000000000000000000000000400"): Account( - storage={0: 10, 1: 10} - ), - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={1: 1} - ), - }, - ), - ( - "0000000000000000000000000000000000000700", - { - Address("0x0000000000000000000000000000000000000400"): Account( - storage={0: 10, 1: 10} - ), - Address("0x0000000000000000000000000000000000000700"): Account( - storage={0: 1} - ), - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ), - }, - ), - ( - "0000000000000000000000000000000000000400", - { - Address("0x0000000000000000000000000000000000000400"): Account( - storage={0: 2} - ), - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ), - }, - ), - ( - "0000000000000000000000000000000000000500", - { - Address("0x0000000000000000000000000000000000000400"): Account( - storage={0: 10, 1: 10} - ), - Address("0x0000000000000000000000000000000000000500"): Account( - storage={0: 1, 1: 1, 2: 255} - ), - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ), - }, - ), - ( - "0000000000000000000000000000000000001000", - { - Address("0x0000000000000000000000000000000000000400"): Account( - storage={0: 10, 1: 10} - ), - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 1} - ), - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ), - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], -) -@pytest.mark.pre_alloc_mutable -def test_push0( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=89128960, - ) - - # Source: raw bytecode - pre.deploy_contract( - code=bytes.fromhex( - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f" # noqa: E501 - "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f1717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "171717171717171717171717171717171717171717171717171717171717171717171717" # noqa: E501 - "1717171717171717171717171717171717171717171717171717171717171760019055" # noqa: E501 - ), - nonce=0, - address=Address("0x0000000000000000000000000000000000000200"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - + Op.PUSH0 - ), - nonce=0, - address=Address("0x0000000000000000000000000000000000000300"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=Op.PUSH0, value=0x2) + Op.SSTORE(key=0x1, value=0x0) - ), - storage={0x0: 0xA, 0x1: 0xA}, - nonce=0, - address=Address("0x0000000000000000000000000000000000000400"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x186A0, - address=0x600, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.RETURNDATACOPY(dest_offset=0x1F, offset=0x0, size=0x1) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - nonce=0, - address=Address("0x0000000000000000000000000000000000000500"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=Op.PUSH0, value=0xFF) - + Op.RETURN(offset=0x0, size=0x1) - ), - nonce=0, - address=Address("0x0000000000000000000000000000000000000600"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMP(pc=0x4) - + Op.PUSH0 - + Op.JUMPDEST - + Op.SSTORE(key=Op.PUSH0, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0x0000000000000000000000000000000000000700"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=Op.PUSH0, value=0x1), - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: Yul - # { - # sstore(0, call(100000, shr(96, calldataload(0)), 0, 0, 0, 0, 0)) - # sstore(1, 1) - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x186A0, - address=Op.SHR(0x60, Op.CALLDATALOAD(offset=Op.DUP1)), - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=700000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Shanghai/stEIP3855_push0/test_push0_gas2.py b/tests/ported_static/Shanghai/stEIP3855_push0/test_push0_gas2.py deleted file mode 100644 index bdafa79b821..00000000000 --- a/tests/ported_static/Shanghai/stEIP3855_push0/test_push0_gas2.py +++ /dev/null @@ -1,146 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/Shanghai/stEIP3855_push0/push0Gas2Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/Shanghai/stEIP3855_push0/push0Gas2Filler.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "0000000000000000000000000000000000001000", - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 4} - ), - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ), - }, - ), - ( - "0000000000000000000000000000000000000200", - { - Address("0x0000000000000000000000000000000000000200"): Account( - storage={0: 5} - ), - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ), - }, - ), - ], - ids=["case0", "case1"], -) -@pytest.mark.pre_alloc_mutable -def test_push0_gas2( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=89128960, - ) - - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.GAS - + Op.PUSH1[0x0] - + Op.GAS - + Op.SWAP1 - + Op.SWAP2 - + Op.SUB - + Op.SWAP1 - + Op.SSTORE - ), - nonce=0, - address=Address("0x0000000000000000000000000000000000000200"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.GAS - + Op.PUSH0 - + Op.GAS - + Op.SWAP1 - + Op.SWAP2 - + Op.SUB - + Op.SWAP1 - + Op.SSTORE - ), - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre[sender] = Account(balance=0x989680) - # Source: Yul - # { - # sstore(0, call(100000, shr(96, calldataload(0)), 0, 0, 0, 0, 0)) - # sstore(1, 1) - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x186A0, - address=Op.SHR(0x60, Op.CALLDATALOAD(offset=Op.DUP1)), - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=300000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/__init__.py b/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/__init__.py deleted file mode 100644 index ad12e93b6d8..00000000000 --- a/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from stEIP3860_limitmeterinitcode.""" diff --git a/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_create2_init_code_size_limit.py b/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_create2_init_code_size_limit.py deleted file mode 100644 index 34eb8b74973..00000000000 --- a/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_create2_init_code_size_limit.py +++ /dev/null @@ -1,158 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/Shanghai/stEIP3860_limitmeterinitcode -create2InitCodeSizeLimitFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Shanghai/stEIP3860_limitmeterinitcode/create2InitCodeSizeLimitFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "000000000000000000000000000000000000000000000000000000000000c001", - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000c000", - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ), - Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 0x9E7A3337D18C31FE4C1FE51AB2DA6CFD3629923D, - 10: 55539, - } - ), - }, - ), - ], - ids=["case0", "case1"], -) -@pytest.mark.pre_alloc_mutable -def test_create2_init_code_size_limit( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=20000000, - ) - - pre[sender] = Account(balance=0xBEBC200) - # Source: Yul - # { - # mstore(0, calldataload(0)) - # let call_result := call(10000000, 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b, 0, 0, calldatasize(), 0, 0) # noqa: E501 - # sstore(0, call_result) - # sstore(1, 1) - # } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x989680, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.CALLDATASIZE, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - # Source: Yul - # { - # // :yul { codecopy(0x00, 0x00, 0x0a) return(0x00, 0x0a) } - # mstore(0, 0x600a80600080396000f300000000000000000000000000000000000000000000) # noqa: E501 - # // get initcode size from calldata - # let initcode_size := calldataload(0) - # let gas_before := gas() - # let create_result := create2(0, 0, initcode_size, 0xdeadbeef) - # sstore(10, sub(gas_before, gas())) - # sstore(0, create_result) - # } - pre.deploy_contract( - code=( - Op.SHL(0xB0, 0x600A80600080396000F3) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.CALLDATALOAD - + Op.PUSH4[0xDEADBEEF] - + Op.GAS - + Op.SWAP2 - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.CREATE2 - + Op.SWAP1 - + Op.GAS - + Op.SWAP1 - + Op.SSTORE(key=0xA, value=Op.SUB) - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.STOP - ), - nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=15000000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_create_init_code_size_limit.py b/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_create_init_code_size_limit.py deleted file mode 100644 index 6427e6b6f6d..00000000000 --- a/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_create_init_code_size_limit.py +++ /dev/null @@ -1,156 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/Shanghai/stEIP3860_limitmeterinitcode -createInitCodeSizeLimitFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Shanghai/stEIP3860_limitmeterinitcode/createInitCodeSizeLimitFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "000000000000000000000000000000000000000000000000000000000000c001", - { - Address("0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000c000", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={ - 0: 0x5F6BAAEB5B7C97725F84D1569C4ABC85135F4716, - 10: 46323, - } - ), - Address("0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"): Account( - storage={0: 1, 1: 1} - ), - }, - ), - ], - ids=["case0", "case1"], -) -@pytest.mark.pre_alloc_mutable -def test_create_init_code_size_limit( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=20000000, - ) - - # Source: Yul - # { - # // :yul { codecopy(0x00, 0x00, 0x0a) return(0x00, 0x0a) } - # mstore(0, 0x600a80600080396000f300000000000000000000000000000000000000000000) # noqa: E501 - # // get initcode size from calldata - # let initcode_size := calldataload(0) - # let gas_before := gas() - # let create_result := create(0, 0, initcode_size) - # sstore(10, sub(gas_before, gas())) - # sstore(0, create_result) - # } - pre.deploy_contract( - code=( - Op.SHL(0xB0, 0x600A80600080396000F3) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.CALLDATALOAD - + Op.GAS - + Op.SWAP1 - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.CREATE - + Op.SWAP1 - + Op.GAS - + Op.SWAP1 - + Op.SSTORE(key=0xA, value=Op.SUB) - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.STOP - ), - address=Address("0x000000000000000000000000000000000000c0de"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBEBC200, nonce=1) - # Source: Yul - # { - # mstore(0, calldataload(0)) - # let call_result := call(10000000, 0xc0de, 0, 0, calldatasize(), 0, 0) - # sstore(0, call_result) - # sstore(1, 1) - # } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x989680, - address=0xC0DE, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.CALLDATASIZE, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.STOP - ), - address=Address("0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=15000000, - nonce=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_creation_tx_init_code_size_limit.py b/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_creation_tx_init_code_size_limit.py deleted file mode 100644 index 44b4ebbbd53..00000000000 --- a/tests/ported_static/Shanghai/stEIP3860_limitmeterinitcode/test_creation_tx_init_code_size_limit.py +++ /dev/null @@ -1,151 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/Shanghai/stEIP3860_limitmeterinitcode -creationTxInitCodeSizeLimitFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, - TransactionException, -) - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Shanghai/stEIP3860_limitmeterinitcode/creationTxInitCodeSizeLimitFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, tx_error, expected_post", - [ - pytest.param( - "601080600b6000396000f360606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b505660606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b505660606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b60007310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000", # noqa: E501 - TransactionException.INITCODE_SIZE_EXCEEDED, - {}, - id="case0", - marks=pytest.mark.exception_test, - ), - pytest.param( - "601080600b6000396000f360606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b505660606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b505660606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b600073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000", # noqa: E501 - None, - {}, - id="case1", - ), - ], -) -@pytest.mark.pre_alloc_mutable -def test_creation_tx_init_code_size_limit( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - tx_error: object, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=20000000, - ) - - pre[sender] = Account(balance=0xBEBC200) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=None, - data=tx_data, - gas_limit=15000000, - error=tx_error, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/Shanghai/stEIP3860_limitmeterinitcode/creationTxInitCodeSizeLimitFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_data_hex, tx_error, expected_post", - [ - pytest.param( - "601080600b6000396000f360606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b505660606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b505660606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b60007310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000", # noqa: E501 - TransactionException.INITCODE_SIZE_EXCEEDED, - {}, - id="case0", - marks=pytest.mark.exception_test, - ), - pytest.param( - "601080600b6000396000f360606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b505660606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b505660606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b600073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000", # noqa: E501 - None, - {}, - id="case1", - ), - ], -) -@pytest.mark.pre_alloc_mutable -def test_creation_tx_init_code_size_limit_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - tx_error: object, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=20000000, - ) - - pre[sender] = Account(balance=0xBEBC200) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=None, - data=tx_data, - gas_limit=15000000, - error=tx_error, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/__init__.py b/tests/ported_static/VMTests/__init__.py deleted file mode 100644 index 52c056cf6b1..00000000000 --- a/tests/ported_static/VMTests/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from VMTests.""" diff --git a/tests/ported_static/VMTests/vmArithmeticTest/__init__.py b/tests/ported_static/VMTests/vmArithmeticTest/__init__.py deleted file mode 100644 index df807e4fbfb..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from vmArithmeticTest.""" diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_add.py b/tests/ported_static/VMTests/vmArithmeticTest/test_add.py deleted file mode 100644 index 6ca382146a2..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_add.py +++ /dev/null @@ -1,187 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/addFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/addFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 3} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4"], -) -@pytest.mark.pre_alloc_mutable -def test_add( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x4, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x1, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ADD(0x0, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADD( - 0x1, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_addmod.py b/tests/ported_static/VMTests/vmArithmeticTest/test_addmod.py deleted file mode 100644 index 71ecc12186e..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_addmod.py +++ /dev/null @@ -1,407 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/addmodFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/addmodFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000f", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100f"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100b"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={0: 5} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001008"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000009", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001009"): Account( - storage={0: 2} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100a"): Account( - storage={0: 4} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 2} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - ], -) -@pytest.mark.pre_alloc_mutable -def test_addmod( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ADDMOD(0x1, 0x2, 0x2)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADDMOD(Op.SUB(0x0, 0x1), Op.SUB(0x0, 0x2), 0x2), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADDMOD(Op.SUB(0x0, 0x6), 0x1, 0x3)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.EQ( - Op.SMOD(Op.SUB(0x0, 0x5), 0x3), - Op.ADDMOD(Op.SUB(0x0, 0x6), 0x1, 0x3), - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.EQ( - Op.MOD(Op.SUB(0x0, 0x5), 0x3), - Op.ADDMOD(Op.SUB(0x0, 0x6), 0x1, 0x3), - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADDMOD(0x4, 0x1, Op.SUB(0x0, 0x3))) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.EQ(Op.ADDMOD(0x4, 0x1, Op.SUB(0x0, 0x3)), 0x2), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADDMOD(Op.SUB(0x0, 0x1), 0x0, 0x5)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (addmod (- 0 1) 1 5) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADDMOD(Op.SUB(0x0, 0x1), 0x1, 0x5)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (addmod (- 0 1) 2 5) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADDMOD(Op.SUB(0x0, 0x1), 0x2, 0x5)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (addmod (- 0 1) (- 0 2) 5) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADDMOD(Op.SUB(0x0, 0x1), Op.SUB(0x0, 0x2), 0x5), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100a"), # noqa: E501 - ) - # Source: LLL - # { - # ; ((2^160)-1 + 1) % 5 - # [[0]] (addmod 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 5) # noqa: E501 - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADDMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x1, - 0x5, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100b"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (addmod 4 1 0) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ADDMOD(0x4, 0x1, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100c"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (addmod 0 1 0) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ADDMOD(0x0, 0x1, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100d"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (addmod 1 0 0) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ADDMOD(0x1, 0x0, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100e"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (- (addmod 0 0 0) 1) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SUB(Op.ADDMOD(0x0, 0x0, 0x0), 0x1)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100f"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_arith.py b/tests/ported_static/VMTests/vmArithmeticTest/test_arith.py deleted file mode 100644 index 32341cea219..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_arith.py +++ /dev/null @@ -1,87 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/arithFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/arithFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_arith( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x1] - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.ADD(0x5, Op.MUL(0x7, Op.ADD)) - + Op.PUSH1[0x2] - + Op.SWAP1 - + Op.DIV - + Op.PUSH1[0x4] - + Op.SWAP1 - + Op.PUSH1[0x21] - + Op.SWAP1 - + Op.MUL(0x3, Op.ADD(0x17, Op.SDIV)) - + Op.PUSH1[0x5] - + Op.SWAP1 - + Op.SUB(0x3, Op.SMOD) - + Op.SSTORE(key=0x0, value=Op.EXP(0x11, 0x9)) - + Op.RETURN(offset=0x0, size=0x8) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x14814d06e93efb1102a15d5881432c9ff6c91362"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("00"), - gas_limit=16777216, - value=1, - ) - - post = { - contract: Account(storage={0: 0x1B9C636491}), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_div.py b/tests/ported_static/VMTests/vmArithmeticTest/test_div.py deleted file mode 100644 index a2e1301061f..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_div.py +++ /dev/null @@ -1,214 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/divFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/divFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001007"): Account( - storage={0: 7} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 2} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 137} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - ], -) -@pytest.mark.pre_alloc_mutable -def test_div( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DIV( - 0x2, - 0xFEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DIV( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA, # noqa: E501 - 0x1DAE6076B981DAE6076B981DAE6076B981DAE6076B981DAE6076B981DAE6077, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.DIV(0x5, 0x2)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.DIV(0x17, 0x18)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.DIV(0x0, 0x18)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.DIV(0x1, 0x1)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.DIV(0x2, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ADD(Op.DIV(0xD, 0x0), 0x7)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_div_by_zero.py b/tests/ported_static/VMTests/vmArithmeticTest/test_div_by_zero.py deleted file mode 100644 index 1cb7406668d..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_div_by_zero.py +++ /dev/null @@ -1,651 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/divByZeroFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/divByZeroFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000008fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000068000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000002fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000009fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - {}, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - ], -) -@pytest.mark.pre_alloc_mutable -def test_div_by_zero( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (def 'NOP 0) - # (def 'opcode $4) - # (def 'a $36) - # (def 'b $68) - # - # (if (= opcode 0x04) [[0]] (div a 0) NOP) - # (if (= opcode 0x05) [[0]] (sdiv a 0) NOP) - # (if (= opcode 0x06) [[0]] (mod a 0) NOP) - # (if (= opcode 0x07) [[0]] (smod a 0) NOP) - # (if (= opcode 0x08) [[0]] (addmod a b 0) NOP) - # (if (= opcode 0x09) [[0]] (mulmod a b 0) NOP) - # } - contract = pre.deploy_contract( - code=( - Op.JUMPI(pc=0xF, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x4)) - + Op.POP(0x0) - + Op.JUMP(pc=0x19) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, value=Op.DIV(Op.CALLDATALOAD(offset=0x24), 0x0) - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x29, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x5) - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x33) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, value=Op.SDIV(Op.CALLDATALOAD(offset=0x24), 0x0) - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x43, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x6) - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x4D) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, value=Op.MOD(Op.CALLDATALOAD(offset=0x24), 0x0) - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x5D, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x7) - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x67) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, value=Op.SMOD(Op.CALLDATALOAD(offset=0x24), 0x0) - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x77, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x8) - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x84) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.ADDMOD( - Op.CALLDATALOAD(offset=0x24), - Op.CALLDATALOAD(offset=0x44), - 0x0, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x94, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x9) - ) - + Op.POP(0x0) - + Op.JUMP(pc=0xA1) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.MULMOD( - Op.CALLDATALOAD(offset=0x24), - Op.CALLDATALOAD(offset=0x44), - 0x0, - ), - ) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x935e36ee6cd0f1602d1abca9a391c696cfa4c04d"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_exp.py b/tests/ported_static/VMTests/vmArithmeticTest/test_exp.py deleted file mode 100644 index a7faf9f1d83..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_exp.py +++ /dev/null @@ -1,270 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/expFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/expFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001008"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001006"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={0: 257} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100a"): Account( - storage={0: 32768} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 4} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000009", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={ - 0: 0xBC8CCCCCCCC888888880000000AAAAAAB00000000FFFFFFFFFFFFFFF7FFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 1} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - ], -) -@pytest.mark.pre_alloc_mutable -def test_exp( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.EXP(0x2, 0x2)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.EXP( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.EXP(0x7FFFFFFF, 0x7FFFFFFF)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.EXP(0x0, 0x7FFFFFFF)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.EXP(0x7FFFFFFF, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.EXP(0x101, 0x1)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.EXP(0x1, 0x101)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.EXP(0x2, 0x101)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { ; 0^0 (that is 1 in evm arithmetic) - # [[0]] (exp 0 0) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.EXP(0x0, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: LLL - # { ; 2^big = 0 - # [[0]] (exp 2 0x0100000000000f) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.EXP(0x2, 0x100000000000F)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - # Source: LLL - # { ; 2^15 = 0x8000 - # [[0]] (exp 2 15) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.EXP(0x2, 0xF)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100a"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_exp_power2.py b/tests/ported_static/VMTests/vmArithmeticTest/test_exp_power2.py deleted file mode 100644 index 9e42b6d819f..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_exp_power2.py +++ /dev/null @@ -1,207 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/expPower2Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/expPower2Filler.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_exp_power2( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (def 'storageJump 0x10) - # - # (def 'calc (m) { - # (def 'n (exp 2 m)) - # - # [[(* storageJump m)]] (exp 2 n) - # [[(+ (* storageJump m) 1)]] (exp 2 (- n 1)) - # [[(+ (* storageJump m) 2)]] (exp 2 (+ n 1)) - # } - # ) - # - # (calc 1) - # (calc 2) - # (calc 3) - # (calc 4) - # (calc 5) - # (calc 6) - # (calc 7) - # (calc 8) - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.MUL(0x10, 0x1), value=Op.EXP(0x2, Op.EXP(0x2, 0x1)) - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x1), - value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x1), 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x2), - value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x1), 0x1)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x2), value=Op.EXP(0x2, Op.EXP(0x2, 0x2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x1), - value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x2), 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x2), - value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x2), 0x1)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x3), value=Op.EXP(0x2, Op.EXP(0x2, 0x3)) - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x1), - value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x3), 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x2), - value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x3), 0x1)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x4), value=Op.EXP(0x2, Op.EXP(0x2, 0x4)) - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x1), - value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x4), 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x2), - value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x4), 0x1)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x5), value=Op.EXP(0x2, Op.EXP(0x2, 0x5)) - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x1), - value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x5), 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x2), - value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x5), 0x1)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x6), value=Op.EXP(0x2, Op.EXP(0x2, 0x6)) - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x1), - value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x6), 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x2), - value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x6), 0x1)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x7), value=Op.EXP(0x2, Op.EXP(0x2, 0x7)) - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x1), - value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x7), 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x2), - value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x7), 0x1)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x8), value=Op.EXP(0x2, Op.EXP(0x2, 0x8)) - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x1), - value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x8), 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x2), - value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x8), 0x1)), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x5a18b275908ad6766155191a40654188fe012dc6"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "693c61390000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - gas_limit=16777216, - value=1, - ) - - post = { - contract: Account( - storage={ - 16: 4, - 17: 2, - 18: 8, - 32: 16, - 33: 8, - 34: 32, - 48: 256, - 49: 128, - 50: 512, - 64: 0x10000, - 65: 32768, - 66: 0x20000, - 80: 0x100000000, - 81: 0x80000000, - 82: 0x200000000, - 96: 0x10000000000000000, - 97: 0x8000000000000000, - 98: 0x20000000000000000, - 112: 0x100000000000000000000000000000000, - 113: 0x80000000000000000000000000000000, - 114: 0x200000000000000000000000000000000, - 129: 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_exp_power256.py b/tests/ported_static/VMTests/vmArithmeticTest/test_exp_power256.py deleted file mode 100644 index acbdfccf87a..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_exp_power256.py +++ /dev/null @@ -1,515 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/expPower256Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmArithmeticTest/expPower256Filler.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_exp_power256( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (def 'storageJump 0x10) - # - # (def 'calc (n) { - # [[(* storageJump n)]] (exp 256 n) - # [[(+ (* storageJump n) 1)]] (exp 255 n) - # [[(+ (* storageJump n) 2)]] (exp 257 n) - # } - # ) - # - # (calc 0) - # (calc 1) - # (calc 2) - # (calc 3) - # (calc 4) - # (calc 5) - # (calc 6) - # (calc 7) - # (calc 8) - # (calc 9) - # (calc 10) - # (calc 11) - # (calc 12) - # (calc 13) - # (calc 14) - # (calc 15) - # (calc 16) - # (calc 17) - # (calc 18) - # (calc 19) - # ... (15 more lines) - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=Op.MUL(0x10, 0x0), value=Op.EXP(0x100, 0x0)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x0), 0x1), - value=Op.EXP(0xFF, 0x0), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x0), 0x2), - value=Op.EXP(0x101, 0x0), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x1), value=Op.EXP(0x100, 0x1)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x1), - value=Op.EXP(0xFF, 0x1), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x2), - value=Op.EXP(0x101, 0x1), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x2), value=Op.EXP(0x100, 0x2)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x1), - value=Op.EXP(0xFF, 0x2), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x2), - value=Op.EXP(0x101, 0x2), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x3), value=Op.EXP(0x100, 0x3)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x1), - value=Op.EXP(0xFF, 0x3), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x2), - value=Op.EXP(0x101, 0x3), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x4), value=Op.EXP(0x100, 0x4)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x1), - value=Op.EXP(0xFF, 0x4), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x2), - value=Op.EXP(0x101, 0x4), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x5), value=Op.EXP(0x100, 0x5)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x1), - value=Op.EXP(0xFF, 0x5), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x2), - value=Op.EXP(0x101, 0x5), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x6), value=Op.EXP(0x100, 0x6)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x1), - value=Op.EXP(0xFF, 0x6), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x2), - value=Op.EXP(0x101, 0x6), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x7), value=Op.EXP(0x100, 0x7)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x1), - value=Op.EXP(0xFF, 0x7), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x2), - value=Op.EXP(0x101, 0x7), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x8), value=Op.EXP(0x100, 0x8)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x1), - value=Op.EXP(0xFF, 0x8), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x2), - value=Op.EXP(0x101, 0x8), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x9), value=Op.EXP(0x100, 0x9)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x9), 0x1), - value=Op.EXP(0xFF, 0x9), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x9), 0x2), - value=Op.EXP(0x101, 0x9), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0xA), value=Op.EXP(0x100, 0xA)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xA), 0x1), - value=Op.EXP(0xFF, 0xA), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xA), 0x2), - value=Op.EXP(0x101, 0xA), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0xB), value=Op.EXP(0x100, 0xB)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xB), 0x1), - value=Op.EXP(0xFF, 0xB), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xB), 0x2), - value=Op.EXP(0x101, 0xB), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0xC), value=Op.EXP(0x100, 0xC)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xC), 0x1), - value=Op.EXP(0xFF, 0xC), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xC), 0x2), - value=Op.EXP(0x101, 0xC), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0xD), value=Op.EXP(0x100, 0xD)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xD), 0x1), - value=Op.EXP(0xFF, 0xD), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xD), 0x2), - value=Op.EXP(0x101, 0xD), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0xE), value=Op.EXP(0x100, 0xE)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xE), 0x1), - value=Op.EXP(0xFF, 0xE), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xE), 0x2), - value=Op.EXP(0x101, 0xE), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0xF), value=Op.EXP(0x100, 0xF)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xF), 0x1), - value=Op.EXP(0xFF, 0xF), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xF), 0x2), - value=Op.EXP(0x101, 0xF), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x10), value=Op.EXP(0x100, 0x10)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x10), 0x1), - value=Op.EXP(0xFF, 0x10), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x10), 0x2), - value=Op.EXP(0x101, 0x10), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x11), value=Op.EXP(0x100, 0x11)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x11), 0x1), - value=Op.EXP(0xFF, 0x11), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x11), 0x2), - value=Op.EXP(0x101, 0x11), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x12), value=Op.EXP(0x100, 0x12)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x12), 0x1), - value=Op.EXP(0xFF, 0x12), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x12), 0x2), - value=Op.EXP(0x101, 0x12), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x13), value=Op.EXP(0x100, 0x13)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x13), 0x1), - value=Op.EXP(0xFF, 0x13), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x13), 0x2), - value=Op.EXP(0x101, 0x13), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x14), value=Op.EXP(0x100, 0x14)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x14), 0x1), - value=Op.EXP(0xFF, 0x14), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x14), 0x2), - value=Op.EXP(0x101, 0x14), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x15), value=Op.EXP(0x100, 0x15)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x15), 0x1), - value=Op.EXP(0xFF, 0x15), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x15), 0x2), - value=Op.EXP(0x101, 0x15), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x16), value=Op.EXP(0x100, 0x16)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x16), 0x1), - value=Op.EXP(0xFF, 0x16), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x16), 0x2), - value=Op.EXP(0x101, 0x16), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x17), value=Op.EXP(0x100, 0x17)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x17), 0x1), - value=Op.EXP(0xFF, 0x17), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x17), 0x2), - value=Op.EXP(0x101, 0x17), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x18), value=Op.EXP(0x100, 0x18)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x18), 0x1), - value=Op.EXP(0xFF, 0x18), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x18), 0x2), - value=Op.EXP(0x101, 0x18), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x19), value=Op.EXP(0x100, 0x19)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x19), 0x1), - value=Op.EXP(0xFF, 0x19), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x19), 0x2), - value=Op.EXP(0x101, 0x19), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x1A), value=Op.EXP(0x100, 0x1A)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1A), 0x1), - value=Op.EXP(0xFF, 0x1A), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1A), 0x2), - value=Op.EXP(0x101, 0x1A), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x1B), value=Op.EXP(0x100, 0x1B)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1B), 0x1), - value=Op.EXP(0xFF, 0x1B), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1B), 0x2), - value=Op.EXP(0x101, 0x1B), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x1C), value=Op.EXP(0x100, 0x1C)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1C), 0x1), - value=Op.EXP(0xFF, 0x1C), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1C), 0x2), - value=Op.EXP(0x101, 0x1C), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x1D), value=Op.EXP(0x100, 0x1D)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1D), 0x1), - value=Op.EXP(0xFF, 0x1D), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1D), 0x2), - value=Op.EXP(0x101, 0x1D), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x1E), value=Op.EXP(0x100, 0x1E)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1E), 0x1), - value=Op.EXP(0xFF, 0x1E), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1E), 0x2), - value=Op.EXP(0x101, 0x1E), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x1F), value=Op.EXP(0x100, 0x1F)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1F), 0x1), - value=Op.EXP(0xFF, 0x1F), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1F), 0x2), - value=Op.EXP(0x101, 0x1F), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x20), value=Op.EXP(0x100, 0x20)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x20), 0x1), - value=Op.EXP(0xFF, 0x20), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x20), 0x2), - value=Op.EXP(0x101, 0x20), - ) - + Op.SSTORE(key=Op.MUL(0x10, 0x21), value=Op.EXP(0x100, 0x21)) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x21), 0x1), - value=Op.EXP(0xFF, 0x21), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x21), 0x2), - value=Op.EXP(0x101, 0x21), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xe660d528e4a7ad36825f9d64f5f141596feff7ae"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "693c61390000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - gas_limit=16777216, - value=1, - ) - - post = { - contract: Account( - storage={ - 0: 1, - 1: 1, - 2: 1, - 16: 256, - 17: 255, - 18: 257, - 32: 0x10000, - 33: 65025, - 34: 0x10201, - 48: 0x1000000, - 49: 0xFD02FF, - 50: 0x1030301, - 64: 0x100000000, - 65: 0xFC05FC01, - 66: 0x104060401, - 80: 0x10000000000, - 81: 0xFB09F604FF, - 82: 0x1050A0A0501, - 96: 0x1000000000000, - 97: 0xFA0EEC0EFA01, - 98: 0x1060F140F0601, - 112: 0x100000000000000, - 113: 0xF914DD22EB06FF, - 114: 0x107152323150701, - 128: 0x10000000000000000, - 129: 0xF81BC845C81BF801, - 130: 0x1081C3846381C0801, - 144: 0x1000000000000000000, - 145: 0xF723AC7D8253DC08FF, - 146: 0x10924547E7E54240901, - 160: 0x100000000000000000000, - 161: 0xF62C88D104D1882CF601, - 162: 0x10A2D78D2FCD2782D0A01, - 176: 0x10000000000000000000000, - 177: 0xF5365C4833CCB6A4C90AFF, - 178: 0x10B37A64BCFCF4AA5370B01, - 192: 0x1000000000000000000000000, - 193: 0xF44125EBEB98E9EE2441F401, - 194: 0x10C42DDF21B9F19EFDC420C01, - 208: 0x100000000000000000000000000, - 209: 0xF34CE4C5FFAD5104361DB20CFF, - 210: 0x10D4F20D00DBAB909CC1E4E0D01, - 224: 0x10000000000000000000000000000, - 225: 0xF25997E139ADA3B331E7945AF201, - 226: 0x10E5C6FF0DDC873C2D5EA6C5B0E01, - 240: 0x1000000000000000000000000000000, - 241: 0xF1673E495873F60F7EB5ACC6970EFF, - 242: 0x10F6ACC60CEA63C3698C056C7690F01, - 256: 0x100000000000000000000000000000000, - 257: 0xF075D70B0F1B82196F36F719D077F001, - 258: 0x1107A372D2F74E272CF59171E30781001, - 272: 0x10000000000000000000000000000000000, - 273: 0xEF856134040C669755C7C022B6A77810FF, - 274: 0x1118AB1645CA45755422870354EA8881101, - 288: 0x1000000000000000000000000000000000000, - 289: 0xEE95DBD2D0085A30BE71F86293F0D098EE01, - 290: 0x1129C3C15C100FBAC976A98A583F730991201, - 304: 0x100000000000000000000000000000000000000, - 305: 0xEDA745F6FD3851D68DB3866A315CDFC85512FF, - 306: 0x113AED851D6C1FCA84402033E297B27C9AB1301, - 320: 0x10000000000000000000000000000000000000000, - 321: 0xECB99EB1063B1984B725D2E3C72B82E88CBDEC01, - 322: 0x114C2872A2898BEA4EC46054167A4A2F174BE1401, - 336: 0x1000000000000000000000000000000000000000000, - 337: 0xEBCCE5125534DE6B326EAD10E3645765A4312E14FF, - 338: 0x115D749B152C1576391324B46A90C47946632D21501, - 352: 0x100000000000000000000000000000000000000000000, - 353: 0xEAE1182D42DFA98CC73C3E63D280F30E3E8CFCE6EA01, - 354: 0x116ED20FB041418BAF4C37D91EFB553DBFA9904E71601, - 368: 0x10000000000000000000000000000000000000000000000, - 369: 0xE9F63715159CC9E33A7502256EAE721B304E6FEA0316FF, - 370: 0x118040E1BFF182CD3AFB8410F81A5092FD6939DEBFD1701, - 384: 0x1000000000000000000000000000000000000000000000000, - 385: 0xE90C40DE00872D19573A8D23493FC3A9151E217A1913E801, - 386: 0x1191C122A1B1745008367F9509126AE39066A3189E9141801, - 400: 0x100000000000000000000000000000000000000000000000000, - 401: 0xE823349D2286A5EC3DE3529625F683E56C0903589EFAD418FF, - 402: 0x11A352E3C45325C4583EB6149E1B7D4E73F709BBB72FD2C1901, - 416: 0x10000000000000000000000000000000000000000000000000000, - 417: 0xE73B116885641F4651A56F438FD08D61869CFA55465BD944E601, - 418: 0x11B4F636A81778EA1C96F4CAB2B998CBC26B00C572E7029451A01, - 432: 0x1000000000000000000000000000000000000000000000000000000, - 433: 0xE653D6571CDEBB270B53C9D44C40BCD425165D5AF1157D6BA11AFF, - 434: 0x11C6AB2CDEBF906306B38BBF7D6C52648E2D6BC63859E996E5F1B01, - 448: 0x100000000000000000000000000000000000000000000000000000000, # noqa: E501 - 449: 0xE56D8280C5C1DC6BE448760A77F47C1750F146FD962467EE3579E401, # noqa: E501 - 450: 0x11D871D80B9E4FF369BA3F4B3CE9BEB6F2BB9931FE9243807CD7A1C01, # noqa: E501 - 464: 0x10000000000000000000000000000000000000000000000000000000000, # noqa: E501 - 465: 0xE48814FE44FC1A8F78642D946D7C879B39A055B6988E438647446A1CFF, # noqa: E501 - 466: 0x11EA4A49E3A9EE435D23F98A8826A875A9AE54CB3090D5C3FD547961D01, # noqa: E501 - 480: 0x1000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - 481: 0xE3A38CE946B71E74E8EBC966D90F0B139E66B560E1F5B542C0FD25B2E201, # noqa: E501 - 482: 0x11FC34942D8D9831A0811D8412AECF1E1F58031FFBC16699C151CDDB31E01, # noqa: E501 - 496: 0x100000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - 497: 0xE2BFE95C5D7067567402DD9D7235FC088AC84EAB8113BF8D7E3C288D2F1EFF, # noqa: E501 - 498: 0x120E30C8C1BB25C9D2219EA196C17DED3D775B231BBD28005B131FA90D11F01, # noqa: E501 - 513: 0xE1DD29730112F6EF1D8EDABFD4C3C60C823D865CD592ABCDF0BDEC64A1EFE001, # noqa: E501 - 514: 0x2203EF98A7CE0EF9BF3C04038583F6B2AB4D27E3ED8E5285B6E32C8B61F02001, # noqa: E501 - 529: 0xFB4C498E11E3F82E714BE514EF024675BB48D678BD192222CD2E783D4DF020FF, # noqa: E501 - 530: 0x25F3884075DD08B8FB400789097AA95DF8750BD17BE0D83C9A0FB7ED52102101, # noqa: E501 - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_exp_power256_of256.py b/tests/ported_static/VMTests/vmArithmeticTest/test_exp_power256_of256.py deleted file mode 100644 index 24be45b6f9e..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_exp_power256_of256.py +++ /dev/null @@ -1,1542 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/expPower256Of256Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmArithmeticTest/expPower256Of256Filler.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_exp_power256_of256( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (def 'storageJump 0x10) - # - # (def 'calc (n) { - # - # [[(* storageJump n)]] (exp 256 (exp 256 n)) - # [[(+ (* storageJump n) 1)]] (exp 256 (exp 255 n)) - # [[(+ (* storageJump n) 2)]] (exp 256 (exp 257 n)) - # - # [[(+ (* storageJump n) 3)]] (exp 255 (exp 256 n)) - # [[(+ (* storageJump n) 4)]] (exp 255 (exp 255 n)) - # [[(+ (* storageJump n) 5)]] (exp 255 (exp 257 n)) - # - # [[(+ (* storageJump n) 6)]] (exp 257 (exp 256 n)) - # [[(+ (* storageJump n) 7)]] (exp 257 (exp 255 n)) - # [[(+ (* storageJump n) 8)]] (exp 257 (exp 257 n)) - # } - # ) - # - # (calc 0) - # (calc 1) - # (calc 2) - # (calc 3) - # (calc 4) - # (calc 5) - # (calc 6) - # (calc 7) - # (calc 8) - # (calc 9) - # (calc 10) - # ... (24 more lines) - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.MUL(0x10, 0x0), - value=Op.EXP(0x100, Op.EXP(0x100, 0x0)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x0), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x0)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x0), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x0)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x0), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x0)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x0), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x0)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x0), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x0)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x0), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x0)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x0), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x0)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x0), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x0)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x1), - value=Op.EXP(0x100, Op.EXP(0x100, 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x1)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x1)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x2), - value=Op.EXP(0x100, Op.EXP(0x100, 0x2)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x2)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x2)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x2)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x2)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x2)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x2)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x2)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x2), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x2)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x3), - value=Op.EXP(0x100, Op.EXP(0x100, 0x3)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x3)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x3)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x3)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x3)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x3)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x3)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x3)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x3), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x3)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x4), - value=Op.EXP(0x100, Op.EXP(0x100, 0x4)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x4)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x4)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x4)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x4)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x4)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x4)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x4)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x4), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x4)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x5), - value=Op.EXP(0x100, Op.EXP(0x100, 0x5)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x5)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x5)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x5)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x5)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x5)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x5)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x5)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x5), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x5)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x6), - value=Op.EXP(0x100, Op.EXP(0x100, 0x6)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x6)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x6)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x6)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x6)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x6)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x6)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x6)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x6), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x6)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x7), - value=Op.EXP(0x100, Op.EXP(0x100, 0x7)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x7)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x7)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x7)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x7)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x7)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x7)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x7)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x7), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x7)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x8), - value=Op.EXP(0x100, Op.EXP(0x100, 0x8)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x8)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x8)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x8)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x8)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x8)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x8)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x8)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x8), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x8)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x9), - value=Op.EXP(0x100, Op.EXP(0x100, 0x9)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x9), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x9)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x9), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x9)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x9), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x9)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x9), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x9)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x9), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x9)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x9), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x9)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x9), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x9)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x9), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x9)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0xA), - value=Op.EXP(0x100, Op.EXP(0x100, 0xA)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xA), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0xA)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xA), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0xA)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xA), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0xA)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xA), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0xA)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xA), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0xA)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xA), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0xA)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xA), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0xA)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xA), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0xA)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0xB), - value=Op.EXP(0x100, Op.EXP(0x100, 0xB)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xB), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0xB)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xB), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0xB)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xB), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0xB)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xB), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0xB)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xB), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0xB)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xB), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0xB)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xB), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0xB)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xB), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0xB)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0xC), - value=Op.EXP(0x100, Op.EXP(0x100, 0xC)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xC), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0xC)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xC), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0xC)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xC), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0xC)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xC), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0xC)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xC), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0xC)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xC), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0xC)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xC), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0xC)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xC), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0xC)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0xD), - value=Op.EXP(0x100, Op.EXP(0x100, 0xD)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xD), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0xD)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xD), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0xD)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xD), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0xD)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xD), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0xD)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xD), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0xD)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xD), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0xD)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xD), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0xD)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xD), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0xD)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0xE), - value=Op.EXP(0x100, Op.EXP(0x100, 0xE)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xE), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0xE)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xE), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0xE)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xE), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0xE)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xE), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0xE)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xE), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0xE)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xE), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0xE)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xE), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0xE)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xE), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0xE)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0xF), - value=Op.EXP(0x100, Op.EXP(0x100, 0xF)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xF), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0xF)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xF), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0xF)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xF), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0xF)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xF), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0xF)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xF), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0xF)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xF), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0xF)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xF), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0xF)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0xF), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0xF)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x10), - value=Op.EXP(0x100, Op.EXP(0x100, 0x10)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x10), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x10)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x10), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x10)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x10), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x10)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x10), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x10)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x10), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x10)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x10), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x10)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x10), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x10)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x10), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x10)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x11), - value=Op.EXP(0x100, Op.EXP(0x100, 0x11)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x11), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x11)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x11), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x11)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x11), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x11)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x11), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x11)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x11), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x11)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x11), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x11)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x11), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x11)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x11), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x11)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x12), - value=Op.EXP(0x100, Op.EXP(0x100, 0x12)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x12), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x12)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x12), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x12)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x12), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x12)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x12), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x12)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x12), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x12)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x12), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x12)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x12), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x12)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x12), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x12)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x13), - value=Op.EXP(0x100, Op.EXP(0x100, 0x13)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x13), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x13)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x13), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x13)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x13), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x13)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x13), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x13)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x13), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x13)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x13), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x13)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x13), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x13)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x13), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x13)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x14), - value=Op.EXP(0x100, Op.EXP(0x100, 0x14)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x14), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x14)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x14), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x14)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x14), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x14)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x14), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x14)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x14), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x14)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x14), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x14)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x14), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x14)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x14), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x14)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x15), - value=Op.EXP(0x100, Op.EXP(0x100, 0x15)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x15), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x15)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x15), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x15)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x15), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x15)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x15), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x15)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x15), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x15)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x15), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x15)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x15), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x15)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x15), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x15)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x16), - value=Op.EXP(0x100, Op.EXP(0x100, 0x16)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x16), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x16)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x16), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x16)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x16), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x16)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x16), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x16)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x16), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x16)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x16), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x16)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x16), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x16)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x16), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x16)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x17), - value=Op.EXP(0x100, Op.EXP(0x100, 0x17)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x17), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x17)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x17), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x17)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x17), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x17)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x17), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x17)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x17), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x17)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x17), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x17)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x17), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x17)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x17), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x17)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x18), - value=Op.EXP(0x100, Op.EXP(0x100, 0x18)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x18), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x18)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x18), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x18)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x18), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x18)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x18), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x18)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x18), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x18)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x18), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x18)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x18), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x18)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x18), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x18)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x19), - value=Op.EXP(0x100, Op.EXP(0x100, 0x19)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x19), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x19)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x19), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x19)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x19), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x19)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x19), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x19)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x19), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x19)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x19), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x19)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x19), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x19)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x19), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x19)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x1A), - value=Op.EXP(0x100, Op.EXP(0x100, 0x1A)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1A), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x1A)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1A), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x1A)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1A), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x1A)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1A), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1A)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1A), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x1A)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1A), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x1A)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1A), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x1A)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1A), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x1A)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x1B), - value=Op.EXP(0x100, Op.EXP(0x100, 0x1B)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1B), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x1B)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1B), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x1B)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1B), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x1B)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1B), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1B)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1B), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x1B)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1B), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x1B)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1B), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x1B)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1B), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x1B)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x1C), - value=Op.EXP(0x100, Op.EXP(0x100, 0x1C)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1C), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x1C)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1C), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x1C)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1C), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x1C)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1C), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1C)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1C), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x1C)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1C), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x1C)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1C), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x1C)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1C), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x1C)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x1D), - value=Op.EXP(0x100, Op.EXP(0x100, 0x1D)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1D), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x1D)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1D), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x1D)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1D), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x1D)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1D), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1D)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1D), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x1D)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1D), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x1D)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1D), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x1D)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1D), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x1D)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x1E), - value=Op.EXP(0x100, Op.EXP(0x100, 0x1E)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1E), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x1E)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1E), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x1E)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1E), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x1E)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1E), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1E)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1E), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x1E)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1E), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x1E)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1E), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x1E)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1E), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x1E)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x1F), - value=Op.EXP(0x100, Op.EXP(0x100, 0x1F)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1F), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x1F)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1F), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x1F)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1F), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x1F)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1F), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1F)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1F), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x1F)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1F), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x1F)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1F), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x1F)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x1F), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x1F)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x20), - value=Op.EXP(0x100, Op.EXP(0x100, 0x20)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x20), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x20)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x20), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x20)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x20), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x20)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x20), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x20)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x20), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x20)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x20), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x20)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x20), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x20)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x20), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x20)), - ) - + Op.SSTORE( - key=Op.MUL(0x10, 0x21), - value=Op.EXP(0x100, Op.EXP(0x100, 0x21)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x21), 0x1), - value=Op.EXP(0x100, Op.EXP(0xFF, 0x21)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x21), 0x2), - value=Op.EXP(0x100, Op.EXP(0x101, 0x21)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x21), 0x3), - value=Op.EXP(0xFF, Op.EXP(0x100, 0x21)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x21), 0x4), - value=Op.EXP(0xFF, Op.EXP(0xFF, 0x21)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x21), 0x5), - value=Op.EXP(0xFF, Op.EXP(0x101, 0x21)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x21), 0x6), - value=Op.EXP(0x101, Op.EXP(0x100, 0x21)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x21), 0x7), - value=Op.EXP(0x101, Op.EXP(0xFF, 0x21)), - ) - + Op.SSTORE( - key=Op.ADD(Op.MUL(0x10, 0x21), 0x8), - value=Op.EXP(0x101, Op.EXP(0x101, 0x21)), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x9f233ef2d697929edf542064b125e7d620270363"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "693c61390000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - gas_limit=16777216, - value=1, - ) - - post = { - contract: Account( - storage={ - 0: 256, - 1: 256, - 2: 256, - 3: 255, - 4: 255, - 5: 255, - 6: 257, - 7: 257, - 8: 257, - 19: 0x6C3ACD330B959AD6EFABCE6D2D2125E73A88A65A9880D203DDDF5957F7F0001, # noqa: E501 - 20: 0x8F965A06DA0AC41DCB3A34F1D8AB7D8FEE620A94FAA42C395997756B007FFEFF, # noqa: E501 - 21: 0xBCE9265D88A053C18BC229EBFF404C1534E1DB43DE85131DA0179FE9FF8100FF, # noqa: E501 - 22: 0x2B5E9D7A094C19F5EBDD4F2E618F859ED15E4F1F0351F286BF849EB7F810001, # noqa: E501 - 23: 0xC73B7A6F68385C653A24993BB72EEA0E4BA17470816EC658CF9C5BEDFD81FF01, # noqa: E501 - 24: 0xB89FC178355660FE1C92C7D8FF11524702FAD6E2255447946442356B00810101, # noqa: E501 - 35: 0x4EE4CEEAAC565C81F55A87C43F82F7C889EF4FC7C679671E28D594FF7F000001, # noqa: E501 - 36: 0x82F46A1B4E34D66712910615D2571D75606CEAC51FA8CA8C58CF6CA881FE00FF, # noqa: E501 - 37: 0x81C9FCEFA5DE158AE2007F25D35C0D11CD735342A48905955A5A6852800200FF, # noqa: E501 - 38: 0x666AC362902470ED850709E2A29969D10CBA09DEBC03C38D172AEAFF81000001, # noqa: E501 - 39: 0xEB30A3C678A01BDE914548F98F3366DC0FFE9F85384EBF1111D03DAD7FFE0101, # noqa: E501 - 40: 0x72D0A7939B6303CE1D46E6E3F1B8BE303BFDB2B00F41AD8076B0975782020101, # noqa: E501 - 51: 0x109A00E1370D2D2922BF892E85BECB54297354B2E5C75388D514FF7F00000001, # noqa: E501 - 52: 0x54A792F15E9ABA7E4AD9E716BC169EEA3A6E2E9C49BF9B335874613C8081FEFF, # noqa: E501 - 53: 0x5D24A14D8E5E039372CD0F6A0F31E9ED6B75ADBA9F16B1C5B3EDD5BA818300FF, # noqa: E501 - 54: 0x298E2F316B4CCDED5EBF515998D9EC20DF69404B04A441782A6AFF8100000001, # noqa: E501 - 55: 0x4335694E98F372183C62A2339FA4AD161E9B4C42240BDC9452ABFFD07783FF01, # noqa: E501 - 56: 0xF0F0820797315ACD063056BBA76F6A9C3E281CDB5197A233967CA94684830101, # noqa: E501 - 67: 0xE6540CE46EAF70DA9D644015A661E0E245B13F307CB3885514FF7F0000000001, # noqa: E501 - 68: 0x6526B38B05A6325B80E1C84AB41DC934FD70F33F1BD0EAB3D1F61A4707FC00FF, # noqa: E501 - 69: 0xE959516CD27E5D8FD487B72DB2989B3EC2BA9FB7EAD41554526FE5A3040400FF, # noqa: E501 - 70: 0xE7498A48C6CE2530BBE814EE3440C8C44FFFAB7AD8A277AA6AFF810000000001, # noqa: E501 - 71: 0x2DFFA3E901E5A392D15B79F4193D2168147D2AA7C55870B46C3A905D03FC0101, # noqa: E501 - 72: 0xE16EA721C96539EDB4F7FB82DE0DAD8CCCB1E7A6966A6777635F6FB908040101, # noqa: E501 - 83: 0xB581AC185AAD71DB2D177C286929C4C22809E5DCB3085514FF7F000000000001, # noqa: E501 - 84: 0x75789EB2A64BC971389FBD11A1E6D7ABBF95AD25E23FB9AA25E73A0BFC83FEFF, # noqa: E501 - 85: 0xFC403FA42CEB6A0D0D3321BD9B2D8AF25B1B667F87A04F496C78168D078500FF, # noqa: E501 - 86: 0xCEC5EC213B9CB5811F6AE00428FD7B6EF5A1AF39A1F7AA6AFF81000000000001, # noqa: E501 - 87: 0x70AB32233202B98D382D17713FA0BE391EAF74F85BA1740C9C3238C4ED85FF01, # noqa: E501 - 88: 0xB622672A213FAA79B32185FF93A7B27A8499E48F7B032CDB4D1A70300C850101, # noqa: E501 - 99: 0x1948059DE1DEF03C4EC35FC22C2BB8F2BF45DC33085514FF7F00000000000001, # noqa: E501 - 100: 0x41F818A8E24EB6D7BB7B193B4F2B5FDCF4BD0D453F2AC3499D8830D391FA00FF, # noqa: E501 - 101: 0xEDE6FE4A943DFB5D967A2B85D6728759D40D2EF0AE4BC28BBB1867F98C0600FF, # noqa: E501 - 102: 0x83C936CBAAD5DE592BADC2E142FE4EBD6103921F7AA6AFF8100000000000001, # noqa: E501 - 103: 0x57385019FE4E0939CA3F35C37CADFAF52FBA5B1CDFB02DEF3866E8068BFA0101, # noqa: E501 - 104: 0x810AC878BD98428F6BE8C6426BA9F9DA09E3E33BF4FE10BFA3F8B12C92060101, # noqa: E501 - 115: 0x8BB02654111AD8C60AD8AF132283A81F455C33085514FF7F0000000000000001, # noqa: E501 - 116: 0xA8F75C129DBB8466D6703A2A0B8212131B3248D70E2478862AC40FE17485FEFF, # noqa: E501 - 117: 0x5FD4D2DE580383EE59F5E800DDB3F1717CEAE03AEDE19D3DEC5E5A69918700FF, # noqa: E501 - 118: 0xC8624230B524B85D6340DA48A5DB20370FB921F7AA6AFF810000000000000001, # noqa: E501 - 119: 0x287B58A5A13CD7F454468CA616C181712F5ED25433A7D5A894B6CED35F87FF01, # noqa: E501 - 120: 0x9930D11AC2804FA977BF951593C8DFF8498779CC0CDC5812A4FBA2F98870101, # noqa: E501 - 131: 0x230041A0E7602D6E459609ED39081EC55C33085514FF7F000000000000000001, # noqa: E501 - 132: 0xC407D8A413EF9079EAD457ED686A05AC81039C0CAE0A7F6AFD01E8461FF800FF, # noqa: E501 - 133: 0x67A397E0692385E4CD83853AABCE220A94D449E885FA867E96D3EF5E180800FF, # noqa: E501 - 134: 0x70ADD926E753655D6D0EBE9C0F81368FB921F7AA6AFF81000000000000000001, # noqa: E501 - 135: 0xBDCE80B8378E43F13D454B9D0A4C83CF311B8EAA45D5122CFD544A217F80101, # noqa: E501 - 136: 0x629C25790E1488998877A9ECDF0FB69637E77D8A4BDC1B46270093BA20080101, # noqa: E501 - 147: 0x53017D8EB210DB2C8CD4A299079EC55C33085514FF7F00000000000000000001, # noqa: E501 - 148: 0x48BE09B6C6AE2AA660F1972125CECBB1038B5D236ECF766BA786E2C4E887FEFF, # noqa: E501 - 149: 0x2E350D847BA73DC2099F83F532951C47269D9FD7E411B50BAE00A9581F8900FF, # noqa: E501 - 150: 0x13AB9E1F0DF89A184B4D07080B68FB921F7AA6AFF8100000000000000000001, # noqa: E501 - 151: 0xF387ED41C1050F9DA667F429A3E8FB30B61A55EDE97D7B8ACD797A03CD89FF01, # noqa: E501 - 152: 0x525696C22BB3CE00FD2E3F6BBB9B4EA1046A5E31FCFF2FEDF8F8C74D28890101, # noqa: E501 - 163: 0xFE0F60957DC223578A0298879EC55C33085514FF7F0000000000000000000001, # noqa: E501 - 164: 0xC1EA45F348B5D351C4D8FE5C77DA979CADC33D866ACC42E981278896B1F600FF, # noqa: E501 - 165: 0x56DDB29BCA94FB986AC0A40188B3B53F3216B3559BD8324A77EA8BD8A80A00FF, # noqa: E501 - 166: 0x2D49FF6B0BBE177AE9317000B68FB921F7AA6AFF810000000000000000000001, # noqa: E501 - 167: 0x185FA9EAB94CFE3016B69657E83B23FD24CC6960218254231C3DB627A7F60101, # noqa: E501 - 168: 0xA7A0223829F26D6C635368034320563DF4AA5EB62EFC87A42BB35F69B20A0101, # noqa: E501 - 179: 0xE1440264B8EE0CEA0218879EC55C33085514FF7F000000000000000000000001, # noqa: E501 - 180: 0x29575FDCE377B23043E489E358581474BC863187FA85F9945473A2BE5889FEFF, # noqa: E501 - 181: 0x3DF8C030EC521FB109C4D887DBBC14C7C9C9921B27058E3503971B60B18B00FF, # noqa: E501 - 182: 0x67799740340DAF4A30F000B68FB921F7AA6AFF81000000000000000000000001, # noqa: E501 - 183: 0x540A4E4635B40585E09FF10B63FFE310DD717FCA5C0A51570091E25E378BFF01, # noqa: E501 - 184: 0xDBBAEF5C49FFEE61B08CDE6EBC8DBA6E9A62D56C2355D1980CB9E790BC8B0101, # noqa: E501 - 195: 0xB0E95B83A36CE98218879EC55C33085514FF7F00000000000000000000000001, # noqa: E501 - 196: 0xC482AB56EC19186DC48C88F30861A850B2253B1EA6DC021589E569BD47F400FF, # noqa: E501 - 197: 0xCF45C7F9AF4BBE4A83055B55B97777AD5E0A3F08B129C9AE208C5D713C0C00FF, # noqa: E501 - 198: 0xA5CBB62A421049B0F000B68FB921F7AA6AFF8100000000000000000000000001, # noqa: E501 - 199: 0x3BDE6CA66DFFE1BF5D727C3EDEA74C7A4AF43B3912E6256D37705C8F3BF40101, # noqa: E501 - 200: 0x3F49A1E40C5213AA4FFED57EB4C1AD2D181B2AAA289E9D59C2256C43480C0101, # noqa: E501 - 211: 0xE02639036C698218879EC55C33085514FF7F0000000000000000000000000001, # noqa: E501 - 212: 0x8BE664BDE946D939CE551B948B503787942D2A7734509288C1B62FD5C48BFEFF, # noqa: E501 - 213: 0xA923A28E7A75AEF26C51580FFC686879E4A0B404B089BDBCD751D88B478D00FF, # noqa: E501 - 214: 0x41AC5EA30FC9B0F000B68FB921F7AA6AFF810000000000000000000000000001, # noqa: E501 - 215: 0xDAA3A177EC975CB69BB4ACF4A6E1BE7BCC1AD33D1FFAD97510F9FEA9D8DFF01, # noqa: E501 - 216: 0x19E6822BEB889BE28310060F4FB9741BFD50A31FA81EC65DE21F7B02548D0101, # noqa: E501 - 227: 0xDB9902EC698218879EC55C33085514FF7F000000000000000000000000000001, # noqa: E501 - 228: 0x83FAB06C6C8FEF761EBBB9534C06AC2A9D61820623008069062FF3B1E1F200FF, # noqa: E501 - 229: 0x3F791DD183ED5B963BD86E0DBA1A9DD5B8CEEB078F15C73062F1942FD40E00FF, # noqa: E501 - 230: 0xE0BFA28FC9B0F000B68FB921F7AA6AFF81000000000000000000000000000001, # noqa: E501 - 231: 0x8133B760DFAE27560EB490F235DDFA301F058DEE4F01F3FE4B3567D0D3F20101, # noqa: E501 - 232: 0xCD4CD0124E983AF71620FB5F98275965C6A8BEBC4B8ADC288B63224EE20E0101, # noqa: E501 - 243: 0x9882EC698218879EC55C33085514FF7F00000000000000000000000000000001, # noqa: E501 - 244: 0x75C4915E18B96704209738F5CA765568BB4DC4113D56683977825A132C8DFEFF, # noqa: E501 - 245: 0x5C76839BF5A80B1DA705DBDF43E4DD6770CD7501AF11FF2DAB7918DFE18F00FF, # noqa: E501 - 246: 0xBF228FC9B0F000B68FB921F7AA6AFF8100000000000000000000000000000001, # noqa: E501 - 247: 0xC6A29131E7594004BC2AA79F0D2C402A1409C57C77D284C14B1A3AB0FF8FFF01, # noqa: E501 - 248: 0xE6B3E5CF6EC90E532FEF7D08455EBF92A03E9E3F6E224EA0FEBDF1A9F08F0101, # noqa: E501 - 259: 0x82EC698218879EC55C33085514FF7F0000000000000000000000000000000001, # noqa: E501 - 260: 0x3122F4BCDF6DD8B265CD18EB6AF28C879AED44A35E0BF59273E39E6C7FF000FF, # noqa: E501 - 261: 0x6A2B3BC87A02C29B9D27757DF43047ECD0F15485270FCA27417A701C701000FF, # noqa: E501 - 262: 0x228FC9B0F000B68FB921F7AA6AFF810000000000000000000000000000000001, # noqa: E501 - 263: 0x88E1259502EEF93D46060AACC9E2FF506C734DADE0B6714AB12D17E46FF00101, # noqa: E501 - 264: 0x4A103813C12C12169B218296BB0A9EAE80CF8D2B158AA70EB990F99480100101, # noqa: E501 - 275: 0xEC698218879EC55C33085514FF7F000000000000000000000000000000000001, # noqa: E501 - 276: 0x722AD218EB1995A2D257C4C06D8DE993C203CFC8E3512DF7D633E17E908FFEFF, # noqa: E501 - 277: 0x8AC9B5EC08D74612CB29F941481D274B51721AF2296207C0DA8D24667F9100FF, # noqa: E501 - 278: 0x8FC9B0F000B68FB921F7AA6AFF81000000000000000000000000000000000001, # noqa: E501 - 279: 0x81D5FF63680841482299F3EAB616446DCD336F537C0C565AA4112AB95D91FF01, # noqa: E501 - 280: 0x9C6CA90DAC4E97DEA02AC969E8649EE9E6232E0C3F4797411151CB8F90910101, # noqa: E501 - 291: 0x698218879EC55C33085514FF7F00000000000000000000000000000000000001, # noqa: E501 - 292: 0x8A2CBD9F40794E2205B13306F2AA0A43C60823C64B95D8601FA4F1E521EE00FF, # noqa: E501 - 293: 0xC1B5A1E3A81DA51B10D84E880F0113FF67B863DDAD3FAF1F4ECF413F101200FF, # noqa: E501 - 294: 0xC9B0F000B68FB921F7AA6AFF8100000000000000000000000000000000000001, # noqa: E501 - 295: 0x410BE68E49452A1FBCD863BF6E8D637F8EAE4979C34C88D552AFBCC20FEE0101, # noqa: E501 - 296: 0xF540CB714754B5B1EB0373833833BD7FB0EE925CE8B92962500B7A1C22120101, # noqa: E501 - 307: 0x8218879EC55C33085514FF7F0000000000000000000000000000000000000001, # noqa: E501 - 308: 0xB795AD7AC24CFBB7435CF53BD3584F3D4B2709935635C3CEB66E761FF091FEFF, # noqa: E501 - 309: 0x1F0BB7BE91A0CCD0CCA93D75CF03DE3E6B56FE8F1C54242617665327219300FF, # noqa: E501 - 310: 0xB0F000B68FB921F7AA6AFF810000000000000000000000000000000000000001, # noqa: E501 - 311: 0xAD571756ECBFF1BFDEF064861E5E92C5D897A9CC380E54BDBAABD80BB793FF01, # noqa: E501 - 312: 0xD8B5B531989E689F700DCDB43AB90E79A49DFBBB5A13DBF751DF98BB34930101, # noqa: E501 - 323: 0x18879EC55C33085514FF7F000000000000000000000000000000000000000001, # noqa: E501 - 324: 0x67E4797DC21F02CE4A7C52218C7DBEA5D212E6C244E24F0BA4C08613C7EC00FF, # noqa: E501 - 325: 0xA1CE1A085F258785846939CC1D2E8725AC94AD4DFF8913234E00679FB41400FF, # noqa: E501 - 326: 0xF000B68FB921F7AA6AFF81000000000000000000000000000000000000000001, # noqa: E501 - 327: 0xCCE501857A1CB45473915A28082AF950E0F78F7E2DE68CE748ADB661B3EC0101, # noqa: E501 - 328: 0x3B2E28D274A16C08B58A23BAD63BBA6D7B09685769D1F68CA3873BEDC8140101, # noqa: E501 - 339: 0x879EC55C33085514FF7F00000000000000000000000000000000000000000001, # noqa: E501 - 340: 0x7FD07055FF50CDFE4B4BD9A15133D72D3607D92EB7AC81BAC93DB7FF4C93FEFF, # noqa: E501 - 341: 0x665AC5C769E87F61D5993ABC26522FBFCA2734D76A63216B2D550D29C79500FF, # noqa: E501 - 342: 0xB68FB921F7AA6AFF8100000000000000000000000000000000000000000001, # noqa: E501 - 343: 0x1C93DB67C9884BC694686D69A25A5D7ED089841D5CE147FDD7199AB00D95FF01, # noqa: E501 - 344: 0x485053D8FF66BE52036597520344FAC87B6A305426A9E49221D3F934DC950101, # noqa: E501 - 355: 0x9EC55C33085514FF7F0000000000000000000000000000000000000000000001, # noqa: E501 - 356: 0xEC447E662AC08957D7E290A421DBF54C0AAF43AADC9CC465AD0B02F071EA00FF, # noqa: E501 - 357: 0xDC9178D3BAB470096F01477C859B5F4173986640B659426412A653465C1600FF, # noqa: E501 - 358: 0xB68FB921F7AA6AFF810000000000000000000000000000000000000000000001, # noqa: E501 - 359: 0xDCF0A770777610503596AE0311AF46C171151ED45107D7E7BB8F74BB5BEA0101, # noqa: E501 - 360: 0x4D65773387993928C95C861274232D3FB6F6B7FE1B22E4E61A30E71172160101, # noqa: E501 - 371: 0xC55C33085514FF7F000000000000000000000000000000000000000000000001, # noqa: E501 - 372: 0x537CA0F03F974303005F1E6693B55B72315A166841732E42B8353724A495FEFF, # noqa: E501 - 373: 0x86418797EC60058DE6CCA47DFDBEE79923AC49D7801E01840041CA76719700FF, # noqa: E501 - 374: 0x8FB921F7AA6AFF81000000000000000000000000000000000000000000000001, # noqa: E501 - 375: 0x56A55341AB8D4318F1CFB55D5F21E2BA35D7E070A72BAC6B2B21BAAE5F97FF01, # noqa: E501 - 376: 0x55DDD0EC77909DE6D8311116CF520398E816F928B06FDD90EC239D0488970101, # noqa: E501 - 387: 0x5C33085514FF7F00000000000000000000000000000000000000000000000001, # noqa: E501 - 388: 0xD542E526003539EAD104274AFF2D78332366E29D328C2161F0C120731FE800FF, # noqa: E501 - 389: 0xC706CB25E8384CE9BB5C9CB48415238BA03E16C448E292C0A101843B081800FF, # noqa: E501 - 390: 0xB921F7AA6AFF8100000000000000000000000000000000000000000000000001, # noqa: E501 - 391: 0x4CA55F89202C524CB0F1CB3195D13C8D94A9F7A05C59E1D4031577C707E80101, # noqa: E501 - 392: 0x8C4B0574E9156B80035F3ECDCF1FE79D273ED7559747A4322BCD338F20180101, # noqa: E501 - 403: 0x33085514FF7F0000000000000000000000000000000000000000000000000001, # noqa: E501 - 404: 0x7F510DD7198CAC0A92FF7EA80451838C0DFA12114C41A0EF05907397F897FEFF, # noqa: E501 - 405: 0x1275E752B6AEE228ECBA5E9B57EF1111DEFF3C651E2CFBF2CCCD13151F9900FF, # noqa: E501 - 406: 0x21F7AA6AFF810000000000000000000000000000000000000000000000000001, # noqa: E501 - 407: 0x6646340AD51A03BB710CAF05756B685B33C7DAD62AE68D369243700EAD99FF01, # noqa: E501 - 408: 0x29D80E8060EF2221929BB18215586C742686D6860E028CA0456B443238990101, # noqa: E501 - 419: 0x85514FF7F000000000000000000000000000000000000000000000000000001, # noqa: E501 - 420: 0x1D164DB738EB6893868B361AD2803F97BE35764456E82A837667A693D1E600FF, # noqa: E501 - 421: 0x8B92C24ABEBF376A5AAB5FF4DFD3538A03D38A10BCED2AAE8E1A8A85B81A00FF, # noqa: E501 - 422: 0xF7AA6AFF81000000000000000000000000000000000000000000000000000001, # noqa: E501 - 423: 0x6931BDA98C70E860A1F6A5224940F1EC7E6734CD9456C95806384F7CB7E60101, # noqa: E501 - 424: 0x3402A9DB66492DFC2A220715E76243469462F24EDC56903BA1D8E96ED21A0101, # noqa: E501 - 435: 0x5514FF7F00000000000000000000000000000000000000000000000000000001, # noqa: E501 - 436: 0x178918FFBCB401D4EFD2F7DFB4D01A897172267F0F491121AC52DD614899FEFF, # noqa: E501 - 437: 0x38ECFF71480CA0B422F2ED6F780D5FEAD2AE234A49104B10A86F7F0DD19B00FF, # noqa: E501 - 438: 0xAA6AFF8100000000000000000000000000000000000000000000000000000001, # noqa: E501 - 439: 0xD02811CB5DC1D80567E810532B235B7672F5C78CD6E89BB511D5E2D8F79BFF01, # noqa: E501 - 440: 0x1B4E6404F474C18055D30BB8987672F59E97980D6F9DE1764C0FBEC5EC9B0101, # noqa: E501 - 451: 0x14FF7F0000000000000000000000000000000000000000000000000000000001, # noqa: E501 - 452: 0xFFD368E44B3F85CB81AE394C9809CA9FA2DB46A83D7880A912AB6D4A87E400FF, # noqa: E501 - 453: 0x981AD53C19B15A94BCF0BF20235DD0DA9DF25F46AE635029FE2062E6C1C00FF, # noqa: E501 - 454: 0x6AFF810000000000000000000000000000000000000000000000000000000001, # noqa: E501 - 455: 0x19DF06FFA28250867006726405FBC05D43DC2F9D2F025006DB089BD46BE40101, # noqa: E501 - 456: 0x243FFFE3A4F2982F45055C08F379648AB886DA8027A7401117A8E0B8881C0101, # noqa: E501 - 467: 0xFF7F000000000000000000000000000000000000000000000000000000000001, # noqa: E501 - 468: 0x41E065D46E0349CFE624C4E8A2034AEA1F7EDFFF80E511CD8067D488949BFEFF, # noqa: E501 - 469: 0xA84162CA6675A22C4C79DFC4EA15F760DB5A04DBF04246764199B668879D00FF, # noqa: E501 - 470: 0xFF81000000000000000000000000000000000000000000000000000000000001, # noqa: E501 - 471: 0x1226984FAA6B05EBDBD45D8477FA4FD5B55BFD5061DE03C319282B153D9DFF01, # noqa: E501 - 472: 0x5CC9E6B0B749FD94541AD00364BDEC2FCA7816981CA3E38F485DECC7A49D0101, # noqa: E501 - 483: 0x7F00000000000000000000000000000000000000000000000000000000000001, # noqa: E501 - 484: 0xE9772778F50FA0A69CD10FA019AC56D72AC7A7D7AF26C4BA28415C8F41E200FF, # noqa: E501 - 485: 0x33F0385EF73FEEBDB952E5ADB643DD0FA178FD9271578219AD50A73D241E00FF, # noqa: E501 - 486: 0x8100000000000000000000000000000000000000000000000000000000000001, # noqa: E501 - 487: 0xFD405CCE8F73DFFC04A6F0FF6FFC6BF7961876D09C5B4933A68F0CC623E20101, # noqa: E501 - 488: 0xC5A8F4566FD2E96E4CE3A8B3EC0863E7B20BC3B2F3DC5261BA8A0174421E0101, # noqa: E501 - 499: 1, - 500: 0xF9CB87F5B1AB58602F52A1E9D392E5675B86A59A53943A8D4EC2A915DC9DFEFF, # noqa: E501 - 501: 0x893D729A64E318860EC5047E70E598DA163EB41E71E74B04DFD4712D419F00FF, # noqa: E501 - 502: 1, - 503: 0xEE5F2839C1B4F6CA05E6FDB04E2FB49C0F860B3765C27DC781A150CB7F9FFF01, # noqa: E501 - 504: 0xB4C358E3C6BCDDFB509EA487D733DF0E1854F29C3B6BFD4A8CAABE3F609F0101, # noqa: E501 - 512: 1, - 515: 1, - 516: 0xB8247842BB5CE75C08D0C251669ED5870FA24A22952E5DB3A7C66C59FFE000FF, # noqa: E501 - 517: 0xEE526E5A06F2A990B2BF6C951E5FEABF0E07EE16877296E1BE872DB9E02000FF, # noqa: E501 - 518: 1, - 519: 0xEDA7D024B6DE40A9D3B966E71F10A4667EDC5B71CAB07AEABCAC6249DFE00101, # noqa: E501 - 520: 0x512ECFAEEB11205F0833E1054DCB1300488E0954BE5AF77A49E143AA00200101, # noqa: E501 - 528: 1, - 531: 1, - 532: 0x8DCB65B5494EBA78CD6756A6F9851F6E26D0F2BB9ECD7E9ABD7E9B11209FFEFF, # noqa: E501 - 533: 0x6694BB31B20CD625F3756897DAE6D738F2E64467B5B6F10FA3E07763FFA100FF, # noqa: E501 - 534: 1, - 535: 0xE678999AEFFD1F1F45081F64DE7F80AB083DD7DF04721ED64EE04C03BDA1FF01, # noqa: E501 - 536: 0x39B68FB9898DD7568ABD178397251CE8226A25C1D305A4E79573333520A10101, # noqa: E501 - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_fib.py b/tests/ported_static/VMTests/vmArithmeticTest/test_fib.py deleted file mode 100644 index facefac78c3..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_fib.py +++ /dev/null @@ -1,160 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/fibFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/fibFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_fib( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (def 'fib (n) [[n]] (+ @@(- n 1) @@(- n 2))) - # (fib 2) - # (fib 3) - # (fib 4) - # (fib 5) - # (fib 6) - # (fib 7) - # (fib 8) - # (fib 9) - # (fib 10) - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.ADD( - Op.SLOAD(key=Op.SUB(0x2, 0x1)), - Op.SLOAD(key=Op.SUB(0x2, 0x2)), - ), - ) - + Op.SSTORE( - key=0x3, - value=Op.ADD( - Op.SLOAD(key=Op.SUB(0x3, 0x1)), - Op.SLOAD(key=Op.SUB(0x3, 0x2)), - ), - ) - + Op.SSTORE( - key=0x4, - value=Op.ADD( - Op.SLOAD(key=Op.SUB(0x4, 0x1)), - Op.SLOAD(key=Op.SUB(0x4, 0x2)), - ), - ) - + Op.SSTORE( - key=0x5, - value=Op.ADD( - Op.SLOAD(key=Op.SUB(0x5, 0x1)), - Op.SLOAD(key=Op.SUB(0x5, 0x2)), - ), - ) - + Op.SSTORE( - key=0x6, - value=Op.ADD( - Op.SLOAD(key=Op.SUB(0x6, 0x1)), - Op.SLOAD(key=Op.SUB(0x6, 0x2)), - ), - ) - + Op.SSTORE( - key=0x7, - value=Op.ADD( - Op.SLOAD(key=Op.SUB(0x7, 0x1)), - Op.SLOAD(key=Op.SUB(0x7, 0x2)), - ), - ) - + Op.SSTORE( - key=0x8, - value=Op.ADD( - Op.SLOAD(key=Op.SUB(0x8, 0x1)), - Op.SLOAD(key=Op.SUB(0x8, 0x2)), - ), - ) - + Op.SSTORE( - key=0x9, - value=Op.ADD( - Op.SLOAD(key=Op.SUB(0x9, 0x1)), - Op.SLOAD(key=Op.SUB(0x9, 0x2)), - ), - ) - + Op.SSTORE( - key=0xA, - value=Op.ADD( - Op.SLOAD(key=Op.SUB(0xA, 0x1)), - Op.SLOAD(key=Op.SUB(0xA, 0x2)), - ), - ) - + Op.STOP - ), - storage={0x0: 0x0, 0x1: 0x1}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xf8d9ff3e0cf16acf51098c85f2cb8f082ef588c2"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("01"), - gas_limit=16777216, - value=1, - ) - - post = { - contract: Account( - storage={ - 1: 1, - 2: 1, - 3: 2, - 4: 3, - 5: 5, - 6: 8, - 7: 13, - 8: 21, - 9: 34, - 10: 55, - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_mod.py b/tests/ported_static/VMTests/vmArithmeticTest/test_mod.py deleted file mode 100644 index 7632ff4d764..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_mod.py +++ /dev/null @@ -1,189 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/modFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/modFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 2} - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], -) -@pytest.mark.pre_alloc_mutable -def test_mod( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MOD(0x2, 0x3)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x2, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MOD( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MOD(0x3, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MOD(Op.SUB(0x0, 0x2), 0x3)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SUB(Op.MOD(0x10, 0x0), 0x1)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_mul.py b/tests/ported_static/VMTests/vmArithmeticTest/test_mul.py deleted file mode 100644 index 48046901ecb..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_mul.py +++ /dev/null @@ -1,268 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/mulFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/mulFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001007"): Account( - storage={ - 0: 0x47D0817E4167B1EB4F9FC722B133EF9D7D9A6FB4C2C1C442D000107A5E419561 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 23} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 6} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={ - 0: 0x8000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001006"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - ], -) -@pytest.mark.pre_alloc_mutable -def test_mul( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MUL(0x2, 0x3)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MUL( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MUL(0x0, 0x17)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MUL(0x17, 0x1)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MUL( - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MUL( - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MUL( - 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MUL( - Op.MUL( - 0x1234567890ABCDEF0FEDCBA0987654321, - 0x1234567890ABCDEF0FEDCBA0987654321, - ), - 0x1234567890ABCDEF0FEDCBA0987654321, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=0x1) + Op.PUSH1[0x1] + Op.MUL + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_mulmod.py b/tests/ported_static/VMTests/vmArithmeticTest/test_mulmod.py deleted file mode 100644 index 45c12871a4c..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_mulmod.py +++ /dev/null @@ -1,427 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/mulmodFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/mulmodFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 99} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001007"): Account( - storage={0: 4} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001008"): Account( - storage={0: 3} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 5} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 2} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100a"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000009", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100e"): Account( - storage={0: 1} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - ], -) -@pytest.mark.pre_alloc_mutable -def test_mulmod( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MULMOD(0x1, 0x2, 0x2)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MULMOD(Op.SUB(0x0, 0x1), Op.SUB(0x0, 0x2), 0x3), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.MULMOD(Op.SUB(0x0, 0x5), 0x1, 0x3)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.MULMOD(0x5, 0x1, Op.SUB(0x0, 0x3))) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MULMOD(0x1B, 0x25, 0x64)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MULMOD( - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - 0x2, - 0x5, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.MULMOD(Op.SUB(0x0, 0x1), 0x2, 0x5)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MULMOD( - Op.SUB( - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - 0x1, - ), - 0x2, - 0x5, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { - # (def 'pow2_255 0x8000000000000000000000000000000000000000000000000000000000000000) # noqa: E501 - # - # ; 2^255%5 = 3 - # ; 2%5 = 2 - # ; ((3+1) * 2) % 5 = 3 - # [[0]] (mulmod (+ pow2_255 1) 2 5) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MULMOD( - Op.ADD( - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - 0x1, - ), - 0x2, - 0x5, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: LLL - # { - # ; smod is signed mod, -5%3 = -1 - # ; mulmod is unsigned mod, -5%3 = 2 - # ; -1 != 2 - # [[0]] (= (smod (- 0 5) 3) (mulmod (- 0 5) 1 3)) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.EQ( - Op.SMOD(Op.SUB(0x0, 0x5), 0x3), - Op.MULMOD(Op.SUB(0x0, 0x5), 0x1, 0x3), - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - # Source: LLL - # { - # ; mod and mulmod are both unsigned mod - # ; equal - # [[0]] (= (mod (- 0 5) 3) (mulmod (- 0 5) 1 3)) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.EQ( - Op.MOD(Op.SUB(0x0, 0x5), 0x3), - Op.MULMOD(Op.SUB(0x0, 0x5), 0x1, 0x3), - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100a"), # noqa: E501 - ) - # Source: LLL - # { - # ; (mulmod a b -c) is usually a*b, because -c is - # ; actually 2^256-c, which is huge - # ; not equal - # [[0]] (= (mulmod 5 1 (- 0 3)) 2) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.EQ(Op.MULMOD(0x5, 0x1, Op.SUB(0x0, 0x3)), 0x2), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100b"), # noqa: E501 - ) - # Source: LLL - # { - # ; (mulmod x y 0) is zero - # [[0]] (mulmod 0 1 0) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MULMOD(0x0, 0x1, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100c"), # noqa: E501 - ) - # Source: LLL - # { - # ; (mulmod x y 0) is zero - # [[0]] (mulmod 1 0 0) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MULMOD(0x1, 0x0, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100d"), # noqa: E501 - ) - # Source: LLL - # { - # ; (mulmod x y 0) is zero - # [[0]] (- 1 (mulmod 0 0 0)) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SUB(0x1, Op.MULMOD(0x0, 0x0, 0x0))) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100e"), # noqa: E501 - ) - # Source: LLL - # { - # ; (mulmod x y 0) is zero - # [[0]] (mulmod 5 1 0) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MULMOD(0x5, 0x1, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100f"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_sdiv.py b/tests/ported_static/VMTests/vmArithmeticTest/test_sdiv.py deleted file mode 100644 index 1770862cf99..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_sdiv.py +++ /dev/null @@ -1,527 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/sdivFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/sdivFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100c"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={ - 0: 0x8000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000f", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100f"): Account( - storage={ - 0: 0x8000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100e"): Account( - storage={ - 0: 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000009", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001009"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001008"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100d"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - ], -) -@pytest.mark.pre_alloc_mutable -def test_sdiv( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SDIV( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.SUB( - 0x0, - 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000110"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SDIV( - Op.SUB( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SDIV( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.SUB( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x2), Op.SUB(0x0, 0x4)) - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SDIV(0x4, Op.SUB(0x0, 0x2))) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SDIV(0x5, Op.SUB(0x0, 0x4))) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SDIV( - Op.SUB( - 0x0, - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - Op.SUB(0x0, 0x1), - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SDIV( - Op.SUB( - 0x0, - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - 0x0, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x1), 0x19)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { ; (-1)/(-1) = 1 - # - # [[0]] (sdiv (- 0 1) (- 0 1)) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x1), Op.SUB(0x0, 0x1)) - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: LLL - # { ; (-1)/1 = -1 - # - # [[0]] (sdiv (- 0 1) 1) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x1), 0x1)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - # Source: LLL - # { ; (-3)/0 = 0 - # ; x/0 = 0 in evm - # - # [[0]] (sdiv (- 0 3) (- 0 0)) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x3), Op.SUB(0x0, 0x0)) - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100a"), # noqa: E501 - ) - # Source: LLL - # { ; (0-(-1))/0 = 0 - # ; - # ; -1 = 2^256-1 - # (def 'neg1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 - # - # [[0]] (sdiv (- 0 neg1) 0) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SDIV( - Op.SUB( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - 0x0, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100b"), # noqa: E501 - ) - # Source: LLL - # { ; (0-(-1))/0 + 1 = 1 - # ; - # ; -1 = 2^256-1 - # (def 'neg1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 - # - # [[0]] (+ (sdiv (- 0 neg1) 0) 1) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADD( - Op.SDIV( - Op.SUB( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - 0x0, - ), - 0x1, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x9), 0x5)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100d"), # noqa: E501 - ) - # Source: LLL - # { - # ; A negative number sdiv -1 is the absolute value of that number - # (def 'pow2_255 0x8000000000000000000000000000000000000000000000000000000000000000) # noqa: E501 - # (def 'pow2_255_min1 (- pow2_255 1)) - # [[0]] (sdiv (- 0 pow2_255_min1) (- 0 1)) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SDIV( - Op.SUB( - 0x0, - Op.SUB( - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - 0x1, - ), - ), - Op.SUB(0x0, 0x1), - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100e"), # noqa: E501 - ) - # Source: LLL - # { - # ; A negative number sdiv -1 is the absolute value of that number - # (def 'pow2_255 0x8000000000000000000000000000000000000000000000000000000000000000) # noqa: E501 - # [[0]] (sdiv (- 0 pow2_255) (- 0 1)) - # ; 2^255 = -2^255 in evm (modulo 2^256) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SDIV( - Op.SUB( - 0x0, - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - Op.SUB(0x0, 0x1), - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100f"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_signextend.py b/tests/ported_static/VMTests/vmArithmeticTest/test_signextend.py deleted file mode 100644 index a412fed77f5..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_signextend.py +++ /dev/null @@ -1,401 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/signextendFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/signextendFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001007"): Account( - storage={0: 106} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001008"): Account( - storage={0: 27380} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000009", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001009"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF4 # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100e"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100d"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 0x126AF4} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={0: 255} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100b"): Account( - storage={0: 65535} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100a"): Account( - storage={0: 32768} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - ], -) -@pytest.mark.pre_alloc_mutable -def test_signextend( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x50, 0x126AF4)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x0, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SIGNEXTEND( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SIGNEXTEND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SIGNEXTEND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0xF00000000000000001, 0xFF)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SIGNEXTEND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x0, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x0, 0x122F6A)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { ; Extend the sign of 0x6af4, which is a positive 16 bit number - # [[0]] (signextend 1 0x126af4) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x1, 0x126AF4)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: LLL - # { ; The first two bytes are 0xfaf4, which is a negative 16 bit number - # ; (-1292). The sign is extended from the first two bytes to the entire - # ; value - # [[0]] (signextend 1 0x12faf4) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x1, 0x12FAF4)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (signextend 0x010000000000000001 0x8000) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, value=Op.SIGNEXTEND(0x10000000000000001, 0x8000) - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100a"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (signextend 0xf0000000000001 0xFFFF) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0xF0000000000001, 0xFFFF)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100b"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (signextend 0 0x122ff4) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x0, 0x122FF4)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100c"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (signextend 31 1) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x1F, 0x1)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100d"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (signextend 31 (sub 0 1)) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x1F, Op.SUB(0x0, 0x1))) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100e"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_smod.py b/tests/ported_static/VMTests/vmArithmeticTest/test_smod.py deleted file mode 100644 index e591265c11e..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_smod.py +++ /dev/null @@ -1,195 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/smodFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/smodFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], -) -@pytest.mark.pre_alloc_mutable -def test_smod( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SMOD(0x2, 0x3)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x2, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SMOD( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SMOD(0x3, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SMOD(Op.SUB(0x0, 0x2), 0x3)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SUB(Op.SMOD(0x10, 0x0), 0x1)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_sub.py b/tests/ported_static/VMTests/vmArithmeticTest/test_sub.py deleted file mode 100644 index 6047b8d31d2..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_sub.py +++ /dev/null @@ -1,185 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/subFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/subFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 22} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4"], -) -@pytest.mark.pre_alloc_mutable -def test_sub( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SUB(0x17, 0x1)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SUB(0x2, 0x3)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SUB(0x0, 0x17)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SUB( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SUB( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x0, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_two_ops.py b/tests/ported_static/VMTests/vmArithmeticTest/test_two_ops.py deleted file mode 100644 index 169ddadba6d..00000000000 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_two_ops.py +++ /dev/null @@ -1,4162 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/twoOpsFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/twoOpsFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_two_ops( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # - # - # [[0x11000100010000]] (ADD (ADD 2 1) 3) - # [[0x11000100010001]] (ADD (ADD 2 1) 1) - # [[0x11000100020000]] (ADD (MUL 2 1) 3) - # [[0x11000100020001]] (ADD (MUL 2 1) 1) - # [[0x11000100030000]] (ADD (SUB 2 1) 3) - # [[0x11000100030001]] (ADD (SUB 2 1) 1) - # [[0x11000100040000]] (ADD (DIV 2 1) 3) - # [[0x11000100040001]] (ADD (DIV 2 1) 1) - # [[0x11000100050000]] (ADD (SDIV 2 1) 3) - # [[0x11000100050001]] (ADD (SDIV 2 1) 1) - # [[0x11000100060000]] (ADD (MOD 2 1) 3) - # [[0x11000100060001]] (ADD (MOD 2 1) 1) - # [[0x11000100070000]] (ADD (SMOD 2 1) 3) - # [[0x11000100070001]] (ADD (SMOD 2 1) 1) - # [[0x11000100080000]] (ADD (ADDMOD 2 1 3) 3) - # [[0x11000100080001]] (ADD (ADDMOD 2 1 3) 1) - # [[0x11000100090000]] (ADD (MULMOD 2 1 3) 3) - # [[0x11000100090001]] (ADD (MULMOD 2 1 3) 1) - # [[0x110001000a0000]] (ADD (EXP 2 1) 3) - # [[0x110001000a0001]] (ADD (EXP 2 1) 1) - # [[0x11000100100000]] (ADD (LT 2 1) 3) - # [[0x11000100100001]] (ADD (LT 2 1) 1) - # [[0x11000100110000]] (ADD (GT 2 1) 3) - # [[0x11000100110001]] (ADD (GT 2 1) 1) - # [[0x11000100120000]] (ADD (SLT 2 1) 3) - # [[0x11000100120001]] (ADD (SLT 2 1) 1) - # [[0x11000100130000]] (ADD (SGT 2 1) 3) - # ... (1127 more lines) - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x11000100010000, value=Op.ADD(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100010001, value=Op.ADD(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100020000, value=Op.ADD(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100020001, value=Op.ADD(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100030000, value=Op.ADD(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100030001, value=Op.ADD(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100040000, value=Op.ADD(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100040001, value=Op.ADD(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100050000, value=Op.ADD(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100050001, value=Op.ADD(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100060000, value=Op.ADD(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100060001, value=Op.ADD(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100070000, value=Op.ADD(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100070001, value=Op.ADD(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100080000, - value=Op.ADD(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000100080001, - value=Op.ADD(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11000100090000, - value=Op.ADD(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000100090001, - value=Op.ADD(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110001000A0000, value=Op.ADD(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110001000A0001, value=Op.ADD(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100100000, value=Op.ADD(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100100001, value=Op.ADD(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100110000, value=Op.ADD(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100110001, value=Op.ADD(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100120000, value=Op.ADD(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100120001, value=Op.ADD(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100130000, value=Op.ADD(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100130001, value=Op.ADD(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100140000, value=Op.ADD(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100140001, value=Op.ADD(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100150000, value=Op.ADD(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11000100150001, value=Op.ADD(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11000100160000, value=Op.ADD(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100160001, value=Op.ADD(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100170000, value=Op.ADD(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100170001, value=Op.ADD(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000100180000, value=Op.ADD(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000100180001, value=Op.ADD(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11000100190000, value=Op.ADD(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11000100190001, value=Op.ADD(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110001001A0000, value=Op.ADD(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110001001A0001, value=Op.ADD(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110001001B0000, value=Op.ADD(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110001001B0001, value=Op.ADD(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110001001C0000, value=Op.ADD(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110001001C0001, value=Op.ADD(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110001001D0000, value=Op.ADD(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110001001D0001, value=Op.ADD(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200010000, value=Op.MUL(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200010001, value=Op.MUL(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200020000, value=Op.MUL(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200020001, value=Op.MUL(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200030000, value=Op.MUL(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200030001, value=Op.MUL(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200040000, value=Op.MUL(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200040001, value=Op.MUL(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200050000, value=Op.MUL(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200050001, value=Op.MUL(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200060000, value=Op.MUL(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200060001, value=Op.MUL(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200070000, value=Op.MUL(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200070001, value=Op.MUL(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200080000, - value=Op.MUL(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000200080001, - value=Op.MUL(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11000200090000, - value=Op.MUL(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000200090001, - value=Op.MUL(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110002000A0000, value=Op.MUL(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110002000A0001, value=Op.MUL(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200100000, value=Op.MUL(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200100001, value=Op.MUL(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200110000, value=Op.MUL(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200110001, value=Op.MUL(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200120000, value=Op.MUL(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200120001, value=Op.MUL(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200130000, value=Op.MUL(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200130001, value=Op.MUL(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200140000, value=Op.MUL(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200140001, value=Op.MUL(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200150000, value=Op.MUL(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11000200150001, value=Op.MUL(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11000200160000, value=Op.MUL(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200160001, value=Op.MUL(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200170000, value=Op.MUL(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200170001, value=Op.MUL(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000200180000, value=Op.MUL(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000200180001, value=Op.MUL(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11000200190000, value=Op.MUL(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11000200190001, value=Op.MUL(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110002001A0000, value=Op.MUL(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110002001A0001, value=Op.MUL(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110002001B0000, value=Op.MUL(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110002001B0001, value=Op.MUL(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110002001C0000, value=Op.MUL(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110002001C0001, value=Op.MUL(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110002001D0000, value=Op.MUL(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110002001D0001, value=Op.MUL(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300010000, value=Op.SUB(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300010001, value=Op.SUB(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300020000, value=Op.SUB(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300020001, value=Op.SUB(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300030000, value=Op.SUB(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300030001, value=Op.SUB(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300040000, value=Op.SUB(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300040001, value=Op.SUB(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300050000, value=Op.SUB(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300050001, value=Op.SUB(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300060000, value=Op.SUB(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300060001, value=Op.SUB(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300070000, value=Op.SUB(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300070001, value=Op.SUB(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300080000, - value=Op.SUB(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000300080001, - value=Op.SUB(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11000300090000, - value=Op.SUB(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000300090001, - value=Op.SUB(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110003000A0000, value=Op.SUB(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110003000A0001, value=Op.SUB(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300100000, value=Op.SUB(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300100001, value=Op.SUB(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300110000, value=Op.SUB(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300110001, value=Op.SUB(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300120000, value=Op.SUB(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300120001, value=Op.SUB(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300130000, value=Op.SUB(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300130001, value=Op.SUB(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300140000, value=Op.SUB(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300140001, value=Op.SUB(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300150000, value=Op.SUB(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11000300150001, value=Op.SUB(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11000300160000, value=Op.SUB(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300160001, value=Op.SUB(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300170000, value=Op.SUB(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300170001, value=Op.SUB(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000300180000, value=Op.SUB(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000300180001, value=Op.SUB(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11000300190000, value=Op.SUB(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11000300190001, value=Op.SUB(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110003001A0000, value=Op.SUB(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110003001A0001, value=Op.SUB(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110003001B0000, value=Op.SUB(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110003001B0001, value=Op.SUB(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110003001C0000, value=Op.SUB(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110003001C0001, value=Op.SUB(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110003001D0000, value=Op.SUB(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110003001D0001, value=Op.SUB(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400010000, value=Op.DIV(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400010001, value=Op.DIV(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400020000, value=Op.DIV(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400020001, value=Op.DIV(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400030000, value=Op.DIV(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400030001, value=Op.DIV(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400040000, value=Op.DIV(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400040001, value=Op.DIV(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400050000, value=Op.DIV(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400050001, value=Op.DIV(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400060000, value=Op.DIV(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400060001, value=Op.DIV(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400070000, value=Op.DIV(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400070001, value=Op.DIV(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400080000, - value=Op.DIV(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000400080001, - value=Op.DIV(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11000400090000, - value=Op.DIV(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000400090001, - value=Op.DIV(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110004000A0000, value=Op.DIV(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110004000A0001, value=Op.DIV(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400100000, value=Op.DIV(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400100001, value=Op.DIV(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400110000, value=Op.DIV(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400110001, value=Op.DIV(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400120000, value=Op.DIV(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400120001, value=Op.DIV(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400130000, value=Op.DIV(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400130001, value=Op.DIV(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400140000, value=Op.DIV(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400140001, value=Op.DIV(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400150000, value=Op.DIV(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11000400150001, value=Op.DIV(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11000400160000, value=Op.DIV(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400160001, value=Op.DIV(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400170000, value=Op.DIV(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400170001, value=Op.DIV(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000400180000, value=Op.DIV(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000400180001, value=Op.DIV(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11000400190000, value=Op.DIV(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11000400190001, value=Op.DIV(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110004001A0000, value=Op.DIV(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110004001A0001, value=Op.DIV(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110004001B0000, value=Op.DIV(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110004001B0001, value=Op.DIV(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110004001C0000, value=Op.DIV(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110004001C0001, value=Op.DIV(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110004001D0000, value=Op.DIV(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110004001D0001, value=Op.DIV(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500010000, value=Op.SDIV(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500010001, value=Op.SDIV(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500020000, value=Op.SDIV(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500020001, value=Op.SDIV(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500030000, value=Op.SDIV(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500030001, value=Op.SDIV(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500040000, value=Op.SDIV(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500040001, value=Op.SDIV(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500050000, - value=Op.SDIV(Op.SDIV(0x2, 0x1), 0x3), - ) - + Op.SSTORE( - key=0x11000500050001, - value=Op.SDIV(Op.SDIV(0x2, 0x1), 0x1), - ) - + Op.SSTORE( - key=0x11000500060000, value=Op.SDIV(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500060001, value=Op.SDIV(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500070000, - value=Op.SDIV(Op.SMOD(0x2, 0x1), 0x3), - ) - + Op.SSTORE( - key=0x11000500070001, - value=Op.SDIV(Op.SMOD(0x2, 0x1), 0x1), - ) - + Op.SSTORE( - key=0x11000500080000, - value=Op.SDIV(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000500080001, - value=Op.SDIV(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11000500090000, - value=Op.SDIV(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000500090001, - value=Op.SDIV(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110005000A0000, value=Op.SDIV(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110005000A0001, value=Op.SDIV(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500100000, value=Op.SDIV(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500100001, value=Op.SDIV(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500110000, value=Op.SDIV(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500110001, value=Op.SDIV(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500120000, value=Op.SDIV(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500120001, value=Op.SDIV(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500130000, value=Op.SDIV(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500130001, value=Op.SDIV(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500140000, value=Op.SDIV(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500140001, value=Op.SDIV(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500150000, value=Op.SDIV(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11000500150001, value=Op.SDIV(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11000500160000, value=Op.SDIV(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500160001, value=Op.SDIV(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500170000, value=Op.SDIV(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500170001, value=Op.SDIV(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000500180000, value=Op.SDIV(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000500180001, value=Op.SDIV(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11000500190000, value=Op.SDIV(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11000500190001, value=Op.SDIV(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110005001A0000, - value=Op.SDIV(Op.BYTE(0x2, 0x1), 0x3), - ) - + Op.SSTORE( - key=0x110005001A0001, - value=Op.SDIV(Op.BYTE(0x2, 0x1), 0x1), - ) - + Op.SSTORE( - key=0x110005001B0000, value=Op.SDIV(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110005001B0001, value=Op.SDIV(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110005001C0000, value=Op.SDIV(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110005001C0001, value=Op.SDIV(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110005001D0000, value=Op.SDIV(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110005001D0001, value=Op.SDIV(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600010000, value=Op.MOD(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600010001, value=Op.MOD(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600020000, value=Op.MOD(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600020001, value=Op.MOD(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600030000, value=Op.MOD(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600030001, value=Op.MOD(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600040000, value=Op.MOD(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600040001, value=Op.MOD(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600050000, value=Op.MOD(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600050001, value=Op.MOD(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600060000, value=Op.MOD(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600060001, value=Op.MOD(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600070000, value=Op.MOD(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600070001, value=Op.MOD(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600080000, - value=Op.MOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000600080001, - value=Op.MOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11000600090000, - value=Op.MOD(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000600090001, - value=Op.MOD(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110006000A0000, value=Op.MOD(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110006000A0001, value=Op.MOD(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600100000, value=Op.MOD(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600100001, value=Op.MOD(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600110000, value=Op.MOD(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600110001, value=Op.MOD(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600120000, value=Op.MOD(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600120001, value=Op.MOD(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600130000, value=Op.MOD(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600130001, value=Op.MOD(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600140000, value=Op.MOD(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600140001, value=Op.MOD(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600150000, value=Op.MOD(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11000600150001, value=Op.MOD(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11000600160000, value=Op.MOD(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600160001, value=Op.MOD(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600170000, value=Op.MOD(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600170001, value=Op.MOD(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000600180000, value=Op.MOD(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000600180001, value=Op.MOD(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11000600190000, value=Op.MOD(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11000600190001, value=Op.MOD(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110006001A0000, value=Op.MOD(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110006001A0001, value=Op.MOD(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110006001B0000, value=Op.MOD(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110006001B0001, value=Op.MOD(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110006001C0000, value=Op.MOD(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110006001C0001, value=Op.MOD(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110006001D0000, value=Op.MOD(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110006001D0001, value=Op.MOD(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700010000, value=Op.SMOD(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700010001, value=Op.SMOD(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700020000, value=Op.SMOD(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700020001, value=Op.SMOD(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700030000, value=Op.SMOD(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700030001, value=Op.SMOD(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700040000, value=Op.SMOD(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700040001, value=Op.SMOD(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700050000, - value=Op.SMOD(Op.SDIV(0x2, 0x1), 0x3), - ) - + Op.SSTORE( - key=0x11000700050001, - value=Op.SMOD(Op.SDIV(0x2, 0x1), 0x1), - ) - + Op.SSTORE( - key=0x11000700060000, value=Op.SMOD(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700060001, value=Op.SMOD(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700070000, - value=Op.SMOD(Op.SMOD(0x2, 0x1), 0x3), - ) - + Op.SSTORE( - key=0x11000700070001, - value=Op.SMOD(Op.SMOD(0x2, 0x1), 0x1), - ) - + Op.SSTORE( - key=0x11000700080000, - value=Op.SMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000700080001, - value=Op.SMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11000700090000, - value=Op.SMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000700090001, - value=Op.SMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110007000A0000, value=Op.SMOD(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110007000A0001, value=Op.SMOD(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700100000, value=Op.SMOD(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700100001, value=Op.SMOD(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700110000, value=Op.SMOD(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700110001, value=Op.SMOD(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700120000, value=Op.SMOD(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700120001, value=Op.SMOD(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700130000, value=Op.SMOD(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700130001, value=Op.SMOD(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700140000, value=Op.SMOD(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700140001, value=Op.SMOD(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700150000, value=Op.SMOD(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11000700150001, value=Op.SMOD(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11000700160000, value=Op.SMOD(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700160001, value=Op.SMOD(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700170000, value=Op.SMOD(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700170001, value=Op.SMOD(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000700180000, value=Op.SMOD(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000700180001, value=Op.SMOD(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11000700190000, value=Op.SMOD(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11000700190001, value=Op.SMOD(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110007001A0000, - value=Op.SMOD(Op.BYTE(0x2, 0x1), 0x3), - ) - + Op.SSTORE( - key=0x110007001A0001, - value=Op.SMOD(Op.BYTE(0x2, 0x1), 0x1), - ) - + Op.SSTORE( - key=0x110007001B0000, value=Op.SMOD(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110007001B0001, value=Op.SMOD(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110007001C0000, value=Op.SMOD(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110007001C0001, value=Op.SMOD(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110007001D0000, value=Op.SMOD(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110007001D0001, value=Op.SMOD(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000800010000, - value=Op.ADDMOD(Op.ADD(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800010001, - value=Op.ADDMOD(Op.ADD(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800020000, - value=Op.ADDMOD(Op.MUL(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800020001, - value=Op.ADDMOD(Op.MUL(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800030000, - value=Op.ADDMOD(Op.SUB(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800030001, - value=Op.ADDMOD(Op.SUB(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800040000, - value=Op.ADDMOD(Op.DIV(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800040001, - value=Op.ADDMOD(Op.DIV(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800050000, - value=Op.ADDMOD(Op.SDIV(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800050001, - value=Op.ADDMOD(Op.SDIV(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800060000, - value=Op.ADDMOD(Op.MOD(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800060001, - value=Op.ADDMOD(Op.MOD(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800070000, - value=Op.ADDMOD(Op.SMOD(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800070001, - value=Op.ADDMOD(Op.SMOD(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800080000, - value=Op.ADDMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800080001, - value=Op.ADDMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800090000, - value=Op.ADDMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800090001, - value=Op.ADDMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x110008000A0000, - value=Op.ADDMOD(Op.EXP(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x110008000A0001, - value=Op.ADDMOD(Op.EXP(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800100000, - value=Op.ADDMOD(Op.LT(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800100001, - value=Op.ADDMOD(Op.LT(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800110000, - value=Op.ADDMOD(Op.GT(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800110001, - value=Op.ADDMOD(Op.GT(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800120000, - value=Op.ADDMOD(Op.SLT(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800120001, - value=Op.ADDMOD(Op.SLT(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800130000, - value=Op.ADDMOD(Op.SGT(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800130001, - value=Op.ADDMOD(Op.SGT(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800140000, - value=Op.ADDMOD(Op.EQ(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800140001, - value=Op.ADDMOD(Op.EQ(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800150000, - value=Op.ADDMOD(Op.ISZERO(0x2), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800150001, - value=Op.ADDMOD(Op.ISZERO(0x2), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800160000, - value=Op.ADDMOD(Op.AND(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800160001, - value=Op.ADDMOD(Op.AND(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800170000, - value=Op.ADDMOD(Op.OR(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800170001, - value=Op.ADDMOD(Op.OR(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800180000, - value=Op.ADDMOD(Op.XOR(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800180001, - value=Op.ADDMOD(Op.XOR(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000800190000, - value=Op.ADDMOD(Op.NOT(0x2), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000800190001, - value=Op.ADDMOD(Op.NOT(0x2), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x110008001A0000, - value=Op.ADDMOD(Op.BYTE(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x110008001A0001, - value=Op.ADDMOD(Op.BYTE(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x110008001B0000, - value=Op.ADDMOD(Op.SHL(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x110008001B0001, - value=Op.ADDMOD(Op.SHL(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x110008001C0000, - value=Op.ADDMOD(Op.SHR(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x110008001C0001, - value=Op.ADDMOD(Op.SHR(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x110008001D0000, - value=Op.ADDMOD(Op.SAR(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x110008001D0001, - value=Op.ADDMOD(Op.SAR(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900010000, - value=Op.MULMOD(Op.ADD(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900010001, - value=Op.MULMOD(Op.ADD(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900020000, - value=Op.MULMOD(Op.MUL(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900020001, - value=Op.MULMOD(Op.MUL(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900030000, - value=Op.MULMOD(Op.SUB(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900030001, - value=Op.MULMOD(Op.SUB(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900040000, - value=Op.MULMOD(Op.DIV(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900040001, - value=Op.MULMOD(Op.DIV(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900050000, - value=Op.MULMOD(Op.SDIV(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900050001, - value=Op.MULMOD(Op.SDIV(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900060000, - value=Op.MULMOD(Op.MOD(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900060001, - value=Op.MULMOD(Op.MOD(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900070000, - value=Op.MULMOD(Op.SMOD(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900070001, - value=Op.MULMOD(Op.SMOD(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900080000, - value=Op.MULMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900080001, - value=Op.MULMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900090000, - value=Op.MULMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900090001, - value=Op.MULMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x110009000A0000, - value=Op.MULMOD(Op.EXP(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x110009000A0001, - value=Op.MULMOD(Op.EXP(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900100000, - value=Op.MULMOD(Op.LT(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900100001, - value=Op.MULMOD(Op.LT(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900110000, - value=Op.MULMOD(Op.GT(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900110001, - value=Op.MULMOD(Op.GT(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900120000, - value=Op.MULMOD(Op.SLT(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900120001, - value=Op.MULMOD(Op.SLT(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900130000, - value=Op.MULMOD(Op.SGT(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900130001, - value=Op.MULMOD(Op.SGT(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900140000, - value=Op.MULMOD(Op.EQ(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900140001, - value=Op.MULMOD(Op.EQ(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900150000, - value=Op.MULMOD(Op.ISZERO(0x2), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900150001, - value=Op.MULMOD(Op.ISZERO(0x2), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900160000, - value=Op.MULMOD(Op.AND(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900160001, - value=Op.MULMOD(Op.AND(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900170000, - value=Op.MULMOD(Op.OR(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900170001, - value=Op.MULMOD(Op.OR(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900180000, - value=Op.MULMOD(Op.XOR(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900180001, - value=Op.MULMOD(Op.XOR(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000900190000, - value=Op.MULMOD(Op.NOT(0x2), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x11000900190001, - value=Op.MULMOD(Op.NOT(0x2), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x110009001A0000, - value=Op.MULMOD(Op.BYTE(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x110009001A0001, - value=Op.MULMOD(Op.BYTE(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x110009001B0000, - value=Op.MULMOD(Op.SHL(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x110009001B0001, - value=Op.MULMOD(Op.SHL(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x110009001C0000, - value=Op.MULMOD(Op.SHR(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x110009001C0001, - value=Op.MULMOD(Op.SHR(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x110009001D0000, - value=Op.MULMOD(Op.SAR(0x2, 0x1), 0x3, 0x2), - ) - + Op.SSTORE( - key=0x110009001D0001, - value=Op.MULMOD(Op.SAR(0x2, 0x1), 0x1, 0x2), - ) - + Op.SSTORE( - key=0x11000A00010000, value=Op.EXP(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00010001, value=Op.EXP(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00020000, value=Op.EXP(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00020001, value=Op.EXP(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00030000, value=Op.EXP(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00030001, value=Op.EXP(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00040000, value=Op.EXP(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00040001, value=Op.EXP(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00050000, value=Op.EXP(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00050001, value=Op.EXP(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00060000, value=Op.EXP(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00060001, value=Op.EXP(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00070000, value=Op.EXP(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00070001, value=Op.EXP(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00080000, - value=Op.EXP(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000A00080001, - value=Op.EXP(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11000A00090000, - value=Op.EXP(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11000A00090001, - value=Op.EXP(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11000A000A0000, value=Op.EXP(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A000A0001, value=Op.EXP(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00100000, value=Op.EXP(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00100001, value=Op.EXP(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00110000, value=Op.EXP(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00110001, value=Op.EXP(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00120000, value=Op.EXP(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00120001, value=Op.EXP(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00130000, value=Op.EXP(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00130001, value=Op.EXP(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00140000, value=Op.EXP(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00140001, value=Op.EXP(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00150000, value=Op.EXP(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11000A00150001, value=Op.EXP(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11000A00160000, value=Op.EXP(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00160001, value=Op.EXP(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00170000, value=Op.EXP(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00170001, value=Op.EXP(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A00180000, value=Op.EXP(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A00180001, value=Op.EXP(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11000A00190000, value=Op.EXP(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11000A00190001, value=Op.EXP(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x11000A001A0000, value=Op.EXP(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A001A0001, value=Op.EXP(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A001B0000, value=Op.EXP(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A001B0001, value=Op.EXP(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A001C0000, value=Op.EXP(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A001C0001, value=Op.EXP(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11000A001D0000, value=Op.EXP(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11000A001D0001, value=Op.EXP(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000010000, value=Op.LT(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000010001, value=Op.LT(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000020000, value=Op.LT(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000020001, value=Op.LT(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000030000, value=Op.LT(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000030001, value=Op.LT(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000040000, value=Op.LT(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000040001, value=Op.LT(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000050000, value=Op.LT(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000050001, value=Op.LT(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000060000, value=Op.LT(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000060001, value=Op.LT(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000070000, value=Op.LT(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000070001, value=Op.LT(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000080000, - value=Op.LT(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001000080001, - value=Op.LT(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001000090000, - value=Op.LT(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001000090001, - value=Op.LT(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110010000A0000, value=Op.LT(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110010000A0001, value=Op.LT(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000100000, value=Op.LT(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000100001, value=Op.LT(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000110000, value=Op.LT(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000110001, value=Op.LT(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000120000, value=Op.LT(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000120001, value=Op.LT(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000130000, value=Op.LT(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000130001, value=Op.LT(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000140000, value=Op.LT(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000140001, value=Op.LT(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001000150000, value=Op.LT(Op.ISZERO(0x2), 0x3)) - + Op.SSTORE(key=0x11001000150001, value=Op.LT(Op.ISZERO(0x2), 0x1)) - + Op.SSTORE( - key=0x11001000160000, value=Op.LT(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000160001, value=Op.LT(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000170000, value=Op.LT(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000170001, value=Op.LT(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001000180000, value=Op.LT(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001000180001, value=Op.LT(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001000190000, value=Op.LT(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001000190001, value=Op.LT(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110010001A0000, value=Op.LT(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110010001A0001, value=Op.LT(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110010001B0000, value=Op.LT(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110010001B0001, value=Op.LT(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110010001C0000, value=Op.LT(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110010001C0001, value=Op.LT(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110010001D0000, value=Op.LT(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110010001D0001, value=Op.LT(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100010000, value=Op.GT(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100010001, value=Op.GT(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100020000, value=Op.GT(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100020001, value=Op.GT(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100030000, value=Op.GT(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100030001, value=Op.GT(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100040000, value=Op.GT(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100040001, value=Op.GT(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100050000, value=Op.GT(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100050001, value=Op.GT(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100060000, value=Op.GT(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100060001, value=Op.GT(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100070000, value=Op.GT(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100070001, value=Op.GT(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100080000, - value=Op.GT(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001100080001, - value=Op.GT(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001100090000, - value=Op.GT(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001100090001, - value=Op.GT(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110011000A0000, value=Op.GT(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110011000A0001, value=Op.GT(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100100000, value=Op.GT(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100100001, value=Op.GT(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100110000, value=Op.GT(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100110001, value=Op.GT(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100120000, value=Op.GT(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100120001, value=Op.GT(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100130000, value=Op.GT(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100130001, value=Op.GT(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100140000, value=Op.GT(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100140001, value=Op.GT(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001100150000, value=Op.GT(Op.ISZERO(0x2), 0x3)) - + Op.SSTORE(key=0x11001100150001, value=Op.GT(Op.ISZERO(0x2), 0x1)) - + Op.SSTORE( - key=0x11001100160000, value=Op.GT(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100160001, value=Op.GT(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100170000, value=Op.GT(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100170001, value=Op.GT(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001100180000, value=Op.GT(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001100180001, value=Op.GT(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001100190000, value=Op.GT(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001100190001, value=Op.GT(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110011001A0000, value=Op.GT(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110011001A0001, value=Op.GT(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110011001B0000, value=Op.GT(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110011001B0001, value=Op.GT(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110011001C0000, value=Op.GT(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110011001C0001, value=Op.GT(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110011001D0000, value=Op.GT(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110011001D0001, value=Op.GT(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200010000, value=Op.SLT(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200010001, value=Op.SLT(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200020000, value=Op.SLT(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200020001, value=Op.SLT(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200030000, value=Op.SLT(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200030001, value=Op.SLT(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200040000, value=Op.SLT(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200040001, value=Op.SLT(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200050000, value=Op.SLT(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200050001, value=Op.SLT(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200060000, value=Op.SLT(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200060001, value=Op.SLT(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200070000, value=Op.SLT(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200070001, value=Op.SLT(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200080000, - value=Op.SLT(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001200080001, - value=Op.SLT(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001200090000, - value=Op.SLT(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001200090001, - value=Op.SLT(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110012000A0000, value=Op.SLT(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110012000A0001, value=Op.SLT(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200100000, value=Op.SLT(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200100001, value=Op.SLT(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200110000, value=Op.SLT(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200110001, value=Op.SLT(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200120000, value=Op.SLT(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200120001, value=Op.SLT(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200130000, value=Op.SLT(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200130001, value=Op.SLT(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200140000, value=Op.SLT(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200140001, value=Op.SLT(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200150000, value=Op.SLT(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11001200150001, value=Op.SLT(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11001200160000, value=Op.SLT(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200160001, value=Op.SLT(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200170000, value=Op.SLT(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200170001, value=Op.SLT(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001200180000, value=Op.SLT(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001200180001, value=Op.SLT(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001200190000, value=Op.SLT(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001200190001, value=Op.SLT(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110012001A0000, value=Op.SLT(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110012001A0001, value=Op.SLT(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110012001B0000, value=Op.SLT(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110012001B0001, value=Op.SLT(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110012001C0000, value=Op.SLT(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110012001C0001, value=Op.SLT(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110012001D0000, value=Op.SLT(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110012001D0001, value=Op.SLT(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300010000, value=Op.SGT(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300010001, value=Op.SGT(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300020000, value=Op.SGT(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300020001, value=Op.SGT(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300030000, value=Op.SGT(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300030001, value=Op.SGT(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300040000, value=Op.SGT(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300040001, value=Op.SGT(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300050000, value=Op.SGT(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300050001, value=Op.SGT(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300060000, value=Op.SGT(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300060001, value=Op.SGT(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300070000, value=Op.SGT(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300070001, value=Op.SGT(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300080000, - value=Op.SGT(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001300080001, - value=Op.SGT(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001300090000, - value=Op.SGT(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001300090001, - value=Op.SGT(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110013000A0000, value=Op.SGT(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110013000A0001, value=Op.SGT(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300100000, value=Op.SGT(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300100001, value=Op.SGT(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300110000, value=Op.SGT(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300110001, value=Op.SGT(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300120000, value=Op.SGT(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300120001, value=Op.SGT(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300130000, value=Op.SGT(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300130001, value=Op.SGT(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300140000, value=Op.SGT(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300140001, value=Op.SGT(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300150000, value=Op.SGT(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11001300150001, value=Op.SGT(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11001300160000, value=Op.SGT(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300160001, value=Op.SGT(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300170000, value=Op.SGT(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300170001, value=Op.SGT(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001300180000, value=Op.SGT(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001300180001, value=Op.SGT(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001300190000, value=Op.SGT(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001300190001, value=Op.SGT(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110013001A0000, value=Op.SGT(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110013001A0001, value=Op.SGT(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110013001B0000, value=Op.SGT(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110013001B0001, value=Op.SGT(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110013001C0000, value=Op.SGT(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110013001C0001, value=Op.SGT(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110013001D0000, value=Op.SGT(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110013001D0001, value=Op.SGT(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400010000, value=Op.EQ(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400010001, value=Op.EQ(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400020000, value=Op.EQ(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400020001, value=Op.EQ(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400030000, value=Op.EQ(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400030001, value=Op.EQ(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400040000, value=Op.EQ(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400040001, value=Op.EQ(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400050000, value=Op.EQ(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400050001, value=Op.EQ(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400060000, value=Op.EQ(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400060001, value=Op.EQ(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400070000, value=Op.EQ(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400070001, value=Op.EQ(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400080000, - value=Op.EQ(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001400080001, - value=Op.EQ(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001400090000, - value=Op.EQ(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001400090001, - value=Op.EQ(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110014000A0000, value=Op.EQ(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110014000A0001, value=Op.EQ(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400100000, value=Op.EQ(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400100001, value=Op.EQ(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400110000, value=Op.EQ(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400110001, value=Op.EQ(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400120000, value=Op.EQ(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400120001, value=Op.EQ(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400130000, value=Op.EQ(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400130001, value=Op.EQ(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400140000, value=Op.EQ(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400140001, value=Op.EQ(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001400150000, value=Op.EQ(Op.ISZERO(0x2), 0x3)) - + Op.SSTORE(key=0x11001400150001, value=Op.EQ(Op.ISZERO(0x2), 0x1)) - + Op.SSTORE( - key=0x11001400160000, value=Op.EQ(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400160001, value=Op.EQ(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400170000, value=Op.EQ(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400170001, value=Op.EQ(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001400180000, value=Op.EQ(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001400180001, value=Op.EQ(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001400190000, value=Op.EQ(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001400190001, value=Op.EQ(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110014001A0000, value=Op.EQ(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110014001A0001, value=Op.EQ(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110014001B0000, value=Op.EQ(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110014001B0001, value=Op.EQ(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110014001C0000, value=Op.EQ(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110014001C0001, value=Op.EQ(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110014001D0000, value=Op.EQ(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110014001D0001, value=Op.EQ(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001500010000, value=Op.ISZERO(Op.ADD(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500010001, value=Op.ISZERO(Op.ADD(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500020000, value=Op.ISZERO(Op.MUL(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500020001, value=Op.ISZERO(Op.MUL(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500030000, value=Op.ISZERO(Op.SUB(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500030001, value=Op.ISZERO(Op.SUB(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500040000, value=Op.ISZERO(Op.DIV(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500040001, value=Op.ISZERO(Op.DIV(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500050000, value=Op.ISZERO(Op.SDIV(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500050001, value=Op.ISZERO(Op.SDIV(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500060000, value=Op.ISZERO(Op.MOD(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500060001, value=Op.ISZERO(Op.MOD(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500070000, value=Op.ISZERO(Op.SMOD(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500070001, value=Op.ISZERO(Op.SMOD(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500080000, - value=Op.ISZERO(Op.ADDMOD(0x2, 0x1, 0x3)), - ) - + Op.SSTORE( - key=0x11001500080001, - value=Op.ISZERO(Op.ADDMOD(0x2, 0x1, 0x3)), - ) - + Op.SSTORE( - key=0x11001500090000, - value=Op.ISZERO(Op.MULMOD(0x2, 0x1, 0x3)), - ) - + Op.SSTORE( - key=0x11001500090001, - value=Op.ISZERO(Op.MULMOD(0x2, 0x1, 0x3)), - ) - + Op.SSTORE( - key=0x110015000A0000, value=Op.ISZERO(Op.EXP(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x110015000A0001, value=Op.ISZERO(Op.EXP(0x2, 0x1)) - ) - + Op.SSTORE(key=0x11001500100000, value=Op.ISZERO(Op.LT(0x2, 0x1))) - + Op.SSTORE(key=0x11001500100001, value=Op.ISZERO(Op.LT(0x2, 0x1))) - + Op.SSTORE(key=0x11001500110000, value=Op.ISZERO(Op.GT(0x2, 0x1))) - + Op.SSTORE(key=0x11001500110001, value=Op.ISZERO(Op.GT(0x2, 0x1))) - + Op.SSTORE( - key=0x11001500120000, value=Op.ISZERO(Op.SLT(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500120001, value=Op.ISZERO(Op.SLT(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500130000, value=Op.ISZERO(Op.SGT(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500130001, value=Op.ISZERO(Op.SGT(0x2, 0x1)) - ) - + Op.SSTORE(key=0x11001500140000, value=Op.ISZERO(Op.EQ(0x2, 0x1))) - + Op.SSTORE(key=0x11001500140001, value=Op.ISZERO(Op.EQ(0x2, 0x1))) - + Op.SSTORE(key=0x11001500150000, value=Op.ISZERO(Op.ISZERO(0x2))) - + Op.SSTORE(key=0x11001500150001, value=Op.ISZERO(Op.ISZERO(0x2))) - + Op.SSTORE( - key=0x11001500160000, value=Op.ISZERO(Op.AND(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500160001, value=Op.ISZERO(Op.AND(0x2, 0x1)) - ) - + Op.SSTORE(key=0x11001500170000, value=Op.ISZERO(Op.OR(0x2, 0x1))) - + Op.SSTORE(key=0x11001500170001, value=Op.ISZERO(Op.OR(0x2, 0x1))) - + Op.SSTORE( - key=0x11001500180000, value=Op.ISZERO(Op.XOR(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001500180001, value=Op.ISZERO(Op.XOR(0x2, 0x1)) - ) - + Op.SSTORE(key=0x11001500190000, value=Op.ISZERO(Op.NOT(0x2))) - + Op.SSTORE(key=0x11001500190001, value=Op.ISZERO(Op.NOT(0x2))) - + Op.SSTORE( - key=0x110015001A0000, value=Op.ISZERO(Op.BYTE(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x110015001A0001, value=Op.ISZERO(Op.BYTE(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x110015001B0000, value=Op.ISZERO(Op.SHL(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x110015001B0001, value=Op.ISZERO(Op.SHL(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x110015001C0000, value=Op.ISZERO(Op.SHR(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x110015001C0001, value=Op.ISZERO(Op.SHR(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x110015001D0000, value=Op.ISZERO(Op.SAR(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x110015001D0001, value=Op.ISZERO(Op.SAR(0x2, 0x1)) - ) - + Op.SSTORE( - key=0x11001600010000, value=Op.AND(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600010001, value=Op.AND(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600020000, value=Op.AND(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600020001, value=Op.AND(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600030000, value=Op.AND(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600030001, value=Op.AND(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600040000, value=Op.AND(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600040001, value=Op.AND(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600050000, value=Op.AND(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600050001, value=Op.AND(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600060000, value=Op.AND(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600060001, value=Op.AND(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600070000, value=Op.AND(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600070001, value=Op.AND(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600080000, - value=Op.AND(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001600080001, - value=Op.AND(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001600090000, - value=Op.AND(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001600090001, - value=Op.AND(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110016000A0000, value=Op.AND(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110016000A0001, value=Op.AND(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600100000, value=Op.AND(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600100001, value=Op.AND(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600110000, value=Op.AND(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600110001, value=Op.AND(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600120000, value=Op.AND(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600120001, value=Op.AND(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600130000, value=Op.AND(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600130001, value=Op.AND(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600140000, value=Op.AND(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600140001, value=Op.AND(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600150000, value=Op.AND(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11001600150001, value=Op.AND(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11001600160000, value=Op.AND(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600160001, value=Op.AND(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600170000, value=Op.AND(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600170001, value=Op.AND(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001600180000, value=Op.AND(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001600180001, value=Op.AND(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001600190000, value=Op.AND(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001600190001, value=Op.AND(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110016001A0000, value=Op.AND(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110016001A0001, value=Op.AND(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110016001B0000, value=Op.AND(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110016001B0001, value=Op.AND(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110016001C0000, value=Op.AND(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110016001C0001, value=Op.AND(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110016001D0000, value=Op.AND(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110016001D0001, value=Op.AND(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700010000, value=Op.OR(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700010001, value=Op.OR(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700020000, value=Op.OR(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700020001, value=Op.OR(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700030000, value=Op.OR(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700030001, value=Op.OR(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700040000, value=Op.OR(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700040001, value=Op.OR(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700050000, value=Op.OR(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700050001, value=Op.OR(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700060000, value=Op.OR(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700060001, value=Op.OR(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700070000, value=Op.OR(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700070001, value=Op.OR(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700080000, - value=Op.OR(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001700080001, - value=Op.OR(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001700090000, - value=Op.OR(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001700090001, - value=Op.OR(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110017000A0000, value=Op.OR(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110017000A0001, value=Op.OR(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700100000, value=Op.OR(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700100001, value=Op.OR(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700110000, value=Op.OR(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700110001, value=Op.OR(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700120000, value=Op.OR(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700120001, value=Op.OR(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700130000, value=Op.OR(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700130001, value=Op.OR(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700140000, value=Op.OR(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700140001, value=Op.OR(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001700150000, value=Op.OR(Op.ISZERO(0x2), 0x3)) - + Op.SSTORE(key=0x11001700150001, value=Op.OR(Op.ISZERO(0x2), 0x1)) - + Op.SSTORE( - key=0x11001700160000, value=Op.OR(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700160001, value=Op.OR(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700170000, value=Op.OR(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700170001, value=Op.OR(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001700180000, value=Op.OR(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001700180001, value=Op.OR(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001700190000, value=Op.OR(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001700190001, value=Op.OR(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110017001A0000, value=Op.OR(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110017001A0001, value=Op.OR(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110017001B0000, value=Op.OR(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110017001B0001, value=Op.OR(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110017001C0000, value=Op.OR(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110017001C0001, value=Op.OR(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110017001D0000, value=Op.OR(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110017001D0001, value=Op.OR(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800010000, value=Op.XOR(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800010001, value=Op.XOR(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800020000, value=Op.XOR(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800020001, value=Op.XOR(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800030000, value=Op.XOR(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800030001, value=Op.XOR(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800040000, value=Op.XOR(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800040001, value=Op.XOR(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800050000, value=Op.XOR(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800050001, value=Op.XOR(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800060000, value=Op.XOR(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800060001, value=Op.XOR(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800070000, value=Op.XOR(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800070001, value=Op.XOR(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800080000, - value=Op.XOR(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001800080001, - value=Op.XOR(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001800090000, - value=Op.XOR(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001800090001, - value=Op.XOR(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x110018000A0000, value=Op.XOR(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110018000A0001, value=Op.XOR(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800100000, value=Op.XOR(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800100001, value=Op.XOR(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800110000, value=Op.XOR(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800110001, value=Op.XOR(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800120000, value=Op.XOR(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800120001, value=Op.XOR(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800130000, value=Op.XOR(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800130001, value=Op.XOR(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800140000, value=Op.XOR(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800140001, value=Op.XOR(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800150000, value=Op.XOR(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11001800150001, value=Op.XOR(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11001800160000, value=Op.XOR(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800160001, value=Op.XOR(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800170000, value=Op.XOR(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800170001, value=Op.XOR(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001800180000, value=Op.XOR(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001800180001, value=Op.XOR(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001800190000, value=Op.XOR(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001800190001, value=Op.XOR(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x110018001A0000, value=Op.XOR(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110018001A0001, value=Op.XOR(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110018001B0000, value=Op.XOR(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110018001B0001, value=Op.XOR(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110018001C0000, value=Op.XOR(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110018001C0001, value=Op.XOR(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x110018001D0000, value=Op.XOR(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x110018001D0001, value=Op.XOR(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001900010000, value=Op.NOT(Op.ADD(0x2, 0x1))) - + Op.SSTORE(key=0x11001900010001, value=Op.NOT(Op.ADD(0x2, 0x1))) - + Op.SSTORE(key=0x11001900020000, value=Op.NOT(Op.MUL(0x2, 0x1))) - + Op.SSTORE(key=0x11001900020001, value=Op.NOT(Op.MUL(0x2, 0x1))) - + Op.SSTORE(key=0x11001900030000, value=Op.NOT(Op.SUB(0x2, 0x1))) - + Op.SSTORE(key=0x11001900030001, value=Op.NOT(Op.SUB(0x2, 0x1))) - + Op.SSTORE(key=0x11001900040000, value=Op.NOT(Op.DIV(0x2, 0x1))) - + Op.SSTORE(key=0x11001900040001, value=Op.NOT(Op.DIV(0x2, 0x1))) - + Op.SSTORE(key=0x11001900050000, value=Op.NOT(Op.SDIV(0x2, 0x1))) - + Op.SSTORE(key=0x11001900050001, value=Op.NOT(Op.SDIV(0x2, 0x1))) - + Op.SSTORE(key=0x11001900060000, value=Op.NOT(Op.MOD(0x2, 0x1))) - + Op.SSTORE(key=0x11001900060001, value=Op.NOT(Op.MOD(0x2, 0x1))) - + Op.SSTORE(key=0x11001900070000, value=Op.NOT(Op.SMOD(0x2, 0x1))) - + Op.SSTORE(key=0x11001900070001, value=Op.NOT(Op.SMOD(0x2, 0x1))) - + Op.SSTORE( - key=0x11001900080000, - value=Op.NOT(Op.ADDMOD(0x2, 0x1, 0x3)), - ) - + Op.SSTORE( - key=0x11001900080001, - value=Op.NOT(Op.ADDMOD(0x2, 0x1, 0x3)), - ) - + Op.SSTORE( - key=0x11001900090000, - value=Op.NOT(Op.MULMOD(0x2, 0x1, 0x3)), - ) - + Op.SSTORE( - key=0x11001900090001, - value=Op.NOT(Op.MULMOD(0x2, 0x1, 0x3)), - ) - + Op.SSTORE(key=0x110019000A0000, value=Op.NOT(Op.EXP(0x2, 0x1))) - + Op.SSTORE(key=0x110019000A0001, value=Op.NOT(Op.EXP(0x2, 0x1))) - + Op.SSTORE(key=0x11001900100000, value=Op.NOT(Op.LT(0x2, 0x1))) - + Op.SSTORE(key=0x11001900100001, value=Op.NOT(Op.LT(0x2, 0x1))) - + Op.SSTORE(key=0x11001900110000, value=Op.NOT(Op.GT(0x2, 0x1))) - + Op.SSTORE(key=0x11001900110001, value=Op.NOT(Op.GT(0x2, 0x1))) - + Op.SSTORE(key=0x11001900120000, value=Op.NOT(Op.SLT(0x2, 0x1))) - + Op.SSTORE(key=0x11001900120001, value=Op.NOT(Op.SLT(0x2, 0x1))) - + Op.SSTORE(key=0x11001900130000, value=Op.NOT(Op.SGT(0x2, 0x1))) - + Op.SSTORE(key=0x11001900130001, value=Op.NOT(Op.SGT(0x2, 0x1))) - + Op.SSTORE(key=0x11001900140000, value=Op.NOT(Op.EQ(0x2, 0x1))) - + Op.SSTORE(key=0x11001900140001, value=Op.NOT(Op.EQ(0x2, 0x1))) - + Op.SSTORE(key=0x11001900150000, value=Op.NOT(Op.ISZERO(0x2))) - + Op.SSTORE(key=0x11001900150001, value=Op.NOT(Op.ISZERO(0x2))) - + Op.SSTORE(key=0x11001900160000, value=Op.NOT(Op.AND(0x2, 0x1))) - + Op.SSTORE(key=0x11001900160001, value=Op.NOT(Op.AND(0x2, 0x1))) - + Op.SSTORE(key=0x11001900170000, value=Op.NOT(Op.OR(0x2, 0x1))) - + Op.SSTORE(key=0x11001900170001, value=Op.NOT(Op.OR(0x2, 0x1))) - + Op.SSTORE(key=0x11001900180000, value=Op.NOT(Op.XOR(0x2, 0x1))) - + Op.SSTORE(key=0x11001900180001, value=Op.NOT(Op.XOR(0x2, 0x1))) - + Op.SSTORE(key=0x11001900190000, value=Op.NOT(Op.NOT(0x2))) - + Op.SSTORE(key=0x11001900190001, value=Op.NOT(Op.NOT(0x2))) - + Op.SSTORE(key=0x110019001A0000, value=Op.NOT(Op.BYTE(0x2, 0x1))) - + Op.SSTORE(key=0x110019001A0001, value=Op.NOT(Op.BYTE(0x2, 0x1))) - + Op.SSTORE(key=0x110019001B0000, value=Op.NOT(Op.SHL(0x2, 0x1))) - + Op.SSTORE(key=0x110019001B0001, value=Op.NOT(Op.SHL(0x2, 0x1))) - + Op.SSTORE(key=0x110019001C0000, value=Op.NOT(Op.SHR(0x2, 0x1))) - + Op.SSTORE(key=0x110019001C0001, value=Op.NOT(Op.SHR(0x2, 0x1))) - + Op.SSTORE(key=0x110019001D0000, value=Op.NOT(Op.SAR(0x2, 0x1))) - + Op.SSTORE(key=0x110019001D0001, value=Op.NOT(Op.SAR(0x2, 0x1))) - + Op.SSTORE( - key=0x11001A00010000, value=Op.BYTE(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00010001, value=Op.BYTE(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00020000, value=Op.BYTE(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00020001, value=Op.BYTE(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00030000, value=Op.BYTE(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00030001, value=Op.BYTE(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00040000, value=Op.BYTE(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00040001, value=Op.BYTE(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00050000, - value=Op.BYTE(Op.SDIV(0x2, 0x1), 0x3), - ) - + Op.SSTORE( - key=0x11001A00050001, - value=Op.BYTE(Op.SDIV(0x2, 0x1), 0x1), - ) - + Op.SSTORE( - key=0x11001A00060000, value=Op.BYTE(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00060001, value=Op.BYTE(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00070000, - value=Op.BYTE(Op.SMOD(0x2, 0x1), 0x3), - ) - + Op.SSTORE( - key=0x11001A00070001, - value=Op.BYTE(Op.SMOD(0x2, 0x1), 0x1), - ) - + Op.SSTORE( - key=0x11001A00080000, - value=Op.BYTE(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001A00080001, - value=Op.BYTE(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001A00090000, - value=Op.BYTE(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001A00090001, - value=Op.BYTE(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001A000A0000, value=Op.BYTE(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A000A0001, value=Op.BYTE(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00100000, value=Op.BYTE(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00100001, value=Op.BYTE(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00110000, value=Op.BYTE(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00110001, value=Op.BYTE(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00120000, value=Op.BYTE(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00120001, value=Op.BYTE(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00130000, value=Op.BYTE(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00130001, value=Op.BYTE(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00140000, value=Op.BYTE(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00140001, value=Op.BYTE(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00150000, value=Op.BYTE(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11001A00150001, value=Op.BYTE(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11001A00160000, value=Op.BYTE(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00160001, value=Op.BYTE(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00170000, value=Op.BYTE(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00170001, value=Op.BYTE(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A00180000, value=Op.BYTE(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A00180001, value=Op.BYTE(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001A00190000, value=Op.BYTE(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001A00190001, value=Op.BYTE(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x11001A001A0000, - value=Op.BYTE(Op.BYTE(0x2, 0x1), 0x3), - ) - + Op.SSTORE( - key=0x11001A001A0001, - value=Op.BYTE(Op.BYTE(0x2, 0x1), 0x1), - ) - + Op.SSTORE( - key=0x11001A001B0000, value=Op.BYTE(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A001B0001, value=Op.BYTE(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A001C0000, value=Op.BYTE(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A001C0001, value=Op.BYTE(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001A001D0000, value=Op.BYTE(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001A001D0001, value=Op.BYTE(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00010000, value=Op.SHL(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00010001, value=Op.SHL(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00020000, value=Op.SHL(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00020001, value=Op.SHL(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00030000, value=Op.SHL(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00030001, value=Op.SHL(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00040000, value=Op.SHL(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00040001, value=Op.SHL(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00050000, value=Op.SHL(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00050001, value=Op.SHL(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00060000, value=Op.SHL(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00060001, value=Op.SHL(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00070000, value=Op.SHL(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00070001, value=Op.SHL(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00080000, - value=Op.SHL(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001B00080001, - value=Op.SHL(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001B00090000, - value=Op.SHL(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001B00090001, - value=Op.SHL(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001B000A0000, value=Op.SHL(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B000A0001, value=Op.SHL(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00100000, value=Op.SHL(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00100001, value=Op.SHL(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00110000, value=Op.SHL(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00110001, value=Op.SHL(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00120000, value=Op.SHL(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00120001, value=Op.SHL(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00130000, value=Op.SHL(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00130001, value=Op.SHL(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00140000, value=Op.SHL(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00140001, value=Op.SHL(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00150000, value=Op.SHL(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11001B00150001, value=Op.SHL(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11001B00160000, value=Op.SHL(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00160001, value=Op.SHL(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00170000, value=Op.SHL(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00170001, value=Op.SHL(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B00180000, value=Op.SHL(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B00180001, value=Op.SHL(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001B00190000, value=Op.SHL(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001B00190001, value=Op.SHL(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x11001B001A0000, value=Op.SHL(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B001A0001, value=Op.SHL(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B001B0000, value=Op.SHL(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B001B0001, value=Op.SHL(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B001C0000, value=Op.SHL(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B001C0001, value=Op.SHL(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001B001D0000, value=Op.SHL(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001B001D0001, value=Op.SHL(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00010000, value=Op.SHR(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00010001, value=Op.SHR(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00020000, value=Op.SHR(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00020001, value=Op.SHR(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00030000, value=Op.SHR(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00030001, value=Op.SHR(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00040000, value=Op.SHR(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00040001, value=Op.SHR(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00050000, value=Op.SHR(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00050001, value=Op.SHR(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00060000, value=Op.SHR(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00060001, value=Op.SHR(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00070000, value=Op.SHR(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00070001, value=Op.SHR(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00080000, - value=Op.SHR(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001C00080001, - value=Op.SHR(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001C00090000, - value=Op.SHR(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001C00090001, - value=Op.SHR(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001C000A0000, value=Op.SHR(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C000A0001, value=Op.SHR(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00100000, value=Op.SHR(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00100001, value=Op.SHR(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00110000, value=Op.SHR(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00110001, value=Op.SHR(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00120000, value=Op.SHR(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00120001, value=Op.SHR(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00130000, value=Op.SHR(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00130001, value=Op.SHR(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00140000, value=Op.SHR(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00140001, value=Op.SHR(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00150000, value=Op.SHR(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11001C00150001, value=Op.SHR(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11001C00160000, value=Op.SHR(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00160001, value=Op.SHR(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00170000, value=Op.SHR(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00170001, value=Op.SHR(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C00180000, value=Op.SHR(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C00180001, value=Op.SHR(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001C00190000, value=Op.SHR(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001C00190001, value=Op.SHR(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x11001C001A0000, value=Op.SHR(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C001A0001, value=Op.SHR(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C001B0000, value=Op.SHR(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C001B0001, value=Op.SHR(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C001C0000, value=Op.SHR(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C001C0001, value=Op.SHR(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001C001D0000, value=Op.SHR(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001C001D0001, value=Op.SHR(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00010000, value=Op.SAR(Op.ADD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00010001, value=Op.SAR(Op.ADD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00020000, value=Op.SAR(Op.MUL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00020001, value=Op.SAR(Op.MUL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00030000, value=Op.SAR(Op.SUB(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00030001, value=Op.SAR(Op.SUB(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00040000, value=Op.SAR(Op.DIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00040001, value=Op.SAR(Op.DIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00050000, value=Op.SAR(Op.SDIV(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00050001, value=Op.SAR(Op.SDIV(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00060000, value=Op.SAR(Op.MOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00060001, value=Op.SAR(Op.MOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00070000, value=Op.SAR(Op.SMOD(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00070001, value=Op.SAR(Op.SMOD(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00080000, - value=Op.SAR(Op.ADDMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001D00080001, - value=Op.SAR(Op.ADDMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001D00090000, - value=Op.SAR(Op.MULMOD(0x2, 0x1, 0x3), 0x3), - ) - + Op.SSTORE( - key=0x11001D00090001, - value=Op.SAR(Op.MULMOD(0x2, 0x1, 0x3), 0x1), - ) - + Op.SSTORE( - key=0x11001D000A0000, value=Op.SAR(Op.EXP(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D000A0001, value=Op.SAR(Op.EXP(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00100000, value=Op.SAR(Op.LT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00100001, value=Op.SAR(Op.LT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00110000, value=Op.SAR(Op.GT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00110001, value=Op.SAR(Op.GT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00120000, value=Op.SAR(Op.SLT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00120001, value=Op.SAR(Op.SLT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00130000, value=Op.SAR(Op.SGT(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00130001, value=Op.SAR(Op.SGT(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00140000, value=Op.SAR(Op.EQ(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00140001, value=Op.SAR(Op.EQ(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00150000, value=Op.SAR(Op.ISZERO(0x2), 0x3) - ) - + Op.SSTORE( - key=0x11001D00150001, value=Op.SAR(Op.ISZERO(0x2), 0x1) - ) - + Op.SSTORE( - key=0x11001D00160000, value=Op.SAR(Op.AND(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00160001, value=Op.SAR(Op.AND(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00170000, value=Op.SAR(Op.OR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00170001, value=Op.SAR(Op.OR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D00180000, value=Op.SAR(Op.XOR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D00180001, value=Op.SAR(Op.XOR(0x2, 0x1), 0x1) - ) - + Op.SSTORE(key=0x11001D00190000, value=Op.SAR(Op.NOT(0x2), 0x3)) - + Op.SSTORE(key=0x11001D00190001, value=Op.SAR(Op.NOT(0x2), 0x1)) - + Op.SSTORE( - key=0x11001D001A0000, value=Op.SAR(Op.BYTE(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D001A0001, value=Op.SAR(Op.BYTE(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D001B0000, value=Op.SAR(Op.SHL(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D001B0001, value=Op.SAR(Op.SHL(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D001C0000, value=Op.SAR(Op.SHR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D001C0001, value=Op.SAR(Op.SHR(0x2, 0x1), 0x1) - ) - + Op.SSTORE( - key=0x11001D001D0000, value=Op.SAR(Op.SAR(0x2, 0x1), 0x3) - ) - + Op.SSTORE( - key=0x11001D001D0001, value=Op.SAR(Op.SAR(0x2, 0x1), 0x1) - ) - + Op.STOP - ), - address=Address("0xe262558822902632416f26edbf70ccac609cd2ce"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("00"), - gas_limit=16777216, - value=1, - ) - - post = { - contract: Account( - storage={ - 0x11000100010000: 6, - 0x11000100010001: 4, - 0x11000100020000: 5, - 0x11000100020001: 3, - 0x11000100030000: 4, - 0x11000100030001: 2, - 0x11000100040000: 5, - 0x11000100040001: 3, - 0x11000100050000: 5, - 0x11000100050001: 3, - 0x11000100060000: 3, - 0x11000100060001: 1, - 0x11000100070000: 3, - 0x11000100070001: 1, - 0x11000100080000: 3, - 0x11000100080001: 1, - 0x11000100090000: 5, - 0x11000100090001: 3, - 0x110001000A0000: 5, - 0x110001000A0001: 3, - 0x11000100100000: 3, - 0x11000100100001: 1, - 0x11000100110000: 4, - 0x11000100110001: 2, - 0x11000100120000: 3, - 0x11000100120001: 1, - 0x11000100130000: 4, - 0x11000100130001: 2, - 0x11000100140000: 3, - 0x11000100140001: 1, - 0x11000100150000: 3, - 0x11000100150001: 1, - 0x11000100160000: 3, - 0x11000100160001: 1, - 0x11000100170000: 6, - 0x11000100170001: 4, - 0x11000100180000: 6, - 0x11000100180001: 4, - 0x11000100190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0x110001001A0000: 3, - 0x110001001A0001: 1, - 0x110001001B0000: 7, - 0x110001001B0001: 5, - 0x110001001C0000: 3, - 0x110001001C0001: 1, - 0x110001001D0000: 3, - 0x110001001D0001: 1, - 0x11000200010000: 9, - 0x11000200010001: 3, - 0x11000200020000: 6, - 0x11000200020001: 2, - 0x11000200030000: 3, - 0x11000200030001: 1, - 0x11000200040000: 6, - 0x11000200040001: 2, - 0x11000200050000: 6, - 0x11000200050001: 2, - 0x11000200090000: 6, - 0x11000200090001: 2, - 0x110002000A0000: 6, - 0x110002000A0001: 2, - 0x11000200110000: 3, - 0x11000200110001: 1, - 0x11000200130000: 3, - 0x11000200130001: 1, - 0x11000200170000: 9, - 0x11000200170001: 3, - 0x11000200180000: 9, - 0x11000200180001: 3, - 0x11000200190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7, # noqa: E501 - 0x11000200190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x110002001B0000: 12, - 0x110002001B0001: 4, - 0x11000300010001: 2, - 0x11000300020000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300020001: 1, - 0x11000300030000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0x11000300040000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300040001: 1, - 0x11000300050000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300050001: 1, - 0x11000300060000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11000300060001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300070000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11000300070001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300080000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11000300080001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300090000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300090001: 1, - 0x110003000A0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x110003000A0001: 1, - 0x11000300100000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11000300100001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300110000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0x11000300120000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11000300120001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300130000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0x11000300140000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11000300140001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300150000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11000300150001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300160000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11000300160001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000300170001: 2, - 0x11000300180001: 2, - 0x11000300190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA, # noqa: E501 - 0x11000300190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 - 0x110003001A0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x110003001A0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x110003001B0000: 1, - 0x110003001B0001: 3, - 0x110003001C0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x110003001C0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x110003001D0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x110003001D0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000400010000: 1, - 0x11000400010001: 3, - 0x11000400020001: 2, - 0x11000400030001: 1, - 0x11000400040001: 2, - 0x11000400050001: 2, - 0x11000400090001: 2, - 0x110004000A0001: 2, - 0x11000400110001: 1, - 0x11000400130001: 1, - 0x11000400170000: 1, - 0x11000400170001: 3, - 0x11000400180000: 1, - 0x11000400180001: 3, - 0x11000400190000: 0x5555555555555555555555555555555555555555555555555555555555555554, # noqa: E501 - 0x11000400190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x110004001B0000: 1, - 0x110004001B0001: 4, - 0x11000500010000: 1, - 0x11000500010001: 3, - 0x11000500020001: 2, - 0x11000500030001: 1, - 0x11000500040001: 2, - 0x11000500050001: 2, - 0x11000500090001: 2, - 0x110005000A0001: 2, - 0x11000500110001: 1, - 0x11000500130001: 1, - 0x11000500170000: 1, - 0x11000500170001: 3, - 0x11000500180000: 1, - 0x11000500180001: 3, - 0x11000500190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11000500190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x110005001B0000: 1, - 0x110005001B0001: 4, - 0x11000600020000: 2, - 0x11000600030000: 1, - 0x11000600040000: 2, - 0x11000600050000: 2, - 0x11000600090000: 2, - 0x110006000A0000: 2, - 0x11000600110000: 1, - 0x11000600130000: 1, - 0x11000600190000: 1, - 0x110006001B0000: 1, - 0x11000700020000: 2, - 0x11000700030000: 1, - 0x11000700040000: 2, - 0x11000700050000: 2, - 0x11000700090000: 2, - 0x110007000A0000: 2, - 0x11000700110000: 1, - 0x11000700130000: 1, - 0x110007001B0000: 1, - 0x11000800020000: 1, - 0x11000800020001: 1, - 0x11000800040000: 1, - 0x11000800040001: 1, - 0x11000800050000: 1, - 0x11000800050001: 1, - 0x11000800060000: 1, - 0x11000800060001: 1, - 0x11000800070000: 1, - 0x11000800070001: 1, - 0x11000800080000: 1, - 0x11000800080001: 1, - 0x11000800090000: 1, - 0x11000800090001: 1, - 0x110008000A0000: 1, - 0x110008000A0001: 1, - 0x11000800100000: 1, - 0x11000800100001: 1, - 0x11000800120000: 1, - 0x11000800120001: 1, - 0x11000800140000: 1, - 0x11000800140001: 1, - 0x11000800150000: 1, - 0x11000800150001: 1, - 0x11000800160000: 1, - 0x11000800160001: 1, - 0x110008001A0000: 1, - 0x110008001A0001: 1, - 0x110008001B0000: 1, - 0x110008001B0001: 1, - 0x110008001C0000: 1, - 0x110008001C0001: 1, - 0x110008001D0000: 1, - 0x110008001D0001: 1, - 0x11000900010000: 1, - 0x11000900010001: 1, - 0x11000900030000: 1, - 0x11000900030001: 1, - 0x11000900110000: 1, - 0x11000900110001: 1, - 0x11000900130000: 1, - 0x11000900130001: 1, - 0x11000900170000: 1, - 0x11000900170001: 1, - 0x11000900180000: 1, - 0x11000900180001: 1, - 0x11000900190000: 1, - 0x11000900190001: 1, - 0x11000A00010000: 27, - 0x11000A00010001: 3, - 0x11000A00020000: 8, - 0x11000A00020001: 2, - 0x11000A00030000: 1, - 0x11000A00030001: 1, - 0x11000A00040000: 8, - 0x11000A00040001: 2, - 0x11000A00050000: 8, - 0x11000A00050001: 2, - 0x11000A00090000: 8, - 0x11000A00090001: 2, - 0x11000A000A0000: 8, - 0x11000A000A0001: 2, - 0x11000A00110000: 1, - 0x11000A00110001: 1, - 0x11000A00130000: 1, - 0x11000A00130001: 1, - 0x11000A00170000: 27, - 0x11000A00170001: 3, - 0x11000A00180000: 27, - 0x11000A00180001: 3, - 0x11000A00190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5, # noqa: E501 - 0x11000A00190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11000A001B0000: 64, - 0x11000A001B0001: 4, - 0x11001000020000: 1, - 0x11001000030000: 1, - 0x11001000040000: 1, - 0x11001000050000: 1, - 0x11001000060000: 1, - 0x11001000060001: 1, - 0x11001000070000: 1, - 0x11001000070001: 1, - 0x11001000080000: 1, - 0x11001000080001: 1, - 0x11001000090000: 1, - 0x110010000A0000: 1, - 0x11001000100000: 1, - 0x11001000100001: 1, - 0x11001000110000: 1, - 0x11001000120000: 1, - 0x11001000120001: 1, - 0x11001000130000: 1, - 0x11001000140000: 1, - 0x11001000140001: 1, - 0x11001000150000: 1, - 0x11001000150001: 1, - 0x11001000160000: 1, - 0x11001000160001: 1, - 0x110010001A0000: 1, - 0x110010001A0001: 1, - 0x110010001C0000: 1, - 0x110010001C0001: 1, - 0x110010001D0000: 1, - 0x110010001D0001: 1, - 0x11001100010001: 1, - 0x11001100020001: 1, - 0x11001100040001: 1, - 0x11001100050001: 1, - 0x11001100090001: 1, - 0x110011000A0001: 1, - 0x11001100170001: 1, - 0x11001100180001: 1, - 0x11001100190000: 1, - 0x11001100190001: 1, - 0x110011001B0000: 1, - 0x110011001B0001: 1, - 0x11001200020000: 1, - 0x11001200030000: 1, - 0x11001200040000: 1, - 0x11001200050000: 1, - 0x11001200060000: 1, - 0x11001200060001: 1, - 0x11001200070000: 1, - 0x11001200070001: 1, - 0x11001200080000: 1, - 0x11001200080001: 1, - 0x11001200090000: 1, - 0x110012000A0000: 1, - 0x11001200100000: 1, - 0x11001200100001: 1, - 0x11001200110000: 1, - 0x11001200120000: 1, - 0x11001200120001: 1, - 0x11001200130000: 1, - 0x11001200140000: 1, - 0x11001200140001: 1, - 0x11001200150000: 1, - 0x11001200150001: 1, - 0x11001200160000: 1, - 0x11001200160001: 1, - 0x11001200190000: 1, - 0x11001200190001: 1, - 0x110012001A0000: 1, - 0x110012001A0001: 1, - 0x110012001C0000: 1, - 0x110012001C0001: 1, - 0x110012001D0000: 1, - 0x110012001D0001: 1, - 0x11001300010001: 1, - 0x11001300020001: 1, - 0x11001300040001: 1, - 0x11001300050001: 1, - 0x11001300090001: 1, - 0x110013000A0001: 1, - 0x11001300170001: 1, - 0x11001300180001: 1, - 0x110013001B0000: 1, - 0x110013001B0001: 1, - 0x11001400010000: 1, - 0x11001400030001: 1, - 0x11001400110001: 1, - 0x11001400130001: 1, - 0x11001400170000: 1, - 0x11001400180000: 1, - 0x11001500060000: 1, - 0x11001500060001: 1, - 0x11001500070000: 1, - 0x11001500070001: 1, - 0x11001500080000: 1, - 0x11001500080001: 1, - 0x11001500100000: 1, - 0x11001500100001: 1, - 0x11001500120000: 1, - 0x11001500120001: 1, - 0x11001500140000: 1, - 0x11001500140001: 1, - 0x11001500150000: 1, - 0x11001500150001: 1, - 0x11001500160000: 1, - 0x11001500160001: 1, - 0x110015001A0000: 1, - 0x110015001A0001: 1, - 0x110015001C0000: 1, - 0x110015001C0001: 1, - 0x110015001D0000: 1, - 0x110015001D0001: 1, - 0x11001600010000: 3, - 0x11001600010001: 1, - 0x11001600020000: 2, - 0x11001600030000: 1, - 0x11001600030001: 1, - 0x11001600040000: 2, - 0x11001600050000: 2, - 0x11001600090000: 2, - 0x110016000A0000: 2, - 0x11001600110000: 1, - 0x11001600110001: 1, - 0x11001600130000: 1, - 0x11001600130001: 1, - 0x11001600170000: 3, - 0x11001600170001: 1, - 0x11001600180000: 3, - 0x11001600180001: 1, - 0x11001600190000: 1, - 0x11001600190001: 1, - 0x11001700010000: 3, - 0x11001700010001: 3, - 0x11001700020000: 3, - 0x11001700020001: 3, - 0x11001700030000: 3, - 0x11001700030001: 1, - 0x11001700040000: 3, - 0x11001700040001: 3, - 0x11001700050000: 3, - 0x11001700050001: 3, - 0x11001700060000: 3, - 0x11001700060001: 1, - 0x11001700070000: 3, - 0x11001700070001: 1, - 0x11001700080000: 3, - 0x11001700080001: 1, - 0x11001700090000: 3, - 0x11001700090001: 3, - 0x110017000A0000: 3, - 0x110017000A0001: 3, - 0x11001700100000: 3, - 0x11001700100001: 1, - 0x11001700110000: 3, - 0x11001700110001: 1, - 0x11001700120000: 3, - 0x11001700120001: 1, - 0x11001700130000: 3, - 0x11001700130001: 1, - 0x11001700140000: 3, - 0x11001700140001: 1, - 0x11001700150000: 3, - 0x11001700150001: 1, - 0x11001700160000: 3, - 0x11001700160001: 1, - 0x11001700170000: 3, - 0x11001700170001: 3, - 0x11001700180000: 3, - 0x11001700180001: 3, - 0x11001700190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001700190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x110017001A0000: 3, - 0x110017001A0001: 1, - 0x110017001B0000: 7, - 0x110017001B0001: 5, - 0x110017001C0000: 3, - 0x110017001C0001: 1, - 0x110017001D0000: 3, - 0x110017001D0001: 1, - 0x11001800010001: 2, - 0x11001800020000: 1, - 0x11001800020001: 3, - 0x11001800030000: 2, - 0x11001800040000: 1, - 0x11001800040001: 3, - 0x11001800050000: 1, - 0x11001800050001: 3, - 0x11001800060000: 3, - 0x11001800060001: 1, - 0x11001800070000: 3, - 0x11001800070001: 1, - 0x11001800080000: 3, - 0x11001800080001: 1, - 0x11001800090000: 1, - 0x11001800090001: 3, - 0x110018000A0000: 1, - 0x110018000A0001: 3, - 0x11001800100000: 3, - 0x11001800100001: 1, - 0x11001800110000: 2, - 0x11001800120000: 3, - 0x11001800120001: 1, - 0x11001800130000: 2, - 0x11001800140000: 3, - 0x11001800140001: 1, - 0x11001800150000: 3, - 0x11001800150001: 1, - 0x11001800160000: 3, - 0x11001800160001: 1, - 0x11001800170001: 2, - 0x11001800180001: 2, - 0x11001800190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0x11001800190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 - 0x110018001A0000: 3, - 0x110018001A0001: 1, - 0x110018001B0000: 7, - 0x110018001B0001: 5, - 0x110018001C0000: 3, - 0x110018001C0001: 1, - 0x110018001D0000: 3, - 0x110018001D0001: 1, - 0x11001900010000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 - 0x11001900010001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 - 0x11001900020000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11001900020001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11001900030000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0x11001900030001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0x11001900040000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11001900040001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11001900050000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11001900050001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11001900060000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900060001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900070000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900070001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900080000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900080001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900090000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11001900090001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x110019000A0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x110019000A0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 - 0x11001900100000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900100001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900110000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0x11001900110001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0x11001900120000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900120001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900130000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0x11001900130001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0x11001900140000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900140001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900150000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900150001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900160000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900160001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001900170000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 - 0x11001900170001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 - 0x11001900180000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 - 0x11001900180001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 - 0x11001900190000: 2, - 0x11001900190001: 2, - 0x110019001A0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x110019001A0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x110019001B0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB, # noqa: E501 - 0x110019001B0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB, # noqa: E501 - 0x110019001C0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x110019001C0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x110019001D0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x110019001D0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x11001B00010000: 24, - 0x11001B00010001: 8, - 0x11001B00020000: 12, - 0x11001B00020001: 4, - 0x11001B00030000: 6, - 0x11001B00030001: 2, - 0x11001B00040000: 12, - 0x11001B00040001: 4, - 0x11001B00050000: 12, - 0x11001B00050001: 4, - 0x11001B00060000: 3, - 0x11001B00060001: 1, - 0x11001B00070000: 3, - 0x11001B00070001: 1, - 0x11001B00080000: 3, - 0x11001B00080001: 1, - 0x11001B00090000: 12, - 0x11001B00090001: 4, - 0x11001B000A0000: 12, - 0x11001B000A0001: 4, - 0x11001B00100000: 3, - 0x11001B00100001: 1, - 0x11001B00110000: 6, - 0x11001B00110001: 2, - 0x11001B00120000: 3, - 0x11001B00120001: 1, - 0x11001B00130000: 6, - 0x11001B00130001: 2, - 0x11001B00140000: 3, - 0x11001B00140001: 1, - 0x11001B00150000: 3, - 0x11001B00150001: 1, - 0x11001B00160000: 3, - 0x11001B00160001: 1, - 0x11001B00170000: 24, - 0x11001B00170001: 8, - 0x11001B00180000: 24, - 0x11001B00180001: 8, - 0x11001B001A0000: 3, - 0x11001B001A0001: 1, - 0x11001B001B0000: 48, - 0x11001B001B0001: 16, - 0x11001B001C0000: 3, - 0x11001B001C0001: 1, - 0x11001B001D0000: 3, - 0x11001B001D0001: 1, - 0x11001C00030000: 1, - 0x11001C00060000: 3, - 0x11001C00060001: 1, - 0x11001C00070000: 3, - 0x11001C00070001: 1, - 0x11001C00080000: 3, - 0x11001C00080001: 1, - 0x11001C00100000: 3, - 0x11001C00100001: 1, - 0x11001C00110000: 1, - 0x11001C00120000: 3, - 0x11001C00120001: 1, - 0x11001C00130000: 1, - 0x11001C00140000: 3, - 0x11001C00140001: 1, - 0x11001C00150000: 3, - 0x11001C00150001: 1, - 0x11001C00160000: 3, - 0x11001C00160001: 1, - 0x11001C001A0000: 3, - 0x11001C001A0001: 1, - 0x11001C001C0000: 3, - 0x11001C001C0001: 1, - 0x11001C001D0000: 3, - 0x11001C001D0001: 1, - 0x11001D00030000: 1, - 0x11001D00060000: 3, - 0x11001D00060001: 1, - 0x11001D00070000: 3, - 0x11001D00070001: 1, - 0x11001D00080000: 3, - 0x11001D00080001: 1, - 0x11001D00100000: 3, - 0x11001D00100001: 1, - 0x11001D00110000: 1, - 0x11001D00120000: 3, - 0x11001D00120001: 1, - 0x11001D00130000: 1, - 0x11001D00140000: 3, - 0x11001D00140001: 1, - 0x11001D00150000: 3, - 0x11001D00150001: 1, - 0x11001D00160000: 3, - 0x11001D00160001: 1, - 0x11001D001A0000: 3, - 0x11001D001A0001: 1, - 0x11001D001C0000: 3, - 0x11001D001C0001: 1, - 0x11001D001D0000: 3, - 0x11001D001D0001: 1, - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/__init__.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/__init__.py deleted file mode 100644 index 677d6898ee3..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from vmBitwiseLogicOperation.""" diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_and.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_and.py deleted file mode 100644 index 99588064590..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_and.py +++ /dev/null @@ -1,179 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmBitwiseLogicOperation/andFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmBitwiseLogicOperation/andFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={ - 0: 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={ - 0: 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4"], -) -@pytest.mark.pre_alloc_mutable -def test_and( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.AND(0x2, 0x2)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.AND(0x2, 0x1)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.AND(0x3, 0x1)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.AND( - 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_byte.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_byte.py deleted file mode 100644 index 60f639f52ed..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_byte.py +++ /dev/null @@ -1,392 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmBitwiseLogicOperation/byteFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmBitwiseLogicOperation/byteFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000001008", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001009", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001007", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001007"): Account( - storage={0: 128} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001006", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001006"): Account( - storage={0: 64} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={0: 32} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 16} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 8} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 4} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 2} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000200", # noqa: E501 - { - Address("0x0000000000000000000000000000000000000200"): Account( - storage={ - 1: 1, - 2: 2, - 3: 3, - 4: 4, - 5: 5, - 6: 6, - 7: 7, - 8: 8, - 9: 9, - 10: 10, - 11: 11, - 12: 12, - 13: 13, - 14: 14, - 15: 15, - 16: 16, - 17: 17, - 18: 18, - 19: 19, - 20: 20, - 21: 21, - 22: 22, - 23: 23, - 24: 24, - 25: 25, - 26: 26, - 27: 27, - 28: 28, - 29: 29, - 30: 30, - 31: 31, - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000100a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100a"): Account( - storage={1: 172} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - ], -) -@pytest.mark.pre_alloc_mutable -def test_byte( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x100, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4A, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x100), 0x20)), - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x100), - value=Op.BYTE( - Op.MLOAD(offset=0x100), - 0x102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F, # noqa: E501 - ), - ) - + Op.MSTORE( - offset=0x100, value=Op.ADD(Op.MLOAD(offset=0x100), 0x1) - ) - + Op.JUMP(pc=0x6) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000200"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BYTE(Op.SUB(0x1F, 0x0), 0x8040201008040201), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BYTE(Op.SUB(0x1F, 0x1), 0x8040201008040201), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BYTE(Op.SUB(0x1F, 0x2), 0x8040201008040201), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BYTE(Op.SUB(0x1F, 0x3), 0x8040201008040201), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BYTE(Op.SUB(0x1F, 0x4), 0x8040201008040201), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BYTE(Op.SUB(0x1F, 0x5), 0x8040201008040201), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BYTE(Op.SUB(0x1F, 0x6), 0x8040201008040201), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BYTE(Op.SUB(0x1F, 0x7), 0x8040201008040201), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (byte (- 31 31) 0x8040201008040201) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BYTE(Op.SUB(0x1F, 0x1F), 0x8040201008040201), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (byte (sdiv 31 32) 0x8040201008040201) - # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BYTE(Op.SDIV(0x1F, 0x20), 0x8040201008040201), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.ADD(Op.DUP1, Op.BYTE(0x1F, 0x1234523456)), - ) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100a"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff $4 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.CALLDATALOAD(offset=0x4), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_eq.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_eq.py deleted file mode 100644 index 3c4dfedb7fd..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_eq.py +++ /dev/null @@ -1,141 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmBitwiseLogicOperation/eqFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmBitwiseLogicOperation/eqFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ], - ids=["case0", "case1", "case2"], -) -@pytest.mark.pre_alloc_mutable -def test_eq( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.EQ(Op.SUB(0x0, 0x5), Op.SUB(0x0, 0x3))) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.EQ(0x0, 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.EQ( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_gt.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_gt.py deleted file mode 100644 index d5c818f6e51..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_gt.py +++ /dev/null @@ -1,157 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmBitwiseLogicOperation/gtFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmBitwiseLogicOperation/gtFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 1} - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_gt( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.GT(Op.SUB(0x0, 0x2), 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.GT(0x0, Op.SUB(0x0, 0x2))) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.GT( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x0, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.GT( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_iszero.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_iszero.py deleted file mode 100644 index 7a7a2927f8e..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_iszero.py +++ /dev/null @@ -1,135 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmBitwiseLogicOperation/iszeroFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmBitwiseLogicOperation/iszeroFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ], - ids=["case0", "case1", "case2"], -) -@pytest.mark.pre_alloc_mutable -def test_iszero( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ISZERO( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ISZERO(0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ISZERO(Op.SUB(0x0, 0x2))) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_lt.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_lt.py deleted file mode 100644 index a16996c9bff..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_lt.py +++ /dev/null @@ -1,157 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmBitwiseLogicOperation/ltFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmBitwiseLogicOperation/ltFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_lt( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.LT(Op.SUB(0x0, 0x2), 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.LT(0x0, Op.SUB(0x0, 0x2))) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.LT( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x0, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.LT( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_not.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_not.py deleted file mode 100644 index dc887af6710..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_not.py +++ /dev/null @@ -1,198 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmBitwiseLogicOperation/notFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmBitwiseLogicOperation/notFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], -) -@pytest.mark.pre_alloc_mutable -def test_not( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.NOT(0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.NOT(0x2)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.NOT( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.NOT(Op.SUB(0x0, 0x2))) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.NOT( - Op.SUB( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.NOT(Op.SUB(0x0, 0x0))) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_or.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_or.py deleted file mode 100644 index e0728fd0d3a..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_or.py +++ /dev/null @@ -1,208 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmBitwiseLogicOperation/orFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmBitwiseLogicOperation/orFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 3} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 3} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], -) -@pytest.mark.pre_alloc_mutable -def test_or( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.OR(0x2, 0x2)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.OR(0x2, 0x1)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.OR(0x3, 0x1)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.OR( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.OR( - 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.OR( - 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_sgt.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_sgt.py deleted file mode 100644 index c58bea216e9..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_sgt.py +++ /dev/null @@ -1,157 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmBitwiseLogicOperation/sgtFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmBitwiseLogicOperation/sgtFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_sgt( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SGT(Op.SUB(0x0, 0x2), 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SGT(0x0, Op.SUB(0x0, 0x2))) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SGT( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x0, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SGT( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_slt.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_slt.py deleted file mode 100644 index 15c0d032e1b..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_slt.py +++ /dev/null @@ -1,157 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmBitwiseLogicOperation/sltFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmBitwiseLogicOperation/sltFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 1} - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_slt( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SLT(Op.SUB(0x0, 0x2), 0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SLT(0x0, Op.SUB(0x0, 0x2))) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SLT( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x0, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SLT( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_xor.py b/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_xor.py deleted file mode 100644 index bc1ba382116..00000000000 --- a/tests/ported_static/VMTests/vmBitwiseLogicOperation/test_xor.py +++ /dev/null @@ -1,204 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmBitwiseLogicOperation/xorFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmBitwiseLogicOperation/xorFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 3} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 2} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={ - 0: 0x1111111111111111111111111111111111111111111111111111111111111111 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={ - 0: 0xFEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={ - 0: 0x1111111111111111111111111111101111111111111111111111111111111111 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], -) -@pytest.mark.pre_alloc_mutable -def test_xor( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.XOR(0x2, 0x2)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.XOR(0x2, 0x1)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.XOR(0x3, 0x1)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.XOR( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.XOR( - 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.XOR( - 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/__init__.py b/tests/ported_static/VMTests/vmIOandFlowOperations/__init__.py deleted file mode 100644 index 0732cd07686..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from vmIOandFlowOperations.""" diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_codecopy.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_codecopy.py deleted file mode 100644 index 11ff6e44aff..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_codecopy.py +++ /dev/null @@ -1,266 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/codecopyFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmIOandFlowOperations/codecopyFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0x6040600060003960005160005560205160015500000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0x6010600F600E600D600C600B600A600960086007600660056004600360026001, # noqa: E501 - 1: 0x101010101010101010101010101016101005260206000600039604060206020, # noqa: E501 - 2: 0x3960005160005560205160015560405160025500000000000000000000000000, # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0x6110006000600039600051600055602051600155000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0x3860FF5560FF5460006000396160A76000556160A76001556160A76002556000, # noqa: E501 - 1: 0x5160005560205160015560405160025560605160035560805160045560A05160, # noqa: E501 - 2: 0x5550061DEADFF60FF546000F360AA60BB60CC60DD60EE60FFF4000000000000, # noqa: E501 - 255: 91, - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4"], -) -@pytest.mark.pre_alloc_mutable -def test_codecopy( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x40) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=0x0, offset=0x0, size=Op.SUB(0x0, 0x1)) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x1000) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x100, - value=Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - Op.ADD( - 0x1, # noqa: E501 - 0x2, # noqa: E501 - ), - 0x3, - ), - 0x4, - ), - 0x5, - ), - 0x6, - ), - 0x7, - ), - 0x8, - ), - 0x9, - ), - 0xA, - ), - 0xB, - ), - 0xC, - ), - 0xD, - ), - 0xE, - ), - 0xF, - ), - 0x10, - ), - ) - + Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.CODECOPY(dest_offset=0x20, offset=0x20, size=0x40) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x40)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0xFF, value=Op.CODESIZE) - + Op.CODECOPY(dest_offset=0x0, offset=0x0, size=Op.SLOAD(key=0xFF)) - + Op.SSTORE(key=0x0, value=0x60A7) - + Op.SSTORE(key=0x1, value=0x60A7) - + Op.SSTORE(key=0x2, value=0x60A7) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x40)) - + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x60)) - + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x80)) - + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0xA0)) - + Op.STOP - + Op.SELFDESTRUCT(address=0xDEAD) - + Op.RETURN(offset=0x0, size=Op.SLOAD(key=0xFF)) - + Op.DELEGATECALL( - gas=0xFF, - address=0xEE, - args_offset=0xDD, - args_size=0xCC, - ret_offset=0xBB, - ret_size=0xAA, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (delegatecall 0xffffff (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_gas.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_gas.py deleted file mode 100644 index f88a0b8343f..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_gas.py +++ /dev/null @@ -1,125 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/gasFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmIOandFlowOperations/gasFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0x4B1457B} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0x4B1458D} - ) - }, - ), - ], - ids=["case0", "case1"], -) -@pytest.mark.pre_alloc_mutable -def test_gas( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xFFFFFFFFFF) - + Op.MSTORE(offset=0x5A, value=0xEEEE) - + Op.SSTORE(key=0x0, value=Op.GAS) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.GAS) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=80000000, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_jump.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_jump.py deleted file mode 100644 index eb38d259dc1..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_jump.py +++ /dev/null @@ -1,467 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/jumpFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmIOandFlowOperations/jumpFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000009", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000f", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - ], -) -@pytest.mark.pre_alloc_mutable -def test_jump( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMP(pc=Op.MUL(0x20, 0x10)) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPI(pc=Op.MUL(0x20, 0x10), condition=0x1) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMP(pc=0x4) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) + Op.JUMP(pc=0xFFFFFFF) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH1[0x23] - + Op.JUMP(pc=0x8) - + Op.PUSH1[0x1] - + Op.JUMPDEST - + Op.PUSH1[0x2] - + Op.SSTORE - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=0x600D) + Op.JUMPDEST + Op.JUMP(pc=0x6), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH2[0x600D] - + Op.JUMP(pc=0x8) - + Op.PUSH1[0xFF] - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SSTORE - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMP(pc=0xB) - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - + Op.JUMPDEST - + Op.JUMP(pc=0x3) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMP(pc=Op.ADD(0x5, 0x2)) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMP(pc=0x5) - + Op.STOP - + Op.PUSH1[0x5B] - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMP(pc=0x5) - + Op.STOP - + Op.PUSH1[0x1] - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMP(pc=0xB) - + Op.GAS - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.GAS) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMP(pc=0x9) - + Op.GAS - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.GAS) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMP(pc=0x1000000000000000B) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=0x1) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100d"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMP(pc=0x100000007) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=0x1) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100e"), # noqa: E501 - ) - # Source: LLL - # { - # @0 (- 0 1) - # (asm 0 mload jump 0x600D 0x00 sstore) - # } - pre.deploy_contract( - code=( - Op.POP(Op.MLOAD(offset=0x0)) - + Op.POP(Op.SUB(0x0, 0x1)) - + Op.JUMP(pc=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100f"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMP(pc=0xE) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001010"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # ; limited gas because of the endless loop - # (delegatecall 0x10000 (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x10000, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_jump_to_push.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_jump_to_push.py deleted file mode 100644 index 242086547f3..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_jump_to_push.py +++ /dev/null @@ -1,1669 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/jumpToPushFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmIOandFlowOperations/jumpToPushFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c613900000000000000000000000000000000000000000000000000000000000000ac", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000bc", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000cc", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000dc", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000ec", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000fc", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000010c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000011c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000012c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000013c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000014c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000015c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000016c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000017c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000018c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000019c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000020c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000002c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000002c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000004c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000005c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000006c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000007c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000008c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000009c", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000ac", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000bc", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000cc", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000dc", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000ec", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000fc", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000010c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000011c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000012c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000013c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000014c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000015c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000016c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000017c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000004c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000018c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000019c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000020c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000005c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000006c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000007c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000008c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000009c", # noqa: E501 - {}, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - {}, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000aa", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000ba", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000ca", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000da", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000ea", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000fa", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000010a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000011a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000012a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000013a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000014a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000015a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000016a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000017a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000018a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000019a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000020a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000002a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000003a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000004a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000005a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000006a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000007a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000008a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000009a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - ], -) -@pytest.mark.pre_alloc_mutable -def test_jump_to_push( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xA) - + Op.PUSH1[0x5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000001a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH1[0x5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000001b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xB) - + Op.PUSH2[0x5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000002a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH2[0x5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000002b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xA) - + Op.PUSH2[0x5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000002c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xC) - + Op.PUSH3[0x5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000003a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH3[0x5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000003b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xB) - + Op.PUSH3[0x5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000003c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xD) - + Op.PUSH4[0x5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000004a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH4[0x5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000004b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xC) - + Op.PUSH4[0x5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000004c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xE) - + Op.PUSH5[0x5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000005a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH5[0x5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000005b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xD) - + Op.PUSH5[0x5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000005c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xF) - + Op.PUSH6[0x5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000006a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH6[0x5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000006b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xE) - + Op.PUSH6[0x5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000006c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x10) - + Op.PUSH7[0x5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000007a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH7[0x5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000007b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0xF) - + Op.PUSH7[0x5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000007c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x11) - + Op.PUSH8[0x5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000008a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH8[0x5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000008b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x10) - + Op.PUSH8[0x5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000008c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x12) - + Op.PUSH9[0x5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000009a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH9[0x5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000009b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x11) - + Op.PUSH9[0x5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000009c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x13) - + Op.PUSH10[0x5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000aa"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH10[0x5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000ab"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x12) - + Op.PUSH10[0x5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000ac"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x14) - + Op.PUSH11[0x5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000ba"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH11[0x5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000bb"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x13) - + Op.PUSH11[0x5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000bc"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x15) - + Op.PUSH12[0x5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000ca"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH12[0x5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000cb"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x14) - + Op.PUSH12[0x5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000cc"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x16) - + Op.PUSH13[0x5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000da"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH13[0x5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000db"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x15) - + Op.PUSH13[0x5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000dc"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x17) - + Op.PUSH14[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000ea"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH14[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000eb"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x16) - + Op.PUSH14[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000ec"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x18) - + Op.PUSH15[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000fa"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH15[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000fb"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x17) - + Op.PUSH15[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000000fc"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x19) - + Op.PUSH16[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000010a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH16[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000010b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x18) - + Op.PUSH16[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000010c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1A) - + Op.PUSH17[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000011a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH17[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000011b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x19) - + Op.PUSH17[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000011c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1B) - + Op.PUSH18[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000012a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH18[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000012b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1A) - + Op.PUSH18[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000012c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1C) - + Op.PUSH19[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000013a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH19[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000013b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1B) - + Op.PUSH19[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000013c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1D) - + Op.PUSH20[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000014a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH20[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000014b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1C) - + Op.PUSH20[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000014c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1E) - + Op.PUSH21[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000015a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH21[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000015b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1D) - + Op.PUSH21[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000015c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1F) - + Op.PUSH22[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000016a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH22[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000016b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1E) - + Op.PUSH22[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000016c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x20) - + Op.PUSH23[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000017a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH23[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000017b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x1F) - + Op.PUSH23[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000017c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x21) - + Op.PUSH24[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000018a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH24[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000018b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x20) - + Op.PUSH24[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000018c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x22) - + Op.PUSH25[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000019a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH25[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000019b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x21) - + Op.PUSH25[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000019c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x23) - + Op.PUSH26[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001aa"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH26[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001ab"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x22) - + Op.PUSH26[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001ac"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x24) - + Op.PUSH27[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001ba"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH27[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001bb"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x23) - + Op.PUSH27[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001bc"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x25) - + Op.PUSH28[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001ca"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH28[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001cb"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x24) - + Op.PUSH28[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001cc"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x26) - + Op.PUSH29[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001da"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH29[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001db"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x25) - + Op.PUSH29[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001dc"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x27) - + Op.PUSH30[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001ea"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH30[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001eb"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x26) - + Op.PUSH30[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001ec"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x28) - + Op.PUSH31[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001fa"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH31[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001fb"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x27) - + Op.PUSH31[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x00000000000000000000000000000000000001fc"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x29) - + Op.PUSH32[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000020a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x9) - + Op.PUSH32[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000020b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x28) - + Op.PUSH32[ - 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 - ] - + Op.JUMPDEST - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000020c"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: Yul - # { - # let addr := calldataload(4) - # pop(delegatecall(sub(gas(), 5000), addr, 0, 0, 0, 0)) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.SUB(Op.GAS, 0x1388), - address=Op.CALLDATALOAD(offset=0x4), - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0x0}, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_jumpi.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_jumpi.py deleted file mode 100644 index 6ae2a011f6d..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_jumpi.py +++ /dev/null @@ -1,667 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/jumpiFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmIOandFlowOperations/jumpiFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000001005", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000100a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001009", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001007", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001008", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000100d", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000100e", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000100f", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000100b", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000100c", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000110", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000111", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000208", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000201", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000203", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000020d", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000020e", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000020f", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000200", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000202", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - ], -) -@pytest.mark.pre_alloc_mutable -def test_jumpi( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI(pc=0xE, condition=0x1) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000110"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.MSTORE(offset=0x0, value=0x10) - + Op.JUMPDEST - + Op.SUB(Op.MLOAD(offset=0x0), 0x1) - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.PUSH1[0xB] - + Op.JUMPI - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000111"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPI(pc=Op.MUL(0x20, 0x10), condition=0x0) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000200"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPI(pc=Op.MUL(0x20, 0x10), condition=0x0) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000201"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x6, condition=0x0) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000202"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPI(pc=0xFFFFFFF, condition=0x0) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000203"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI(pc=Op.ADD(0x5, 0x4), condition=0x0) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000208"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x1000000000000000D, condition=0x0) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000020d"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x100000009, condition=0x0) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000020e"), # noqa: E501 - ) - # Source: LLL - # { - # @0 (- 0 1) - # (asm 0 0 mload jumpi 0x600D 0x00 sstore) - # } - pre.deploy_contract( - code=( - Op.POP(Op.MLOAD(offset=0x0)) - + Op.POP(Op.SUB(0x0, 0x1)) - + Op.JUMPI(pc=Op.MLOAD(offset=0x0), condition=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000020f"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPI(pc=Op.MUL(0x20, 0x10), condition=0x1) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPI(pc=Op.MUL(0x20, 0x10), condition=0x1) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x6, condition=0x1) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPI(pc=0xFFFFFFF, condition=0xFF) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH1[0x23] - + Op.JUMPI(pc=0x8, condition=0x1) - + Op.PUSH1[0x1] - + Op.JUMPDEST - + Op.PUSH1[0x2] - + Op.SSTORE - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPDEST - + Op.JUMPI(pc=0x6, condition=0x6) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH2[0x600D] - + Op.JUMPI(pc=0xA, condition=0x1) - + Op.PUSH1[0xFF] - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SSTORE - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMP(pc=0xB) - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - + Op.JUMPDEST - + Op.JUMPI(pc=0x3, condition=0x1) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI(pc=Op.ADD(0x5, 0x4), condition=0x1) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x7, condition=0x1) - + Op.STOP - + Op.PUSH1[0x5B] - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x7, condition=0x1) - + Op.STOP - + Op.PUSH1[0x1] - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPI(pc=0xD, condition=0x1) - + Op.GAS - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.GAS) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPI(pc=0xB, condition=0x1) - + Op.GAS - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.GAS) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x1000000000000000D, condition=0x11) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100d"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI(pc=0x100000009, condition=0x11) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=0x600D) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100e"), # noqa: E501 - ) - # Source: LLL - # { - # @0 (- 0 1) - # (asm 1 0 mload jumpi 0x600D 0x00 sstore) - # } - pre.deploy_contract( - code=( - Op.POP(Op.MLOAD(offset=0x0)) - + Op.POP(Op.SUB(0x0, 0x1)) - + Op.JUMPI(pc=Op.MLOAD(offset=0x0), condition=0x1) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100f"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # ; limited gas because of the endless loop - # (delegatecall 0x10000 $4 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x10000, - address=Op.CALLDATALOAD(offset=0x4), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_loop_stacklimit.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_loop_stacklimit.py deleted file mode 100644 index 8c7961aa12b..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_loop_stacklimit.py +++ /dev/null @@ -1,152 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations -loop_stacklimitFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmIOandFlowOperations/loop_stacklimitFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ], - ids=["case0", "case1"], -) -@pytest.mark.pre_alloc_mutable -def test_loop_stacklimit( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xA62D63F95900B04CCD3FEE13360DE78966F24695945E8B2C09E646352BC5AF94 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.CALLVALUE - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.SUB - + Op.SWAP1 - + Op.PUSH1[0x1] - + Op.ADD - + Op.DUP2 - + Op.JUMPI(pc=0x3, condition=Op.DUP1) - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.PUSH1[0x1] - + Op.MSTORE - + Op.RETURN(offset=Op.MSIZE, size=0x0) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x15f0298e83391f673b708790f259f3f34dfbd788"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.CALLVALUE - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.SUB - + Op.SWAP1 - + Op.PUSH1[0x1] - + Op.ADD - + Op.DUP2 - + Op.JUMPI(pc=0x3, condition=Op.DUP1) - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.PUSH1[0x1] - + Op.MSTORE - + Op.RETURN(offset=Op.MSIZE, size=0x0) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x3b20573c5048e5ba16083407e59fc0bbc044b6c0"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0x0}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xf9b46c1d708104b4e6007d17ae485b0a00d8e952"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_loops_conditionals.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_loops_conditionals.py deleted file mode 100644 index 290d0f22751..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_loops_conditionals.py +++ /dev/null @@ -1,401 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations -loopsConditionalsFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmIOandFlowOperations/loopsConditionalsFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 0x10000} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000009", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 55} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 55} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24743} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 0x10000} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 0x10000} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - ], -) -@pytest.mark.pre_alloc_mutable -def test_loops_conditionals( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.JUMPI(pc=0xF, condition=Op.ISZERO(Op.GT(0x1, 0x0))) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0xF, condition=Op.ISZERO(Op.LT(0x1, 0x0))) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0xE, condition=Op.GT(0x1, 0x0)) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0xE, condition=Op.LT(0x1, 0x0)) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0xE, condition=Op.GT(0x1, 0x0)) - + Op.PUSH2[0x60A7] - + Op.JUMP(pc=0x12) - + Op.JUMPDEST - + Op.PUSH2[0x600D] - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.JUMPI(pc=0xE, condition=Op.LT(0x1, 0x0)) - + Op.PUSH2[0x60A7] - + Op.JUMP(pc=0x12) - + Op.JUMPDEST - + Op.PUSH2[0x600D] - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x10) - + Op.SSTORE(key=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x27, condition=Op.ISZERO(Op.SLOAD(key=0x0))) - + Op.SSTORE(key=0x0, value=Op.SUB(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE(key=0x1, value=Op.MUL(Op.SLOAD(key=0x1), 0x2)) - + Op.JUMP(pc=0xA) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x10) - + Op.SSTORE(key=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x29, condition=Op.EQ(Op.SLOAD(key=0x0), 0x0)) - + Op.SSTORE(key=0x0, value=Op.SUB(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE(key=0x1, value=Op.MUL(Op.SLOAD(key=0x1), 0x2)) - + Op.JUMP(pc=0xA) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { - # (for - # { [[0]] 0x10 [[1]] 0x01 } ; initialization - # (> @@0 0) ; predicate - # [[0]] (- @@0 1) ; post - # [[1]] (* @@1 2) ; body - # ) ; for loop - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x10) - + Op.SSTORE(key=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2A, condition=Op.ISZERO(Op.GT(Op.SLOAD(key=0x0), 0x0)) - ) - + Op.SSTORE(key=0x1, value=Op.MUL(Op.SLOAD(key=0x1), 0x2)) - + Op.SSTORE(key=0x0, value=Op.SUB(Op.SLOAD(key=0x0), 0x1)) - + Op.JUMP(pc=0xA) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: LLL - # { - # (def 'i 0x80) - # (def 'j 0xA0) - # - # (for [i] 10 ; init - # (> @i 0) ; predicate - # [i] (- @i 1) ; post - # [j] (+ @i @j) ; body - # ) ; for loop - # - # [[0]] @j - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x80, value=0xA) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x26, - condition=Op.ISZERO(Op.GT(Op.MLOAD(offset=0x80), 0x0)), - ) - + Op.MSTORE( - offset=0xA0, - value=Op.ADD(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), - ) - + Op.MSTORE(offset=0x80, value=Op.SUB(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x5) - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0xA0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - # Source: LLL - # { - # (def 'i 0x80) - # (def 'j 0xA0) - # - # (for [i] 0 ; init - # (<= @i 10) ; predicate - # [i] (+ @i 1) ; post - # [j] (+ @i @j) ; body - # ) ; for loop - # - # [[0]] @j - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x80, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x27, - condition=Op.ISZERO( - Op.ISZERO(Op.GT(Op.MLOAD(offset=0x80), 0xA)) - ), - ) - + Op.MSTORE( - offset=0xA0, - value=Op.ADD(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x5) - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0xA0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100a"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_mload.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_mload.py deleted file mode 100644 index 1909500c810..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_mload.py +++ /dev/null @@ -1,142 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/mloadFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmIOandFlowOperations/mloadFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2"], -) -@pytest.mark.pre_alloc_mutable -def test_mload( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0xFFFFFFF)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x724825)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_msize.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_msize.py deleted file mode 100644 index e7812d01929..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_msize.py +++ /dev/null @@ -1,205 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/msizeFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmIOandFlowOperations/msizeFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 32, 1: 64, 2: 64} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xB00020} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 32} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 32} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 128} - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], -) -@pytest.mark.pre_alloc_mutable -def test_msize( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=4294967296, - ) - - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xFF) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xFFFFFFFFFF) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xFFFFFFFFFF) - + Op.MSTORE(offset=0x20, value=0xEEEE) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xFFFFFFFFFF) - + Op.MSTORE(offset=0x5A, value=0xEEEE) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x1F, value=0x1) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.MSTORE8(offset=0x20, value=0x1) - + Op.SSTORE(key=0x1, value=Op.MSIZE) - + Op.MSTORE8(offset=0x20, value=0x0) - + Op.SSTORE(key=0x2, value=Op.MSIZE) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0xB00000, value=0x1) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=268435456, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_mstore.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_mstore.py deleted file mode 100644 index 7869a558f11..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_mstore.py +++ /dev/null @@ -1,192 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/mstoreFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmIOandFlowOperations/mstoreFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 255} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4"], -) -@pytest.mark.pre_alloc_mutable -def test_mstore( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x1, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x1)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x1, - value=Op.ADD( - 0x2, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x1)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=Op.SUB(0x0, 0x1)) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x1)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0xFF) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0xFF00) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_mstore8.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_mstore8.py deleted file mode 100644 index 811a369c4dd..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_mstore8.py +++ /dev/null @@ -1,154 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/mstore8Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmIOandFlowOperations/mstore8Filler.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0xFF00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0xFF00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0xFFEE0000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2"], -) -@pytest.mark.pre_alloc_mutable -def test_mstore8( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x1, value=0x112233445566778899AABBCCDDEEFF) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x1)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x1, value=0xFF) - + Op.MSTORE8(offset=0x2, value=0xEE) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x1, value=Op.SUB(0x0, 0x1)) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x1)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_pc.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_pc.py deleted file mode 100644 index 3a8e39ba544..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_pc.py +++ /dev/null @@ -1,119 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/pcFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmIOandFlowOperations/pcFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 255, 1: 5} - ) - }, - ), - ], - ids=["case0", "case1"], -) -@pytest.mark.pre_alloc_mutable -def test_pc( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.PC) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0xFF) - + Op.SSTORE(key=0x1, value=Op.PC) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_pop.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_pop.py deleted file mode 100644 index 950b8fe76b8..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_pop.py +++ /dev/null @@ -1,116 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/popFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmIOandFlowOperations/popFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={3: 2} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ], - ids=["case0", "case1"], -) -@pytest.mark.pre_alloc_mutable -def test_pop( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - # Source: raw bytecode - pre.deploy_contract( - code=Op.PUSH1[0x2] + Op.PUSH1[0x3] + Op.POP(0x4) + Op.SSTORE, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.POP + Op.PUSH1[0x2] + Op.SSTORE(key=0x4, value=0x3), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_return.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_return.py deleted file mode 100644 index 6fac12cdf0c..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_return.py +++ /dev/null @@ -1,225 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/returnFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmIOandFlowOperations/returnFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 - 255: 24589, - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={255: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0xABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0000000000, # noqa: E501 - 255: 24589, - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 39, 255: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 - 255: 24589, - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4"], -) -@pytest.mark.pre_alloc_mutable -def test_return( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 - ) - + Op.SSTORE(key=0xFF, value=0x600D) - + Op.RETURN(offset=0x0, size=0x40) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 - ) - + Op.SSTORE(key=0xFF, value=0x600D) - + Op.RETURN(offset=0x0, size=Op.SUB(0x0, 0x1)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 - ) - + Op.SSTORE(key=0xFF, value=0x600D) - + Op.RETURN(offset=0x0, size=0x1000) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 - ) - + Op.SSTORE(key=0xFF, value=0x600D) - + Op.RETURN(offset=0x5, size=0x20) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x80, value=0x1) - + Op.JUMPI(pc=0x1B, condition=Op.GT(Op.MLOAD(offset=0x80), 0x0)) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMP(pc=0x2B) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=0x27) - + Op.RETURN(offset=0x0, size=0x20) - + Op.MSTORE(offset=0x80, value=0x2) - + Op.JUMPDEST - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # ; read 0x40 bytes of return data - # (delegatecall 0xffffff (+ 0x1000 $4) 0 0 0x00 0x40) - # - # [[0]] @0x00 - # [[1]] @0x20 - # } - contract = pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.STOP - ), - storage={0xFF: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmIOandFlowOperations/test_sstore_sload.py b/tests/ported_static/VMTests/vmIOandFlowOperations/test_sstore_sload.py deleted file mode 100644 index 6f784df4e87..00000000000 --- a/tests/ported_static/VMTests/vmIOandFlowOperations/test_sstore_sload.py +++ /dev/null @@ -1,152 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmIOandFlowOperations/sstore_sloadFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/VMTests/vmIOandFlowOperations/sstore_sloadFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 255, 10: 238, 20: 255} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 255, 1: 238, 2: 221, 10: 238, 20: 221} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 255, 10: 238} - ) - }, - ), - ], - ids=["case0", "case1", "case2"], -) -@pytest.mark.pre_alloc_mutable -def test_sstore_sload( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0xFF) - + Op.SSTORE(key=0xA, value=0xEE) - + Op.SSTORE(key=0x14, value=Op.SLOAD(key=0x0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0xFF) - + Op.SSTORE(key=0xA, value=0xEE) - + Op.SSTORE(key=0x14, value=Op.SLOAD(key=0x64)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0xFF) - + Op.SSTORE(key=0x1, value=0xEE) - + Op.SSTORE(key=0x2, value=0xDD) - + Op.SSTORE(key=0xA, value=Op.SLOAD(key=0x1)) - + Op.SSTORE(key=0x14, value=Op.SLOAD(key=0x2)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmLogTest/__init__.py b/tests/ported_static/VMTests/vmLogTest/__init__.py deleted file mode 100644 index e1e9eb5dd89..00000000000 --- a/tests/ported_static/VMTests/vmLogTest/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from vmLogTest.""" diff --git a/tests/ported_static/VMTests/vmLogTest/test_log0.py b/tests/ported_static/VMTests/vmLogTest/test_log0.py deleted file mode 100644 index beb3939869f..00000000000 --- a/tests/ported_static/VMTests/vmLogTest/test_log0.py +++ /dev/null @@ -1,286 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmLogTest/log0Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmLogTest/log0Filler.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - ], -) -@pytest.mark.pre_alloc_mutable -def test_log0( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.LOG0(offset=0x0, size=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x1, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0( - offset=0x1, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0(offset=0x1, size=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG0(offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0(offset=0x0, size=0x1) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0(offset=0x1F, size=0x1) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - # Source: LLL - # { ; logTwice - # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd - # (log0 0 32) - # (log0 2 16) - # [[0]] 0x600D - # } - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0(offset=0x0, size=0x20) - + Op.LOG0(offset=0x2, size=0x10) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100a"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmLogTest/test_log1.py b/tests/ported_static/VMTests/vmLogTest/test_log1.py deleted file mode 100644 index 871c510e06e..00000000000 --- a/tests/ported_static/VMTests/vmLogTest/test_log1.py +++ /dev/null @@ -1,308 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmLogTest/log1Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmLogTest/log1Filler.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - ], -) -@pytest.mark.pre_alloc_mutable -def test_log1( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.LOG1(offset=0x0, size=0x0, topic_1=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x1, - topic_1=0x0, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1( - offset=0x1, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_1=0x0, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1(offset=0x1, size=0x0, topic_1=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG1(offset=0x0, size=0x20, topic_1=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1(offset=0x0, size=0x1, topic_1=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1(offset=0x1F, size=0x1, topic_1=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1(offset=0x0, size=0x20, topic_1=Op.CALLER) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { ; maxTopic - # (def 'neg1 (- 0 1)) - # - # (mstore8 0 0xFF) - # (log1 31 1 neg1) - # [[0]] 0x600D - # } - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG1(offset=0x1F, size=0x1, topic_1=Op.SUB(0x0, 0x1)) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmLogTest/test_log2.py b/tests/ported_static/VMTests/vmLogTest/test_log2.py deleted file mode 100644 index 8dc5072144d..00000000000 --- a/tests/ported_static/VMTests/vmLogTest/test_log2.py +++ /dev/null @@ -1,309 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmLogTest/log2Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmLogTest/log2Filler.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - ], -) -@pytest.mark.pre_alloc_mutable -def test_log2( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.LOG2(offset=0x0, size=0x0, topic_1=0x0, topic_2=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2( - offset=Op.SUB(0x0, 0x1), size=0x1, topic_1=0x0, topic_2=0x0 - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2( - offset=0x1, size=Op.SUB(0x0, 0x1), topic_1=0x0, topic_2=0x0 - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2(offset=0x1, size=0x0, topic_1=0x0, topic_2=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG2(offset=0x0, size=0x20, topic_1=0x0, topic_2=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2(offset=0x0, size=0x1, topic_1=0x0, topic_2=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2(offset=0x1F, size=0x1, topic_1=0x0, topic_2=0x0) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2(offset=0x0, size=0x20, topic_1=0x0, topic_2=Op.CALLER) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { ; maxTopic - # (def 'neg1 (- 0 1)) - # - # (mstore8 0 0xFF) - # (log2 31 1 neg1 neg1) - # [[0]] 0x600D - # } - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG2( - offset=0x1F, - size=0x1, - topic_1=Op.SUB(0x0, 0x1), - topic_2=Op.SUB(0x0, 0x1), - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmLogTest/test_log3.py b/tests/ported_static/VMTests/vmLogTest/test_log3.py deleted file mode 100644 index 8b562b1b9ea..00000000000 --- a/tests/ported_static/VMTests/vmLogTest/test_log3.py +++ /dev/null @@ -1,369 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmLogTest/log3Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmLogTest/log3Filler.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000009", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - ], -) -@pytest.mark.pre_alloc_mutable -def test_log3( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.LOG3( - offset=0x0, size=0x0, topic_1=0x0, topic_2=0x0, topic_3=0x0 - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=Op.SUB(0x0, 0x1), - size=0x1, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0x1, - size=Op.SUB(0x0, 0x1), - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0x1, size=0x0, topic_1=0x0, topic_2=0x0, topic_3=0x0 - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG3( - offset=0x0, size=0x20, topic_1=0x0, topic_2=0x0, topic_3=0x0 - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0x0, size=0x1, topic_1=0x0, topic_2=0x0, topic_3=0x0 - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0x1F, size=0x1, topic_1=0x0, topic_2=0x0, topic_3=0x0 - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0x0, - size=0x20, - topic_1=0x0, - topic_2=0x0, - topic_3=Op.CALLER, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { ; maxTopic - # (def 'neg1 (- 0 1)) - # - # (mstore8 0 0xFF) - # (log3 31 1 neg1 neg1 neg1) - # [[0]] 0x600D - # } - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG3( - offset=0x1F, - size=0x1, - topic_1=Op.SUB(0x0, 0x1), - topic_2=Op.SUB(0x0, 0x1), - topic_3=Op.SUB(0x0, 0x1), - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: LLL - # { ; pc - # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd - # (log3 31 1 (pc) (pc) (pc)) - # [[0]] 0x600D - # } - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0x1F, - size=0x1, - topic_1=Op.PC, - topic_2=Op.PC, - topic_3=Op.PC, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmLogTest/test_log4.py b/tests/ported_static/VMTests/vmLogTest/test_log4.py deleted file mode 100644 index d8340d1db7d..00000000000 --- a/tests/ported_static/VMTests/vmLogTest/test_log4.py +++ /dev/null @@ -1,399 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmLogTest/log4Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmLogTest/log4Filler.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2989} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000009", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 24589} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - ], -) -@pytest.mark.pre_alloc_mutable -def test_log4( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=( - Op.LOG4( - offset=0x0, - size=0x0, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=Op.SUB(0x0, 0x1), - size=0x1, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0x1, - size=Op.SUB(0x0, 0x1), - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0x1, - size=0x0, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG4( - offset=0x0, - size=0x20, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0x0, - size=0x1, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0x1F, - size=0x1, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0x0, - size=0x20, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=Op.CALLER, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { ; maxTopic - # (def 'neg1 (- 0 1)) - # - # (mstore8 0 0xFF) - # (log4 31 1 neg1 neg1 neg1 neg1) - # [[0]] 0x600D - # } - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG4( - offset=0x1F, - size=0x1, - topic_1=Op.SUB(0x0, 0x1), - topic_2=Op.SUB(0x0, 0x1), - topic_3=Op.SUB(0x0, 0x1), - topic_4=Op.SUB(0x0, 0x1), - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: LLL - # { ; pc - # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd - # (log4 31 1 (pc) (pc) (pc) (pc)) - # [[0]] 0x600D - # } - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0x1F, - size=0x1, - topic_1=Op.PC, - topic_2=Op.PC, - topic_3=Op.PC, - topic_4=Op.PC, - ) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xBAD}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmTests/__init__.py b/tests/ported_static/VMTests/vmTests/__init__.py deleted file mode 100644 index 59730d62829..00000000000 --- a/tests/ported_static/VMTests/vmTests/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from vmTests.""" diff --git a/tests/ported_static/VMTests/vmTests/test_block_info.py b/tests/ported_static/VMTests/vmTests/test_block_info.py deleted file mode 100644 index ba58010dbea..00000000000 --- a/tests/ported_static/VMTests/vmTests/test_block_info.py +++ /dev/null @@ -1,161 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmTests/blockInfoFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmTests/blockInfoFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={0: 0x20000} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 0x5F5E100} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 1} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 1000} - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4"], -) -@pytest.mark.pre_alloc_mutable -def test_block_info( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.COINBASE) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.PREVRANDAO) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.GASLIMIT) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.NUMBER) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.TIMESTAMP) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmTests/test_env_info.py b/tests/ported_static/VMTests/vmTests/test_env_info.py deleted file mode 100644 index 2deed441c88..00000000000 --- a/tests/ported_static/VMTests/vmTests/test_env_info.py +++ /dev/null @@ -1,257 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmTests/envInfoFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmTests/envInfoFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 4096} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000009", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001005"): Account( - storage={0: 16} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={ - 0: 0x6007600060003900000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001006"): Account( - storage={0: 5} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001007"): Account( - storage={0: 4660} - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001008"): Account( - storage={0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - ], -) -@pytest.mark.pre_alloc_mutable -def test_env_info( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ADDRESS) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x7) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x0) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CODECOPY( - dest_offset=0x0, - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA, # noqa: E501 - size=0x8, - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.CALLER) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.CALLVALUE) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.CODESIZE) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.GASPRICE) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (origin) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ORIGIN) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (calldatasize) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.CALLDATASIZE) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # (call 0xffffff (+ 0x1000 $4) 0x10 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x10, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - gas_price=4660, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmTests/test_random.py b/tests/ported_static/VMTests/vmTests/test_random.py deleted file mode 100644 index 60cff84fe6e..00000000000 --- a/tests/ported_static/VMTests/vmTests/test_random.py +++ /dev/null @@ -1,176 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmTests/randomFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmTests/randomFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - {}, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], -) -@pytest.mark.pre_alloc_mutable -def test_random( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xF3630C36A29EC9AF814AE38E4D48056A3368BB1435C5C2B3289763E4C77A3DF0 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=bytes.fromhex("4040459143404144809759886d608f"), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x15adfb805be4f3ee3e5c535abc860890a3a2a6c9"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.BLOCKHASH + Op.COINBASE, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x2e3b99613a2e74ebb0cd62d7b9eb38bad240cec6"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.BLOCKHASH - + Op.BLOCKHASH(block_number=Op.GASLIMIT) - + Op.COINBASE - + Op.GASLIMIT - + Op.GASLIMIT - + Op.CODECOPY( - dest_offset=Op.CALLVALUE, - offset=Op.COINBASE, - size=Op.PREVRANDAO, - ) - + Op.SELFDESTRUCT(address=Op.DUP8) - + Op.CALLDATACOPY - + Op.CALLDATALOAD - + Op.SSTORE(key=Op.ADDRESS, value=Op.DIV) - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x3412d3ebac3fcacfb451708aef7cc8e5bf1e5261"), # noqa: E501 - ) - pre[sender] = Account(balance=0x10000000000000) - pre.deploy_contract( - code=( - Op.NUMBER - + Op.NUMBER - + Op.TIMESTAMP - + Op.PREVRANDAO - + Op.TIMESTAMP - + Op.PREVRANDAO - + Op.GASLIMIT - + Op.GASLIMIT - + Op.SWAP8 - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x66b8dba513dc25f967ef7e84306616c0071cccae"), # noqa: E501 - ) - # Source: LLL - # { - # (call (gas) (+ 0x1000 $4) 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xa83db56c7ce68c06129b80c7be0d0f5e0869d536"), # noqa: E501 - ) - pre.deploy_contract( - code=bytes.fromhex("65424555"), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xacd000f275b1a28d0c3b7dee7f114c4d28fb1636"), # noqa: E501 - ) - pre.deploy_contract( - code=bytes.fromhex("7745414245403745f31387900a8d55"), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xdfe69e96fb3aafde261565670b1fea29869c6950"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmTests/test_sha3.py b/tests/ported_static/VMTests/vmTests/test_sha3.py deleted file mode 100644 index ba6b4b0b838..00000000000 --- a/tests/ported_static/VMTests/vmTests/test_sha3.py +++ /dev/null @@ -1,432 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmTests/sha3Filler.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmTests/sha3Filler.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={ - 0: 0xBE6F1B42B34644F918560A07F959D23E532DEA5338E4B9F63DB0CAEB608018FA # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000f", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100f"): Account( - storage={ - 0: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470 # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100b"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100c"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100d"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100e"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000009", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001009"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, - ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000100a"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={ - 0: 0xC41589E7559804EA4A2080DAD19D876A024CCB05117835447D72CE08C1D020EC # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={ - 0: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470 # noqa: E501 - } - ) - }, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={ - 0: 0x6BD2DD6BD408CBEE33429358BF24FDC64612FBF8B1B4DB604518F40FFD34B607 # noqa: E501 - } - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - ], -) -@pytest.mark.pre_alloc_mutable -def test_sha3( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x0, size=0x0)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x4, size=0x5)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0xA, size=0xA)) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x3E8, size=0xFFFFF)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0xFFFFFFFFF, size=0x64)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x2710, size=0xFFFFFFFFF)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHA3( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHA3( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x2, - ), - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001007"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] (sha3 0x1000000 2) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x1000000, size=0x2)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001008"), # noqa: E501 - ) - # Source: LLL - # { - # [[ 0 ]] (sha3 960 1) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x3C0, size=0x1)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001009"), # noqa: E501 - ) - # Source: LLL - # { - # [[ 0 ]] (sha3 992 1) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x3E0, size=0x1)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100a"), # noqa: E501 - ) - # Source: LLL - # { - # [[ 0 ]] (sha3 1024 1) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x400, size=0x1)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100b"), # noqa: E501 - ) - # Source: LLL - # { - # [[ 0 ]] (sha3 1984 1) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x7C0, size=0x1)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100c"), # noqa: E501 - ) - # Source: LLL - # { - # [[ 0 ]] (sha3 2016 1) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x7E0, size=0x1)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100d"), # noqa: E501 - ) - # Source: LLL - # { - # [[ 0 ]] (sha3 2048 1) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x800, size=0x1)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100e"), # noqa: E501 - ) - # Source: LLL - # { - # [[ 0 ]] (sha3 1024 0) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x400, size=0x0)) + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000100f"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x7E0, size=0x20)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001010"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL - # { - # (call (- 0 1) (+ 0x1000 $4) 0 - # 0x0F 0x10 ; arg offset and length to get the 0x1234...f0 value - # 0x20 0x40) ; return offset and length - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=Op.SUB(0x0, 0x1), - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0xF, - args_size=0x10, - ret_offset=0x20, - ret_size=0x40, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmTests/test_suicide.py b/tests/ported_static/VMTests/vmTests/test_suicide.py deleted file mode 100644 index 1f343be3702..00000000000 --- a/tests/ported_static/VMTests/vmTests/test_suicide.py +++ /dev/null @@ -1,120 +0,0 @@ -""" -Ori Pomerantz qbzzt1@gmail.com. - -Ported from: -tests/static/state_tests/VMTests/vmTests/suicideFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmTests/suicideFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001002", # noqa: E501 - {}, - ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000001001", # noqa: E501 - {}, - ), - ], - ids=["case0", "case1", "case2"], -) -@pytest.mark.pre_alloc_mutable -def test_suicide( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=Op.CALLER) + Op.STOP, - balance=0xFF000000000000, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=0xDEAD) + Op.STOP, - balance=0x100000000000, - nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=Op.ADDRESS) + Op.STOP, - balance=0x100000000000, - nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 - ) - pre[sender] = Account(balance=0x5AF3107A4000) - # Source: LLL - # { - # (call (gas) $4 0 0 0 0 0) - # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x4), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0x100000000000, - nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/__init__.py b/tests/ported_static/__init__.py deleted file mode 100644 index 8dd614f2fa5..00000000000 --- a/tests/ported_static/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from ported_tests_v5.""" diff --git a/tests/ported_static/stArgsZeroOneBalance/__init__.py b/tests/ported_static/stArgsZeroOneBalance/__init__.py index 5b491a6262e..a45793d03c8 100644 --- a/tests/ported_static/stArgsZeroOneBalance/__init__.py +++ b/tests/ported_static/stArgsZeroOneBalance/__init__.py @@ -1 +1 @@ -"""Tests ported from stArgsZeroOneBalance.""" +"""Ported static tests: stArgsZeroOneBalance.""" # noqa: N999 diff --git a/tests/ported_static/stArgsZeroOneBalance/test_add_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_add_non_const.py index c6b8329fce0..dc88ee7d6a4 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_add_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_add_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_add_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/addNonConstFiller.yml +state_tests/stArgsZeroOneBalance/addNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,33 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/addNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/addNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, 1, - { - Address("0xf1722fe346fa35e045de07e47cf6af9bae8ade0a"): Account( - storage={0: 2} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_add_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_add_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -62,35 +71,50 @@ def test_add_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](ADD (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADD( - Op.BALANCE( - address=0xF1722FE346FA35E045DE07E47CF6AF9BAE8ADE0A - ), - Op.BALANCE( - address=0xF1722FE346FA35E045DE07E47CF6AF9BAE8ADE0A - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ADD( + Op.BALANCE(address=0xF1722FE346FA35E045DE07E47CF6AF9BAE8ADE0A), + Op.BALANCE(address=0xF1722FE346FA35E045DE07E47CF6AF9BAE8ADE0A), + ), + ) + + Op.STOP, nonce=0, - address=Address("0xf1722fe346fa35e045de07e47cf6af9bae8ade0a"), # noqa: E501 + address=Address(0xF1722FE346FA35E045DE07E47CF6AF9BAE8ADE0A), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 2})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_addmod_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_addmod_non_const.py index 51acd3ce21e..5ece0a6d078 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_addmod_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_addmod_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_addmod_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/addmodNonConstFiller.yml +state_tests/stArgsZeroOneBalance/addmodNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/addmodNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/addmodNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_addmod_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_addmod_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,38 +71,51 @@ def test_addmod_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](ADDMOD (BALANCE ) (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADDMOD( - Op.BALANCE( - address=0x92D2FC80312ACD8C37857696D2224AF18CE6F966 - ), - Op.BALANCE( - address=0x92D2FC80312ACD8C37857696D2224AF18CE6F966 - ), - Op.BALANCE( - address=0x92D2FC80312ACD8C37857696D2224AF18CE6F966 - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ADDMOD( + Op.BALANCE(address=0x92D2FC80312ACD8C37857696D2224AF18CE6F966), + Op.BALANCE(address=0x92D2FC80312ACD8C37857696D2224AF18CE6F966), + Op.BALANCE(address=0x92D2FC80312ACD8C37857696D2224AF18CE6F966), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x92d2fc80312acd8c37857696d2224af18ce6f966"), # noqa: E501 + address=Address(0x92D2FC80312ACD8C37857696D2224AF18CE6F966), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_and_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_and_non_const.py index d9d2108d1a3..6aa34d3742e 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_and_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_and_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_and_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/andNonConstFiller.yml +state_tests/stArgsZeroOneBalance/andNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,33 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/andNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/andNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, 1, - { - Address("0x4c26357e0d164b702bceb18690fc742ee1d36913"): Account( - storage={0: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_and_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_and_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -62,35 +71,50 @@ def test_and_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](AND (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.AND( - Op.BALANCE( - address=0x4C26357E0D164B702BCEB18690FC742EE1D36913 - ), - Op.BALANCE( - address=0x4C26357E0D164B702BCEB18690FC742EE1D36913 - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.AND( + Op.BALANCE(address=0x4C26357E0D164B702BCEB18690FC742EE1D36913), + Op.BALANCE(address=0x4C26357E0D164B702BCEB18690FC742EE1D36913), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x4c26357e0d164b702bceb18690fc742ee1d36913"), # noqa: E501 + address=Address(0x4C26357E0D164B702BCEB18690FC742EE1D36913), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_balance_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_balance_non_const.py index 495b5b4d721..047cbe231ed 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_balance_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_balance_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_balance_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/balanceNonConstFiller.yml +state_tests/stArgsZeroOneBalance/balanceNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stArgsZeroOneBalance/balanceNonConstFiller.yml", # noqa: E501 - ], + ["state_tests/stArgsZeroOneBalance/balanceNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_balance_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_balance_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -57,32 +71,51 @@ def test_balance_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](BALANCE (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BALANCE( - address=Op.BALANCE( - address=0xEE6A324B2ECE5EACDF881ABFDCC62B5361D0FB50, - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.BALANCE( + address=Op.BALANCE( + address=0xEE6A324B2ECE5EACDF881ABFDCC62B5361D0FB50 + ) + ), + ) + + Op.STOP, nonce=0, - address=Address("0xee6a324b2ece5eacdf881abfdcc62b5361d0fb50"), # noqa: E501 + address=Address(0xEE6A324B2ECE5EACDF881ABFDCC62B5361D0FB50), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_byte_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_byte_non_const.py index 1e9b33cc893..22f411f7fc8 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_byte_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_byte_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_byte_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/byteNonConstFiller.yml +state_tests/stArgsZeroOneBalance/byteNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/byteNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/byteNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_byte_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_byte_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,35 +71,50 @@ def test_byte_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](BYTE (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BYTE( - Op.BALANCE( - address=0x86D606901085BA78C64D2E0B16831E6AFD89DE2D - ), - Op.BALANCE( - address=0x86D606901085BA78C64D2E0B16831E6AFD89DE2D - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.BYTE( + Op.BALANCE(address=0x86D606901085BA78C64D2E0B16831E6AFD89DE2D), + Op.BALANCE(address=0x86D606901085BA78C64D2E0B16831E6AFD89DE2D), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x86d606901085ba78c64d2e0b16831e6afd89de2d"), # noqa: E501 + address=Address(0x86D606901085BA78C64D2E0B16831E6AFD89DE2D), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_call_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_call_non_const.py index 1814b462807..50d5d6e71eb 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_call_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_call_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/callNonConstFiller.yml +state_tests/stArgsZeroOneBalance/callNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,33 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/callNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/callNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( 0, - { - Address("0x7d7e1645af7df916da558f0695e9dedd23b1215e"): Account( - storage={0: 1} - ) - }, + 0, + 1, + id="-v1", ), - (1, {}), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_call_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -62,50 +71,69 @@ def test_call_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.BALANCE( - address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E, - ), - address=Op.BALANCE( - address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E, - ), - value=Op.BALANCE( - address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E, - ), - args_offset=Op.BALANCE( - address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E, - ), - args_size=Op.BALANCE( - address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E, - ), - ret_offset=Op.BALANCE( - address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E, - ), - ret_size=Op.BALANCE( - address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.BALANCE( + address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E ), - ) - + Op.STOP - ), + address=Op.BALANCE( + address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E + ), + value=Op.BALANCE( + address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E + ), + args_offset=Op.BALANCE( + address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E + ), + args_size=Op.BALANCE( + address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E + ), + ret_offset=Op.BALANCE( + address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E + ), + ret_size=Op.BALANCE( + address=0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E + ), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x7d7e1645af7df916da558f0695e9dedd23b1215e"), # noqa: E501 + address=Address(0x7D7E1645AF7DF916DA558F0695E9DEDD23B1215E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_callcode_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_callcode_non_const.py index 0aa7be477ff..00e40277640 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_callcode_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_callcode_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/callcodeNonConstFiller.yml +state_tests/stArgsZeroOneBalance/callcodeNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,35 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stArgsZeroOneBalance/callcodeNonConstFiller.yml", # noqa: E501 - ], + ["state_tests/stArgsZeroOneBalance/callcodeNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( 0, - { - Address("0x443a994e18105c3ea686d3931729a1ac3d8fdd93"): Account( - storage={0: 1} - ) - }, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", ), - (1, {}), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_callcode_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -64,50 +71,69 @@ def test_callcode_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=Op.BALANCE( - address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93, - ), - address=Op.BALANCE( - address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93, - ), - value=Op.BALANCE( - address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93, - ), - args_offset=Op.BALANCE( - address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93, - ), - args_size=Op.BALANCE( - address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93, - ), - ret_offset=Op.BALANCE( - address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93, - ), - ret_size=Op.BALANCE( - address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=Op.BALANCE( + address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93 ), - ) - + Op.STOP - ), + address=Op.BALANCE( + address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93 + ), + value=Op.BALANCE( + address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93 + ), + args_offset=Op.BALANCE( + address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93 + ), + args_size=Op.BALANCE( + address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93 + ), + ret_offset=Op.BALANCE( + address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93 + ), + ret_size=Op.BALANCE( + address=0x443A994E18105C3EA686D3931729A1AC3D8FDD93 + ), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x443a994e18105c3ea686d3931729a1ac3d8fdd93"), # noqa: E501 + address=Address(0x443A994E18105C3EA686D3931729A1AC3D8FDD93), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_calldatacopy_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_calldatacopy_non_const.py index 44c9553e358..cc1f0bc30c9 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_calldatacopy_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_calldatacopy_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_calldatacopy_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/calldatacopyNonConstFiller.yml +state_tests/stArgsZeroOneBalance/calldatacopyNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,31 +27,49 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stArgsZeroOneBalance/calldatacopyNonConstFiller.yml", # noqa: E501 - ], + ["state_tests/stArgsZeroOneBalance/calldatacopyNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_value, expected_post", + "d, g, v", [ - ("", 0, {}), - ("", 1, {}), - ("11223344", 0, {}), - ("11223344", 1, {}), + pytest.param( + 0, + 0, + 0, + id="d0-v0", + ), + pytest.param( + 0, + 0, + 1, + id="d0-v1", + ), + pytest.param( + 1, + 0, + 0, + id="d1-v0", + ), + pytest.param( + 1, + 0, + 1, + id="d1-v1", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_calldatacopy_non_const( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_calldatacopy_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -60,38 +83,55 @@ def test_calldatacopy_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (CALLDATACOPY (BALANCE ) (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALLDATACOPY( - dest_offset=Op.BALANCE( - address=0x444C2681920E1105C9104FB32249DDBB41CBA4A0, - ), - offset=Op.BALANCE( - address=0x444C2681920E1105C9104FB32249DDBB41CBA4A0, - ), - size=Op.BALANCE( - address=0x444C2681920E1105C9104FB32249DDBB41CBA4A0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATACOPY( + dest_offset=Op.BALANCE( + address=0x444C2681920E1105C9104FB32249DDBB41CBA4A0 + ), + offset=Op.BALANCE( + address=0x444C2681920E1105C9104FB32249DDBB41CBA4A0 + ), + size=Op.BALANCE( + address=0x444C2681920E1105C9104FB32249DDBB41CBA4A0 + ), + ) + + Op.STOP, nonce=0, - address=Address("0x444c2681920e1105c9104fb32249ddbb41cba4a0"), # noqa: E501 + address=Address(0x444C2681920E1105C9104FB32249DDBB41CBA4A0), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + Bytes("11223344"), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_calldataload_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_calldataload_non_const.py index 730861ab2da..0f521dfd5c0 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_calldataload_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_calldataload_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_calldataload_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/calldataloadNonConstFiller.yml +state_tests/stArgsZeroOneBalance/calldataloadNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,51 +27,49 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stArgsZeroOneBalance/calldataloadNonConstFiller.yml", # noqa: E501 - ], + ["state_tests/stArgsZeroOneBalance/calldataloadNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_value, expected_post", + "d, g, v", [ - ("", 0, {}), - ("", 1, {}), - ( - "11223344", + pytest.param( 0, - { - Address("0x148f97630d3668441f1a33a5e509f268b64f998f"): Account( - storage={ - 0: 0x1122334400000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + 0, + 0, + id="d0-v0", ), - ( - "11223344", + pytest.param( + 0, + 0, 1, - { - Address("0x148f97630d3668441f1a33a5e509f268b64f998f"): Account( - storage={ - 0: 0x2233440000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + id="d0-v1", + ), + pytest.param( + 1, + 0, + 0, + id="d1-v0", + ), + pytest.param( + 1, + 0, + 1, + id="d1-v1", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_calldataload_non_const( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_calldataload_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -80,35 +83,74 @@ def test_calldataload_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]](CALLDATALOAD (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLDATALOAD( - offset=Op.BALANCE( - address=0x148F97630D3668441F1A33A5E509F268B64F998F, - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLDATALOAD( + offset=Op.BALANCE( + address=0x148F97630D3668441F1A33A5E509F268B64F998F + ) + ), + ) + + Op.STOP, nonce=0, - address=Address("0x148f97630d3668441f1a33a5e509f268b64f998f"), # noqa: E501 + address=Address(0x148F97630D3668441F1A33A5E509F268B64F998F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x1122334400000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": 0, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": 1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x2233440000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": 0, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + Bytes("11223344"), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_codecopy_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_codecopy_non_const.py index ef0ed8f84fb..0a91590d3ba 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_codecopy_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_codecopy_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_codecopy_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/codecopyNonConstFiller.yml +state_tests/stArgsZeroOneBalance/codecopyNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stArgsZeroOneBalance/codecopyNonConstFiller.yml", # noqa: E501 - ], + ["state_tests/stArgsZeroOneBalance/codecopyNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_codecopy_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_codecopy_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -57,35 +71,54 @@ def test_codecopy_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (CODECOPY (BALANCE ) (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CODECOPY( - dest_offset=Op.BALANCE( - address=0xEDD4D7CDACB700CA3E28F8DDBCFB6AAC31F64925, - ), - offset=Op.BALANCE( - address=0xEDD4D7CDACB700CA3E28F8DDBCFB6AAC31F64925, - ), - size=Op.BALANCE( - address=0xEDD4D7CDACB700CA3E28F8DDBCFB6AAC31F64925, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY( + dest_offset=Op.BALANCE( + address=0xEDD4D7CDACB700CA3E28F8DDBCFB6AAC31F64925 + ), + offset=Op.BALANCE( + address=0xEDD4D7CDACB700CA3E28F8DDBCFB6AAC31F64925 + ), + size=Op.BALANCE( + address=0xEDD4D7CDACB700CA3E28F8DDBCFB6AAC31F64925 + ), + ) + + Op.STOP, nonce=0, - address=Address("0xedd4d7cdacb700ca3e28f8ddbcfb6aac31f64925"), # noqa: E501 + address=Address(0xEDD4D7CDACB700CA3E28F8DDBCFB6AAC31F64925), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_create_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_create_non_const.py index f697a28e8b9..07f20342560 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_create_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_create_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/createNonConstFiller.yml +state_tests/stArgsZeroOneBalance/createNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,40 +27,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/createNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/createNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( 0, - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6} - ) - }, + 0, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -69,38 +72,65 @@ def test_create_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CREATE (BALANCE 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) (BALANCE 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) (BALANCE 0x095e7baea6a6c7c4c2dfeb977efac326af552d87)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CREATE( - value=Op.BALANCE( - address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87, - ), - offset=Op.BALANCE( - address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87, - ), - size=Op.BALANCE( - address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CREATE( + value=Op.BALANCE( + address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87 ), - ) - + Op.STOP - ), + offset=Op.BALANCE( + address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87 + ), + size=Op.BALANCE( + address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87 + ), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + ), + }, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_delegatecall_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_delegatecall_non_const.py index 17a664dd254..717e9d7461c 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_delegatecall_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_delegatecall_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/delegatecallNonConstFiller.yml +state_tests/stArgsZeroOneBalance/delegatecallNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,35 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stArgsZeroOneBalance/delegatecallNonConstFiller.yml", # noqa: E501 - ], + ["state_tests/stArgsZeroOneBalance/delegatecallNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, + 0, 0, - { - Address("0x365aae42316e918da716d904fe31eea4134112c4"): Account( - storage={0: 1} - ) - }, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", ), - (1, {}), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_delegatecall_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -64,47 +71,66 @@ def test_delegatecall_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=Op.BALANCE( - address=0x365AAE42316E918DA716D904FE31EEA4134112C4, - ), - address=Op.BALANCE( - address=0x365AAE42316E918DA716D904FE31EEA4134112C4, - ), - args_offset=Op.BALANCE( - address=0x365AAE42316E918DA716D904FE31EEA4134112C4, - ), - args_size=Op.BALANCE( - address=0x365AAE42316E918DA716D904FE31EEA4134112C4, - ), - ret_offset=Op.BALANCE( - address=0x365AAE42316E918DA716D904FE31EEA4134112C4, - ), - ret_size=Op.BALANCE( - address=0x365AAE42316E918DA716D904FE31EEA4134112C4, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=Op.BALANCE( + address=0x365AAE42316E918DA716D904FE31EEA4134112C4 ), - ) - + Op.STOP - ), + address=Op.BALANCE( + address=0x365AAE42316E918DA716D904FE31EEA4134112C4 + ), + args_offset=Op.BALANCE( + address=0x365AAE42316E918DA716D904FE31EEA4134112C4 + ), + args_size=Op.BALANCE( + address=0x365AAE42316E918DA716D904FE31EEA4134112C4 + ), + ret_offset=Op.BALANCE( + address=0x365AAE42316E918DA716D904FE31EEA4134112C4 + ), + ret_size=Op.BALANCE( + address=0x365AAE42316E918DA716D904FE31EEA4134112C4 + ), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x365aae42316e918da716d904fe31eea4134112c4"), # noqa: E501 + address=Address(0x365AAE42316E918DA716D904FE31EEA4134112C4), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_div_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_div_non_const.py index 0e2f29b3c77..5f14e9d6612 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_div_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_div_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_div_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/divNonConstFiller.yml +state_tests/stArgsZeroOneBalance/divNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,33 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/divNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/divNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, 1, - { - Address("0x61fd7e3e20ceea9426c3021f589e9eb7754d486f"): Account( - storage={0: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_div_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_div_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -62,35 +71,50 @@ def test_div_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](DIV (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DIV( - Op.BALANCE( - address=0x61FD7E3E20CEEA9426C3021F589E9EB7754D486F - ), - Op.BALANCE( - address=0x61FD7E3E20CEEA9426C3021F589E9EB7754D486F - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DIV( + Op.BALANCE(address=0x61FD7E3E20CEEA9426C3021F589E9EB7754D486F), + Op.BALANCE(address=0x61FD7E3E20CEEA9426C3021F589E9EB7754D486F), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x61fd7e3e20ceea9426c3021f589e9eb7754d486f"), # noqa: E501 + address=Address(0x61FD7E3E20CEEA9426C3021F589E9EB7754D486F), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_eq_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_eq_non_const.py index 7d3c9bf0ace..d13706a6429 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_eq_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_eq_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_eq_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/eqNonConstFiller.yml +state_tests/stArgsZeroOneBalance/eqNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,40 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/eqNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/eqNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, + 0, 0, - { - Address("0x197f978175cea58c57cfab837cf028d4c8d12ef3"): Account( - storage={0: 1} - ) - }, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x197f978175cea58c57cfab837cf028d4c8d12ef3"): Account( - storage={0: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_eq_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_eq_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -69,35 +71,50 @@ def test_eq_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]](EQ (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.EQ( - Op.BALANCE( - address=0x197F978175CEA58C57CFAB837CF028D4C8D12EF3 - ), - Op.BALANCE( - address=0x197F978175CEA58C57CFAB837CF028D4C8D12EF3 - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.EQ( + Op.BALANCE(address=0x197F978175CEA58C57CFAB837CF028D4C8D12EF3), + Op.BALANCE(address=0x197F978175CEA58C57CFAB837CF028D4C8D12EF3), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x197f978175cea58c57cfab837cf028d4c8d12ef3"), # noqa: E501 + address=Address(0x197F978175CEA58C57CFAB837CF028D4C8D12EF3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_exp_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_exp_non_const.py index 23683dbbfab..ac4fc485544 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_exp_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_exp_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_exp_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/expNonConstFiller.yml +state_tests/stArgsZeroOneBalance/expNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,40 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/expNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/expNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, + 0, 0, - { - Address("0xcfcd07426079da1457676de53f8dbe738c832d7f"): Account( - storage={0: 1} - ) - }, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0xcfcd07426079da1457676de53f8dbe738c832d7f"): Account( - storage={0: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_exp_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_exp_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -69,35 +71,50 @@ def test_exp_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](EXP (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.EXP( - Op.BALANCE( - address=0xCFCD07426079DA1457676DE53F8DBE738C832D7F - ), - Op.BALANCE( - address=0xCFCD07426079DA1457676DE53F8DBE738C832D7F - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.EXP( + Op.BALANCE(address=0xCFCD07426079DA1457676DE53F8DBE738C832D7F), + Op.BALANCE(address=0xCFCD07426079DA1457676DE53F8DBE738C832D7F), + ), + ) + + Op.STOP, nonce=0, - address=Address("0xcfcd07426079da1457676de53f8dbe738c832d7f"), # noqa: E501 + address=Address(0xCFCD07426079DA1457676DE53F8DBE738C832D7F), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_extcodecopy_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_extcodecopy_non_const.py index 4af53b47e98..467dbb25bf4 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_extcodecopy_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_extcodecopy_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_extcodecopy_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/extcodecopyNonConstFiller.yml +state_tests/stArgsZeroOneBalance/extcodecopyNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stArgsZeroOneBalance/extcodecopyNonConstFiller.yml", # noqa: E501 - ], + ["state_tests/stArgsZeroOneBalance/extcodecopyNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_extcodecopy_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_extcodecopy_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -57,38 +71,57 @@ def test_extcodecopy_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (EXTCODECOPY (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.EXTCODECOPY( - address=Op.BALANCE( - address=0xF7A7FBF01DBCFEFDFD9AE65E4892C576994F31BF, - ), - dest_offset=Op.BALANCE( - address=0xF7A7FBF01DBCFEFDFD9AE65E4892C576994F31BF, - ), - offset=Op.BALANCE( - address=0xF7A7FBF01DBCFEFDFD9AE65E4892C576994F31BF, - ), - size=Op.BALANCE( - address=0xF7A7FBF01DBCFEFDFD9AE65E4892C576994F31BF, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.EXTCODECOPY( + address=Op.BALANCE( + address=0xF7A7FBF01DBCFEFDFD9AE65E4892C576994F31BF + ), + dest_offset=Op.BALANCE( + address=0xF7A7FBF01DBCFEFDFD9AE65E4892C576994F31BF + ), + offset=Op.BALANCE( + address=0xF7A7FBF01DBCFEFDFD9AE65E4892C576994F31BF + ), + size=Op.BALANCE( + address=0xF7A7FBF01DBCFEFDFD9AE65E4892C576994F31BF + ), + ) + + Op.STOP, nonce=0, - address=Address("0xf7a7fbf01dbcfefdfd9ae65e4892c576994f31bf"), # noqa: E501 + address=Address(0xF7A7FBF01DBCFEFDFD9AE65E4892C576994F31BF), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_extcodesize_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_extcodesize_non_const.py index aab0b762066..09dd1a82bfb 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_extcodesize_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_extcodesize_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_extcodesize_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/extcodesizeNonConstFiller.yml +state_tests/stArgsZeroOneBalance/extcodesizeNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stArgsZeroOneBalance/extcodesizeNonConstFiller.yml", # noqa: E501 - ], + ["state_tests/stArgsZeroOneBalance/extcodesizeNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_extcodesize_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_extcodesize_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -57,32 +71,51 @@ def test_extcodesize_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](EXTCODESIZE (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.EXTCODESIZE( - address=Op.BALANCE( - address=0x4CD5F424AC9E070C2A651452C5666CF8A05F27A7, - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.EXTCODESIZE( + address=Op.BALANCE( + address=0x4CD5F424AC9E070C2A651452C5666CF8A05F27A7 + ) + ), + ) + + Op.STOP, nonce=0, - address=Address("0x4cd5f424ac9e070c2a651452c5666cf8a05f27a7"), # noqa: E501 + address=Address(0x4CD5F424AC9E070C2A651452C5666CF8A05F27A7), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_gt_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_gt_non_const.py index b5da12e0e5f..0f5c50be9a5 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_gt_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_gt_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_gt_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/gtNonConstFiller.yml +state_tests/stArgsZeroOneBalance/gtNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/gtNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/gtNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_gt_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_gt_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,35 +71,50 @@ def test_gt_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](GT (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.GT( - Op.BALANCE( - address=0xF5176EDE711CCF689D689BFCEBDAE4C04910517E - ), - Op.BALANCE( - address=0xF5176EDE711CCF689D689BFCEBDAE4C04910517E - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.GT( + Op.BALANCE(address=0xF5176EDE711CCF689D689BFCEBDAE4C04910517E), + Op.BALANCE(address=0xF5176EDE711CCF689D689BFCEBDAE4C04910517E), + ), + ) + + Op.STOP, nonce=0, - address=Address("0xf5176ede711ccf689d689bfcebdae4c04910517e"), # noqa: E501 + address=Address(0xF5176EDE711CCF689D689BFCEBDAE4C04910517E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_iszero_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_iszero_non_const.py index 04fcc30eca3..0e8bbc2e666 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_iszero_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_iszero_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_iszero_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/iszeroNonConstFiller.yml +state_tests/stArgsZeroOneBalance/iszeroNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,33 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/iszeroNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/iszeroNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, 0, - { - Address("0x2623813a00dfdc5bc378481671d8d9e38ad9956c"): Account( - storage={0: 1} - ) - }, + 1, + id="-v1", ), - (1, {}), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_iszero_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_iszero_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -62,32 +71,49 @@ def test_iszero_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]](ISZERO (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ISZERO( - Op.BALANCE( - address=0x2623813A00DFDC5BC378481671D8D9E38AD9956C - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ISZERO( + Op.BALANCE(address=0x2623813A00DFDC5BC378481671D8D9E38AD9956C) + ), + ) + + Op.STOP, nonce=0, - address=Address("0x2623813a00dfdc5bc378481671d8d9e38ad9956c"), # noqa: E501 + address=Address(0x2623813A00DFDC5BC378481671D8D9E38AD9956C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_jump_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_jump_non_const.py index f071fef50c4..3f2cc19767b 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_jump_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_jump_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_jump_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/jumpNonConstFiller.yml +state_tests/stArgsZeroOneBalance/jumpNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,25 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/jumpNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/jumpNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value", + "d, g, v", [ - 0, - 1, + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_jump_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_jump_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -54,29 +71,46 @@ def test_jump_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (JUMP (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMP( - pc=Op.BALANCE( - address=0xA82AE24D0D34B26FCB664DACD3E18371C9315E79 - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMP( + pc=Op.BALANCE(address=0xA82AE24D0D34B26FCB664DACD3E18371C9315E79) + ) + + Op.STOP, nonce=0, - address=Address("0xa82ae24d0d34b26fcb664dacd3e18371c9315e79"), # noqa: E501 + address=Address(0xA82AE24D0D34B26FCB664DACD3E18371C9315E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post: dict = {} - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_jumpi_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_jumpi_non_const.py index 5d6d43568dc..189ce2386ef 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_jumpi_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_jumpi_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_jumpi_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/jumpiNonConstFiller.yml +state_tests/stArgsZeroOneBalance/jumpiNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/jumpiNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/jumpiNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_jumpi_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_jumpi_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,32 +71,49 @@ def test_jumpi_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (JUMPI (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPI( - pc=Op.BALANCE( - address=0xEEF87925C20B97E4EE58E24DD39D7C09785362BA - ), - condition=Op.BALANCE( - address=0xEEF87925C20B97E4EE58E24DD39D7C09785362BA, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=Op.BALANCE(address=0xEEF87925C20B97E4EE58E24DD39D7C09785362BA), + condition=Op.BALANCE( + address=0xEEF87925C20B97E4EE58E24DD39D7C09785362BA + ), + ) + + Op.STOP, nonce=0, - address=Address("0xeef87925c20b97e4ee58e24dd39d7c09785362ba"), # noqa: E501 + address=Address(0xEEF87925C20B97E4EE58E24DD39D7C09785362BA), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_log0_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_log0_non_const.py index 7a654bd4c68..58db051b494 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_log0_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_log0_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log0_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/log0NonConstFiller.yml +state_tests/stArgsZeroOneBalance/log0NonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/log0NonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/log0NonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_log0_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log0_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,32 +71,51 @@ def test_log0_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (LOG0 (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.LOG0( - offset=Op.BALANCE( - address=0x39332A3856E9E6DBAEBCDBD67B72B3E7209FFCB2, - ), - size=Op.BALANCE( - address=0x39332A3856E9E6DBAEBCDBD67B72B3E7209FFCB2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.LOG0( + offset=Op.BALANCE( + address=0x39332A3856E9E6DBAEBCDBD67B72B3E7209FFCB2 + ), + size=Op.BALANCE( + address=0x39332A3856E9E6DBAEBCDBD67B72B3E7209FFCB2 + ), + ) + + Op.STOP, nonce=0, - address=Address("0x39332a3856e9e6dbaebcdbd67b72b3e7209ffcb2"), # noqa: E501 + address=Address(0x39332A3856E9E6DBAEBCDBD67B72B3E7209FFCB2), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_log1_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_log1_non_const.py index e30c28acec2..b56919288b4 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_log1_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_log1_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log1_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/log1NonConstFiller.yml +state_tests/stArgsZeroOneBalance/log1NonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/log1NonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/log1NonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_log1_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log1_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,35 +71,54 @@ def test_log1_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (LOG1 (BALANCE ) (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.LOG1( - offset=Op.BALANCE( - address=0x99914055ED765EA48582ACC6C8196D07835DA7D7, - ), - size=Op.BALANCE( - address=0x99914055ED765EA48582ACC6C8196D07835DA7D7, - ), - topic_1=Op.BALANCE( - address=0x99914055ED765EA48582ACC6C8196D07835DA7D7, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.LOG1( + offset=Op.BALANCE( + address=0x99914055ED765EA48582ACC6C8196D07835DA7D7 + ), + size=Op.BALANCE( + address=0x99914055ED765EA48582ACC6C8196D07835DA7D7 + ), + topic_1=Op.BALANCE( + address=0x99914055ED765EA48582ACC6C8196D07835DA7D7 + ), + ) + + Op.STOP, nonce=0, - address=Address("0x99914055ed765ea48582acc6c8196d07835da7d7"), # noqa: E501 + address=Address(0x99914055ED765EA48582ACC6C8196D07835DA7D7), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_log2_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_log2_non_const.py index 3025fafb7d6..3f62eda5c24 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_log2_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_log2_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log2_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/log2NonConstFiller.yml +state_tests/stArgsZeroOneBalance/log2NonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/log2NonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/log2NonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_log2_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log2_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,38 +71,55 @@ def test_log2_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (LOG2 (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.LOG2( - offset=Op.BALANCE( - address=0x7631BF0FC6669FE93C41401498B2612BBF41CF, - ), - size=Op.BALANCE( - address=0x7631BF0FC6669FE93C41401498B2612BBF41CF - ), - topic_1=Op.BALANCE( - address=0x7631BF0FC6669FE93C41401498B2612BBF41CF, - ), - topic_2=Op.BALANCE( - address=0x7631BF0FC6669FE93C41401498B2612BBF41CF, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.LOG2( + offset=Op.BALANCE( + address=0x7631BF0FC6669FE93C41401498B2612BBF41CF + ), + size=Op.BALANCE(address=0x7631BF0FC6669FE93C41401498B2612BBF41CF), + topic_1=Op.BALANCE( + address=0x7631BF0FC6669FE93C41401498B2612BBF41CF + ), + topic_2=Op.BALANCE( + address=0x7631BF0FC6669FE93C41401498B2612BBF41CF + ), + ) + + Op.STOP, nonce=0, - address=Address("0x007631bf0fc6669fe93c41401498b2612bbf41cf"), # noqa: E501 + address=Address(0x007631BF0FC6669FE93C41401498B2612BBF41CF), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_log3_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_log3_non_const.py index cf77e3ab260..0833cc82b95 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_log3_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_log3_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log3_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/log3NonConstFiller.yml +state_tests/stArgsZeroOneBalance/log3NonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/log3NonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/log3NonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_log3_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,41 +71,58 @@ def test_log3_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (LOG3 (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.LOG3( - offset=Op.BALANCE( - address=0x2724F6CB897BBC3E063A03633D2CE4E83DA8678, - ), - size=Op.BALANCE( - address=0x2724F6CB897BBC3E063A03633D2CE4E83DA8678 - ), - topic_1=Op.BALANCE( - address=0x2724F6CB897BBC3E063A03633D2CE4E83DA8678, - ), - topic_2=Op.BALANCE( - address=0x2724F6CB897BBC3E063A03633D2CE4E83DA8678, - ), - topic_3=Op.BALANCE( - address=0x2724F6CB897BBC3E063A03633D2CE4E83DA8678, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.LOG3( + offset=Op.BALANCE( + address=0x2724F6CB897BBC3E063A03633D2CE4E83DA8678 + ), + size=Op.BALANCE(address=0x2724F6CB897BBC3E063A03633D2CE4E83DA8678), + topic_1=Op.BALANCE( + address=0x2724F6CB897BBC3E063A03633D2CE4E83DA8678 + ), + topic_2=Op.BALANCE( + address=0x2724F6CB897BBC3E063A03633D2CE4E83DA8678 + ), + topic_3=Op.BALANCE( + address=0x2724F6CB897BBC3E063A03633D2CE4E83DA8678 + ), + ) + + Op.STOP, nonce=0, - address=Address("0x02724f6cb897bbc3e063a03633d2ce4e83da8678"), # noqa: E501 + address=Address(0x02724F6CB897BBC3E063A03633D2CE4E83DA8678), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_lt_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_lt_non_const.py index 67f43fad564..ae40ef0a737 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_lt_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_lt_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_lt_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/ltNonConstFiller.yml +state_tests/stArgsZeroOneBalance/ltNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/ltNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/ltNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_lt_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_lt_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,35 +71,50 @@ def test_lt_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]](LT (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.LT( - Op.BALANCE( - address=0x2538BC735B54983A8F85ED92072DC2D0F07A2797 - ), - Op.BALANCE( - address=0x2538BC735B54983A8F85ED92072DC2D0F07A2797 - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.LT( + Op.BALANCE(address=0x2538BC735B54983A8F85ED92072DC2D0F07A2797), + Op.BALANCE(address=0x2538BC735B54983A8F85ED92072DC2D0F07A2797), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x2538bc735b54983a8f85ed92072dc2d0f07a2797"), # noqa: E501 + address=Address(0x2538BC735B54983A8F85ED92072DC2D0F07A2797), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_mload_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_mload_non_const.py index d9cf755a59e..9e87e6a1aa5 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_mload_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_mload_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/mloadNonConstFiller.yml +state_tests/stArgsZeroOneBalance/mloadNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/mloadNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/mloadNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mload_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,32 +71,51 @@ def test_mload_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]](MLOAD (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MLOAD( - offset=Op.BALANCE( - address=0x14DD543A6D90CE85F819B764F0F38AFC1DF76C48, - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MLOAD( + offset=Op.BALANCE( + address=0x14DD543A6D90CE85F819B764F0F38AFC1DF76C48 + ) + ), + ) + + Op.STOP, nonce=0, - address=Address("0x14dd543a6d90ce85f819b764f0f38afc1df76c48"), # noqa: E501 + address=Address(0x14DD543A6D90CE85F819B764F0F38AFC1DF76C48), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_mod_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_mod_non_const.py index 8964681d74b..c00fed827db 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_mod_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_mod_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mod_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/modNonConstFiller.yml +state_tests/stArgsZeroOneBalance/modNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/modNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/modNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mod_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mod_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,35 +71,50 @@ def test_mod_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]](MOD (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MOD( - Op.BALANCE( - address=0x1FD117CCD0620EDE7967DAF31CDD8926B5B4EF5C - ), - Op.BALANCE( - address=0x1FD117CCD0620EDE7967DAF31CDD8926B5B4EF5C - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MOD( + Op.BALANCE(address=0x1FD117CCD0620EDE7967DAF31CDD8926B5B4EF5C), + Op.BALANCE(address=0x1FD117CCD0620EDE7967DAF31CDD8926B5B4EF5C), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x1fd117ccd0620ede7967daf31cdd8926b5b4ef5c"), # noqa: E501 + address=Address(0x1FD117CCD0620EDE7967DAF31CDD8926B5B4EF5C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_mstore8_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_mstore8_non_const.py index 73b35e922c5..5c0c1874156 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_mstore8_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_mstore8_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mstore8_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/mstore8NonConstFiller.yml +state_tests/stArgsZeroOneBalance/mstore8NonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stArgsZeroOneBalance/mstore8NonConstFiller.yml", # noqa: E501 - ], + ["state_tests/stArgsZeroOneBalance/mstore8NonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mstore8_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mstore8_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -57,32 +71,51 @@ def test_mstore8_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE8 (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE8( - offset=Op.BALANCE( - address=0xF9BB7A1F4D45DD4F87D9C94A491CE7606BA41276, - ), - value=Op.BALANCE( - address=0xF9BB7A1F4D45DD4F87D9C94A491CE7606BA41276, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8( + offset=Op.BALANCE( + address=0xF9BB7A1F4D45DD4F87D9C94A491CE7606BA41276 + ), + value=Op.BALANCE( + address=0xF9BB7A1F4D45DD4F87D9C94A491CE7606BA41276 + ), + ) + + Op.STOP, nonce=0, - address=Address("0xf9bb7a1f4d45dd4f87d9c94a491ce7606ba41276"), # noqa: E501 + address=Address(0xF9BB7A1F4D45DD4F87D9C94A491CE7606BA41276), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_mstore_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_mstore_non_const.py index f98462b09de..695a50beda3 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_mstore_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_mstore_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mstore_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/mstoreNonConstFiller.yml +state_tests/stArgsZeroOneBalance/mstoreNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/mstoreNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/mstoreNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mstore_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mstore_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,32 +71,51 @@ def test_mstore_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=Op.BALANCE( - address=0x2737DAE115785244CFD2540FD942DC496B37CB71, - ), - value=Op.BALANCE( - address=0x2737DAE115785244CFD2540FD942DC496B37CB71, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=Op.BALANCE( + address=0x2737DAE115785244CFD2540FD942DC496B37CB71 + ), + value=Op.BALANCE( + address=0x2737DAE115785244CFD2540FD942DC496B37CB71 + ), + ) + + Op.STOP, nonce=0, - address=Address("0x2737dae115785244cfd2540fd942dc496b37cb71"), # noqa: E501 + address=Address(0x2737DAE115785244CFD2540FD942DC496B37CB71), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_mul_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_mul_non_const.py index ee0ad06af60..7c3111f0d28 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_mul_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_mul_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mul_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/mulNonConstFiller.yml +state_tests/stArgsZeroOneBalance/mulNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,33 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/mulNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/mulNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, 1, - { - Address("0xb64c7a374e0080660379ebd421077ab5866cc9ef"): Account( - storage={0: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mul_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mul_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -62,35 +71,50 @@ def test_mul_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](MUL (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MUL( - Op.BALANCE( - address=0xB64C7A374E0080660379EBD421077AB5866CC9EF - ), - Op.BALANCE( - address=0xB64C7A374E0080660379EBD421077AB5866CC9EF - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MUL( + Op.BALANCE(address=0xB64C7A374E0080660379EBD421077AB5866CC9EF), + Op.BALANCE(address=0xB64C7A374E0080660379EBD421077AB5866CC9EF), + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb64c7a374e0080660379ebd421077ab5866cc9ef"), # noqa: E501 + address=Address(0xB64C7A374E0080660379EBD421077AB5866CC9EF), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_mulmod_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_mulmod_non_const.py index 329467e72ab..59985f33687 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_mulmod_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_mulmod_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mulmod_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/mulmodNonConstFiller.yml +state_tests/stArgsZeroOneBalance/mulmodNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/mulmodNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/mulmodNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mulmod_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mulmod_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,38 +71,51 @@ def test_mulmod_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](MULMOD (BALANCE ) (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.MULMOD( - Op.BALANCE( - address=0x9793633B7AD5CA376BA862E9D9B098A0EF8E71D8 - ), - Op.BALANCE( - address=0x9793633B7AD5CA376BA862E9D9B098A0EF8E71D8 - ), - Op.BALANCE( - address=0x9793633B7AD5CA376BA862E9D9B098A0EF8E71D8 - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MULMOD( + Op.BALANCE(address=0x9793633B7AD5CA376BA862E9D9B098A0EF8E71D8), + Op.BALANCE(address=0x9793633B7AD5CA376BA862E9D9B098A0EF8E71D8), + Op.BALANCE(address=0x9793633B7AD5CA376BA862E9D9B098A0EF8E71D8), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x9793633b7ad5ca376ba862e9d9b098a0ef8e71d8"), # noqa: E501 + address=Address(0x9793633B7AD5CA376BA862E9D9B098A0EF8E71D8), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_not_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_not_non_const.py index 66f94eadabd..51221b43f20 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_not_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_not_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_not_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/notNonConstFiller.yml +state_tests/stArgsZeroOneBalance/notNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,44 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/notNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/notNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( 0, - { - Address("0xcb87599782f7101d77a9b56283a67cd13fa0d97e"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, + 0, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0xcb87599782f7101d77a9b56283a67cd13fa0d97e"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - } - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_not_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_not_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -73,32 +71,61 @@ def test_not_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](NOT (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.NOT( - Op.BALANCE( - address=0xCB87599782F7101D77A9B56283A67CD13FA0D97E - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.NOT( + Op.BALANCE(address=0xCB87599782F7101D77A9B56283A67CD13FA0D97E) + ), + ) + + Op.STOP, nonce=0, - address=Address("0xcb87599782f7101d77a9b56283a67cd13fa0d97e"), # noqa: E501 + address=Address(0xCB87599782F7101D77A9B56283A67CD13FA0D97E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_or_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_or_non_const.py index edacf12007e..a5532b43e08 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_or_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_or_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_or_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/orNonConstFiller.yml +state_tests/stArgsZeroOneBalance/orNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,33 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/orNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/orNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, 1, - { - Address("0x60da449405b736a6920d45831cd6b173520fdf34"): Account( - storage={0: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_or_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_or_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -62,35 +71,50 @@ def test_or_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](OR (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.OR( - Op.BALANCE( - address=0x60DA449405B736A6920D45831CD6B173520FDF34 - ), - Op.BALANCE( - address=0x60DA449405B736A6920D45831CD6B173520FDF34 - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.OR( + Op.BALANCE(address=0x60DA449405B736A6920D45831CD6B173520FDF34), + Op.BALANCE(address=0x60DA449405B736A6920D45831CD6B173520FDF34), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x60da449405b736a6920d45831cd6b173520fdf34"), # noqa: E501 + address=Address(0x60DA449405B736A6920D45831CD6B173520FDF34), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_return_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_return_non_const.py index 49d75bba32e..56dc8ca8bec 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_return_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_return_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_return_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/returnNonConstFiller.yml +state_tests/stArgsZeroOneBalance/returnNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/returnNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/returnNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_return_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_return_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,32 +71,51 @@ def test_return_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (RETURN (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.RETURN( - offset=Op.BALANCE( - address=0xC40D7523B9B65560BE87507FD6FF17AB29DFCFF0, - ), - size=Op.BALANCE( - address=0xC40D7523B9B65560BE87507FD6FF17AB29DFCFF0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=Op.BALANCE( + address=0xC40D7523B9B65560BE87507FD6FF17AB29DFCFF0 + ), + size=Op.BALANCE( + address=0xC40D7523B9B65560BE87507FD6FF17AB29DFCFF0 + ), + ) + + Op.STOP, nonce=0, - address=Address("0xc40d7523b9b65560be87507fd6ff17ab29dfcff0"), # noqa: E501 + address=Address(0xC40D7523B9B65560BE87507FD6FF17AB29DFCFF0), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_sdiv_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_sdiv_non_const.py index 5cba553d69c..3c4672de6ca 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_sdiv_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_sdiv_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sdiv_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/sdivNonConstFiller.yml +state_tests/stArgsZeroOneBalance/sdivNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,33 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/sdivNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/sdivNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, 1, - { - Address("0xa652fe2c234233d6eb3d62b283d56f67c76635bd"): Account( - storage={0: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_sdiv_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sdiv_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -62,35 +71,50 @@ def test_sdiv_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](SDIV (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SDIV( - Op.BALANCE( - address=0xA652FE2C234233D6EB3D62B283D56F67C76635BD - ), - Op.BALANCE( - address=0xA652FE2C234233D6EB3D62B283D56F67C76635BD - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SDIV( + Op.BALANCE(address=0xA652FE2C234233D6EB3D62B283D56F67C76635BD), + Op.BALANCE(address=0xA652FE2C234233D6EB3D62B283D56F67C76635BD), + ), + ) + + Op.STOP, nonce=0, - address=Address("0xa652fe2c234233d6eb3d62b283d56f67c76635bd"), # noqa: E501 + address=Address(0xA652FE2C234233D6EB3D62B283D56F67C76635BD), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_sgt_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_sgt_non_const.py index 4d5b3574881..c3e46f512dd 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_sgt_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_sgt_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sgt_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/sgtNonConstFiller.yml +state_tests/stArgsZeroOneBalance/sgtNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/sgtNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/sgtNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_sgt_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sgt_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,35 +71,50 @@ def test_sgt_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](SGT (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SGT( - Op.BALANCE( - address=0x696E25C48BC937162438ECD7B3CCD13B4EA2B98B - ), - Op.BALANCE( - address=0x696E25C48BC937162438ECD7B3CCD13B4EA2B98B - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SGT( + Op.BALANCE(address=0x696E25C48BC937162438ECD7B3CCD13B4EA2B98B), + Op.BALANCE(address=0x696E25C48BC937162438ECD7B3CCD13B4EA2B98B), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x696e25c48bc937162438ecd7b3ccd13b4ea2b98b"), # noqa: E501 + address=Address(0x696E25C48BC937162438ECD7B3CCD13B4EA2B98B), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_sha3_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_sha3_non_const.py index 2df74590d4f..12c10c258da 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_sha3_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_sha3_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sha3_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/sha3NonConstFiller.yml +state_tests/stArgsZeroOneBalance/sha3NonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,44 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/sha3NonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/sha3NonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( 0, - { - Address("0x8f7eceea4b37c6f7faf5d64d64fbffbcd14b79a4"): Account( - storage={ - 0: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470 # noqa: E501 - } - ) - }, + 0, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x8f7eceea4b37c6f7faf5d64d64fbffbcd14b79a4"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_sha3_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sha3_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -73,35 +71,66 @@ def test_sha3_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](KECCAK256 (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHA3( - offset=Op.BALANCE( - address=0x8F7ECEEA4B37C6F7FAF5D64D64FBFFBCD14B79A4, - ), - size=Op.BALANCE( - address=0x8F7ECEEA4B37C6F7FAF5D64D64FBFFBCD14B79A4, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHA3( + offset=Op.BALANCE( + address=0x8F7ECEEA4B37C6F7FAF5D64D64FBFFBCD14B79A4 ), - ) - + Op.STOP - ), + size=Op.BALANCE( + address=0x8F7ECEEA4B37C6F7FAF5D64D64FBFFBCD14B79A4 + ), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x8f7eceea4b37c6f7faf5d64d64fbffbcd14b79a4"), # noqa: E501 + address=Address(0x8F7ECEEA4B37C6F7FAF5D64D64FBFFBCD14B79A4), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_signext_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_signext_non_const.py index 0a9f228c1ed..e054c35c391 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_signext_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_signext_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_signext_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/signextNonConstFiller.yml +state_tests/stArgsZeroOneBalance/signextNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,35 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stArgsZeroOneBalance/signextNonConstFiller.yml", # noqa: E501 - ], + ["state_tests/stArgsZeroOneBalance/signextNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, 1, - { - Address("0x36325c04eb27abe09cffaf61ac7823254b193ac8"): Account( - storage={0: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_signext_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_signext_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -64,35 +71,50 @@ def test_signext_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](SIGNEXTEND (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SIGNEXTEND( - Op.BALANCE( - address=0x36325C04EB27ABE09CFFAF61AC7823254B193AC8 - ), - Op.BALANCE( - address=0x36325C04EB27ABE09CFFAF61AC7823254B193AC8 - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SIGNEXTEND( + Op.BALANCE(address=0x36325C04EB27ABE09CFFAF61AC7823254B193AC8), + Op.BALANCE(address=0x36325C04EB27ABE09CFFAF61AC7823254B193AC8), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x36325c04eb27abe09cffaf61ac7823254b193ac8"), # noqa: E501 + address=Address(0x36325C04EB27ABE09CFFAF61AC7823254B193AC8), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_sload_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_sload_non_const.py index d49c330cd09..46d0645894e 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_sload_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_sload_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sload_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/sloadNonConstFiller.yml +state_tests/stArgsZeroOneBalance/sloadNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/sloadNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/sloadNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_sload_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sload_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,32 +71,51 @@ def test_sload_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 3 ]] (SLOAD (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x3, - value=Op.SLOAD( - key=Op.BALANCE( - address=0x14F6D924BBF6563DD087359472133FFE566E60B1, - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x3, + value=Op.SLOAD( + key=Op.BALANCE( + address=0x14F6D924BBF6563DD087359472133FFE566E60B1 + ) + ), + ) + + Op.STOP, nonce=0, - address=Address("0x14f6d924bbf6563dd087359472133ffe566e60b1"), # noqa: E501 + address=Address(0x14F6D924BBF6563DD087359472133FFE566E60B1), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={3: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={3: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_slt_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_slt_non_const.py index d4c37b2a54a..3cadd977b14 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_slt_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_slt_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_slt_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/sltNonConstFiller.yml +state_tests/stArgsZeroOneBalance/sltNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/sltNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/sltNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_slt_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_slt_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,35 +71,50 @@ def test_slt_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](SLT (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SLT( - Op.BALANCE( - address=0x31D72308BB942D557F1F7AD5987321FB3D75C896 - ), - Op.BALANCE( - address=0x31D72308BB942D557F1F7AD5987321FB3D75C896 - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SLT( + Op.BALANCE(address=0x31D72308BB942D557F1F7AD5987321FB3D75C896), + Op.BALANCE(address=0x31D72308BB942D557F1F7AD5987321FB3D75C896), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x31d72308bb942d557f1f7ad5987321fb3d75c896"), # noqa: E501 + address=Address(0x31D72308BB942D557F1F7AD5987321FB3D75C896), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_smod_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_smod_non_const.py index 0d0497c6563..7189d613739 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_smod_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_smod_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_smod_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/smodNonConstFiller.yml +state_tests/stArgsZeroOneBalance/smodNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/smodNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/smodNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_smod_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_smod_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,35 +71,50 @@ def test_smod_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](SMOD (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SMOD( - Op.BALANCE( - address=0xB5ACE6E2AD4512822412E4E09FA278096CE8C63D - ), - Op.BALANCE( - address=0xB5ACE6E2AD4512822412E4E09FA278096CE8C63D - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SMOD( + Op.BALANCE(address=0xB5ACE6E2AD4512822412E4E09FA278096CE8C63D), + Op.BALANCE(address=0xB5ACE6E2AD4512822412E4E09FA278096CE8C63D), + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb5ace6e2ad4512822412e4e09fa278096ce8c63d"), # noqa: E501 + address=Address(0xB5ACE6E2AD4512822412E4E09FA278096CE8C63D), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_sstore_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_sstore_non_const.py index 97eb61a188a..cbf15ed8db1 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_sstore_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_sstore_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sstore_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/sstoreNonConstFiller.yml +state_tests/stArgsZeroOneBalance/sstoreNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,33 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/sstoreNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/sstoreNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, 1, - { - Address("0x82d3d8be7168e697ed33f2a50810fa614393171e"): Account( - storage={1: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_sstore_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sstore_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -62,32 +71,49 @@ def test_sstore_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (SSTORE (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.BALANCE( - address=0x82D3D8BE7168E697ED33F2A50810FA614393171E - ), - value=Op.BALANCE( - address=0x82D3D8BE7168E697ED33F2A50810FA614393171E, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.BALANCE(address=0x82D3D8BE7168E697ED33F2A50810FA614393171E), + value=Op.BALANCE( + address=0x82D3D8BE7168E697ED33F2A50810FA614393171E + ), + ) + + Op.STOP, nonce=0, - address=Address("0x82d3d8be7168e697ed33f2a50810fa614393171e"), # noqa: E501 + address=Address(0x82D3D8BE7168E697ED33F2A50810FA614393171E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_sub_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_sub_non_const.py index 4c6d6d9ae7c..ee8e39636b5 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_sub_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_sub_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sub_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/subNonConstFiller.yml +state_tests/stArgsZeroOneBalance/subNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/subNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/subNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_sub_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sub_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,35 +71,50 @@ def test_sub_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](SUB (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.BALANCE( - address=0xF9A85AC17DF3D37B898990AED6481E88D77DFA36 - ), - Op.BALANCE( - address=0xF9A85AC17DF3D37B898990AED6481E88D77DFA36 - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.BALANCE(address=0xF9A85AC17DF3D37B898990AED6481E88D77DFA36), + Op.BALANCE(address=0xF9A85AC17DF3D37B898990AED6481E88D77DFA36), + ), + ) + + Op.STOP, nonce=0, - address=Address("0xf9a85ac17df3d37b898990aed6481e88d77dfa36"), # noqa: E501 + address=Address(0xF9A85AC17DF3D37B898990AED6481E88D77DFA36), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_suicide_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_suicide_non_const.py index 5f1ffb1cad6..f4b82e58e0e 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_suicide_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_suicide_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_suicide_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/suicideNonConstFiller.yml +state_tests/stArgsZeroOneBalance/suicideNonConstFiller.yml """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stArgsZeroOneBalance/suicideNonConstFiller.yml", # noqa: E501 - ], + ["state_tests/stArgsZeroOneBalance/suicideNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_suicide_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_suicide_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -57,29 +69,43 @@ def test_suicide_non_const( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT (BALANCE 0x095e7baea6a6c7c4c2dfeb977efac326af552d87)) } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT( - address=Op.BALANCE( - address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=Op.BALANCE( + address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87 ) - + Op.STOP - ), + ) + + Op.STOP, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_0: Account( + storage={}, + code=bytes.fromhex( + "73095e7baea6a6c7c4c2dfeb977efac326af552d8731ff00" + ), + balance=0, + nonce=0, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stArgsZeroOneBalance/test_xor_non_const.py b/tests/ported_static/stArgsZeroOneBalance/test_xor_non_const.py index 4c331809b55..a9aeaa75f22 100644 --- a/tests/ported_static/stArgsZeroOneBalance/test_xor_non_const.py +++ b/tests/ported_static/stArgsZeroOneBalance/test_xor_non_const.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_xor_non_const. Ported from: -tests/static/state_tests/stArgsZeroOneBalance/xorNonConstFiller.yml +state_tests/stArgsZeroOneBalance/xorNonConstFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stArgsZeroOneBalance/xorNonConstFiller.yml"], + ["state_tests/stArgsZeroOneBalance/xorNonConstFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - (1, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_xor_non_const( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_xor_non_const.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -55,35 +71,50 @@ def test_xor_non_const( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]](XOR (BALANCE ) (BALANCE )) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.XOR( - Op.BALANCE( - address=0x49A48E464281CDA5C9CA67F9A29A7CBD7CF86590 - ), - Op.BALANCE( - address=0x49A48E464281CDA5C9CA67F9A29A7CBD7CF86590 - ), - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.XOR( + Op.BALANCE(address=0x49A48E464281CDA5C9CA67F9A29A7CBD7CF86590), + Op.BALANCE(address=0x49A48E464281CDA5C9CA67F9A29A7CBD7CF86590), + ), + ) + + Op.STOP, nonce=0, - address=Address("0x49a48e464281cda5c9ca67f9a29a7cbd7cf86590"), # noqa: E501 + address=Address(0x49A48E464281CDA5C9CA67F9A29A7CBD7CF86590), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [400000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=400000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stAttackTest/__init__.py b/tests/ported_static/stAttackTest/__init__.py index 09aa8f34e95..b4c8d23a81c 100644 --- a/tests/ported_static/stAttackTest/__init__.py +++ b/tests/ported_static/stAttackTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stAttackTest.""" +"""Ported static tests: stAttackTest.""" # noqa: N999 diff --git a/tests/ported_static/stAttackTest/test_contract_creation_spam.py b/tests/ported_static/stAttackTest/test_contract_creation_spam.py index 22f348f62fa..6129e04b060 100644 --- a/tests/ported_static/stAttackTest/test_contract_creation_spam.py +++ b/tests/ported_static/stAttackTest/test_contract_creation_spam.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_contract_creation_spam. Ported from: -tests/static/state_tests/stAttackTest/ContractCreationSpamFiller.json +state_tests/stAttackTest/ContractCreationSpamFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stAttackTest/ContractCreationSpamFiller.json"], + ["state_tests/stAttackTest/ContractCreationSpamFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.slow @@ -31,8 +32,9 @@ def test_contract_creation_spam( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_contract_creation_spam.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6A0A0FC761C612C340A0E98D33B37A75E5268472) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,595 +48,623 @@ def test_contract_creation_spam( gas_limit=100000000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6004600C60003960046000F3600035FF00000000000000000000000000000000, # noqa: E501 - ) - + Op.CREATE(value=0x0, offset=0x0, size=0x20) - + Op.SLOAD(key=0x0) - + Op.DUP1 - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1] - + Op.ADD - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x6, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x20, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=Op.PUSH3[0x2F], condition=Op.LT(0x6000, Op.GAS)) - + Op.PUSH1[0x0] - + Op.SSTORE - ), + # Source: hex + # 0x7f6004600c60003960046000f3600035ff00000000000000000000000000000000600052602060006000f0600054805b6001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1506001018060005260008060208180876006f1505a616000106200002f57600055 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x6004600C60003960046000F3600035FF00000000000000000000000000000000, # noqa: E501 + ) + + Op.CREATE(value=0x0, offset=0x0, size=0x20) + + Op.SLOAD(key=0x0) + + Op.DUP1 + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1] + + Op.ADD + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x6, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.JUMPI(pc=Op.PUSH3[0x2F], condition=Op.LT(0x6000, Op.GAS)) + + Op.PUSH1[0x0] + + Op.SSTORE, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6a0a0fc761c612c340a0e98d33b37a75e5268472"), # noqa: E501 + address=Address(0x6A0A0FC761C612C340A0E98D33B37A75E5268472), # noqa: E501 ) pre[sender] = Account(balance=0xC9F2C9CD04674EDEA40000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=10000000, ) post = { - contract: Account(storage={0: 0x10C20}), + contract_0: Account(storage={0: 0x10C20}, nonce=1), + sender: Account(storage={}, nonce=1), + Address( + 0x0000000000000000000000000000000000000001 + ): Account.NONEXISTENT, + Address( + 0x0000000000000000000000000000000000000002 + ): Account.NONEXISTENT, + Address( + 0x0000000000000000000000000000000000000003 + ): Account.NONEXISTENT, + Address( + 0x0000000000000000000000000000000000000004 + ): Account.NONEXISTENT, + Address( + 0x0000000000000000000000000000000000000005 + ): Account.NONEXISTENT, + Address( + 0x0000000000000000000000000000000000000006 + ): Account.NONEXISTENT, + Address( + 0x0000000000000000000000000000000000000015 + ): Account.NONEXISTENT, + Address( + 0x000000000000000000000000000000000000006E + ): Account.NONEXISTENT, + Address( + 0x0000000000000000000000000000000000002170 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stAttackTest/test_crashing_transaction.py b/tests/ported_static/stAttackTest/test_crashing_transaction.py index 0bae408acc6..8ad213c6b79 100644 --- a/tests/ported_static/stAttackTest/test_crashing_transaction.py +++ b/tests/ported_static/stAttackTest/test_crashing_transaction.py @@ -1,8 +1,8 @@ """ -https://ropsten.etherscan.io/tx/0x8ec445380649f6c75a042a438ea9256c2fab2a6a34... +Https://ropsten.etherscan.io/tx/0x8ec445380649f6c75a042a438ea9256c2fab2a... Ported from: -tests/static/state_tests/stAttackTest/CrashingTransactionFiller.json +state_tests/stAttackTest/CrashingTransactionFiller.json """ import pytest @@ -15,13 +15,14 @@ StateTestFiller, Transaction, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stAttackTest/CrashingTransactionFiller.json"], + ["state_tests/stAttackTest/CrashingTransactionFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,8 +30,8 @@ def test_crashing_transaction( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Https://ropsten.etherscan.io/tx/0x8ec445380649f6c75a042a438ea9256c...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Https://ropsten.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,18 +50,62 @@ def test_crashing_transaction( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "60606040525b5b61c3505a1115602c576040516034806039833901809050604051809103" # noqa: E501 - "906000f0506006565b5b600a80606d6000396000f360606040525b3373ffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffff16ff5b600a80602a6000396000f360606040526008565b" # noqa: E501 - "0060606040526008565b00" - ), + data=Op.MSTORE(offset=0x40, value=0x60) + + Op.JUMPDEST * 2 + + Op.JUMPI(pc=0x2C, condition=Op.ISZERO(Op.GT(Op.GAS, 0xC350))) + + Op.MLOAD(offset=0x40) + + Op.PUSH1[0x34] + + Op.CODECOPY(dest_offset=Op.DUP4, offset=0x39, size=Op.DUP1) + + Op.ADD + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MLOAD(offset=0x40) + + Op.DUP1 + + Op.SWAP2 + + Op.SUB + + Op.SWAP1 + + Op.PUSH1[0x0] + + Op.POP(Op.CREATE) + + Op.JUMP(pc=0x6) + + Op.JUMPDEST * 2 + + Op.PUSH1[0xA] + + Op.CODECOPY(dest_offset=0x0, offset=0x6D, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.MSTORE(offset=0x40, value=0x60) + + Op.JUMPDEST + + Op.SELFDESTRUCT( + address=Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.CALLER + ) + ) + + Op.JUMPDEST + + Op.PUSH1[0xA] + + Op.CODECOPY(dest_offset=0x0, offset=0x2A, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.MSTORE(offset=0x40, value=0x60) + + Op.JUMP(pc=0x8) + + Op.JUMPDEST + + Op.STOP + + Op.MSTORE(offset=0x40, value=0x60) + + Op.JUMP(pc=0x8) + + Op.JUMPDEST + + Op.STOP, gas_limit=4657786, - gas_price=11, - nonce=3270, value=1, + nonce=3270, + gas_price=11, ) - post: dict = {} + post = { + sender: Account(nonce=3271), + Address(0xECBF9AA676D9E0BBBA7E517D1350C1B64F8C6779): Account( + code=bytes.fromhex("60606040526008565b00"), + balance=1, + nonce=124, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stBadOpcode/__init__.py b/tests/ported_static/stBadOpcode/__init__.py index af21d6fa8a3..73851b77e59 100644 --- a/tests/ported_static/stBadOpcode/__init__.py +++ b/tests/ported_static/stBadOpcode/__init__.py @@ -1 +1 @@ -"""Tests ported from stBadOpcode.""" +"""Ported static tests: stBadOpcode.""" # noqa: N999 diff --git a/tests/ported_static/stBadOpcode/test_eip2315_not_removed.py b/tests/ported_static/stBadOpcode/test_eip2315_not_removed.py index 306555fbef1..f96607816e1 100644 --- a/tests/ported_static/stBadOpcode/test_eip2315_not_removed.py +++ b/tests/ported_static/stBadOpcode/test_eip2315_not_removed.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_eip2315_not_removed. Ported from: -tests/static/state_tests/stBadOpcode/eip2315NotRemovedFiller.json +state_tests/stBadOpcode/eip2315NotRemovedFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stBadOpcode/eip2315NotRemovedFiller.json"], + ["state_tests/stBadOpcode/eip2315NotRemovedFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_eip2315_not_removed( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_eip2315_not_removed.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x31B5AF02B012484AE954B3A43943242EDE546A2E76FC0A6ACC17435107C385EB ) @@ -45,28 +46,28 @@ def test_eip2315_not_removed( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x4] - + Op.MCOPY - + Op.STOP - + Op.TLOAD - + Op.SSTORE(key=0x0, value=0x1) - + Op.TSTORE - ), + # Source: raw + # 0x60045e005c60016000555d + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x4] + + Op.MCOPY + + Op.STOP + + Op.TLOAD + + Op.SSTORE(key=0x0, value=0x1) + + Op.TSTORE, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x147943601b1281618e4d824d11073025cd2ac623"), # noqa: E501 + address=Address(0x147943601B1281618E4D824D11073025CD2AC623), # noqa: E501 ) pre[sender] = Account(balance=0x7FFFFFFFFFFFFFFF) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stBadOpcode/test_invalid_addr.py b/tests/ported_static/stBadOpcode/test_invalid_addr.py index 65864a30d38..0f87ed31c7d 100644 --- a/tests/ported_static/stBadOpcode/test_invalid_addr.py +++ b/tests/ported_static/stBadOpcode/test_invalid_addr.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stBadOpcode/invalidAddrFiller.yml +state_tests/stBadOpcode/invalidAddrFiller.yml """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,450 +25,535 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stBadOpcode/invalidAddrFiller.yml"], + ["state_tests/stBadOpcode/invalidAddrFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="ok", + ), + pytest.param( + 1, + 0, + 0, + id="ok", + ), + pytest.param( + 2, + 0, + 0, + id="ok", + ), + pytest.param( + 3, + 0, + 0, + id="ok", + ), + pytest.param( + 4, + 0, + 0, + id="ok", + ), + pytest.param( + 5, + 0, + 0, + id="ok", + ), + pytest.param( + 6, + 0, + 0, + id="ok", + ), + pytest.param( + 7, + 0, + 0, + id="ok", + ), + pytest.param( + 8, + 0, + 0, + id="ok", + ), + pytest.param( + 9, + 0, + 0, + id="ok", + ), + pytest.param( + 10, + 0, + 0, + id="ok", + ), + pytest.param( + 11, + 0, + 0, + id="ok", + ), + pytest.param( + 12, + 0, + 0, + id="ok", + ), + pytest.param( + 13, + 0, + 0, + id="ok", + ), + pytest.param( + 14, + 0, + 0, + id="ok", + ), + pytest.param( + 15, + 0, + 0, + id="ok", + ), + pytest.param( + 16, + 0, + 0, + id="ok", + ), + pytest.param( + 17, + 0, + 0, + id="ok", + ), + pytest.param( + 18, + 0, + 0, + id="ok", + ), + pytest.param( + 19, + 0, + 0, + id="ok", + ), + pytest.param( + 20, + 0, + 0, + id="ok", + ), + pytest.param( + 21, + 0, + 0, + id="ok", + ), + pytest.param( + 22, + 0, + 0, + id="ok", + ), + pytest.param( + 23, + 0, + 0, + id="ok", + ), + pytest.param( + 24, + 0, + 0, + id="ok", + ), + pytest.param( + 25, + 0, + 0, + id="ok", + ), + pytest.param( + 26, + 0, + 0, + id="ok", + ), + pytest.param( + 27, + 0, + 0, + id="ok", + ), + pytest.param( + 28, + 0, + 0, + id="ok", + ), + pytest.param( + 29, + 0, + 0, + id="ok", + ), + pytest.param( + 30, + 0, + 0, + id="ok", + ), + pytest.param( + 31, + 0, + 0, + id="ok", + ), + pytest.param( + 32, + 0, + 0, + id="ok", + ), + pytest.param( + 33, + 0, + 0, + id="ok", + ), + pytest.param( + 34, + 0, + 0, + id="ok", + ), + pytest.param( + 35, + 0, + 0, + id="ok", + ), + pytest.param( + 36, + 0, + 0, + id="ok", + ), + pytest.param( + 37, + 0, + 0, + id="ok", + ), + pytest.param( + 38, + 0, + 0, + id="ok", + ), + pytest.param( + 39, + 0, + 0, + id="ok", + ), + pytest.param( + 40, + 0, + 0, + id="ok", + ), + pytest.param( + 41, + 0, + 0, + id="ok", + ), + pytest.param( + 42, + 0, + 0, + id="ok", + ), + pytest.param( + 43, + 0, + 0, + id="ok", + ), + pytest.param( + 44, + 0, + 0, + id="ok", + ), + pytest.param( + 45, + 0, + 0, + id="ok", + ), + pytest.param( + 46, + 0, + 0, + id="ok", + ), + pytest.param( + 47, + 0, + 0, + id="ok", + ), + pytest.param( + 48, + 0, + 0, + id="ok", + ), + pytest.param( + 49, + 0, + 0, + id="ok", + ), + pytest.param( + 50, + 0, + 0, + id="ok", + ), + pytest.param( + 51, + 0, + 0, + id="ok", + ), + pytest.param( + 52, + 0, + 0, + id="ok", + ), + pytest.param( + 53, + 0, + 0, + id="ok", + ), + pytest.param( + 54, + 0, + 0, + id="ok", + ), + pytest.param( + 55, + 0, + 0, + id="ok", + ), + pytest.param( + 56, + 0, + 0, + id="ok", + ), + pytest.param( + 57, + 0, + 0, + id="ok", + ), + pytest.param( + 58, + 0, + 0, + id="ok", + ), + pytest.param( + 59, + 0, + 0, + id="ok", + ), + pytest.param( + 60, + 0, + 0, + id="ok", + ), + pytest.param( + 61, + 0, + 0, + id="ok", + ), + pytest.param( + 62, + 0, + 0, + id="ok", + ), + pytest.param( + 63, + 0, + 0, + id="ok", + ), + pytest.param( + 64, + 0, + 0, + id="ok", + ), + pytest.param( + 65, + 0, + 0, + id="ok", + ), + pytest.param( + 66, + 0, + 0, + id="ok", + ), + pytest.param( + 67, + 0, + 0, + id="ok", + ), + pytest.param( + 68, + 0, + 0, + id="ok", + ), + pytest.param( + 69, + 0, + 0, + id="ok", + ), + pytest.param( + 70, + 0, + 0, + id="ok", + ), + pytest.param( + 71, + 0, + 0, + id="ok", + ), + pytest.param( + 72, + 0, + 0, + id="ok", + ), + pytest.param( + 73, + 0, + 0, + id="ok", + ), + pytest.param( + 74, + 0, + 0, + id="ok", + ), + pytest.param( + 75, + 0, + 0, + id="ok", + ), + pytest.param( + 76, + 0, + 0, + id="ok", + ), + pytest.param( + 77, + 0, + 0, + id="ok", + ), + pytest.param( + 78, + 0, + 0, + id="ok", + ), + pytest.param( + 79, + 0, + 0, + id="ok", + ), + pytest.param( + 80, + 0, + 0, + id="ok", + ), + pytest.param( + 81, + 0, + 0, + id="ok", + ), + pytest.param( + 82, + 0, + 0, + id="ok", + ), + pytest.param( + 83, + 0, + 0, + id="ok", + ), + pytest.param( + 84, + 0, + 0, + id="ok", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000ff00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000ff00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000ff00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000ff00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000ff00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", ], ) @pytest.mark.pre_alloc_mutable def test_invalid_addr( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E ) @@ -479,17 +567,40 @@ def test_invalid_addr( gas_limit=100000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xDEADBEEF) - + Op.RETURN(offset=0x0, size=0x120) - + Op.STOP - ), + # Source: lll + # { + # [0] 0xDEADBEEF + # (return 0 0x120) + # } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xDEADBEEF) + + Op.RETURN(offset=0x0, size=0x120) + + Op.STOP, balance=0x10000, nonce=0, - address=Address("0x1c60a961cff23c82b2f809e76b815d003898e196"), # noqa: E501 + address=Address(0x1C60A961CFF23C82B2F809E76B815D003898E196), # noqa: E501 ) - # Source: LLL + # Source: lll + # { + # (selfdestruct $0) + # } + dead1 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=Op.CALLDATALOAD(offset=0x0)) + Op.STOP, + balance=4096, + nonce=0, + address=Address(0x9CB657C71386D578195B90DA7DE545482E0A9440), # noqa: E501 + ) + # Source: lll + # { + # (selfdestruct $0) + # } + dead2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=Op.CALLDATALOAD(offset=0x0)) + Op.STOP, + balance=4096, + nonce=0, + address=Address(0xE2CFFD6602680D87B7872C3B69F42FA631058CBF), # noqa: E501 + ) + # Source: lll # { # ; Inputs # (def 'opcode $4) @@ -521,473 +632,514 @@ def test_invalid_addr( # ; addrType 2 is addr1 + 2^254 # ; addrType 3 is addr1 + 2^255 # ... (108 more lines) - contract = pre.deploy_contract( - code=( - Op.JUMPI( - pc=Op.PUSH2[0x11], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x2B]) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x2000, - value=0x1C60A961CFF23C82B2F809E76B815D003898E196, - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x3D], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x44]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2000, value=0x2) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x56], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x5F]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2040, value=Op.MLOAD(offset=0x2000)) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x71], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x83]) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x2040, - value=Op.ADD( - Op.MLOAD(offset=0x2000), - Op.MUL(0x1, Op.EXP(0x2, 0xA0)), - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x95], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xA7]) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x2040, - value=Op.ADD( - Op.MLOAD(offset=0x2000), - Op.MUL(0x1, Op.EXP(0x2, 0xFE)), - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xB9], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xCB]) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x2040, - value=Op.ADD( - Op.MLOAD(offset=0x2000), - Op.MUL(0x1, Op.EXP(0x2, 0xFF)), - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xDD], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x4), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xEF]) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x2040, - value=Op.SUB( - Op.MLOAD(offset=0x2000), - Op.MUL(0x1, Op.EXP(0x2, 0xA0)), - ), - ) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0xFF00FF00FF00FF00) - + Op.MSTORE(offset=0x2060, value=0xFF00FF00FF00FF) - + Op.JUMPI( - pc=0x11A, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x31), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x14B) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x2020, - value=Op.BALANCE(address=Op.MLOAD(offset=0x2000)), - ) - + Op.MSTORE( - offset=0x2060, - value=Op.BALANCE(address=Op.MLOAD(offset=0x2040)), - ) - + Op.JUMPI( - pc=0x141, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.MSTORE(offset=0x2080, value=0x0) - + Op.JUMP(pc=0x14A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2080, value=0x10000) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI( - pc=0x15D, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3B), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x18C) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x2020, - value=Op.EXTCODESIZE(address=Op.MLOAD(offset=0x2000)), - ) - + Op.MSTORE( - offset=0x2060, - value=Op.EXTCODESIZE(address=Op.MLOAD(offset=0x2040)), - ) - + Op.JUMPI( - pc=0x184, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.MSTORE(offset=0x2080, value=0x0) - + Op.JUMP(pc=0x18B) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2080, value=0xF) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI( - pc=0x19E, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3C), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x1F2) - + Op.JUMPDEST - + Op.EXTCODECOPY( + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=Op.PUSH2[0x11], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x2B]) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x2000, value=0x1C60A961CFF23C82B2F809E76B815D003898E196 + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x3D], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x2), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x44]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2000, value=0x2) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x56], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x0), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x5F]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2040, value=Op.MLOAD(offset=0x2000)) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x71], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x1), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x83]) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x2040, + value=Op.ADD( + Op.MLOAD(offset=0x2000), Op.MUL(0x1, Op.EXP(0x2, 0xA0)) + ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x95], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x2), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xA7]) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x2040, + value=Op.ADD( + Op.MLOAD(offset=0x2000), Op.MUL(0x1, Op.EXP(0x2, 0xFE)) + ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xB9], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x3), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xCB]) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x2040, + value=Op.ADD( + Op.MLOAD(offset=0x2000), Op.MUL(0x1, Op.EXP(0x2, 0xFF)) + ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xDD], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x4), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xEF]) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x2040, + value=Op.SUB( + Op.MLOAD(offset=0x2000), Op.MUL(0x1, Op.EXP(0x2, 0xA0)) + ), + ) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0xFF00FF00FF00FF00) + + Op.MSTORE(offset=0x2060, value=0xFF00FF00FF00FF) + + Op.JUMPI( + pc=0x11A, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x31) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x14B) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x2020, value=Op.BALANCE(address=Op.MLOAD(offset=0x2000)) + ) + + Op.MSTORE( + offset=0x2060, value=Op.BALANCE(address=Op.MLOAD(offset=0x2040)) + ) + + Op.JUMPI( + pc=0x141, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1) + ) + + Op.MSTORE(offset=0x2080, value=0x0) + + Op.JUMP(pc=0x14A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2080, value=0x10000) + + Op.JUMPDEST * 2 + + Op.JUMPI( + pc=0x15D, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3B) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x18C) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x2020, + value=Op.EXTCODESIZE(address=Op.MLOAD(offset=0x2000)), + ) + + Op.MSTORE( + offset=0x2060, + value=Op.EXTCODESIZE(address=Op.MLOAD(offset=0x2040)), + ) + + Op.JUMPI( + pc=0x184, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1) + ) + + Op.MSTORE(offset=0x2080, value=0x0) + + Op.JUMP(pc=0x18B) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2080, value=0xF) + + Op.JUMPDEST * 2 + + Op.JUMPI( + pc=0x19E, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3C) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x1F2) + + Op.JUMPDEST + + Op.EXTCODECOPY( + address=Op.MLOAD(offset=0x2000), + dest_offset=0x2020, + offset=0x0, + size=0x20, + ) + + Op.EXTCODECOPY( + address=Op.MLOAD(offset=0x2040), + dest_offset=0x2060, + offset=0x0, + size=0x20, + ) + + Op.JUMPI( + pc=0x1CB, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1) + ) + + Op.MSTORE(offset=0x2080, value=0x0) + + Op.JUMP(pc=0x1F1) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x2080, + value=0x63DEADBEEF6000526101206000F3000000000000000000000000000000000000, # noqa: E501 + ) + + Op.JUMPDEST * 2 + + Op.JUMPI( + pc=0x204, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3F) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x252) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x2020, + value=Op.EXTCODEHASH(address=Op.MLOAD(offset=0x2000)), + ) + + Op.MSTORE( + offset=0x2060, + value=Op.EXTCODEHASH(address=Op.MLOAD(offset=0x2040)), + ) + + Op.JUMPI( + pc=0x22B, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1) + ) + + Op.MSTORE(offset=0x2080, value=0x0) + + Op.JUMP(pc=0x251) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x2080, + value=0x85AB232A015279867A1F5B5DA4F9688C6C92E555C122E9147F9D13BC53C03E92, # noqa: E501 + ) + + Op.JUMPDEST * 2 + + Op.JUMPI( + pc=0x264, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF1) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x2CD) + + Op.JUMPDEST + + Op.POP( + Op.CALL( + gas=0x1000, address=Op.MLOAD(offset=0x2000), - dest_offset=0x2020, - offset=0x0, - size=0x20, + value=0x0, + args_offset=0x2000, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, ) - + Op.EXTCODECOPY( + ) + + Op.POP( + Op.CALL( + gas=0x1000, address=Op.MLOAD(offset=0x2040), - dest_offset=0x2060, - offset=0x0, - size=0x20, - ) - + Op.JUMPI( - pc=0x1CB, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.MSTORE(offset=0x2080, value=0x0) - + Op.JUMP(pc=0x1F1) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x2080, - value=0x63DEADBEEF6000526101206000F3000000000000000000000000000000000000, # noqa: E501 - ) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI( - pc=0x204, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3F), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x252) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x2020, - value=Op.EXTCODEHASH(address=Op.MLOAD(offset=0x2000)), - ) - + Op.MSTORE( - offset=0x2060, - value=Op.EXTCODEHASH(address=Op.MLOAD(offset=0x2040)), + value=0x0, + args_offset=0x2000, + args_size=0x20, + ret_offset=0x2060, + ret_size=0x20, ) - + Op.JUMPI( - pc=0x22B, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.MSTORE(offset=0x2080, value=0x0) - + Op.JUMP(pc=0x251) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x2080, - value=0x85AB232A015279867A1F5B5DA4F9688C6C92E555C122E9147F9D13BC53C03E92, # noqa: E501 - ) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI( - pc=0x264, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x2CD) - + Op.JUMPDEST - + Op.POP( - Op.CALL( - gas=0x1000, - address=Op.MLOAD(offset=0x2000), - value=0x0, - args_offset=0x2000, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.POP( - Op.CALL( - gas=0x1000, - address=Op.MLOAD(offset=0x2040), - value=0x0, - args_offset=0x2000, - args_size=0x20, - ret_offset=0x2060, - ret_size=0x20, - ), - ) - + Op.JUMPI( - pc=0x2C2, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.MSTORE( - offset=0x2080, - value=0x9267D3DBED802941483F1AFA2A6BC68DE5F653128ACA9BF1461C5D0A3AD36ED2, # noqa: E501 - ) - + Op.JUMP(pc=0x2CC) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2080, value=0xDEADBEEF) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2DF, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x348) - + Op.JUMPDEST - + Op.POP( - Op.CALLCODE( - gas=0x1000, - address=Op.MLOAD(offset=0x2000), - value=0x0, - args_offset=0x2000, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0x1000, - address=Op.MLOAD(offset=0x2040), - value=0x0, - args_offset=0x2000, - args_size=0x20, - ret_offset=0x2060, - ret_size=0x20, - ), - ) - + Op.JUMPI( - pc=0x33D, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.MSTORE( - offset=0x2080, - value=0x9267D3DBED802941483F1AFA2A6BC68DE5F653128ACA9BF1461C5D0A3AD36ED2, # noqa: E501 - ) - + Op.JUMP(pc=0x347) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2080, value=0xDEADBEEF) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI( - pc=0x35A, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF4), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x3BF) - + Op.JUMPDEST - + Op.POP( - Op.DELEGATECALL( - gas=0x1000, - address=Op.MLOAD(offset=0x2000), - args_offset=0x2000, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0x1000, - address=Op.MLOAD(offset=0x2040), - args_offset=0x2000, - args_size=0x20, - ret_offset=0x2060, - ret_size=0x20, - ), - ) - + Op.JUMPI( - pc=0x3B4, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.MSTORE( - offset=0x2080, - value=0x9267D3DBED802941483F1AFA2A6BC68DE5F653128ACA9BF1461C5D0A3AD36ED2, # noqa: E501 - ) - + Op.JUMP(pc=0x3BE) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2080, value=0xDEADBEEF) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3D1, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFA), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x436) - + Op.JUMPDEST - + Op.POP( - Op.STATICCALL( - gas=0x1000, - address=Op.MLOAD(offset=0x2000), - args_offset=0x2000, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0x1000, - address=Op.MLOAD(offset=0x2040), - args_offset=0x2000, - args_size=0x20, - ret_offset=0x2060, - ret_size=0x20, - ), - ) - + Op.JUMPI( - pc=0x42B, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.MSTORE( - offset=0x2080, - value=0x9267D3DBED802941483F1AFA2A6BC68DE5F653128ACA9BF1461C5D0A3AD36ED2, # noqa: E501 - ) - + Op.JUMP(pc=0x435) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2080, value=0xDEADBEEF) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI( - pc=0x448, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFF), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x4EA) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x20A0, - value=Op.BALANCE(address=Op.MLOAD(offset=0x2000)), - ) - + Op.POP( - Op.CALL( - gas=0x10000000, - address=0x9CB657C71386D578195B90DA7DE545482E0A9440, - value=0x0, - args_offset=0x2000, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE( - offset=0x2020, - value=Op.BALANCE(address=Op.MLOAD(offset=0x2000)), + ) + + Op.JUMPI( + pc=0x2C2, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1) + ) + + Op.MSTORE( + offset=0x2080, + value=0x9267D3DBED802941483F1AFA2A6BC68DE5F653128ACA9BF1461C5D0A3AD36ED2, # noqa: E501 + ) + + Op.JUMP(pc=0x2CC) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2080, value=0xDEADBEEF) + + Op.JUMPDEST * 2 + + Op.JUMPI( + pc=0x2DF, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF2) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x348) + + Op.JUMPDEST + + Op.POP( + Op.CALLCODE( + gas=0x1000, + address=Op.MLOAD(offset=0x2000), + value=0x0, + args_offset=0x2000, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, ) - + Op.POP( - Op.CALL( - gas=0x10000000, - address=0xE2CFFD6602680D87B7872C3B69F42FA631058CBF, - value=0x0, - args_offset=0x2040, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0x1000, + address=Op.MLOAD(offset=0x2040), + value=0x0, + args_offset=0x2000, + args_size=0x20, + ret_offset=0x2060, + ret_size=0x20, ) - + Op.MSTORE( - offset=0x2060, - value=Op.BALANCE(address=Op.MLOAD(offset=0x2000)), + ) + + Op.JUMPI( + pc=0x33D, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1) + ) + + Op.MSTORE( + offset=0x2080, + value=0x9267D3DBED802941483F1AFA2A6BC68DE5F653128ACA9BF1461C5D0A3AD36ED2, # noqa: E501 + ) + + Op.JUMP(pc=0x347) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2080, value=0xDEADBEEF) + + Op.JUMPDEST * 2 + + Op.JUMPI( + pc=0x35A, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF4) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x3BF) + + Op.JUMPDEST + + Op.POP( + Op.DELEGATECALL( + gas=0x1000, + address=Op.MLOAD(offset=0x2000), + args_offset=0x2000, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, ) - + Op.MSTORE( - offset=0x2060, - value=Op.SUB(Op.MLOAD(offset=0x2060), Op.MLOAD(offset=0x2020)), + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x1000, + address=Op.MLOAD(offset=0x2040), + args_offset=0x2000, + args_size=0x20, + ret_offset=0x2060, + ret_size=0x20, ) - + Op.MSTORE( - offset=0x2020, - value=Op.SUB(Op.MLOAD(offset=0x2020), Op.MLOAD(offset=0x20A0)), + ) + + Op.JUMPI( + pc=0x3B4, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1) + ) + + Op.MSTORE( + offset=0x2080, + value=0x9267D3DBED802941483F1AFA2A6BC68DE5F653128ACA9BF1461C5D0A3AD36ED2, # noqa: E501 + ) + + Op.JUMP(pc=0x3BE) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2080, value=0xDEADBEEF) + + Op.JUMPDEST * 2 + + Op.JUMPI( + pc=0x3D1, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFA) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x436) + + Op.JUMPDEST + + Op.POP( + Op.STATICCALL( + gas=0x1000, + address=Op.MLOAD(offset=0x2000), + args_offset=0x2000, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, ) - + Op.JUMPI( - pc=0x4E1, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), + ) + + Op.POP( + Op.STATICCALL( + gas=0x1000, + address=Op.MLOAD(offset=0x2040), + args_offset=0x2000, + args_size=0x20, + ret_offset=0x2060, + ret_size=0x20, ) - + Op.MSTORE(offset=0x2080, value=0x1000) - + Op.JUMP(pc=0x4E9) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2080, value=0x1000) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.SUB(Op.MLOAD(offset=0x2020), Op.MLOAD(offset=0x2060)), + ) + + Op.JUMPI( + pc=0x42B, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1) + ) + + Op.MSTORE( + offset=0x2080, + value=0x9267D3DBED802941483F1AFA2A6BC68DE5F653128ACA9BF1461C5D0A3AD36ED2, # noqa: E501 + ) + + Op.JUMP(pc=0x435) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2080, value=0xDEADBEEF) + + Op.JUMPDEST * 2 + + Op.JUMPI( + pc=0x448, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFF) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x4EA) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x20A0, value=Op.BALANCE(address=Op.MLOAD(offset=0x2000)) + ) + + Op.POP( + Op.CALL( + gas=0x10000000, + address=0x9CB657C71386D578195B90DA7DE545482E0A9440, + value=0x0, + args_offset=0x2000, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE( - key=0x1, - value=Op.SUB(Op.MLOAD(offset=0x2020), Op.MLOAD(offset=0x2080)), + ) + + Op.MSTORE( + offset=0x2020, value=Op.BALANCE(address=Op.MLOAD(offset=0x2000)) + ) + + Op.POP( + Op.CALL( + gas=0x10000000, + address=0xE2CFFD6602680D87B7872C3B69F42FA631058CBF, + value=0x0, + args_offset=0x2040, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x100, value=0x0) - + Op.STOP - ), - storage={0x100: 0x60A7}, + ) + + Op.MSTORE( + offset=0x2060, value=Op.BALANCE(address=Op.MLOAD(offset=0x2000)) + ) + + Op.MSTORE( + offset=0x2060, + value=Op.SUB(Op.MLOAD(offset=0x2060), Op.MLOAD(offset=0x2020)), + ) + + Op.MSTORE( + offset=0x2020, + value=Op.SUB(Op.MLOAD(offset=0x2020), Op.MLOAD(offset=0x20A0)), + ) + + Op.JUMPI( + pc=0x4E1, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1) + ) + + Op.MSTORE(offset=0x2080, value=0x1000) + + Op.JUMP(pc=0x4E9) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2080, value=0x1000) + + Op.JUMPDEST * 2 + + Op.SSTORE( + key=0x0, + value=Op.SUB(Op.MLOAD(offset=0x2020), Op.MLOAD(offset=0x2060)), + ) + + Op.SSTORE( + key=0x1, + value=Op.SUB(Op.MLOAD(offset=0x2020), Op.MLOAD(offset=0x2080)), + ) + + Op.SSTORE(key=0x100, value=0x0) + + Op.STOP, + storage={256: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x2d876fd03a90703f170c256363ba225f9494e604"), # noqa: E501 + address=Address(0x2D876FD03A90703F170C256363BA225F9494E604), # noqa: E501 ) pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=Op.CALLDATALOAD(offset=0x0)) + Op.STOP, - balance=4096, - nonce=0, - address=Address("0x9cb657c71386d578195b90da7de545482e0a9440"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=Op.CALLDATALOAD(offset=0x0)) + Op.STOP, - balance=4096, - nonce=0, - address=Address("0xe2cffd6602680d87b7872c3b69f42fa631058cbf"), # noqa: E501 - ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("048071d3") + Hash(0x31) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x31) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x31) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x31) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x31) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0x31) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0x31) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0x31) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0x31) + Hash(0x1) + Hash(0x4), + Bytes("048071d3") + Hash(0x31) + Hash(0x2) + Hash(0x4), + Bytes("048071d3") + Hash(0x3B) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x3B) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x3B) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x3B) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x3B) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0x3B) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0x3B) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0x3B) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0x3B) + Hash(0x1) + Hash(0x4), + Bytes("048071d3") + Hash(0x3B) + Hash(0x2) + Hash(0x4), + Bytes("048071d3") + Hash(0x3C) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x3C) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x3C) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0x3C) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0x3C) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0x3C) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0x3C) + Hash(0x1) + Hash(0x4), + Bytes("048071d3") + Hash(0x3C) + Hash(0x2) + Hash(0x4), + Bytes("048071d3") + Hash(0x3F) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x3F) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x3F) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x3F) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x3F) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0x3F) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0x3F) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0x3F) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0x3F) + Hash(0x1) + Hash(0x4), + Bytes("048071d3") + Hash(0x3F) + Hash(0x2) + Hash(0x4), + Bytes("048071d3") + Hash(0xF1) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0xF1) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0xF1) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0xF1) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0xF1) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0xF1) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0xF1) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0xF1) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0xF1) + Hash(0x1) + Hash(0x4), + Bytes("048071d3") + Hash(0xF1) + Hash(0x2) + Hash(0x4), + Bytes("048071d3") + Hash(0xF2) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0xF2) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0xF2) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0xF2) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0xF2) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0xF2) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0xF2) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0xF2) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0xF2) + Hash(0x1) + Hash(0x4), + Bytes("048071d3") + Hash(0xF2) + Hash(0x2) + Hash(0x4), + Bytes("048071d3") + Hash(0xF4) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0xF4) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0xF4) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0xF4) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0xF4) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0xF4) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0xF4) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0xF4) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0xF4) + Hash(0x1) + Hash(0x4), + Bytes("048071d3") + Hash(0xF4) + Hash(0x2) + Hash(0x4), + Bytes("048071d3") + Hash(0xFA) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0xFA) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0xFA) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0xFA) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0xFA) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0xFA) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0xFA) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0xFA) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0xFA) + Hash(0x1) + Hash(0x4), + Bytes("048071d3") + Hash(0xFA) + Hash(0x2) + Hash(0x4), + Bytes("048071d3") + Hash(0xFF) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0xFF) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0xFF) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0xFF) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0xFF) + Hash(0x1) + Hash(0x4), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account( + storage={0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 256: 0}, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stBadOpcode/test_measure_gas.py b/tests/ported_static/stBadOpcode/test_measure_gas.py index 4579bfdcd1b..00c734e99ec 100644 --- a/tests/ported_static/stBadOpcode/test_measure_gas.py +++ b/tests/ported_static/stBadOpcode/test_measure_gas.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stBadOpcode/measureGasFiller.yml +state_tests/stBadOpcode/measureGasFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,124 +28,104 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stBadOpcode/measureGasFiller.yml"], + ["state_tests/stBadOpcode/measureGasFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f2", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 144} - ) - }, + pytest.param( + 0, + 0, + 0, + id="CREATE", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f1", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 144} - ) - }, + pytest.param( + 1, + 0, + 0, + id="CREATE2", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f5", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 32193} - ) - }, + pytest.param( + 2, + 0, + 0, + id="CALL", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f0", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 32089} - ) - }, + pytest.param( + 3, + 0, + 0, + id="CALLCODE", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f4", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 141} - ) - }, + pytest.param( + 4, + 0, + 0, + id="DELEGATECALL", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 221} - ) - }, + pytest.param( + 5, + 0, + 0, + id="STATICCALL", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000051", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 8110} - ) - }, + pytest.param( + 6, + 0, + 0, + id="MLOAD", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000053", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 8113} - ) - }, + pytest.param( + 7, + 0, + 0, + id="MSTORE", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000052", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 8113} - ) - }, + pytest.param( + 8, + 0, + 0, + id="MSTORE8", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 18348} - ) - }, + pytest.param( + 9, + 0, + 0, + id="SHA3", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000fa", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 141} - ) - }, + pytest.param( + 10, + 0, + 0, + id="EXTCODE", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - ], ) @pytest.mark.pre_alloc_mutable def test_measure_gas( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000C0DEF0) + contract_1 = Address(0x0000000000000000000000000000000000C0DEF5) + contract_2 = Address(0x000000000000000000000000000000000000CA11) + contract_3 = Address(0x0000000000000000000000000000000000C0DEF1) + contract_4 = Address(0x0000000000000000000000000000000000C0DEF2) + contract_5 = Address(0x0000000000000000000000000000000000C0DEF4) + contract_6 = Address(0x0000000000000000000000000000000000C0DEFA) + contract_7 = Address(0x0000000000000000000000000000000000C0DE51) + contract_8 = Address(0x0000000000000000000000000000000000C0DE52) + contract_9 = Address(0x0000000000000000000000000000000000C0DE53) + contract_10 = Address(0x0000000000000000000000000000000000C0DE20) + contract_11 = Address(0x0000000000000000000000000000000000C0DE3B) + contract_12 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -153,177 +139,173 @@ def test_measure_gas( gas_limit=100000000, ) - # Source: Yul - # { - # stop() + # Source: yul + # berlin { + # pop(create(0, 0, 0x200)) # } - pre.deploy_contract( - code=bytes.fromhex("00"), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x200) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x000000000000000000000000000000000000ca11"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF0), # noqa: E501 ) - # Source: Yul - # { - # let useless := keccak256(0,0xBEEF) + # Source: yul + # berlin { + # // SALT needs to be different each time + # pop(create2(0, 0, 0x200, add(0x5A17, gas()))) # } - pre.deploy_contract( - code=Op.SHA3(offset=0x0, size=0xBEEF) + Op.STOP, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.CREATE2( + value=Op.DUP1, offset=0x0, size=0x200, salt=Op.ADD(0x5A17, Op.GAS) + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0de20"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF5), # noqa: E501 ) - # Source: Yul - # { - # let addr := 0xCA11 - # extcodecopy(addr, 0, 0, extcodesize(addr)) + # Source: yul + # berlin { + # stop() # } - pre.deploy_contract( - code=( - Op.PUSH2[0xCA11] - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.EXTCODESIZE(address=Op.DUP3) - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0de3b"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000CA11), # noqa: E501 ) - # Source: Yul - # { - # let useless := mload(0xB000) + # Source: yul + # berlin { + # let retval := call(gas(), 0xCA11, 0, 0, 0x100, 0, 0x100) # } - pre.deploy_contract( - code=Op.MLOAD(offset=0xB000) + Op.STOP, + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x100, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0de51"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF1), # noqa: E501 ) - # Source: Yul - # { - # mstore(0xB000, 0xFF) + # Source: yul + # berlin { + # let retval := callcode(gas(), 0xCA11, 0, 0, 0x100, 0, 0x100) # } - pre.deploy_contract( - code=Op.MSTORE(offset=0xB000, value=0xFF) + Op.STOP, + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x100, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0de52"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF2), # noqa: E501 ) - # Source: Yul - # { - # mstore8(0xB000, 0xFF) + # Source: yul + # berlin { + # let retval := delegatecall(gas(), 0xCA11, 0, 0x100, 0, 0x100) # } - pre.deploy_contract( - code=Op.MSTORE8(offset=0xB000, value=0xFF) + Op.STOP, + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x100, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0de53"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF4), # noqa: E501 ) - # Source: Yul - # { - # pop(create(0, 0, 0x200)) + # Source: yul + # berlin { + # let retval := staticcall(gas(), 0xCA11, 0, 0x100, 0, 0x100) # } - pre.deploy_contract( - code=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x200) + Op.STOP, + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x100, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def0"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEFA), # noqa: E501 ) - # Source: Yul - # { - # let retval := call(gas(), 0xCA11, 0, 0, 0x100, 0, 0x100) + # Source: yul + # berlin { + # let useless := mload(0xB000) # } - pre.deploy_contract( - code=( - Op.CALL( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x100, - ) - + Op.STOP - ), + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.MLOAD(offset=0xB000) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def1"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DE51), # noqa: E501 ) - # Source: Yul - # { - # let retval := callcode(gas(), 0xCA11, 0, 0, 0x100, 0, 0x100) + # Source: yul + # berlin { + # mstore(0xB000, 0xFF) # } - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x100, - ) - + Op.STOP - ), + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xB000, value=0xFF) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def2"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DE52), # noqa: E501 ) - # Source: Yul - # { - # let retval := delegatecall(gas(), 0xCA11, 0, 0x100, 0, 0x100) + # Source: yul + # berlin { + # mstore8(0xB000, 0xFF) # } - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x100, - ) - + Op.STOP - ), + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xB000, value=0xFF) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def4"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DE53), # noqa: E501 ) - # Source: Yul - # { - # // SALT needs to be different each time - # pop(create2(0, 0, 0x200, add(0x5A17, gas()))) + # Source: yul + # berlin { + # let useless := keccak256(0,0xBEEF) # } - pre.deploy_contract( - code=( - Op.CREATE2( - value=Op.DUP1, - offset=0x0, - size=0x200, - salt=Op.ADD(0x5A17, Op.GAS), - ) - + Op.STOP - ), + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SHA3(offset=0x0, size=0xBEEF) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def5"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DE20), # noqa: E501 ) - # Source: Yul - # { - # let retval := staticcall(gas(), 0xCA11, 0, 0x100, 0, 0x100) + # Source: yul + # berlin { + # let addr := 0xCA11 + # extcodecopy(addr, 0, 0, extcodesize(addr)) # } - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x100, - ) - + Op.STOP - ), + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH2[0xCA11] + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.EXTCODESIZE(address=Op.DUP3) + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0defa"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DE3B), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: Yul - # { + # Source: yul + # berlin { # // Find the operation's cost in gas # let min := 0 # let max := 60000 @@ -337,60 +319,117 @@ def test_measure_gas( # } # sstore(0, max) # } - contract = pre.deploy_contract( - code=( - Op.PUSH2[0xEA60] - + Op.ADD(Op.CALLDATALOAD(offset=0x4), 0xC0DE00) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x1C, condition=Op.GT(Op.SUB(Op.DUP5, Op.DUP2), 0x1)) - + Op.SSTORE(key=0x0, value=Op.DUP3) - + Op.STOP - + Op.JUMPDEST - + Op.DIV(Op.ADD(Op.DUP3, Op.DUP4), 0x2) - + Op.CALL( - gas=Op.DUP7, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.JUMPI(pc=0x44, condition=Op.ISZERO(Op.DUP1)) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.JUMPI(pc=0x3D, condition=Op.EQ) - + Op.JUMPDEST - + Op.POP - + Op.JUMP(pc=0xD) - + Op.JUMPDEST - + Op.SWAP3 - + Op.POP - + Op.CODESIZE - + Op.JUMP(pc=0x38) - + Op.JUMPDEST - + Op.SWAP1 - + Op.SWAP2 - + Op.POP - + Op.DUP2 - + Op.SWAP1 - + Op.JUMP(pc=0x31) - ), + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH2[0xEA60] + + Op.ADD(Op.CALLDATALOAD(offset=0x4), 0xC0DE00) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1C, condition=Op.GT(Op.SUB(Op.DUP5, Op.DUP2), 0x1)) + + Op.SSTORE(key=0x0, value=Op.DUP3) + + Op.STOP + + Op.JUMPDEST + + Op.DIV(Op.ADD(Op.DUP3, Op.DUP4), 0x2) + + Op.CALL( + gas=Op.DUP7, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.JUMPI(pc=0x44, condition=Op.ISZERO(Op.DUP1)) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.JUMPI(pc=0x3D, condition=Op.EQ) + + Op.JUMPDEST + + Op.POP + + Op.JUMP(pc=0xD) + + Op.JUMPDEST + + Op.SWAP3 + + Op.POP + + Op.CODESIZE + + Op.JUMP(pc=0x38) + + Op.JUMPDEST + + Op.SWAP1 + + Op.SWAP2 + + Op.POP + + Op.DUP2 + + Op.SWAP1 + + Op.JUMP(pc=0x31), balance=0xBA1A9CE0BA1A9CE, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 32089})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 32193})}, + }, + { + "indexes": {"data": [2, 3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 144})}, + }, + { + "indexes": {"data": [4, 5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 141})}, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 8110})}, + }, + { + "indexes": {"data": [8, 7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 8113})}, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 221})}, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 18348})}, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0xF0), + Bytes("693c6139") + Hash(0xF5), + Bytes("693c6139") + Hash(0xF1), + Bytes("693c6139") + Hash(0xF2), + Bytes("693c6139") + Hash(0xF4), + Bytes("693c6139") + Hash(0xFA), + Bytes("693c6139") + Hash(0x51), + Bytes("693c6139") + Hash(0x52), + Bytes("693c6139") + Hash(0x53), + Bytes("693c6139") + Hash(0x20), + Bytes("693c6139") + Hash(0x3B), + ] + tx_gas = [16777216] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, + to=contract_12, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stBadOpcode/test_operation_diff_gas.py b/tests/ported_static/stBadOpcode/test_operation_diff_gas.py index 2319e390cad..d92e6b68f5d 100644 --- a/tests/ported_static/stBadOpcode/test_operation_diff_gas.py +++ b/tests/ported_static/stBadOpcode/test_operation_diff_gas.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stBadOpcode/operationDiffGasFiller.yml +state_tests/stBadOpcode/operationDiffGasFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,130 +28,104 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stBadOpcode/operationDiffGasFiller.yml"], + ["state_tests/stBadOpcode/operationDiffGasFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2700} - ) - }, + pytest.param( + 0, + 0, + 0, + id="CREATE", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2700} - ) - }, + pytest.param( + 1, + 0, + 0, + id="CREATE2", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064", # noqa: E501 - { - Address("0x0000000000000000000000000000000000c0def5"): Account( - storage={0: 0x1C1BD7A2F25CA2F4577AD12388656BC147F96DAB} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 54300} - ), - }, + pytest.param( + 2, + 0, + 0, + id="CALL", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064", # noqa: E501 - { - Address("0x0000000000000000000000000000000000c0def0"): Account( - storage={0: 0xB44F2C88D3D4283CD1E54E418C4FF7E6A6C73202} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 54200} - ), - }, + pytest.param( + 3, + 0, + 0, + id="CALLCODE", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2700} - ) - }, + pytest.param( + 4, + 0, + 0, + id="DELEGATECALL", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2800} - ) - }, + pytest.param( + 5, + 0, + 0, + id="STATICCALL", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000005100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 9200} - ) - }, + pytest.param( + 6, + 0, + 0, + id="MLOAD", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000005300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 9200} - ) - }, + pytest.param( + 7, + 0, + 0, + id="MSTORE", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 9200} - ) - }, + pytest.param( + 8, + 0, + 0, + id="MSTORE8", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 18400} - ) - }, + pytest.param( + 9, + 0, + 0, + id="SHA3", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2700} - ) - }, + pytest.param( + 10, + 0, + 0, + id="EXTCODE", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - ], ) @pytest.mark.pre_alloc_mutable def test_operation_diff_gas( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000C0DEF0) + contract_1 = Address(0x0000000000000000000000000000000000C0DEF5) + contract_2 = Address(0x0000000000000000000000000000000000C0DEF1) + contract_3 = Address(0x0000000000000000000000000000000000C0DEF2) + contract_4 = Address(0x0000000000000000000000000000000000C0DEF4) + contract_5 = Address(0x0000000000000000000000000000000000C0DEFA) + contract_6 = Address(0x000000000000000000000000000000000000CA11) + contract_7 = Address(0x0000000000000000000000000000000000C0DE51) + contract_8 = Address(0x0000000000000000000000000000000000C0DE52) + contract_9 = Address(0x0000000000000000000000000000000000C0DE53) + contract_10 = Address(0x0000000000000000000000000000000000C0DE20) + contract_11 = Address(0x0000000000000000000000000000000000C0DE3B) + contract_12 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -159,189 +139,180 @@ def test_operation_diff_gas( gas_limit=100000000, ) - # Source: Yul - # { - # mstore(0, 0xDEADBEEF) - # return(0, 0x100) + # Source: yul + # berlin { + # sstore(0,create(0, 0, 0x200)) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xDEADBEEF) - + Op.RETURN(offset=0x0, size=0x100) - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x200) + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x000000000000000000000000000000000000ca11"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF0), # noqa: E501 ) - # Source: Yul - # { - # let useless := keccak256(0,0xBEEF) + # Source: yul + # berlin { + # sstore(0,create2(0, 0, 0x200, 0x5A17)) # } - pre.deploy_contract( - code=Op.SHA3(offset=0x0, size=0xBEEF) + Op.STOP, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CREATE2( + value=Op.DUP1, offset=0x0, size=0x200, salt=0x5A17 + ), + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0de20"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF5), # noqa: E501 ) - # Source: Yul - # { - # let addr := 0xCA11 - # extcodecopy(addr, 0, 0, extcodesize(addr)) + # Source: yul + # berlin { + # let retval := call(gas(), 0xCA11, 0, 0, 0x100, 0, 0x100) # } - pre.deploy_contract( - code=( - Op.PUSH2[0xCA11] - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.EXTCODESIZE(address=Op.DUP3) - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x100, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0de3b"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF1), # noqa: E501 ) - # Source: Yul - # { - # let useless := mload(0xBEEF) + # Source: yul + # berlin { + # let retval := callcode(gas(), 0xCA11, 0, 0, 0x100, 0, 0x100) # } - pre.deploy_contract( - code=Op.MLOAD(offset=0xBEEF) + Op.STOP, + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x100, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0de51"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF2), # noqa: E501 ) - # Source: Yul - # { - # mstore(0xBEEF, 0xFF) + # Source: yul + # berlin { + # let retval := delegatecall(gas(), 0xCA11, 0, 0x100, 0, 0x100) # } - pre.deploy_contract( - code=Op.MSTORE(offset=0xBEEF, value=0xFF) + Op.STOP, + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x100, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0de52"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF4), # noqa: E501 ) - # Source: Yul - # { - # mstore8(0xBEEF, 0xFF) + # Source: yul + # berlin { + # let retval := staticcall(gas(), 0xCA11, 0, 0x100, 0, 0x100) # } - pre.deploy_contract( - code=Op.MSTORE8(offset=0xBEEF, value=0xFF) + Op.STOP, + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x100, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0de53"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEFA), # noqa: E501 ) - # Source: Yul - # { - # sstore(0,create(0, 0, 0x200)) + # Source: yul + # berlin { + # mstore(0, 0xDEADBEEF) + # return(0, 0x100) # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x200), - ) - + Op.STOP - ), + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xDEADBEEF) + + Op.RETURN(offset=0x0, size=0x100), balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def0"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000CA11), # noqa: E501 ) - # Source: Yul - # { - # let retval := call(gas(), 0xCA11, 0, 0, 0x100, 0, 0x100) + # Source: yul + # berlin { + # let useless := mload(0xBEEF) # } - pre.deploy_contract( - code=( - Op.CALL( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x100, - ) - + Op.STOP - ), + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.MLOAD(offset=0xBEEF) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def1"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DE51), # noqa: E501 ) - # Source: Yul - # { - # let retval := callcode(gas(), 0xCA11, 0, 0, 0x100, 0, 0x100) + # Source: yul + # berlin { + # mstore(0xBEEF, 0xFF) # } - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x100, - ) - + Op.STOP - ), + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xBEEF, value=0xFF) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def2"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DE52), # noqa: E501 ) - # Source: Yul - # { - # let retval := delegatecall(gas(), 0xCA11, 0, 0x100, 0, 0x100) + # Source: yul + # berlin { + # mstore8(0xBEEF, 0xFF) # } - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x100, - ) - + Op.STOP - ), + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xBEEF, value=0xFF) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def4"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DE53), # noqa: E501 ) - # Source: Yul - # { - # sstore(0,create2(0, 0, 0x200, 0x5A17)) + # Source: yul + # berlin { + # let useless := keccak256(0,0xBEEF) # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CREATE2( - value=Op.DUP1, - offset=0x0, - size=0x200, - salt=0x5A17, - ), - ) - + Op.STOP - ), + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SHA3(offset=0x0, size=0xBEEF) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def5"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DE20), # noqa: E501 ) - # Source: Yul - # { - # let retval := staticcall(gas(), 0xCA11, 0, 0x100, 0, 0x100) + # Source: yul + # berlin { + # let addr := 0xCA11 + # extcodecopy(addr, 0, 0, extcodesize(addr)) # } - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x100, - ) - + Op.STOP - ), + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH2[0xCA11] + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.EXTCODESIZE(address=Op.DUP3) + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0defa"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DE3B), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: Yul - # { + # Source: yul + # berlin { # // Run the operation with gasAmt, gasAmt+gasDiff, gasAmt+2*gasDiff, etc. # noqa: E501 # let gasAmt := calldataload(0x24) # let gasDiff := calldataload(0x44) @@ -354,49 +325,96 @@ def test_operation_diff_gas( # } # sstore(0, sub(gasAmt, gasDiff)) # } - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x44) - + Op.CALLDATALOAD(offset=0x24) - + Op.ADD(Op.CALLDATALOAD(offset=0x4), 0xC0DE00) - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.JUMPDEST - + Op.JUMPI(pc=0x1C, condition=Op.EQ) - + Op.POP - + Op.SSTORE(key=0x0, value=Op.SUB) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.DUP4 - + Op.CALL( - gas=Op.DUP10, - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.DUP2, - ) - + Op.SWAP4 - + Op.ADD - + Op.SWAP3 - + Op.JUMP(pc=0x11) - ), + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x44) + + Op.CALLDATALOAD(offset=0x24) + + Op.ADD(Op.CALLDATALOAD(offset=0x4), 0xC0DE00) + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.JUMPDEST + + Op.JUMPI(pc=0x1C, condition=Op.EQ) + + Op.POP + + Op.SSTORE(key=0x0, value=Op.SUB) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.DUP4 + + Op.CALL( + gas=Op.DUP10, + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.DUP2, + ) + + Op.SWAP4 + + Op.ADD + + Op.SWAP3 + + Op.JUMP(pc=0x11), balance=0xBA1A9CE0BA1A9CE, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 54200})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 54300})}, + }, + { + "indexes": {"data": [2, 3, 4, 5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 2700})}, + }, + { + "indexes": {"data": [8, 6, 7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 9200})}, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 2800})}, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 18400})}, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("048071d3") + Hash(0xF0) + Hash(0x0) + Hash(0x64), + Bytes("048071d3") + Hash(0xF5) + Hash(0x0) + Hash(0x64), + Bytes("048071d3") + Hash(0xF1) + Hash(0x0) + Hash(0x64), + Bytes("048071d3") + Hash(0xF2) + Hash(0x0) + Hash(0x64), + Bytes("048071d3") + Hash(0xF4) + Hash(0x0) + Hash(0x64), + Bytes("048071d3") + Hash(0xFA) + Hash(0x0) + Hash(0x64), + Bytes("048071d3") + Hash(0x51) + Hash(0x0) + Hash(0x64), + Bytes("048071d3") + Hash(0x52) + Hash(0x0) + Hash(0x64), + Bytes("048071d3") + Hash(0x53) + Hash(0x0) + Hash(0x64), + Bytes("048071d3") + Hash(0x20) + Hash(0x0) + Hash(0x64), + Bytes("048071d3") + Hash(0x3B) + Hash(0x0) + Hash(0x64), + ] + tx_gas = [16777216] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, + to=contract_12, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stBugs/__init__.py b/tests/ported_static/stBugs/__init__.py index 0e48ad4e537..a0617deafeb 100644 --- a/tests/ported_static/stBugs/__init__.py +++ b/tests/ported_static/stBugs/__init__.py @@ -1 +1 @@ -"""Tests ported from stBugs.""" +"""Ported static tests: stBugs.""" # noqa: N999 diff --git a/tests/ported_static/stBugs/test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192.py b/tests/ported_static/stBugs/test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192.py index ceaaa55f5c2..1e3900a095f 100644 --- a/tests/ported_static/stBugs/test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192.py +++ b/tests/ported_static/stBugs/test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192.py @@ -1,9 +1,8 @@ """ -Is a canon example of a test found by fuzzing with EVMlab, demoing how a... +Test: this is a canon example of a test found by fuzzing with EVMlab,... Ported from: -tests/static/state_tests/stBugs -randomStatetestDEFAULT-Tue_07_58_41-15153-575192Filler.json +state_tests/stBugs/randomStatetestDEFAULT-Tue_07_58_41-15153-575192Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stBugs/randomStatetestDEFAULT-Tue_07_58_41-15153-575192Filler.json", # noqa: E501 + "state_tests/stBugs/randomStatetestDEFAULT-Tue_07_58_41-15153-575192Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Is a canon example of a test found by fuzzing with EVMlab,...""" - coinbase = Address("0xdf5277352f687058bec2d433f2e2d1b7f0c970ae") + """Test: tis is a canon example of a test found by fuzzing with EVMlab,...""" # noqa: E501 + coinbase = Address(0xDF5277352F687058BEC2D433F2E2D1B7F0C970AE) sender = EOA( key=0xEDDB5B1A0109F06919449A6279E9DE92A892086BDD851894EB8FFA6C8FF4E563 ) @@ -48,40 +48,50 @@ def test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192( gas_limit=20000000, ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x62abcdefff + addr = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0xABCDEF), nonce=28, - address=Address("0x589d1b72331c25effee38732d79f48f729681853"), # noqa: E501 + address=Address(0x589D1B72331C25EFFEE38732D79F48F729681853), # noqa: E501 ) - pre[sender] = Account(balance=0x5D8FDD3FF54298B4, nonce=28) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH2[0xDEAD] - + Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.SSTORE(key=0x1, value=Op.EXTCODEHASH(address=0xABCDEF)) - ), + # Source: raw + # 0x61dead6000600060006000600061dead5af162abcdef3f600155 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.PUSH2[0xDEAD] + + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.SSTORE(key=0x1, value=Op.EXTCODEHASH(address=0xABCDEF)), nonce=28, - address=coinbase, # noqa: E501 + address=Address(0xDF5277352F687058BEC2D433F2E2D1B7F0C970AE), # noqa: E501 ) + pre[sender] = Account(balance=0x5D8FDD3FF54298B4, nonce=28) tx = Transaction( sender=sender, to=coinbase, + data=Bytes(""), gas_limit=6282759, - gas_price=11, nonce=28, + gas_price=11, ) - post: dict = {} + post = { + coinbase: Account( + storage={}, + code=bytes.fromhex( + "61dead6000600060006000600061dead5af162abcdef3f600155" + ), + nonce=28, + ), + sender: Account(storage={}, code=b"", nonce=29), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stBugs/test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192_london.py b/tests/ported_static/stBugs/test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192_london.py index 44438298a3b..02b325d3db7 100644 --- a/tests/ported_static/stBugs/test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192_london.py +++ b/tests/ported_static/stBugs/test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192_london.py @@ -1,9 +1,8 @@ """ -Is a canon example of a test found by fuzzing with EVMlab, demoing how a... +Test: this is a canon example of a test found by fuzzing with EVMlab,... Ported from: -tests/static/state_tests/stBugs -randomStatetestDEFAULT-Tue_07_58_41-15153-575192_londonFiller.json +state_tests/stBugs/randomStatetestDEFAULT-Tue_07_58_41-15153-575192_londonFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stBugs/randomStatetestDEFAULT-Tue_07_58_41-15153-575192_londonFiller.json", # noqa: E501 + "state_tests/stBugs/randomStatetestDEFAULT-Tue_07_58_41-15153-575192_londonFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192_lo state_test: StateTestFiller, pre: Alloc, ) -> None: - """Is a canon example of a test found by fuzzing with EVMlab,...""" - coinbase = Address("0xdf5277352f687058bec2d433f2e2d1b7f0c970ae") + """Test: tis is a canon example of a test found by fuzzing with EVMlab,...""" # noqa: E501 + coinbase = Address(0xDF5277352F687058BEC2D433F2E2D1B7F0C970AE) sender = EOA( key=0xEDDB5B1A0109F06919449A6279E9DE92A892086BDD851894EB8FFA6C8FF4E563 ) @@ -48,39 +48,49 @@ def test_random_statetest_default_minus_tue_07_58_41_minus_15153_minus_575192_lo gas_limit=20000000, ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x62abcdefff + addr = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0xABCDEF), nonce=28, - address=Address("0x589d1b72331c25effee38732d79f48f729681853"), # noqa: E501 + address=Address(0x589D1B72331C25EFFEE38732D79F48F729681853), # noqa: E501 ) - pre[sender] = Account(balance=0x5D8FDD3FF54298B4, nonce=28) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH2[0xDEAD] - + Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.SSTORE(key=0x1, value=Op.EXTCODEHASH(address=0xABCDEF)) - ), + # Source: raw + # 0x61dead6000600060006000600061dead5af162abcdef3f600155 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.PUSH2[0xDEAD] + + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.SSTORE(key=0x1, value=Op.EXTCODEHASH(address=0xABCDEF)), nonce=28, - address=coinbase, # noqa: E501 + address=Address(0xDF5277352F687058BEC2D433F2E2D1B7F0C970AE), # noqa: E501 ) + pre[sender] = Account(balance=0x5D8FDD3FF54298B4, nonce=28) tx = Transaction( sender=sender, to=coinbase, + data=Bytes(""), gas_limit=6282759, nonce=28, ) - post: dict = {} + post = { + coinbase: Account( + storage={}, + code=bytes.fromhex( + "61dead6000600060006000600061dead5af162abcdef3f600155" + ), + nonce=28, + ), + sender: Account(storage={}, code=b"", nonce=29), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stBugs/test_returndatacopy_python_bug_tue_03_48_41_minus_1432.py b/tests/ported_static/stBugs/test_returndatacopy_python_bug_tue_03_48_41_minus_1432.py index e625f2fc610..394c61cf9ef 100644 --- a/tests/ported_static/stBugs/test_returndatacopy_python_bug_tue_03_48_41_minus_1432.py +++ b/tests/ported_static/stBugs/test_returndatacopy_python_bug_tue_03_48_41_minus_1432.py @@ -2,8 +2,7 @@ Fuzzer generated bug. No code source. Ported from: -tests/static/state_tests/stBugs -returndatacopyPythonBug_Tue_03_48_41-1432Filler.json +state_tests/stBugs/returndatacopyPythonBug_Tue_03_48_41-1432Filler.json """ import pytest @@ -12,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,30 +26,50 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stBugs/returndatacopyPythonBug_Tue_03_48_41-1432Filler.json", # noqa: E501 + "state_tests/stBugs/returndatacopyPythonBug_Tue_03_48_41-1432Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - (8777204, 2759170368, {}), - (8777204, 0, {}), - (3000000, 2759170368, {}), - (3000000, 0, {}), + pytest.param( + 0, + 0, + 0, + id="-g0-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-g0-v1", + ), + pytest.param( + 0, + 1, + 0, + id="-g1-v0", + ), + pytest.param( + 0, + 1, + 1, + id="-g1-v1", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_returndatacopy_python_bug_tue_03_48_41_minus_1432( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Fuzzer generated bug. No code source.""" - coinbase = Address("0x1000000000000000000000000000000000000000") + """Fuzzer generated bug.""" + coinbase = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x7B8E1B8983BDCF0DF1A8A35F27CE0D6E94E340D0C15BD288E587771F560B3570 ) @@ -62,200 +84,146 @@ def test_returndatacopy_python_bug_tue_03_48_41_minus_1432( ) pre[sender] = Account(balance=0x38BEEC8FEECA2598) - # Source: raw bytecode - pre.deploy_contract( - code=bytes.fromhex( - "6102dd6103e06103146052632318d76f7332f4d5419b41e6887cca98e0943f141a5c66df" # noqa: E501 - "986347cfe65df16abd0c6d6c4cec6593afaa8c7de1769c96cd0751aa76a98c8196fa8c92" # noqa: E501 - "e70d7bda1799c91c7f05de318110659b819438774667f9ec15a6e0233f75669e43360bd4" # noqa: E501 - "e0a0764e9f395117afcd072774ce12d13dc73305858002a921407eb6508e3a3be377d482" # noqa: E501 - "5dbf618a393c7c061e75a8a496a33afe0f017f2e3354789e321838b083d48893f23dced4" # noqa: E501 - "592e9ea08fe3f80970d6334b626c6f1f6ede8bcc81d03a7ccc244231cb6606db986101d7" # noqa: E501 - "61010761031c61025673ffffffffffffffffffffffffffffffffffffffff6311ecd01bfa" # noqa: E501 - "7aa6d0c1c5158ef0db6994192acbd4cac6abc8449d80fc2c3247194668e0d9606bd39026" # noqa: E501 - "6d7f78712766f4765076283ad67450d7ab4df6f3f6ee014ab802ec9d55727ed96dc0b9ce" # noqa: E501 - "7bd14b193dc1f0d11ce19283c77ef651d4d2e7c180715ff7fcbc995ea8b27613cc516dad" # noqa: E501 - "16d17f29a93220ce0d6edb0a65d3d474dbc39cba5bcb3d4fcf6a9fef19107dc04511df27" # noqa: E501 - "52fb346103ce6101c163459d135bf0712ab2475fbb2ba0720711a903dbecfa0429bf6811" # noqa: E501 - "e6e90cbb0f13d4ee61050c7052c865e0216b4096186fc604fb563fa59f761263ee91d55e" # noqa: E501 - "407fdffe82ca1558f793f3a218dd9ba69084621fdea97de498f0b0e1874331115e31aaad" # noqa: E501 - "4d87227362a9ec3e1c1be11cdb23097bbc600c64692eeadfa97f1616b8aec24564487dc7" # noqa: E501 - "4f8e17e6a133b5dbe576838697de73f856197203ef1a733a54f7edb0dbd60f9d52db6b5c" # noqa: E501 - "1477169b77f0d86917ed731a20db4b9e5b836bd26bffefab084a31c4afda166f8156612f" # noqa: E501 - "281da0be688e5bdb1f31ed7869bc62343a7665abad657369482449e68b3acfe820997d3d" # noqa: E501 - "df5785384d51aaa0612dab5ddbf2a9bf550736ad42293387d70693587d74f6ccfae5218d" # noqa: E501 - "01559bac159497edb6a665eae52f52784975568a159c0cae9044d258c55b10f4d1008d29" # noqa: E501 - "ab1df7fceb76b789e2a8cdbaa9c67c42cd1ebe81716ead0e94c721279d77d3a0b3de3115" # noqa: E501 - "96d547292878449ccce511e6991b3dc636a16278159a9f61014a6102216342ce224df06f" # noqa: E501 - "3d9a062274cd9a67ccba17c2cb06de46628e0bf703610106602e636db4b55bf061020561" # noqa: E501 - "02c9633ff89b31f0788e55af17e19973f2c3f5d4c21c169890b9a92491f91aa1e714605d" # noqa: E501 - "526103a1601f609b6103ee73d94f5374fce5edbc8e2a8697c15331677e6ebf0b6335adea" # noqa: E501 - "bdf46d26060d385ed594e21b02b23a6c4c157350e7ab6a3ef66f83a29845b4ba85c4fdfb" # noqa: E501 - "d0054a620123ad6893eff4b525b0f4b08d73285f36f3bcac6a985b906c348472b7cbc5a0" # noqa: E501 - "2e61678666f0c50eecdc1167f20fc1dc41c2fd95856d7752e55ede4e56f4f536a04d436a" # noqa: E501 - "7fd418a1ca44c0173c10f1806ba284f9c9c7c13670005de594dec538cd56c2743b66fdfa" # noqa: E501 - "7683ae0df6917b8bbcb53461be606ef617322e6448e3e4124dbe061257a8f486529de369" # noqa: E501 - "97f08ce92502957f85587a18082b5b5b49e36de5a83e8a270663088571bf2fdf8f5f29b9" # noqa: E501 - "49976b41e3859928a237f5e5df84c17d3c431e82328f9093e64defbdd07d74d848358009" # noqa: E501 - "99791abc41260472d96f9362604d077b198e859adc806beae7200cf116d2b55e89ddd564" # noqa: E501 - "abc3900e69a68b0f6f0e9e4f12998728815d01c42f3b109ed25561027b610132635f4495" # noqa: E501 - "86f06101726101ec631fe4bdc3f06101316101246103b33e60bd19610284610305fd6102" # noqa: E501 - "db6102e4631ea09dc6f06b72a6cf13500241c2a5e5c4e1777ea9ed9b05ba9b57d70dd270" # noqa: E501 - "ece76ecf21d3a41ad554f795167084dcab761d4c8437774cad4bb13b2bece16d40358df9" # noqa: E501 - "3ec0f49abe102cd44e475560476101f3fd605b61030a6328f7e2e9f032604a547db71c02" # noqa: E501 - "37247865fa2add74c8b27041c5718a2554a72662720296dff5b3b5327d59df4558b8a5b2" # noqa: E501 - "c9e7d15eb3947a70064f935c8fdf0a4e6f644aa31b42c17d0280e50ea92a366c3d060c12" # noqa: E501 - "c6a16a75522fbeb3d7cca702807f521781ab6101b252639cceb9e27f37ee8fde4ed3a23d" # noqa: E501 - "3ec8db334ac1caa7e06523b0132dd615cf3fc16140d34c19761617823c3af47c42bc36b6" # noqa: E501 - "9cb4385463595c7f6f9ea451396fe05303603e0cd401e13df744e2a67382774d94394155" # noqa: E501 - "1704ff14dfa8646efbb2d8abc4ac6e258e99240372924b8001f8f0650d66b37411d484b1" # noqa: E501 - "8f41e779702bd1c169fa52bbfc8af4a45f20acb0ef956edb2ecbc0d4eadbbbf6732f8bd3" # noqa: E501 - "3b367a33c0faf0cf1970bcd38093a50a44fd253b0e74f2706239c499217b7bdae332e21d" # noqa: E501 - "5d5e7e795c998cceed14cf46977e7d3cbb3c79ef0530c36fa8ac3fd8d49f10bb0ae919fa" # noqa: E501 - "149adead7f67dae0b9ba628e056e0e87e029b8e5f42821d775338e6774301ecb428b3938" # noqa: E501 - "237c6ee22b0b5edf2ad6997869f427ba0672a7168614233e85f61dae5ed428643a53f605" # noqa: E501 - "116d6dad586dce62833a62ca8c914c646b1f861a5b1c4ea7298a95029e63cb849fe08b6c" # noqa: E501 - "943cb9d854c7d50ad04cfdfe64718e2868b8f2b53e55fe01a152c8496cbcc69956787447" # noqa: E501 - "062b734cebde6c6452e9efc4aba5bf071cbff56208a52561a8ef635f52399b724f3369d9" # noqa: E501 - "88884f58166d734881774eff46d77b76b189c89c55b1c6591f178d2d21bf2b023adf9bc5" # noqa: E501 - "b862127935e3346d98d56047a3f71241fd5a24abbb0cfc463fb8a5e67e327b055696fe51" # noqa: E501 - "258dd07526ebd8439bcebb514ae26dc12d653a5c1263707c5109097ec5dcdb3918ab1149" # noqa: E501 - "85f709d3003b50e58fba91007825a6b80073f644eaa306051808460fc3b2d8e276b2187c" # noqa: E501 - "583f7ef29ee0b0c34f9ee57bac9ebb996402e3300ddf06c760fc5f531f6b1e2beda77fa1" # noqa: E501 - "5c07f90f92422822e8d33c5d2409ea75197f7cd6d61770eddb078206cfc7c57b006cd0e9" # noqa: E501 - "a9ec65fa4fc683da22cfaf6dfc995feb5f8386a052851fc58b7402f32e7ef9343d4633de" # noqa: E501 - "f4c0a4b9be12f2cd7c646073e14ca3fb977524f677714c3d994ea05f1997a246537d2fc0" # noqa: E501 - "ab20ed2a5958f3712602bee2a270429abbd3ff3b9945f72f58dcf4f86eb344417a87dfa1" # noqa: E501 - "ebd701a0ff381bb40b620bb8287cd7781d2ef7c0fd8695f705465fbadf99fdffef2afd94" # noqa: E501 - "b0e76531b6ea0d537a23d2332d13c20368a0724e41bc1130a6b1ebc3464527e34c26a437" # noqa: E501 - "51649f9dfe4f8e7957981a9fc08558c90d38079f1921b60fe6fa448171fec55c4c630575" # noqa: E501 - "e811712211cf72f489a4e83a2f5427eab647b075a91064929de0a65517" - ), - balance=0x161150E7531F1933, - nonce=29, - address=Address("0x47a24dd3a5f1a6a8238efdb32782a0b56ab9a1dd"), # noqa: E501 + # Source: raw + # 0x7b1db054ccc801c0666b34b3c6242bbfc5e98f20c14fb95e0118be9ad054326f33d50e215ff59297861847ea911a6a9d566103a560a860fb60cb6342a46f5073b94f5374fce5edbc8e2a8697c15331677e6ebf0b632c1e2816f26d135e2f826dc603850e0db21d105b778732a34b873c7d943050b8659794f0bd3e841d35a2231ef6027e97f8cde11728fa2051e87933cf858e4e5e91baa74fc1e9ffe4c7b15ba600e8678f095989dc68f47e67d704be2b41c7f8670a # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SLOAD( + key=0x1DB054CCC801C0666B34B3C6242BBFC5E98F20C14FB95E0118BE9AD0 + ) + + Op.ORIGIN + + Op.JUMP(pc=0x33D50E215FF59297861847EA911A6A9D) + + Op.CALLCODE( + gas=0x2C1E2816, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x42A46F50, + args_offset=0xCB, + args_size=0xFB, + ret_offset=0xA8, + ret_size=0x3A5, + ) + + Op.MUL( + 0x8732A34B873C7D943050B8659794F0BD3E841D35A2231EF6, + 0x135E2F826DC603850E0DB21D105B, + ) + + Op.PUSH31[ + 0x97F8CDE11728FA2051E87933CF858E4E5E91BAA74FC1E9FFE4C7B15BA600E8 + ] + + Op.EXP(0xD704BE2B41C7F867, 0x8F095989DC68F47E), + balance=0x2CE99FC81ED55962, + nonce=63, + address=Address(0xF4C98E0DDA63A5C89847CA3E6DDF34F23443370F), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x610326610100fd79c940b5f2046740058558468f238b85db7f6bbe3f3d51e92a3e326102d85268b7f7c4147541c695f376705288410b81b217e80726fb9e4c5c7b4c49eca0c1b6b9137e117c16c26c9816459f38396ffc36da48d65defdc7d055cbc846c07e81cfab0607c6cbc968774d4de7df8e3236f581e688cc2081a96b1cad9e0fb6103ca601361019f6101016364b68c8e73ffffffffffffffffffffffffffffffffffffffff63200fbd63f16017610215610161610119635af7465b73000000000000000000000000000000000000000863792c6916f1799bf4fddda49ae97714e7d325ceab23acd5f4a15b52104741161261023f608ff360197021a04ff3f933b9ad91b735bfbfe41da7066b499c5d47b6de1fe398cb91fd68f681cbb8661dd457cf713cef75dabf5ea496d7012f4c56b9fee6c4208461022d61021661036e610200630277795a73ffffffffffffffffffffffffffffffffffffffff6333d3d55ff1644720e3ce666101ad526b874cead08499d57a5497d3776102fa60ff60f561014863202b2ea873d94f5374fce5edbc8e2a8697c15331677e6ebf0b6302e83dbef1327144ce205e051f296fb116fc9e5f3c280919af70f3c93c5d5cefff338db2b1165b4918f1780a73852663192a9579a68b50eefdc639ca0b62ab4d5230 # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "610326610100fd79c940b5f2046740058558468f238b85db7f6bbe3f3d51e92a3e326102" # noqa: E501 - "d85268b7f7c4147541c695f376705288410b81b217e80726fb9e4c5c7b4c49eca0c1b6b9" # noqa: E501 - "137e117c16c26c9816459f38396ffc36da48d65defdc7d055cbc846c07e81cfab0607c6c" # noqa: E501 - "bc968774d4de7df8e3236f581e688cc2081a96b1cad9e0fb6103ca601361019f61010163" # noqa: E501 - "64b68c8e73ffffffffffffffffffffffffffffffffffffffff63200fbd63f16017610215" # noqa: E501 - "610161610119635af7465b73000000000000000000000000000000000000000863792c69" # noqa: E501 - "16f1799bf4fddda49ae97714e7d325ceab23acd5f4a15b52104741161261023f608ff360" # noqa: E501 - "197021a04ff3f933b9ad91b735bfbfe41da7066b499c5d47b6de1fe398cb91fd68f681cb" # noqa: E501 - "b8661dd457cf713cef75dabf5ea496d7012f4c56b9fee6c4208461022d61021661036e61" # noqa: E501 - "0200630277795a73ffffffffffffffffffffffffffffffffffffffff6333d3d55ff16447" # noqa: E501 - "20e3ce666101ad526b874cead08499d57a5497d3776102fa60ff60f561014863202b2ea8" # noqa: E501 - "73d94f5374fce5edbc8e2a8697c15331677e6ebf0b6302e83dbef1327144ce205e051f29" # noqa: E501 - "6fb116fc9e5f3c280919af70f3c93c5d5cefff338db2b1165b4918f1780a73852663192a" # noqa: E501 - "9579a68b50eefdc639ca0b62ab4d5230" + "610326610100fd79c940b5f2046740058558468f238b85db7f6bbe3f3d51e92a3e326102d85268b7f7c4147541c695f376705288410b81b217e80726fb9e4c5c7b4c49eca0c1b6b9137e117c16c26c9816459f38396ffc36da48d65defdc7d055cbc846c07e81cfab0607c6cbc968774d4de7df8e3236f581e688cc2081a96b1cad9e0fb6103ca601361019f6101016364b68c8e73ffffffffffffffffffffffffffffffffffffffff63200fbd63f16017610215610161610119635af7465b73000000000000000000000000000000000000000863792c6916f1799bf4fddda49ae97714e7d325ceab23acd5f4a15b52104741161261023f608ff360197021a04ff3f933b9ad91b735bfbfe41da7066b499c5d47b6de1fe398cb91fd68f681cbb8661dd457cf713cef75dabf5ea496d7012f4c56b9fee6c4208461022d61021661036e610200630277795a73ffffffffffffffffffffffffffffffffffffffff6333d3d55ff1644720e3ce666101ad526b874cead08499d57a5497d3776102fa60ff60f561014863202b2ea873d94f5374fce5edbc8e2a8697c15331677e6ebf0b6302e83dbef1327144ce205e051f296fb116fc9e5f3c280919af70f3c93c5d5cefff338db2b1165b4918f1780a73852663192a9579a68b50eefdc639ca0b62ab4d5230" # noqa: E501 ), balance=0x442F5872DD93B01A, nonce=28, - address=Address("0x786208c0f93dac2045bec6a3f8a41b73ab845593"), # noqa: E501 + address=Address(0x786208C0F93DAC2045BEC6A3F8A41B73AB845593), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x6102dd6103e06103146052632318d76f7332f4d5419b41e6887cca98e0943f141a5c66df986347cfe65df16abd0c6d6c4cec6593afaa8c7de1769c96cd0751aa76a98c8196fa8c92e70d7bda1799c91c7f05de318110659b819438774667f9ec15a6e0233f75669e43360bd4e0a0764e9f395117afcd072774ce12d13dc73305858002a921407eb6508e3a3be377d4825dbf618a393c7c061e75a8a496a33afe0f017f2e3354789e321838b083d48893f23dced4592e9ea08fe3f80970d6334b626c6f1f6ede8bcc81d03a7ccc244231cb6606db986101d761010761031c61025673ffffffffffffffffffffffffffffffffffffffff6311ecd01bfa7aa6d0c1c5158ef0db6994192acbd4cac6abc8449d80fc2c3247194668e0d9606bd390266d7f78712766f4765076283ad67450d7ab4df6f3f6ee014ab802ec9d55727ed96dc0b9ce7bd14b193dc1f0d11ce19283c77ef651d4d2e7c180715ff7fcbc995ea8b27613cc516dad16d17f29a93220ce0d6edb0a65d3d474dbc39cba5bcb3d4fcf6a9fef19107dc04511df2752fb346103ce6101c163459d135bf0712ab2475fbb2ba0720711a903dbecfa0429bf6811e6e90cbb0f13d4ee61050c7052c865e0216b4096186fc604fb563fa59f761263ee91d55e407fdffe82ca1558f793f3a218dd9ba69084621fdea97de498f0b0e1874331115e31aaad4d87227362a9ec3e1c1be11cdb23097bbc600c64692eeadfa97f1616b8aec24564487dc74f8e17e6a133b5dbe576838697de73f856197203ef1a733a54f7edb0dbd60f9d52db6b5c1477169b77f0d86917ed731a20db4b9e5b836bd26bffefab084a31c4afda166f8156612f281da0be688e5bdb1f31ed7869bc62343a7665abad657369482449e68b3acfe820997d3ddf5785384d51aaa0612dab5ddbf2a9bf550736ad42293387d70693587d74f6ccfae5218d01559bac159497edb6a665eae52f52784975568a159c0cae9044d258c55b10f4d1008d29ab1df7fceb76b789e2a8cdbaa9c67c42cd1ebe81716ead0e94c721279d77d3a0b3de311596d547292878449ccce511e6991b3dc636a16278159a9f61014a6102216342ce224df06f3d9a062274cd9a67ccba17c2cb06de46628e0bf703610106602e636db4b55bf06102056102c9633ff89b31f0788e55af17e19973f2c3f5d4c21c169890b9a92491f91aa1e714605d526103a1601f609b6103ee73d94f5374fce5edbc8e2a8697c15331677e6ebf0b6335adeabdf46d26060d385ed594e21b02b23a6c4c157350e7ab6a3ef66f83a29845b4ba85c4fdfbd0054a620123ad6893eff4b525b0f4b08d73285f36f3bcac6a985b906c348472b7cbc5a02e61678666f0c50eecdc1167f20fc1dc41c2fd95856d7752e55ede4e56f4f536a04d436a7fd418a1ca44c0173c10f1806ba284f9c9c7c13670005de594dec538cd56c2743b66fdfa7683ae0df6917b8bbcb53461be606ef617322e6448e3e4124dbe061257a8f486529de36997f08ce92502957f85587a18082b5b5b49e36de5a83e8a270663088571bf2fdf8f5f29b949976b41e3859928a237f5e5df84c17d3c431e82328f9093e64defbdd07d74d84835800999791abc41260472d96f9362604d077b198e859adc806beae7200cf116d2b55e89ddd564abc3900e69a68b0f6f0e9e4f12998728815d01c42f3b109ed25561027b610132635f449586f06101726101ec631fe4bdc3f06101316101246103b33e60bd19610284610305fd6102db6102e4631ea09dc6f06b72a6cf13500241c2a5e5c4e1777ea9ed9b05ba9b57d70dd270ece76ecf21d3a41ad554f795167084dcab761d4c8437774cad4bb13b2bece16d40358df93ec0f49abe102cd44e475560476101f3fd605b61030a6328f7e2e9f032604a547db71c0237247865fa2add74c8b27041c5718a2554a72662720296dff5b3b5327d59df4558b8a5b2c9e7d15eb3947a70064f935c8fdf0a4e6f644aa31b42c17d0280e50ea92a366c3d060c12c6a16a75522fbeb3d7cca702807f521781ab6101b252639cceb9e27f37ee8fde4ed3a23d3ec8db334ac1caa7e06523b0132dd615cf3fc16140d34c19761617823c3af47c42bc36b69cb4385463595c7f6f9ea451396fe05303603e0cd401e13df744e2a67382774d943941551704ff14dfa8646efbb2d8abc4ac6e258e99240372924b8001f8f0650d66b37411d484b18f41e779702bd1c169fa52bbfc8af4a45f20acb0ef956edb2ecbc0d4eadbbbf6732f8bd33b367a33c0faf0cf1970bcd38093a50a44fd253b0e74f2706239c499217b7bdae332e21d5d5e7e795c998cceed14cf46977e7d3cbb3c79ef0530c36fa8ac3fd8d49f10bb0ae919fa149adead7f67dae0b9ba628e056e0e87e029b8e5f42821d775338e6774301ecb428b3938237c6ee22b0b5edf2ad6997869f427ba0672a7168614233e85f61dae5ed428643a53f605116d6dad586dce62833a62ca8c914c646b1f861a5b1c4ea7298a95029e63cb849fe08b6c943cb9d854c7d50ad04cfdfe64718e2868b8f2b53e55fe01a152c8496cbcc69956787447062b734cebde6c6452e9efc4aba5bf071cbff56208a52561a8ef635f52399b724f3369d988884f58166d734881774eff46d77b76b189c89c55b1c6591f178d2d21bf2b023adf9bc5b862127935e3346d98d56047a3f71241fd5a24abbb0cfc463fb8a5e67e327b055696fe51258dd07526ebd8439bcebb514ae26dc12d653a5c1263707c5109097ec5dcdb3918ab114985f709d3003b50e58fba91007825a6b80073f644eaa306051808460fc3b2d8e276b2187c583f7ef29ee0b0c34f9ee57bac9ebb996402e3300ddf06c760fc5f531f6b1e2beda77fa15c07f90f92422822e8d33c5d2409ea75197f7cd6d61770eddb078206cfc7c57b006cd0e9a9ec65fa4fc683da22cfaf6dfc995feb5f8386a052851fc58b7402f32e7ef9343d4633def4c0a4b9be12f2cd7c646073e14ca3fb977524f677714c3d994ea05f1997a246537d2fc0ab20ed2a5958f3712602bee2a270429abbd3ff3b9945f72f58dcf4f86eb344417a87dfa1ebd701a0ff381bb40b620bb8287cd7781d2ef7c0fd8695f705465fbadf99fdffef2afd94b0e76531b6ea0d537a23d2332d13c20368a0724e41bc1130a6b1ebc3464527e34c26a43751649f9dfe4f8e7957981a9fc08558c90d38079f1921b60fe6fa448171fec55c4c630575e811712211cf72f489a4e83a2f5427eab647b075a91064929de0a65517 # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7e4fc1426b49cd8e2c770339616ce9c501fb746715dd4a20219229d0673ac05575993bd0" # noqa: E501 - "89a6663f6dff488574195b848fbb357eb7be1f61026352605861011761027f60e373c94f" # noqa: E501 - "5374fce5edbc8e2a8697c15331677e6ebf0b63748b4abbfa60e76101bc6103f33e60d861" # noqa: E501 - "036a6315193f47f07aff076e997770d03b70288679871dc28aa5a1399b21c8afa8155ecd" # noqa: E501 - "7e75dd05f9d7eb42fa3e79c6a2109dff2a1e53e612fbe000bed18eec8345f00574f537c7" # noqa: E501 - "2820d8b97350ae523a8f7467ae14a8bd9aae6be55862b685e32476cc67ae2c6a40cf5572" # noqa: E501 - "9540d111f44c63629458da68e7ad2a9b389ed3bb60682169ea8a7b3a1bcf92621919c062" # noqa: E501 - "413cb5986101236103596101776103be73d94f5374fce5edbc8e2a8697c15331677e6ebf" # noqa: E501 - "0b631f6d9dfffa6103716101f760163e76d609ca9a51645238e4f1f8268f973c3a01a0b6" # noqa: E501 - "7479a34563d1e70065610173525b64e6d218af5474c3d8045447d06c726801695cfa26fd" # noqa: E501 - "faa6460a868569cd662855a55716140ae07eb1e25aeaf04ae7cf54e8aa7a22206da5a6e5" # noqa: E501 - "2bdd3ef82ad40a4681d25811167f7b0a3f66a727652592924dc1291a6085d537c5da2d62" # noqa: E501 - "72a54f882460bc76407d666361c40cc56bc8778a8bc9a9b45d44c78cfe4333fe0c49418d" # noqa: E501 - "d61f183d41132f755340e48ababb825a26ebc0ca693a8b465121200fd21a727b4c365a65" # noqa: E501 - "a3255278f6705e5ca0f6146fccd3766a6e5b9decfb6e50968851e829313a2cc9d5b518e2" # noqa: E501 - "586166c31ba04ed3f5a377310bd9993aa534b007858d9545342410ce8c156d780a8cb477" # noqa: E501 - "a65efed30aa9d6bd63c48a134c9cb0c677ecda48aacef0c17c91de37e3cfdae691537424" # noqa: E501 - "06995ea81bbae6a201663b9b37a6a9f597ae8d5a634f40e44e517174ea92616bc228ced0" # noqa: E501 - "d712c265c2925470326102f26102146101b13e601d6103a360726103ec73ffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffff6319628a1bf4740e5f285d15a08a263b0a444516266b" # noqa: E501 - "d51fe7266771604469df3c080d07dd47c4eb9e7344a87541ddc5a6971632a021033eb354" # noqa: E501 - "2b375cd06bd0dfb48f6acde07152794b556839563efff1afed3b0a857615166526175e71" # noqa: E501 - "84b83cc2dedf61ec5d65d1eee66efcb87b4f2c73335db9fba49e3d40638cd7f462f1d3b3" # noqa: E501 - "15f18dc1f692a68b24036102c16101f36102f23e783d6331b166ee517c71a4ba159dd322" # noqa: E501 - "b9fa5f3237dfb85d2594edd580948177bd72d2244f767352371e3428d28bc6356c553b18" # noqa: E501 - "d00e6b3cf602061672c2abbd7763059f61940b0d19fde33f7b5a960861025b61021d6101" # noqa: E501 - "d361035173b94f5374fce5edbc8e2a8697c15331677e6ebf0b635ba25f69f4790d251e9a" # noqa: E501 - "e89c718dd41c3f57b0c304fbb83978de28d23499bdd1729c04301ff527ccc9f7ed74a8db" # noqa: E501 - "d906b468d4487ffba738f193e3047b02e40beb08b4f11707681ef103ec1b00585a85f272" # noqa: E501 - "27a179917ef15e97a359268b06ff34bcee23a869974fbca6e201cb16179743ac0f8c9f86" # noqa: E501 - "7003d5e26a5aad5217ebfff31407169237230772efaab6cd87fbc9fd408d4ac5a048e43f" # noqa: E501 - "b4e7a261037c6101f76103e13e" + "6102dd6103e06103146052632318d76f7332f4d5419b41e6887cca98e0943f141a5c66df986347cfe65df16abd0c6d6c4cec6593afaa8c7de1769c96cd0751aa76a98c8196fa8c92e70d7bda1799c91c7f05de318110659b819438774667f9ec15a6e0233f75669e43360bd4e0a0764e9f395117afcd072774ce12d13dc73305858002a921407eb6508e3a3be377d4825dbf618a393c7c061e75a8a496a33afe0f017f2e3354789e321838b083d48893f23dced4592e9ea08fe3f80970d6334b626c6f1f6ede8bcc81d03a7ccc244231cb6606db986101d761010761031c61025673ffffffffffffffffffffffffffffffffffffffff6311ecd01bfa7aa6d0c1c5158ef0db6994192acbd4cac6abc8449d80fc2c3247194668e0d9606bd390266d7f78712766f4765076283ad67450d7ab4df6f3f6ee014ab802ec9d55727ed96dc0b9ce7bd14b193dc1f0d11ce19283c77ef651d4d2e7c180715ff7fcbc995ea8b27613cc516dad16d17f29a93220ce0d6edb0a65d3d474dbc39cba5bcb3d4fcf6a9fef19107dc04511df2752fb346103ce6101c163459d135bf0712ab2475fbb2ba0720711a903dbecfa0429bf6811e6e90cbb0f13d4ee61050c7052c865e0216b4096186fc604fb563fa59f761263ee91d55e407fdffe82ca1558f793f3a218dd9ba69084621fdea97de498f0b0e1874331115e31aaad4d87227362a9ec3e1c1be11cdb23097bbc600c64692eeadfa97f1616b8aec24564487dc74f8e17e6a133b5dbe576838697de73f856197203ef1a733a54f7edb0dbd60f9d52db6b5c1477169b77f0d86917ed731a20db4b9e5b836bd26bffefab084a31c4afda166f8156612f281da0be688e5bdb1f31ed7869bc62343a7665abad657369482449e68b3acfe820997d3ddf5785384d51aaa0612dab5ddbf2a9bf550736ad42293387d70693587d74f6ccfae5218d01559bac159497edb6a665eae52f52784975568a159c0cae9044d258c55b10f4d1008d29ab1df7fceb76b789e2a8cdbaa9c67c42cd1ebe81716ead0e94c721279d77d3a0b3de311596d547292878449ccce511e6991b3dc636a16278159a9f61014a6102216342ce224df06f3d9a062274cd9a67ccba17c2cb06de46628e0bf703610106602e636db4b55bf06102056102c9633ff89b31f0788e55af17e19973f2c3f5d4c21c169890b9a92491f91aa1e714605d526103a1601f609b6103ee73d94f5374fce5edbc8e2a8697c15331677e6ebf0b6335adeabdf46d26060d385ed594e21b02b23a6c4c157350e7ab6a3ef66f83a29845b4ba85c4fdfbd0054a620123ad6893eff4b525b0f4b08d73285f36f3bcac6a985b906c348472b7cbc5a02e61678666f0c50eecdc1167f20fc1dc41c2fd95856d7752e55ede4e56f4f536a04d436a7fd418a1ca44c0173c10f1806ba284f9c9c7c13670005de594dec538cd56c2743b66fdfa7683ae0df6917b8bbcb53461be606ef617322e6448e3e4124dbe061257a8f486529de36997f08ce92502957f85587a18082b5b5b49e36de5a83e8a270663088571bf2fdf8f5f29b949976b41e3859928a237f5e5df84c17d3c431e82328f9093e64defbdd07d74d84835800999791abc41260472d96f9362604d077b198e859adc806beae7200cf116d2b55e89ddd564abc3900e69a68b0f6f0e9e4f12998728815d01c42f3b109ed25561027b610132635f449586f06101726101ec631fe4bdc3f06101316101246103b33e60bd19610284610305fd6102db6102e4631ea09dc6f06b72a6cf13500241c2a5e5c4e1777ea9ed9b05ba9b57d70dd270ece76ecf21d3a41ad554f795167084dcab761d4c8437774cad4bb13b2bece16d40358df93ec0f49abe102cd44e475560476101f3fd605b61030a6328f7e2e9f032604a547db71c0237247865fa2add74c8b27041c5718a2554a72662720296dff5b3b5327d59df4558b8a5b2c9e7d15eb3947a70064f935c8fdf0a4e6f644aa31b42c17d0280e50ea92a366c3d060c12c6a16a75522fbeb3d7cca702807f521781ab6101b252639cceb9e27f37ee8fde4ed3a23d3ec8db334ac1caa7e06523b0132dd615cf3fc16140d34c19761617823c3af47c42bc36b69cb4385463595c7f6f9ea451396fe05303603e0cd401e13df744e2a67382774d943941551704ff14dfa8646efbb2d8abc4ac6e258e99240372924b8001f8f0650d66b37411d484b18f41e779702bd1c169fa52bbfc8af4a45f20acb0ef956edb2ecbc0d4eadbbbf6732f8bd33b367a33c0faf0cf1970bcd38093a50a44fd253b0e74f2706239c499217b7bdae332e21d5d5e7e795c998cceed14cf46977e7d3cbb3c79ef0530c36fa8ac3fd8d49f10bb0ae919fa149adead7f67dae0b9ba628e056e0e87e029b8e5f42821d775338e6774301ecb428b3938237c6ee22b0b5edf2ad6997869f427ba0672a7168614233e85f61dae5ed428643a53f605116d6dad586dce62833a62ca8c914c646b1f861a5b1c4ea7298a95029e63cb849fe08b6c943cb9d854c7d50ad04cfdfe64718e2868b8f2b53e55fe01a152c8496cbcc69956787447062b734cebde6c6452e9efc4aba5bf071cbff56208a52561a8ef635f52399b724f3369d988884f58166d734881774eff46d77b76b189c89c55b1c6591f178d2d21bf2b023adf9bc5b862127935e3346d98d56047a3f71241fd5a24abbb0cfc463fb8a5e67e327b055696fe51258dd07526ebd8439bcebb514ae26dc12d653a5c1263707c5109097ec5dcdb3918ab114985f709d3003b50e58fba91007825a6b80073f644eaa306051808460fc3b2d8e276b2187c583f7ef29ee0b0c34f9ee57bac9ebb996402e3300ddf06c760fc5f531f6b1e2beda77fa15c07f90f92422822e8d33c5d2409ea75197f7cd6d61770eddb078206cfc7c57b006cd0e9a9ec65fa4fc683da22cfaf6dfc995feb5f8386a052851fc58b7402f32e7ef9343d4633def4c0a4b9be12f2cd7c646073e14ca3fb977524f677714c3d994ea05f1997a246537d2fc0ab20ed2a5958f3712602bee2a270429abbd3ff3b9945f72f58dcf4f86eb344417a87dfa1ebd701a0ff381bb40b620bb8287cd7781d2ef7c0fd8695f705465fbadf99fdffef2afd94b0e76531b6ea0d537a23d2332d13c20368a0724e41bc1130a6b1ebc3464527e34c26a43751649f9dfe4f8e7957981a9fc08558c90d38079f1921b60fe6fa448171fec55c4c630575e811712211cf72f489a4e83a2f5427eab647b075a91064929de0a65517" # noqa: E501 + ), + balance=0x161150E7531F1933, + nonce=29, + address=Address(0x47A24DD3A5F1A6A8238EFDB32782A0B56AB9A1DD), # noqa: E501 + ) + # Source: raw + # 0x7e4fc1426b49cd8e2c770339616ce9c501fb746715dd4a20219229d0673ac05575993bd089a6663f6dff488574195b848fbb357eb7be1f61026352605861011761027f60e373c94f5374fce5edbc8e2a8697c15331677e6ebf0b63748b4abbfa60e76101bc6103f33e60d861036a6315193f47f07aff076e997770d03b70288679871dc28aa5a1399b21c8afa8155ecd7e75dd05f9d7eb42fa3e79c6a2109dff2a1e53e612fbe000bed18eec8345f00574f537c72820d8b97350ae523a8f7467ae14a8bd9aae6be55862b685e32476cc67ae2c6a40cf55729540d111f44c63629458da68e7ad2a9b389ed3bb60682169ea8a7b3a1bcf92621919c062413cb5986101236103596101776103be73d94f5374fce5edbc8e2a8697c15331677e6ebf0b631f6d9dfffa6103716101f760163e76d609ca9a51645238e4f1f8268f973c3a01a0b67479a34563d1e70065610173525b64e6d218af5474c3d8045447d06c726801695cfa26fdfaa6460a868569cd662855a55716140ae07eb1e25aeaf04ae7cf54e8aa7a22206da5a6e52bdd3ef82ad40a4681d25811167f7b0a3f66a727652592924dc1291a6085d537c5da2d6272a54f882460bc76407d666361c40cc56bc8778a8bc9a9b45d44c78cfe4333fe0c49418dd61f183d41132f755340e48ababb825a26ebc0ca693a8b465121200fd21a727b4c365a65a3255278f6705e5ca0f6146fccd3766a6e5b9decfb6e50968851e829313a2cc9d5b518e2586166c31ba04ed3f5a377310bd9993aa534b007858d9545342410ce8c156d780a8cb477a65efed30aa9d6bd63c48a134c9cb0c677ecda48aacef0c17c91de37e3cfdae69153742406995ea81bbae6a201663b9b37a6a9f597ae8d5a634f40e44e517174ea92616bc228ced0d712c265c2925470326102f26102146101b13e601d6103a360726103ec73ffffffffffffffffffffffffffffffffffffffff6319628a1bf4740e5f285d15a08a263b0a444516266bd51fe7266771604469df3c080d07dd47c4eb9e7344a87541ddc5a6971632a021033eb3542b375cd06bd0dfb48f6acde07152794b556839563efff1afed3b0a857615166526175e7184b83cc2dedf61ec5d65d1eee66efcb87b4f2c73335db9fba49e3d40638cd7f462f1d3b315f18dc1f692a68b24036102c16101f36102f23e783d6331b166ee517c71a4ba159dd322b9fa5f3237dfb85d2594edd580948177bd72d2244f767352371e3428d28bc6356c553b18d00e6b3cf602061672c2abbd7763059f61940b0d19fde33f7b5a960861025b61021d6101d361035173b94f5374fce5edbc8e2a8697c15331677e6ebf0b635ba25f69f4790d251e9ae89c718dd41c3f57b0c304fbb83978de28d23499bdd1729c04301ff527ccc9f7ed74a8dbd906b468d4487ffba738f193e3047b02e40beb08b4f11707681ef103ec1b00585a85f27227a179917ef15e97a359268b06ff34bcee23a869974fbca6e201cb16179743ac0f8c9f867003d5e26a5aad5217ebfff31407169237230772efaab6cd87fbc9fd408d4ac5a048e43fb4e7a261037c6101f76103e13e # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7e4fc1426b49cd8e2c770339616ce9c501fb746715dd4a20219229d0673ac05575993bd089a6663f6dff488574195b848fbb357eb7be1f61026352605861011761027f60e373c94f5374fce5edbc8e2a8697c15331677e6ebf0b63748b4abbfa60e76101bc6103f33e60d861036a6315193f47f07aff076e997770d03b70288679871dc28aa5a1399b21c8afa8155ecd7e75dd05f9d7eb42fa3e79c6a2109dff2a1e53e612fbe000bed18eec8345f00574f537c72820d8b97350ae523a8f7467ae14a8bd9aae6be55862b685e32476cc67ae2c6a40cf55729540d111f44c63629458da68e7ad2a9b389ed3bb60682169ea8a7b3a1bcf92621919c062413cb5986101236103596101776103be73d94f5374fce5edbc8e2a8697c15331677e6ebf0b631f6d9dfffa6103716101f760163e76d609ca9a51645238e4f1f8268f973c3a01a0b67479a34563d1e70065610173525b64e6d218af5474c3d8045447d06c726801695cfa26fdfaa6460a868569cd662855a55716140ae07eb1e25aeaf04ae7cf54e8aa7a22206da5a6e52bdd3ef82ad40a4681d25811167f7b0a3f66a727652592924dc1291a6085d537c5da2d6272a54f882460bc76407d666361c40cc56bc8778a8bc9a9b45d44c78cfe4333fe0c49418dd61f183d41132f755340e48ababb825a26ebc0ca693a8b465121200fd21a727b4c365a65a3255278f6705e5ca0f6146fccd3766a6e5b9decfb6e50968851e829313a2cc9d5b518e2586166c31ba04ed3f5a377310bd9993aa534b007858d9545342410ce8c156d780a8cb477a65efed30aa9d6bd63c48a134c9cb0c677ecda48aacef0c17c91de37e3cfdae69153742406995ea81bbae6a201663b9b37a6a9f597ae8d5a634f40e44e517174ea92616bc228ced0d712c265c2925470326102f26102146101b13e601d6103a360726103ec73ffffffffffffffffffffffffffffffffffffffff6319628a1bf4740e5f285d15a08a263b0a444516266bd51fe7266771604469df3c080d07dd47c4eb9e7344a87541ddc5a6971632a021033eb3542b375cd06bd0dfb48f6acde07152794b556839563efff1afed3b0a857615166526175e7184b83cc2dedf61ec5d65d1eee66efcb87b4f2c73335db9fba49e3d40638cd7f462f1d3b315f18dc1f692a68b24036102c16101f36102f23e783d6331b166ee517c71a4ba159dd322b9fa5f3237dfb85d2594edd580948177bd72d2244f767352371e3428d28bc6356c553b18d00e6b3cf602061672c2abbd7763059f61940b0d19fde33f7b5a960861025b61021d6101d361035173b94f5374fce5edbc8e2a8697c15331677e6ebf0b635ba25f69f4790d251e9ae89c718dd41c3f57b0c304fbb83978de28d23499bdd1729c04301ff527ccc9f7ed74a8dbd906b468d4487ffba738f193e3047b02e40beb08b4f11707681ef103ec1b00585a85f27227a179917ef15e97a359268b06ff34bcee23a869974fbca6e201cb16179743ac0f8c9f867003d5e26a5aad5217ebfff31407169237230772efaab6cd87fbc9fd408d4ac5a048e43fb4e7a261037c6101f76103e13e" # noqa: E501 ), balance=0x16B3E0323B4F717D, nonce=28, - address=Address("0xd1f0befc94d951fb4b787ada0927f60a9a94ce12"), # noqa: E501 + address=Address(0xD1F0BEFC94D951FB4B787ADA0927F60A9A94CE12), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SLOAD( - key=0x1DB054CCC801C0666B34B3C6242BBFC5E98F20C14FB95E0118BE9AD0, - ) - + Op.ORIGIN - + Op.JUMP(pc=0x33D50E215FF59297861847EA911A6A9D) - + Op.CALLCODE( - gas=0x2C1E2816, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x42A46F50, - args_offset=0xCB, - args_size=0xFB, - ret_offset=0xA8, - ret_size=0x3A5, - ) - + Op.MUL( - 0x8732A34B873C7D943050B8659794F0BD3E841D35A2231EF6, - 0x135E2F826DC603850E0DB21D105B, - ) - + Op.PUSH31[ - 0x97F8CDE11728FA2051E87933CF858E4E5E91BAA74FC1E9FFE4C7B15BA600E8 # noqa: E501 - ] - + Op.EXP(0xD704BE2B41C7F867, 0x8F095989DC68F47E) + + tx_data = [ + Bytes("79b94053") + + Hash( + 0xBF1FB725756225CDE415738A99E1A7690CBE409744B73761038F5277367DEDC8 + ) + + Hash( + 0x2E30635BC57E35FCB2038306D9A3A6E4DDCB9D306C879E470F5DD81E1148184F + ) + + Hash( + 0x62BD6361AE97087AFF61CEE25C694A734342BE5043B1FDE117BA383682BA0D91 + ) + + Hash( + 0xE0DB8B6A29C882A044D0C8BB4925A6796D8480DF1B1CCC25641DF94F43D5802A + ) + + Hash( + 0xA8F44BF70A6817ED784E675725BDC7718A54D686307DA5234286085240BA8457 + ) + + Hash( + 0x5DAC25D7FC32C59999A9D38FEE0D25E7C23986006E9C5BB022F7D28A2CAB01A4 + ) + + Hash( + 0xBB37DD4210608D6101BF6101606079637BE1AE4373C94F5374FCE5EDBC8E2A86 + ) + + Hash( + 0x97C15331677E6EBF0B63627CBC7DF161023161030A60213E60686102596102C8 + ) + + Hash( + 0x61032B73B94F5374FCE5EDBC8E2A8697C15331677E6EBF0B630A549E50F46103 + ) + + Hash( + 0x6761038161026C6103D1633ADED16B73B94F5374FCE5EDBC8E2A8697C1533167 + ) + + Hash( + 0x7E6EBF0B6320EDF4A4F161EA427BD5141D55F5730CD82BF08BFF3928AEA77E71 + ) + + Hash( + 0x53BCC4A3A53996BE367E77C98CB6FE85797E1D020284D4D302C8B4EBE6B28A9C + ) + + Hash( + 0x64A9AE6B2AD6894716732F245E7FDC527443F79A0AE9B8D8900CAA1C5796A285 + ) + + Hash( + 0x4CEDDB00A82BFB724EC01B513ED61CCE89400A06FE90A109BAD6D57AE028143E + ) + + Hash( + 0x7552930136347EB71A49DB0072C87BD437B9CD7B2F7E6E609F653A85875C9EDE + ) + + Hash( + 0x69360F9D06D4C2E82CAF2E6A87043C0BF5A235431ACBB394775DCBFC7B86074B + ) + + Hash( + 0x99C9E6F959D84184E5E40C854C280218C07FCD4E98DC3BC44F7D651D7191EAD4 + ) + + Hash( + 0xBE3AAA6657719AF4FBF6B9741D3C2C1ECA740B7C46E7B87CE36EB18A407FCA52 + ) + + Hash( + 0x7573156E83888DFF152DC41FD0F98972D378A02F8465D755C426DE2E81E23ED5 + ) + + Hash( + 0xB68990E3C73C65071B0C7B046CAE8CDD18828C27F10A8BA8E3616103F7610378 + ) + + Hash( + 0x6363763A4BF078FAA8E34791ED3692F5784A35B7BBE3DB838DCEA84CE1955EEC ), - balance=0x2CE99FC81ED55962, - nonce=63, - address=Address("0xf4c98e0dda63a5c89847ca3e6ddf34f23443370f"), # noqa: E501 - ) + ] + tx_gas = [8777204, 3000000] + tx_value = [2759170368, 0] tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "79b94053bf1fb725756225cde415738a99e1a7690cbe409744b73761038f5277367dedc8" # noqa: E501 - "2e30635bc57e35fcb2038306d9a3a6e4ddcb9d306c879e470f5dd81e1148184f62bd6361" # noqa: E501 - "ae97087aff61cee25c694a734342be5043b1fde117ba383682ba0d91e0db8b6a29c882a0" # noqa: E501 - "44d0c8bb4925a6796d8480df1b1ccc25641df94f43d5802aa8f44bf70a6817ed784e6757" # noqa: E501 - "25bdc7718a54d686307da5234286085240ba84575dac25d7fc32c59999a9d38fee0d25e7" # noqa: E501 - "c23986006e9c5bb022f7d28a2cab01a4bb37dd4210608d6101bf6101606079637be1ae43" # noqa: E501 - "73c94f5374fce5edbc8e2a8697c15331677e6ebf0b63627cbc7df161023161030a60213e" # noqa: E501 - "60686102596102c861032b73b94f5374fce5edbc8e2a8697c15331677e6ebf0b630a549e" # noqa: E501 - "50f461036761038161026c6103d1633aded16b73b94f5374fce5edbc8e2a8697c1533167" # noqa: E501 - "7e6ebf0b6320edf4a4f161ea427bd5141d55f5730cd82bf08bff3928aea77e7153bcc4a3" # noqa: E501 - "a53996be367e77c98cb6fe85797e1d020284d4d302c8b4ebe6b28a9c64a9ae6b2ad68947" # noqa: E501 - "16732f245e7fdc527443f79a0ae9b8d8900caa1c5796a2854ceddb00a82bfb724ec01b51" # noqa: E501 - "3ed61cce89400a06fe90a109bad6d57ae028143e7552930136347eb71a49db0072c87bd4" # noqa: E501 - "37b9cd7b2f7e6e609f653a85875c9ede69360f9d06d4c2e82caf2e6a87043c0bf5a23543" # noqa: E501 - "1acbb394775dcbfc7b86074b99c9e6f959d84184e5e40c854c280218c07fcd4e98dc3bc4" # noqa: E501 - "4f7d651d7191ead4be3aaa6657719af4fbf6b9741d3c2c1eca740b7c46e7b87ce36eb18a" # noqa: E501 - "407fca527573156e83888dff152dc41fd0f98972d378a02f8465d755c426de2e81e23ed5" # noqa: E501 - "b68990e3c73c65071b0c7b046cae8cdd18828c27f10a8ba8e3616103f76103786363763a" # noqa: E501 - "4bf078faa8e34791ed3692f5784a35b7bbe3db838dcea84ce1955eec" - ), - gas_limit=tx_gas_limit, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account(storage={1: 0}), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stBugs/test_staticcall_createfails.py b/tests/ported_static/stBugs/test_staticcall_createfails.py index 67a02b5d1ba..fae119fdb8f 100644 --- a/tests/ported_static/stBugs/test_staticcall_createfails.py +++ b/tests/ported_static/stBugs/test_staticcall_createfails.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_staticcall_createfails. Ported from: -tests/static/state_tests/stBugs/staticcall_createfailsFiller.json +state_tests/stBugs/staticcall_createfailsFiller.json """ import pytest @@ -12,9 +12,12 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,25 +25,40 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stBugs/staticcall_createfailsFiller.json"], + ["state_tests/stBugs/staticcall_createfailsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000c94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "000000000000000000000000d94f5374fce5edbc8e2a8697c15331677e6ebf0b", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_staticcall_createfails( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x1000000000000000000000000000000000000000") + """Test_staticcall_createfails.""" + coinbase = Address(0x1000000000000000000000000000000000000000) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_2 = Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -55,56 +73,60 @@ def test_staticcall_createfails( ) pre[sender] = Account(balance=0x38BEEC8FEECA2598) - # Source: LLL + # Source: lll # { [[1]] (STATICCALL 70000 (CALLDATALOAD 0) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x11170, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x11170, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + storage={1: 1}, nonce=63, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 1 1) [[2]] (CREATE 1 1 1) } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.SSTORE( - key=0x2, value=Op.CREATE(value=0x1, offset=0x1, size=0x1) - ) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=Op.CREATE(value=0x1, offset=0x1, size=0x1)) + + Op.STOP, nonce=63, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.PUSH1[0x0] + Op.PUSH1[0x0] + Op.CREATE, + # Source: raw + # 0x60006000f0 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] * 2 + Op.CREATE, nonce=63, - address=Address("0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(contract_1, left_padding=True), + Hash(contract_2, left_padding=True), + ] + tx_gas = [120000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=120000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post: dict = {} + post = { + contract_0: Account(storage={1: 0}), + compute_create_address( + address=contract_1, nonce=63 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/__init__.py b/tests/ported_static/stCallCodes/__init__.py index c4cb0ee645d..acd97fdc3ed 100644 --- a/tests/ported_static/stCallCodes/__init__.py +++ b/tests/ported_static/stCallCodes/__init__.py @@ -1 +1 @@ -"""Tests ported from stCallCodes.""" +"""Ported static tests: stCallCodes.""" # noqa: N999 diff --git a/tests/ported_static/stCallCodes/test_call_oog_additional_gas_costs1.py b/tests/ported_static/stCallCodes/test_call_oog_additional_gas_costs1.py index 1cf2c2156cc..aff20e0dffb 100644 --- a/tests/ported_static/stCallCodes/test_call_oog_additional_gas_costs1.py +++ b/tests/ported_static/stCallCodes/test_call_oog_additional_gas_costs1.py @@ -1,8 +1,8 @@ """ -call(oog during init) -> code. +Call(oog during init) -> code. Ported from: -tests/static/state_tests/stCallCodes/call_OOG_additionalGasCosts1Filler.json +state_tests/stCallCodes/call_OOG_additionalGasCosts1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/call_OOG_additionalGasCosts1Filler.json", # noqa: E501 - ], + ["state_tests/stCallCodes/call_OOG_additionalGasCosts1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_oog_additional_gas_costs1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Call(oog during init) -> code.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Call(oog during init) -> code .""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,41 +46,41 @@ def test_call_oog_additional_gas_costs1( gas_limit=3000000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.PUSH1[0x0], + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll + # { (CALL 6000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x1770, + address=0xD0735F094C16E509E8D76999D9EE2E4FD5166C2E, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd0735f094c16e509e8d76999d9ee2e4fd5166c2e"), # noqa: E501 + address=Address(0xEF8DD89DEA93DC2BFF0CE3A1196188496E6C28DC), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { (CALL 6000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x1770, - address=0xD0735F094C16E509E8D76999D9EE2E4FD5166C2E, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: raw + # 0x6000 + addr = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0], balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xef8dd89dea93dc2bff0ce3a1196188496e6c28dc"), # noqa: E501 + address=Address(0xD0735F094C16E509E8D76999D9EE2E4FD5166C2E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=30000, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_call_oog_additional_gas_costs2.py b/tests/ported_static/stCallCodes/test_call_oog_additional_gas_costs2.py index 1074ee2a856..6049be60cf3 100644 --- a/tests/ported_static/stCallCodes/test_call_oog_additional_gas_costs2.py +++ b/tests/ported_static/stCallCodes/test_call_oog_additional_gas_costs2.py @@ -1,8 +1,8 @@ """ -call(oog during init) -> code. +Call(oog during init) -> code. Ported from: -tests/static/state_tests/stCallCodes/call_OOG_additionalGasCosts2Filler.json +state_tests/stCallCodes/call_OOG_additionalGasCosts2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/call_OOG_additionalGasCosts2Filler.json", # noqa: E501 - ], + ["state_tests/stCallCodes/call_OOG_additionalGasCosts2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_oog_additional_gas_costs2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Call(oog during init) -> code.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Call(oog during init) -> code .""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,46 +46,47 @@ def test_call_oog_additional_gas_costs2( gas_limit=3000000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.PUSH1[0x0], - nonce=0, - address=Address("0x89cd1cb7ad11c6949bec0c8c7533dc073960c54f"), # noqa: E501 - ) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll # { [[0]] (CALL 6000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1770, - address=0x89CD1CB7AD11C6949BEC0C8C7533DC073960C54F, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - storage={0x0: 0x2}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1770, + address=0x89CD1CB7AD11C6949BEC0C8C7533DC073960C54F, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + storage={0: 2}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc1f36f15e971b13f8178b8c0c5c4f5e6b1b2b2c3"), # noqa: E501 + address=Address(0xC1F36F15E971B13F8178B8C0C5C4F5E6B1B2B2C3), # noqa: E501 + ) + # Source: raw + # 0x6000 + addr = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0], + nonce=0, + address=Address(0x89CD1CB7AD11C6949BEC0C8C7533DC073960C54F), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=30000, ) post = { - contract: Account(storage={0: 2}), + addr: Account(balance=0), + target: Account(storage={0: 2}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcall_00.py b/tests/ported_static/stCallCodes/test_callcall_00.py index 9f4fa2e0780..43fed748cd3 100644 --- a/tests/ported_static/stCallCodes/test_callcall_00.py +++ b/tests/ported_static/stCallCodes/test_callcall_00.py @@ -1,8 +1,8 @@ """ -call -> call -> code, params check. +Call -> call -> code, params check. Ported from: -tests/static/state_tests/stCallCodes/callcall_00Filler.json +state_tests/stCallCodes/callcall_00Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcall_00Filler.json"], + ["state_tests/stCallCodes/callcall_00Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_callcall_00( pre: Alloc, ) -> None: """Call -> call -> code, params check.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,73 +46,72 @@ def test_callcall_00( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0xE6, value=Op.ADDRESS) - + Op.SSTORE(key=0xE8, value=Op.ORIGIN) - + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0xEE, value=Op.CODESIZE) - + Op.SSTORE(key=0xF0, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x55730, + address=0xC3E151E887921D1EDB46AAE9B4A3FFC5B85E2A89, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x33f368f0b54063613cf5944941e8e0e4eeb64697"), # noqa: E501 + address=Address(0xEB09FF15547417853F6F4B240B8804769C37B0F1), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x3D090, - address=0x33F368F0B54063613CF5944941E8E0E4EEB64697, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 250000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x3D090, + address=0x33F368F0B54063613CF5944941E8E0E4EEB64697, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc3e151e887921d1edb46aae9b4a3ffc5b85e2a89"), # noqa: E501 + address=Address(0xC3E151E887921D1EDB46AAE9B4A3FFC5B85E2A89), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x55730, - address=0xC3E151E887921D1EDB46AAE9B4A3FFC5B85E2A89, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE))} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0xE6, value=Op.ADDRESS) + + Op.SSTORE(key=0xE8, value=Op.ORIGIN) + + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0xEE, value=Op.CODESIZE) + + Op.SSTORE(key=0xF0, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xeb09ff15547417853f6f4b240b8804769c37b0f1"), # noqa: E501 + address=Address(0x33F368F0B54063613CF5944941E8E0E4EEB64697), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + addr_2: Account( storage={ 2: 1, 4: 0xC3E151E887921D1EDB46AAE9B4A3FFC5B85E2A89, @@ -123,8 +123,6 @@ def test_callcall_00( 240: 10, }, ), - callee_1: Account(storage={1: 1}), - contract: Account(storage={0: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcall_00_ooge.py b/tests/ported_static/stCallCodes/test_callcall_00_ooge.py index 8570f4ac579..042a62087c6 100644 --- a/tests/ported_static/stCallCodes/test_callcall_00_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcall_00_ooge.py @@ -1,8 +1,8 @@ """ -call -> call -> code oog. +Call -> call -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcall_00_OOGEFiller.json +state_tests/stCallCodes/callcall_00_OOGEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcall_00_OOGEFiller.json"], + ["state_tests/stCallCodes/callcall_00_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_callcall_00_ooge( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Call -> call -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call -> call -> code oog .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,68 +46,68 @@ def test_callcall_00_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x9196F97BCA1B117E521275693C79420479D9CC90, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x9196F97BCA1B117E521275693C79420479D9CC90, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 20020 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x4E34, + address=0x766B2CF0691F51029181FC511395B7AB71353A88, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x766b2cf0691f51029181fc511395b7ab71353a88"), # noqa: E501 + address=Address(0x9196F97BCA1B117E521275693C79420479D9CC90), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x4E34, - address=0x766B2CF0691F51029181FC511395B7AB71353A88, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x9196f97bca1b117e521275693c79420479d9cc90"), # noqa: E501 + address=Address(0x766B2CF0691F51029181FC511395B7AB71353A88), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={11: 1}), + addr_2: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcall_00_ooge_value_transfer.py b/tests/ported_static/stCallCodes/test_callcall_00_ooge_value_transfer.py index 346f719a72f..5070853c5a7 100644 --- a/tests/ported_static/stCallCodes/test_callcall_00_ooge_value_transfer.py +++ b/tests/ported_static/stCallCodes/test_callcall_00_ooge_value_transfer.py @@ -1,8 +1,8 @@ """ -call -> call -> code oog. +Call -> call -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcall_00_OOGE_valueTransferFiller.json +state_tests/stCallCodes/callcall_00_OOGE_valueTransferFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcall_00_OOGE_valueTransferFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcall_00_OOGE_valueTransferFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcall_00_ooge_value_transfer( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Call -> call -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call -> call -> code oog .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,68 +46,68 @@ def test_callcall_00_ooge_value_transfer( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 800000 20 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0xA781AD010268E97D590D07E5B442975243B2F05B, + value=0x14, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x766b2cf0691f51029181fc511395b7ab71353a88"), # noqa: E501 + address=Address(0xB06C4FF2E2503BB892CC3C9237A1AE465A759616), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x766B2CF0691F51029181FC511395B7AB71353A88, - value=0xA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 10 0 64 0 64 ) [[11]] 1} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x766B2CF0691F51029181FC511395B7AB71353A88, + value=0xA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xa781ad010268e97d590d07e5b442975243b2f05b"), # noqa: E501 + address=Address(0xA781AD010268E97D590D07E5B442975243B2F05B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 800000 20 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0xA781AD010268E97D590D07E5B442975243B2F05B, - value=0x14, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xb06c4ff2e2503bb892cc3c9237a1ae465a759616"), # noqa: E501 + address=Address(0x766B2CF0691F51029181FC511395B7AB71353A88), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - callee_1: Account(storage={11: 1}), - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={11: 1}), + addr_2: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcall_00_suicide_end.py b/tests/ported_static/stCallCodes/test_callcall_00_suicide_end.py index c59b109453c..758337ec1d7 100644 --- a/tests/ported_static/stCallCodes/test_callcall_00_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcall_00_suicide_end.py @@ -1,8 +1,8 @@ """ -call -> (call -> code) suicide. +Call -> (call -> code) suicide. Ported from: -tests/static/state_tests/stCallCodes/callcall_00_SuicideEndFiller.json +state_tests/stCallCodes/callcall_00_SuicideEndFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcall_00_SuicideEndFiller.json"], + ["state_tests/stCallCodes/callcall_00_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_callcall_00_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Call -> (call -> code) suicide.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call -> (call -> code) suicide .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,69 +46,67 @@ def test_callcall_00_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0xF741CFEE7B7FB1025DCCEF3DB5A3CBC8FFB776F8, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0xF741CFEE7B7FB1025DCCEF3DB5A3CBC8FFB776F8, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - callee = pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xC350, + address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x703b936fd4d674f0ff5d6957f61097152f8781b8"), # noqa: E501 + address=Address(0xF741CFEE7B7FB1025DCCEF3DB5A3CBC8FFB776F8), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xC350, - address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xf741cfee7b7fb1025dccef3db5a3cbc8ffb776f8"), # noqa: E501 + address=Address(0x703B936FD4D674F0FF5D6957F61097152F8781B8), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee: Account(storage={2: 1}), - callee_1: Account(storage={1: 1}), + target: Account(balance=0xDE0B6B5FB6FE400), + addr_2: Account(storage={2: 1}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcall_000.py b/tests/ported_static/stCallCodes/test_callcallcall_000.py index 9fdae80e1ee..abc28fb0d5c 100644 --- a/tests/ported_static/stCallCodes/test_callcallcall_000.py +++ b/tests/ported_static/stCallCodes/test_callcallcall_000.py @@ -1,8 +1,8 @@ """ -call -> call -> call -> code, params check. +Call -> call -> call -> code, params check. Ported from: -tests/static/state_tests/stCallCodes/callcallcall_000Filler.json +state_tests/stCallCodes/callcallcall_000Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcallcall_000Filler.json"], + ["state_tests/stCallCodes/callcallcall_000Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_callcallcall_000( pre: Alloc, ) -> None: """Call -> call -> call -> code, params check.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,93 +46,92 @@ def test_callcallcall_000( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x55730, + address=0x9073671D2BFB351331716FD279282EACF50824AD, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x181b4ed322e192361633cc3c0a418f259ab0cf4b"), # noqa: E501 + address=Address(0xEB09FF15547417853F6F4B240B8804769C37B0F1), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x3D090, - address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, - value=0x3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 300000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x493E0, + address=0x62441CBE78AA4A4244E084D4F86098E31DCED749, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x62441cbe78aa4a4244e084d4f86098e31dced749"), # noqa: E501 + address=Address(0x9073671D2BFB351331716FD279282EACF50824AD), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x493E0, - address=0x62441CBE78AA4A4244E084D4F86098E31DCED749, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 250000 3 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x3D090, + address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, + value=0x3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9073671d2bfb351331716fd279282eacf50824ad"), # noqa: E501 + address=Address(0x62441CBE78AA4A4244E084D4F86098E31DCED749), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x55730, - address=0x9073671D2BFB351331716FD279282EACF50824AD, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xeb09ff15547417853f6f4b240b8804769c37b0f1"), # noqa: E501 + address=Address(0x181B4ED322E192361633CC3C0A418F259AB0CF4B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + addr_3: Account( storage={ 3: 1, 4: 0x62441CBE78AA4A4244E084D4F86098E31DCED749, @@ -143,9 +143,6 @@ def test_callcallcall_000( 340: 10, }, ), - callee_1: Account(storage={2: 1}), - callee_2: Account(storage={1: 1}), - contract: Account(storage={0: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcall_000_ooge.py b/tests/ported_static/stCallCodes/test_callcallcall_000_ooge.py index 58ff8bfe8a1..d9a3951ff1b 100644 --- a/tests/ported_static/stCallCodes/test_callcallcall_000_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcallcall_000_ooge.py @@ -1,8 +1,8 @@ """ -call -> call -> call -> code oog. +Call -> call -> call -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcallcall_000_OOGEFiller.json +state_tests/stCallCodes/callcallcall_000_OOGEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcallcall_000_OOGEFiller.json"], + ["state_tests/stCallCodes/callcallcall_000_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_callcallcall_000_ooge( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Call -> call -> call -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call -> call -> call -> code oog .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,88 +46,88 @@ def test_callcallcall_000_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb11130cf7eef6d3f1552623d3506a5bbb07b12ce"), # noqa: E501 + address=Address(0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xbbdce54b3c571b853032cb3a637e8f5b81dbaf0d"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={11: 1}), - callee_2: Account(storage={1: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={1: 1}), + addr_2: Account(storage={11: 1}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcall_000_oogm_after.py b/tests/ported_static/stCallCodes/test_callcallcall_000_oogm_after.py index f7034cc77b5..25d6bc1d554 100644 --- a/tests/ported_static/stCallCodes/test_callcallcall_000_oogm_after.py +++ b/tests/ported_static/stCallCodes/test_callcallcall_000_oogm_after.py @@ -1,8 +1,8 @@ """ -call -> (call -> call -> code) oog. +Call -> (call -> call -> code) oog. Ported from: -tests/static/state_tests/stCallCodes/callcallcall_000_OOGMAfterFiller.json +state_tests/stCallCodes/callcallcall_000_OOGMAfterFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcall_000_OOGMAfterFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcall_000_OOGMAfterFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcallcall_000_oogm_after( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Call -> (call -> call -> code) oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call -> (call -> call -> code) oog .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,83 +46,87 @@ def test_callcallcall_000_oogm_after( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[11]] 1} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0xB5D1A486869D27225126C47727513F57D329A01A, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0xB5D1A486869D27225126C47727513F57D329A01A, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1f4cb3e7976ba5835015b9c3b0075aea78aaa482"), # noqa: E501 + address=Address(0x1F4CB3E7976BA5835015B9C3B0075AEA78AAA482), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x8d7270785422b63a97d83bada6aac80bebc3a99d"), # noqa: E501 + address=Address(0xB5D1A486869D27225126C47727513F57D329A01A), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb5d1a486869d27225126c47727513f57d329a01a"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcall_000_oogm_before.py b/tests/ported_static/stCallCodes/test_callcallcall_000_oogm_before.py index b145ab52679..d9cbe3c259d 100644 --- a/tests/ported_static/stCallCodes/test_callcallcall_000_oogm_before.py +++ b/tests/ported_static/stCallCodes/test_callcallcall_000_oogm_before.py @@ -1,8 +1,8 @@ """ -call -> call -> oog call -> code. +Call -> call -> oog call -> code. Ported from: -tests/static/state_tests/stCallCodes/callcallcall_000_OOGMBeforeFiller.json +state_tests/stCallCodes/callcallcall_000_OOGMBeforeFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcall_000_OOGMBeforeFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcall_000_OOGMBeforeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcall_000_oogm_before( pre: Alloc, ) -> None: """Call -> call -> oog call -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,84 +46,87 @@ def test_callcallcall_000_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x51A61D678EC27711369C527E5D42A9DE66A5727F, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x51A61D678EC27711369C527E5D42A9DE66A5727F, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x471072d55a5a95044c2326f0e94a6d8df5b8089e"), # noqa: E501 + address=Address(0x471072D55A5A95044C2326F0E94A6D8DF5B8089E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x51a61d678ec27711369c527e5d42a9de66a5727f"), # noqa: E501 + address=Address(0x51A61D678EC27711369C527E5D42A9DE66A5727F), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee: Account(storage={11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={11: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcall_000_suicide_end.py b/tests/ported_static/stCallCodes/test_callcallcall_000_suicide_end.py index ea6dffa4bb0..92469a30501 100644 --- a/tests/ported_static/stCallCodes/test_callcallcall_000_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcallcall_000_suicide_end.py @@ -1,8 +1,8 @@ """ -call -> call -> (call -> code) suicide. +Call -> call -> (call -> code) suicide. Ported from: -tests/static/state_tests/stCallCodes/callcallcall_000_SuicideEndFiller.json +state_tests/stCallCodes/callcallcall_000_SuicideEndFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcall_000_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcall_000_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcall_000_suicide_end( pre: Alloc, ) -> None: """Call -> call -> (call -> code) suicide.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,90 +46,87 @@ def test_callcallcall_000_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 2 ]] (CALL 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0xCB6497F0337B6CD0F7239A8819295EC7D1DAFD34, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xcb6497f0337b6cd0f7239a8819295ec7d1dafd34"), # noqa: E501 + address=Address(0xD957E143AD2C011BC6A2B142795F1A9BA70D0680), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0xCB6497F0337B6CD0F7239A8819295EC7D1DAFD34, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xd957e143ad2c011bc6a2b142795f1a9ba70d0680"), # noqa: E501 + address=Address(0xCB6497F0337B6CD0F7239A8819295EC7D1DAFD34), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee: Account(storage={1: 1}), - callee_1: Account(storage={3: 1}), - callee_2: Account(storage={2: 1}), + addr: Account(balance=0x4A817C800), + addr_3: Account(storage={3: 1}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcall_000_suicide_middle.py b/tests/ported_static/stCallCodes/test_callcallcall_000_suicide_middle.py index 6b1325a0008..664858c25e6 100644 --- a/tests/ported_static/stCallCodes/test_callcallcall_000_suicide_middle.py +++ b/tests/ported_static/stCallCodes/test_callcallcall_000_suicide_middle.py @@ -1,8 +1,8 @@ """ -call -> call -> suicide, call -> code. +Call -> call -> suicide, call -> code. Ported from: -tests/static/state_tests/stCallCodes/callcallcall_000_SuicideMiddleFiller.json +state_tests/stCallCodes/callcallcall_000_SuicideMiddleFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcall_000_SuicideMiddleFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcall_000_SuicideMiddleFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcall_000_suicide_middle( pre: Alloc, ) -> None: """Call -> call -> suicide, call -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,86 +46,89 @@ def test_callcallcall_000_suicide_middle( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0xBA5A575C914981FB64BFB082DC59434C66EB2714, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0xBA5A575C914981FB64BFB082DC59434C66EB2714, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALL 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0xBA5A575C914981FB64BFB082DC59434C66EB2714), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xba5a575c914981fb64bfb082dc59434c66eb2714"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={1: 1}), + target: Account(storage={0: 1}, balance=0xDE0B6B5FB6FE400), + addr: Account(storage={1: 1}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcall_abcb_recursive.py b/tests/ported_static/stCallCodes/test_callcallcall_abcb_recursive.py index d9458b715d3..81c86f0e48d 100644 --- a/tests/ported_static/stCallCodes/test_callcallcall_abcb_recursive.py +++ b/tests/ported_static/stCallCodes/test_callcallcall_abcb_recursive.py @@ -1,8 +1,8 @@ """ -call -> call <-> call. +Call -> call <-> call. Ported from: -tests/static/state_tests/stCallCodes/callcallcall_ABCB_RECURSIVEFiller.json +state_tests/stCallCodes/callcallcall_ABCB_RECURSIVEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcall_ABCB_RECURSIVEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcall_ABCB_RECURSIVEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcall_abcb_recursive( pre: Alloc, ) -> None: """Call -> call <-> call.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,79 +46,79 @@ def test_callcallcall_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x17D7840, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x17D7840, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x039f3900e280b9c74d46e825b0b3814df4d705ac"), # noqa: E501 + address=Address(0x039F3900E280B9C74D46E825B0B3814DF4D705AC), # noqa: E501 ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xF4240, - address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xF4240, + address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x66c0d9f841a86866465e6385c3827be02b580020"), # noqa: E501 + address=Address(0x66C0D9F841A86866465E6385C3827BE02B580020), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x7A120, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x7A120, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x91a8703c1bef34c1e76e152c1f7fb8c336c3be24"), # noqa: E501 + address=Address(0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1}), - callee: Account(storage={1: 1}), + target: Account(storage={0: 1, 1: 0}), + addr: Account(storage={1: 1, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcallcode_001.py b/tests/ported_static/stCallCodes/test_callcallcallcode_001.py index 05bd2c7d873..03a2b46a55e 100644 --- a/tests/ported_static/stCallCodes/test_callcallcallcode_001.py +++ b/tests/ported_static/stCallCodes/test_callcallcallcode_001.py @@ -1,8 +1,8 @@ """ -call -> call -> callcode - > code, params check. +Call -> call -> callcode - > code, params check. Ported from: -tests/static/state_tests/stCallCodes/callcallcallcode_001Filler.json +state_tests/stCallCodes/callcallcallcode_001Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcallcallcode_001Filler.json"], + ["state_tests/stCallCodes/callcallcallcode_001Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_callcallcallcode_001( pre: Alloc, ) -> None: """Call -> call -> callcode - > code, params check.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,93 +46,92 @@ def test_callcallcallcode_001( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - value=0x3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x55730, + address=0x9073671D2BFB351331716FD279282EACF50824AD, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0ffffaeb931552e5f094ca96a70be612da56b887"), # noqa: E501 + address=Address(0xEB09FF15547417853F6F4B240B8804769C37B0F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 300000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x493E0, + address=0xFFFFAEB931552E5F094CA96A70BE612DA56B887, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0x9073671D2BFB351331716FD279282EACF50824AD), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x493E0, - address=0xFFFFAEB931552E5F094CA96A70BE612DA56B887, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 250000 3 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + value=0x3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9073671d2bfb351331716fd279282eacf50824ad"), # noqa: E501 + address=Address(0x0FFFFAEB931552E5F094CA96A70BE612DA56B887), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x55730, - address=0x9073671D2BFB351331716FD279282EACF50824AD, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xeb09ff15547417853f6f4b240b8804769c37b0f1"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + addr_2: Account( storage={ 2: 1, 3: 1, @@ -144,8 +144,6 @@ def test_callcallcallcode_001( 340: 10, }, ), - callee_2: Account(storage={1: 1}), - contract: Account(storage={0: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcallcode_001_ooge.py b/tests/ported_static/stCallCodes/test_callcallcallcode_001_ooge.py index 742a36361c9..d006261d6f7 100644 --- a/tests/ported_static/stCallCodes/test_callcallcallcode_001_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcallcallcode_001_ooge.py @@ -1,8 +1,8 @@ """ -call -> call -> callcode -> code oog. +Call -> call -> callcode -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcallcallcode_001_OOGEFiller.json +state_tests/stCallCodes/callcallcallcode_001_OOGEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcallcode_001_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcallcode_001_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcallcode_001_ooge( pre: Alloc, ) -> None: """Call -> call -> callcode -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,88 +46,88 @@ def test_callcallcallcode_001_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x6322dc554acdcada01cbf7ac6a163d207c34ded2"), # noqa: E501 + address=Address(0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xbbdce54b3c571b853032cb3a637e8f5b81dbaf0d"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={11: 1}), - callee_2: Account(storage={1: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={1: 1}), + addr_2: Account(storage={11: 1}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcallcode_001_oogm_after.py b/tests/ported_static/stCallCodes/test_callcallcallcode_001_oogm_after.py index b8adc29132e..5f1b1edd8b7 100644 --- a/tests/ported_static/stCallCodes/test_callcallcallcode_001_oogm_after.py +++ b/tests/ported_static/stCallCodes/test_callcallcallcode_001_oogm_after.py @@ -1,8 +1,8 @@ """ -call -> (call -> callcode -> code) oog. +Call -> (call -> callcode -> code) oog. Ported from: -tests/static/state_tests/stCallCodes/callcallcallcode_001_OOGMAfterFiller.json +state_tests/stCallCodes/callcallcallcode_001_OOGMAfterFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcallcode_001_OOGMAfterFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcallcode_001_OOGMAfterFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcallcode_001_oogm_after( pre: Alloc, ) -> None: """Call -> (call -> callcode -> code) oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,83 +46,87 @@ def test_callcallcallcode_001_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0xB5D1A486869D27225126C47727513F57D329A01A, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0be2d28f50cb59ffbd66d2eb6a3e8d34f3561d8b"), # noqa: E501 + address=Address(0xE54CCFA5E33A84943997885F0AB9C19C587D8C4F), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0xBE2D28F50CB59FFBD66D2EB6A3E8D34F3561D8B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB5D1A486869D27225126C47727513F57D329A01A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0xBE2D28F50CB59FFBD66D2EB6A3E8D34F3561D8B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb5d1a486869d27225126c47727513f57d329a01a"), # noqa: E501 + address=Address(0x0BE2D28F50CB59FFBD66D2EB6A3E8D34F3561D8B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0xB5D1A486869D27225126C47727513F57D329A01A, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xe54ccfa5e33a84943997885f0ab9c19c587d8c4f"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcallcode_001_oogm_before.py b/tests/ported_static/stCallCodes/test_callcallcallcode_001_oogm_before.py index 3cc2c722cd7..68dd3ecba8d 100644 --- a/tests/ported_static/stCallCodes/test_callcallcallcode_001_oogm_before.py +++ b/tests/ported_static/stCallCodes/test_callcallcallcode_001_oogm_before.py @@ -1,8 +1,8 @@ """ -call -> call -> oog callcode -> code. +Call -> call -> oog callcode -> code. Ported from: -tests/static/state_tests/stCallCodes/callcallcallcode_001_OOGMBeforeFiller.json +state_tests/stCallCodes/callcallcallcode_001_OOGMBeforeFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcallcode_001_OOGMBeforeFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcallcode_001_OOGMBeforeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcallcallcode_001_oogm_before( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Call -> call -> oog callcode -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call -> call -> oog callcode -> code .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,84 +46,87 @@ def test_callcallcallcode_001_oogm_before( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - nonce=0, - address=Address("0x0d33ab78ac3965e7d6f9548dff5839138a9f69c5"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0xD33AB78AC3965E7D6F9548DFF5839138A9F69C5, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0x471072D55A5A95044C2326F0E94A6D8DF5B8089E), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0xD33AB78AC3965E7D6F9548DFF5839138A9F69C5, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x471072d55a5a95044c2326f0e94a6d8df5b8089e"), # noqa: E501 + address=Address(0x0D33AB78AC3965E7D6F9548DFF5839138A9F69C5), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={11: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcallcode_001_suicide_end.py b/tests/ported_static/stCallCodes/test_callcallcallcode_001_suicide_end.py index ef443898415..31b589b0576 100644 --- a/tests/ported_static/stCallCodes/test_callcallcallcode_001_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcallcallcode_001_suicide_end.py @@ -1,8 +1,8 @@ """ -call -> call -> ( callcode - > code ) suicide. +Call -> call -> ( callcode - > code ) suicide. Ported from: -tests/static/state_tests/stCallCodes/callcallcallcode_001_SuicideEndFiller.json +state_tests/stCallCodes/callcallcallcode_001_SuicideEndFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcallcode_001_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcallcode_001_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcallcode_001_suicide_end( pre: Alloc, ) -> None: """Call -> call -> ( callcode - > code ) suicide.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,89 +46,87 @@ def test_callcallcallcode_001_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0x94C8F980AEECBB6575B12AE614A249FC3E836F21), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x94c8f980aeecbb6575b12ae614a249fc3e836f21"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={1: 1}), - callee_2: Account(storage={2: 1, 3: 1}), + addr: Account(balance=0x4A817C800), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcallcode_001_suicide_middle.py b/tests/ported_static/stCallCodes/test_callcallcallcode_001_suicide_middle.py index 6bdb6ae9e6f..89332f1db52 100644 --- a/tests/ported_static/stCallCodes/test_callcallcallcode_001_suicide_middle.py +++ b/tests/ported_static/stCallCodes/test_callcallcallcode_001_suicide_middle.py @@ -1,9 +1,8 @@ """ -call -> call -> (suicide) callcode - > code. +Call -> call -> (suicide) callcode - > code. Ported from: -tests/static/state_tests/stCallCodes -callcallcallcode_001_SuicideMiddleFiller.json +state_tests/stCallCodes/callcallcallcode_001_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcallcode_001_SuicideMiddleFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcallcode_001_SuicideMiddleFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcallcallcode_001_suicide_middle( pre: Alloc, ) -> None: """Call -> call -> (suicide) callcode - > code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +46,89 @@ def test_callcallcallcode_001_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x23a077e1e6b0740d6bfbc41de582f2930abd1762"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee_2: Account(storage={1: 1}), + target: Account(storage={0: 1}, balance=0xDE0B6B5FB6FE400), + addr_3: Account(storage={2: 0, 3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcallcode_abcb_recursive.py b/tests/ported_static/stCallCodes/test_callcallcallcode_abcb_recursive.py index 81237a3e9e5..483de6610b2 100644 --- a/tests/ported_static/stCallCodes/test_callcallcallcode_abcb_recursive.py +++ b/tests/ported_static/stCallCodes/test_callcallcallcode_abcb_recursive.py @@ -1,8 +1,8 @@ """ -call -> call <-> callcode. +Call -> call <-> callcode. Ported from: -tests/static/state_tests/stCallCodes/callcallcallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallCodes/callcallcallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcallcode_ABCB_RECURSIVEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcallcode_abcb_recursive( pre: Alloc, ) -> None: """Call -> call <-> callcode.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,79 +46,79 @@ def test_callcallcallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x17D7840, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x17D7840, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x039f3900e280b9c74d46e825b0b3814df4d705ac"), # noqa: E501 + address=Address(0x039F3900E280B9C74D46E825B0B3814DF4D705AC), # noqa: E501 ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xF4240, - address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xF4240, + address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x66c0d9f841a86866465e6385c3827be02b580020"), # noqa: E501 + address=Address(0x66C0D9F841A86866465E6385C3827BE02B580020), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x7A120, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x7A120, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa71333d8c0291cfd6da54bec5a3957563ab16c1c"), # noqa: E501 + address=Address(0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1}), - callee: Account(storage={1: 1}), + target: Account(storage={0: 1, 1: 0}), + addr: Account(storage={1: 1, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcode_01.py b/tests/ported_static/stCallCodes/test_callcallcode_01.py index 531a2dcdc50..caadf28c8a3 100644 --- a/tests/ported_static/stCallCodes/test_callcallcode_01.py +++ b/tests/ported_static/stCallCodes/test_callcallcode_01.py @@ -1,8 +1,8 @@ """ -call -> callcode -> code, params check. +Call -> callcode -> code, params check. Ported from: -tests/static/state_tests/stCallCodes/callcallcode_01Filler.json +state_tests/stCallCodes/callcallcode_01Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcallcode_01Filler.json"], + ["state_tests/stCallCodes/callcallcode_01Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_callcallcode_01( pre: Alloc, ) -> None: """Call -> callcode -> code, params check.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,73 +46,72 @@ def test_callcallcode_01( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x3D090, - address=0xB096ECA04CD5C92C88BA466F92627D4F04D53C95, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x55730, + address=0x69142B38329C92930601FE8DA12DC5866CDE11C3, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x69142b38329c92930601fe8da12dc5866cde11c3"), # noqa: E501 + address=Address(0xEB09FF15547417853F6F4B240B8804769C37B0F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0xE6, value=Op.ADDRESS) - + Op.SSTORE(key=0xE8, value=Op.ORIGIN) - + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0xEE, value=Op.CODESIZE) - + Op.SSTORE(key=0xF0, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 250000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x3D090, + address=0xB096ECA04CD5C92C88BA466F92627D4F04D53C95, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb096eca04cd5c92c88ba466f92627d4f04d53c95"), # noqa: E501 + address=Address(0x69142B38329C92930601FE8DA12DC5866CDE11C3), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x55730, - address=0x69142B38329C92930601FE8DA12DC5866CDE11C3, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0xE6, value=Op.ADDRESS) + + Op.SSTORE(key=0xE8, value=Op.ORIGIN) + + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0xEE, value=Op.CODESIZE) + + Op.SSTORE(key=0xF0, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xeb09ff15547417853f6f4b240b8804769c37b0f1"), # noqa: E501 + address=Address(0xB096ECA04CD5C92C88BA466F92627D4F04D53C95), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + addr: Account( storage={ 1: 1, 2: 1, @@ -124,7 +124,6 @@ def test_callcallcode_01( 240: 10, }, ), - contract: Account(storage={0: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcode_01_ooge.py b/tests/ported_static/stCallCodes/test_callcallcode_01_ooge.py index 697c95223d1..a6dc9536fce 100644 --- a/tests/ported_static/stCallCodes/test_callcallcode_01_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcallcode_01_ooge.py @@ -1,8 +1,8 @@ """ -call -> callcode -> code oog. +Call -> callcode -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcallcode_01_OOGEFiller.json +state_tests/stCallCodes/callcallcode_01_OOGEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcallcode_01_OOGEFiller.json"], + ["state_tests/stCallCodes/callcallcode_01_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_callcallcode_01_ooge( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Call -> callcode -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call -> callcode -> code oog .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,68 +46,68 @@ def test_callcallcode_01_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x766B2CF0691F51029181FC511395B7AB71353A88, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x766b2cf0691f51029181fc511395b7ab71353a88"), # noqa: E501 + address=Address(0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x766B2CF0691F51029181FC511395B7AB71353A88, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x8e6e134402f2eeca8e910e8ec62b45b36ee31f30"), # noqa: E501 + address=Address(0x766B2CF0691F51029181FC511395B7AB71353A88), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={11: 1}), + addr_2: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcode_01_suicide_end.py b/tests/ported_static/stCallCodes/test_callcallcode_01_suicide_end.py index 4c8e4cbf6f2..9ba100a0daa 100644 --- a/tests/ported_static/stCallCodes/test_callcallcode_01_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcallcode_01_suicide_end.py @@ -1,8 +1,8 @@ """ -call -> (callcode -> code) suicide. +Call -> (callcode -> code) suicide. Ported from: -tests/static/state_tests/stCallCodes/callcallcode_01_SuicideEndFiller.json +state_tests/stCallCodes/callcallcode_01_SuicideEndFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcode_01_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcode_01_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcode_01_suicide_end( pre: Alloc, ) -> None: """Call -> (callcode -> code) suicide.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,68 +46,67 @@ def test_callcallcode_01_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x799DA5A3C983A22F9C430DE1BF99134EE561E856, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x799DA5A3C983A22F9C430DE1BF99134EE561E856, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xC350, + address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x703b936fd4d674f0ff5d6957f61097152f8781b8"), # noqa: E501 + address=Address(0x799DA5A3C983A22F9C430DE1BF99134EE561E856), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xC350, - address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x799da5a3c983a22f9c430de1bf99134ee561e856"), # noqa: E501 + address=Address(0x703B936FD4D674F0FF5D6957F61097152F8781B8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={1: 1, 2: 1}), + target: Account(balance=0xDE0B6B5FB6FE400), + addr_2: Account(storage={2: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecall_010.py b/tests/ported_static/stCallCodes/test_callcallcodecall_010.py index b15e9f2ece6..e51b9b6e0a9 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecall_010.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecall_010.py @@ -1,8 +1,8 @@ """ -call -> callcode -> call -> code, params check. +Call -> callcode -> call -> code, params check. Ported from: -tests/static/state_tests/stCallCodes/callcallcodecall_010Filler.json +state_tests/stCallCodes/callcallcodecall_010Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcallcodecall_010Filler.json"], + ["state_tests/stCallCodes/callcallcodecall_010Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_callcallcodecall_010( pre: Alloc, ) -> None: """Call -> callcode -> call -> code, params check.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,94 +46,93 @@ def test_callcallcodecall_010( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x493E0, - address=0x62441CBE78AA4A4244E084D4F86098E31DCED749, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x55730, + address=0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4c0de71b93de6b7055a3686e4bf93add02b39ed8"), # noqa: E501 + address=Address(0xEB09FF15547417853F6F4B240B8804769C37B0F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - value=0x3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 300000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x493E0, + address=0x62441CBE78AA4A4244E084D4F86098E31DCED749, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x62441cbe78aa4a4244e084d4f86098e31dced749"), # noqa: E501 + address=Address(0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 250000 3 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + value=0x3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0x62441CBE78AA4A4244E084D4F86098E31DCED749), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x55730, - address=0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xeb09ff15547417853f6f4b240b8804769c37b0f1"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account(storage={1: 1, 2: 1}), - callee_2: Account( + addr: Account(storage={1: 1, 2: 1}), + addr_3: Account( storage={ 3: 1, 4: 0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8, @@ -144,7 +144,6 @@ def test_callcallcodecall_010( 340: 10, }, ), - contract: Account(storage={0: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecall_010_ooge.py b/tests/ported_static/stCallCodes/test_callcallcodecall_010_ooge.py index 1a5cab14cd1..36afdde2292 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecall_010_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecall_010_ooge.py @@ -1,8 +1,8 @@ """ -call -> callcode -> call -> code oog. +Call -> callcode -> call -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcallcodecall_010_OOGEFiller.json +state_tests/stCallCodes/callcallcodecall_010_OOGEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecall_010_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecall_010_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcodecall_010_ooge( pre: Alloc, ) -> None: """Call -> callcode -> call -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,87 +46,88 @@ def test_callcallcodecall_010_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x8232556DC6A7EED9EBE5B86C640A52AADF2C29AF, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) [[ 11 ]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x8232556dc6a7eed9ebe5b86c640a52aadf2c29af"), # noqa: E501 + address=Address(0x8232556DC6A7EED9EBE5B86C640A52AADF2C29AF), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x8232556DC6A7EED9EBE5B86C640A52AADF2C29AF, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x913cf7a18f61bab7bccf5607dfa9b730c5976000"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_2: Account(storage={1: 1, 11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={1: 1, 11: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecall_010_oogm_after.py b/tests/ported_static/stCallCodes/test_callcallcodecall_010_oogm_after.py index 70b496d159c..d9f534f0c0e 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecall_010_oogm_after.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecall_010_oogm_after.py @@ -1,8 +1,8 @@ """ -call -> (callcode -> call -> code) oog. +Call -> (callcode -> call -> code) oog. Ported from: -tests/static/state_tests/stCallCodes/callcallcodecall_010_OOGMAfterFiller.json +state_tests/stCallCodes/callcallcodecall_010_OOGMAfterFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecall_010_OOGMAfterFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecall_010_OOGMAfterFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcodecall_010_oogm_after( pre: Alloc, ) -> None: """Call -> (callcode -> call -> code) oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,83 +46,87 @@ def test_callcallcodecall_010_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x37e72dd6ff3c2ac8c1ddab092a26164a2ad5988c"), # noqa: E501 + address=Address(0xE54CCFA5E33A84943997885F0AB9C19C587D8C4F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x8d7270785422b63a97d83bada6aac80bebc3a99d"), # noqa: E501 + address=Address(0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xe54ccfa5e33a84943997885f0ab9c19c587d8c4f"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecall_010_oogm_before.py b/tests/ported_static/stCallCodes/test_callcallcodecall_010_oogm_before.py index 5017a26cac3..f81ed05bb29 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecall_010_oogm_before.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecall_010_oogm_before.py @@ -1,8 +1,8 @@ """ -call -> callcode -> oog call -> code. +Call -> callcode -> oog call -> code. Ported from: -tests/static/state_tests/stCallCodes/callcallcodecall_010_OOGMBeforeFiller.json +state_tests/stCallCodes/callcallcodecall_010_OOGMBeforeFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecall_010_OOGMBeforeFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecall_010_OOGMBeforeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcallcodecall_010_oogm_before( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Call -> callcode -> oog call -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call -> callcode -> oog call -> code .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,84 +46,87 @@ def test_callcallcodecall_010_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x51A61D678EC27711369C527E5D42A9DE66A5727F, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x51a61d678ec27711369c527e5d42a9de66a5727f"), # noqa: E501 + address=Address(0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x51A61D678EC27711369C527E5D42A9DE66A5727F, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x8e6e134402f2eeca8e910e8ec62b45b36ee31f30"), # noqa: E501 + address=Address(0x51A61D678EC27711369C527E5D42A9DE66A5727F), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={11: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecall_010_suicide_end.py b/tests/ported_static/stCallCodes/test_callcallcodecall_010_suicide_end.py index 12924c92cc1..7df47b616e3 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecall_010_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecall_010_suicide_end.py @@ -1,8 +1,8 @@ """ -call -> callcode -> (call -> code) (suicide). +Call -> callcode -> (call -> code) (suicide). Ported from: -tests/static/state_tests/stCallCodes/callcallcodecall_010_SuicideEndFiller.json +state_tests/stCallCodes/callcallcodecall_010_SuicideEndFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecall_010_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecall_010_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcodecall_010_suicide_end( pre: Alloc, ) -> None: """Call -> callcode -> (call -> code) (suicide).""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,89 +46,87 @@ def test_callcallcodecall_010_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - callee = pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xd957e143ad2c011bc6a2b142795f1a9ba70d0680"), # noqa: E501 + address=Address(0xD957E143AD2C011BC6A2B142795F1A9BA70D0680), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee: Account(storage={3: 1}), - callee_2: Account(storage={1: 1, 2: 1}), + addr_2: Account(storage={1: 0, 2: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 1}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecall_010_suicide_middle.py b/tests/ported_static/stCallCodes/test_callcallcodecall_010_suicide_middle.py index fd0cce137c5..a5961caa24e 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecall_010_suicide_middle.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecall_010_suicide_middle.py @@ -1,9 +1,8 @@ """ -call -> callcode -> (suicide) call -> code. +Call -> callcode -> (suicide) call -> code. Ported from: -tests/static/state_tests/stCallCodes -callcallcodecall_010_SuicideMiddleFiller.json +state_tests/stCallCodes/callcallcodecall_010_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecall_010_SuicideMiddleFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecall_010_SuicideMiddleFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcallcodecall_010_suicide_middle( pre: Alloc, ) -> None: """Call -> callcode -> (suicide) call -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +46,90 @@ def test_callcallcodecall_010_suicide_middle( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALL 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac90bb4611b91d4c6292bd64e8656110822e01ed"), # noqa: E501 + address=Address(0xAC90BB4611B91D4C6292BD64E8656110822E01ED), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee_2: Account(storage={1: 1}), + target: Account(storage={0: 1}, balance=0xDE0B6B5FB6FE400), + addr_2: Account(storage={1: 0, 2: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecall_abcb_recursive.py b/tests/ported_static/stCallCodes/test_callcallcodecall_abcb_recursive.py index 92c384a6000..0019fe7bc0d 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecall_abcb_recursive.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecall_abcb_recursive.py @@ -1,8 +1,8 @@ """ -call -> callcode <-> call. +Call -> callcode <-> call. Ported from: -tests/static/state_tests/stCallCodes/callcallcodecall_ABCB_RECURSIVEFiller.json +state_tests/stCallCodes/callcallcodecall_ABCB_RECURSIVEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecall_ABCB_RECURSIVEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecall_ABCB_RECURSIVEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcodecall_abcb_recursive( pre: Alloc, ) -> None: """Call -> callcode <-> call.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,79 +46,79 @@ def test_callcallcodecall_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x17D7840, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x17D7840, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x039f3900e280b9c74d46e825b0b3814df4d705ac"), # noqa: E501 + address=Address(0x039F3900E280B9C74D46E825B0B3814DF4D705AC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x7A120, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xF4240, + address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x91a8703c1bef34c1e76e152c1f7fb8c336c3be24"), # noqa: E501 + address=Address(0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xF4240, - address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x7A120, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe2ab9779f4fb1d9d39211cc2082083add172e69c"), # noqa: E501 + address=Address(0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={1: 1}), + target: Account(storage={0: 1, 1: 0}), + addr: Account(storage={1: 1, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011.py b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011.py index a1df86a1257..d23bfc2d2a8 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011.py @@ -1,8 +1,8 @@ """ -call -> callcode -> callcode -> code, check params. +Call -> callcode -> callcode -> code, check params. Ported from: -tests/static/state_tests/stCallCodes/callcallcodecallcode_011Filler.json +state_tests/stCallCodes/callcallcodecallcode_011Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecallcode_011Filler.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecallcode_011Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcodecallcode_011( pre: Alloc, ) -> None: """Call -> callcode -> callcode -> code, check params.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,93 +46,92 @@ def test_callcallcodecallcode_011( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x3D090, - address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, - value=0x3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x55730, + address=0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0ffffaeb931552e5f094ca96a70be612da56b887"), # noqa: E501 + address=Address(0xEB09FF15547417853F6F4B240B8804769C37B0F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 300000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x493E0, + address=0xFFFFAEB931552E5F094CA96A70BE612DA56B887, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x181b4ed322e192361633cc3c0a418f259ab0cf4b"), # noqa: E501 + address=Address(0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x493E0, - address=0xFFFFAEB931552E5F094CA96A70BE612DA56B887, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 250000 3 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x3D090, + address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, + value=0x3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4c0de71b93de6b7055a3686e4bf93add02b39ed8"), # noqa: E501 + address=Address(0x0FFFFAEB931552E5F094CA96A70BE612DA56B887), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x55730, - address=0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xeb09ff15547417853f6f4b240b8804769c37b0f1"), # noqa: E501 + address=Address(0x181B4ED322E192361633CC3C0A418F259AB0CF4B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee_2: Account( + addr: Account( storage={ 1: 1, 2: 1, @@ -147,7 +145,6 @@ def test_callcallcodecallcode_011( 340: 10, }, ), - contract: Account(storage={0: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_ooge.py b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_ooge.py index c1c848f3c7e..178bca74a1d 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_ooge.py @@ -1,8 +1,8 @@ """ -call -> callcode -> callcode -> code oog. +Call -> callcode -> callcode -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcallcodecallcode_011_OOGEFiller.json +state_tests/stCallCodes/callcallcodecallcode_011_OOGEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecallcode_011_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecallcode_011_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcallcodecallcode_011_ooge( pre: Alloc, ) -> None: """Call -> callcode -> callcode -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,87 +46,88 @@ def test_callcallcodecallcode_011_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x6322dc554acdcada01cbf7ac6a163d207c34ded2"), # noqa: E501 + address=Address(0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x913cf7a18f61bab7bccf5607dfa9b730c5976000"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_2: Account(storage={1: 1, 11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={1: 1, 11: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_oogm_after.py b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_oogm_after.py index 5a31817a091..c4d0cf4304e 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_oogm_after.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_oogm_after.py @@ -1,9 +1,8 @@ """ -call -> callcode oog -> callcode -> code. +Call -> callcode oog -> callcode -> code. Ported from: -tests/static/state_tests/stCallCodes -callcallcodecallcode_011_OOGMAfterFiller.json +state_tests/stCallCodes/callcallcodecallcode_011_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecallcode_011_OOGMAfterFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecallcode_011_OOGMAfterFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcallcodecallcode_011_oogm_after( pre: Alloc, ) -> None: """Call -> callcode oog -> callcode -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +46,87 @@ def test_callcallcodecallcode_011_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x926DFBCC20B2AB686FC85331883541D174CCC738, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x37e72dd6ff3c2ac8c1ddab092a26164a2ad5988c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[ 11 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x497a77ddb638324a7b8ebf99e189f9ff8c118f19"), # noqa: E501 + address=Address(0x497A77DDB638324A7B8EBF99E189F9FF8C118F19), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x926DFBCC20B2AB686FC85331883541D174CCC738, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, + nonce=0, + address=Address(0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x926dfbcc20b2ab686fc85331883541d174ccc738"), # noqa: E501 + address=Address(0x926DFBCC20B2AB686FC85331883541D174CCC738), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_oogm_before.py b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_oogm_before.py index 77eff20cd53..a7b86531004 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_oogm_before.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_oogm_before.py @@ -1,9 +1,8 @@ """ -call -> callcode -> oog callcode -> code. +Call -> callcode -> oog callcode -> code. Ported from: -tests/static/state_tests/stCallCodes -callcallcodecallcode_011_OOGMBeforeFiller.json +state_tests/stCallCodes/callcallcodecallcode_011_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecallcode_011_OOGMBeforeFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecallcode_011_OOGMBeforeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcallcodecallcode_011_oogm_before( pre: Alloc, ) -> None: """Call -> callcode -> oog callcode -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,84 +46,87 @@ def test_callcallcodecallcode_011_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x8e6e134402f2eeca8e910e8ec62b45b36ee31f30"), # noqa: E501 + address=Address(0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xdbb53599a5d13e0c465e1cc4ff24d7f00d780df4"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee: Account(storage={11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={11: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_suicide_end.py b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_suicide_end.py index ba05eaee984..a96e623ecaf 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_suicide_end.py @@ -1,9 +1,8 @@ """ -call -> callcode -> (callcode -> code) (suicide). +Call -> callcode -> (callcode -> code) (suicide). Ported from: -tests/static/state_tests/stCallCodes -callcallcodecallcode_011_SuicideEndFiller.json +state_tests/stCallCodes/callcallcodecallcode_011_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecallcode_011_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecallcode_011_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcallcodecallcode_011_suicide_end( pre: Alloc, ) -> None: """Call -> callcode -> (callcode -> code) (suicide).""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,88 +46,84 @@ def test_callcallcodecallcode_011_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x94c8f980aeecbb6575b12ae614a249fc3e836f21"), # noqa: E501 + address=Address(0x94C8F980AEECBB6575B12AE614A249FC3E836F21), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1}), - callee_2: Account(storage={1: 1, 2: 1, 3: 1}), - } + post = {addr_2: Account(storage={1: 0, 2: 0, 3: 0}, balance=0x2540BE400)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_suicide_middle.py b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_suicide_middle.py index 4b5a889efbc..59940814ba0 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_suicide_middle.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecallcode_011_suicide_middle.py @@ -1,9 +1,8 @@ """ -call -> callcode -> (suicide) callcode -> code. +Call -> callcode -> (suicide) callcode -> code. Ported from: -tests/static/state_tests/stCallCodes -callcallcodecallcode_011_SuicideMiddleFiller.json +state_tests/stCallCodes/callcallcodecallcode_011_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCodes/callcallcodecallcode_011_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallCodes/callcallcodecallcode_011_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecallcode_011_suicide_middle( pre: Alloc, ) -> None: """Call -> callcode -> (suicide) callcode -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +48,93 @@ def test_callcallcodecallcode_011_suicide_middle( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0x58DED445D89963DFB8668B9A16B24AFA6F9B83A8, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x58ded445d89963dfb8668b9a16b24afa6f9b83a8"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x58DED445D89963DFB8668B9A16B24AFA6F9B83A8), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0x58DED445D89963DFB8668B9A16B24AFA6F9B83A8, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee_2: Account(storage={1: 1}), + target: Account( + storage={0: 1, 1: 0, 2: 0, 3: 0}, + balance=0xDE0B6B5FB6FE400, + ), + addr_2: Account(storage={1: 0, 2: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcallcodecallcode_abcb_recursive.py b/tests/ported_static/stCallCodes/test_callcallcodecallcode_abcb_recursive.py index 5ca24258157..0b1a1708987 100644 --- a/tests/ported_static/stCallCodes/test_callcallcodecallcode_abcb_recursive.py +++ b/tests/ported_static/stCallCodes/test_callcallcodecallcode_abcb_recursive.py @@ -1,9 +1,8 @@ """ -call -> callcode <-> callcode. +Call -> callcode <-> callcode. Ported from: -tests/static/state_tests/stCallCodes -callcallcodecallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallCodes/callcallcodecallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcallcodecallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcallcodecallcode_ABCB_RECURSIVEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcallcodecallcode_abcb_recursive( pre: Alloc, ) -> None: """Call -> callcode <-> callcode.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,79 +46,79 @@ def test_callcallcodecallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x17D7840, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x17D7840, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x039f3900e280b9c74d46e825b0b3814df4d705ac"), # noqa: E501 + address=Address(0x039F3900E280B9C74D46E825B0B3814DF4D705AC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x7A120, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xF4240, + address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa71333d8c0291cfd6da54bec5a3957563ab16c1c"), # noqa: E501 + address=Address(0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xF4240, - address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x7A120, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe2ab9779f4fb1d9d39211cc2082083add172e69c"), # noqa: E501 + address=Address(0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={1: 1}), + target: Account(storage={0: 1, 1: 0}), + addr: Account(storage={1: 1, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcode_check_pc.py b/tests/ported_static/stCallCodes/test_callcode_check_pc.py index e884a53030a..938961feb34 100644 --- a/tests/ported_static/stCallCodes/test_callcode_check_pc.py +++ b/tests/ported_static/stCallCodes/test_callcode_check_pc.py @@ -1,8 +1,8 @@ """ -check the PC after doing call to a contract. +Check the PC after doing call to a contract. Ported from: -tests/static/state_tests/stCallCodes/callcode_checkPCFiller.json +state_tests/stCallCodes/callcode_checkPCFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcode_checkPCFiller.json"], + ["state_tests/stCallCodes/callcode_checkPCFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_callcode_check_pc( pre: Alloc, ) -> None: """Check the PC after doing call to a contract.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,45 +46,43 @@ def test_callcode_check_pc( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { (CALL 1000000 0 0 64 0 64 ) [[3]] (PC) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0xF4240, - address=0xFA7FC61138EE12431F8693335FB2BF5AF4051632, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0xF4240, + address=0xFA7FC61138EE12431F8693335FB2BF5AF4051632, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x3, value=Op.PC) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x3, value=Op.PC) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6861b8d2ba9a24e77f63623e4a5e83e2bc6a30df"), # noqa: E501 + address=Address(0x6861B8D2BA9A24E77F63623E4A5E83E2BC6A30DF), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - callee = pre.deploy_contract( + # Source: lll + # { [[0]] 1 } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xfa7fc61138ee12431f8693335fb2bf5af4051632"), # noqa: E501 + address=Address(0xFA7FC61138EE12431F8693335FB2BF5AF4051632), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1100000, ) - post = { - contract: Account(storage={3: 37}), - callee: Account(storage={0: 1}), - } + post = {target: Account(storage={3: 37})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcode_dynamic_code.py b/tests/ported_static/stCallCodes/test_callcode_dynamic_code.py index 0e716ad014b..334f4b1f1d3 100644 --- a/tests/ported_static/stCallCodes/test_callcode_dynamic_code.py +++ b/tests/ported_static/stCallCodes/test_callcode_dynamic_code.py @@ -1,8 +1,8 @@ """ -callcode to a contract that is being created in the same transaction. +Callcode to a contract that is being created in the same transaction. Ported from: -tests/static/state_tests/stCallCodes/callcodeDynamicCodeFiller.json +state_tests/stCallCodes/callcodeDynamicCodeFiller.json """ import pytest @@ -12,8 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,84 +28,54 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcodeDynamicCodeFiller.json"], + ["state_tests/stCallCodes/callcodeDynamicCodeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000001000000000000000000000000000000000000000", - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={ - 0: 1, - 10: 0x13136008B64FF592819B2FA6D43F2835C452020E, - 11: 1, - 20: 0x1000000000000000000000000000000000000000, - 21: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 22: 0x1000000000000000000000000000000000000000, - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000002000000000000000000000000000000000000000", - { - Address("0x2000000000000000000000000000000000000000"): Account( - storage={ - 0: 1, - 10: 0x2D39FAD743351D4CF3F4717907D3DDA5E0A689A7, - 11: 1, - 20: 0x2000000000000000000000000000000000000000, - 21: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 22: 0x2000000000000000000000000000000000000000, - } - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "0000000000000000000000003000000000000000000000000000000000000000", - { - Address("0x4b86c4ed99b87f0f396bc0c76885453c343916ed"): Account( - storage={ - 0: 1, - 10: 0xBF1676BE6038AB86D66E00824C2E3577858040F6, - 11: 1, - 20: 0x4B86C4ED99B87F0F396BC0C76885453C343916ED, - 21: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 22: 0x4B86C4ED99B87F0F396BC0C76885453C343916ED, - } - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "0000000000000000000000004000000000000000000000000000000000000000", - { - Address("0xa51c188504a60578914fcae68f7a1f0dcbb856a9"): Account( - storage={ - 0: 1, - 10: 0xF2D6BF688FAE45DA62AB2DD4F36945BC924CC61, - 11: 1, - 20: 0xA51C188504A60578914FCAE68F7A1F0DCBB856A9, - 21: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 22: 0xA51C188504A60578914FCAE68F7A1F0DCBB856A9, - } - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_callcode_dynamic_code( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Callcode to a contract that is being created in the same transaction.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1100000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000000) + contract_2 = Address(0x2000000000000000000000000000000000000000) + contract_3 = Address(0x3000000000000000000000000000000000000000) + contract_4 = Address(0x4000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -113,207 +89,271 @@ def test_callcode_dynamic_code( gas_limit=1000000, ) - # Source: LLL - # {(seq [[10]] (CREATE 0 0 (lll(seq (RETURN 0 (lll(seq [[0]] 1 [[20]] (ADDRESS) [[21]] (ORIGIN) [[22]] (CALLER) )0) ) )0) ) [[11]] (CALLCODE 100000 (SLOAD 10) 0 0 64 0 64) )} # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x1F] - + Op.CODECOPY(dest_offset=0x0, offset=0x27, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.SSTORE(key=0xA, value=Op.CREATE) - + Op.SSTORE( - key=0xB, - value=Op.CALLCODE( - gas=0x186A0, - address=Op.SLOAD(key=0xA), - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - + Op.INVALID - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=0x14, value=Op.ADDRESS) - + Op.SSTORE(key=0x15, value=Op.ORIGIN) - + Op.SSTORE(key=0x16, value=Op.CALLER) - + Op.STOP - ), - balance=0x2710, + # Source: lll + # { (CALL 800000 (CALLDATALOAD 0) 0 0 0 0 0) } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xC3500, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1100000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (CALL 800000 (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xC3500, - address=Op.CALLDATALOAD(offset=0x0), + # Source: lll + # {(seq [[10]] (CREATE 0 0 (lll(seq (RETURN 0 (lll(seq [[0]] 1 [[20]] (ADDRESS) [[21]] (ORIGIN) [[22]] (CALLER) )0) ) )0) ) [[11]] (CALLCODE 100000 (SLOAD 10) 0 0 64 0 64) )} # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1F] + + Op.CODECOPY(dest_offset=0x0, offset=0x27, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.SSTORE(key=0xA, value=Op.CREATE) + + Op.SSTORE( + key=0xB, + value=Op.CALLCODE( + gas=0x186A0, + address=Op.SLOAD(key=0xA), value=0x0, args_offset=0x0, - args_size=0x0, + args_size=0x40, ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + ret_size=0x40, + ), + ) + + Op.STOP + + Op.INVALID + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x14, value=Op.ADDRESS) + + Op.SSTORE(key=0x15, value=Op.ORIGIN) + + Op.SSTORE(key=0x16, value=Op.CALLER) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x1100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # {(seq [[10]] (CREATE2 0 0 (lll(seq (RETURN 0 (lll(seq [[0]] 1 [[20]] (ADDRESS) [[21]] (ORIGIN) [[22]] (CALLER) )0) ) )0) 0 ) [[11]] (CALLCODE 100000 (SLOAD 10) 0 0 64 0 64) )} # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x1F] - + Op.CODECOPY(dest_offset=0x0, offset=0x29, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.SSTORE(key=0xA, value=Op.CREATE2) - + Op.SSTORE( - key=0xB, - value=Op.CALLCODE( - gas=0x186A0, - address=Op.SLOAD(key=0xA), - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - + Op.INVALID - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=0x14, value=Op.ADDRESS) - + Op.SSTORE(key=0x15, value=Op.ORIGIN) - + Op.SSTORE(key=0x16, value=Op.CALLER) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x1F] + + Op.CODECOPY(dest_offset=0x0, offset=0x29, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.SSTORE(key=0xA, value=Op.CREATE2) + + Op.SSTORE( + key=0xB, + value=Op.CALLCODE( + gas=0x186A0, + address=Op.SLOAD(key=0xA), + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP + + Op.INVALID + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x14, value=Op.ADDRESS) + + Op.SSTORE(key=0x15, value=Op.ORIGIN) + + Op.SSTORE(key=0x16, value=Op.CALLER) + + Op.STOP, balance=1000, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # {(seq (CREATE 0 0 (lll(seq [[10]] (CREATE 0 0 (lll(seq (RETURN 0 (lll(seq [[0]] 1 [[20]] (ADDRESS) [[21]] (ORIGIN) [[22]] (CALLER) )0) ) )0) ) [[11]] (CALLCODE 100000 (SLOAD 10) 0 0 64 0 64) )0)) )} # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x46] - + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.CREATE - + Op.STOP - + Op.INVALID - + Op.PUSH1[0x1F] - + Op.CODECOPY(dest_offset=0x0, offset=0x27, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.SSTORE(key=0xA, value=Op.CREATE) - + Op.SSTORE( - key=0xB, - value=Op.CALLCODE( - gas=0x186A0, - address=Op.SLOAD(key=0xA), - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - + Op.INVALID - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=0x14, value=Op.ADDRESS) - + Op.SSTORE(key=0x15, value=Op.ORIGIN) - + Op.SSTORE(key=0x16, value=Op.CALLER) - + Op.STOP - ), - balance=0x2710, + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x46] + + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.CREATE + + Op.STOP + + Op.INVALID + + Op.PUSH1[0x1F] + + Op.CODECOPY(dest_offset=0x0, offset=0x27, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.SSTORE(key=0xA, value=Op.CREATE) + + Op.SSTORE( + key=0xB, + value=Op.CALLCODE( + gas=0x186A0, + address=Op.SLOAD(key=0xA), + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP + + Op.INVALID + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x14, value=Op.ADDRESS) + + Op.SSTORE(key=0x15, value=Op.ORIGIN) + + Op.SSTORE(key=0x16, value=Op.CALLER) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # {(seq (CREATE 0 0 (lll(seq [[10]] (CREATE2 0 0 (lll(seq (RETURN 0 (lll(seq [[0]] 1 [[20]] (ADDRESS) [[21]] (ORIGIN) [[22]] (CALLER) )0) ) )0) 0 ) [[11]] (CALLCODE 100000 (SLOAD 10) 0 0 64 0 64) )0)) )} # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x48] - + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.CREATE - + Op.STOP - + Op.INVALID - + Op.PUSH1[0x0] - + Op.PUSH1[0x1F] - + Op.CODECOPY(dest_offset=0x0, offset=0x29, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.SSTORE(key=0xA, value=Op.CREATE2) - + Op.SSTORE( - key=0xB, - value=Op.CALLCODE( - gas=0x186A0, - address=Op.SLOAD(key=0xA), - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - + Op.INVALID - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=0x14, value=Op.ADDRESS) - + Op.SSTORE(key=0x15, value=Op.ORIGIN) - + Op.SSTORE(key=0x16, value=Op.CALLER) - + Op.STOP - ), - balance=0x2710, + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x48] + + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.CREATE + + Op.STOP + + Op.INVALID + + Op.PUSH1[0x0] + + Op.PUSH1[0x1F] + + Op.CODECOPY(dest_offset=0x0, offset=0x29, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.SSTORE(key=0xA, value=Op.CREATE2) + + Op.SSTORE( + key=0xB, + value=Op.CALLCODE( + gas=0x186A0, + address=Op.SLOAD(key=0xA), + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP + + Op.INVALID + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x14, value=Op.ADDRESS) + + Op.SSTORE(key=0x15, value=Op.ORIGIN) + + Op.SSTORE(key=0x16, value=Op.CALLER) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x4000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x4000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0x2386F26FC10000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={ + 0: 1, + 10: 0x13136008B64FF592819B2FA6D43F2835C452020E, + 11: 1, + 20: 0x1000000000000000000000000000000000000000, + 21: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 22: 0x1000000000000000000000000000000000000000, + }, + ), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account( + storage={ + 0: 1, + 10: 0x2D39FAD743351D4CF3F4717907D3DDA5E0A689A7, + 11: 1, + 20: 0x2000000000000000000000000000000000000000, + 21: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 22: 0x2000000000000000000000000000000000000000, + }, + ), + }, + }, + { + "indexes": {"data": 2, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_3, nonce=0): Account( + storage={ + 0: 1, + 10: 0xBF1676BE6038AB86D66E00824C2E3577858040F6, + 11: 1, + 20: 0x4B86C4ED99B87F0F396BC0C76885453C343916ED, + 21: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 22: 0x4B86C4ED99B87F0F396BC0C76885453C343916ED, + }, + code=b"", + balance=0, + nonce=2, + ), + }, + }, + { + "indexes": {"data": 3, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_4, nonce=0): Account( + storage={ + 0: 1, + 10: 0xF2D6BF688FAE45DA62AB2DD4F36945BC924CC61, + 11: 1, + 20: 0xA51C188504A60578914FCAE68F7A1F0DCBB856A9, + 21: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 22: 0xA51C188504A60578914FCAE68F7A1F0DCBB856A9, + }, + code=b"", + balance=0, + nonce=2, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_1, left_padding=True), + Hash(contract_2, left_padding=True), + Hash(contract_3, left_padding=True), + Hash(contract_4, left_padding=True), + ] + tx_gas = [1000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1000000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcode_dynamic_code2_self_call.py b/tests/ported_static/stCallCodes/test_callcode_dynamic_code2_self_call.py index 51232851233..70df0338618 100644 --- a/tests/ported_static/stCallCodes/test_callcode_dynamic_code2_self_call.py +++ b/tests/ported_static/stCallCodes/test_callcode_dynamic_code2_self_call.py @@ -1,8 +1,8 @@ """ -callcode happen to a contract that is dynamically created from within the... +Callcode happen to a contract that is dynamically created from within... Ported from: -tests/static/state_tests/stCallCodes/callcodeDynamicCode2SelfCallFiller.json +state_tests/stCallCodes/callcodeDynamicCode2SelfCallFiller.json """ import pytest @@ -12,8 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,55 +28,40 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodeDynamicCode2SelfCallFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodeDynamicCode2SelfCallFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000a000000000000000000000000000000000000000", - { - Address("0x7db299e0885c85039f56fa504a13dd8ce8a56aa7"): Account( - storage={ - 11: 1, - 12: 0xA000000000000000000000000000000000000000, - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000001000000000000000000000000000000000000000", - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={ - 0: 1, - 10: 0x13136008B64FF592819B2FA6D43F2835C452020E, - 11: 1, - 20: 0x1000000000000000000000000000000000000000, - 21: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 22: 0x1000000000000000000000000000000000000000, - } - ), - Address("0x13136008b64ff592819b2fa6d43f2835c452020e"): Account( - storage={122: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_callcode_dynamic_code2_self_call( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Callcode happen to a contract that is dynamically created from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1100000000000000000000000000000000000000) + contract_1 = Address(0xA000000000000000000000000000000000000000) + contract_2 = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -84,105 +75,139 @@ def test_callcode_dynamic_code2_self_call( gas_limit=10000000, ) - # Source: LLL - # {(seq [[10]] (CREATE 0 0 (lll(seq [[122]] (CALLCODE 100000 0x13136008b64ff592819b2fa6d43f2835c452020e 0 0 64 0 64) (RETURN 0 (lll(seq [[0]] 1 [[20]] (ADDRESS) [[21]] (ORIGIN) [[22]] (CALLER) )0) ) )0) ) [[11]] (CALLCODE 100000 (SLOAD 10) 0 0 64 0 64) )} # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x46] - + Op.CODECOPY(dest_offset=0x0, offset=0x27, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.SSTORE(key=0xA, value=Op.CREATE) - + Op.SSTORE( - key=0xB, - value=Op.CALLCODE( - gas=0x186A0, - address=Op.SLOAD(key=0xA), - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - + Op.INVALID - + Op.SSTORE( - key=0x7A, - value=Op.CALLCODE( - gas=0x186A0, - address=0x13136008B64FF592819B2FA6D43F2835C452020E, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x0, offset=0x34, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=0x14, value=Op.ADDRESS) - + Op.SSTORE(key=0x15, value=Op.ORIGIN) - + Op.SSTORE(key=0x16, value=Op.CALLER) - + Op.STOP - ), - balance=0x2710, + # Source: lll + # { (CALL 800000 (CALLDATALOAD 0) 0 0 0 0 0) } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xC3500, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1100000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (CALL 800000 (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xC3500, - address=Op.CALLDATALOAD(offset=0x0), + # Source: lll + # { (MSTORE 0 0x604060006040600060007313136008b64ff592819b2fa6d43f2835c452020e62) (MSTORE 32 0x0186a0f2600b5533600c55000000000000000000000000000000000000000000) (CREATE 1 0 64) } # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x604060006040600060007313136008B64FF592819B2FA6D43F2835C452020E62, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x186A0F2600B5533600C55000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.CREATE(value=0x1, offset=0x0, size=0x40) + + Op.STOP, + balance=10000, + nonce=0, + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 + ) + # Source: lll + # {(seq [[10]] (CREATE 0 0 (lll(seq [[122]] (CALLCODE 100000 0x13136008b64ff592819b2fa6d43f2835c452020e 0 0 64 0 64) (RETURN 0 (lll(seq [[0]] 1 [[20]] (ADDRESS) [[21]] (ORIGIN) [[22]] (CALLER) )0) ) )0) ) [[11]] (CALLCODE 100000 (SLOAD 10) 0 0 64 0 64) )} # noqa: E501 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x46] + + Op.CODECOPY(dest_offset=0x0, offset=0x27, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.SSTORE(key=0xA, value=Op.CREATE) + + Op.SSTORE( + key=0xB, + value=Op.CALLCODE( + gas=0x186A0, + address=Op.SLOAD(key=0xA), value=0x0, args_offset=0x0, - args_size=0x0, + args_size=0x40, ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - nonce=0, - address=Address("0x1100000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { (MSTORE 0 0x604060006040600060007313136008b64ff592819b2fa6d43f2835c452020e62) (MSTORE 32 0x0186a0f2600b5533600c55000000000000000000000000000000000000000000) (CREATE 1 0 64) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x604060006040600060007313136008B64FF592819B2FA6D43F2835C452020E62, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x186A0F2600B5533600C55000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.CREATE(value=0x1, offset=0x0, size=0x40) - + Op.STOP - ), - balance=0x2710, + ret_size=0x40, + ), + ) + + Op.STOP + + Op.INVALID + + Op.SSTORE( + key=0x7A, + value=Op.CALLCODE( + gas=0x186A0, + address=0x13136008B64FF592819B2FA6D43F2835C452020E, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x0, offset=0x34, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x14, value=Op.ADDRESS) + + Op.SSTORE(key=0x15, value=Op.ORIGIN) + + Op.SSTORE(key=0x16, value=Op.CALLER) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0x2386F26FC10000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_1, nonce=0): Account( + storage={ + 11: 1, + 12: 0xA000000000000000000000000000000000000000, + }, + balance=1, + ), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account( + storage={ + 0: 1, + 10: 0x13136008B64FF592819B2FA6D43F2835C452020E, + 11: 1, + 20: 0x1000000000000000000000000000000000000000, + 21: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 22: 0x1000000000000000000000000000000000000000, + }, + nonce=1, + ), + compute_create_address(address=contract_2, nonce=0): Account( + storage={122: 1}, nonce=1 + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_1, left_padding=True), + Hash(contract_2, left_padding=True), + ] + tx_gas = [1453081] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1453081, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcode_emptycontract.py b/tests/ported_static/stCallCodes/test_callcode_emptycontract.py index 3cfd6ce289e..72ad304c6de 100644 --- a/tests/ported_static/stCallCodes/test_callcode_emptycontract.py +++ b/tests/ported_static/stCallCodes/test_callcode_emptycontract.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_emptycontract. Ported from: -tests/static/state_tests/stCallCodes/callcodeEmptycontractFiller.json +state_tests/stCallCodes/callcodeEmptycontractFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcodeEmptycontractFiller.json"], + ["state_tests/stCallCodes/callcodeEmptycontractFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_callcode_emptycontract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_emptycontract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -45,38 +46,35 @@ def test_callcode_emptycontract( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 50000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 1000 0 64 0 64 )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC350, - address=0x945304EB96065B2A98B57A48A06AE28D285A71B5, - value=0x3E8, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC350, + address=0x945304EB96065B2A98B57A48A06AE28D285A71B5, + value=0x3E8, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=1000, nonce=0, - address=Address("0x594f6a1a002fc9949ac40616cc146845680302e1"), # noqa: E501 + address=Address(0x594F6A1A002FC9949AC40616CC146845680302E1), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1050440, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_empty_contract.py b/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_empty_contract.py index 737391a38fc..6e5eb5efdb9 100644 --- a/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_empty_contract.py +++ b/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_empty_contract.py @@ -1,9 +1,8 @@ """ -callcode inside create contract init to non-existent contract. +Callcode inside create contract init to non-existent contract. Ported from: -tests/static/state_tests/stCallCodes -callcodeInInitcodeToEmptyContractFiller.json +state_tests/stCallCodes/callcodeInInitcodeToEmptyContractFiller.json """ import pytest @@ -13,8 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -23,42 +28,40 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodeInInitcodeToEmptyContractFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodeInInitcodeToEmptyContractFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000001000000000000000000000000000000000000000", - { - Address("0x13136008b64ff592819b2fa6d43f2835c452020e"): Account( - storage={2: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000002000000000000000000000000000000000000000", - { - Address("0x9f9f2f99f78bfedcd1f32d936203bd1c0cb00853"): Account( - storage={2: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_callcode_in_initcode_to_empty_contract( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Callcode inside create contract init to non-existent contract.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1100000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000000) + contract_2 = Address(0x2000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -72,96 +75,114 @@ def test_callcode_in_initcode_to_empty_contract( gas_limit=10000000, ) - # Source: LLL - # {(seq (CREATE 0 0 (lll (seq [[1]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 1 0 0 0 0) [[2]] 1 ) 0) ) )} # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x2D] - + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.CREATE - + Op.STOP - + Op.INVALID - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x7A120, - address=0x1000000000000000000000000000000000000001, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0x1) - + Op.STOP - ), - balance=0x2710, + # Source: lll + # { (CALL 300000 (CALLDATALOAD 0) 0 0 0 0 0) } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x493E0, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1100000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (CALL 300000 (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x493E0, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, + # Source: lll + # {(seq (CREATE 0 0 (lll (seq [[1]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 1 0 0 0 0) [[2]] 1 ) 0) ) )} # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x2D] + + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.CREATE + + Op.STOP + + Op.INVALID + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x7A120, + address=0x1000000000000000000000000000000000000001, + value=0x1, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x2, value=0x1) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x1100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # {(seq (CREATE2 0 0 (lll (seq [[1]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 1 0 0 0 0) [[2]] 1 ) 0) 0) )} # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x2D] - + Op.CODECOPY(dest_offset=0x0, offset=0x11, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.CREATE2 - + Op.STOP - + Op.INVALID - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x7A120, - address=0x1000000000000000000000000000000000000001, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0x1) - + Op.STOP - ), - balance=0x2710, + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x2D] + + Op.CODECOPY(dest_offset=0x0, offset=0x11, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.CREATE2 + + Op.STOP + + Op.INVALID + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x7A120, + address=0x1000000000000000000000000000000000000001, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0x1) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0x2386F26FC10000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_1, nonce=0): Account( + storage={2: 1} + ), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x9F9F2F99F78BFEDCD1F32D936203BD1C0CB00853): Account( + storage={2: 1} + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_1, left_padding=True), + Hash(contract_2, left_padding=True), + ] + tx_gas = [1453081] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1453081, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_exis_contract_with_v_transfer_ne_money.py b/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_exis_contract_with_v_transfer_ne_money.py index ba61831947d..e2ea6f2641f 100644 --- a/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_exis_contract_with_v_transfer_ne_money.py +++ b/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_exis_contract_with_v_transfer_ne_money.py @@ -1,9 +1,8 @@ """ -callcode inside create/create2 contract init to existing contract. callcode... +Callcode inside create/create2 contract init to existing contract.... Ported from: -tests/static/state_tests/stCallCodes -callcodeInInitcodeToExisContractWithVTransferNEMoneyFiller.json +state_tests/stCallCodes/callcodeInInitcodeToExisContractWithVTransferNEMoneyFiller.json """ import pytest @@ -13,8 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -24,33 +29,42 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCodes/callcodeInInitcodeToExisContractWithVTransferNEMoneyFiller.json", # noqa: E501 + "state_tests/stCallCodes/callcodeInInitcodeToExisContractWithVTransferNEMoneyFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000001000000000000000000000000000000000000000", - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000002000000000000000000000000000000000000000", - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_callcode_in_initcode_to_exis_contract_with_v_transfer_ne_money( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Callcode inside create/create2 contract init to existing...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Callcode inside create/create2 contract init to existing contract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1100000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000000) + contract_2 = Address(0x2000000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000001) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -64,101 +78,119 @@ def test_callcode_in_initcode_to_exis_contract_with_v_transfer_ne_money( gas_limit=1000000, ) - # Source: LLL - # {(seq (CREATE 0 0 (lll (seq [[1]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 1 0 0 0 0)) 0) ) )} # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x28] - + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.CREATE - + Op.STOP - + Op.INVALID - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x7A120, - address=0x1000000000000000000000000000000000000001, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - balance=0x2710, + # Source: lll + # { (CALL 300000 (CALLDATALOAD 0) 0 0 0 0 0) } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x493E0, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1100000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (SSTORE 2 1) } - pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + # Source: lll + # {(seq (CREATE 0 0 (lll (seq [[1]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 1 0 0 0 0)) 0) ) )} # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x28] + + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.CREATE + + Op.STOP + + Op.INVALID + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x7A120, + address=0x1000000000000000000000000000000000000001, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (CALL 300000 (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x493E0, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, + # Source: lll + # {(seq (CREATE2 0 0 (lll (seq [[1]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 1 0 0 0 0)) 0) 0) )} # noqa: E501 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x28] + + Op.CODECOPY(dest_offset=0x0, offset=0x11, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.CREATE2 + + Op.STOP + + Op.INVALID + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x7A120, + address=0x1000000000000000000000000000000000000001, + value=0x1, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x1100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # {(seq (CREATE2 0 0 (lll (seq [[1]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 1 0 0 0 0)) 0) 0) )} # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x28] - + Op.CODECOPY(dest_offset=0x0, offset=0x11, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.CREATE2 - + Op.STOP - + Op.INVALID - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x7A120, - address=0x1000000000000000000000000000000000000001, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - balance=0x2710, + # Source: lll + # { (SSTORE 2 1) } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) pre[sender] = Account(balance=0x2386F26FC10000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_1, nonce=0): Account( + storage={1: 0, 2: 0}, balance=0, nonce=1 + ), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xB0DE090B1E01BD09AC6B1D9224229302ED48FD47): Account( + storage={1: 0, 2: 0}, balance=0, nonce=1 + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_1, left_padding=True), + Hash(contract_2, left_padding=True), + ] + tx_gas = [1000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1000000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_existing_contract.py b/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_existing_contract.py index 45349463e86..9bc6495e615 100644 --- a/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_existing_contract.py +++ b/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_existing_contract.py @@ -1,9 +1,8 @@ """ -callcode inside create/create2 contract init to existing contract. +Callcode inside create/create2 contract init to existing contract. Ported from: -tests/static/state_tests/stCallCodes -callcodeInInitcodeToExistingContractFiller.json +state_tests/stCallCodes/callcodeInInitcodeToExistingContractFiller.json """ import pytest @@ -13,8 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -24,41 +29,42 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCodes/callcodeInInitcodeToExistingContractFiller.json", # noqa: E501 + "state_tests/stCallCodes/callcodeInInitcodeToExistingContractFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000001000000000000000000000000000000000000000", - { - Address("0x13136008b64ff592819b2fa6d43f2835c452020e"): Account( - storage={1: 1, 2: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000002000000000000000000000000000000000000000", - { - Address("0x11b62573be8f72b4085bafe5b675b3e7f08ed522"): Account( - storage={1: 1, 2: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_callcode_in_initcode_to_existing_contract( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Callcode inside create/create2 contract init to existing contract.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1100000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000000) + contract_2 = Address(0x2000000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000001) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -72,101 +78,121 @@ def test_callcode_in_initcode_to_existing_contract( gas_limit=1000000, ) - # Source: LLL - # {(seq (CREATE 1 0 (lll (seq [[1]] (CALLCODE 50000 0x1000000000000000000000000000000000000001 1 0 0 0 0)) 0) ) )} # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x27] - + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x1] - + Op.CREATE - + Op.STOP - + Op.INVALID - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xC350, - address=0x1000000000000000000000000000000000000001, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - balance=0x2710, + # Source: lll + # { (CALL 300000 (CALLDATALOAD 0) 0 0 0 0 0) } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x493E0, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1100000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (SSTORE 2 1) } - pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + # Source: lll + # {(seq (CREATE 1 0 (lll (seq [[1]] (CALLCODE 50000 0x1000000000000000000000000000000000000001 1 0 0 0 0)) 0) ) )} # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x27] + + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.PUSH1[0x1] + + Op.CREATE + + Op.STOP + + Op.INVALID + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xC350, + address=0x1000000000000000000000000000000000000001, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (CALL 300000 (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x493E0, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, + # Source: lll + # {(seq (CREATE2 1 0 (lll (seq [[1]] (CALLCODE 50000 0x1000000000000000000000000000000000000001 1 0 0 0 0)) 0) 0) )} # noqa: E501 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x27] + + Op.CODECOPY(dest_offset=0x0, offset=0x11, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.PUSH1[0x1] + + Op.CREATE2 + + Op.STOP + + Op.INVALID + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xC350, + address=0x1000000000000000000000000000000000000001, + value=0x1, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x1100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # {(seq (CREATE2 1 0 (lll (seq [[1]] (CALLCODE 50000 0x1000000000000000000000000000000000000001 1 0 0 0 0)) 0) 0) )} # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x27] - + Op.CODECOPY(dest_offset=0x0, offset=0x11, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x1] - + Op.CREATE2 - + Op.STOP - + Op.INVALID - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xC350, - address=0x1000000000000000000000000000000000000001, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - balance=0x2710, + # Source: lll + # { (SSTORE 2 1) } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) pre[sender] = Account(balance=0x2386F26FC10000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_1, nonce=0): Account( + storage={1: 1, 2: 1}, balance=1 + ), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x11B62573BE8F72B4085BAFE5B675B3E7F08ED522): Account( + storage={1: 1, 2: 1}, balance=1 + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_1, left_padding=True), + Hash(contract_2, left_padding=True), + ] + tx_gas = [1000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1000000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_existing_contract_with_value_transfer.py b/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_existing_contract_with_value_transfer.py index e014e5a2bc2..bea3369e032 100644 --- a/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_existing_contract_with_value_transfer.py +++ b/tests/ported_static/stCallCodes/test_callcode_in_initcode_to_existing_contract_with_value_transfer.py @@ -1,9 +1,8 @@ """ -callcode inside create/create2 contract init to existing contract. +Callcode inside create/create2 contract init to existing contract. Ported from: -tests/static/state_tests/stCallCodes -callcodeInInitcodeToExistingContractWithValueTransferFiller.json +state_tests/stCallCodes/callcodeInInitcodeToExistingContractWithValueTransferFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCodes/callcodeInInitcodeToExistingContractWithValueTransferFiller.json", # noqa: E501 + "state_tests/stCallCodes/callcodeInInitcodeToExistingContractWithValueTransferFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +35,9 @@ def test_callcode_in_initcode_to_existing_contract_with_value_transfer( pre: Alloc, ) -> None: """Callcode inside create/create2 contract init to existing contract.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) + contract_1 = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,43 +51,42 @@ def test_callcode_in_initcode_to_existing_contract_with_value_transfer( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6040600060406000600573945304eb96065b2a98b57a48a06ae28d285a71b562) (MSTORE 32 0x0186a0f260005500000000000000000000000000000000000000000000000000) (CREATE 5 0 64) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6040600060406000600573945304EB96065B2A98B57A48A06AE28D285A71B562, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x186A0F260005500000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.CREATE(value=0x5, offset=0x0, size=0x40) - + Op.STOP - ), - balance=0x2710, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x6040600060406000600573945304EB96065B2A98B57A48A06AE28D285A71B562, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x186A0F260005500000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.CREATE(value=0x5, offset=0x0, size=0x40) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SSTORE 2 1) } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, nonce=0, - address=Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5"), # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0x2386F26FC10000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=453081, ) post = { - Address("0x13136008b64ff592819b2fa6d43f2835c452020e"): Account( - storage={0: 1, 2: 1}, + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 1, 2: 1}, balance=5 ), } diff --git a/tests/ported_static/stCallCodes/test_callcodecall_10.py b/tests/ported_static/stCallCodes/test_callcodecall_10.py index 6f522323cb9..f00336ab22f 100644 --- a/tests/ported_static/stCallCodes/test_callcodecall_10.py +++ b/tests/ported_static/stCallCodes/test_callcodecall_10.py @@ -1,8 +1,8 @@ """ -callcode -> call -> code, params check. +Callcode -> call -> code, params check. Ported from: -tests/static/state_tests/stCallCodes/callcodecall_10Filler.json +state_tests/stCallCodes/callcodecall_10Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcodecall_10Filler.json"], + ["state_tests/stCallCodes/callcodecall_10Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_callcodecall_10( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Callcode -> call -> code, params check.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Callcode -> call -> code, params check .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,73 +46,73 @@ def test_callcodecall_10( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0xE6, value=Op.ADDRESS) - + Op.SSTORE(key=0xE8, value=Op.ORIGIN) - + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0xEE, value=Op.CODESIZE) - + Op.SSTORE(key=0xF0, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0xC3E151E887921D1EDB46AAE9B4A3FFC5B85E2A89, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb096eca04cd5c92c88ba466f92627d4f04d53c95"), # noqa: E501 + address=Address(0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x3D090, - address=0xB096ECA04CD5C92C88BA466F92627D4F04D53C95, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 250000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x3D090, + address=0xB096ECA04CD5C92C88BA466F92627D4F04D53C95, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc3e151e887921d1edb46aae9b4a3ffc5b85e2a89"), # noqa: E501 + address=Address(0xC3E151E887921D1EDB46AAE9B4A3FFC5B85E2A89), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0xC3E151E887921D1EDB46AAE9B4A3FFC5B85E2A89, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0xE6, value=Op.ADDRESS) + + Op.SSTORE(key=0xE8, value=Op.ORIGIN) + + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0xEE, value=Op.CODESIZE) + + Op.SSTORE(key=0xF0, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xdb43306b16c521b9cc3667fbe7d1b697bb1f9605"), # noqa: E501 + address=Address(0xB096ECA04CD5C92C88BA466F92627D4F04D53C95), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + target: Account(storage={0: 1, 1: 1}), + addr_2: Account( storage={ 2: 1, 4: 0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605, @@ -123,7 +124,6 @@ def test_callcodecall_10( 240: 10, }, ), - contract: Account(storage={0: 1, 1: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecall_10_ooge.py b/tests/ported_static/stCallCodes/test_callcodecall_10_ooge.py index 50b217e179a..63ff2db291d 100644 --- a/tests/ported_static/stCallCodes/test_callcodecall_10_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcodecall_10_ooge.py @@ -1,8 +1,8 @@ """ -callcode -> call -> code oog. +Callcode -> call -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcodecall_10_OOGEFiller.json +state_tests/stCallCodes/callcodecall_10_OOGEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcodecall_10_OOGEFiller.json"], + ["state_tests/stCallCodes/callcodecall_10_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_callcodecall_10_ooge( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Callcode -> call -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Callcode -> call -> code oog .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,67 +46,68 @@ def test_callcodecall_10_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x766B2CF0691F51029181FC511395B7AB71353A88, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x471072d55a5a95044c2326f0e94a6d8df5b8089e"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x766B2CF0691F51029181FC511395B7AB71353A88, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x766b2cf0691f51029181fc511395b7ab71353a88"), # noqa: E501 + address=Address(0x471072D55A5A95044C2326F0E94A6D8DF5B8089E), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x766B2CF0691F51029181FC511395B7AB71353A88), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecall_10_suicide_end.py b/tests/ported_static/stCallCodes/test_callcodecall_10_suicide_end.py index 2aef2ab9254..8db6fa27f1e 100644 --- a/tests/ported_static/stCallCodes/test_callcodecall_10_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcodecall_10_suicide_end.py @@ -2,7 +2,7 @@ CALLCODE -> (CALL -> code) (suicide). Ported from: -tests/static/state_tests/stCallCodes/callcodecall_10_SuicideEndFiller.json +state_tests/stCallCodes/callcodecall_10_SuicideEndFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecall_10_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecall_10_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecall_10_suicide_end( pre: Alloc, ) -> None: """CALLCODE -> (CALL -> code) (suicide).""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,68 +46,67 @@ def test_callcodecall_10_suicide_end( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x703b936fd4d674f0ff5d6957f61097152f8781b8"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xF741CFEE7B7FB1025DCCEF3DB5A3CBC8FFB776F8, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xF741CFEE7B7FB1025DCCEF3DB5A3CBC8FFB776F8, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xC350, - address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64 - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xC350, + address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xf741cfee7b7fb1025dccef3db5a3cbc8ffb776f8"), # noqa: E501 + address=Address(0xF741CFEE7B7FB1025DCCEF3DB5A3CBC8FFB776F8), # noqa: E501 ) + # Source: lll + # { (SSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x703B936FD4D674F0FF5D6957F61097152F8781B8), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account(storage={2: 1}), - contract: Account(storage={0: 1, 1: 1}), + addr: Account(storage={0: 0, 1: 0}, balance=0x2540BE400), + addr_2: Account(storage={2: 1}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcall_100.py b/tests/ported_static/stCallCodes/test_callcodecallcall_100.py index 2d679c7c4f1..f613d36220a 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcall_100.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcall_100.py @@ -2,7 +2,7 @@ CALLCODE -> CALL -> CALL-> code, params check. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcall_100Filler.json +state_tests/stCallCodes/callcodecallcall_100Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcodecallcall_100Filler.json"], + ["state_tests/stCallCodes/callcodecallcall_100Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_callcodecallcall_100( pre: Alloc, ) -> None: """CALLCODE -> CALL -> CALL-> code, params check.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,94 +46,94 @@ def test_callcodecallcall_100( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - value=0x3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x9073671D2BFB351331716FD279282EACF50824AD, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x62441cbe78aa4a4244e084d4f86098e31dced749"), # noqa: E501 + address=Address(0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 300000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x493E0, + address=0x62441CBE78AA4A4244E084D4F86098E31DCED749, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0x9073671D2BFB351331716FD279282EACF50824AD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x493E0, - address=0x62441CBE78AA4A4244E084D4F86098E31DCED749, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 250000 3 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + value=0x3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9073671d2bfb351331716fd279282eacf50824ad"), # noqa: E501 + address=Address(0x62441CBE78AA4A4244E084D4F86098E31DCED749), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x9073671D2BFB351331716FD279282EACF50824AD, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xdb43306b16c521b9cc3667fbe7d1b697bb1f9605"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account(storage={2: 1}), - callee_1: Account( + target: Account(storage={0: 1, 1: 1}), + addr_2: Account(storage={2: 1}), + addr_3: Account( storage={ 3: 1, 4: 0x62441CBE78AA4A4244E084D4F86098E31DCED749, @@ -144,7 +145,6 @@ def test_callcodecallcall_100( 340: 10, }, ), - contract: Account(storage={0: 1, 1: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcall_100_ooge.py b/tests/ported_static/stCallCodes/test_callcodecallcall_100_ooge.py index 545721043d1..d5c14cc93b9 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcall_100_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcall_100_ooge.py @@ -1,8 +1,8 @@ """ -callcode -> call -> call -> code oog. +Callcode -> call -> call -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcall_100_OOGEFiller.json +state_tests/stCallCodes/callcodecallcall_100_OOGEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcall_100_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcall_100_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecallcall_100_ooge( pre: Alloc, ) -> None: """Callcode -> call -> call -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,87 +46,88 @@ def test_callcodecallcall_100_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x8232556DC6A7EED9EBE5B86C640A52AADF2C29AF, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x8232556dc6a7eed9ebe5b86c640a52aadf2c29af"), # noqa: E501 + address=Address(0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) [[ 11 ]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x8232556DC6A7EED9EBE5B86C640A52AADF2C29AF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x8232556DC6A7EED9EBE5B86C640A52AADF2C29AF, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xbbdce54b3c571b853032cb3a637e8f5b81dbaf0d"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - callee_1: Account(storage={11: 1}), - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={}), + addr_2: Account(storage={11: 1}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcall_100_oogm_after.py b/tests/ported_static/stCallCodes/test_callcodecallcall_100_oogm_after.py index 0239d34997e..d022528f8e1 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcall_100_oogm_after.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcall_100_oogm_after.py @@ -1,8 +1,8 @@ """ -callcode -> (call -> call -> code) oog. +Callcode -> (call -> call -> code) oog. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcall_100_OOGMAfterFiller.json +state_tests/stCallCodes/callcodecallcall_100_OOGMAfterFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcall_100_OOGMAfterFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcall_100_OOGMAfterFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecallcall_100_oogm_after( pre: Alloc, ) -> None: """Callcode -> (call -> call -> code) oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,83 +46,87 @@ def test_callcodecallcall_100_oogm_after( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0xB5D1A486869D27225126C47727513F57D329A01A, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0xB5D1A486869D27225126C47727513F57D329A01A, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x400347dada8c51a2aac4b4c31ae726ba8551e2b9"), # noqa: E501 + address=Address(0x400347DADA8C51A2AAC4B4C31AE726BA8551E2B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x8d7270785422b63a97d83bada6aac80bebc3a99d"), # noqa: E501 + address=Address(0xB5D1A486869D27225126C47727513F57D329A01A), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb5d1a486869d27225126c47727513f57d329a01a"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcall_100_oogm_before.py b/tests/ported_static/stCallCodes/test_callcodecallcall_100_oogm_before.py index 5a093e2db2b..b598b08b48b 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcall_100_oogm_before.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcall_100_oogm_before.py @@ -1,8 +1,8 @@ """ -callcode -> call -> oog call -> code. +Callcode -> call -> oog call -> code. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcall_100_OOGMBeforeFiller.json +state_tests/stCallCodes/callcodecallcall_100_OOGMBeforeFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcall_100_OOGMBeforeFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcall_100_OOGMBeforeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcodecallcall_100_oogm_before( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Callcode -> call -> oog call -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Callcode -> call -> oog call -> code .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,83 +46,87 @@ def test_callcodecallcall_100_oogm_before( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x4A780315E172DB6C0A08FE70FF4362B0E061B668, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x471072d55a5a95044c2326f0e94a6d8df5b8089e"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x4A780315E172DB6C0A08FE70FF4362B0E061B668, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x4a780315e172db6c0a08fe70ff4362b0e061b668"), # noqa: E501 + address=Address(0x471072D55A5A95044C2326F0E94A6D8DF5B8089E), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x4A780315E172DB6C0A08FE70FF4362B0E061B668), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcall_100_suicide_end.py b/tests/ported_static/stCallCodes/test_callcodecallcall_100_suicide_end.py index 4c16f34e68f..3f11ed553b6 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcall_100_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcall_100_suicide_end.py @@ -2,7 +2,7 @@ CALLCODE -> CALL -> (CALL-> code) (suicide). Ported from: -tests/static/state_tests/stCallCodes/callcodecallcall_100_SuicideEndFiller.json +state_tests/stCallCodes/callcodecallcall_100_SuicideEndFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcall_100_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcall_100_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecallcall_100_suicide_end( pre: Alloc, ) -> None: """CALLCODE -> CALL -> (CALL-> code) (suicide).""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,89 +46,88 @@ def test_callcodecallcall_100_suicide_end( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 2 ]] (CALL 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0xD957E143AD2C011BC6A2B142795F1A9BA70D0680), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xd957e143ad2c011bc6a2b142795f1a9ba70d0680"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account(storage={3: 1}), - contract: Account(storage={0: 1, 1: 1}), - callee_2: Account(storage={2: 1}), + target: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B3A7640000), + addr: Account(storage={2: 0}, balance=0x4A817C800), + addr_3: Account(storage={3: 1}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcall_100_suicide_middle.py b/tests/ported_static/stCallCodes/test_callcodecallcall_100_suicide_middle.py index 17a8843e62f..98c839bd1a6 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcall_100_suicide_middle.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcall_100_suicide_middle.py @@ -2,8 +2,7 @@ CALLCODE -> CALL -> (suicide) CALL-> code. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcall_100_SuicideMiddleFiller.json +state_tests/stCallCodes/callcodecallcall_100_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcall_100_SuicideMiddleFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcall_100_SuicideMiddleFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcodecallcall_100_suicide_middle( pre: Alloc, ) -> None: """CALLCODE -> CALL -> (suicide) CALL-> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +46,89 @@ def test_callcodecallcall_100_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALL 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0xAC90BB4611B91D4C6292BD64E8656110822E01ED), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac90bb4611b91d4c6292bd64e8656110822e01ed"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B5FB6FE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcall_abcb_recursive.py b/tests/ported_static/stCallCodes/test_callcodecallcall_abcb_recursive.py index 5e416e875eb..8a2c8759e19 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcall_abcb_recursive.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcall_abcb_recursive.py @@ -2,7 +2,7 @@ CALLCODE -> CALL <-> CALL. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcall_ABCB_RECURSIVEFiller.json +state_tests/stCallCodes/callcodecallcall_ABCB_RECURSIVEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcall_ABCB_RECURSIVEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcall_ABCB_RECURSIVEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecallcall_abcb_recursive( pre: Alloc, ) -> None: """CALLCODE -> CALL <-> CALL.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,78 +46,79 @@ def test_callcodecallcall_abcb_recursive( gas_limit=3000000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xF4240, - address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x66c0d9f841a86866465e6385c3827be02b580020"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x17D7840, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x17D7840, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6d477a21d3906d4c0cd1edbfa7d272e6e21f1ca1"), # noqa: E501 + address=Address(0x6D477A21D3906D4C0CD1EDBFA7D272E6E21F1CA1), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALL 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xF4240, + address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x66C0D9F841A86866465E6385C3827BE02B580020), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x7A120, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x7A120, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x91a8703c1bef34c1e76e152c1f7fb8c336c3be24"), # noqa: E501 + address=Address(0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101.py b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101.py index 4952fe7c3cd..e73fc0219ec 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101.py @@ -2,7 +2,7 @@ CALLCODE -> CALL -> CALLCODE -> code parameters check. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcallcode_101Filler.json +state_tests/stCallCodes/callcodecallcallcode_101Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcallcode_101Filler.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcallcode_101Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecallcallcode_101( pre: Alloc, ) -> None: """CALLCODE -> CALL -> CALLCODE -> code parameters check.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,93 +46,93 @@ def test_callcodecallcallcode_101( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x3D090, - address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, - value=0x3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x9073671D2BFB351331716FD279282EACF50824AD, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0ffffaeb931552e5f094ca96a70be612da56b887"), # noqa: E501 + address=Address(0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 300000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x493E0, + address=0xFFFFAEB931552E5F094CA96A70BE612DA56B887, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x181b4ed322e192361633cc3c0a418f259ab0cf4b"), # noqa: E501 + address=Address(0x9073671D2BFB351331716FD279282EACF50824AD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x493E0, - address=0xFFFFAEB931552E5F094CA96A70BE612DA56B887, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 250000 3 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x3D090, + address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, + value=0x3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9073671d2bfb351331716fd279282eacf50824ad"), # noqa: E501 + address=Address(0x0FFFFAEB931552E5F094CA96A70BE612DA56B887), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x9073671D2BFB351331716FD279282EACF50824AD, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xdb43306b16c521b9cc3667fbe7d1b697bb1f9605"), # noqa: E501 + address=Address(0x181B4ED322E192361633CC3C0A418F259AB0CF4B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + target: Account(storage={0: 1, 1: 1}), + addr_2: Account( storage={ 2: 1, 3: 1, @@ -146,7 +145,6 @@ def test_callcodecallcallcode_101( 340: 10, }, ), - contract: Account(storage={0: 1, 1: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_ooge.py b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_ooge.py index 757105e300a..9aa2eaf0700 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_ooge.py @@ -1,8 +1,8 @@ """ -callcode -> call -> callcode -> code oog. +Callcode -> call -> callcode -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcallcode_101_OOGEFiller.json +state_tests/stCallCodes/callcodecallcallcode_101_OOGEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcallcode_101_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcallcode_101_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecallcallcode_101_ooge( pre: Alloc, ) -> None: """Callcode -> call -> callcode -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,87 +46,88 @@ def test_callcodecallcallcode_101_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x3568EC0DDA63B253E338FBC4990869FD168AB515, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x3568ec0dda63b253e338fbc4990869fd168ab515"), # noqa: E501 + address=Address(0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) [[11]] 1} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x3568EC0DDA63B253E338FBC4990869FD168AB515), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x3568EC0DDA63B253E338FBC4990869FD168AB515, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xbbdce54b3c571b853032cb3a637e8f5b81dbaf0d"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - callee_1: Account(storage={11: 1}), - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={}), + addr_2: Account(storage={11: 1}), + addr_3: Account(storage={3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_oogm_after.py b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_oogm_after.py index 85533603c9a..9cb13642b85 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_oogm_after.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_oogm_after.py @@ -1,9 +1,8 @@ """ -callcode -> call oog -> callcode -> code. +Callcode -> call oog -> callcode -> code. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcallcode_101_OOGMAfterFiller.json +state_tests/stCallCodes/callcodecallcallcode_101_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcallcode_101_OOGMAfterFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcallcode_101_OOGMAfterFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcodecallcallcode_101_oogm_after( pre: Alloc, ) -> None: """Callcode -> call oog -> callcode -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +46,87 @@ def test_callcodecallcallcode_101_oogm_after( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0xB5D1A486869D27225126C47727513F57D329A01A, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0xB5D1A486869D27225126C47727513F57D329A01A, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x400347dada8c51a2aac4b4c31ae726ba8551e2b9"), # noqa: E501 + address=Address(0x400347DADA8C51A2AAC4B4C31AE726BA8551E2B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x926DFBCC20B2AB686FC85331883541D174CCC738, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x926dfbcc20b2ab686fc85331883541d174ccc738"), # noqa: E501 + address=Address(0xB5D1A486869D27225126C47727513F57D329A01A), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x926DFBCC20B2AB686FC85331883541D174CCC738), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x926DFBCC20B2AB686FC85331883541D174CCC738, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb5d1a486869d27225126c47727513f57d329a01a"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_oogm_before.py b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_oogm_before.py index a38fe5010fb..8b49a1bf1c3 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_oogm_before.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_oogm_before.py @@ -1,9 +1,8 @@ """ -callcode -> call -> oog callcode -> code. +Callcode -> call -> oog callcode -> code. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcallcode_101_OOGMBeforeFiller.json +state_tests/stCallCodes/callcodecallcallcode_101_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcallcode_101_OOGMBeforeFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcallcode_101_OOGMBeforeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcodecallcallcode_101_oogm_before( pre: Alloc, ) -> None: """Callcode -> call -> oog callcode -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +46,87 @@ def test_callcodecallcallcode_101_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0xCECED485B74F13EAFA913073424DC443A976CF14, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0xCECED485B74F13EAFA913073424DC443A976CF14, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xCECED485B74F13EAFA913073424DC443A976CF14), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xceced485b74f13eafa913073424dc443a976cf14"), # noqa: E501 + address=Address(0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xdbb53599a5d13e0c465e1cc4ff24d7f00d780df4"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_suicide_end.py b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_suicide_end.py index b66c589cdff..b3e2e6d7eb6 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_suicide_end.py @@ -2,8 +2,7 @@ CALLCODE -> CALL -> (CALLCODE -> code) (suicide). Ported from: -tests/static/state_tests/stCallCodes -callcodecallcallcode_101_SuicideEndFiller.json +state_tests/stCallCodes/callcodecallcallcode_101_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcallcode_101_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcallcode_101_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcodecallcallcode_101_suicide_end( pre: Alloc, ) -> None: """CALLCODE -> CALL -> (CALLCODE -> code) (suicide).""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,88 +46,87 @@ def test_callcodecallcallcode_101_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879 - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x94c8f980aeecbb6575b12ae614a249fc3e836f21"), # noqa: E501 + address=Address(0x94C8F980AEECBB6575B12AE614A249FC3E836F21), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee_2: Account(storage={2: 1, 3: 1}), - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={2: 0}, balance=0x4A817C800), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_suicide_middle.py b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_suicide_middle.py index dec91ccf7d5..c3be0d60442 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_suicide_middle.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcallcode_101_suicide_middle.py @@ -2,8 +2,7 @@ CALLCODE -> CALL -> (suicide) CALLCODE -> code. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcallcode_101_SuicideMiddleFiller.json +state_tests/stCallCodes/callcodecallcallcode_101_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCodes/callcodecallcallcode_101_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallCodes/callcodecallcallcode_101_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,11 @@ def test_callcodecallcallcode_101_suicide_middle( pre: Alloc, ) -> None: """CALLCODE -> CALL -> (suicide) CALLCODE -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000001) + contract_2 = Address(0x1000000000000000000000000000000000000002) + contract_3 = Address(0x1000000000000000000000000000000000000003) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,91 +52,90 @@ def test_callcodecallcallcode_101_suicide_middle( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x1000000000000000000000000000000000000001, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x1000000000000000000000000000000000000001, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[ 1 ]] (CALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0x1000000000000000000000000000000000000002, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0x1000000000000000000000000000000000000002, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x1000000000000000000000000000000000000000) [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) } # noqa: E501 - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x1000000000000000000000000000000000000000) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x1000000000000000000000000000000000000003, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x1000000000000000000000000000000000000000 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x1000000000000000000000000000000000000003, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1000000000000000000000000000000000000002"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000002), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SSTORE 3 1) } - pre.deploy_contract( + contract_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1000000000000000000000000000000000000003"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000003), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + contract_0: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B5FB6FE400), + contract_1: Account(storage={2: 0, 3: 0}, balance=0x2540BE400), + contract_3: Account(storage={2: 0, 3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcallcode_abcb_recursive.py b/tests/ported_static/stCallCodes/test_callcodecallcallcode_abcb_recursive.py index b5fbc5de41f..981396950fa 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcallcode_abcb_recursive.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcallcode_abcb_recursive.py @@ -2,8 +2,7 @@ CALLCODE -> CALL <-> CALLCODE. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallCodes/callcodecallcallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcallcode_ABCB_RECURSIVEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcodecallcallcode_abcb_recursive( pre: Alloc, ) -> None: """CALLCODE -> CALL <-> CALLCODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,78 +46,79 @@ def test_callcodecallcallcode_abcb_recursive( gas_limit=3000000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xF4240, - address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x66c0d9f841a86866465e6385c3827be02b580020"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x17D7840, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x17D7840, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6d477a21d3906d4c0cd1edbfa7d272e6e21f1ca1"), # noqa: E501 + address=Address(0x6D477A21D3906D4C0CD1EDBFA7D272E6E21F1CA1), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALL 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xF4240, + address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x66C0D9F841A86866465E6385C3827BE02B580020), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x7A120, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x7A120, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa71333d8c0291cfd6da54bec5a3957563ab16c1c"), # noqa: E501 + address=Address(0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcode_11.py b/tests/ported_static/stCallCodes/test_callcodecallcode_11.py index ec5801b5ce6..3109a855d6d 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcode_11.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcode_11.py @@ -2,7 +2,7 @@ CALLCODE -> CALLCODE -> code, check parameters. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcode_11Filler.json +state_tests/stCallCodes/callcodecallcode_11Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCallCodes/callcodecallcode_11Filler.json"], + ["state_tests/stCallCodes/callcodecallcode_11Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_callcodecallcode_11( pre: Alloc, ) -> None: """CALLCODE -> CALLCODE -> code, check parameters.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,73 +46,72 @@ def test_callcodecallcode_11( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x3D090, - address=0xB096ECA04CD5C92C88BA466F92627D4F04D53C95, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x69142B38329C92930601FE8DA12DC5866CDE11C3, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x69142b38329c92930601fe8da12dc5866cde11c3"), # noqa: E501 + address=Address(0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0xE6, value=Op.ADDRESS) - + Op.SSTORE(key=0xE8, value=Op.ORIGIN) - + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0xEE, value=Op.CODESIZE) - + Op.SSTORE(key=0xF0, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 250000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x3D090, + address=0xB096ECA04CD5C92C88BA466F92627D4F04D53C95, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb096eca04cd5c92c88ba466f92627d4f04d53c95"), # noqa: E501 + address=Address(0x69142B38329C92930601FE8DA12DC5866CDE11C3), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x69142B38329C92930601FE8DA12DC5866CDE11C3, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0xE6, value=Op.ADDRESS) + + Op.SSTORE(key=0xE8, value=Op.ORIGIN) + + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0xEE, value=Op.CODESIZE) + + Op.SSTORE(key=0xF0, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xdb43306b16c521b9cc3667fbe7d1b697bb1f9605"), # noqa: E501 + address=Address(0xB096ECA04CD5C92C88BA466F92627D4F04D53C95), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, diff --git a/tests/ported_static/stCallCodes/test_callcodecallcode_11_ooge.py b/tests/ported_static/stCallCodes/test_callcodecallcode_11_ooge.py index ab3c1547eac..c6f00447617 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcode_11_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcode_11_ooge.py @@ -1,8 +1,8 @@ """ -callcode -> callcode -> code oog. +Callcode -> callcode -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcode_11_OOGEFiller.json +state_tests/stCallCodes/callcodecallcode_11_OOGEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcode_11_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcode_11_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecallcode_11_ooge( pre: Alloc, ) -> None: """Callcode -> callcode -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,67 +46,68 @@ def test_callcodecallcode_11_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x766b2cf0691f51029181fc511395b7ab71353a88"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x766B2CF0691F51029181FC511395B7AB71353A88, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x766B2CF0691F51029181FC511395B7AB71353A88, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x8e6e134402f2eeca8e910e8ec62b45b36ee31f30"), # noqa: E501 + address=Address(0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x766B2CF0691F51029181FC511395B7AB71353A88), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcode_11_suicide_end.py b/tests/ported_static/stCallCodes/test_callcodecallcode_11_suicide_end.py index a654cee7697..c51aa95a6fd 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcode_11_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcode_11_suicide_end.py @@ -2,7 +2,7 @@ CALLCODE -> (CALLCODE -> code) selfdestruct. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcode_11_SuicideEndFiller.json +state_tests/stCallCodes/callcodecallcode_11_SuicideEndFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcode_11_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcode_11_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecallcode_11_suicide_end( pre: Alloc, ) -> None: """CALLCODE -> (CALLCODE -> code) selfdestruct.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,67 +46,67 @@ def test_callcodecallcode_11_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x799DA5A3C983A22F9C430DE1BF99134EE561E856, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x703b936fd4d674f0ff5d6957f61097152f8781b8"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xC350, - address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64 - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xC350, + address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x799da5a3c983a22f9c430de1bf99134ee561e856"), # noqa: E501 + address=Address(0x799DA5A3C983A22F9C430DE1BF99134EE561E856), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x799DA5A3C983A22F9C430DE1BF99134EE561E856, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0x703B936FD4D674F0FF5D6957F61097152F8781B8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1}), + addr: Account(storage={0: 0, 1: 0}, balance=0x2540BE400), + addr_2: Account(storage={2: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110.py b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110.py index dc8d69aa2f5..d6c5a55057e 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110.py @@ -2,7 +2,7 @@ CALLCODE -> CALLCODE -> CALL -> code, check parameters. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcodecall_110Filler.json +state_tests/stCallCodes/callcodecallcodecall_110Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcodecall_110Filler.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcodecall_110Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecallcodecall_110( pre: Alloc, ) -> None: """CALLCODE -> CALLCODE -> CALL -> code, check parameters.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,93 +46,93 @@ def test_callcodecallcodecall_110( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x181b4ed322e192361633cc3c0a418f259ab0cf4b"), # noqa: E501 + address=Address(0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x493E0, - address=0x62441CBE78AA4A4244E084D4F86098E31DCED749, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 300000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x493E0, + address=0x62441CBE78AA4A4244E084D4F86098E31DCED749, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4c0de71b93de6b7055a3686e4bf93add02b39ed8"), # noqa: E501 + address=Address(0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x3D090, - address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, - value=0x3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 250000 3 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x3D090, + address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, + value=0x3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x62441cbe78aa4a4244e084d4f86098e31dced749"), # noqa: E501 + address=Address(0x62441CBE78AA4A4244E084D4F86098E31DCED749), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xdb43306b16c521b9cc3667fbe7d1b697bb1f9605"), # noqa: E501 + address=Address(0x181B4ED322E192361633CC3C0A418F259AB0CF4B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + target: Account(storage={0: 1, 1: 1, 2: 1}), + addr_3: Account( storage={ 3: 1, 4: 0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605, @@ -145,7 +144,6 @@ def test_callcodecallcodecall_110( 340: 10, }, ), - contract: Account(storage={0: 1, 1: 1, 2: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_ooge.py b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_ooge.py index d19654891f2..c7eecb6d462 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_ooge.py @@ -1,8 +1,8 @@ """ -callcode -> callcode -> call -> code oog. +Callcode -> callcode -> call -> code oog. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcodecall_110_OOGEFiller.json +state_tests/stCallCodes/callcodecallcodecall_110_OOGEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcodecall_110_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcodecall_110_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecallcodecall_110_ooge( pre: Alloc, ) -> None: """Callcode -> callcode -> call -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,86 +46,88 @@ def test_callcodecallcodecall_110_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0xDB067DDF10E702A0CDCAA489117330E5395155CB, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0xDB067DDF10E702A0CDCAA489117330E5395155CB, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x913cf7a18f61bab7bccf5607dfa9b730c5976000"), # noqa: E501 + address=Address(0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0xDB067DDF10E702A0CDCAA489117330E5395155CB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xdb067ddf10e702a0cdcaa489117330e5395155cb"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 11: 1}), + target: Account(storage={0: 1, 1: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_oogm_after.py b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_oogm_after.py index 6e1b455983c..2404fb708f9 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_oogm_after.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_oogm_after.py @@ -1,9 +1,8 @@ """ -callcode -> callcode (oog) -> call -> code. +Callcode -> callcode (oog) -> call -> code. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcodecall_110_OOGMAfterFiller.json +state_tests/stCallCodes/callcodecallcodecall_110_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcodecall_110_OOGMAfterFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcodecall_110_OOGMAfterFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcodecallcodecall_110_oogm_after( pre: Alloc, ) -> None: """Callcode -> callcode (oog) -> call -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +46,87 @@ def test_callcodecallcodecall_110_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x83B7D129B58AB5315B795F9A8D34294EC60C9D63, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x37e72dd6ff3c2ac8c1ddab092a26164a2ad5988c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x400347dada8c51a2aac4b4c31ae726ba8551e2b9"), # noqa: E501 + address=Address(0x400347DADA8C51A2AAC4B4C31AE726BA8551E2B9), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x83B7D129B58AB5315B795F9A8D34294EC60C9D63, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, + nonce=0, + address=Address(0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x83b7d129b58ab5315b795f9a8d34294ec60c9d63"), # noqa: E501 + address=Address(0x83B7D129B58AB5315B795F9A8D34294EC60C9D63), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_oogm_before.py b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_oogm_before.py index d76c45fc4f6..4594be6a819 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_oogm_before.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_oogm_before.py @@ -1,9 +1,8 @@ """ -callcode -> callcode -> (oog) call -> code. +Callcode -> callcode -> (oog) call -> code. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcodecall_110_OOGMBeforeFiller.json +state_tests/stCallCodes/callcodecallcodecall_110_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcodecall_110_OOGMBeforeFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcodecall_110_OOGMBeforeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcodecallcodecall_110_oogm_before( pre: Alloc, ) -> None: """Callcode -> callcode -> (oog) call -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +46,87 @@ def test_callcodecallcodecall_110_oogm_before( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x51a61d678ec27711369c527e5d42a9de66a5727f"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x51A61D678EC27711369C527E5D42A9DE66A5727F, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x51A61D678EC27711369C527E5D42A9DE66A5727F, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x8e6e134402f2eeca8e910e8ec62b45b36ee31f30"), # noqa: E501 + address=Address(0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x51A61D678EC27711369C527E5D42A9DE66A5727F), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_suicide_end.py b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_suicide_end.py index 75609247603..50518f7770f 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_suicide_end.py @@ -2,8 +2,7 @@ CALLCODE -> CALLCODE -> (CALL -> code) (suicide). Ported from: -tests/static/state_tests/stCallCodes -callcodecallcodecall_110_SuicideEndFiller.json +state_tests/stCallCodes/callcodecallcodecall_110_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcodecall_110_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcodecall_110_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_callcodecallcodecall_110_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """CALLCODE -> CALLCODE -> (CALL -> code) (suicide).""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CALLCODE -> CALLCODE -> (CALL -> code) (suicide) .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,88 +46,87 @@ def test_callcodecallcodecall_110_suicide_end( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xd957e143ad2c011bc6a2b142795f1a9ba70d0680"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0xD957E143AD2C011BC6A2B142795F1A9BA70D0680), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account(storage={3: 1}), - contract: Account(storage={0: 1, 1: 1, 2: 1}), + addr: Account(balance=0xDE0B6B5FB6FE400), + addr_3: Account(storage={3: 1}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_suicide_middle.py b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_suicide_middle.py index 8e629040ceb..7ee840b9663 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_suicide_middle.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecall_110_suicide_middle.py @@ -2,8 +2,7 @@ CALLCODE -> CALLCODE -> (suicide) CALL -> code. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcodecall_110_SuicideMiddleFiller.json +state_tests/stCallCodes/callcodecallcodecall_110_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCodes/callcodecallcodecall_110_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallCodes/callcodecallcodecall_110_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecall_110_suicide_middle( pre: Alloc, ) -> None: """CALLCODE -> CALLCODE -> (suicide) CALL -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,90 @@ def test_callcodecallcodecall_110_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac90bb4611b91d4c6292bd64e8656110822e01ed"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALL 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0xAC90BB4611B91D4C6292BD64E8656110822E01ED), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + addr: Account(storage={0: 0, 1: 0, 2: 0}, balance=0x2540BE400), + addr_2: Account(storage={3: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecall_abcb_recursive.py b/tests/ported_static/stCallCodes/test_callcodecallcodecall_abcb_recursive.py index f8c2bca0bb3..ed3259ddce9 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecall_abcb_recursive.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecall_abcb_recursive.py @@ -2,8 +2,7 @@ CALLCODE -> CALLCODE <-> CALL. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcodecall_ABCB_RECURSIVEFiller.json +state_tests/stCallCodes/callcodecallcodecall_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcodecall_ABCB_RECURSIVEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcodecall_ABCB_RECURSIVEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_callcodecallcodecall_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """CALLCODE -> CALLCODE <-> CALL.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CALLCODE -> CALLCODE <-> CALL .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,78 +46,79 @@ def test_callcodecallcodecall_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x17D7840, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x17D7840, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6d477a21d3906d4c0cd1edbfa7d272e6e21f1ca1"), # noqa: E501 + address=Address(0x6D477A21D3906D4C0CD1EDBFA7D272E6E21F1CA1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x7A120, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xF4240, + address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x91a8703c1bef34c1e76e152c1f7fb8c336c3be24"), # noqa: E501 + address=Address(0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xF4240, - address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x7A120, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe2ab9779f4fb1d9d39211cc2082083add172e69c"), # noqa: E501 + address=Address(0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111.py b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111.py index cf75d18ab78..80d01c74f5e 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111.py @@ -2,7 +2,7 @@ CALLCODE -> CALLCODE -> CALLCODE -> code check parameter opcodes. Ported from: -tests/static/state_tests/stCallCodes/callcodecallcodecallcode_111Filler.json +state_tests/stCallCodes/callcodecallcodecallcode_111Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcodecallcode_111Filler.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcodecallcode_111Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcodecallcodecallcode_111( pre: Alloc, ) -> None: """CALLCODE -> CALLCODE -> CALLCODE -> code check parameter opcodes.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,93 +46,92 @@ def test_callcodecallcodecallcode_111( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - value=0x3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0ffffaeb931552e5f094ca96a70be612da56b887"), # noqa: E501 + address=Address(0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x493E0, - address=0xFFFFAEB931552E5F094CA96A70BE612DA56B887, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 300000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x493E0, + address=0xFFFFAEB931552E5F094CA96A70BE612DA56B887, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4c0de71b93de6b7055a3686e4bf93add02b39ed8"), # noqa: E501 + address=Address(0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 250000 3 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + value=0x3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0x0FFFFAEB931552E5F094CA96A70BE612DA56B887), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xdb43306b16c521b9cc3667fbe7d1b697bb1f9605"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_ooge.py b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_ooge.py index c33bd2a9bdd..09bbf7ae59f 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_ooge.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_ooge.py @@ -1,9 +1,8 @@ """ -callcode -> callcode -> callcode -> code oog. +Callcode -> callcode -> callcode -> code oog. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcodecallcode_111_OOGEFiller.json +state_tests/stCallCodes/callcodecallcodecallcode_111_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCodes/callcodecallcodecallcode_111_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCodes/callcodecallcodecallcode_111_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcodecallcodecallcode_111_ooge( pre: Alloc, ) -> None: """Callcode -> callcode -> callcode -> code oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +46,88 @@ def test_callcodecallcodecallcode_111_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x6322dc554acdcada01cbf7ac6a163d207c34ded2"), # noqa: E501 + address=Address(0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x913cf7a18f61bab7bccf5607dfa9b730c5976000"), # noqa: E501 + address=Address(0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 11: 1}), + target: Account(storage={0: 1, 1: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_oogm_after.py b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_oogm_after.py index 87256c3596f..6179c11c429 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_oogm_after.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_oogm_after.py @@ -1,9 +1,8 @@ """ -callcode -> (callcode -> callcode -> code) oog. +Callcode -> (callcode -> callcode -> code) oog. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcodecallcode_111_OOGMAfterFiller.json +state_tests/stCallCodes/callcodecallcodecallcode_111_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCodes/callcodecallcodecallcode_111_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallCodes/callcodecallcodecallcode_111_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecallcode_111_oogm_after( pre: Alloc, ) -> None: """Callcode -> (callcode -> callcode -> code) oog.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +48,87 @@ def test_callcodecallcodecallcode_111_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x926DFBCC20B2AB686FC85331883541D174CCC738, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x37e72dd6ff3c2ac8c1ddab092a26164a2ad5988c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x400347dada8c51a2aac4b4c31ae726ba8551e2b9"), # noqa: E501 + address=Address(0x400347DADA8C51A2AAC4B4C31AE726BA8551E2B9), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x926DFBCC20B2AB686FC85331883541D174CCC738, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, + nonce=0, + address=Address(0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x926dfbcc20b2ab686fc85331883541d174ccc738"), # noqa: E501 + address=Address(0x926DFBCC20B2AB686FC85331883541D174CCC738), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_oogm_before.py b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_oogm_before.py index 9bf147aacfa..9fa8ba21d2d 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_oogm_before.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_oogm_before.py @@ -1,9 +1,8 @@ """ -callcode -> callcode -> (OOG) callcode -> code. +Callcode -> callcode -> (OOG) callcode -> code. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcodecallcode_111_OOGMBeforeFiller.json +state_tests/stCallCodes/callcodecallcodecallcode_111_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCodes/callcodecallcodecallcode_111_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallCodes/callcodecallcodecallcode_111_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecallcode_111_oogm_before( pre: Alloc, ) -> None: """Callcode -> callcode -> (OOG) callcode -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +48,87 @@ def test_callcodecallcodecallcode_111_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0xA4173498C0DA91570D8AF9A128C337A67A6B4E69, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0xA4173498C0DA91570D8AF9A128C337A67A6B4E69, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) [[ 11 ]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xa4173498c0da91570d8af9a128c337a67a6b4e69"), # noqa: E501 + address=Address(0xA4173498C0DA91570D8AF9A128C337A67A6B4E69), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xdbb53599a5d13e0c465e1cc4ff24d7f00d780df4"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_suicide_end.py b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_suicide_end.py index 14c2d20a8a9..2a1e9fa896d 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_suicide_end.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_suicide_end.py @@ -2,8 +2,7 @@ CALLCODE -> CALLCODE -> (CALLCODE -> code) suicide. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcodecallcode_111_SuicideEndFiller.json +state_tests/stCallCodes/callcodecallcodecallcode_111_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCodes/callcodecallcodecallcode_111_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallCodes/callcodecallcodecallcode_111_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecallcode_111_suicide_end( pre: Alloc, ) -> None: """CALLCODE -> CALLCODE -> (CALLCODE -> code) suicide.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,87 +48,87 @@ def test_callcodecallcodecallcode_111_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x94c8f980aeecbb6575b12ae614a249fc3e836f21"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0x94C8F980AEECBB6575B12AE614A249FC3E836F21), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + addr: Account(balance=0xDE0B6B5FB6FE400), + addr_2: Account(storage={0: 0, 1: 0, 2: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_suicide_middle.py b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_suicide_middle.py index 2cb9b468cf2..6b45f27f269 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_suicide_middle.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_111_suicide_middle.py @@ -2,8 +2,7 @@ CALLCODE -> CALLCODE -> (suicide) CALLCODE -> code. Ported from: -tests/static/state_tests/stCallCodes -callcodecallcodecallcode_111_SuicideMiddleFiller.json +state_tests/stCallCodes/callcodecallcodecallcode_111_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCodes/callcodecallcodecallcode_111_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallCodes/callcodecallcodecallcode_111_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecallcode_111_suicide_middle( pre: Alloc, ) -> None: """CALLCODE -> CALLCODE -> (suicide) CALLCODE -> code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,91 @@ def test_callcodecallcodecallcode_111_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x23a077e1e6b0740d6bfbc41de582f2930abd1762"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + addr: Account(storage={0: 0, 1: 0, 2: 0}, balance=0x2540BE400), + addr_2: Account(storage={3: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), + target: Account(storage={0: 1, 1: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_abcb_recursive.py b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_abcb_recursive.py index 6446e4c06ee..259d15a6457 100644 --- a/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_abcb_recursive.py +++ b/tests/ported_static/stCallCodes/test_callcodecallcodecallcode_abcb_recursive.py @@ -1,9 +1,8 @@ """ -CALLCODE -> CALLCODE2 -> CALLCODE3 -> CALLCODE2 -> ... the gas usage is... +CALLCODE -> CALLCODE2 -> CALLCODE3 -> CALLCODE2 -> ... the gas usage... Ported from: -tests/static/state_tests/stCallCodes -callcodecallcodecallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallCodes/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCodes/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallCodes/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecallcode_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """CALLCODE -> CALLCODE2 -> CALLCODE3 -> CALLCODE2 -> ... the gas...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CALLCODE -> CALLCODE2 -> CALLCODE3 -> CALLCODE2 -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,78 +48,79 @@ def test_callcodecallcodecallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x17D7840, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x17D7840, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6d477a21d3906d4c0cd1edbfa7d272e6e21f1ca1"), # noqa: E501 + address=Address(0x6D477A21D3906D4C0CD1EDBFA7D272E6E21F1CA1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x7A120, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xF4240, + address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa71333d8c0291cfd6da54bec5a3957563ab16c1c"), # noqa: E501 + address=Address(0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xF4240, - address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x7A120, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe2ab9779f4fb1d9d39211cc2082083add172e69c"), # noqa: E501 + address=Address(0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/__init__.py b/tests/ported_static/stCallCreateCallCodeTest/__init__.py index 511dfd1c343..e73c1423c25 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/__init__.py +++ b/tests/ported_static/stCallCreateCallCodeTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stCallCreateCallCodeTest.""" +"""Ported static tests: stCallCreateCallCodeTest.""" # noqa: N999 diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call1024_balance_too_low.py b/tests/ported_static/stCallCreateCallCodeTest/test_call1024_balance_too_low.py index 92939b6ae93..c040b61a267 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call1024_balance_too_low.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call1024_balance_too_low.py @@ -1,9 +1,8 @@ """ -calldepth with balance too low. +Calldepth with balance too low. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -Call1024BalanceTooLowFiller.json +state_tests/stCallCreateCallCodeTest/Call1024BalanceTooLowFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/Call1024BalanceTooLowFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/Call1024BalanceTooLowFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -35,11 +33,11 @@ def test_call1024_balance_too_low( pre: Alloc, ) -> None: """Calldepth with balance too low.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -50,41 +48,38 @@ def test_call1024_balance_too_low( gas_limit=9223372036854775807, ) - # Source: LLL + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (CALL 0xfffffffffff @@0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xFFFFFFFFFFF, - address=0x2AAA3AB47A59B4AD0BA3F72AD0B5BC35388333B4, - value=Op.SLOAD(key=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xFFFFFFFFFFF, + address=0x2AAA3AB47A59B4AD0BA3F72AD0B5BC35388333B4, + value=Op.SLOAD(key=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0x2aaa3ab47a59b4ad0ba3f72ad0b5bc35388333b4"), # noqa: E501 + address=Address(0x2AAA3AB47A59B4AD0BA3F72AD0B5BC35388333B4), # noqa: E501 ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre[callee] = Account(balance=7000, nonce=0) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=17592186099592, value=10, ) - post = { - contract: Account(storage={0: 1025, 1: 1}), - } + post = {target: Account(storage={0: 1025, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call1024_oog.py b/tests/ported_static/stCallCreateCallCodeTest/test_call1024_oog.py index 8cb728b0387..4026f673053 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call1024_oog.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call1024_oog.py @@ -1,8 +1,8 @@ """ -calldepth with oog. +Calldepth with oog. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/Call1024OOGFiller.json +state_tests/stCallCreateCallCodeTest/Call1024OOGFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,62 +27,53 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/Call1024OOGFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/Call1024OOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 13120826, - { - Address("0x0878bc1c3d660907b056e31c854a309f7ef1b4c4"): Account( - storage={0: 134, 1: 1, 2: 0x20B71} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", ), - ( - 9320826, - { - Address("0x0878bc1c3d660907b056e31c854a309f7ef1b4c4"): Account( - storage={0: 113, 1: 1, 2: 0x1B969} - ) - }, + pytest.param( + 0, + 1, + 0, + id="-g1", ), - ( - 15720826, - { - Address("0x0878bc1c3d660907b056e31c854a309f7ef1b4c4"): Account( - storage={0: 146, 1: 1, 2: 0x23A51} - ) - }, + pytest.param( + 0, + 2, + 0, + id="-g2", ), - ( - 11220826, - { - Address("0x0878bc1c3d660907b056e31c854a309f7ef1b4c4"): Account( - storage={0: 124, 1: 1, 2: 0x1E461} - ) - }, + pytest.param( + 0, + 3, + 0, + id="-g3", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_call1024_oog( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Calldepth with oog.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -88,46 +84,74 @@ def test_call1024_oog( gas_limit=9223372036854775807, ) - # Source: LLL + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (CALL (MUL (SUB (GAS) 10000) (SUB 1 (DIV @@0 1025))) 0 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.MUL( - Op.SUB(Op.GAS, 0x2710), - Op.SUB(0x1, Op.DIV(Op.SLOAD(key=0x0), 0x401)), - ), - address=0x878BC1C3D660907B056E31C854A309F7EF1B4C4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.MUL( + Op.SUB(Op.GAS, 0x2710), + Op.SUB(0x1, Op.DIV(Op.SLOAD(key=0x0), 0x401)), ), - ) - + Op.SSTORE( - key=0x2, - value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)), - ) - + Op.STOP - ), + address=0x878BC1C3D660907B056E31C854A309F7EF1B4C4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)) + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0x0878bc1c3d660907b056e31c854a309f7ef1b4c4"), # noqa: E501 + address=Address(0x0878BC1C3D660907B056E31C854A309F7EF1B4C4), # noqa: E501 ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre[callee] = Account(balance=7000, nonce=0) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 134, 1: 1, 2: 0x20B71})}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 113, 1: 1, 2: 0x1B969})}, + }, + { + "indexes": {"data": -1, "gas": 2, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 146, 1: 1, 2: 0x23A51})}, + }, + { + "indexes": {"data": -1, "gas": 3, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 124, 1: 1, 2: 0x1E461})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [13120826, 9320826, 15720826, 11220826] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call1024_pre_calls.py b/tests/ported_static/stCallCreateCallCodeTest/test_call1024_pre_calls.py index 99fb57d5f89..bece3316ff2 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call1024_pre_calls.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call1024_pre_calls.py @@ -1,8 +1,8 @@ """ -calldepth with subcall. +Calldepth with subcall. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/Call1024PreCallsFiller.json +state_tests/stCallCreateCallCodeTest/Call1024PreCallsFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,32 +27,42 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/Call1024PreCallsFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/Call1024PreCallsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_gas_limit", + "d, g, v", [ - 9214364837600034817, - 11837600034817, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_call1024_pre_calls( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Calldepth with subcall.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xCC381C83857B17CA629268ED418E2915A0287B84EFE9CF2204C020302E83CDA0 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -59,64 +74,81 @@ def test_call1024_pre_calls( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 2 ]] (CALL 0xffff 1 0 0 0 0) [[ 3 ]] (CALL 0xffff 1 0 0 0 0) [[ 0 ]] (ADD @@0 1) [[ 1 ]] (CALL 0xfffffffffff 0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x3, - value=Op.CALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xFFFFFFFFFFF, - address=0x48C20CD83DDBD3908712F4D31C51B3CDAAE287CE, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x3, + value=Op.CALL( + gas=0xFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xFFFFFFFFFFF, + address=0x48C20CD83DDBD3908712F4D31C51B3CDAAE287CE, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=2024, nonce=0, - address=Address("0x48c20cd83ddbd3908712f4d31c51b3cdaae287ce"), # noqa: E501 + address=Address(0x48C20CD83DDBD3908712F4D31C51B3CDAAE287CE), # noqa: E501 ) - pre[callee] = Account(balance=7000, nonce=0) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun=Cancun None: """Recursive call.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -48,45 +47,41 @@ def test_call_lose_gas_oog( gas_limit=9223372036854775807, ) - # Source: LLL + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (CALL (ADD 1(MUL @@0 100000)) 0 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x186A0)), - address=0x180F2D7E0C9A56B7BB287E2F50101660110B641F, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x186A0)), + address=0x180F2D7E0C9A56B7BB287E2F50101660110B641F, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)) + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0x180f2d7e0c9a56b7bb287e2f50101660110b641f"), # noqa: E501 + address=Address(0x180F2D7E0C9A56B7BB287E2F50101660110B641F), # noqa: E501 ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre[callee] = Account(balance=7000, nonce=0) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, value=10, ) - post = { - contract: Account(storage={0: 1, 2: 1001}), - } + post = {target: Account(storage={0: 1, 2: 1001})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call_output1.py b/tests/ported_static/stCallCreateCallCodeTest/test_call_output1.py index a88f2757824..823868777ca 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call_output1.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call_output1.py @@ -1,8 +1,8 @@ """ -check the output memory after call. +Check the output memory after call. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/callOutput1Filler.json +state_tests/stCallCreateCallCodeTest/callOutput1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callOutput1Filler.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callOutput1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_call_output1( pre: Alloc, ) -> None: """Check the output memory after call.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,55 +46,54 @@ def test_call_output1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALL 150000 0 0 0 0 0) [[ 0 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.CALL( - gas=0x249F0, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALL( + gas=0x249F0, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x62c381fd04b6e4f31ba6d6f58c6a0d34eee4fc52"), # noqa: E501 + address=Address(0x62C381FD04B6E4F31BA6D6F58C6A0D34EEE4FC52), # noqa: E501 ) - # Source: raw bytecode - callee = pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, ), - callee: Account(storage={0: 2}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call_output2.py b/tests/ported_static/stCallCreateCallCodeTest/test_call_output2.py index 6336cd95407..c0d5b521751 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call_output2.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call_output2.py @@ -1,8 +1,8 @@ """ -check the output memory after call. +Check the output memory after call. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/callOutput2Filler.json +state_tests/stCallCreateCallCodeTest/callOutput2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callOutput2Filler.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callOutput2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_call_output2( pre: Alloc, ) -> None: """Check the output memory after call.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,55 +46,54 @@ def test_call_output2( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALL 150000 0 0 32 0 0) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.CALL( - gas=0x249F0, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALL( + gas=0x249F0, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7eceed6f6dd8b5ed0637dc20761945256e2bafc7"), # noqa: E501 + address=Address(0x7ECEED6F6DD8B5ED0637DC20761945256E2BAFC7), # noqa: E501 ) - # Source: raw bytecode - callee = pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, ), - callee: Account(storage={0: 2}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call_output3.py b/tests/ported_static/stCallCreateCallCodeTest/test_call_output3.py index 3feb45668d0..383c1c366fc 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call_output3.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call_output3.py @@ -1,8 +1,8 @@ """ -check the output memory after call. +Check the output memory after call. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/callOutput3Filler.json +state_tests/stCallCreateCallCodeTest/callOutput3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callOutput3Filler.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callOutput3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_call_output3( pre: Alloc, ) -> None: """Check the output memory after call.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,51 +46,50 @@ def test_call_output3( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - callee = pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), + # Source: lll + # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALL 150000 0 0 0 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALL( + gas=0x249F0, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ) + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xD4E4BFA87DC8F20706BF63F45861945315BE24F0), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALL 150000 0 0 0 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.CALL( - gas=0x249F0, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd4e4bfa87dc8f20706bf63f45861945315be24f0"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - callee: Account(storage={0: 2}), - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call_output3_fail.py b/tests/ported_static/stCallCreateCallCodeTest/test_call_output3_fail.py index 79412327e88..6d59e7c7668 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call_output3_fail.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call_output3_fail.py @@ -1,8 +1,8 @@ """ -check the output memory after call. +Check the output memory after call. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/callOutput3FailFiller.json +state_tests/stCallCreateCallCodeTest/callOutput3FailFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callOutput3FailFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callOutput3FailFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_call_output3_fail( pre: Alloc, ) -> None: """Check the output memory after call.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,50 +46,50 @@ def test_call_output3_fail( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALL 50000 0 0 0 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3d63522c16b6dcc36f08db61fcdcf5ecea92f4d4"), # noqa: E501 + address=Address(0x3D63522C16B6DCC36F08DB61FCDCF5ECEA92F4D4), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x016001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x834abc2c68c5f44ea9ae82b67aaf92044901cdc6"), # noqa: E501 + address=Address(0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call_output3partial.py b/tests/ported_static/stCallCreateCallCodeTest/test_call_output3partial.py index 01597da7a58..1e612c2e7d2 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call_output3partial.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call_output3partial.py @@ -1,8 +1,8 @@ """ -check the output memory after call. +Check the output memory after call. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/callOutput3partialFiller.json +state_tests/stCallCreateCallCodeTest/callOutput3partialFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callOutput3partialFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callOutput3partialFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_call_output3partial( pre: Alloc, ) -> None: """Check the output memory after call.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,55 +46,54 @@ def test_call_output3partial( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALL 150000 0 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALL( + gas=0x249F0, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xA, ) - + Op.POP( - Op.CALL( - gas=0x249F0, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xA, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x24bc72d274ab8e9445bb449bbea2ccd492f6a2bf"), # noqa: E501 + address=Address(0x24BC72D274AB8E9445BB449BBEA2CCD492F6A2BF), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - callee = pre.deploy_contract( + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, ), - callee: Account(storage={0: 2}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call_output3partial_fail.py b/tests/ported_static/stCallCreateCallCodeTest/test_call_output3partial_fail.py index 876341338a3..b99e075fdd0 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call_output3partial_fail.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call_output3partial_fail.py @@ -1,9 +1,8 @@ """ -check the output memory after call. +Check the output memory after call. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -callOutput3partialFailFiller.json +state_tests/stCallCreateCallCodeTest/callOutput3partialFailFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callOutput3partialFailFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callOutput3partialFailFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_call_output3partial_fail( pre: Alloc, ) -> None: """Check the output memory after call.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -48,50 +46,50 @@ def test_call_output3partial_fail( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), + # Source: lll + # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALL 50000 0 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xA, + ) + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x834abc2c68c5f44ea9ae82b67aaf92044901cdc6"), # noqa: E501 + address=Address(0x974E2490EAC79CA8AA70E20696E15F538EE8F02F), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALL 50000 0 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xA, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x016001600101600055 + addr = pre.deploy_contract( # noqa: F841 + code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x974e2490eac79ca8aa70e20696e15f538ee8f02f"), # noqa: E501 + address=Address(0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call_recursive_bomb_pre_call.py b/tests/ported_static/stCallCreateCallCodeTest/test_call_recursive_bomb_pre_call.py index dbbbf48df41..bd56e0ee1f5 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call_recursive_bomb_pre_call.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call_recursive_bomb_pre_call.py @@ -1,9 +1,8 @@ """ -recursive call. +Recursive call. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -CallRecursiveBombPreCallFiller.json +state_tests/stCallCreateCallCodeTest/CallRecursiveBombPreCallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/CallRecursiveBombPreCallFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/CallRecursiveBombPreCallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -35,7 +35,7 @@ def test_call_recursive_bomb_pre_call( pre: Alloc, ) -> None: """Recursive call.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x77F65B71F1F16A75476F469F7106D1B60BFEC266AE25B8DA16A9091D223AA24A ) @@ -49,67 +49,67 @@ def test_call_recursive_bomb_pre_call( gas_limit=9223372036854775807, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0x36B00), - address=Op.ADDRESS, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x1b3f200856856edc2e98efcd637775c6e341e3c0"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (CALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0) (CALL 0x7ffffffffffffff 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x186A0, - address=0xBAD304EB96065B2A98B57A48A06AE28D285A71B5, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x1B3F200856856EDC2E98EFCD637775C6E341E3C0, + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x186A0, + address=0xBAD304EB96065B2A98B57A48A06AE28D285A71B5, value=0x17, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x1B3F200856856EDC2E98EFCD637775C6E341E3C0, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, nonce=0, - address=Address("0x55bd941930d381e552d261d75ed997be59e36350"), # noqa: E501 + address=Address(0x55BD941930D381E552D261D75ED997BE59E36350), # noqa: E501 + ) + # Source: lll + # { [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (CALL (- (GAS) 224000) (ADDRESS) 0 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0x36B00), + address=Op.ADDRESS, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x1B3F200856856EDC2E98EFCD637775C6E341E3C0), # noqa: E501 ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=9214364837600034817, ) post = { - callee: Account(storage={0: 1024, 1: 1}), + addr: Account(storage={0: 1024, 1: 1}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value.py b/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value.py index 5e5d3ea3258..4fb18cca231 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value.py @@ -1,8 +1,8 @@ """ -call with value and not enough value to send. +Call with value and not enough value to send. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/callWithHighValueFiller.json +state_tests/stCallCreateCallCodeTest/callWithHighValueFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callWithHighValueFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callWithHighValueFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_call_with_high_value( pre: Alloc, ) -> None: """Call with value and not enough value to send.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,42 +46,46 @@ def test_call_with_high_value( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, - balance=23, - nonce=0, - address=Address("0x9d8c3fed067968360493f6deb5b169a720dac8a2"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 1000000000000000001 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x9D8C3FED067968360493F6DEB5B169A720DAC8A2, - value=0xDE0B6B3A7640001, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x9D8C3FED067968360493F6DEB5B169A720DAC8A2, + value=0xDE0B6B3A7640001, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xccc6849cd07c3e5b61ab6d7e798d3c4007615284"), # noqa: E501 + address=Address(0xCCC6849CD07C3E5B61AB6D7E798D3C4007615284), # noqa: E501 + ) + # Source: lll + # { [[2]] 1 } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + balance=23, + nonce=0, + address=Address(0x9D8C3FED067968360493F6DEB5B169A720DAC8A2), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post: dict = {} + post = { + target: Account(storage={}), + addr: Account(storage={}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_and_gas_oog.py b/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_and_gas_oog.py index 7dcf299b8fa..626523845cd 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_and_gas_oog.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_and_gas_oog.py @@ -1,9 +1,8 @@ """ -call with value. call takes more gas then tx has, and more value than... +Call with value. call takes more gas then tx has, and more value than... Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -callWithHighValueAndGasOOGFiller.json +state_tests/stCallCreateCallCodeTest/callWithHighValueAndGasOOGFiller.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,49 +28,38 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/callWithHighValueAndGasOOGFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/callWithHighValueAndGasOOGFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( - 100000, - { - Address("0xdfad372452688759edd82c422bf3976eafc89c2b"): Account( - storage={ - 1: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="-v0", ), - ( - 100000000000000000000, - { - Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"): Account( - storage={1: 1} - ), - Address("0xdfad372452688759edd82c422bf3976eafc89c2b"): Account( - storage={ - 0: 1, - 1: 0x3700FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - } - ), - }, + pytest.param( + 0, + 0, + 1, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_call_with_high_value_and_gas_oog( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Call with value. call takes more gas then tx has, and more value...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call with value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 ) @@ -80,58 +73,89 @@ def test_call_with_high_value_and_gas_oog( gas_limit=30000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 0xffffffffffffffffffffffff 100000000000000000000 0 64 0 2 ) [[1]] (MLOAD 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, + address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, + value=0x56BC75E2D63100000, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 5}, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0xDFAD372452688759EDD82C422BF3976EAFC89C2B), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), balance=23, nonce=0, - address=Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"), # noqa: E501 + address=Address(0x0896F13E800125C0CCEC44F3C434335F0A97BC1B), # noqa: E501 ) pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - # Source: LLL - # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 0xffffffffffffffffffffffff 100000000000000000000 0 64 0 2 ) [[1]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, - address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, - value=0x56BC75E2D63100000, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 1: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x5}, - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xdfad372452688759edd82c422bf3976eafc89c2b"), # noqa: E501 - ) + }, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 1, + 1: 0x3700FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [6000000] + tx_value = [100000, 100000000000000000000] tx = Transaction( sender=sender, - to=contract, - gas_limit=6000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_and_oo_gat_tx_level.py b/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_and_oo_gat_tx_level.py index 2ee9b579971..4710f7fc257 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_and_oo_gat_tx_level.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_and_oo_gat_tx_level.py @@ -1,9 +1,8 @@ """ -call with value. call takes more gas then tx has, and more value than... +Call with value. call takes more gas then tx has, and more value than... Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -callWithHighValueAndOOGatTxLevelFiller.json +state_tests/stCallCreateCallCodeTest/callWithHighValueAndOOGatTxLevelFiller.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,37 +28,38 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/callWithHighValueAndOOGatTxLevelFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/callWithHighValueAndOOGatTxLevelFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, 1, - { - Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"): Account( - storage={1: 1} - ), - Address("0x9001fa64dbba07e3eb711a42cf25b34ccee2bd2b"): Account( - storage={0: 1} - ), - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_call_with_high_value_and_oo_gat_tx_level( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Call with value. call takes more gas then tx has, and more value...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call with value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -68,49 +73,70 @@ def test_call_with_high_value_and_oo_gat_tx_level( gas_limit=30000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), - balance=23, - nonce=0, - address=Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 3000001 100001 0 0 0 0 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x2DC6C1, - address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, - value=0x186A1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - storage={0x0: 0x5}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x2DC6C1, + address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, + value=0x186A1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + storage={0: 5}, balance=0x186A0, nonce=0, - address=Address("0x9001fa64dbba07e3eb711a42cf25b34ccee2bd2b"), # noqa: E501 + address=Address(0x9001FA64DBBA07E3EB711A42CF25B34CCEE2BD2B), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), + balance=23, + nonce=0, + address=Address(0x0896F13E800125C0CCEC44F3C434335F0A97BC1B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 1}), + addr: Account(storage={1: 1}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [3000000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=3000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_oo_gin_call.py b/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_oo_gin_call.py index 22ee8d79df9..f0e04383313 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_oo_gin_call.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_call_with_high_value_oo_gin_call.py @@ -1,9 +1,8 @@ """ -call with value and oog happens inside. +Call with value and oog happens inside. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -callWithHighValueOOGinCallFiller.json +state_tests/stCallCreateCallCodeTest/callWithHighValueOOGinCallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/callWithHighValueOOGinCallFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/callWithHighValueOOGinCallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_call_with_high_value_oo_gin_call( pre: Alloc, ) -> None: """Call with value and oog happens inside.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,52 +48,51 @@ def test_call_with_high_value_oo_gin_call( gas_limit=30000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), - balance=23, - nonce=0, - address=Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (ADD (CALL 10000 1000000000000000000 0 0 0 0 ) 1) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADD( - Op.CALL( - gas=0x2710, - address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, - value=0xDE0B6B3A7640000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - 0x1, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ADD( + Op.CALL( + gas=0x2710, + address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, + value=0xDE0B6B3A7640000, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ), - ) - + Op.STOP - ), + 0x1, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640001, nonce=0, - address=Address("0xab77465b5abf0c394945e4186c02776f8eb9f2e7"), # noqa: E501 + address=Address(0xAB77465B5ABF0C394945E4186C02776F8EB9F2E7), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), + balance=23, + nonce=0, + address=Address(0x0896F13E800125C0CCEC44F3C434335F0A97BC1B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, balance=0xDE0B6B3A7640001), + addr: Account(balance=23), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_callcode1024_balance_too_low.py b/tests/ported_static/stCallCreateCallCodeTest/test_callcode1024_balance_too_low.py index 01f4cfa10da..8174d8d6f5f 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_callcode1024_balance_too_low.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_callcode1024_balance_too_low.py @@ -1,9 +1,8 @@ """ -calldepth and balance. +Calldepth and balance. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -Callcode1024BalanceTooLowFiller.json +state_tests/stCallCreateCallCodeTest/Callcode1024BalanceTooLowFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/Callcode1024BalanceTooLowFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/Callcode1024BalanceTooLowFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -35,11 +35,11 @@ def test_callcode1024_balance_too_low( pre: Alloc, ) -> None: """Calldepth and balance.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -51,40 +51,37 @@ def test_callcode1024_balance_too_low( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (CALLCODE 0xfffffffffff @@0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xFFFFFFFFFFF, - address=0x63E310ADA77469A7A18B4CBF231FCCEFB6F18267, - value=Op.SLOAD(key=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xFFFFFFFFFFF, + address=0x63E310ADA77469A7A18B4CBF231FCCEFB6F18267, + value=Op.SLOAD(key=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0x63e310ada77469a7a18b4cbf231fccefb6f18267"), # noqa: E501 + address=Address(0x63E310ADA77469A7A18B4CBF231FCCEFB6F18267), # noqa: E501 ) - pre[callee] = Account(balance=7000, nonce=0) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=9151332035002892287, value=10, ) - post = { - contract: Account(storage={0: 1025, 1: 1}), - } + post = {target: Account(storage={0: 1025, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_callcode1024_oog.py b/tests/ported_static/stCallCreateCallCodeTest/test_callcode1024_oog.py index c8d58c49aaa..73ca11492f4 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_callcode1024_oog.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_callcode1024_oog.py @@ -1,8 +1,8 @@ """ -calldepth and oog. +Calldepth and oog. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/Callcode1024OOGFiller.json +state_tests/stCallCreateCallCodeTest/Callcode1024OOGFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,46 +27,41 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/Callcode1024OOGFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/Callcode1024OOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 15720826, - { - Address("0x1b803058288dc00000f98311b059597434253374"): Account( - storage={0: 146, 1: 1, 2: 0x23A51} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", ), - ( - 13120826, - { - Address("0x1b803058288dc00000f98311b059597434253374"): Account( - storage={0: 134, 1: 1, 2: 0x20B71} - ) - }, + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_callcode1024_oog( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Calldepth and oog.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -72,46 +72,64 @@ def test_callcode1024_oog( gas_limit=9223372036854775807, ) - # Source: LLL + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (CALLCODE (MUL (SUB (GAS) 10000) (SUB 1 (DIV @@0 1025))) 0 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=Op.MUL( - Op.SUB(Op.GAS, 0x2710), - Op.SUB(0x1, Op.DIV(Op.SLOAD(key=0x0), 0x401)), - ), - address=0x1B803058288DC00000F98311B059597434253374, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=Op.MUL( + Op.SUB(Op.GAS, 0x2710), + Op.SUB(0x1, Op.DIV(Op.SLOAD(key=0x0), 0x401)), ), - ) - + Op.SSTORE( - key=0x2, - value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)), - ) - + Op.STOP - ), + address=0x1B803058288DC00000F98311B059597434253374, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)) + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0x1b803058288dc00000f98311b059597434253374"), # noqa: E501 + address=Address(0x1B803058288DC00000F98311B059597434253374), # noqa: E501 ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre[callee] = Account(balance=7000, nonce=0) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 146, 1: 1, 2: 0x23A51})}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 134, 1: 1, 2: 0x20B71})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [15720826, 13120826] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_lose_gas_oog.py b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_lose_gas_oog.py index 08efc38a0a6..a7d23d52a50 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_lose_gas_oog.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_lose_gas_oog.py @@ -1,8 +1,8 @@ """ -recursive call. +Recursive call. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/CallcodeLoseGasOOGFiller.json +state_tests/stCallCreateCallCodeTest/CallcodeLoseGasOOGFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,40 +27,47 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/CallcodeLoseGasOOGFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/CallcodeLoseGasOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (166262, {}), - (156262, {}), - ( - 170000, - { - Address("0xb0fafbe5aa1d6f184eb4bcb79b292e4d3238f4ca"): Account( - storage={0: 1, 2: 1001} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_callcode_lose_gas_oog( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Recursive call.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -67,42 +79,65 @@ def test_callcode_lose_gas_oog( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (CALLCODE (ADD 1(MUL @@0 100000)) 0 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x186A0)), - address=0xB0FAFBE5AA1D6F184EB4BCB79B292E4D3238F4CA, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x186A0)), + address=0xB0FAFBE5AA1D6F184EB4BCB79B292E4D3238F4CA, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)) + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0xb0fafbe5aa1d6f184eb4bcb79b292e4d3238f4ca"), # noqa: E501 + address=Address(0xB0FAFBE5AA1D6F184EB4BCB79B292E4D3238F4CA), # noqa: E501 ) - pre[callee] = Account(balance=7000, nonce=0) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0, 2: 0})}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0, 2: 0})}, + }, + { + "indexes": {"data": -1, "gas": 2, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 2: 1001})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [166262, 156262, 170000] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output1.py b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output1.py index 5139b991f86..ea3758057ae 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output1.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output1.py @@ -1,8 +1,8 @@ """ -check output memory after callcode. +Check output memory after callcode. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/callcodeOutput1Filler.json +state_tests/stCallCreateCallCodeTest/callcodeOutput1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callcodeOutput1Filler.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callcodeOutput1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcode_output1( pre: Alloc, ) -> None: """Check output memory after callcode.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,50 +46,50 @@ def test_callcode_output1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALLCODE 150000 0 0 0 0 0) [[ 0 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.CALLCODE( - gas=0x249F0, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALLCODE( + gas=0x249F0, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x64636cc2405b11c8d19ab153eac44ccce0fb70f9"), # noqa: E501 + address=Address(0x64636CC2405B11C8D19AB153EAC44CCCE0FB70F9), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output2.py b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output2.py index 3893fc03018..a7d547f6781 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output2.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output2.py @@ -1,8 +1,8 @@ """ -check output memory after callcode. +Check output memory after callcode. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/callcodeOutput2Filler.json +state_tests/stCallCreateCallCodeTest/callcodeOutput2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callcodeOutput2Filler.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callcodeOutput2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcode_output2( pre: Alloc, ) -> None: """Check output memory after callcode.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,50 +46,50 @@ def test_callcode_output2( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), + # Source: lll + # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALLCODE 50000 0 0 32 0 0) [[ 0 ]] (MLOAD 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xE6470A86A9862D2CE7DB006EE9C99092CD5E71BB), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALLCODE 50000 0 0 32 0 0) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe6470a86a9862d2ce7db006ee9c99092cd5e71bb"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3.py b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3.py index 8bd433a6fce..4a7adaf4b6c 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3.py @@ -1,8 +1,8 @@ """ -check output memory after callcode. +Check output memory after callcode. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest/callcodeOutput3Filler.json +state_tests/stCallCreateCallCodeTest/callcodeOutput3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callcodeOutput3Filler.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callcodeOutput3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_callcode_output3( pre: Alloc, ) -> None: """Check output memory after callcode.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,50 +46,50 @@ def test_callcode_output3( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALLCODE 150000 0 0 0 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.CALLCODE( - gas=0x249F0, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALLCODE( + gas=0x249F0, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xadfa10b17cf59bbec369dcaaa1413070463820c0"), # noqa: E501 + address=Address(0xADFA10B17CF59BBEC369DCAAA1413070463820C0), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3_fail.py b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3_fail.py index 305a0667835..991eb190c1e 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3_fail.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3_fail.py @@ -1,9 +1,8 @@ """ -check output memory after callcode. callcode fails with underflow. +Check output memory after callcode. callcode fails with underflow. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -callcodeOutput3FailFiller.json +state_tests/stCallCreateCallCodeTest/callcodeOutput3FailFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callcodeOutput3FailFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callcodeOutput3FailFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_callcode_output3_fail( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Check output memory after callcode. callcode fails with underflow.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Check output memory after callcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -48,50 +46,50 @@ def test_callcode_output3_fail( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), + # Source: lll + # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALLCODE 50000 0 0 0 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ) + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x834abc2c68c5f44ea9ae82b67aaf92044901cdc6"), # noqa: E501 + address=Address(0xFBF2D514AAD518CDF2E9D81E541C85FCDDEF6509), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALLCODE 50000 0 0 0 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x016001600101600055 + addr = pre.deploy_contract( # noqa: F841 + code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfbf2d514aad518cdf2e9d81e541c85fcddef6509"), # noqa: E501 + address=Address(0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3partial.py b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3partial.py index 04ef85ad877..542d62b1236 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3partial.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3partial.py @@ -1,9 +1,8 @@ """ -check output memory after callcode. +Check output memory after callcode. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -callcodeOutput3partialFiller.json +state_tests/stCallCreateCallCodeTest/callcodeOutput3partialFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callcodeOutput3partialFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callcodeOutput3partialFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcode_output3partial( pre: Alloc, ) -> None: """Check output memory after callcode.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -48,50 +46,50 @@ def test_callcode_output3partial( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALLCODE 150000 0 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.CALLCODE( - gas=0x249F0, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xA, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALLCODE( + gas=0x249F0, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xA, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8e33b4f8eb53a43a1e8ef9b4b46a65fb94fef790"), # noqa: E501 + address=Address(0x8E33B4F8EB53A43A1E8EF9B4B46A65FB94FEF790), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3partial_fail.py b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3partial_fail.py index 7f372a68363..443ee494efd 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3partial_fail.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_output3partial_fail.py @@ -1,9 +1,8 @@ """ -check output memory after callcode. callcode fails with underflow stack. +Check output memory after callcode. callcode fails with underflow stack. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -callcodeOutput3partialFailFiller.json +state_tests/stCallCreateCallCodeTest/callcodeOutput3partialFailFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/callcodeOutput3partialFailFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/callcodeOutput3partialFailFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_output3partial_fail( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Check output memory after callcode. callcode fails with underflow...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Check output memory after callcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -48,50 +48,50 @@ def test_callcode_output3partial_fail( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), + # Source: lll + # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALLCODE 50000 0 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xA, + ) + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x834abc2c68c5f44ea9ae82b67aaf92044901cdc6"), # noqa: E501 + address=Address(0xEE172F045CFA9101EE8C62FAF6975D8F4C1E2099), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (CALLCODE 50000 0 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xA, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x016001600101600055 + addr = pre.deploy_contract( # noqa: F841 + code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xee172f045cfa9101ee8c62faf6975d8f4c1e2099"), # noqa: E501 + address=Address(0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_with_high_value.py b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_with_high_value.py index 3ef7aba827a..7aa916b48e2 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_with_high_value.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_with_high_value.py @@ -1,9 +1,8 @@ """ -callcode with high value fails. +Callcode with high value fails. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -callcodeWithHighValueFiller.json +state_tests/stCallCreateCallCodeTest/callcodeWithHighValueFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/callcodeWithHighValueFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/callcodeWithHighValueFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_callcode_with_high_value( pre: Alloc, ) -> None: """Callcode with high value fails.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,47 +46,45 @@ def test_callcode_with_high_value( gas_limit=30000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), - balance=23, - nonce=0, - address=Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 50000 1000000000000000001 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC350, - address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, - value=0xDE0B6B3A7640001, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC350, + address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, + value=0xDE0B6B3A7640001, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x177bd06bad8f3fe1b5d335d0aba2f2a6b18b2fc6"), # noqa: E501 + address=Address(0x177BD06BAD8F3FE1B5D335D0ABA2F2A6B18B2FC6), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), + balance=23, + nonce=0, + address=Address(0x0896F13E800125C0CCEC44F3C434335F0A97BC1B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_with_high_value_and_gas_oog.py b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_with_high_value_and_gas_oog.py index bb18be5d365..2a20e198ee8 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_callcode_with_high_value_and_gas_oog.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_callcode_with_high_value_and_gas_oog.py @@ -1,9 +1,8 @@ """ -callcode with high value fails. +Callcode with high value fails. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -callcodeWithHighValueAndGasOOGFiller.json +state_tests/stCallCreateCallCodeTest/callcodeWithHighValueAndGasOOGFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/callcodeWithHighValueAndGasOOGFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/callcodeWithHighValueAndGasOOGFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcode_with_high_value_and_gas_oog( pre: Alloc, ) -> None: """Callcode with high value fails.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,56 +48,54 @@ def test_callcode_with_high_value_and_gas_oog( gas_limit=30000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), - balance=23, - nonce=0, - address=Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLCODE 0xffffffffffffffffffffffff 100000000000000000000 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, - address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, - value=0x56BC75E2D63100000, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, + address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, + value=0x56BC75E2D63100000, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0b4e1c683c41f86dc747fbf0dd02cd4398b41373"), # noqa: E501 + address=Address(0x0B4E1C683C41F86DC747FBF0DD02CD4398B41373), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), + balance=23, + nonce=0, + address=Address(0x0896F13E800125C0CCEC44F3C434335F0A97BC1B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_contract_creation_make_call_that_ask_more_gas_then_transaction_provided.py b/tests/ported_static/stCallCreateCallCodeTest/test_contract_creation_make_call_that_ask_more_gas_then_transaction_provided.py index 212ba740559..766264636b4 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_contract_creation_make_call_that_ask_more_gas_then_transaction_provided.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_contract_creation_make_call_that_ask_more_gas_then_transaction_provided.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_contract_creation_make_call_that_ask_more_gas_then_transaction_prov... Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json +state_tests/stCallCreateCallCodeTest/contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json """ import pytest @@ -15,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -24,34 +28,40 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 96000, - { - Address("0x1000000000000000000000000000000000000001"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), - (60000, {}), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_contract_creation_make_call_that_ask_more_gas_then_transaction_provided( # noqa: E501 state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_contract_creation_make_call_that_ask_more_gas_then_transaction...""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0x1000000000000000000000000000000000000001) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -65,44 +75,77 @@ def test_contract_creation_make_call_that_ask_more_gas_then_transaction_provided gas_limit=10000000, ) - # Source: LLL - # {(SSTORE 1 1)} - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, + pre[sender] = Account(balance=0x10C8E0) + # Source: lll + # {(CALL 50000 0x1000000000000000000000000000000000000001 0 0 64 0 64)} + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xC350, + address=0x1000000000000000000000000000000000000001, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - pre[sender] = Account(balance=0x10C8E0) - # Source: LLL - # {(CALL 50000 0x1000000000000000000000000000000000000001 0 0 64 0 64)} - pre.deploy_contract( - code=( - Op.CALL( - gas=0xC350, - address=0x1000000000000000000000000000000000000001, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # {(SSTORE 1 1)} + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": [0], "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + balance=0 + ), + contract_1: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": [1], "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + balance=0 + ), + contract_1: Account(storage={1: 0}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.CALL( + gas=0xC350, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ] + tx_gas = [96000, 60000] + tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6040600060406000600073100000000000000000000000000000000000000161c350f1" # noqa: E501 - ), - gas_limit=tx_gas_limit, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_fail_balance_too_low.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_fail_balance_too_low.py index 4c91fee8bcc..b4d763f0196 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_fail_balance_too_low.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_fail_balance_too_low.py @@ -1,9 +1,8 @@ """ -create fails because we try to send more wei to it that we have. +Create fails because we try to send more wei to it that we have. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createFailBalanceTooLowFiller.json +state_tests/stCallCreateCallCodeTest/createFailBalanceTooLowFiller.json """ import pytest @@ -12,9 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -24,34 +29,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createFailBalanceTooLowFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createFailBalanceTooLowFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (23, {}), - ( - 24, - { - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={2: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_fail_balance_too_low( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Create fails because we try to send more wei to it that we have.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -65,31 +75,62 @@ def test_create_fail_balance_too_low( gas_limit=100000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x6001600255 ) (SELFDESTRUCT (CREATE 1000000000000000024 27 5)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6001600255) - + Op.SELFDESTRUCT( - address=Op.CREATE( - value=0xDE0B6B3A7640018, offset=0x1B, size=0x5 - ), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6001600255) + + Op.SELFDESTRUCT( + address=Op.CREATE(value=0xDE0B6B3A7640018, offset=0x1B, size=0x5) + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": { + Address(0x0000000000000000000000000000000000000000): Account( + storage={} + ), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": { + Address( + 0x0000000000000000000000000000000000000000 + ): Account.NONEXISTENT, + compute_create_address(address=contract_0, nonce=0): Account( + storage={2: 1} + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [253021] + tx_value = [23, 24] + tx = Transaction( sender=sender, - to=contract, - gas_limit=253021, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_bad_jump_destination.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_bad_jump_destination.py index cc5670ef5c7..165464c4568 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_bad_jump_destination.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_bad_jump_destination.py @@ -1,9 +1,8 @@ """ -create fails because init code has bad jump dest (underflow). +Create fails because init code has bad jump dest (underflow). Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createInitFailBadJumpDestinationFiller.json +state_tests/stCallCreateCallCodeTest/createInitFailBadJumpDestinationFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createInitFailBadJumpDestinationFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createInitFailBadJumpDestinationFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_create_init_fail_bad_jump_destination( pre: Alloc, ) -> None: """Create fails because init code has bad jump dest (underflow).""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,29 +48,30 @@ def test_create_init_fail_bad_jump_destination( gas_limit=1000000000, ) - # Source: LLL + # Source: lll # {(MSTORE8 0 0x56 ) (SELFDESTRUCT (CREATE 1 0 1)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x56) - + Op.SELFDESTRUCT( - address=Op.CREATE(value=0x1, offset=0x0, size=0x1) - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x56) + + Op.SELFDESTRUCT(address=Op.CREATE(value=0x1, offset=0x0, size=0x1)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x866b704865d7d80842e1d7c2c1c8bf682a3a437c"), # noqa: E501 + address=Address(0x866B704865D7D80842E1D7C2C1C8BF682A3A437C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=2200000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000000): Account( + balance=0xDE0B6B3A76586A0 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_bad_jump_destination2.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_bad_jump_destination2.py index 0ad761449cd..87700b137f3 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_bad_jump_destination2.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_bad_jump_destination2.py @@ -1,9 +1,8 @@ """ -create fails because init code has bad jump dest. +Create fails because init code has bad jump dest. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createInitFailBadJumpDestination2Filler.json +state_tests/stCallCreateCallCodeTest/createInitFailBadJumpDestination2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createInitFailBadJumpDestination2Filler.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createInitFailBadJumpDestination2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_create_init_fail_bad_jump_destination2( pre: Alloc, ) -> None: """Create fails because init code has bad jump dest.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,29 +48,30 @@ def test_create_init_fail_bad_jump_destination2( gas_limit=1000000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x61ffff56 ) (SELFDESTRUCT (CREATE 1 28 4)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x61FFFF56) - + Op.SELFDESTRUCT( - address=Op.CREATE(value=0x1, offset=0x1C, size=0x4) - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x61FFFF56) + + Op.SELFDESTRUCT(address=Op.CREATE(value=0x1, offset=0x1C, size=0x4)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9cc12364004e761c5c594f6dce3787cff273029c"), # noqa: E501 + address=Address(0x9CC12364004E761C5C594F6DCE3787CFF273029C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=2200000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000000): Account( + balance=0xDE0B6B3A76586A0 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_oo_gduring_init.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_oo_gduring_init.py index 27f59c85bbc..7d41287d39b 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_oo_gduring_init.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_oo_gduring_init.py @@ -1,9 +1,8 @@ """ -create fails because init code has OOG. +Create fails because init code has OOG. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createInitFail_OOGduringInitFiller.json +state_tests/stCallCreateCallCodeTest/createInitFail_OOGduringInitFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createInitFail_OOGduringInitFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createInitFail_OOGduringInitFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,8 @@ def test_create_init_fail_oo_gduring_init( pre: Alloc, ) -> None: """Create fails because init code has OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,29 +49,30 @@ def test_create_init_fail_oo_gduring_init( gas_limit=100000000, ) - # Source: LLL + # Source: lll # {(MSTORE8 0 0x5a ) (SELFDESTRUCT (CREATE 1 0 1)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x5A) - + Op.SELFDESTRUCT( - address=Op.CREATE(value=0x1, offset=0x0, size=0x1) - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x5A) + + Op.SELFDESTRUCT(address=Op.CREATE(value=0x1, offset=0x0, size=0x1)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=53021, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + Address( + 0x0000000000000000000000000000000000000000 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_oo_gduring_init2.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_oo_gduring_init2.py index f75008063d2..7237548682c 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_oo_gduring_init2.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_oo_gduring_init2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_init_fail_oo_gduring_init2. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createInitFail_OOGduringInit2Filler.json +state_tests/stCallCreateCallCodeTest/createInitFail_OOGduringInit2Filler.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createInitFail_OOGduringInit2Filler.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createInitFail_OOGduringInit2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_create_init_fail_oo_gduring_init2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_init_fail_oo_gduring_init2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,34 +50,37 @@ def test_create_init_fail_oo_gduring_init2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (CREATE 1 0 (lll(seq [[1]] 1 (KECCAK256 0x00 0x2fffff) )0)) } - contract = pre.deploy_contract( - code=( - Op.PUSH1[0xD] - + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x1] - + Op.CREATE - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x1, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0xD] + + Op.CODECOPY(dest_offset=0x0, offset=0xF, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.PUSH1[0x1] + + Op.CREATE + + Op.STOP + + Op.INVALID + + Op.SSTORE(key=0x1, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_stack_size_larger_than1024.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_stack_size_larger_than1024.py index c98a2f4f3e3..46899013d65 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_stack_size_larger_than1024.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_stack_size_larger_than1024.py @@ -1,9 +1,8 @@ """ -create fails because init code has stack size >1024. +Create fails because init code has stack size >1024. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createInitFailStackSizeLargerThan1024Filler.json +state_tests/stCallCreateCallCodeTest/createInitFailStackSizeLargerThan1024Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createInitFailStackSizeLargerThan1024Filler.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createInitFailStackSizeLargerThan1024Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_create_init_fail_stack_size_larger_than1024( pre: Alloc, ) -> None: """Create fails because init code has stack size >1024.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,36 +48,37 @@ def test_create_init_fail_stack_size_larger_than1024( gas_limit=1000000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x6103ff6000525b7f0102030405060708090a0102030405060708090a01020304) (MSTORE 32 0x05060708090a0102600160005103600052600051600657000000000000000000 ) (SELFDESTRUCT (CREATE 1 0 64)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6103FF6000525B7F0102030405060708090A0102030405060708090A01020304, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x5060708090A0102600160005103600052600051600657000000000000000000, # noqa: E501 - ) - + Op.SELFDESTRUCT( - address=Op.CREATE(value=0x1, offset=0x0, size=0x40) - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x6103FF6000525B7F0102030405060708090A0102030405060708090A01020304, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x5060708090A0102600160005103600052600051600657000000000000000000, # noqa: E501 + ) + + Op.SELFDESTRUCT(address=Op.CREATE(value=0x1, offset=0x0, size=0x40)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0ee6db8c4a76cab3bb0584e06916cea75d307db0"), # noqa: E501 + address=Address(0x0EE6DB8C4A76CAB3BB0584E06916CEA75D307DB0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=2200000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000000): Account( + balance=0xDE0B6B3A76586A0 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_stack_underflow.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_stack_underflow.py index c9495befc1f..5935349d306 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_stack_underflow.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_stack_underflow.py @@ -1,9 +1,8 @@ """ -create fails because init code has stack underflow, trying to suicide to it. +Create fails because init code has stack underflow, trying to suicide... Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createInitFailStackUnderflowFiller.json +state_tests/stCallCreateCallCodeTest/createInitFailStackUnderflowFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createInitFailStackUnderflowFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createInitFailStackUnderflowFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_create_init_fail_stack_underflow( pre: Alloc, ) -> None: """Create fails because init code has stack underflow, trying to...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,29 +48,30 @@ def test_create_init_fail_stack_underflow( gas_limit=1000000000, ) - # Source: LLL + # Source: lll # {(MSTORE8 0 0x01 ) (SELFDESTRUCT (CREATE 1 0 1)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x1) - + Op.SELFDESTRUCT( - address=Op.CREATE(value=0x1, offset=0x0, size=0x1) - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x1) + + Op.SELFDESTRUCT(address=Op.CREATE(value=0x1, offset=0x0, size=0x1)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1ec952083e988eeb19fcab317760ffc6671246fd"), # noqa: E501 + address=Address(0x1EC952083E988EEB19FCAB317760FFC6671246FD), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=2200000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000000): Account( + balance=0xDE0B6B3A76586A0 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_undefined_instruction.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_undefined_instruction.py index 26d18d17038..376cf052d85 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_undefined_instruction.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_undefined_instruction.py @@ -1,9 +1,8 @@ """ -create fails because init code has undefined opcode, trying to suicide to it. +Create fails because init code has undefined opcode, trying to suicide... Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createInitFailUndefinedInstructionFiller.json +state_tests/stCallCreateCallCodeTest/createInitFailUndefinedInstructionFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createInitFailUndefinedInstructionFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createInitFailUndefinedInstructionFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_create_init_fail_undefined_instruction( pre: Alloc, ) -> None: """Create fails because init code has undefined opcode, trying to...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,76 +48,71 @@ def test_create_init_fail_undefined_instruction( gas_limit=1000000000, ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xF9) - + Op.SELFDESTRUCT( - address=Op.CREATE2(value=0x1, offset=0x0, size=0x1, salt=0x0), - ) - + Op.STOP - ), + # Source: lll + # { [[0]] (CALL 400000 0 0 0 0 0) [[1]] (CALL 400000 0 0 0 0 0) [[2]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x61A80, + address=0x552F200B75457440EE6DF9159D6B188E9D18C222, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x61A80, + address=0x183FEB7335D767D4D6AE41BBDEA7AFB27227860, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0183feb7335d767d4d6ae41bbdea7afb27227860"), # noqa: E501 + address=Address(0x73E58FF0AB0C422709D507EFB9D4889740040144), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xF9) - + Op.SELFDESTRUCT( - address=Op.CREATE(value=0x1, offset=0x0, size=0x1) - ) - + Op.STOP - ), + # Source: lll + # {(MSTORE8 0 0xf9 ) (SELFDESTRUCT (CREATE 1 0 1)) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xF9) + + Op.SELFDESTRUCT(address=Op.CREATE(value=0x1, offset=0x0, size=0x1)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x552f200b75457440ee6df9159d6b188e9d18c222"), # noqa: E501 + address=Address(0x552F200B75457440EE6DF9159D6B188E9D18C222), # noqa: E501 ) - # Source: LLL - # { [[0]] (CALL 400000 0 0 0 0 0) [[1]] (CALL 400000 0 0 0 0 0) [[2]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x61A80, - address=0x552F200B75457440EE6DF9159D6B188E9D18C222, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x61A80, - address=0x183FEB7335D767D4D6AE41BBDEA7AFB27227860, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0x1) - + Op.STOP - ), + # Source: lll + # {(MSTORE8 0 0xf9 ) (SELFDESTRUCT (CREATE2 1 0 1 0)) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xF9) + + Op.SELFDESTRUCT( + address=Op.CREATE2(value=0x1, offset=0x0, size=0x1, salt=0x0) + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x73e58ff0ab0c422709d507efb9d4889740040144"), # noqa: E501 + address=Address(0x0183FEB7335D767D4D6AE41BBDEA7AFB27227860), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=900000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_undefined_instruction2.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_undefined_instruction2.py index 8d49317efc8..bbfe14a1a0a 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_undefined_instruction2.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_fail_undefined_instruction2.py @@ -1,9 +1,8 @@ """ -original test of createInitFailUndefinedInstruction, interesting expect... +Original test of createInitFailUndefinedInstruction, interesting expect... Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createInitFailUndefinedInstruction2Filler.json +state_tests/stCallCreateCallCodeTest/createInitFailUndefinedInstruction2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createInitFailUndefinedInstruction2Filler.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createInitFailUndefinedInstruction2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_create_init_fail_undefined_instruction2( pre: Alloc, ) -> None: """Original test of createInitFailUndefinedInstruction, interesting...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,29 +48,30 @@ def test_create_init_fail_undefined_instruction2( gas_limit=1000000000, ) - # Source: LLL + # Source: lll # {(MSTORE8 0 0xf4 ) (SELFDESTRUCT (CREATE 1 0 1)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xF4) - + Op.SELFDESTRUCT( - address=Op.CREATE(value=0x1, offset=0x0, size=0x1) - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xF4) + + Op.SELFDESTRUCT(address=Op.CREATE(value=0x1, offset=0x0, size=0x1)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcb1256d163ab8cc6fefa7f8eee45ba8db7ea9946"), # noqa: E501 + address=Address(0xCB1256D163AB8CC6FEFA7F8EEE45BA8DB7EA9946), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=2200000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000000): Account( + balance=0xDE0B6B3A76586A0 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_oo_gfor_create.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_oo_gfor_create.py index d94fe9b8142..d31c685489d 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_init_oo_gfor_create.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_init_oo_gfor_create.py @@ -2,8 +2,7 @@ Suicide to a dynamic created contract, oog on create. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createInitOOGforCREATEFiller.json +state_tests/stCallCreateCallCodeTest/createInitOOGforCREATEFiller.json """ import pytest @@ -12,9 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -23,28 +28,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/createInitOOGforCREATEFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/createInitOOGforCREATEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (53020, {}), - (1000000, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_init_oo_gfor_create( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Suicide to a dynamic created contract, oog on create.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -58,29 +73,51 @@ def test_create_init_oo_gfor_create( gas_limit=100000000, ) - # Source: LLL + # Source: lll # {(MSTORE8 0 0x5a ) (SELFDESTRUCT (CREATE 1 0 1)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x5A) - + Op.SELFDESTRUCT( - address=Op.CREATE(value=0x1, offset=0x0, size=0x1) - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x5A) + + Op.SELFDESTRUCT(address=Op.CREATE(value=0x1, offset=0x0, size=0x1)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(nonce=0)}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(balance=0, nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + nonce=1 + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [53020, 1000000] + tx_value = [100000] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=100000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_js_example_contract.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_js_example_contract.py index 7e9bfe9424f..0c158d8a8b1 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_js_example_contract.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_js_example_contract.py @@ -2,8 +2,7 @@ Deploy legacy contract normally. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createJS_ExampleContractFiller.json +state_tests/stCallCreateCallCodeTest/createJS_ExampleContractFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createJS_ExampleContractFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createJS_ExampleContractFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_create_js_example_contract( pre: Alloc, ) -> None: """Deploy legacy contract normally.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x6600370D1F9991E2D92FFE661C84E7C8C6ECAFC094774F0F3DB0F8DD663590E9 ) @@ -48,419 +48,367 @@ def test_create_js_example_contract( gas_limit=1000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.EXP(0x2, 0xE0) - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=Op.PUSH2[0x42], condition=Op.EQ(0x43D726D6, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x50], condition=Op.EQ(0x91B7F5ED, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x61], condition=Op.EQ(0xD686F9EE, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x6F], condition=Op.EQ(0xF5BADE66, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x80], condition=Op.EQ(0xFCFFF16F, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x4A] - + Op.JUMP(pc=0x1DE) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH2[0x5B] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=Op.PUSH2[0xBF]) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH2[0x69] - + Op.JUMP(pc=0x304) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH2[0x7A] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=Op.PUSH2[0x8E]) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH2[0x88] - + Op.JUMP(pc=Op.PUSH2[0xF0]) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xAF], - condition=Op.ISZERO( - Op.EQ( - Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), - Op.AND( - Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0) - ), - ), - ), - ) - + Op.JUMP(pc=Op.PUSH2[0xB4]) - + Op.JUMPDEST - + Op.JUMP(pc=Op.PUSH2[0xBC]) - + Op.JUMPDEST - + Op.DUP1 - + Op.PUSH1[0x1] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xE0], - condition=Op.ISZERO( - Op.EQ( - Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), - Op.AND( - Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0) - ), - ), - ), - ) - + Op.JUMP(pc=Op.PUSH2[0xE5]) - + Op.JUMPDEST - + Op.JUMP(pc=Op.PUSH2[0xED]) - + Op.JUMPDEST - + Op.DUP1 - + Op.PUSH1[0x2] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.EQ( - Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), - Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), - ) - + Op.JUMPI(pc=0x125, condition=Op.DUP1) - + Op.POP - + Op.EQ( - Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), - Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x3)), - ) - + Op.JUMPDEST - + Op.PUSH2[0x12E] - + Op.JUMPI - + Op.JUMP(pc=0x161) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.PUSH1[0x4] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.LOG1( - offset=0x0, - size=0x0, - topic_1=0x59EBEB90BC63057B6515673C3ECF9438E5058BCA0F92585014ECED636878C9A5, # noqa: E501 - ) - + Op.JUMP(pc=0x1DC) - + Op.JUMPDEST - + Op.EQ(0x1, Op.SLOAD(key=0x4)) - + Op.JUMPI(pc=0x173, condition=Op.DUP1) - + Op.POP - + Op.LT(Op.CALLVALUE, Op.SLOAD(key=0x1)) - + Op.JUMPDEST - + Op.PUSH2[0x1B8] - + Op.JUMPI - + Op.PUSH1[0x1] - + Op.PUSH1[0x4] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.LOG1( - offset=0x0, - size=0x0, - topic_1=0x59EBEB90BC63057B6515673C3ECF9438E5058BCA0F92585014ECED636878C9A5, # noqa: E501 - ) - + Op.TIMESTAMP - + Op.PUSH1[0x5] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.CALLER - + Op.PUSH1[0x3] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMP(pc=0x1DB) - + Op.JUMPDEST - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER) - + Op.PUSH1[0x0] - + Op.CALLVALUE - + Op.JUMPI( - pc=0x1D7, - condition=Op.CALL( - gas=Op.DUP8, - address=Op.DUP8, - value=Op.DUP5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.JUMPI(pc=0x1EF, condition=Op.EQ(0x0, Op.SLOAD(key=0x4))) - + Op.JUMP(pc=0x1F4) - + Op.JUMPDEST - + Op.JUMP(pc=0x301) - + Op.JUMPDEST - + Op.EQ( + # Source: raw + # 0x60003560e060020a9004806343d726d61461004257806391b7f5ed14610050578063d686f9ee14610061578063f5bade661461006f578063fcfff16f1461008057005b61004a6101de565b60006000f35b61005b6004356100bf565b60006000f35b610069610304565b60006000f35b61007a60043561008e565b60006000f35b6100886100f0565b60006000f35b600054600160a060020a031633600160a060020a031614156100af576100b4565b6100bc565b806001819055505b50565b600054600160a060020a031633600160a060020a031614156100e0576100e5565b6100ed565b806002819055505b50565b600054600160a060020a031633600160a060020a031614806101255750600354600160a060020a031633600160a060020a0316145b61012e57610161565b60016004819055507f59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a560006000a16101dc565b60045460011480610173575060015434105b6101b85760016004819055507f59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a560006000a142600581905550336003819055506101db565b33600160a060020a03166000346000600060006000848787f16101d757005b5050505b5b565b60006004546000146101ef576101f4565b610301565b600054600160a060020a031633600160a060020a031614801561022c5750600054600160a060020a0316600354600160a060020a0316145b61023557610242565b6000600481905550610301565b600354600160a060020a031633600160a060020a03161461026257610300565b600554420360025402905060015481116102c757600354600160a060020a0316600082600154036000600060006000848787f161029b57005b505050600054600160a060020a03166000826000600060006000848787f16102bf57005b5050506102ee565b600054600160a060020a031660006001546000600060006000848787f16102ea57005b5050505b60006004819055506000546003819055505b5b50565b6000600054600160a060020a031633600160a060020a031614156103275761032c565b61037e565b600554420360025402905060015481116103455761037d565b600054600160a060020a031660006001546000600060006000848787f161036857005b50505060006004819055506000546003819055505b5b5056 # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.EXP(0x2, 0xE0) + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=Op.PUSH2[0x42], condition=Op.EQ(0x43D726D6, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x50], condition=Op.EQ(0x91B7F5ED, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x61], condition=Op.EQ(0xD686F9EE, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x6F], condition=Op.EQ(0xF5BADE66, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x80], condition=Op.EQ(0xFCFFF16F, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x4A] + + Op.JUMP(pc=0x1DE) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH2[0x5B] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=Op.PUSH2[0xBF]) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH2[0x69] + + Op.JUMP(pc=0x304) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH2[0x7A] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=Op.PUSH2[0x8E]) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH2[0x88] + + Op.JUMP(pc=Op.PUSH2[0xF0]) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xAF], + condition=Op.ISZERO( + Op.EQ( + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), + ) + ), + ) + + Op.JUMP(pc=Op.PUSH2[0xB4]) + + Op.JUMPDEST + + Op.JUMP(pc=Op.PUSH2[0xBC]) + + Op.JUMPDEST + + Op.DUP1 + + Op.PUSH1[0x1] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMPDEST + + Op.POP + + Op.JUMP + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xE0], + condition=Op.ISZERO( + Op.EQ( + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), + ) + ), + ) + + Op.JUMP(pc=Op.PUSH2[0xE5]) + + Op.JUMPDEST + + Op.JUMP(pc=Op.PUSH2[0xED]) + + Op.JUMPDEST + + Op.DUP1 + + Op.PUSH1[0x2] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMPDEST + + Op.POP + + Op.JUMP + + Op.JUMPDEST + + Op.EQ( + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), + ) + + Op.JUMPI(pc=0x125, condition=Op.DUP1) + + Op.POP + + Op.EQ( + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x3)), + ) + + Op.JUMPDEST + + Op.PUSH2[0x12E] + + Op.JUMPI + + Op.JUMP(pc=0x161) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.PUSH1[0x4] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.LOG1( + offset=0x0, + size=0x0, + topic_1=0x59EBEB90BC63057B6515673C3ECF9438E5058BCA0F92585014ECED636878C9A5, # noqa: E501 + ) + + Op.JUMP(pc=0x1DC) + + Op.JUMPDEST + + Op.EQ(0x1, Op.SLOAD(key=0x4)) + + Op.JUMPI(pc=0x173, condition=Op.DUP1) + + Op.POP + + Op.LT(Op.CALLVALUE, Op.SLOAD(key=0x1)) + + Op.JUMPDEST + + Op.PUSH2[0x1B8] + + Op.JUMPI + + Op.PUSH1[0x1] + + Op.PUSH1[0x4] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.LOG1( + offset=0x0, + size=0x0, + topic_1=0x59EBEB90BC63057B6515673C3ECF9438E5058BCA0F92585014ECED636878C9A5, # noqa: E501 + ) + + Op.TIMESTAMP + + Op.PUSH1[0x5] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.CALLER + + Op.PUSH1[0x3] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMP(pc=0x1DB) + + Op.JUMPDEST + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER) + + Op.PUSH1[0x0] + + Op.CALLVALUE + + Op.JUMPI( + pc=0x1D7, + condition=Op.CALL( + gas=Op.DUP8, + address=Op.DUP8, + value=Op.DUP5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 3 + + Op.JUMPDEST * 2 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.JUMPI(pc=0x1EF, condition=Op.EQ(0x0, Op.SLOAD(key=0x4))) + + Op.JUMP(pc=0x1F4) + + Op.JUMPDEST + + Op.JUMP(pc=0x301) + + Op.JUMPDEST + + Op.EQ( + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), + ) + + Op.JUMPI(pc=0x22C, condition=Op.ISZERO(Op.DUP1)) + + Op.POP + + Op.EQ( + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x3)), + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), + ) + + Op.JUMPDEST + + Op.PUSH2[0x235] + + Op.JUMPI + + Op.JUMP(pc=0x242) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x4] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMP(pc=0x301) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x262, + condition=Op.EQ( Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), - Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), - ) - + Op.JUMPI(pc=0x22C, condition=Op.ISZERO(Op.DUP1)) - + Op.POP - + Op.EQ( Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x3)), - Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), - ) - + Op.JUMPDEST - + Op.PUSH2[0x235] - + Op.JUMPI - + Op.JUMP(pc=0x242) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x4] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMP(pc=0x301) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x262, - condition=Op.EQ( + ), + ) + + Op.JUMP(pc=0x300) + + Op.JUMPDEST + + Op.MUL(Op.SLOAD(key=0x2), Op.SUB(Op.TIMESTAMP, Op.SLOAD(key=0x5))) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x2C7, condition=Op.GT(Op.DUP2, Op.SLOAD(key=0x1))) + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x3)) + + Op.PUSH1[0x0] + + Op.SUB(Op.SLOAD(key=0x1), Op.DUP3) + + Op.JUMPI( + pc=0x29B, + condition=Op.CALL( + gas=Op.DUP8, + address=Op.DUP8, + value=Op.DUP5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 3 + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)) + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.JUMPI( + pc=0x2BF, + condition=Op.CALL( + gas=Op.DUP8, + address=Op.DUP8, + value=Op.DUP5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 3 + + Op.JUMP(pc=0x2EE) + + Op.JUMPDEST + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)) + + Op.PUSH1[0x0] + + Op.SLOAD(key=0x1) + + Op.JUMPI( + pc=0x2EA, + condition=Op.CALL( + gas=Op.DUP8, + address=Op.DUP8, + value=Op.DUP5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 3 + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x4] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.SLOAD(key=0x0) + + Op.PUSH1[0x3] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMPDEST * 2 + + Op.POP + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.JUMPI( + pc=0x327, + condition=Op.ISZERO( + Op.EQ( Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), - Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x3)), - ), - ) - + Op.JUMP(pc=0x300) - + Op.JUMPDEST - + Op.MUL( - Op.SLOAD(key=0x2), Op.SUB(Op.TIMESTAMP, Op.SLOAD(key=0x5)) - ) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x2C7, condition=Op.GT(Op.DUP2, Op.SLOAD(key=0x1))) - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x3)) - + Op.PUSH1[0x0] - + Op.SUB(Op.SLOAD(key=0x1), Op.DUP3) - + Op.JUMPI( - pc=0x29B, - condition=Op.CALL( - gas=Op.DUP8, - address=Op.DUP8, - value=Op.DUP5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)) - + Op.PUSH1[0x0] - + Op.DUP3 - + Op.JUMPI( - pc=0x2BF, - condition=Op.CALL( - gas=Op.DUP8, - address=Op.DUP8, - value=Op.DUP5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP(pc=0x2EE) - + Op.JUMPDEST - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)) - + Op.PUSH1[0x0] - + Op.SLOAD(key=0x1) - + Op.JUMPI( - pc=0x2EA, - condition=Op.CALL( - gas=Op.DUP8, - address=Op.DUP8, - value=Op.DUP5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x4] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.SLOAD(key=0x0) - + Op.PUSH1[0x3] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMPDEST - + Op.JUMPDEST - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.JUMPI( - pc=0x327, - condition=Op.ISZERO( - Op.EQ( - Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.CALLER), - Op.AND( - Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0) - ), - ), - ), - ) - + Op.JUMP(pc=0x32C) - + Op.JUMPDEST - + Op.JUMP(pc=0x37E) - + Op.JUMPDEST - + Op.MUL( - Op.SLOAD(key=0x2), Op.SUB(Op.TIMESTAMP, Op.SLOAD(key=0x5)) - ) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x345, condition=Op.GT(Op.DUP2, Op.SLOAD(key=0x1))) - + Op.JUMP(pc=0x37D) - + Op.JUMPDEST - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)) - + Op.PUSH1[0x0] - + Op.SLOAD(key=0x1) - + Op.JUMPI( - pc=0x368, - condition=Op.CALL( - gas=Op.DUP8, - address=Op.DUP8, - value=Op.DUP5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x4] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.SLOAD(key=0x0) - + Op.PUSH1[0x3] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMPDEST - + Op.JUMPDEST - + Op.POP - + Op.JUMP - ), + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), + ) + ), + ) + + Op.JUMP(pc=0x32C) + + Op.JUMPDEST + + Op.JUMP(pc=0x37E) + + Op.JUMPDEST + + Op.MUL(Op.SLOAD(key=0x2), Op.SUB(Op.TIMESTAMP, Op.SLOAD(key=0x5))) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x345, condition=Op.GT(Op.DUP2, Op.SLOAD(key=0x1))) + + Op.JUMP(pc=0x37D) + + Op.JUMPDEST + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)) + + Op.PUSH1[0x0] + + Op.SLOAD(key=0x1) + + Op.JUMPI( + pc=0x368, + condition=Op.CALL( + gas=Op.DUP8, + address=Op.DUP8, + value=Op.DUP5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 3 + + Op.PUSH1[0x0] + + Op.PUSH1[0x4] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.SLOAD(key=0x0) + + Op.PUSH1[0x3] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMPDEST * 2 + + Op.POP + + Op.JUMP, storage={ - 0x0: 0xBCC416D85E26124EA4EC199A92CF495584A99831, - 0x1: 0x42, - 0x2: 0x23, - 0x3: 0xBCC416D85E26124EA4EC199A92CF495584A99831, - 0x5: 0x54C98C81, + 0: 0xBCC416D85E26124EA4EC199A92CF495584A99831, + 1: 66, + 2: 35, + 3: 0xBCC416D85E26124EA4EC199A92CF495584A99831, + 5: 0x54C98C81, }, balance=0x186A0, nonce=0, - address=Address("0x1119d4ccf86b65812d85f2ff3e9b2d851e40ba5a"), # noqa: E501 + address=Address(0x1119D4CCF86B65812D85F2FF3E9B2D851E40BA5A), # noqa: E501 ) pre[sender] = Account(balance=0x9184E72A000) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "60406103ca60043960045160245133600081905550600060048190555081600181905550" # noqa: E501 - "8060028190555042600581905550336003819055505050610381806100496000396000f3" # noqa: E501 - "0060003560e060020a9004806343d726d61461004257806391b7f5ed14610050578063d6" # noqa: E501 - "86f9ee14610061578063f5bade661461006f578063fcfff16f1461008057005b61004a61" # noqa: E501 - "01de565b60006000f35b61005b6004356100bf565b60006000f35b610069610304565b60" # noqa: E501 - "006000f35b61007a60043561008e565b60006000f35b6100886100f0565b60006000f35b" # noqa: E501 - "600054600160a060020a031633600160a060020a031614156100af576100b4565b6100bc" # noqa: E501 - "565b806001819055505b50565b600054600160a060020a031633600160a060020a031614" # noqa: E501 - "156100e0576100e5565b6100ed565b806002819055505b50565b600054600160a060020a" # noqa: E501 - "031633600160a060020a031614806101255750600354600160a060020a031633600160a0" # noqa: E501 - "60020a0316145b61012e57610161565b60016004819055507f59ebeb90bc63057b651567" # noqa: E501 - "3c3ecf9438e5058bca0f92585014eced636878c9a560006000a16101dc565b6004546001" # noqa: E501 - "1480610173575060015434105b6101b85760016004819055507f59ebeb90bc63057b6515" # noqa: E501 - "673c3ecf9438e5058bca0f92585014eced636878c9a560006000a1426005819055503360" # noqa: E501 - "03819055506101db565b33600160a060020a03166000346000600060006000848787f161" # noqa: E501 - "01d757005b5050505b5b565b60006004546000146101ef576101f4565b610301565b6000" # noqa: E501 - "54600160a060020a031633600160a060020a031614801561022c5750600054600160a060" # noqa: E501 - "020a0316600354600160a060020a0316145b61023557610242565b600060048190555061" # noqa: E501 - "0301565b600354600160a060020a031633600160a060020a03161461026257610300565b" # noqa: E501 - "600554420360025402905060015481116102c757600354600160a060020a031660008260" # noqa: E501 - "0154036000600060006000848787f161029b57005b505050600054600160a060020a0316" # noqa: E501 - "6000826000600060006000848787f16102bf57005b5050506102ee565b600054600160a0" # noqa: E501 - "60020a031660006001546000600060006000848787f16102ea57005b5050505b60006004" # noqa: E501 - "819055506000546003819055505b5b50565b6000600054600160a060020a031633600160" # noqa: E501 - "a060020a031614156103275761032c565b61037e565b6005544203600254029050600154" # noqa: E501 - "81116103455761037d565b600054600160a060020a031660006001546000600060006000" # noqa: E501 - "848787f161036857005b50505060006004819055506000546003819055505b5b50560000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000042000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000023" + data=Bytes( + "60406103ca600439600451602451336000819055506000600481905550816001819055508060028190555042600581905550336003819055505050610381806100496000396000f30060003560e060020a9004806343d726d61461004257806391b7f5ed14610050578063d686f9ee14610061578063f5bade661461006f578063fcfff16f1461008057005b61004a6101de565b60006000f35b61005b6004356100bf565b60006000f35b610069610304565b60006000f35b61007a60043561008e565b60006000f35b6100886100f0565b60006000f35b600054600160a060020a031633600160a060020a031614156100af576100b4565b6100bc565b806001819055505b50565b600054600160a060020a031633600160a060020a031614156100e0576100e5565b6100ed565b806002819055505b50565b600054600160a060020a031633600160a060020a031614806101255750600354600160a060020a031633600160a060020a0316145b61012e57610161565b60016004819055507f59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a560006000a16101dc565b60045460011480610173575060015434105b6101b85760016004819055507f59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a560006000a142600581905550336003819055506101db565b33600160a060020a03166000346000600060006000848787f16101d757005b5050505b5b565b60006004546000146101ef576101f4565b610301565b600054600160a060020a031633600160a060020a031614801561022c5750600054600160a060020a0316600354600160a060020a0316145b61023557610242565b6000600481905550610301565b600354600160a060020a031633600160a060020a03161461026257610300565b600554420360025402905060015481116102c757600354600160a060020a0316600082600154036000600060006000848787f161029b57005b505050600054600160a060020a03166000826000600060006000848787f16102bf57005b5050506102ee565b600054600160a060020a031660006001546000600060006000848787f16102ea57005b5050505b60006004819055506000546003819055505b5b50565b6000600054600160a060020a031633600160a060020a031614156103275761032c565b61037e565b600554420360025402905060015481116103455761037d565b600054600160a060020a031660006001546000600060006000848787f161036857005b50505060006004819055506000546003819055505b5b505600000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000023" # noqa: E501 ), gas_limit=600000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + addr: Account( storage={ 0: 0xBCC416D85E26124EA4EC199A92CF495584A99831, 1: 66, @@ -468,15 +416,9 @@ def test_create_js_example_contract( 3: 0xBCC416D85E26124EA4EC199A92CF495584A99831, 5: 0x54C98C81, }, - ), - Address("0x1ce6265a59bf9efb80a801e28d956a6974834375"): Account( - storage={ - 0: 0xBCC416D85E26124EA4EC199A92CF495584A99831, - 1: 66, - 2: 35, - 3: 0xBCC416D85E26124EA4EC199A92CF495584A99831, - 5: 1000, - }, + code=bytes.fromhex( + "60003560e060020a9004806343d726d61461004257806391b7f5ed14610050578063d686f9ee14610061578063f5bade661461006f578063fcfff16f1461008057005b61004a6101de565b60006000f35b61005b6004356100bf565b60006000f35b610069610304565b60006000f35b61007a60043561008e565b60006000f35b6100886100f0565b60006000f35b600054600160a060020a031633600160a060020a031614156100af576100b4565b6100bc565b806001819055505b50565b600054600160a060020a031633600160a060020a031614156100e0576100e5565b6100ed565b806002819055505b50565b600054600160a060020a031633600160a060020a031614806101255750600354600160a060020a031633600160a060020a0316145b61012e57610161565b60016004819055507f59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a560006000a16101dc565b60045460011480610173575060015434105b6101b85760016004819055507f59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a560006000a142600581905550336003819055506101db565b33600160a060020a03166000346000600060006000848787f16101d757005b5050505b5b565b60006004546000146101ef576101f4565b610301565b600054600160a060020a031633600160a060020a031614801561022c5750600054600160a060020a0316600354600160a060020a0316145b61023557610242565b6000600481905550610301565b600354600160a060020a031633600160a060020a03161461026257610300565b600554420360025402905060015481116102c757600354600160a060020a0316600082600154036000600060006000848787f161029b57005b505050600054600160a060020a03166000826000600060006000848787f16102bf57005b5050506102ee565b600054600160a060020a031660006001546000600060006000848787f16102ea57005b5050505b60006004819055506000546003819055505b5b50565b6000600054600160a060020a031633600160a060020a031614156103275761032c565b61037e565b600554420360025402905060015481116103455761037d565b600054600160a060020a031660006001546000600060006000848787f161036857005b50505060006004819055506000546003819055505b5b5056" # noqa: E501 + ), ), } diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_js_no_collision.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_js_no_collision.py index 04d94708764..c0d5e34a231 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_js_no_collision.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_js_no_collision.py @@ -2,8 +2,7 @@ Deploy legacy contract normally. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createJS_NoCollisionFiller.json +state_tests/stCallCreateCallCodeTest/createJS_NoCollisionFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallCreateCallCodeTest/createJS_NoCollisionFiller.json", # noqa: E501 - ], + ["state_tests/stCallCreateCallCodeTest/createJS_NoCollisionFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_create_js_no_collision( pre: Alloc, ) -> None: """Deploy legacy contract normally.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,43 +51,15 @@ def test_create_js_no_collision( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "60406103ca60043960045160245133600081905550600060048190555081600181905550" # noqa: E501 - "8060028190555042600581905550336003819055505050610381806100496000396000f3" # noqa: E501 - "0060003560e060020a9004806343d726d61461004257806391b7f5ed14610050578063d6" # noqa: E501 - "86f9ee14610061578063f5bade661461006f578063fcfff16f1461008057005b61004a61" # noqa: E501 - "01de565b60006000f35b61005b6004356100bf565b60006000f35b610069610304565b60" # noqa: E501 - "006000f35b61007a60043561008e565b60006000f35b6100886100f0565b60006000f35b" # noqa: E501 - "600054600160a060020a031633600160a060020a031614156100af576100b4565b6100bc" # noqa: E501 - "565b806001819055505b50565b600054600160a060020a031633600160a060020a031614" # noqa: E501 - "156100e0576100e5565b6100ed565b806002819055505b50565b600054600160a060020a" # noqa: E501 - "031633600160a060020a031614806101255750600354600160a060020a031633600160a0" # noqa: E501 - "60020a0316145b61012e57610161565b60016004819055507f59ebeb90bc63057b651567" # noqa: E501 - "3c3ecf9438e5058bca0f92585014eced636878c9a560006000a16101dc565b6004546001" # noqa: E501 - "1480610173575060015434105b6101b85760016004819055507f59ebeb90bc63057b6515" # noqa: E501 - "673c3ecf9438e5058bca0f92585014eced636878c9a560006000a1426005819055503360" # noqa: E501 - "03819055506101db565b33600160a060020a03166000346000600060006000848787f161" # noqa: E501 - "01d757005b5050505b5b565b60006004546000146101ef576101f4565b610301565b6000" # noqa: E501 - "54600160a060020a031633600160a060020a031614801561022c5750600054600160a060" # noqa: E501 - "020a0316600354600160a060020a0316145b61023557610242565b600060048190555061" # noqa: E501 - "0301565b600354600160a060020a031633600160a060020a03161461026257610300565b" # noqa: E501 - "600554420360025402905060015481116102c757600354600160a060020a031660008260" # noqa: E501 - "0154036000600060006000848787f161029b57005b505050600054600160a060020a0316" # noqa: E501 - "6000826000600060006000848787f16102bf57005b5050506102ee565b600054600160a0" # noqa: E501 - "60020a031660006001546000600060006000848787f16102ea57005b5050505b60006004" # noqa: E501 - "819055506000546003819055505b5b50565b6000600054600160a060020a031633600160" # noqa: E501 - "a060020a031614156103275761032c565b61037e565b6005544203600254029050600154" # noqa: E501 - "81116103455761037d565b600054600160a060020a031660006001546000600060006000" # noqa: E501 - "848787f161036857005b50505060006004819055506000546003819055505b5b50560000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000042000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000023" + data=Bytes( + "60406103ca600439600451602451336000819055506000600481905550816001819055508060028190555042600581905550336003819055505050610381806100496000396000f30060003560e060020a9004806343d726d61461004257806391b7f5ed14610050578063d686f9ee14610061578063f5bade661461006f578063fcfff16f1461008057005b61004a6101de565b60006000f35b61005b6004356100bf565b60006000f35b610069610304565b60006000f35b61007a60043561008e565b60006000f35b6100886100f0565b60006000f35b600054600160a060020a031633600160a060020a031614156100af576100b4565b6100bc565b806001819055505b50565b600054600160a060020a031633600160a060020a031614156100e0576100e5565b6100ed565b806002819055505b50565b600054600160a060020a031633600160a060020a031614806101255750600354600160a060020a031633600160a060020a0316145b61012e57610161565b60016004819055507f59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a560006000a16101dc565b60045460011480610173575060015434105b6101b85760016004819055507f59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a560006000a142600581905550336003819055506101db565b33600160a060020a03166000346000600060006000848787f16101d757005b5050505b5b565b60006004546000146101ef576101f4565b610301565b600054600160a060020a031633600160a060020a031614801561022c5750600054600160a060020a0316600354600160a060020a0316145b61023557610242565b6000600481905550610301565b600354600160a060020a031633600160a060020a03161461026257610300565b600554420360025402905060015481116102c757600354600160a060020a0316600082600154036000600060006000848787f161029b57005b505050600054600160a060020a03166000826000600060006000848787f16102bf57005b5050506102ee565b600054600160a060020a031660006001546000600060006000848787f16102ea57005b5050505b60006004819055506000546003819055505b5b50565b6000600054600160a060020a031633600160a060020a031614156103275761032c565b61037e565b600554420360025402905060015481116103455761037d565b600054600160a060020a031660006001546000600060006000848787f161036857005b50505060006004819055506000546003819055505b5b505600000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000023" # noqa: E501 ), gas_limit=600000, - value=100000, + value=0x186A0, ) post = { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( + compute_create_address(address=sender, nonce=0): Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 66, diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_per_txs.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_per_txs.py index 841222d315f..a07e267b25d 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_per_txs.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_per_txs.py @@ -2,8 +2,7 @@ Legacy Test from Christoph. J. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createNameRegistratorPerTxsFiller.json +state_tests/stCallCreateCallCodeTest/createNameRegistratorPerTxsFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createNameRegistratorPerTxsFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createNameRegistratorPerTxsFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,8 +33,8 @@ def test_create_name_registrator_per_txs( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Legacy Test from Christoph. J.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Legacy Test from Christoph.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,16 +53,31 @@ def test_create_name_registrator_per_txs( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6001600155601080600c6000396000f3006000355415600957005b60203560003555" # noqa: E501 + data=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), gas_limit=1250528, - value=100000, + value=0x186A0, ) post = { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( + compute_create_address(address=sender, nonce=0): Account( storage={1: 1}, + code=bytes.fromhex("396000f3006000355415600957005b60"), + balance=0x186A0, + nonce=1, ), } diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_per_txs_not_enough_gas.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_per_txs_not_enough_gas.py index 97651378624..f8e2d3275e8 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_per_txs_not_enough_gas.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_per_txs_not_enough_gas.py @@ -2,8 +2,7 @@ Legacy Test from Christoph. J. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createNameRegistratorPerTxsNotEnoughGasFiller.json +state_tests/stCallCreateCallCodeTest/createNameRegistratorPerTxsNotEnoughGasFiller.json """ import pytest @@ -15,7 +14,13 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @@ -23,34 +28,38 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createNameRegistratorPerTxsNotEnoughGasFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createNameRegistratorPerTxsNotEnoughGasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (56157, {}), - ( - 86157, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_name_registrator_per_txs_not_enough_gas( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Legacy Test from Christoph. J.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Legacy Test from Christoph.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -66,16 +75,58 @@ def test_create_name_registrator_per_txs_not_enough_gas( pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address( + address=sender, nonce=0 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1} + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) + ), + ] + tx_gas = [56157, 86157] + tx_value = [100000] + tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6001600155601080600c6000396000f3006000355415600957005b60203560003555" # noqa: E501 - ), - gas_limit=tx_gas_limit, - value=100000, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_pre_store1_not_enough_gas.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_pre_store1_not_enough_gas.py index c6991baf0ff..f8ada3d1acb 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_pre_store1_not_enough_gas.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registrator_pre_store1_not_enough_gas.py @@ -2,8 +2,7 @@ Legacy Test from Christoph. J. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createNameRegistratorPreStore1NotEnoughGasFiller.json +state_tests/stCallCreateCallCodeTest/createNameRegistratorPreStore1NotEnoughGasFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createNameRegistratorPreStore1NotEnoughGasFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createNameRegistratorPreStore1NotEnoughGasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_create_name_registrator_pre_store1_not_enough_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Legacy Test from Christoph. J.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Legacy Test from Christoph.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,32 +50,36 @@ def test_create_name_registrator_pre_store1_not_enough_gas( gas_limit=100000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x6001600155601080600c6000396000f3006000355415600957005b6020356000 ) (MSTORE8 32 0x35) (MSTORE8 33 0x55) (CREATE 23 0 34) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 - ) - + Op.MSTORE8(offset=0x20, value=0x35) - + Op.MSTORE8(offset=0x21, value=0x55) - + Op.CREATE(value=0x17, offset=0x0, size=0x22) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 + ) + + Op.MSTORE8(offset=0x20, value=0x35) + + Op.MSTORE8(offset=0x21, value=0x55) + + Op.CREATE(value=0x17, offset=0x0, size=0x22) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=73071, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + contract_0: Account(nonce=1), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registratorendowment_too_high.py b/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registratorendowment_too_high.py index 0f1b76e0a0f..22cff80aa69 100644 --- a/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registratorendowment_too_high.py +++ b/tests/ported_static/stCallCreateCallCodeTest/test_create_name_registratorendowment_too_high.py @@ -2,8 +2,7 @@ Legacy Test from Christoph. J. Ported from: -tests/static/state_tests/stCallCreateCallCodeTest -createNameRegistratorendowmentTooHighFiller.json +state_tests/stCallCreateCallCodeTest/createNameRegistratorendowmentTooHighFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallCreateCallCodeTest/createNameRegistratorendowmentTooHighFiller.json", # noqa: E501 + "state_tests/stCallCreateCallCodeTest/createNameRegistratorendowmentTooHighFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_create_name_registratorendowment_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Legacy Test from Christoph. J.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Legacy Test from Christoph.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,34 +48,31 @@ def test_create_name_registratorendowment_too_high( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f3006000355415600957005b60203560003555) [[ 0 ]] (CREATE 1000000000000000001 3 29) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F3006000355415600957005B60203560003555, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE( - value=0xDE0B6B3A7640001, offset=0x3, size=0x1D - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F3006000355415600957005B60203560003555, + ) + + Op.SSTORE( + key=0x0, + value=Op.CREATE(value=0xDE0B6B3A7640001, offset=0x3, size=0x1D), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x84d56fc4fefc05a5bce6c569883a47ee499ee0da"), # noqa: E501 + address=Address(0x84D56FC4FEFC05A5BCE6C569883A47EE499EE0DA), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/__init__.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/__init__.py index ed8549235d7..10d1ff02a1b 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/__init__.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/__init__.py @@ -1 +1 @@ -"""Tests ported from stCallDelegateCodesCallCodeHomestead.""" +"""Ported static tests: stCallDelegateCodesCallCodeHomestead.""" # noqa: N999 diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001.py index 27d9748349c..77196705072 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcallcode_001. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcallcode_001Filler.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcallcode_001( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcallcode_001.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,92 +48,91 @@ def test_callcallcallcode_001( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x493E0, - address=0x6F50426AA1BBB3CBD865847823F377D918757C07, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4c0de71b93de6b7055a3686e4bf93add02b39ed8"), # noqa: E501 + address=Address(0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x3D090, - address=0xC534813374D4D5C43DD9A367926A3DBEECD02964, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 300000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x493E0, + address=0x6F50426AA1BBB3CBD865847823F377D918757C07, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6f50426aa1bbb3cbd865847823f377d918757c07"), # noqa: E501 + address=Address(0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x5, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 250000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x3D090, + address=0xC534813374D4D5C43DD9A367926A3DBEECD02964, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc534813374d4d5c43dd9a367926a3dbeecd02964"), # noqa: E501 + address=Address(0x6F50426AA1BBB3CBD865847823F377D918757C07), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x4C0DE71B93DE6B7055A3686E4BF93ADD02B39ED8, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 5 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x5, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xdb43306b16c521b9cc3667fbe7d1b697bb1f9605"), # noqa: E501 + address=Address(0xC534813374D4D5C43DD9A367926A3DBEECD02964), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -148,6 +147,9 @@ def test_callcallcallcode_001( 340: 10, }, ), + addr: Account(storage={1: 0, 3: 0, 4: 0, 5: 0}), + addr_2: Account(storage={2: 0, 3: 0, 4: 0, 5: 0}), + addr_3: Account(storage={2: 0, 3: 0, 4: 0, 5: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_ooge.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_ooge.py index 18841f11a98..1a9883e8374 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_ooge.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_ooge.py @@ -2,8 +2,7 @@ CALLCODE -> CALLCODE -> DELEGATE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcallcode_001_OOGEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcallcode_001_ooge( pre: Alloc, ) -> None: """CALLCODE -> CALLCODE -> DELEGATE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,88 @@ def test_callcallcallcode_001_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x3e423a7b1fba04d0c3f9423a3ae2a180d2878d5b"), # noqa: E501 + address=Address(0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x913cf7a18f61bab7bccf5607dfa9b730c5976000"), # noqa: E501 + address=Address(0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 11: 1}), + target: Account(storage={0: 1, 1: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={2: 0}), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_oogm_after.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_oogm_after.py index 7853fbc9f20..b2cc6f68b29 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_oogm_after.py @@ -2,8 +2,7 @@ CALLCODE -> (CALLCODE -> DELEGATE -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcallcode_001_OOGMAfterFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcallcode_001_oogm_after( pre: Alloc, ) -> None: """CALLCODE -> (CALLCODE -> DELEGATE -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,87 @@ def test_callcallcallcode_001_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x7B1ED5FA290739659102E7C47B650EFD2EBA625B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x37e72dd6ff3c2ac8c1ddab092a26164a2ad5988c"), # noqa: E501 + address=Address(0x7DABF2BB39AAF74720CFA113AE52F673BF477E2B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x7B1ED5FA290739659102E7C47B650EFD2EBA625B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x7b1ed5fa290739659102e7c47b650efd2eba625b"), # noqa: E501 + address=Address(0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x7dabf2bb39aaf74720cfa113ae52f673bf477e2b"), # noqa: E501 + address=Address(0x7B1ED5FA290739659102E7C47B650EFD2EBA625B), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_oogm_before.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_oogm_before.py index cef9fbab2ae..91a2eccbcb8 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_oogm_before.py @@ -2,8 +2,7 @@ CALLCODE -> CALLCODE -> OOG DELEGATE -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcallcode_001_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcallcode_001_oogm_before( pre: Alloc, ) -> None: """CALLCODE -> CALLCODE -> OOG DELEGATE -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,87 @@ def test_callcallcallcode_001_oogm_before( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0xEFE4727369C5F495AEBF4EA778CC48D1155BF978, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0x8e6e134402f2eeca8e910e8ec62b45b36ee31f30"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0xEFE4727369C5F495AEBF4EA778CC48D1155BF978, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xefe4727369c5f495aebf4ea778cc48d1155bf978"), # noqa: E501 + address=Address(0xEFE4727369C5F495AEBF4EA778CC48D1155BF978), # noqa: E501 ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + nonce=0, + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_suicide_end.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_suicide_end.py index 14d5f85dd95..5a469406500 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcallcode_001_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcallcode_001_SuicideEndFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcallcode_001_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcallcode_001_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +48,96 @@ def test_callcallcallcode_001_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac521409e2fa9526bfe6b827805783d2e307c4ce"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0xAC521409E2FA9526BFE6B827805783D2E307C4CE), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + target: Account( + storage={0: 1, 1: 1, 2: 1, 3: 1}, + code=bytes.fromhex( + "6040600060406000600073eaf8c2ae0d01a880cea4e1aa88def5edd153d57b620249f0f260005500" # noqa: E501 + ), + balance=0, + nonce=0, + ), + addr: Account(storage={1: 0, 3: 0}), + addr_2: Account(storage={0: 0, 2: 0}), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_suicide_middle.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_suicide_middle.py index 99602a6fcd5..688285aefc7 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_001_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcallcode_001_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcallcode_001_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcallcode_001_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcallcode_001_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,84 +48,95 @@ def test_callcallcallcode_001_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x124b38fa011c9d36b7fe193dc636813a2f8bdaa7"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64 + ) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account( + storage={0: 1, 1: 1}, + balance=0xDE0B6B3A7640000, + nonce=0, + ), + addr: Account(storage={1: 0, 2: 0}, balance=0x2540BE400), + addr_2: Account(storage={0: 0, 2: 0}, balance=0x2540BE400), + addr_3: Account(storage={2: 0, 3: 0}, balance=0x2540BE400), + sender: Account(storage={2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_abcb_recursive.py index 14987ddf33f..651c9af114c 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcallcode_abcb_recursive.py @@ -2,8 +2,7 @@ CALLCODE -> CALLCODE1 -> DELEGATECALL2 -> CALLCODE1 -> ... Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcallcode_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """CALLCODE -> CALLCODE1 -> DELEGATECALL2 -> CALLCODE1 -> ...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CALLCODE -> CALLCODE1 -> DELEGATECALL2 -> CALLCODE1 -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,77 +48,78 @@ def test_callcallcallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x17D7840, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x17D7840, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6d477a21d3906d4c0cd1edbfa7d272e6e21f1ca1"), # noqa: E501 + address=Address(0x6D477A21D3906D4C0CD1EDBFA7D272E6E21F1CA1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xF4240, + address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa72f0e2f2fc5fd0878af9b8e4aaed09983670929"), # noqa: E501 + address=Address(0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xF4240, - address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe2ab9779f4fb1d9d39211cc2082083add172e69c"), # noqa: E501 + address=Address(0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01.py index 9d878ffbcb5..98ac67d238e 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcode_01. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcode_01Filler.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcode_01Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcode_01Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcode_01Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcode_01( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcode_01.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,72 +48,71 @@ def test_callcallcode_01( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x3D090, - address=0xD42CD48F1D9A88F4B75BFB5E46E754C1128BD7FB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x1CCCCF19D84280C8A0E94209761296DABD87B3C9, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1ccccf19d84280c8a0e94209761296dabd87b3c9"), # noqa: E501 + address=Address(0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x5, value=Op.CALLVALUE) - + Op.SSTORE(key=0xE6, value=Op.ADDRESS) - + Op.SSTORE(key=0xE8, value=Op.ORIGIN) - + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0xEE, value=Op.CODESIZE) - + Op.SSTORE(key=0xF0, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 250000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x3D090, + address=0xD42CD48F1D9A88F4B75BFB5E46E754C1128BD7FB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd42cd48f1d9a88f4b75bfb5e46e754c1128bd7fb"), # noqa: E501 + address=Address(0x1CCCCF19D84280C8A0E94209761296DABD87B3C9), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x1CCCCF19D84280C8A0E94209761296DABD87B3C9, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 5 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x5, value=Op.CALLVALUE) + + Op.SSTORE(key=0xE6, value=Op.ADDRESS) + + Op.SSTORE(key=0xE8, value=Op.ORIGIN) + + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0xEE, value=Op.CODESIZE) + + Op.SSTORE(key=0xF0, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xdb43306b16c521b9cc3667fbe7d1b697bb1f9605"), # noqa: E501 + address=Address(0xD42CD48F1D9A88F4B75BFB5E46E754C1128BD7FB), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -127,6 +126,8 @@ def test_callcallcode_01( 240: 10, }, ), + addr: Account(storage={1: 0, 2: 0, 4: 0}), + addr_2: Account(storage={4: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01_ooge.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01_ooge.py index a7252f5ddca..1ea8c1b1226 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01_ooge.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01_ooge.py @@ -2,8 +2,7 @@ CALLCODE -> DELEGATE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcode_01_OOGEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcode_01_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcode_01_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcode_01_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcode_01_ooge( pre: Alloc, ) -> None: """CALLCODE -> DELEGATE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,66 +48,67 @@ def test_callcallcode_01_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x766B2CF0691F51029181FC511395B7AB71353A88, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x29f893b720e998ccd5971409fa9a8802822fdcbc"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x766B2CF0691F51029181FC511395B7AB71353A88, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x766b2cf0691f51029181fc511395b7ab71353a88"), # noqa: E501 + address=Address(0x29F893B720E998CCD5971409FA9A8802822FDCBC), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x766B2CF0691F51029181FC511395B7AB71353A88), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01_suicide_end.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01_suicide_end.py index 0ff822b9171..d75b4d1d777 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcode_01_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcode_01_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcode_01_SuicideEndFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcode_01_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcode_01_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcode_01_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcode_01_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcode_01_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,66 +48,72 @@ def test_callcallcode_01_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64 - ) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1cca6e93108ec94304ae5eb121d323e6c317fe7a"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x703b936fd4d674f0ff5d6957f61097152f8781b8"), # noqa: E501 + address=Address(0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0x703B936FD4D674F0FF5D6957F61097152F8781B8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1}), + target: Account( + storage={0: 1, 1: 1, 2: 1}, + balance=0xDE0B6B3A7640000, + nonce=0, + ), + addr: Account(storage={0: 0, 1: 0, 2: 0}), + addr_2: Account(storage={2: 0, 3: 0}), + sender: Account(storage={1: 0, 2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010.py index b8f38ab1001..b9df8c5b644 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecall_010. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecall_010Filler.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecall_010( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecall_010.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,93 +48,92 @@ def test_callcallcodecall_010( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x3D090, - address=0xB8601B04BFD9EB63BC6FF0263567113D4CB874E4, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x5, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8738ab5302009e8bad163c8a9e91e72926b09d34"), # noqa: E501 + address=Address(0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x6, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 300000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x493E0, + address=0x8738AB5302009E8BAD163C8A9E91E72926B09D34, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb8601b04bfd9eb63bc6ff0263567113d4cb874e4"), # noqa: E501 + address=Address(0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 250000 2 0 64 0 64 ) (SSTORE 5 (CALLER))} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x3D090, + address=0xB8601B04BFD9EB63BC6FF0263567113D4CB874E4, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x5, value=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xdb43306b16c521b9cc3667fbe7d1b697bb1f9605"), # noqa: E501 + address=Address(0x8738AB5302009E8BAD163C8A9E91E72926B09D34), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x493E0, - address=0x8738AB5302009E8BAD163C8A9E91E72926B09D34, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 6 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x6, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xfed08e44ae95ece264bc94a1fc45af8bc4ef4f1d"), # noqa: E501 + address=Address(0xB8601B04BFD9EB63BC6FF0263567113D4CB874E4), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -150,6 +149,9 @@ def test_callcallcodecall_010( 340: 10, }, ), + addr: Account(storage={1: 0, 2: 0, 5: 0}), + addr_2: Account(storage={2: 0}), + addr_3: Account(storage={3: 0, 4: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_ooge.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_ooge.py index ccb1064ece8..cec776e5836 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_ooge.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_ooge.py @@ -2,8 +2,7 @@ CALLCODE -> DELEGATE -> CALLCODE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecall_010_OOGEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecall_010_ooge( pre: Alloc, ) -> None: """CALLCODE -> DELEGATE -> CALLCODE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,88 @@ def test_callcallcodecall_010_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x6322dc554acdcada01cbf7ac6a163d207c34ded2"), # noqa: E501 + address=Address(0x69A0017A51AD556682F48B32235D0B61ABDF4DA4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x69a0017a51ad556682f48b32235d0b61abdf4da4"), # noqa: E501 + address=Address(0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 11: 1}), + target: Account(storage={0: 1, 1: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={2: 0}), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_oogm_after.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_oogm_after.py index 219cae1c405..ab71dd0b2e4 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_oogm_after.py @@ -2,8 +2,7 @@ CALLCODE -> (DELEGATE -> CALLCODE -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecall_010_OOGMAfterFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecall_010_oogm_after( pre: Alloc, ) -> None: """CALLCODE -> (DELEGATE -> CALLCODE -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,87 @@ def test_callcallcodecall_010_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x926DFBCC20B2AB686FC85331883541D174CCC738, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1adae71ad3aeec97978e38be04da2a1773dfc506"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x400347dada8c51a2aac4b4c31ae726ba8551e2b9"), # noqa: E501 + address=Address(0x400347DADA8C51A2AAC4B4C31AE726BA8551E2B9), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x926DFBCC20B2AB686FC85331883541D174CCC738, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, + nonce=0, + address=Address(0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x926dfbcc20b2ab686fc85331883541d174ccc738"), # noqa: E501 + address=Address(0x926DFBCC20B2AB686FC85331883541D174CCC738), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_oogm_before.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_oogm_before.py index 961813bda84..aea320f79c3 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_oogm_before.py @@ -2,8 +2,7 @@ CALLCODE -> DELEGATE -> OOG CALLCODE -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecall_010_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecall_010_oogm_before( pre: Alloc, ) -> None: """CALLCODE -> DELEGATE -> OOG CALLCODE -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,87 @@ def test_callcallcodecall_010_oogm_before( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0d33ab78ac3965e7d6f9548dff5839138a9f69c5"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0xD33AB78AC3965E7D6F9548DFF5839138A9F69C5, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0xD33AB78AC3965E7D6F9548DFF5839138A9F69C5, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x29f893b720e998ccd5971409fa9a8802822fdcbc"), # noqa: E501 + address=Address(0x29F893B720E998CCD5971409FA9A8802822FDCBC), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x0D33AB78AC3965E7D6F9548DFF5839138A9F69C5), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_suicide_end.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_suicide_end.py index e43289ff57b..9280e3f4a68 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecall_010_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecall_010_SuicideEndFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecall_010_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecall_010_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +48,88 @@ def test_callcallcodecall_010_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455 - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x94c8f980aeecbb6575b12ae614a249fc3e836f21"), # noqa: E501 + address=Address(0x94C8F980AEECBB6575B12AE614A249FC3E836F21), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + target: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + addr: Account(storage={0: 0, 1: 0, 3: 0}), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_suicide_middle.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_suicide_middle.py index 450193b5da3..aad98acb1bf 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_010_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecall_010_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecall_010_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecall_010_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecall_010_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,84 +48,90 @@ def test_callcallcodecall_010_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x23a077e1e6b0740d6bfbc41de582f2930abd1762"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={0: 0, 1: 0}, balance=0x2540BE400), + addr_3: Account(storage={2: 0, 3: 0}, balance=0x2540BE400), + sender: Account(storage={2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_abcb_recursive.py index 73be7cdbeb4..5104bfd5fc9 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecall_abcb_recursive.py @@ -2,8 +2,7 @@ CALLCODE -> DELEGATECALL -> CALLCODE2 -> DELEGATECALL -> CALLCODE2 -> ... Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecall_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecall_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """CALLCODE -> DELEGATECALL -> CALLCODE2 -> DELEGATECALL ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CALLCODE -> DELEGATECALL -> CALLCODE2 -> DELEGATECALL -> CALLCODE2...""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,77 +48,78 @@ def test_callcallcodecall_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x17D7840, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x17D7840, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6d477a21d3906d4c0cd1edbfa7d272e6e21f1ca1"), # noqa: E501 + address=Address(0x6D477A21D3906D4C0CD1EDBFA7D272E6E21F1CA1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x7A120, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xF4240, + address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa71333d8c0291cfd6da54bec5a3957563ab16c1c"), # noqa: E501 + address=Address(0xE0B280638526CECD3EC29969B517AEB3FCBB31FA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xF4240, - address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x7A120, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe0b280638526cecd3ec29969b517aeb3fcbb31fa"), # noqa: E501 + address=Address(0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011.py index 18db4433cd2..cdbf453e523 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecallcode_011. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecallcode_011Filler.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecallcode_011( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecallcode_011.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,89 +48,88 @@ def test_callcallcodecallcode_011( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x30D40, - address=0xB8601B04BFD9EB63BC6FF0263567113D4CB874E4, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x66F7A765DC70598F71B119F636A53AAA43C4CCA1, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x563b277206f3bab1099c59abb457c3d14e2def7b"), # noqa: E501 + address=Address(0xDB43306B16C521B9CC3667FBE7D1B697BB1F9605), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x493E0, - address=0x563B277206F3BAB1099C59ABB457C3D14E2DEF7B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 300000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x493E0, + address=0x563B277206F3BAB1099C59ABB457C3D14E2DEF7B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x66f7a765dc70598f71b119f636a53aaa43c4cca1"), # noqa: E501 + address=Address(0x66F7A765DC70598F71B119F636A53AAA43C4CCA1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x6, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 200000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x30D40, + address=0xB8601B04BFD9EB63BC6FF0263567113D4CB874E4, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb8601b04bfd9eb63bc6ff0263567113d4cb874e4"), # noqa: E501 + address=Address(0x563B277206F3BAB1099C59ABB457C3D14E2DEF7B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x66F7A765DC70598F71B119F636A53AAA43C4CCA1, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 6 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x6, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xdb43306b16c521b9cc3667fbe7d1b697bb1f9605"), # noqa: E501 + address=Address(0xB8601B04BFD9EB63BC6FF0263567113D4CB874E4), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -145,6 +144,7 @@ def test_callcallcodecallcode_011( 340: 10, }, ), + addr: Account(storage={1: 0, 2: 0, 3: 0, 4: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_ooge.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_ooge.py index ba48008aada..719acdb81c8 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_ooge.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_ooge.py @@ -2,8 +2,7 @@ CALLCODE -> DELEGATE -> DELEGATE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecallcode_011_OOGEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecallcode_011_ooge( pre: Alloc, ) -> None: """CALLCODE -> DELEGATE -> DELEGATE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,84 +48,87 @@ def test_callcallcodecallcode_011_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x9E57433AFAFF8A546FBC43CF0330AFB6561DC550), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x3e423a7b1fba04d0c3f9423a3ae2a180d2878d5b"), # noqa: E501 + address=Address(0x69A0017A51AD556682F48B32235D0B61ABDF4DA4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x69a0017a51ad556682f48b32235d0b61abdf4da4"), # noqa: E501 + address=Address(0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x9e57433afaff8a546fbc43cf0330afb6561dc550"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 11: 1}), + target: Account(storage={0: 1, 1: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_oogm_after.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_oogm_after.py index 55ab0fba30e..aaf83252bea 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_oogm_after.py @@ -2,8 +2,7 @@ CALLCODE -> (DELEGATE -> DELEGATE -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecallcode_011_OOGMAfterFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecallcode_011_oogm_after( pre: Alloc, ) -> None: """CALLCODE -> (DELEGATE -> DELEGATE -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,81 +48,86 @@ def test_callcallcodecallcode_011_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1adae71ad3aeec97978e38be04da2a1773dfc506"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC3500, - address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC3500, + address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x400347dada8c51a2aac4b4c31ae726ba8551e2b9"), # noqa: E501 + address=Address(0x400347DADA8C51A2AAC4B4C31AE726BA8551E2B9), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xda11fdf0ce02240c6b4711f56afcd9763b44d3dc"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_oogm_before.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_oogm_before.py index 66ea6478a80..ee68769dfe6 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_oogm_before.py @@ -2,8 +2,7 @@ CALLCODE -> DELEGATE -> OOG DELEGATE -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecallcode_011_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecallcode_011_oogm_before( pre: Alloc, ) -> None: """CALLCODE -> DELEGATE -> OOG DELEGATE -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,81 +48,86 @@ def test_callcallcodecallcode_011_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xB5104F0F7758CE0CAAC73F593C6D63EB9A5EF905, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xB5104F0F7758CE0CAAC73F593C6D63EB9A5EF905, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (DELEGATECALL 40080 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x9C90, + address=0xC176D297FF74C0F684B73D6CC8617E7F5FFE34FE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB5104F0F7758CE0CAAC73F593C6D63EB9A5EF905), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x9C90, - address=0xC176D297FF74C0F684B73D6CC8617E7F5FFE34FE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (DELEGATECALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x4E34, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb5104f0f7758ce0caac73f593c6d63eb9a5ef905"), # noqa: E501 + address=Address(0xC176D297FF74C0F684B73D6CC8617E7F5FFE34FE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x4E34, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xc176d297ff74c0f684b73d6cc8617e7f5ffe34fe"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=172000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_suicide_end.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_suicide_end.py index bb23be0db19..14d94305a76 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecallcode_011_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecallcode_011_SuicideEndFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecallcode_011_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecallcode_011_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,88 @@ def test_callcallcodecallcode_011_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0xAC521409E2FA9526BFE6B827805783D2E307C4CE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac521409e2fa9526bfe6b827805783d2e307c4ce"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + target: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + addr: Account(storage={0: 0, 1: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_suicide_middle.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_suicide_middle.py index 56b6c36c817..cf4da259665 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_011_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecallcode_011_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecallcode_011_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecallcode_011_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecallcode_011_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +48,88 @@ def test_callcallcodecallcode_011_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0x6A45EC7F08C71B222CFC454A9608BC278E87F0AB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 + address=Address(0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0x6A45EC7F08C71B222CFC454A9608BC278E87F0AB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x6a45ec7f08c71b222cfc454a9608bc278e87f0ab"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xA74CA10B765DCDA3B60687F73F2881E2A56EDA64 + ) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x6A45EC7F08C71B222CFC454A9608BC278E87F0AB), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa74ca10b765dcda3b60687f73f2881e2a56eda64"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr_2: Account(storage={1: 0, 2: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_abcb_recursive.py index 4b697e7bfe2..500f361ef0d 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcallcodecallcode_abcb_recursive.py @@ -2,8 +2,7 @@ CALLCODE -> DELEGATECALL1 -> DELEGATECALL2 -> DELEGATECALL1 -> ... Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcallcodecallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecallcode_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """CALLCODE -> DELEGATECALL1 -> DELEGATECALL2 -> DELEGATECALL1 -> ...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CALLCODE -> DELEGATECALL1 -> DELEGATECALL2 -> DELEGATECALL1 -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,76 +48,77 @@ def test_callcallcodecallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x17D7840, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x17D7840, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6d477a21d3906d4c0cd1edbfa7d272e6e21f1ca1"), # noqa: E501 + address=Address(0x6D477A21D3906D4C0CD1EDBFA7D272E6E21F1CA1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xF4240, + address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa72f0e2f2fc5fd0878af9b8e4aaed09983670929"), # noqa: E501 + address=Address(0xE0B280638526CECD3EC29969B517AEB3FCBB31FA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xF4240, - address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe0b280638526cecd3ec29969b517aeb3fcbb31fa"), # noqa: E501 + address=Address(0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10.py index b07f2d3baa1..da20457d81f 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecall_10. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecall_10Filler.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecall_10Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecall_10Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecall_10Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecall_10( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecall_10.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,72 +48,71 @@ def test_callcodecall_10( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x3D090, - address=0xD42CD48F1D9A88F4B75BFB5E46E754C1128BD7FB, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0x69142B38329C92930601FE8DA12DC5866CDE11C3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x69142b38329c92930601fe8da12dc5866cde11c3"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0x69142B38329C92930601FE8DA12DC5866CDE11C3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 250000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x3D090, + address=0xD42CD48F1D9A88F4B75BFB5E46E754C1128BD7FB, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0x69142B38329C92930601FE8DA12DC5866CDE11C3), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x5, value=Op.CALLVALUE) - + Op.SSTORE(key=0xE6, value=Op.ADDRESS) - + Op.SSTORE(key=0xE8, value=Op.ORIGIN) - + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0xEE, value=Op.CODESIZE) - + Op.SSTORE(key=0xF0, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 5 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x5, value=Op.CALLVALUE) + + Op.SSTORE(key=0xE6, value=Op.ADDRESS) + + Op.SSTORE(key=0xE8, value=Op.ORIGIN) + + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0xEE, value=Op.CODESIZE) + + Op.SSTORE(key=0xF0, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xd42cd48f1d9a88f4b75bfb5e46e754c1128bd7fb"), # noqa: E501 + address=Address(0xD42CD48F1D9A88F4B75BFB5E46E754C1128BD7FB), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -127,6 +126,7 @@ def test_callcodecall_10( 240: 10, }, ), + addr_2: Account(storage={2: 0, 4: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10_ooge.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10_ooge.py index 2edcf60f1ca..86919a9f3f1 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10_ooge.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> CALLCODE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecall_10_OOGEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecall_10_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecall_10_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecall_10_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecall_10_ooge( pre: Alloc, ) -> None: """DELEGATE -> CALLCODE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,66 +48,68 @@ def test_callcodecall_10_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x766B2CF0691F51029181FC511395B7AB71353A88, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x766b2cf0691f51029181fc511395b7ab71353a88"), # noqa: E501 + address=Address(0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x766B2CF0691F51029181FC511395B7AB71353A88, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x8e6e134402f2eeca8e910e8ec62b45b36ee31f30"), # noqa: E501 + address=Address(0x766B2CF0691F51029181FC511395B7AB71353A88), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={2: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10_suicide_end.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10_suicide_end.py index 03154140bb9..982c40cde74 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecall_10_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecall_10_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecall_10_SuicideEndFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecall_10_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecall_10_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecall_10_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecall_10_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecall_10_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,66 +48,67 @@ def test_callcodecall_10_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x799DA5A3C983A22F9C430DE1BF99134EE561E856, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x799DA5A3C983A22F9C430DE1BF99134EE561E856, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xC350, + address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x703b936fd4d674f0ff5d6957f61097152f8781b8"), # noqa: E501 + address=Address(0x799DA5A3C983A22F9C430DE1BF99134EE561E856), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xC350, - address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x799da5a3c983a22f9c430de1bf99134ee561e856"), # noqa: E501 + address=Address(0x703B936FD4D674F0FF5D6957F61097152F8781B8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1}), + target: Account(storage={0: 1, 1: 1, 2: 1}), + addr: Account(storage={0: 0, 2: 0}), + addr_2: Account(storage={2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100.py index 7a5a21493d5..ec29432b357 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcall_100. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcall_100Filler.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcall_100( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcall_100.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,93 +48,92 @@ def test_callcodecallcall_100( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x3D090, - address=0x9BA8D9F7285EBC9BCAAF9DD90F3C123797489566, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0xBCC37470FBB132DE68B5746FF4463735A31B5F0C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x47f860829f84284269e427671425e1991a340efa"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x6, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 300000 1 0 64 0 64 ) (SSTORE 5 (CALLER))} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x493E0, + address=0x47F860829F84284269E427671425E1991A340EFA, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x5, value=Op.CALLER) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9ba8d9f7285ebc9bcaaf9dd90f3c123797489566"), # noqa: E501 + address=Address(0xBCC37470FBB132DE68B5746FF4463735A31B5F0C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x493E0, - address=0x47F860829F84284269E427671425E1991A340EFA, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x5, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 250000 2 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x3D090, + address=0x9BA8D9F7285EBC9BCAAF9DD90F3C123797489566, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc37470fbb132de68b5746ff4463735a31b5f0c"), # noqa: E501 + address=Address(0x47F860829F84284269E427671425E1991A340EFA), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0xBCC37470FBB132DE68B5746FF4463735A31B5F0C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 6 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x6, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0x9BA8D9F7285EBC9BCAAF9DD90F3C123797489566), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -150,6 +149,8 @@ def test_callcodecallcall_100( 340: 10, }, ), + addr_2: Account(storage={2: 0}), + addr_3: Account(storage={3: 0, 4: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_ooge.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_ooge.py index ab4cb7d8f3a..a7ff09c97c3 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_ooge.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> CALLCODE -> CALLCODE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcall_100_OOGEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcall_100_ooge( pre: Alloc, ) -> None: """DELEGATE -> CALLCODE -> CALLCODE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,88 @@ def test_callcodecallcall_100_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0x6389DE20837EC4A47465AED415C7912598FEDC96, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x6322dc554acdcada01cbf7ac6a163d207c34ded2"), # noqa: E501 + address=Address(0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0x6389DE20837EC4A47465AED415C7912598FEDC96, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x6389de20837ec4a47465aed415c7912598fedc96"), # noqa: E501 + address=Address(0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x6322DC554ACDCADA01CBF7AC6A163D207C34DED2, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x913cf7a18f61bab7bccf5607dfa9b730c5976000"), # noqa: E501 + address=Address(0x6389DE20837EC4A47465AED415C7912598FEDC96), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 11: 1}), + target: Account(storage={0: 1, 1: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_oogm_after.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_oogm_after.py index 9d0474c3cf8..d064a7ece5c 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_oogm_after.py @@ -2,8 +2,7 @@ DELEGATE -> (CALLCODE -> CALLCODE -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcall_100_OOGMAfterFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcall_100_oogm_after( pre: Alloc, ) -> None: """DELEGATE -> (CALLCODE -> CALLCODE -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,87 @@ def test_callcodecallcall_100_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x926DFBCC20B2AB686FC85331883541D174CCC738, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x37e72dd6ff3c2ac8c1ddab092a26164a2ad5988c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x74ecd5f6537b2b48ebbff8d66aee8eb8f98430a3"), # noqa: E501 + address=Address(0x74ECD5F6537B2B48EBBFF8D66AEE8EB8F98430A3), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x926DFBCC20B2AB686FC85331883541D174CCC738, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, + nonce=0, + address=Address(0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x926dfbcc20b2ab686fc85331883541d174ccc738"), # noqa: E501 + address=Address(0x926DFBCC20B2AB686FC85331883541D174CCC738), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_oogm_before.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_oogm_before.py index 63ba4e5af3a..48768eeac7f 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_oogm_before.py @@ -2,8 +2,7 @@ DELEGATE -> CALLCODE -> OOG CALLCODE -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcall_100_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcall_100_oogm_before( pre: Alloc, ) -> None: """DELEGATE -> CALLCODE -> OOG CALLCODE -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,87 @@ def test_callcodecallcall_100_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x8e6e134402f2eeca8e910e8ec62b45b36ee31f30"), # noqa: E501 + address=Address(0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xDBB53599A5D13E0C465E1CC4FF24D7F00D780DF4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xdbb53599a5d13e0c465e1cc4ff24d7f00d780df4"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_suicide_end.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_suicide_end.py index a7ec2ec31f4..31fd107b872 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcall_100_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcall_100_SuicideEndFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcall_100_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcall_100_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +48,89 @@ def test_callcodecallcall_100_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x94c8f980aeecbb6575b12ae614a249fc3e836f21"), # noqa: E501 + address=Address(0x94C8F980AEECBB6575B12AE614A249FC3E836F21), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + target: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + addr: Account(storage={1: 0, 2: 0, 3: 0}), + addr_2: Account(storage={0: 0, 1: 0, 2: 0}), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_suicide_middle.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_suicide_middle.py index 9771f03157d..6ca245f1dc9 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_100_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcall_100_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcall_100_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcall_100_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcall_100_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,84 +48,90 @@ def test_callcodecallcall_100_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x23a077e1e6b0740d6bfbc41de582f2930abd1762"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr_2: Account(storage={0: 0, 1: 0}), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_abcb_recursive.py index 146ce9a7dce..8d3fe4532d7 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcall_abcb_recursive.py @@ -2,8 +2,7 @@ DELEGATE -> CALLCODE1 -> CALLCODE2 -> CALLCODE1 -> ... Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcall_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcall_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """DELEGATE -> CALLCODE1 -> CALLCODE2 -> CALLCODE1 -> ...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """DELEGATE -> CALLCODE1 -> CALLCODE2 -> CALLCODE1 -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,77 +48,79 @@ def test_callcodecallcall_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x17D7840, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x17D7840, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15600a91a7af84b8c85782714b3391ed5d73f9a0"), # noqa: E501 + address=Address(0x15600A91A7AF84B8C85782714B3391ED5D73F9A0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x7A120, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xF4240, + address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa71333d8c0291cfd6da54bec5a3957563ab16c1c"), # noqa: E501 + address=Address(0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xF4240, - address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x7A120, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe2ab9779f4fb1d9d39211cc2082083add172e69c"), # noqa: E501 + address=Address(0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1, 2: 0}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101.py index 38636f2cacd..96619969f01 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcallcode_101. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcallcode_101Filler.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcallcode_101( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcallcode_101.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,93 +48,92 @@ def test_callcodecallcallcode_101( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0xCC06DD0686D0E620FBD99F6A023BA77440119F71, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x6, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 300000 1 0 64 0 64 ) (SSTORE 5 (CALLER)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x493E0, + address=0xAE5F44E50ECBF16179774393C643204383FDE833, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x5, value=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xae5f44e50ecbf16179774393c643204383fde833"), # noqa: E501 + address=Address(0xCC06DD0686D0E620FBD99F6A023BA77440119F71), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x493E0, - address=0xAE5F44E50ECBF16179774393C643204383FDE833, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x5, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 250000 0 64 0 64 ) (SSTORE 6 (CALLER)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x6, value=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcc06dd0686d0e620fbd99f6a023ba77440119f71"), # noqa: E501 + address=Address(0xAE5F44E50ECBF16179774393C643204383FDE833), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0xCC06DD0686D0E620FBD99F6A023BA77440119F71, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -151,6 +150,9 @@ def test_callcodecallcallcode_101( 340: 10, }, ), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={2: 0, 3: 0, 4: 0, 6: 0}), + sender: Account(storage={1: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_ooge.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_ooge.py index 823d442bc73..31d66ba2680 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_ooge.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> CALLCODE -> CALLCODE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcallcode_101_OOGEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcallcode_101_ooge( pre: Alloc, ) -> None: """DELEGATE -> CALLCODE -> CALLCODE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,84 +48,87 @@ def test_callcodecallcallcode_101_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0xFCF790146E167FB47D128896C5BA30B0265B1780, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x913CF7A18F61BAB7BCCF5607DFA9B730C5976000), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0xFCF790146E167FB47D128896C5BA30B0265B1780, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x913cf7a18f61bab7bccf5607dfa9b730c5976000"), # noqa: E501 + address=Address(0xFCF790146E167FB47D128896C5BA30B0265B1780), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xfcf790146e167fb47d128896c5ba30b0265b1780"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 11: 1}), + target: Account(storage={0: 1, 1: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_oogm_after.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_oogm_after.py index 9772ab8b1b3..00c31515253 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_oogm_after.py @@ -2,8 +2,7 @@ DELEGATE -> (CALLCODE -> DELEGATE -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcallcode_101_OOGMAfterFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcallcode_101_oogm_after( pre: Alloc, ) -> None: """DELEGATE -> (CALLCODE -> DELEGATE -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,81 +48,86 @@ def test_callcodecallcallcode_101_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x37e72dd6ff3c2ac8c1ddab092a26164a2ad5988c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) [[11]] 1} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5afccf55d80f6c4c95515cffd8e7d51d2c4c9f4a"), # noqa: E501 + address=Address(0x5AFCCF55D80F6C4C95515CFFD8E7D51D2C4C9F4A), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x37E72DD6FF3C2AC8C1DDAB092A26164A2AD5988C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xda11fdf0ce02240c6b4711f56afcd9763b44d3dc"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_oogm_before.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_oogm_before.py index df4ca1e11a3..1977bfc9684 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_oogm_before.py @@ -2,8 +2,7 @@ DELEGATE -> CALLCODE -> OOG DELEGATE -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcallcode_101_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcallcode_101_oogm_before( pre: Alloc, ) -> None: """DELEGATE -> CALLCODE -> OOG DELEGATE -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,81 +48,86 @@ def test_callcodecallcallcode_101_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x927C0, + address=0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x71e7e95d2dfe9f65b4522f2d3aa71fb33f49920c"), # noqa: E501 + address=Address(0x8E6E134402F2EECA8E910E8EC62B45B36EE31F30), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x927C0, - address=0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x8e6e134402f2eeca8e910e8ec62b45b36ee31f30"), # noqa: E501 + address=Address(0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_suicide_end.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_suicide_end.py index 9e0d388378c..abacbbe93f7 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcallcode_101_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcallcode_101_SuicideEndFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcallcode_101_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcallcode_101_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,88 @@ def test_callcodecallcallcode_101_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0xEAF8C2AE0D01A880CEA4E1AA88DEF5EDD153D57B) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac521409e2fa9526bfe6b827805783d2e307c4ce"), # noqa: E501 + address=Address(0xAC521409E2FA9526BFE6B827805783D2E307C4CE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeaf8c2ae0d01a880cea4e1aa88def5edd153d57b"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + target: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + addr: Account(storage={1: 0, 3: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0, 2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_suicide_middle.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_suicide_middle.py index b7a15e6d668..ae12911a59f 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_101_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcallcode_101_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcallcode_101_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,12 @@ def test_callcodecallcallcode_101_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcallcode_101_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000001) + contract_2 = Address(0x1000000000000000000000000000000000000002) + contract_3 = Address(0x1000000000000000000000000000000000000003) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,89 +52,90 @@ def test_callcodecallcallcode_101_suicide_middle( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x1000000000000000000000000000000000000001, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x1000000000000000000000000000000000000001, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x186A0, - address=0x1000000000000000000000000000000000000002, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x186A0, + address=0x1000000000000000000000000000000000000002, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x1000000000000000000000000000000000000000) [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) } # noqa: E501 - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x1000000000000000000000000000000000000000) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x1000000000000000000000000000000000000003, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x1000000000000000000000000000000000000000 + ) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x1000000000000000000000000000000000000003, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1000000000000000000000000000000000000002"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000002), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SSTORE 3 1) } - pre.deploy_contract( + contract_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1000000000000000000000000000000000000003"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000003), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + contract_0: Account(storage={0: 1, 1: 1}), + contract_1: Account(storage={1: 0}, balance=0x2540BE400), + contract_2: Account(storage={2: 0}, balance=0x2540BE400), + contract_3: Account(storage={3: 0}, balance=0x2540BE400), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_abcb_recursive.py index 3f7d1867af3..58660cb13c6 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcallcode_abcb_recursive.py @@ -1,9 +1,8 @@ """ -DELEGATECALL -> CALLCODE -> DELEGATECALL2 -> CALLCODE -> DELEGATECALL2 -> ... +DELEGATECALL -> CALLCODE -> DELEGATECALL2 -> CALLCODE -> DELEGATECALL2... Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcallcode_abcb_recursive( pre: Alloc, ) -> None: """DELEGATECALL -> CALLCODE -> DELEGATECALL2 -> CALLCODE ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,76 +48,78 @@ def test_callcodecallcallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x17D7840, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x17D7840, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15600a91a7af84b8c85782714b3391ed5d73f9a0"), # noqa: E501 + address=Address(0x15600A91A7AF84B8C85782714B3391ED5D73F9A0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALLCODE 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xF4240, + address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa72f0e2f2fc5fd0878af9b8e4aaed09983670929"), # noqa: E501 + address=Address(0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xF4240, - address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0xE2AB9779F4FB1D9D39211CC2082083ADD172E69C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe2ab9779f4fb1d9d39211cc2082083add172e69c"), # noqa: E501 + address=Address(0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11.py index aac7727e127..6d4c0175869 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcode_11. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcode_11Filler.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcode_11( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcode_11.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,70 +48,69 @@ def test_callcodecallcode_11( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x3D090, - address=0xD42CD48F1D9A88F4B75BFB5E46E754C1128BD7FB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - nonce=0, - address=Address("0x2b0691cd58a1cf4628d642e9aca9ab04946e3ec9"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0x2B0691CD58A1CF4628D642E9ACA9AB04946E3EC9, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0x2B0691CD58A1CF4628D642E9ACA9AB04946E3EC9, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x5, value=Op.CALLVALUE) - + Op.SSTORE(key=0xE6, value=Op.ADDRESS) - + Op.SSTORE(key=0xE8, value=Op.ORIGIN) - + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0xEE, value=Op.CODESIZE) - + Op.SSTORE(key=0xF0, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 250000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x3D090, + address=0xD42CD48F1D9A88F4B75BFB5E46E754C1128BD7FB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0x2B0691CD58A1CF4628D642E9ACA9AB04946E3EC9), # noqa: E501 + ) + # Source: lll + # { (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 5 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x5, value=Op.CALLVALUE) + + Op.SSTORE(key=0xE6, value=Op.ADDRESS) + + Op.SSTORE(key=0xE8, value=Op.ORIGIN) + + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0xEE, value=Op.CODESIZE) + + Op.SSTORE(key=0xF0, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xd42cd48f1d9a88f4b75bfb5e46e754c1128bd7fb"), # noqa: E501 + address=Address(0xD42CD48F1D9A88F4B75BFB5E46E754C1128BD7FB), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -124,6 +123,9 @@ def test_callcodecallcode_11( 240: 10, }, ), + addr: Account(storage={1: 0, 2: 0, 4: 0, 5: 0}), + addr_2: Account(storage={2: 0}), + sender: Account(storage={1: 0, 2: 0, 4: 0, 5: 0}, nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11_ooge.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11_ooge.py index 74294ac5877..368a7961641 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11_ooge.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> DELEGATE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcode_11_OOGEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcode_11_ooge( pre: Alloc, ) -> None: """DELEGATE -> DELEGATE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,65 +48,67 @@ def test_callcodecallcode_11_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0xECB18A704984B0E051E46358D64EF7811F2945BA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0xECB18A704984B0E051E46358D64EF7811F2945BA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) [[11]] 1} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x766B2CF0691F51029181FC511395B7AB71353A88, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x766b2cf0691f51029181fc511395b7ab71353a88"), # noqa: E501 + address=Address(0xECB18A704984B0E051E46358D64EF7811F2945BA), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x766B2CF0691F51029181FC511395B7AB71353A88, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xecb18a704984b0e051e46358d64ef7811f2945ba"), # noqa: E501 + address=Address(0x766B2CF0691F51029181FC511395B7AB71353A88), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={2: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11_suicide_end.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11_suicide_end.py index 746f3d6cefb..24a34b71978 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcode_11_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcode_11_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcode_11_SuicideEndFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcode_11_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcode_11_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,65 +48,66 @@ def test_callcodecallcode_11_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671 - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x1cca6e93108ec94304ae5eb121d323e6c317fe7a"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x703b936fd4d674f0ff5d6957f61097152f8781b8"), # noqa: E501 + address=Address(0x703B936FD4D674F0FF5D6957F61097152F8781B8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1}), + target: Account(storage={0: 1, 1: 1, 2: 1}), + addr: Account(storage={0: 0, 1: 0, 2: 0}), + addr_2: Account(storage={2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110.py index 1752d42574b..4acb67de28a 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecall_110. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecall_110Filler.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecall_110( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecall_110.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,93 +48,92 @@ def test_callcodecallcodecall_110( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x6, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0x669E33B1AA30351139B73C3942ACDE1B09E75BCD, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2f1dbd8e6a5782a1a446d6ced65d3b316c857b55"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x493E0, - address=0x2F1DBD8E6A5782A1A446D6CED65D3B316C857B55, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x5, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 300000 0 64 0 64 ) (SSTORE 5 (CALLER))} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x493E0, + address=0x2F1DBD8E6A5782A1A446D6CED65D3B316C857B55, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x5, value=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x669e33b1aa30351139b73c3942acde1b09e75bcd"), # noqa: E501 + address=Address(0x669E33B1AA30351139B73C3942ACDE1B09E75BCD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 250000 1 0 64 0 64 ) (SSTORE 6 (CALLER))} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x6, value=Op.CALLER) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0x2F1DBD8E6A5782A1A446D6CED65D3B316C857B55), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0x669E33B1AA30351139B73C3942ACDE1B09E75BCD, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -151,6 +150,8 @@ def test_callcodecallcodecall_110( 340: 10, }, ), + addr_3: Account(storage={3: 0, 4: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_ooge.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_ooge.py index 7cc236f2cb6..018fbdca539 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_ooge.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> DELEGATE -> CALLCODE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecall_110_OOGEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecall_110_ooge( pre: Alloc, ) -> None: """DELEGATE -> DELEGATE -> CALLCODE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,84 +48,87 @@ def test_callcodecallcodecall_110_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x3568EC0DDA63B253E338FBC4990869FD168AB515, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x69A0017A51AD556682F48B32235D0B61ABDF4DA4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) [[11]] 1} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x3568ec0dda63b253e338fbc4990869fd168ab515"), # noqa: E501 + address=Address(0x3568EC0DDA63B253E338FBC4990869FD168AB515), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x3568EC0DDA63B253E338FBC4990869FD168AB515, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x69a0017a51ad556682f48b32235d0b61abdf4da4"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 11: 1}), + target: Account(storage={0: 1, 1: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_oogm_after.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_oogm_after.py index 1879b57efbf..d6ec6cd3204 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_oogm_after.py @@ -2,8 +2,7 @@ DELEGATE -> (DELEGATE -> CALLCODE -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecall_110_OOGMAfterFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecall_110_oogm_after( pre: Alloc, ) -> None: """DELEGATE -> (DELEGATE -> CALLCODE -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,81 +48,86 @@ def test_callcodecallcodecall_110_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0be2d28f50cb59ffbd66d2eb6a3e8d34f3561d8b"), # noqa: E501 + address=Address(0x74ECD5F6537B2B48EBBFF8D66AEE8EB8F98430A3), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0xBE2D28F50CB59FFBD66D2EB6A3E8D34F3561D8B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0xBE2D28F50CB59FFBD66D2EB6A3E8D34F3561D8B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x1adae71ad3aeec97978e38be04da2a1773dfc506"), # noqa: E501 + address=Address(0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x74ecd5f6537b2b48ebbff8d66aee8eb8f98430a3"), # noqa: E501 + address=Address(0x0BE2D28F50CB59FFBD66D2EB6A3E8D34F3561D8B), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_oogm_before.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_oogm_before.py index 123713447b9..ce98c5c7c69 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_oogm_before.py @@ -2,8 +2,7 @@ DELEGATE -> DELEGATE -> OOG CALLCODE -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecall_110_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecall_110_oogm_before( pre: Alloc, ) -> None: """DELEGATE -> DELEGATE -> OOG CALLCODE -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,81 +48,86 @@ def test_callcodecallcodecall_110_oogm_before( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - nonce=0, - address=Address("0x0d33ab78ac3965e7d6f9548dff5839138a9f69c5"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0xD33AB78AC3965E7D6F9548DFF5839138A9F69C5, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0x29F893B720E998CCD5971409FA9A8802822FDCBC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0xD33AB78AC3965E7D6F9548DFF5839138A9F69C5, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALLCODE 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x29f893b720e998ccd5971409fa9a8802822fdcbc"), # noqa: E501 + address=Address(0x0D33AB78AC3965E7D6F9548DFF5839138A9F69C5), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_suicide_end.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_suicide_end.py index d6ee8321558..cce14db4d56 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecall_110_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecall_110_SuicideEndFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecall_110_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecall_110_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,87 @@ def test_callcodecallcodecall_110_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0x94C8F980AEECBB6575B12AE614A249FC3E836F21, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x94C8F980AEECBB6575B12AE614A249FC3E836F21), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x94c8f980aeecbb6575b12ae614a249fc3e836f21"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + target: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + addr: Account(storage={1: 0, 3: 0}), + addr_2: Account(storage={2: 0, 3: 0}), + addr_3: Account(storage={3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_suicide_middle.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_suicide_middle.py index 7dc9fb0c1eb..3828c237c68 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_110_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecall_110_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecall_110_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecall_110_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecall_110_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +48,89 @@ def test_callcodecallcodecall_110_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x23a077e1e6b0740d6bfbc41de582f2930abd1762"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALLCODE 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 + address=Address(0x23A077E1E6B0740D6BFBC41DE582F2930ABD1762), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={0: 0, 1: 0}), + addr_2: Account(storage={2: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_abcb_recursive.py index ad704e8d2dc..775d02a13a1 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecall_abcb_recursive.py @@ -2,8 +2,7 @@ DELEGATECALL -> DELEGATECALL2 -> CALLCODE -> DELEGATECALL2 -> .. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecall_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecall_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """DELEGATECALL -> DELEGATECALL2 -> CALLCODE -> DELEGATECALL2 -> ..""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """DELEGATECALL -> DELEGATECALL2 -> CALLCODE -> DELEGATECALL2 -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,76 +48,78 @@ def test_callcodecallcodecall_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x17D7840, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x17D7840, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15600a91a7af84b8c85782714b3391ed5d73f9a0"), # noqa: E501 + address=Address(0x15600A91A7AF84B8C85782714B3391ED5D73F9A0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x7A120, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xF4240, + address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa71333d8c0291cfd6da54bec5a3957563ab16c1c"), # noqa: E501 + address=Address(0xE0B280638526CECD3EC29969B517AEB3FCBB31FA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xF4240, - address=0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x7A120, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe0b280638526cecd3ec29969b517aeb3fcbb31fa"), # noqa: E501 + address=Address(0xA71333D8C0291CFD6DA54BEC5A3957563AB16C1C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111.py index 9ae5bc822ff..2d25cef8fd2 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecallcode_111. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecallcode_111Filler.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecallcode_111( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecallcode_111.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,88 +48,87 @@ def test_callcodecallcodecallcode_111( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0x66F7A765DC70598F71B119F636A53AAA43C4CCA1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x12bdab5af7fd144e2841e58cb6cf90d467054643"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x493E0, - address=0x12BDAB5AF7FD144E2841E58CB6CF90D467054643, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 300000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x493E0, + address=0x12BDAB5AF7FD144E2841E58CB6CF90D467054643, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x66f7a765dc70598f71b119f636a53aaa43c4cca1"), # noqa: E501 + address=Address(0x66F7A765DC70598F71B119F636A53AAA43C4CCA1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 250000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0x12BDAB5AF7FD144E2841E58CB6CF90D467054643), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0x66F7A765DC70598F71B119F636A53AAA43C4CCA1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -143,6 +142,7 @@ def test_callcodecallcodecallcode_111( 340: 10, }, ), + sender: Account(storage={1: 0, 2: 0, 3: 0, 4: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_ooge.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_ooge.py index c4ac6882efa..3918ea8ec11 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_ooge.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> DELEGATE -> OOG DELEGATE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecallcode_111_OOGEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecallcode_111_ooge( pre: Alloc, ) -> None: """DELEGATE -> DELEGATE -> OOG DELEGATE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +48,86 @@ def test_callcodecallcodecallcode_111_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x69A0017A51AD556682F48B32235D0B61ABDF4DA4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x3e423a7b1fba04d0c3f9423a3ae2a180d2878d5b"), # noqa: E501 + address=Address(0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x69a0017a51ad556682f48b32235d0b61abdf4da4"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 11: 1}), + target: Account(storage={0: 1, 1: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_oogm_after.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_oogm_after.py index b02f240e109..ebc6c1b78bc 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_oogm_after.py @@ -2,8 +2,7 @@ DELEGATE -> (DELEGATE -> OOG DELEGATE -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecallcode_111_OOGMAfterFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecallcode_111_oogm_after( pre: Alloc, ) -> None: """DELEGATE -> (DELEGATE -> OOG DELEGATE -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,80 +48,85 @@ def test_callcodecallcodecallcode_111_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1adae71ad3aeec97978e38be04da2a1773dfc506"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x74ecd5f6537b2b48ebbff8d66aee8eb8f98430a3"), # noqa: E501 + address=Address(0x74ECD5F6537B2B48EBBFF8D66AEE8EB8F98430A3), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xda11fdf0ce02240c6b4711f56afcd9763b44d3dc"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_oogm_before.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_oogm_before.py index f4e920904c1..0af1ded1f67 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_oogm_before.py @@ -2,8 +2,7 @@ DELEGATE -> DELEGATE -> OOG DELEGATE -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecallcode_111_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecallcode_111_oogm_before( pre: Alloc, ) -> None: """DELEGATE -> DELEGATE -> OOG DELEGATE -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,80 +48,85 @@ def test_callcodecallcodecallcode_111_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x29f893b720e998ccd5971409fa9a8802822fdcbc"), # noqa: E501 + address=Address(0x29F893B720E998CCD5971409FA9A8802822FDCBC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x71e7e95d2dfe9f65b4522f2d3aa71fb33f49920c"), # noqa: E501 + address=Address(0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_suicide_end.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_suicide_end.py index e5b26bc63ed..48d8fa626cd 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecallcode_111_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecallcode_111_SuicideEndFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecallcode_111_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecallcode_111_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,87 +48,88 @@ def test_callcodecallcodecallcode_111_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x9CFF7A3C9C90A301C47982DC2C4399C93700F0FD, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x9CFF7A3C9C90A301C47982DC2C4399C93700F0FD, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 100000 1 0 64 0 64) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0xB207980945728D64A3C9F905932314C8F130EE38, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x9CFF7A3C9C90A301C47982DC2C4399C93700F0FD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0xB207980945728D64A3C9F905932314C8F130EE38, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALLCODE 50000 2 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x9CFF7A3C9C90A301C47982DC2C4399C93700F0FD) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x9cff7a3c9c90a301c47982dc2c4399c93700f0fd"), # noqa: E501 + address=Address(0xB207980945728D64A3C9F905932314C8F130EE38), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x9CFF7A3C9C90A301C47982DC2C4399C93700F0FD - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xb207980945728d64a3c9f905932314c8f130ee38"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), - callee_2: Account(storage={2: 1, 3: 1}), + target: Account(storage={0: 1, 1: 1, 2: 0, 3: 0}), + addr: Account(storage={1: 0, 2: 0, 3: 0}), + addr_2: Account(storage={2: 1, 3: 1}), + addr_3: Account(storage={2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_suicide_middle.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_suicide_middle.py index 7dda3f59fee..95dfb7b9826 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_111_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecallcode_111_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecallcode_111_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecallcode_111_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecallcode_111_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,91 @@ def test_callcodecallcodecallcode_111_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x124b38fa011c9d36b7fe193dc636813a2f8bdaa7"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671 + ) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account( + storage={0: 1, 1: 1, 2: 0}, + balance=0xDE0B6B3A7640000, + ), + addr: Account(storage={0: 0, 1: 0, 2: 0}, balance=0x2540BE400), + addr_2: Account(storage={2: 0, 3: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_abcb_recursive.py index 15fdaed876b..f13c6854ae9 100644 --- a/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesCallCodeHomestead/test_callcodecallcodecallcode_abcb_recursive.py @@ -2,8 +2,7 @@ DELEGATECALL -> DELEGATECALL1 -> DELEGATECALL2 -> DELEGATECAL1 -> ... Ported from: -tests/static/state_tests/stCallDelegateCodesCallCodeHomestead -callcodecallcodecallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecallcode_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """DELEGATECALL -> DELEGATECALL1 -> DELEGATECALL2 -> DELEGATECAL1 -> ...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """DELEGATECALL -> DELEGATECALL1 -> DELEGATECALL2 -> DELEGATECAL1 -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,75 +48,77 @@ def test_callcodecallcodecallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x17D7840, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x17D7840, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15600a91a7af84b8c85782714b3391ed5d73f9a0"), # noqa: E501 + address=Address(0x15600A91A7AF84B8C85782714B3391ED5D73F9A0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xF4240, + address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa72f0e2f2fc5fd0878af9b8e4aaed09983670929"), # noqa: E501 + address=Address(0xE0B280638526CECD3EC29969B517AEB3FCBB31FA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xF4240, - address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe0b280638526cecd3ec29969b517aeb3fcbb31fa"), # noqa: E501 + address=Address(0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/__init__.py b/tests/ported_static/stCallDelegateCodesHomestead/__init__.py index a8b94011fd3..e279839d020 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/__init__.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/__init__.py @@ -1 +1 @@ -"""Tests ported from stCallDelegateCodesHomestead.""" +"""Ported static tests: stCallDelegateCodesHomestead.""" # noqa: N999 diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001.py index e405d4039e7..99e15bedad6 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcallcode_001. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcallcode_001Filler.json +state_tests/stCallDelegateCodesHomestead/callcallcallcode_001Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcallcode_001Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcallcode_001Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcallcode_001( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcallcode_001.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,92 +48,93 @@ def test_callcallcallcode_001( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x55730, + address=0x9073671D2BFB351331716FD279282EACF50824AD, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6f50426aa1bbb3cbd865847823f377d918757c07"), # noqa: E501 + address=Address(0xEB09FF15547417853F6F4B240B8804769C37B0F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 300000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x493E0, + address=0x6F50426AA1BBB3CBD865847823F377D918757C07, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0x9073671D2BFB351331716FD279282EACF50824AD), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x493E0, - address=0x6F50426AA1BBB3CBD865847823F377D918757C07, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 250000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9073671d2bfb351331716fd279282eacf50824ad"), # noqa: E501 + address=Address(0x6F50426AA1BBB3CBD865847823F377D918757C07), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x55730, - address=0x9073671D2BFB351331716FD279282EACF50824AD, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xeb09ff15547417853f6f4b240b8804769c37b0f1"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + target: Account(storage={0: 1, 1: 0, 3: 0, 4: 0}), + addr: Account(storage={1: 1, 3: 0, 4: 0}), + addr_2: Account( storage={ 2: 1, 3: 1, @@ -146,8 +147,7 @@ def test_callcallcallcode_001( 340: 10, }, ), - callee_2: Account(storage={1: 1}), - contract: Account(storage={0: 1}), + addr_3: Account(storage={2: 0, 3: 0, 4: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_ooge.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_ooge.py index ce3e20445b0..ff8b0b335e7 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_ooge.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_ooge.py @@ -2,8 +2,7 @@ CALL -> CALL -> DELEGATE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcallcode_001_OOGEFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcallcode_001_ooge( pre: Alloc, ) -> None: """CALL -> CALL -> DELEGATE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,87 +48,88 @@ def test_callcallcallcode_001_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x3e423a7b1fba04d0c3f9423a3ae2a180d2878d5b"), # noqa: E501 + address=Address(0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xbbdce54b3c571b853032cb3a637e8f5b81dbaf0d"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={11: 1}), - callee_2: Account(storage={1: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={1: 1}), + addr_2: Account(storage={11: 1}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_oogm_after.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_oogm_after.py index 6aaad4e9307..599e3cee3b1 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_oogm_after.py @@ -2,8 +2,7 @@ CALL -> (CALL -> DELEGATE -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcallcode_001_OOGMAfterFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcallcode_001_oogm_after( pre: Alloc, ) -> None: """CALL -> (CALL -> DELEGATE -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,87 @@ def test_callcallcallcode_001_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0xB5D1A486869D27225126C47727513F57D329A01A, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7b1ed5fa290739659102e7c47b650efd2eba625b"), # noqa: E501 + address=Address(0xB501C5662091E198627416E5579D42ACEE74DBFC), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x7B1ED5FA290739659102E7C47B650EFD2EBA625B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB5D1A486869D27225126C47727513F57D329A01A), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0xB5D1A486869D27225126C47727513F57D329A01A, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb501c5662091e198627416e5579d42acee74dbfc"), # noqa: E501 + address=Address(0x7B1ED5FA290739659102E7C47B650EFD2EBA625B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x7B1ED5FA290739659102E7C47B650EFD2EBA625B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb5d1a486869d27225126c47727513f57d329a01a"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_oogm_before.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_oogm_before.py index 7600c491bab..eba31f72e76 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_oogm_before.py @@ -2,8 +2,7 @@ CALL -> CALL -> OOG DELEGATE -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcallcode_001_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcallcode_001_oogm_before( state_test: StateTestFiller, pre: Alloc, ) -> None: - """CALL -> CALL -> OOG DELEGATE -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CALL -> CALL -> OOG DELEGATE -> CODE .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +48,87 @@ def test_callcallcallcode_001_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0xEFE4727369C5F495AEBF4EA778CC48D1155BF978, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0xEFE4727369C5F495AEBF4EA778CC48D1155BF978, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x471072d55a5a95044c2326f0e94a6d8df5b8089e"), # noqa: E501 + address=Address(0x471072D55A5A95044C2326F0E94A6D8DF5B8089E), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xEFE4727369C5F495AEBF4EA778CC48D1155BF978), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xefe4727369c5f495aebf4ea778cc48d1155bf978"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee: Account(storage={11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={11: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_suicide_end.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_suicide_end.py index 34ff159d5e6..70ef39f5872 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcallcode_001_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcallcode_001_SuicideEndFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcallcode_001_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcallcode_001_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,88 +48,89 @@ def test_callcallcallcode_001_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0xAC521409E2FA9526BFE6B827805783D2E307C4CE), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac521409e2fa9526bfe6b827805783d2e307c4ce"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={1: 1}), - callee_2: Account(storage={2: 1, 3: 1}), + target: Account(storage={0: 1, 2: 0}), + addr: Account(storage={1: 1, 3: 0}), + addr_2: Account(storage={2: 1, 3: 1}, balance=0), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_suicide_middle.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_suicide_middle.py index 6dd0d53813d..6b821257b63 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_001_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcallcode_001_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcallcode_001_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcallcode_001_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcallcode_001_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcallcode_001_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,98 @@ def test_callcallcallcode_001_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x124b38fa011c9d36b7fe193dc636813a2f8bdaa7"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66 + ) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee_2: Account(storage={1: 1}), + addr_2: Account( + storage={}, + code=bytes.fromhex( + "734353e77718be108d4c149d88b34caceda42c5c66ff60406000604060007373b954ebc05bb0ff4a0f6a13a054d50ad158409961c350f460025500" # noqa: E501 + ), + balance=0, + nonce=0, + ), + target: Account(storage={0: 1}, balance=0xDE0B6B5FB6FE400), + addr: Account(storage={1: 1, 2: 0}, balance=0x2540BE400), + addr_3: Account(storage={2: 0, 3: 0}, balance=0x2540BE400), + sender: Account(storage={2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_abcb_recursive.py index 2870ef70f42..46d4631c08f 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcallcode_abcb_recursive.py @@ -2,8 +2,7 @@ CALL -> CALL2 -> DELEGATECALL -> CALL2 -> ... Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcallcode_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """CALL -> CALL2 -> DELEGATECALL -> CALL2 -> ...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CALL -> CALL2 -> DELEGATECALL -> CALL2 -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,78 +48,78 @@ def test_callcallcallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x17D7840, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x17D7840, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x039f3900e280b9c74d46e825b0b3814df4d705ac"), # noqa: E501 + address=Address(0x039F3900E280B9C74D46E825B0B3814DF4D705AC), # noqa: E501 ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xF4240, - address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xF4240, + address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x66c0d9f841a86866465e6385c3827be02b580020"), # noqa: E501 + address=Address(0x66C0D9F841A86866465E6385C3827BE02B580020), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa72f0e2f2fc5fd0878af9b8e4aaed09983670929"), # noqa: E501 + address=Address(0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1}), - callee: Account(storage={1: 1}), + target: Account(storage={0: 1, 1: 0}), + addr: Account(storage={1: 1, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01.py index 316be6d640c..ff3d2f63c6b 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcode_01. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcode_01Filler.json +state_tests/stCallDelegateCodesHomestead/callcallcode_01Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcode_01Filler.json", # noqa: E501 - ], + ["state_tests/stCallDelegateCodesHomestead/callcallcode_01Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_callcallcode_01( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcode_01.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,71 +46,71 @@ def test_callcallcode_01( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x3D090, - address=0xB096ECA04CD5C92C88BA466F92627D4F04D53C95, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x55730, + address=0x2B0691CD58A1CF4628D642E9ACA9AB04946E3EC9, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b0691cd58a1cf4628d642e9aca9ab04946e3ec9"), # noqa: E501 + address=Address(0xEB09FF15547417853F6F4B240B8804769C37B0F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0xE6, value=Op.ADDRESS) - + Op.SSTORE(key=0xE8, value=Op.ORIGIN) - + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0xEE, value=Op.CODESIZE) - + Op.SSTORE(key=0xF0, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 250000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x3D090, + address=0xB096ECA04CD5C92C88BA466F92627D4F04D53C95, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb096eca04cd5c92c88ba466f92627d4f04d53c95"), # noqa: E501 + address=Address(0x2B0691CD58A1CF4628D642E9ACA9AB04946E3EC9), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x55730, - address=0x2B0691CD58A1CF4628D642E9ACA9AB04946E3EC9, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0xE6, value=Op.ADDRESS) + + Op.SSTORE(key=0xE8, value=Op.ORIGIN) + + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0xEE, value=Op.CODESIZE) + + Op.SSTORE(key=0xF0, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xeb09ff15547417853f6f4b240b8804769c37b0f1"), # noqa: E501 + address=Address(0xB096ECA04CD5C92C88BA466F92627D4F04D53C95), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + target: Account(storage={0: 1}), + addr: Account( storage={ 1: 1, 2: 1, @@ -125,7 +123,7 @@ def test_callcallcode_01( 240: 10, }, ), - contract: Account(storage={0: 1}), + addr_2: Account(storage={4: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01_ooge.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01_ooge.py index 16d3448c3cb..3e6b9587516 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01_ooge.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01_ooge.py @@ -2,8 +2,7 @@ CALL -> DELEGATE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcode_01_OOGEFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcode_01_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcode_01_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcode_01_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcode_01_ooge( pre: Alloc, ) -> None: """CALL -> DELEGATE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,67 +48,67 @@ def test_callcallcode_01_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x42473C2734EB62B91E4E2AC3DAB63AB2443F4236, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x42473C2734EB62B91E4E2AC3DAB63AB2443F4236, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x766B2CF0691F51029181FC511395B7AB71353A88, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x766B2CF0691F51029181FC511395B7AB71353A88, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x42473c2734eb62b91e4e2ac3dab63ab2443f4236"), # noqa: E501 + address=Address(0x42473C2734EB62B91E4E2AC3DAB63AB2443F4236), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x766b2cf0691f51029181fc511395b7ab71353a88"), # noqa: E501 + address=Address(0x766B2CF0691F51029181FC511395B7AB71353A88), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee: Account(storage={11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={11: 1}), + addr_2: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01_suicide_end.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01_suicide_end.py index d9dbc0a301a..5ed7010f9d6 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcode_01_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcode_01_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcode_01_SuicideEndFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcode_01_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcode_01_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcode_01_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcode_01_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcode_01_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,67 +48,68 @@ def test_callcallcode_01_suicide_end( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66 - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x1cca6e93108ec94304ae5eb121d323e6c317fe7a"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x703b936fd4d674f0ff5d6957f61097152f8781b8"), # noqa: E501 + address=Address(0x703B936FD4D674F0FF5D6957F61097152F8781B8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account(storage={1: 1, 2: 1}), - contract: Account(storage={0: 1}), + target: Account(storage={0: 1, 2: 0}), + addr: Account(storage={1: 1, 2: 1}, balance=0, nonce=0), + addr_2: Account(storage={2: 0, 3: 0}), + sender: Account(storage={1: 0, 2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010.py index bedc0e1259b..8f3563a79f4 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecall_010. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecall_010Filler.json +state_tests/stCallDelegateCodesHomestead/callcallcodecall_010Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecall_010Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecall_010Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecall_010( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecall_010.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,93 +48,101 @@ def test_callcallcodecall_010( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x55730, + address=0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0xEB09FF15547417853F6F4B240B8804769C37B0F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x5, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 300000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x493E0, + address=0xA297E445DC76A67BF6FC17C444C1EC2C389CE53D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa297e445dc76a67bf6fc17c444c1ec2c389ce53d"), # noqa: E501 + address=Address(0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x55730, - address=0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 250000 2 0 64 0 64 ) (SSTORE 5 (CALLER))} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x5, value=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xeb09ff15547417853f6f4b240b8804769c37b0f1"), # noqa: E501 + address=Address(0xA297E445DC76A67BF6FC17C444C1EC2C389CE53D), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x493E0, - address=0xA297E445DC76A67BF6FC17C444C1EC2C389CE53D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xfed08e44ae95ece264bc94a1fc45af8bc4ef4f1d"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + target: Account(storage={0: 1, 2: 0}), + addr: Account( + storage={ + 1: 1, + 2: 1, + 5: 0xEB09FF15547417853F6F4B240B8804769C37B0F1, + }, + ), + addr_2: Account(storage={2: 0}), + addr_3: Account( storage={ 3: 1, 4: 0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D, @@ -146,14 +154,6 @@ def test_callcallcodecall_010( 340: 10, }, ), - contract: Account(storage={0: 1}), - callee_2: Account( - storage={ - 1: 1, - 2: 1, - 5: 0xEB09FF15547417853F6F4B240B8804769C37B0F1, - }, - ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_ooge.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_ooge.py index b0054c35f19..bab5a831b42 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_ooge.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_ooge.py @@ -2,8 +2,7 @@ CALL -> DELEGATE -> CALL -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecall_010_OOGEFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecall_010_ooge( pre: Alloc, ) -> None: """CALL -> DELEGATE -> CALL -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +48,88 @@ def test_callcallcodecall_010_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0x69A0017A51AD556682F48B32235D0B61ABDF4DA4), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x69a0017a51ad556682f48b32235d0b61abdf4da4"), # noqa: E501 + address=Address(0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xb11130cf7eef6d3f1552623d3506a5bbb07b12ce"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={1: 1, 11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={1: 1, 11: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_oogm_after.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_oogm_after.py index 2e5dc826918..4ae34f45ed9 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_oogm_after.py @@ -2,8 +2,7 @@ CALL -> (DELEGATE -> CALL -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecall_010_OOGMAfterFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecall_010_oogm_after( pre: Alloc, ) -> None: """CALL -> (DELEGATE -> CALL -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,87 @@ def test_callcallcodecall_010_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1adae71ad3aeec97978e38be04da2a1773dfc506"), # noqa: E501 + address=Address(0xE54CCFA5E33A84943997885F0AB9C19C587D8C4F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x8d7270785422b63a97d83bada6aac80bebc3a99d"), # noqa: E501 + address=Address(0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xe54ccfa5e33a84943997885f0ab9c19c587d8c4f"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_oogm_before.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_oogm_before.py index 5c27384b51b..ae6beb28c44 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_oogm_before.py @@ -2,8 +2,7 @@ CALL -> DELEGATE -> OOG CALL -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecall_010_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecall_010_oogm_before( state_test: StateTestFiller, pre: Alloc, ) -> None: - """CALL -> DELEGATE -> OOG CALL -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CALL -> DELEGATE -> OOG CALL -> CODE .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +48,87 @@ def test_callcallcodecall_010_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x97367129E262C26FF9D41B4424EB9E460270F83F, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x97367129E262C26FF9D41B4424EB9E460270F83F, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x51A61D678EC27711369C527E5D42A9DE66A5727F, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x51a61d678ec27711369c527e5d42a9de66a5727f"), # noqa: E501 + address=Address(0x97367129E262C26FF9D41B4424EB9E460270F83F), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x51A61D678EC27711369C527E5D42A9DE66A5727F, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x97367129e262c26ff9d41b4424eb9e460270f83f"), # noqa: E501 + address=Address(0x51A61D678EC27711369C527E5D42A9DE66A5727F), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={11: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_suicide_end.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_suicide_end.py index 388645c86fd..99d0542a791 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecall_010_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecall_010_SuicideEndFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecall_010_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecall_010_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,88 +48,88 @@ def test_callcallcodecall_010_suicide_end( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455 - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0xD957E143AD2C011BC6A2B142795F1A9BA70D0680), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xd957e143ad2c011bc6a2b142795f1a9ba70d0680"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account(storage={1: 1, 2: 1}), - contract: Account(storage={0: 1}), - callee_1: Account(storage={3: 1}), + target: Account(storage={0: 1, 1: 0, 3: 0}), + addr: Account(storage={1: 1, 2: 1}, balance=0x2540BE400, nonce=0), + addr_3: Account(storage={3: 1}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_suicide_middle.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_suicide_middle.py index a6ea1bab592..c11a4441b94 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_010_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecall_010_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecall_010_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecall_010_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecall_010_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecall_010_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,90 @@ def test_callcallcodecall_010_suicide_middle( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALL 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0xAC90BB4611B91D4C6292BD64E8656110822E01ED), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac90bb4611b91d4c6292bd64e8656110822e01ed"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account(storage={1: 1}), - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, balance=0xDE0B6B5FB6FE400), + addr: Account(storage={1: 1}, balance=0), + addr_3: Account(storage={2: 0, 3: 0}, balance=0x2540BE400), + sender: Account(storage={2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_abcb_recursive.py index 5afa1f429f1..4fc3c1777d1 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecall_abcb_recursive.py @@ -2,8 +2,7 @@ CALL -> DELEGATECALL -> CALL2 -> DELEGATECALL -> ... Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecall_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecall_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecall_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecall_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecall_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """CALL -> DELEGATECALL -> CALL2 -> DELEGATECALL -> ...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CALL -> DELEGATECALL -> CALL2 -> DELEGATECALL -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,78 +48,78 @@ def test_callcallcodecall_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x17D7840, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x17D7840, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x039f3900e280b9c74d46e825b0b3814df4d705ac"), # noqa: E501 + address=Address(0x039F3900E280B9C74D46E825B0B3814DF4D705AC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x7A120, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xF4240, + address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x91a8703c1bef34c1e76e152c1f7fb8c336c3be24"), # noqa: E501 + address=Address(0xE0B280638526CECD3EC29969B517AEB3FCBB31FA), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xF4240, - address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x7A120, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe0b280638526cecd3ec29969b517aeb3fcbb31fa"), # noqa: E501 + address=Address(0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={1: 1}), + target: Account(storage={0: 1, 1: 0}), + addr: Account(storage={1: 1, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011.py index 0c8a0b88648..9b42b70e097 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecallcode_011. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecallcode_011Filler.json +state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecallcode_011( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecallcode_011.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,92 +48,91 @@ def test_callcallcodecallcode_011( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x55730, + address=0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6f50426aa1bbb3cbd865847823f377d918757c07"), # noqa: E501 + address=Address(0xEB09FF15547417853F6F4B240B8804769C37B0F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 300000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x493E0, + address=0x6F50426AA1BBB3CBD865847823F377D918757C07, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 350000 1 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x55730, - address=0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 250000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xeb09ff15547417853f6f4b240b8804769c37b0f1"), # noqa: E501 + address=Address(0x6F50426AA1BBB3CBD865847823F377D918757C07), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x493E0, - address=0x6F50426AA1BBB3CBD865847823F377D918757C07, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xfed08e44ae95ece264bc94a1fc45af8bc4ef4f1d"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), - callee_2: Account( + target: Account(storage={0: 1, 2: 0, 3: 0, 4: 0}), + addr: Account( storage={ 1: 1, 2: 1, diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_ooge.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_ooge.py index 084f0e1e253..022dccc1c98 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_ooge.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_ooge.py @@ -2,8 +2,7 @@ CALL -> DELEGATE -> DELEGATE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecallcode_011_OOGEFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecallcode_011_ooge( pre: Alloc, ) -> None: """CALL -> DELEGATE -> DELEGATE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,87 @@ def test_callcallcodecallcode_011_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0x69A0017A51AD556682F48B32235D0B61ABDF4DA4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x3e423a7b1fba04d0c3f9423a3ae2a180d2878d5b"), # noqa: E501 + address=Address(0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x69a0017a51ad556682f48b32235d0b61abdf4da4"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1}), - callee_2: Account(storage={1: 1, 11: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={1: 1, 11: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_oogm_after.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_oogm_after.py index 3319b5c65b4..51b8a844b89 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_oogm_after.py @@ -2,8 +2,7 @@ CALL -> (DELEGATE -> DELEGATE -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecallcode_011_OOGMAfterFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecallcode_011_oogm_after( pre: Alloc, ) -> None: """CALL -> (DELEGATE -> DELEGATE -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,81 +48,86 @@ def test_callcallcodecallcode_011_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1adae71ad3aeec97978e38be04da2a1773dfc506"), # noqa: E501 + address=Address(0xE54CCFA5E33A84943997885F0AB9C19C587D8C4F), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xda11fdf0ce02240c6b4711f56afcd9763b44d3dc"), # noqa: E501 + address=Address(0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xe54ccfa5e33a84943997885f0ab9c19c587d8c4f"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_oogm_before.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_oogm_before.py index 728adc54749..a5483d53c71 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_oogm_before.py @@ -2,8 +2,7 @@ CALL -> DELEGATE -> OOG DELEGATE -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecallcode_011_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcallcodecallcode_011_oogm_before( pre: Alloc, ) -> None: """CALL -> DELEGATE -> OOG DELEGATE -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,86 @@ def test_callcallcodecallcode_011_oogm_before( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0x29f893b720e998ccd5971409fa9a8802822fdcbc"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 800000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC3500, - address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC3500, + address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335b558774699d81f685543cfbcde5c4e5407686"), # noqa: E501 + address=Address(0x335B558774699D81F685543CFBCDE5C4E5407686), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0x29F893B720E998CCD5971409FA9A8802822FDCBC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x71e7e95d2dfe9f65b4522f2d3aa71fb33f49920c"), # noqa: E501 + address=Address(0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - callee: Account(storage={11: 1}), - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={11: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_suicide_end.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_suicide_end.py index 44cd580ee70..4cc2489884e 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecallcode_011_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecallcode_011_SuicideEndFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecallcode_011_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecallcode_011_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +48,88 @@ def test_callcallcodecallcode_011_suicide_end( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455 - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0xAC521409E2FA9526BFE6B827805783D2E307C4CE), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac521409e2fa9526bfe6b827805783d2e307c4ce"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account(storage={1: 1, 2: 1, 3: 1}), - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}), + addr: Account(storage={1: 1, 2: 1, 3: 1}, balance=0x2540BE400), + addr_2: Account(storage={1: 0, 2: 0}), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_suicide_middle.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_suicide_middle.py index 2d9c0a7e0a3..ffff6216d4f 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_011_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecallcode_011_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecallcode_011_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_011_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecallcode_011_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecallcode_011_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,84 +48,88 @@ def test_callcallcodecallcode_011_suicide_middle( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0x6A45EC7F08C71B222CFC454A9608BC278E87F0AB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 150000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4353e77718be108d4c149d88b34caceda42c5c66"), # noqa: E501 + address=Address(0x4353E77718BE108D4C149D88B34CACEDA42C5C66), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0x6A45EC7F08C71B222CFC454A9608BC278E87F0AB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x4353E77718BE108D4C149D88B34CACEDA42C5C66 + ) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x6a45ec7f08c71b222cfc454a9608bc278e87f0ab"), # noqa: E501 + address=Address(0x6A45EC7F08C71B222CFC454A9608BC278E87F0AB), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account(storage={1: 1}), - contract: Account(storage={0: 1}), + addr: Account(storage={1: 1}, balance=0), + addr_2: Account(storage={1: 0, 2: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_abcb_recursive.py index 45afd052213..6d2774dc6e4 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcallcodecallcode_abcb_recursive.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcallcodecallcode_abcb_recursive. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcallcodecallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcallcodecallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcallcodecallcode_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcallcodecallcode_abcb_recursive.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,77 +48,77 @@ def test_callcallcodecallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 25000000 0 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x17D7840, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x17D7840, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x039f3900e280b9c74d46e825b0b3814df4d705ac"), # noqa: E501 + address=Address(0x039F3900E280B9C74D46E825B0B3814DF4D705AC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xF4240, + address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa72f0e2f2fc5fd0878af9b8e4aaed09983670929"), # noqa: E501 + address=Address(0xE0B280638526CECD3EC29969B517AEB3FCBB31FA), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xF4240, - address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe0b280638526cecd3ec29969b517aeb3fcbb31fa"), # noqa: E501 + address=Address(0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1}), - callee_1: Account(storage={1: 1}), + target: Account(storage={0: 1, 1: 0}), + addr: Account(storage={1: 1, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10.py index c44bc8fdbde..568577c4b72 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecall_10. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecall_10Filler.json +state_tests/stCallDelegateCodesHomestead/callcodecall_10Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecall_10Filler.json", # noqa: E501 - ], + ["state_tests/stCallDelegateCodesHomestead/callcodecall_10Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_callcodecall_10( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecall_10.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,72 +46,72 @@ def test_callcodecall_10( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0xE6, value=Op.ADDRESS) - + Op.SSTORE(key=0xE8, value=Op.ORIGIN) - + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0xEE, value=Op.CODESIZE) - + Op.SSTORE(key=0xF0, value=Op.GASPRICE) - + Op.STOP - ), - nonce=0, - address=Address("0xcb4336321fac69281bd2902d427f4ef9e8584251"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0xFD0CC1F9A105E057B84065348C4C878DD79FA4BE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0xFD0CC1F9A105E057B84065348C4C878DD79FA4BE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x3D090, - address=0xCB4336321FAC69281BD2902D427F4EF9E8584251, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 250000 1 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x3D090, + address=0xCB4336321FAC69281BD2902D427F4EF9E8584251, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfd0cc1f9a105e057b84065348c4c878dd79fa4be"), # noqa: E501 + address=Address(0xFD0CC1F9A105E057B84065348C4C878DD79FA4BE), # noqa: E501 + ) + # Source: lll + # { (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0xE6, value=Op.ADDRESS) + + Op.SSTORE(key=0xE8, value=Op.ORIGIN) + + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0xEE, value=Op.CODESIZE) + + Op.SSTORE(key=0xF0, value=Op.GASPRICE) + + Op.STOP, + nonce=0, + address=Address(0xCB4336321FAC69281BD2902D427F4EF9E8584251), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + target: Account(storage={0: 1, 1: 1}), + addr_2: Account( storage={ 2: 1, 4: 0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9, @@ -125,7 +123,6 @@ def test_callcodecall_10( 240: 10, }, ), - contract: Account(storage={0: 1, 1: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10_ooge.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10_ooge.py index 65a441ec5c5..8fc338cf753 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10_ooge.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> CALL -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecall_10_OOGEFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecall_10_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecall_10_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecall_10_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecall_10_ooge( pre: Alloc, ) -> None: """DELEGATE -> CALL -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,66 +48,68 @@ def test_callcodecall_10_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x766B2CF0691F51029181FC511395B7AB71353A88, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x766B2CF0691F51029181FC511395B7AB71353A88, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x471072d55a5a95044c2326f0e94a6d8df5b8089e"), # noqa: E501 + address=Address(0x471072D55A5A95044C2326F0E94A6D8DF5B8089E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x766b2cf0691f51029181fc511395b7ab71353a88"), # noqa: E501 + address=Address(0x766B2CF0691F51029181FC511395B7AB71353A88), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10_suicide_end.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10_suicide_end.py index 542400bdfce..6dca2ecffde 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecall_10_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecall_10_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecall_10_SuicideEndFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecall_10_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecall_10_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecall_10_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecall_10_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecall_10_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,67 +48,67 @@ def test_callcodecall_10_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0xF741CFEE7B7FB1025DCCEF3DB5A3CBC8FFB776F8, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0xF741CFEE7B7FB1025DCCEF3DB5A3CBC8FFB776F8, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - callee = pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xC350, + address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x703b936fd4d674f0ff5d6957f61097152f8781b8"), # noqa: E501 + address=Address(0xF741CFEE7B7FB1025DCCEF3DB5A3CBC8FFB776F8), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xC350, - address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xf741cfee7b7fb1025dccef3db5a3cbc8ffb776f8"), # noqa: E501 + address=Address(0x703B936FD4D674F0FF5D6957F61097152F8781B8), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), - callee: Account(storage={2: 1}), + target: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B3A7640000), + addr: Account(storage={0: 0, 2: 0}), + addr_2: Account(storage={2: 1, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100.py index ef40839b92f..41f4d5753dd 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcall_100. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcall_100Filler.json +state_tests/stCallDelegateCodesHomestead/callcodecallcall_100Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcall_100Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcall_100Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcall_100( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcall_100.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,93 +48,100 @@ def test_callcodecallcall_100( gas_limit=30000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0x3C83297C6DCBC0520CD68714F85DC444469FB287, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x181b4ed322e192361633cc3c0a418f259ab0cf4b"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x493E0, - address=0x5F6EACDE5A1E97F48C5DB4EE84FDF614F9DD9756, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x5, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 300000 1 0 64 0 64 ) (SSTORE 5 (CALLER))} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x493E0, + address=0x5F6EACDE5A1E97F48C5DB4EE84FDF614F9DD9756, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x5, value=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3c83297c6dcbc0520cd68714f85dc444469fb287"), # noqa: E501 + address=Address(0x3C83297C6DCBC0520CD68714F85DC444469FB287), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x3D090, - address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, - value=0x2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 250000 2 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x3D090, + address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5f6eacde5a1e97f48c5db4ee84fdf614f9dd9756"), # noqa: E501 + address=Address(0x5F6EACDE5A1E97F48C5DB4EE84FDF614F9DD9756), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0x3C83297C6DCBC0520CD68714F85DC444469FB287, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0x181B4ED322E192361633CC3C0A418F259AB0CF4B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee: Account( + target: Account( + storage={ + 0: 1, + 1: 1, + 5: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, + }, + ), + addr_2: Account(storage={2: 1}), + addr_3: Account( storage={ 3: 1, 4: 0x5F6EACDE5A1E97F48C5DB4EE84FDF614F9DD9756, @@ -146,14 +153,6 @@ def test_callcodecallcall_100( 340: 10, }, ), - callee_2: Account(storage={2: 1}), - contract: Account( - storage={ - 0: 1, - 1: 1, - 5: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, - }, - ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_ooge.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_ooge.py index d8ad6c75b82..69354b1b130 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_ooge.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> CALL -> CALL -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcall_100_OOGEFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcall_100_ooge( pre: Alloc, ) -> None: """DELEGATE -> CALL -> CALL -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +48,88 @@ def test_callcodecallcall_100_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb11130cf7eef6d3f1552623d3506a5bbb07b12ce"), # noqa: E501 + address=Address(0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xbbdce54b3c571b853032cb3a637e8f5b81dbaf0d"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), - callee_1: Account(storage={11: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={}), + addr_2: Account(storage={11: 1}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_oogm_after.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_oogm_after.py index ef6544f3d8b..10b4c1a88f1 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_oogm_after.py @@ -2,8 +2,7 @@ DELEGATE -> (CALL -> CALL -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcall_100_OOGMAfterFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcall_100_oogm_after( pre: Alloc, ) -> None: """DELEGATE -> (CALL -> CALL -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,87 @@ def test_callcodecallcall_100_oogm_after( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0xB5D1A486869D27225126C47727513F57D329A01A, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0xB5D1A486869D27225126C47727513F57D329A01A, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x74ecd5f6537b2b48ebbff8d66aee8eb8f98430a3"), # noqa: E501 + address=Address(0x74ECD5F6537B2B48EBBFF8D66AEE8EB8F98430A3), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x8d7270785422b63a97d83bada6aac80bebc3a99d"), # noqa: E501 + address=Address(0xB5D1A486869D27225126C47727513F57D329A01A), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x8D7270785422B63A97D83BADA6AAC80BEBC3A99D, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb5d1a486869d27225126c47727513f57d329a01a"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_oogm_before.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_oogm_before.py index f433064de94..caf3da961e0 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_oogm_before.py @@ -2,8 +2,7 @@ DELEGATE -> CALL -> OOG CALL -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcall_100_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcall_100_oogm_before( state_test: StateTestFiller, pre: Alloc, ) -> None: - """DELEGATE -> CALL -> OOG CALL -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """DELEGATE -> CALL -> OOG CALL -> CODE .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,87 @@ def test_callcodecallcall_100_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x4A780315E172DB6C0A08FE70FF4362B0E061B668, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x4A780315E172DB6C0A08FE70FF4362B0E061B668, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x471072d55a5a95044c2326f0e94a6d8df5b8089e"), # noqa: E501 + address=Address(0x471072D55A5A95044C2326F0E94A6D8DF5B8089E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x4a780315e172db6c0a08fe70ff4362b0e061b668"), # noqa: E501 + address=Address(0x4A780315E172DB6C0A08FE70FF4362B0E061B668), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_suicide_end.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_suicide_end.py index 2a797cfe597..91b43e03733 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcall_100_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcall_100_SuicideEndFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcall_100_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcall_100_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,88 +48,89 @@ def test_callcodecallcall_100_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - callee = pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0xD957E143AD2C011BC6A2B142795F1A9BA70D0680), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xd957e143ad2c011bc6a2b142795f1a9ba70d0680"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), - callee: Account(storage={3: 1}), - callee_2: Account(storage={2: 1}), + target: Account(storage={0: 1, 1: 1, 2: 0}), + addr: Account(storage={1: 0, 3: 0}), + addr_2: Account(storage={2: 1}, balance=0), + addr_3: Account(storage={3: 1}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_suicide_middle.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_suicide_middle.py index bfd2fa9fe5c..8042f6d2d9d 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_100_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcall_100_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcall_100_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcall_100_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcall_100_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcall_100_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,84 +48,97 @@ def test_callcodecallcall_100_suicide_middle( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALL 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0xAC90BB4611B91D4C6292BD64E8656110822E01ED), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac90bb4611b91d4c6292bd64e8656110822e01ed"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B5FB6FE400), + addr_2: Account( + storage={}, + code=bytes.fromhex( + "732b30b637f37e3f5b8ca4ab846331d0779a3f4671ff604060006040600060007373b954ebc05bb0ff4a0f6a13a054d50ad158409961c350f160025500" # noqa: E501 + ), + balance=0, + nonce=0, + ), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_abcb_recursive.py index 354d416a88f..40128493628 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcall_abcb_recursive.py @@ -2,8 +2,7 @@ DELEGATECALL -> CALL1 -> CALL2 -> CALL1 -> ... Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcall_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcall_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcall_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcall_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcall_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """DELEGATECALL -> CALL1 -> CALL2 -> CALL1 -> ...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """DELEGATECALL -> CALL1 -> CALL2 -> CALL1 -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,77 +48,79 @@ def test_callcodecallcall_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x17D7840, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x17D7840, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15600a91a7af84b8c85782714b3391ed5d73f9a0"), # noqa: E501 + address=Address(0x15600A91A7AF84B8C85782714B3391ED5D73F9A0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xF4240, - address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xF4240, + address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x66c0d9f841a86866465e6385c3827be02b580020"), # noqa: E501 + address=Address(0x66C0D9F841A86866465E6385C3827BE02B580020), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x7A120, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x7A120, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x91a8703c1bef34c1e76e152c1f7fb8c336c3be24"), # noqa: E501 + address=Address(0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101.py index f44dc279d37..a827215ead4 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcallcode_101. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcallcode_101Filler.json +state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcallcode_101( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcallcode_101.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,93 +48,100 @@ def test_callcodecallcallcode_101( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x493E0, - address=0xAE5F44E50ECBF16179774393C643204383FDE833, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x5, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0x63F88DCF511E5686BC6B446D10538E665BF81A8, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x063f88dcf511e5686bc6b446d10538e665bf81a8"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 300000 1 0 64 0 64 ) (SSTORE 5 (CALLER)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x493E0, + address=0xAE5F44E50ECBF16179774393C643204383FDE833, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x5, value=Op.CALLER) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x181b4ed322e192361633cc3c0a418f259ab0cf4b"), # noqa: E501 + address=Address(0x063F88DCF511E5686BC6B446D10538E665BF81A8), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x3D090, - address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x6, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 250000 0 64 0 64 ) (SSTORE 6 (CALLER)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x3D090, + address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x6, value=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xae5f44e50ecbf16179774393c643204383fde833"), # noqa: E501 + address=Address(0xAE5F44E50ECBF16179774393C643204383FDE833), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0x63F88DCF511E5686BC6B446D10538E665BF81A8, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0x181B4ED322E192361633CC3C0A418F259AB0CF4B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee_2: Account( + target: Account( + storage={ + 0: 1, + 1: 1, + 5: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, + }, + ), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account( storage={ 2: 1, 3: 1, @@ -148,13 +155,7 @@ def test_callcodecallcallcode_101( 340: 10, }, ), - contract: Account( - storage={ - 0: 1, - 1: 1, - 5: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, - }, - ), + sender: Account(storage={1: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_ooge.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_ooge.py index bafe6bfe624..8f533bad735 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_ooge.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> CALL -> DELEGATE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcallcode_101_OOGEFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcallcode_101_ooge( pre: Alloc, ) -> None: """DELEGATE -> CALL -> DELEGATE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,85 +48,87 @@ def test_callcodecallcallcode_101_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0xBBDCE54B3C571B853032CB3A637E8F5B81DBAF0D), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x3e423a7b1fba04d0c3f9423a3ae2a180d2878d5b"), # noqa: E501 + address=Address(0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xbbdce54b3c571b853032cb3a637e8f5b81dbaf0d"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), - callee_1: Account(storage={11: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={}), + addr_2: Account(storage={11: 1}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_oogm_after.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_oogm_after.py index 7c7f091bc4a..ada29bdd72e 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_oogm_after.py @@ -2,8 +2,7 @@ DELEGATE -> (CALL -> DELEGATE -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcallcode_101_OOGMAfterFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcallcode_101_oogm_after( pre: Alloc, ) -> None: """DELEGATE -> (CALL -> DELEGATE -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,81 +48,86 @@ def test_callcodecallcallcode_101_oogm_after( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0xB5D1A486869D27225126C47727513F57D329A01A, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0xB5D1A486869D27225126C47727513F57D329A01A, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x74ecd5f6537b2b48ebbff8d66aee8eb8f98430a3"), # noqa: E501 + address=Address(0x74ECD5F6537B2B48EBBFF8D66AEE8EB8F98430A3), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB5D1A486869D27225126C47727513F57D329A01A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb5d1a486869d27225126c47727513f57d329a01a"), # noqa: E501 + address=Address(0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xda11fdf0ce02240c6b4711f56afcd9763b44d3dc"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_oogm_before.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_oogm_before.py index 474e612a411..4edab8fa54d 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_oogm_before.py @@ -2,8 +2,7 @@ DELEGATE -> CALL -> OOG DELEGATE -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcallcode_101_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcallcode_101_oogm_before( pre: Alloc, ) -> None: """DELEGATE -> CALL -> OOG DELEGATE -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,81 +48,86 @@ def test_callcodecallcallcode_101_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x471072D55A5A95044C2326F0E94A6D8DF5B8089E, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 600000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x2640FCBA4A90A13A6438EED47FAFBD5D59ECBC47, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x2640fcba4a90a13a6438eed47fafbd5d59ecbc47"), # noqa: E501 + address=Address(0x471072D55A5A95044C2326F0E94A6D8DF5B8089E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x2640FCBA4A90A13A6438EED47FAFBD5D59ECBC47, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x471072d55a5a95044c2326f0e94a6d8df5b8089e"), # noqa: E501 + address=Address(0x2640FCBA4A90A13A6438EED47FAFBD5D59ECBC47), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_suicide_end.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_suicide_end.py index ac2b0339f14..58e4ae8b72d 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcallcode_101_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcallcode_101_SuicideEndFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcallcode_101_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcallcode_101_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +48,88 @@ def test_callcodecallcallcode_101_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (CALL 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x77B749FFFF7EC61D31C79ED104F230A7959B2879), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x77b749ffff7ec61d31c79ed104f230a7959b2879"), # noqa: E501 + address=Address(0xAC521409E2FA9526BFE6B827805783D2E307C4CE), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x77B749FFFF7EC61D31C79ED104F230A7959B2879 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac521409e2fa9526bfe6b827805783d2e307c4ce"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), - callee_2: Account(storage={2: 1, 3: 1}), + target: Account(storage={0: 1, 1: 1, 2: 0, 3: 0}), + addr: Account(storage={1: 0, 3: 0}), + addr_2: Account(storage={2: 1, 3: 1}, balance=0), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0, 2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_suicide_middle.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_suicide_middle.py index 3c4cd811faf..4b57701e1e9 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_101_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcallcode_101_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcallcode_101_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_101_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,12 @@ def test_callcodecallcallcode_101_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcallcode_101_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000001) + contract_2 = Address(0x1000000000000000000000000000000000000002) + contract_3 = Address(0x1000000000000000000000000000000000000003) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,89 +52,96 @@ def test_callcodecallcallcode_101_suicide_middle( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x1000000000000000000000000000000000000001, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x1000000000000000000000000000000000000001, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[ 1 ]] (CALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x186A0, - address=0x1000000000000000000000000000000000000002, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x186A0, + address=0x1000000000000000000000000000000000000002, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x1000000000000000000000000000000000000000) [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) } # noqa: E501 - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x1000000000000000000000000000000000000000) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x1000000000000000000000000000000000000003, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x1000000000000000000000000000000000000000 + ) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x1000000000000000000000000000000000000003, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1000000000000000000000000000000000000002"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000002), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SSTORE 3 1) } - pre.deploy_contract( + contract_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1000000000000000000000000000000000000003"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000003), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + contract_0: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B5FB6FE400), + contract_2: Account( + storage={}, + code=bytes.fromhex( + "731000000000000000000000000000000000000000ff604060006040600073100000000000000000000000000000000000000361c350f460025500" # noqa: E501 + ), + balance=0, + nonce=0, + ), + contract_3: Account(storage={3: 0}, balance=0x2540BE400), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_abcb_recursive.py index f9865109d6b..36ecb9cdc93 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcallcode_abcb_recursive.py @@ -2,8 +2,7 @@ DELEGATECALL -> CALL -> DELEGATECALL2 -> CALL -> ... Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcallcode_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """DELEGATECALL -> CALL -> DELEGATECALL2 -> CALL -> ...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """DELEGATECALL -> CALL -> DELEGATECALL2 -> CALL -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,76 +48,78 @@ def test_callcodecallcallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x17D7840, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x17D7840, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15600a91a7af84b8c85782714b3391ed5d73f9a0"), # noqa: E501 + address=Address(0x15600A91A7AF84B8C85782714B3391ED5D73F9A0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xF4240, - address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (CALL 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xF4240, + address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x66c0d9f841a86866465e6385c3827be02b580020"), # noqa: E501 + address=Address(0x66C0D9F841A86866465E6385C3827BE02B580020), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0x66C0D9F841A86866465E6385C3827BE02B580020, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0x66C0D9F841A86866465E6385C3827BE02B580020, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa72f0e2f2fc5fd0878af9b8e4aaed09983670929"), # noqa: E501 + address=Address(0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11.py index 685634efde6..4ed95f6bb46 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcode_11. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcode_11Filler.json +state_tests/stCallDelegateCodesHomestead/callcodecallcode_11Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcode_11Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcode_11Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcode_11( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcode_11.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,70 +48,69 @@ def test_callcodecallcode_11( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x3D090, - address=0xCB4336321FAC69281BD2902D427F4EF9E8584251, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0x2B0691CD58A1CF4628D642E9ACA9AB04946E3EC9, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b0691cd58a1cf4628d642e9aca9ab04946e3ec9"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0xE6, value=Op.ADDRESS) - + Op.SSTORE(key=0xE8, value=Op.ORIGIN) - + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0xEE, value=Op.CODESIZE) - + Op.SSTORE(key=0xF0, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 250000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x3D090, + address=0xCB4336321FAC69281BD2902D427F4EF9E8584251, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xcb4336321fac69281bd2902d427f4ef9e8584251"), # noqa: E501 + address=Address(0x2B0691CD58A1CF4628D642E9ACA9AB04946E3EC9), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0x2B0691CD58A1CF4628D642E9ACA9AB04946E3EC9, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0xE6, value=Op.ADDRESS) + + Op.SSTORE(key=0xE8, value=Op.ORIGIN) + + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0xEE, value=Op.CODESIZE) + + Op.SSTORE(key=0xF0, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0xCB4336321FAC69281BD2902D427F4EF9E8584251), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -124,6 +123,9 @@ def test_callcodecallcode_11( 240: 10, }, ), + addr: Account(storage={1: 0, 2: 0, 4: 0}), + addr_2: Account(storage={2: 0}), + sender: Account(storage={1: 0, 2: 0, 4: 0}, nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11_ooge.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11_ooge.py index c222f205cf6..e4affe72a3c 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11_ooge.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> DELEGATE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcode_11_OOGEFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcode_11_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcode_11_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcode_11_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcode_11_ooge( pre: Alloc, ) -> None: """DELEGATE -> DELEGATE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,65 +48,67 @@ def test_callcodecallcode_11_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0xECB18A704984B0E051E46358D64EF7811F2945BA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0xECB18A704984B0E051E46358D64EF7811F2945BA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) [[11]] 1} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x766B2CF0691F51029181FC511395B7AB71353A88, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x766b2cf0691f51029181fc511395b7ab71353a88"), # noqa: E501 + address=Address(0xECB18A704984B0E051E46358D64EF7811F2945BA), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x766B2CF0691F51029181FC511395B7AB71353A88, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xecb18a704984b0e051e46358d64ef7811f2945ba"), # noqa: E501 + address=Address(0x766B2CF0691F51029181FC511395B7AB71353A88), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11_suicide_end.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11_suicide_end.py index 0bdfa15e2b4..5c43845f10c 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcode_11_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcode_11_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcode_11_SuicideEndFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcode_11_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcode_11_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcode_11_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcode_11_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcode_11_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,65 +48,69 @@ def test_callcodecallcode_11_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671 - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x1cca6e93108ec94304ae5eb121d323e6c317fe7a"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { [[ 1 ]] (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x703B936FD4D674F0FF5D6957F61097152F8781B8, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x1CCA6E93108EC94304AE5EB121D323E6C317FE7A), # noqa: E501 + ) + # Source: lll + # { (SSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x703b936fd4d674f0ff5d6957f61097152f8781b8"), # noqa: E501 + address=Address(0x703B936FD4D674F0FF5D6957F61097152F8781B8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1}), + target: Account( + storage={0: 1, 1: 1, 2: 1}, + balance=0xDE0B6B3A7640000, + ), + addr: Account(storage={0: 0, 1: 0, 2: 0}), + addr_2: Account(storage={2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110.py index 688e49e45a0..d4f927d755d 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecall_110. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecall_110Filler.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecall_110( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecall_110.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,93 +48,101 @@ def test_callcodecallcodecall_110( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x493E0, - address=0x78B5BD809B0B6FE0B8E371F286D7AA6A3B930718, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x5, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0x669E33B1AA30351139B73C3942ACDE1B09E75BCD, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x669e33b1aa30351139b73c3942acde1b09e75bcd"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x6, value=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 300000 0 64 0 64 ) (SSTORE 5 (CALLER))} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x493E0, + address=0x78B5BD809B0B6FE0B8E371F286D7AA6A3B930718, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x5, value=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x78b5bd809b0b6fe0b8e371f286d7aa6a3b930718"), # noqa: E501 + address=Address(0x669E33B1AA30351139B73C3942ACDE1B09E75BCD), # noqa: E501 ) - callee_2 = pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 250000 1 0 64 0 64 ) (SSTORE 6 (CALLER))} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x6, value=Op.CALLER) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0x78B5BD809B0B6FE0B8E371F286D7AA6A3B930718), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0x669E33B1AA30351139B73C3942ACDE1B09E75BCD, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - callee_2: Account( + target: Account( + storage={ + 0: 1, + 1: 1, + 2: 1, + 5: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, + 6: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, + }, + ), + addr_3: Account( storage={ 3: 1, 4: 0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9, @@ -146,15 +154,7 @@ def test_callcodecallcodecall_110( 340: 10, }, ), - contract: Account( - storage={ - 0: 1, - 1: 1, - 2: 1, - 5: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, - 6: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, - }, - ), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_ooge.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_ooge.py index ee692928cd1..6d9d3a49b4d 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_ooge.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> DELEGATE -> CALL -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecall_110_OOGEFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecall_110_ooge( pre: Alloc, ) -> None: """DELEGATE -> DELEGATE -> CALL -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,84 +48,87 @@ def test_callcodecallcodecall_110_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x69A0017A51AD556682F48B32235D0B61ABDF4DA4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x69a0017a51ad556682f48b32235d0b61abdf4da4"), # noqa: E501 + address=Address(0xB11130CF7EEF6D3F1552623D3506A5BBB07B12CE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xb11130cf7eef6d3f1552623d3506a5bbb07b12ce"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 11: 1}), + target: Account(storage={0: 1, 1: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_oogm_after.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_oogm_after.py index c7a534f3127..8ced610a466 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_oogm_after.py @@ -2,8 +2,7 @@ DELEGATE -> (DELEGATE -> CALL -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecall_110_OOGMAfterFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecall_110_oogm_after( pre: Alloc, ) -> None: """DELEGATE -> (DELEGATE -> CALL -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,81 +48,86 @@ def test_callcodecallcodecall_110_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x83B7D129B58AB5315B795F9A8D34294EC60C9D63, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1adae71ad3aeec97978e38be04da2a1773dfc506"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x74ecd5f6537b2b48ebbff8d66aee8eb8f98430a3"), # noqa: E501 + address=Address(0x74ECD5F6537B2B48EBBFF8D66AEE8EB8F98430A3), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x83B7D129B58AB5315B795F9A8D34294EC60C9D63, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, + nonce=0, + address=Address(0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x83b7d129b58ab5315b795f9a8d34294ec60c9d63"), # noqa: E501 + address=Address(0x83B7D129B58AB5315B795F9A8D34294EC60C9D63), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_oogm_before.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_oogm_before.py index 28d5b4713bf..cf5d70c0265 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_oogm_before.py @@ -2,8 +2,7 @@ DELEGATE -> DELEGATE -> OOG CALL -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecall_110_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecall_110_oogm_before( pre: Alloc, ) -> None: """DELEGATE -> DELEGATE -> OOG CALL -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,81 +48,86 @@ def test_callcodecallcodecall_110_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x51A61D678EC27711369C527E5D42A9DE66A5727F, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x51A61D678EC27711369C527E5D42A9DE66A5727F, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x29f893b720e998ccd5971409fa9a8802822fdcbc"), # noqa: E501 + address=Address(0x29F893B720E998CCD5971409FA9A8802822FDCBC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (CALL 400000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x51a61d678ec27711369c527e5d42a9de66a5727f"), # noqa: E501 + address=Address(0x51A61D678EC27711369C527E5D42A9DE66A5727F), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_suicide_end.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_suicide_end.py index 4d022df156e..1d53a3f34f7 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecall_110_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecall_110_SuicideEndFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecall_110_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecall_110_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,86 +48,87 @@ def test_callcodecallcodecall_110_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0xD957E143AD2C011BC6A2B142795F1A9BA70D0680, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 2 ]] (CALL 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xD957E143AD2C011BC6A2B142795F1A9BA70D0680), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xd957e143ad2c011bc6a2b142795f1a9ba70d0680"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1}), - callee_1: Account(storage={3: 1}), + target: Account(storage={0: 1, 1: 1, 2: 1}, balance=0), + addr: Account(storage={1: 0, 3: 0}), + addr_2: Account(storage={2: 0, 3: 0}), + addr_3: Account(storage={3: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_suicide_middle.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_suicide_middle.py index 846ffa1f6a1..a36ca0c3fd4 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_110_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecall_110_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecall_110_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_110_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecall_110_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecall_110_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +48,89 @@ def test_callcodecallcodecall_110_suicide_middle( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0xAC90BB4611B91D4C6292BD64E8656110822E01ED, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (CALL 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xAC90BB4611B91D4C6292BD64E8656110822E01ED), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac90bb4611b91d4c6292bd64e8656110822e01ed"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B3A7640000), + addr: Account(storage={0: 0, 1: 0}), + addr_2: Account(storage={2: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_abcb_recursive.py index fbbe0581a0a..e1e242f9a32 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecall_abcb_recursive.py @@ -2,8 +2,7 @@ DELEGATECALL -> DELEGATECALL2 -> CALL -> DELEGATECALL2 -> ... Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecall_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecall_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecall_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """DELEGATECALL -> DELEGATECALL2 -> CALL -> DELEGATECALL2 -> ...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """DELEGATECALL -> DELEGATECALL2 -> CALL -> DELEGATECALL2 -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,76 +48,78 @@ def test_callcodecallcodecall_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x17D7840, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x17D7840, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15600a91a7af84b8c85782714b3391ed5d73f9a0"), # noqa: E501 + address=Address(0x15600A91A7AF84B8C85782714B3391ED5D73F9A0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x7A120, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xF4240, + address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x91a8703c1bef34c1e76e152c1f7fb8c336c3be24"), # noqa: E501 + address=Address(0xE0B280638526CECD3EC29969B517AEB3FCBB31FA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xF4240, - address=0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (CALL 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x7A120, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe0b280638526cecd3ec29969b517aeb3fcbb31fa"), # noqa: E501 + address=Address(0x91A8703C1BEF34C1E76E152C1F7FB8C336C3BE24), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111.py index 4bda5bb8911..3f7bb7777aa 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecallcode_111. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecallcode_111Filler.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111Filler.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecallcode_111( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecallcode_111.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,90 +48,89 @@ def test_callcodecallcodecallcode_111( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6f50426aa1bbb3cbd865847823f377d918757c07"), # noqa: E501 + address=Address(0xD26E26D5A4796D450BFA296D70C05F02DBC1A4B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 300000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x493E0, + address=0x6F50426AA1BBB3CBD865847823F377D918757C07, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0xFED08E44AE95ECE264BC94A1FC45AF8BC4EF4F1D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 250000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd26e26d5a4796d450bfa296d70c05f02dbc1a4b9"), # noqa: E501 + address=Address(0x6F50426AA1BBB3CBD865847823F377D918757C07), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x493E0, - address=0x6F50426AA1BBB3CBD865847823F377D918757C07, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xfed08e44ae95ece264bc94a1fc45af8bc4ef4f1d"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 1, @@ -145,6 +144,7 @@ def test_callcodecallcodecallcode_111( 340: 10, }, ), + sender: Account(storage={1: 0, 2: 0, 3: 0, 4: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_ooge.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_ooge.py index d355ffa6c91..06776a0a461 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_ooge.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_ooge.py @@ -2,8 +2,7 @@ DELEGATE -> DELEGATE -> DELEGATE -> CODE OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecallcode_111_OOGEFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecallcode_111_ooge( pre: Alloc, ) -> None: """DELEGATE -> DELEGATE -> DELEGATE -> CODE OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +48,86 @@ def test_callcodecallcodecallcode_111_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x69A0017A51AD556682F48B32235D0B61ABDF4DA4, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x1dd747f92062bb53bb8e867ec2902792435f1748"), # noqa: E501 + address=Address(0x69A0017A51AD556682F48B32235D0B61ABDF4DA4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0x1DD747F92062BB53BB8E867EC2902792435F1748, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0x1DD747F92062BB53BB8E867EC2902792435F1748, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x3e423a7b1fba04d0c3f9423a3ae2a180d2878d5b"), # noqa: E501 + address=Address(0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x3E423A7B1FBA04D0C3F9423A3AE2A180D2878D5B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (KECCAK256 0x00 0x2fffff) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x69a0017a51ad556682f48b32235d0b61abdf4da4"), # noqa: E501 + address=Address(0x1DD747F92062BB53BB8E867EC2902792435F1748), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 11: 1}), + target: Account(storage={0: 1, 1: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_oogm_after.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_oogm_after.py index a6958af0f9b..044057ae223 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_oogm_after.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_oogm_after.py @@ -2,8 +2,7 @@ DELEGATE -> (DELEGATE -> DELEGATE -> CODE) OOG. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecallcode_111_OOGMAfterFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecallcode_111_oogm_after( pre: Alloc, ) -> None: """DELEGATE -> (DELEGATE -> DELEGATE -> CODE) OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,80 +48,85 @@ def test_callcodecallcodecallcode_111_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), - nonce=0, - address=Address("0x1adae71ad3aeec97978e38be04da2a1773dfc506"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) [[11]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x74ecd5f6537b2b48ebbff8d66aee8eb8f98430a3"), # noqa: E501 + address=Address(0x74ECD5F6537B2B48EBBFF8D66AEE8EB8F98430A3), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x1ADAE71AD3AEEC97978E38BE04DA2A1773DFC506), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + nonce=0, + address=Address(0xDA11FDF0CE02240C6B4711F56AFCD9763B44D3DC), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xda11fdf0ce02240c6b4711f56afcd9763b44d3dc"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={11: 1}), + target: Account(storage={0: 0, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_oogm_before.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_oogm_before.py index 3a4a9c733ec..7398b1f9a3e 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_oogm_before.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_oogm_before.py @@ -2,8 +2,7 @@ DELEGATE -> DELEGATE -> OOG DELEGATE -> CODE. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecallcode_111_OOGMBeforeFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_callcodecallcodecallcode_111_oogm_before( pre: Alloc, ) -> None: """DELEGATE -> DELEGATE -> OOG DELEGATE -> CODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,80 +48,85 @@ def test_callcodecallcodecallcode_111_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 800000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC3500, - address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC3500, + address=0x29F893B720E998CCD5971409FA9A8802822FDCBC, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0e7163a4a90126c4a13e52f48e84c74600e844da"), # noqa: E501 + address=Address(0x0E7163A4A90126C4A13E52F48E84C74600E844DA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xB, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 600000 0 64 0 64 ) [[11]] 1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xB, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x29f893b720e998ccd5971409fa9a8802822fdcbc"), # noqa: E501 + address=Address(0x29F893B720E998CCD5971409FA9A8802822FDCBC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x61A80, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) [[ 2 ]] (DELEGATECALL 400000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x61A80, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x71e7e95d2dfe9f65b4522f2d3aa71fb33f49920c"), # noqa: E501 + address=Address(0x71E7E95D2DFE9F65B4522F2D3AA71FB33F49920C), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) post = { - contract: Account(storage={0: 1, 11: 1}), + target: Account(storage={0: 1, 11: 1}), + addr: Account(storage={}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + sender: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_suicide_end.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_suicide_end.py index c176834770d..09ca3b8d348 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_suicide_end.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecallcode_111_suicide_end. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecallcode_111_SuicideEndFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_SuicideEndFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecallcode_111_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecallcode_111_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,84 +48,86 @@ def test_callcodecallcodecallcode_111_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0xAC521409E2FA9526BFE6B827805783D2E307C4CE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SELFDESTRUCT(address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0xAC521409E2FA9526BFE6B827805783D2E307C4CE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xac521409e2fa9526bfe6b827805783d2e307c4ce"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}), + target: Account(storage={0: 1, 1: 1, 2: 1, 3: 1}, balance=0), + addr: Account(storage={1: 0, 3: 0}), + addr_2: Account(storage={2: 0, 3: 0}), + addr_3: Account(storage={3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_suicide_middle.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_suicide_middle.py index 8a8209375bd..9686f938293 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_suicide_middle.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_111_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcodecallcodecallcode_111_suicide_middle. Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecallcode_111_SuicideMiddleFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecallcode_111_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcodecallcodecallcode_111_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,82 +48,88 @@ def test_callcodecallcodecallcode_111_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671) - + Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x124b38fa011c9d36b7fe193dc636813a2f8bdaa7"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 + ) + # Source: lll + # { [[ 1 ]] (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x2CAC1D43F00E8B40B63426AB460C7E8717EE6455), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) [[ 2 ]] (DELEGATECALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671 + ) + + Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2cac1d43f00e8b40b63426ab460c7e8717ee6455"), # noqa: E501 + address=Address(0x124B38FA011C9D36B7FE193DC636813A2F8BDAA7), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x73b954ebc05bb0ff4a0f6a13a054d50ad1584099"), # noqa: E501 + address=Address(0x73B954EBC05BB0FF4A0F6A13A054D50AD1584099), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B3A7640000), + addr: Account(storage={0: 0, 1: 0, 2: 0}, balance=0x2540BE400), + addr_2: Account(storage={2: 0, 3: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_abcb_recursive.py b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_abcb_recursive.py index d8180163734..c9ea5f54475 100644 --- a/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_abcb_recursive.py +++ b/tests/ported_static/stCallDelegateCodesHomestead/test_callcodecallcodecallcode_abcb_recursive.py @@ -2,8 +2,7 @@ DELEGATECALL -> DELEGATECALL2 -> DELEGATECALl3 -> DELEGATECALL2 -> ... Ported from: -tests/static/state_tests/stCallDelegateCodesHomestead -callcodecallcodecallcode_ABCB_RECURSIVEFiller.json +state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stCallDelegateCodesHomestead/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcodecallcodecallcode_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """DELEGATECALL -> DELEGATECALL2 -> DELEGATECALl3 -> DELEGATECALL2...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """DELEGATECALL -> DELEGATECALL2 -> DELEGATECALl3 -> DELEGATECALL2 -> .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,75 +48,77 @@ def test_callcodecallcodecallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x17D7840, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x17D7840, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15600a91a7af84b8c85782714b3391ed5d73f9a0"), # noqa: E501 + address=Address(0x15600A91A7AF84B8C85782714B3391ED5D73F9A0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] (DELEGATECALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xF4240, + address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa72f0e2f2fc5fd0878af9b8e4aaed09983670929"), # noqa: E501 + address=Address(0xE0B280638526CECD3EC29969B517AEB3FCBB31FA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xF4240, - address=0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 2 ]] (DELEGATECALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0xE0B280638526CECD3EC29969B517AEB3FCBB31FA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe0b280638526cecd3ec29969b517aeb3fcbb31fa"), # noqa: E501 + address=Address(0xA72F0E2F2FC5FD0878AF9B8E4AAED09983670929), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stChainId/__init__.py b/tests/ported_static/stChainId/__init__.py deleted file mode 100644 index 4f873207fe0..00000000000 --- a/tests/ported_static/stChainId/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from stChainId.""" diff --git a/tests/ported_static/stChainId/test_chain_id.py b/tests/ported_static/stChainId/test_chain_id.py deleted file mode 100644 index b04babc6fea..00000000000 --- a/tests/ported_static/stChainId/test_chain_id.py +++ /dev/null @@ -1,67 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/stChainId/chainIdFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stChainId/chainIdFiller.json"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_chain_id( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000000, - ) - - # Source: LLL - # { [[ 1 ]] (CHAINID) } - contract = pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=Op.CHAINID) + Op.STOP, - nonce=0, - address=Address("0x103e5381df5048a8827bb6ff5d2860ed88635718"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=100000, - ) - - post = { - contract: Account(storage={1: 1}), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stChainId/test_chain_id_gas_cost.py b/tests/ported_static/stChainId/test_chain_id_gas_cost.py deleted file mode 100644 index 562190fffb2..00000000000 --- a/tests/ported_static/stChainId/test_chain_id_gas_cost.py +++ /dev/null @@ -1,79 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/stChainId/chainIdGasCostFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stChainId/chainIdGasCostFiller.json"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_chain_id_gas_cost( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000000, - ) - - # Source: asm - # (asm GAS CHAINID GAS SWAP1 POP SWAP1 SUB 2 SWAP1 SUB 0x01 SSTORE) - contract = pre.deploy_contract( - code=( - Op.GAS - + Op.CHAINID - + Op.GAS - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.SUB - + Op.PUSH1[0x2] - + Op.SWAP1 - + Op.SSTORE(key=0x1, value=Op.SUB) - + Op.STOP - ), - nonce=0, - address=Address("0x53f64910db5c1bbb54ccb272c0e28bd47249ba9b"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=100000, - ) - - post = { - contract: Account(storage={1: 2}), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCodeCopyTest/__init__.py b/tests/ported_static/stCodeCopyTest/__init__.py index 60118afd1cd..fad8ae324c1 100644 --- a/tests/ported_static/stCodeCopyTest/__init__.py +++ b/tests/ported_static/stCodeCopyTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stCodeCopyTest.""" +"""Ported static tests: stCodeCopyTest.""" # noqa: N999 diff --git a/tests/ported_static/stCodeCopyTest/test_ext_code_copy_target_range_longer_than_code_tests.py b/tests/ported_static/stCodeCopyTest/test_ext_code_copy_target_range_longer_than_code_tests.py index 6df5090a7f3..e1f1e7c93b1 100644 --- a/tests/ported_static/stCodeCopyTest/test_ext_code_copy_target_range_longer_than_code_tests.py +++ b/tests/ported_static/stCodeCopyTest/test_ext_code_copy_target_range_longer_than_code_tests.py @@ -1,9 +1,8 @@ """ -Uses EXTCODECOPY to copy 32 bytes of code into a 64 byte range of memory... +Uses EXTCODECOPY to copy 32 bytes of code into a 64 byte range of... Ported from: -tests/static/state_tests/stCodeCopyTest -ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json +state_tests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json", # noqa: E501 + "state_tests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_ext_code_copy_target_range_longer_than_code_tests( pre: Alloc, ) -> None: """Uses EXTCODECOPY to copy 32 bytes of code into a 64 byte range of...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -49,52 +49,56 @@ def test_ext_code_copy_target_range_longer_than_code_tests( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { (MSTORE 32 0x1234) (EXTCODECOPY 0 0 64) [[0]] (MLOAD 0) [[1]] (MLOAD 32) (MSTORE 96 0x5678) (EXTCODECOPY 64 0 64) [[2]] (MLOAD 64) [[3]] (MLOAD 96)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x20, value=0x1234) - + Op.EXTCODECOPY( - address=0x7AC02E797F450C7EA62753383F618E1903CD6BBA, - dest_offset=0x0, - offset=0x0, - size=0x40, - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.MSTORE(offset=0x60, value=0x5678) - + Op.EXTCODECOPY( - address=0x4768B5E50B0EBE91AE38D84A47E3179E615F9C40, - dest_offset=0x40, - offset=0x0, - size=0x40, - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x40)) - + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x60)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x20, value=0x1234) + + Op.EXTCODECOPY( + address=0x7AC02E797F450C7EA62753383F618E1903CD6BBA, + dest_offset=0x0, + offset=0x0, + size=0x40, + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.MSTORE(offset=0x60, value=0x5678) + + Op.EXTCODECOPY( + address=0x4768B5E50B0EBE91AE38D84A47E3179E615F9C40, + dest_offset=0x40, + offset=0x0, + size=0x40, + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x40)) + + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x60)) + + Op.STOP, balance=7000, nonce=0, - address=Address("0x48d8f710ab8cb48f77b602d24696926e31787a17"), # noqa: E501 + address=Address(0x48D8F710AB8CB48F77B602D24696926E31787A17), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x1122334455667788991011121314151617181920212223242526272829303132 + addr = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( "1122334455667788991011121314151617181920212223242526272829303132" ), - address=Address("0x7ac02e797f450c7ea62753383f618e1903cd6bba"), # noqa: E501 + nonce=1, + address=Address(0x7AC02E797F450C7EA62753383F618E1903CD6BBA), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, ) post = { - contract: Account( + target: Account( storage={ 0: 0x1122334455667788991011121314151617181920212223242526272829303132, # noqa: E501 + 1: 0, + 2: 0, + 3: 0, }, ), } diff --git a/tests/ported_static/stCodeCopyTest/test_ext_code_copy_tests_paris.py b/tests/ported_static/stCodeCopyTest/test_ext_code_copy_tests_paris.py index 31e89d74237..3970d6a1ae3 100644 --- a/tests/ported_static/stCodeCopyTest/test_ext_code_copy_tests_paris.py +++ b/tests/ported_static/stCodeCopyTest/test_ext_code_copy_tests_paris.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_ext_code_copy_tests_paris. Ported from: -tests/static/state_tests/stCodeCopyTest/ExtCodeCopyTestsParisFiller.json +state_tests/stCodeCopyTest/ExtCodeCopyTestsParisFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCodeCopyTest/ExtCodeCopyTestsParisFiller.json", # noqa: E501 - ], + ["state_tests/stCodeCopyTest/ExtCodeCopyTestsParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,13 +31,15 @@ def test_ext_code_copy_tests_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_ext_code_copy_tests_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xCCCF5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_2 = Address(0xDDDF5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_3 = Address(0xEEEF5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - callee = Address("0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b") - callee_1 = Address("0xdddf5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -50,74 +51,83 @@ def test_ext_code_copy_tests_paris( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { (EXTCODECOPY 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 1 10 2) [[2]] (MLOAD 0) (EXTCODECOPY 0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b 1 10 2) [[3]] (MLOAD 0) (EXTCODECOPY 0xdddf5374fce5edbc8e2a8697c15331677e6ebf0b 1 10 2) [[4]] (MLOAD 0) (EXTCODECOPY 0xeeef5374fce5edbc8e2a8697c15331677e6ebf0b 1 10 2) [[5]] (MLOAD 0) (EXTCODECOPY 0xeeef5374fce5edbc8e2a8697c15331677e6ebf0b 1 10 200) [[6]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.EXTCODECOPY( - address=0xBBBF5374FCE5EDBC8E2A8697C15331677E6EBF0B, - dest_offset=0x1, - offset=0xA, - size=0x2, - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.EXTCODECOPY( - address=0xCCCF5374FCE5EDBC8E2A8697C15331677E6EBF0B, - dest_offset=0x1, - offset=0xA, - size=0x2, - ) - + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x0)) - + Op.EXTCODECOPY( - address=0xDDDF5374FCE5EDBC8E2A8697C15331677E6EBF0B, - dest_offset=0x1, - offset=0xA, - size=0x2, - ) - + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x0)) - + Op.EXTCODECOPY( - address=0xEEEF5374FCE5EDBC8E2A8697C15331677E6EBF0B, - dest_offset=0x1, - offset=0xA, - size=0x2, - ) - + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0x0)) - + Op.EXTCODECOPY( - address=0xEEEF5374FCE5EDBC8E2A8697C15331677E6EBF0B, - dest_offset=0x1, - offset=0xA, - size=0xC8, - ) - + Op.SSTORE(key=0x6, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.EXTCODECOPY( + address=0xBBBF5374FCE5EDBC8E2A8697C15331677E6EBF0B, + dest_offset=0x1, + offset=0xA, + size=0x2, + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.EXTCODECOPY( + address=0xCCCF5374FCE5EDBC8E2A8697C15331677E6EBF0B, + dest_offset=0x1, + offset=0xA, + size=0x2, + ) + + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x0)) + + Op.EXTCODECOPY( + address=0xDDDF5374FCE5EDBC8E2A8697C15331677E6EBF0B, + dest_offset=0x1, + offset=0xA, + size=0x2, + ) + + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x0)) + + Op.EXTCODECOPY( + address=0xEEEF5374FCE5EDBC8E2A8697C15331677E6EBF0B, + dest_offset=0x1, + offset=0xA, + size=0x2, + ) + + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0x0)) + + Op.EXTCODECOPY( + address=0xEEEF5374FCE5EDBC8E2A8697C15331677E6EBF0B, + dest_offset=0x1, + offset=0xA, + size=0xC8, + ) + + Op.SSTORE(key=0x6, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=7000, nonce=0, - address=Address("0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0) - pre[callee_1] = Account(balance=0, nonce=1) - # Source: raw bytecode - pre.deploy_contract( + pre[contract_1] = Account(balance=10) + pre[contract_2] = Account(balance=0, nonce=1) + # Source: raw + # 0x1122334455667788991011121314151617181920212223242526272829303132 + contract_3 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( "1122334455667788991011121314151617181920212223242526272829303132" ), - address=Address("0xeeef5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + nonce=1, + address=Address(0xEEEF5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=400000, ) post = { - contract: Account( + contract_0: Account( storage={ + 2: 0, + 3: 0, + 4: 0, 5: 0x11120000000000000000000000000000000000000000000000000000000000, # noqa: E501 6: 0x11121314151617181920212223242526272829303132000000000000000000, # noqa: E501 }, ), + Address( + 0xBBBF5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + contract_1: Account(balance=10), + contract_2: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCodeSizeLimit/__init__.py b/tests/ported_static/stCodeSizeLimit/__init__.py index 84b8037b9e0..c24f9f4faff 100644 --- a/tests/ported_static/stCodeSizeLimit/__init__.py +++ b/tests/ported_static/stCodeSizeLimit/__init__.py @@ -1 +1 @@ -"""Tests ported from stCodeSizeLimit.""" +"""Ported static tests: stCodeSizeLimit.""" # noqa: N999 diff --git a/tests/ported_static/stCodeSizeLimit/test_codesize_init.py b/tests/ported_static/stCodeSizeLimit/test_codesize_init.py index 5c1a49c76ca..29901cff4a5 100644 --- a/tests/ported_static/stCodeSizeLimit/test_codesize_init.py +++ b/tests/ported_static/stCodeSizeLimit/test_codesize_init.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_codesize_init. Ported from: -tests/static/state_tests/stCodeSizeLimit/codesizeInitFiller.json +state_tests/stCodeSizeLimit/codesizeInitFiller.json """ import pytest @@ -14,14 +14,16 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stCodeSizeLimit/codesizeInitFiller.json"], + ["state_tests/stCodeSizeLimit/codesizeInitFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,8 +31,8 @@ def test_codesize_init( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_codesize_init.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,13 +51,15 @@ def test_codesize_init( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("38600155303b60025500"), + data=Op.SSTORE(key=0x1, value=Op.CODESIZE) + + Op.SSTORE(key=0x2, value=Op.EXTCODESIZE(address=Op.ADDRESS)) + + Op.STOP, gas_limit=15000000, ) post = { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 10}, + compute_create_address(address=sender, nonce=0): Account( + storage={1: 10, 2: 0}, balance=0 ), } diff --git a/tests/ported_static/stCodeSizeLimit/test_codesize_oog_invalid_size.py b/tests/ported_static/stCodeSizeLimit/test_codesize_oog_invalid_size.py index 8722a785cd4..caa1b2c2744 100644 --- a/tests/ported_static/stCodeSizeLimit/test_codesize_oog_invalid_size.py +++ b/tests/ported_static/stCodeSizeLimit/test_codesize_oog_invalid_size.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_codesize_oog_invalid_size. Ported from: -tests/static/state_tests/stCodeSizeLimit/codesizeOOGInvalidSizeFiller.json +state_tests/stCodeSizeLimit/codesizeOOGInvalidSizeFiller.json """ import pytest @@ -14,34 +14,47 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCodeSizeLimit/codesizeOOGInvalidSizeFiller.json", # noqa: E501 - ], + ["state_tests/stCodeSizeLimit/codesizeOOGInvalidSizeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "61600d600d60003961600d6000f3", - "616001600d6000396160016000f3", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_codesize_oog_invalid_size( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_codesize_oog_invalid_size.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -57,16 +70,25 @@ def test_codesize_oog_invalid_size( pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=0x600D) + + Op.RETURN(offset=0x0, size=0x600D), + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=0x6001) + + Op.RETURN(offset=0x0, size=0x6001), + ] + tx_gas = [15000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=15000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCodeSizeLimit/test_codesize_valid.py b/tests/ported_static/stCodeSizeLimit/test_codesize_valid.py index ce52d5c7681..d47adc32b68 100644 --- a/tests/ported_static/stCodeSizeLimit/test_codesize_valid.py +++ b/tests/ported_static/stCodeSizeLimit/test_codesize_valid.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_codesize_valid. Ported from: -tests/static/state_tests/stCodeSizeLimit/codesizeValidFiller.json +state_tests/stCodeSizeLimit/codesizeValidFiller.json """ import pytest @@ -14,33 +14,47 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stCodeSizeLimit/codesizeValidFiller.json"], + ["state_tests/stCodeSizeLimit/codesizeValidFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ("615ed5600d600039615ed56000f3", {}), - ("616000600d6000396160006000f3", {}), + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_codesize_valid( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_codesize_valid.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -56,16 +70,25 @@ def test_codesize_valid( pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=0x5ED5) + + Op.RETURN(offset=0x0, size=0x5ED5), + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=0x6000) + + Op.RETURN(offset=0x0, size=0x6000), + ] + tx_gas = [15000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=15000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + compute_create_address(address=sender, nonce=0): Account(balance=1) + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCodeSizeLimit/test_create2_code_size_limit.py b/tests/ported_static/stCodeSizeLimit/test_create2_code_size_limit.py index 1f6c86b658c..5d29703f019 100644 --- a/tests/ported_static/stCodeSizeLimit/test_create2_code_size_limit.py +++ b/tests/ported_static/stCodeSizeLimit/test_create2_code_size_limit.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create2_code_size_limit. Ported from: -tests/static/state_tests/stCodeSizeLimit/create2CodeSizeLimitFiller.yml +state_tests/stCodeSizeLimit/create2CodeSizeLimitFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,45 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCodeSizeLimit/create2CodeSizeLimitFiller.yml", # noqa: E501 - ], + ["state_tests/stCodeSizeLimit/create2CodeSizeLimitFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6160016000f3", - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="valid", ), - ( - "6160006000f3", - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 0x81C305016AB9CA56033A07CC37E7A30FC3E079AC, - 1: 1, - } - ) - }, + pytest.param( + 1, + 0, + 0, + id="invalid", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create2_code_size_limit( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create2_code_size_limit.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -75,40 +73,71 @@ def test_create2_code_size_limit( ) pre[sender] = Account(balance=0xBEBC200) - # Source: Yul + # Source: yul + # berlin # { # mstore(0, calldataload(0)) # sstore(0, create2(0, 0, calldatasize(), 0)) # sstore(1, 1) # } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.CREATE2( - value=Op.DUP1, - offset=Op.DUP2, - size=Op.CALLDATASIZE, - salt=0x0, - ), - ) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.CREATE2( + value=Op.DUP1, offset=Op.DUP2, size=Op.CALLDATASIZE, salt=0x0 + ), + ) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( + storage={ + 0: 0x81C305016AB9CA56033A07CC37E7A30FC3E079AC, + 1: 1, + }, + ), + Address(0x81C305016AB9CA56033A07CC37E7A30FC3E079AC): Account( + storage={}, balance=0, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(storage={0: 0, 1: 1}), + Address( + 0x81C305016AB9CA56033A07CC37E7A30FC3E079AC + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("6160006000f3"), + Bytes("6160016000f3"), + ] + tx_gas = [15000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=15000000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCodeSizeLimit/test_create_code_size_limit.py b/tests/ported_static/stCodeSizeLimit/test_create_code_size_limit.py index 6aa66e77e51..87925cd7322 100644 --- a/tests/ported_static/stCodeSizeLimit/test_create_code_size_limit.py +++ b/tests/ported_static/stCodeSizeLimit/test_create_code_size_limit.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_code_size_limit. Ported from: -tests/static/state_tests/stCodeSizeLimit/createCodeSizeLimitFiller.yml +state_tests/stCodeSizeLimit/createCodeSizeLimitFiller.yml """ import pytest @@ -11,9 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,43 +28,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCodeSizeLimit/createCodeSizeLimitFiller.yml"], + ["state_tests/stCodeSizeLimit/createCodeSizeLimitFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6160016000f3", - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="valid", ), - ( - "6160006000f3", - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, - 1: 1, - } - ) - }, + pytest.param( + 1, + 0, + 0, + id="invalid", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_code_size_limit( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_code_size_limit.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -73,37 +74,69 @@ def test_create_code_size_limit( ) pre[sender] = Account(balance=0xBEBC200) - # Source: Yul + # Source: yul + # berlin # { # mstore(0, calldataload(0)) # sstore(0, create(0, 0, calldatasize())) # sstore(1, 1) # } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.CREATE( - value=Op.DUP1, offset=0x0, size=Op.CALLDATASIZE - ), - ) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.CREATE(value=Op.DUP1, offset=0x0, size=Op.CALLDATASIZE), + ) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( + storage={ + 0: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, + 1: 1, + }, + ), + compute_create_address(address=contract_0, nonce=0): Account( + storage={}, balance=0, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(storage={0: 0, 1: 1}), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("6160006000f3"), + Bytes("6160016000f3"), + ] + tx_gas = [15000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=15000000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/__init__.py b/tests/ported_static/stCreate2/__init__.py index 1365688d6c9..8fa08629df2 100644 --- a/tests/ported_static/stCreate2/__init__.py +++ b/tests/ported_static/stCreate2/__init__.py @@ -1 +1 @@ -"""Tests ported from stCreate2.""" +"""Ported static tests: stCreate2.""" # noqa: N999 diff --git a/tests/ported_static/stCreate2/test_call_outsize_then_create2_successful_then_returndatasize.py b/tests/ported_static/stCreate2/test_call_outsize_then_create2_successful_then_returndatasize.py index 7044d0014b2..7d667973bce 100644 --- a/tests/ported_static/stCreate2/test_call_outsize_then_create2_successful_then_returndatasize.py +++ b/tests/ported_static/stCreate2/test_call_outsize_then_create2_successful_then_returndatasize.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_outsize_then_create2_successful_then_returndatasize. Ported from: -tests/static/state_tests/stCreate2 -call_outsize_then_create2_successful_then_returndatasizeFiller.json +state_tests/stCreate2/call_outsize_then_create2_successful_then_returndatasizeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreate2/call_outsize_then_create2_successful_then_returndatasizeFiller.json", # noqa: E501 + "state_tests/stCreate2/call_outsize_then_create2_successful_then_returndatasizeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,10 @@ def test_call_outsize_then_create2_successful_then_returndatasize( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_outsize_then_create2_successful_then_returndatasize.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0AABBCCDD5C57F15886F9B263E2F6D2D6C7B5EC6) + contract_1 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,62 +50,56 @@ def test_call_outsize_then_create2_successful_then_returndatasize( gas_limit=47244640256, ) - # Source: LLL + # Source: lll # { (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32)) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0x0aabbccdd5c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0AABBCCDD5C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) - # Source: LLL + # Source: lll # { (seq (CALL 0x0900000000 0x0aabbccdd5c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0 0x20) (CREATE2 0 0 (lll (seq (mstore 0 0x112233) (RETURN 0 32) (STOP) ) 0) 0) (SSTORE 0 (RETURNDATASIZE)) (STOP) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x900000000, - address=0xAABBCCDD5C57F15886F9B263E2F6D2D6C7B5EC6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x900000000, + address=0xAABBCCDD5C57F15886F9B263E2F6D2D6C7B5EC6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.PUSH1[0x0] - + Op.PUSH1[0xE] - + Op.CODECOPY(dest_offset=0x0, offset=0x3E, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=0x112233) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + ) + + Op.PUSH1[0x0] + + Op.PUSH1[0xE] + + Op.CODECOPY(dest_offset=0x0, offset=0x3E, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=contract_1, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {contract_1: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_call_then_create2_successful_then_returndatasize.py b/tests/ported_static/stCreate2/test_call_then_create2_successful_then_returndatasize.py index 944c53a3354..f18bfea9374 100644 --- a/tests/ported_static/stCreate2/test_call_then_create2_successful_then_returndatasize.py +++ b/tests/ported_static/stCreate2/test_call_then_create2_successful_then_returndatasize.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_then_create2_successful_then_returndatasize. Ported from: -tests/static/state_tests/stCreate2 -call_then_create2_successful_then_returndatasizeFiller.json +state_tests/stCreate2/call_then_create2_successful_then_returndatasizeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreate2/call_then_create2_successful_then_returndatasizeFiller.json", # noqa: E501 + "state_tests/stCreate2/call_then_create2_successful_then_returndatasizeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,10 @@ def test_call_then_create2_successful_then_returndatasize( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_then_create2_successful_then_returndatasize.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0AABBCCDD5C57F15886F9B263E2F6D2D6C7B5EC6) + contract_1 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,63 +50,63 @@ def test_call_then_create2_successful_then_returndatasize( gas_limit=47244640256, ) - # Source: LLL + # Source: lll # { (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32) (STOP) ) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP * 2, nonce=0, - address=Address("0x0aabbccdd5c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0AABBCCDD5C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) - # Source: LLL + # Source: lll # { (seq (CALL 0x0900000000 0x0aabbccdd5c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0 0) (CREATE2 0 0 (lll (seq (mstore 0 0x112233) (RETURN 0 32) (STOP) ) 0) 0) (SSTORE 0 (RETURNDATASIZE)) (STOP) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x900000000, - address=0xAABBCCDD5C57F15886F9B263E2F6D2D6C7B5EC6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x900000000, + address=0xAABBCCDD5C57F15886F9B263E2F6D2D6C7B5EC6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.PUSH1[0x0] - + Op.PUSH1[0xE] - + Op.CODECOPY(dest_offset=0x0, offset=0x3E, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=0x112233) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + ) + + Op.PUSH1[0x0] + + Op.PUSH1[0xE] + + Op.CODECOPY(dest_offset=0x0, offset=0x3E, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=contract_1, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = { + Address(0xC0C06666FAD9E52251740536E21FC0F3DB0E0FA0): Account( + code=bytes.fromhex( + "0000000000000000000000000000000000000000000000000000000000112233" # noqa: E501 + ), + ), + contract_1: Account(storage={0: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_bounds.py b/tests/ported_static/stCreate2/test_create2_bounds.py index f24fffa6b2d..1c07f41f5c4 100644 --- a/tests/ported_static/stCreate2/test_create2_bounds.py +++ b/tests/ported_static/stCreate2/test_create2_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create2_bounds. Ported from: -tests/static/state_tests/stCreate2/CREATE2_BoundsFiller.json +state_tests/stCreate2/CREATE2_BoundsFiller.json """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +25,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/CREATE2_BoundsFiller.json"], + ["state_tests/stCreate2/CREATE2_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create2_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create2_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -55,34 +70,46 @@ def test_create2_bounds( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6001600155601080600c6000396000f3006000355415600957005b6020356000 ) (MSTORE8 32 0x35) (MSTORE8 33 0x55) (CREATE2 1 0 0 0) (CREATE2 1 0 0xfffffff 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 - ) - + Op.MSTORE8(offset=0x20, value=0x35) - + Op.MSTORE8(offset=0x21, value=0x55) - + Op.POP(Op.CREATE2(value=0x1, offset=0x0, size=0x0, salt=0x0)) - + Op.CREATE2(value=0x1, offset=0x0, size=0xFFFFFFF, salt=0x0) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 + ) + + Op.MSTORE8(offset=0x20, value=0x35) + + Op.MSTORE8(offset=0x21, value=0x55) + + Op.POP(Op.CREATE2(value=0x1, offset=0x0, size=0x0, salt=0x0)) + + Op.CREATE2(value=0x1, offset=0x0, size=0xFFFFFFF, salt=0x0) + + Op.STOP, balance=100, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = { + contract_0: Account(balance=100), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + compute_create_address( + address=contract_0, nonce=1 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_bounds2.py b/tests/ported_static/stCreate2/test_create2_bounds2.py index 3568d7a95d7..a0c038b8ab3 100644 --- a/tests/ported_static/stCreate2/test_create2_bounds2.py +++ b/tests/ported_static/stCreate2/test_create2_bounds2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create2_bounds2. Ported from: -tests/static/state_tests/stCreate2/CREATE2_Bounds2Filler.json +state_tests/stCreate2/CREATE2_Bounds2Filler.json """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +25,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/CREATE2_Bounds2Filler.json"], + ["state_tests/stCreate2/CREATE2_Bounds2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create2_bounds2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create2_bounds2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -55,33 +70,42 @@ def test_create2_bounds2( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6001600155601080600c6000396000f3006000355415600957005b6020356000 ) (MSTORE8 32 0x35) (MSTORE8 33 0x55) (CREATE2 1 0 0xffffffff 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 - ) - + Op.MSTORE8(offset=0x20, value=0x35) - + Op.MSTORE8(offset=0x21, value=0x55) - + Op.CREATE2(value=0x1, offset=0x0, size=0xFFFFFFFF, salt=0x0) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 + ) + + Op.MSTORE8(offset=0x20, value=0x35) + + Op.MSTORE8(offset=0x21, value=0x55) + + Op.CREATE2(value=0x1, offset=0x0, size=0xFFFFFFFF, salt=0x0) + + Op.STOP, balance=100, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = { + contract_0: Account(balance=100), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_bounds3.py b/tests/ported_static/stCreate2/test_create2_bounds3.py index 374fa1205a2..520895bbdac 100644 --- a/tests/ported_static/stCreate2/test_create2_bounds3.py +++ b/tests/ported_static/stCreate2/test_create2_bounds3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create2_bounds3. Ported from: -tests/static/state_tests/stCreate2/CREATE2_Bounds3Filler.json +state_tests/stCreate2/CREATE2_Bounds3Filler.json """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,27 +25,44 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/CREATE2_Bounds3Filler.json"], + ["state_tests/stCreate2/CREATE2_Bounds3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (1000000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_create2_bounds3( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create2_bounds3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -56,121 +76,113 @@ def test_create2_bounds3( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6001600155601080600c6000396000f3006000355415600957005b6020356000 ) (MSTORE8 32 0x35) (MSTORE8 33 0x55) (CREATE2 1 0 0xffffffffffffffff 0) (CREATE2 1 0 0xffffffffffffffffffffffffffffffff 0) (CREATE2 1 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) (CREATE2 1 0xfffffff 0 0) (CREATE2 1 0xffffffff 0 0) (CREATE2 1 0xffffffffffffffff 0 0) (CREATE2 1 0xffffffffffffffffffffffffffffffff 0 0) (CREATE2 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0) (CREATE2 1 0xfffffff 0xfffffff 0) (CREATE2 1 0xffffffff 0xffffffff 0) (CREATE2 1 0xffffffffffffffff 0xffffffffffffffff 0) (CREATE2 1 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff 0) (CREATE2 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 - ) - + Op.MSTORE8(offset=0x20, value=0x35) - + Op.MSTORE8(offset=0x21, value=0x55) - + Op.POP( - Op.CREATE2( - value=0x1, - offset=0x0, - size=0xFFFFFFFFFFFFFFFF, - salt=0x0, - ), - ) - + Op.POP( - Op.CREATE2( - value=0x1, - offset=0x0, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - salt=0x0, - ), - ) - + Op.POP( - Op.CREATE2( - value=0x1, - offset=0x0, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - salt=0x0, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 + ) + + Op.MSTORE8(offset=0x20, value=0x35) + + Op.MSTORE8(offset=0x21, value=0x55) + + Op.POP( + Op.CREATE2( + value=0x1, offset=0x0, size=0xFFFFFFFFFFFFFFFF, salt=0x0 ) - + Op.POP( - Op.CREATE2(value=0x1, offset=0xFFFFFFF, size=0x0, salt=0x0) - ) - + Op.POP( - Op.CREATE2(value=0x1, offset=0xFFFFFFFF, size=0x0, salt=0x0) - ) - + Op.POP( - Op.CREATE2( - value=0x1, - offset=0xFFFFFFFFFFFFFFFF, - size=0x0, - salt=0x0, - ), - ) - + Op.POP( - Op.CREATE2( - value=0x1, - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - size=0x0, - salt=0x0, - ), + ) + + Op.POP( + Op.CREATE2( + value=0x1, + offset=0x0, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + salt=0x0, ) - + Op.POP( - Op.CREATE2( - value=0x1, - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x0, - salt=0x0, - ), + ) + + Op.POP( + Op.CREATE2( + value=0x1, + offset=0x0, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + salt=0x0, ) - + Op.POP( - Op.CREATE2( - value=0x1, offset=0xFFFFFFF, size=0xFFFFFFF, salt=0x0 - ), + ) + + Op.POP(Op.CREATE2(value=0x1, offset=0xFFFFFFF, size=0x0, salt=0x0)) + + Op.POP(Op.CREATE2(value=0x1, offset=0xFFFFFFFF, size=0x0, salt=0x0)) + + Op.POP( + Op.CREATE2( + value=0x1, offset=0xFFFFFFFFFFFFFFFF, size=0x0, salt=0x0 ) - + Op.POP( - Op.CREATE2( - value=0x1, - offset=0xFFFFFFFF, - size=0xFFFFFFFF, - salt=0x0, - ), + ) + + Op.POP( + Op.CREATE2( + value=0x1, + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + size=0x0, + salt=0x0, ) - + Op.POP( - Op.CREATE2( - value=0x1, - offset=0xFFFFFFFFFFFFFFFF, - size=0xFFFFFFFFFFFFFFFF, - salt=0x0, - ), + ) + + Op.POP( + Op.CREATE2( + value=0x1, + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x0, + salt=0x0, ) - + Op.POP( - Op.CREATE2( - value=0x1, - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - salt=0x0, - ), + ) + + Op.POP( + Op.CREATE2(value=0x1, offset=0xFFFFFFF, size=0xFFFFFFF, salt=0x0) + ) + + Op.POP( + Op.CREATE2(value=0x1, offset=0xFFFFFFFF, size=0xFFFFFFFF, salt=0x0) + ) + + Op.POP( + Op.CREATE2( + value=0x1, + offset=0xFFFFFFFFFFFFFFFF, + size=0xFFFFFFFFFFFFFFFF, + salt=0x0, ) - + Op.CREATE2( + ) + + Op.POP( + Op.CREATE2( value=0x1, - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, salt=0x0, ) - + Op.STOP - ), + ) + + Op.CREATE2( + value=0x1, + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + salt=0x0, + ) + + Op.STOP, balance=100, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 1000000, 16777216] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = { + contract_0: Account(balance=100), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_contract_suicide_during_init_then_store_then_return.py b/tests/ported_static/stCreate2/test_create2_contract_suicide_during_init_then_store_then_return.py index a67e2d94ba8..c150ecb451b 100644 --- a/tests/ported_static/stCreate2/test_create2_contract_suicide_during_init_then_store_then_return.py +++ b/tests/ported_static/stCreate2/test_create2_contract_suicide_during_init_then_store_then_return.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create2_contract_suicide_during_init_then_store_then_return. Ported from: -tests/static/state_tests/stCreate2 -CREATE2_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json +state_tests/stCreate2/CREATE2_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreate2/CREATE2_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json", # noqa: E501 + "state_tests/stCreate2/CREATE2_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,10 @@ def test_create2_contract_suicide_during_init_then_store_then_return( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create2_contract_suicide_during_init_then_store_then_return.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,60 +51,59 @@ def test_create2_contract_suicide_during_init_then_store_then_return( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (CALL 150000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 32) (SSTORE 1 (MLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x249F0, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x249F0, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xE8D4A51000, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6d64600c6000556000526005601bf36000526001ff) (CREATE2 1 11 21 0) [[0]] 11 (RETURN 18 14) } # noqa: E501 - callee = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6D64600C6000556000526005601BF36000526001FF, - ) - + Op.POP(Op.CREATE2(value=0x1, offset=0xB, size=0x15, salt=0x0)) - + Op.SSTORE(key=0x0, value=0xB) - + Op.RETURN(offset=0x12, size=0xE) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x6D64600C6000556000526005601BF36000526001FF + ) + + Op.POP(Op.CREATE2(value=0x1, offset=0xB, size=0x15, salt=0x0)) + + Op.SSTORE(key=0x0, value=0xB) + + Op.RETURN(offset=0x12, size=0xE) + + Op.STOP, balance=0xE8D4A51000, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, value=10, ) post = { - contract: Account( + Address(0x0000000000000000000000000000000000000001): Account( + balance=1 + ), + contract_0: Account( storage={ 1: 0x6000526005601BF36000526001FF000000000000000000000000000000000000, # noqa: E501 }, ), - callee: Account(storage={0: 11}), + contract_1: Account(storage={0: 11}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_first_byte_loop.py b/tests/ported_static/stCreate2/test_create2_first_byte_loop.py index 6787b73ee1c..65d516db2aa 100644 --- a/tests/ported_static/stCreate2/test_create2_first_byte_loop.py +++ b/tests/ported_static/stCreate2/test_create2_first_byte_loop.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create2_first_byte_loop. Ported from: -tests/static/state_tests/stCreate2/CREATE2_FirstByte_loopFiller.yml +state_tests/stCreate2/CREATE2_FirstByte_loopFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,48 +28,43 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/CREATE2_FirstByte_loopFiller.yml"], + ["state_tests/stCreate2/CREATE2_FirstByte_loopFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ef", # noqa: E501 - { - Address("0x09fdd11d68be787a4c43f692a0778befc011cd35"): Account( - storage={256: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="firstHalf", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ef00000000000000000000000000000000000000000000000000000000000000f0", # noqa: E501 - { - Address("0x09fdd11d68be787a4c43f692a0778befc011cd35"): Account( - storage={239: 1, 256: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="invalidByte", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x09fdd11d68be787a4c43f692a0778befc011cd35"): Account( - storage={256: 1} - ) - }, + pytest.param( + 2, + 0, + 0, + id="secondHalf", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_create2_first_byte_loop( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create2_first_byte_loop.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -77,7 +78,9 @@ def test_create2_first_byte_loop( gas_limit=89128960, ) - # Source: Yul + pre[sender] = Account(balance=0x3B9ACA00) + # Source: yul + # berlin # { # let start := calldataload(4) # let end := calldataload(36) @@ -90,53 +93,96 @@ def test_create2_first_byte_loop( # } # sstore(256, 1) # } - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600060005360016000F300000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.CALLDATALOAD(offset=0x24) - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMPDEST - + Op.JUMPI(pc=0x38, condition=Op.LT(Op.DUP2, Op.DUP2)) - + Op.SSTORE(key=0x100, value=0x1) - + Op.STOP - + Op.JUMPDEST - + Op.DUP1 - + Op.PUSH1[0x1] - + Op.SWAP2 - + Op.DUP3 - + Op.MSTORE8 - + Op.JUMPI( - pc=0x4F, - condition=Op.ISZERO( - Op.CREATE2( - value=Op.DUP1, offset=Op.DUP2, size=0xA, salt=0x0 - ), - ), - ) - + Op.JUMPDEST - + Op.ADD - + Op.JUMP(pc=0x2A) - + Op.JUMPDEST - + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) - + Op.JUMP(pc=0x4A) - ), + entry = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x600060005360016000F300000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.CALLDATALOAD(offset=0x24) + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMPDEST + + Op.JUMPI(pc=0x38, condition=Op.LT(Op.DUP2, Op.DUP2)) + + Op.SSTORE(key=0x100, value=0x1) + + Op.STOP + + Op.JUMPDEST + + Op.DUP1 + + Op.PUSH1[0x1] + + Op.SWAP2 + + Op.DUP3 + + Op.MSTORE8 + + Op.JUMPI( + pc=0x4F, + condition=Op.ISZERO( + Op.CREATE2(value=Op.DUP1, offset=Op.DUP2, size=0xA, salt=0x0) + ), + ) + + Op.JUMPDEST + + Op.ADD + + Op.JUMP(pc=0x2A) + + Op.JUMPDEST + + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) + + Op.JUMP(pc=0x4A), nonce=0, - address=Address("0x09fdd11d68be787a4c43f692a0778befc011cd35"), # noqa: E501 + address=Address(0x09FDD11D68BE787A4C43F692A0778BEFC011CD35), # noqa: E501 ) - pre[sender] = Account(balance=0x3B9ACA00) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account(storage={256: 1}, nonce=239), + Address(0x0D03885ED4F051B06AE83D869CD60F8EBDDE37D8): Account( + nonce=1 + ), + Address(0x94B507D001A223D7948119D899358A073FE5E331): Account( + nonce=1 + ), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account(storage={256: 1}, nonce=16), + Address(0x896E9DC41224489ED98380921EF0AEAC66115D7B): Account( + nonce=1 + ), + Address(0x070DB4FA29B5D139BEDB29347001BB9C3D75DC3A): Account( + nonce=1 + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account(storage={239: 1, 256: 1}, nonce=1), + Address( + 0xA492678492A13F1031904DE45F26A114234B668D + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("1a8451e6") + Hash(0x0) + Hash(0xEF), + Bytes("1a8451e6") + Hash(0xEF) + Hash(0xF0), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x100), + ] + tx_gas = [16777216] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, + to=entry, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_high_nonce.py b/tests/ported_static/stCreate2/test_create2_high_nonce.py index cb031e91010..7d91f2f60da 100644 --- a/tests/ported_static/stCreate2/test_create2_high_nonce.py +++ b/tests/ported_static/stCreate2/test_create2_high_nonce.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create2_high_nonce. Ported from: -tests/static/state_tests/stCreate2/CREATE2_HighNonceFiller.yml +state_tests/stCreate2/CREATE2_HighNonceFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/CREATE2_HighNonceFiller.yml"], + ["state_tests/stCreate2/CREATE2_HighNonceFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_create2_high_nonce( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create2_high_nonce.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,39 +48,43 @@ def test_create2_high_nonce( ) pre[sender] = Account(balance=0x3B9ACA00) - # Source: Yul + # Source: yul + # berlin # { # // initcode: { return(0, 1) } # mstore(0, 0x60016000f3000000000000000000000000000000000000000000000000000000) # noqa: E501 # sstore(0, create2(0, 0, 5, 0)) # sstore(1, 1) # } - contract = pre.deploy_contract( - code=( - Op.SHL(0xD8, 0x60016000F3) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.PUSH1[0x5] - + Op.DUP2 - + Op.DUP1 - + Op.SSTORE(key=0x0, value=Op.CREATE2) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SHL(0xD8, 0x60016000F3) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.PUSH1[0x5] + + Op.DUP2 + + Op.DUP1 + + Op.SSTORE(key=0x0, value=Op.CREATE2) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.STOP, nonce=18446744073709551615, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=16777216, ) post = { - contract: Account(storage={1: 1}), + sender: Account(nonce=1), + contract_0: Account(storage={0: 0, 1: 1}, nonce=18446744073709551615), + Address( + 0x77DD5D2A2B742CA01EE2CFFF306445E3741EF744 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_high_nonce_delegatecall.py b/tests/ported_static/stCreate2/test_create2_high_nonce_delegatecall.py index e866ec2b573..bccd4bc252a 100644 --- a/tests/ported_static/stCreate2/test_create2_high_nonce_delegatecall.py +++ b/tests/ported_static/stCreate2/test_create2_high_nonce_delegatecall.py @@ -1,8 +1,8 @@ """ -Delegate calls CREATE/CREATE2 from an account with max allowed nonce/max... +Delegate calls CREATE/CREATE2 from an account with max allowed... Ported from: -tests/static/state_tests/stCreate2/CREATE2_HighNonceDelegatecallFiller.yml +state_tests/stCreate2/CREATE2_HighNonceDelegatecallFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,479 +28,169 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/CREATE2_HighNonceDelegatecallFiller.yml", # noqa: E501 - ], + ["state_tests/stCreate2/CREATE2_HighNonceDelegatecallFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "917694f90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x09f07a698496a643301174853c4f7f1eaab166be"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x9F07A698496A643301174853C4F7F1EAAB166BE, - 2: 0x9F07A698496A643301174853C4F7F1EAAB166BE, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 0, + 0, + 0, + id="A_MaxNonceMinus1_DelegateCall_B_MaxNonceMinus1_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x74f5960e3479218ec095e853ed1fc95e285adc3b"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x74F5960E3479218EC095E853ED1FC95E285ADC3B, - 2: 0x74F5960E3479218EC095E853ED1FC95E285ADC3B, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 1, + 0, + 0, + id="A_MaxNonceMinus1_DelegateCall_B_MaxNonce_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x09f07a698496a643301174853c4f7f1eaab166be"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x9F07A698496A643301174853C4F7F1EAAB166BE, - 2: 0x9F07A698496A643301174853C4F7F1EAAB166BE, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 2, + 0, + 0, + id="A_MaxNonceMinus1_CallCode_B_MaxNonceMinus1_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x74f5960e3479218ec095e853ed1fc95e285adc3b"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x74F5960E3479218EC095E853ED1FC95E285ADC3B, - 2: 0x74F5960E3479218EC095E853ED1FC95E285ADC3B, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 3, + 0, + 0, + id="A_MaxNonceMinus1_CallCode_B_MaxNonce_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x1cfc908bb573719841cad6a8bc34e7c1ce5ee020"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={ - 2: 0x1CFC908BB573719841CAD6A8BC34E7C1CE5EE020, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x1CFC908BB573719841CAD6A8BC34E7C1CE5EE020, - 65535: 0xFFFFFFFFFFFFFFFE, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 4, + 0, + 0, + id="A_MaxNonceMinus1_Call_B_MaxNonceMinus1_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x99f1bfb202fdf527e07fb8eb682a03c713aeaf11"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={ - 2: 0x99F1BFB202FDF527E07FB8EB682A03C713AEAF11, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x99F1BFB202FDF527E07FB8EB682A03C713AEAF11, - 65535: 0xFFFFFFFFFFFFFFFE, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 5, + 0, + 0, + id="A_MaxNonceMinus1_Call_B_MaxNonce_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 6, + 0, + 0, + id="A_MaxNonce_DelegateCall_B_MaxNonceMinus1_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 7, + 0, + 0, + id="A_MaxNonce_DelegateCall_B_MaxNonce_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x09f07a698496a643301174853c4f7f1eaab166be"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x9F07A698496A643301174853C4F7F1EAAB166BE, - 2: 0x9F07A698496A643301174853C4F7F1EAAB166BE, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 8, + 0, + 0, + id="A_MaxNonce_CallCode_B_MaxNonceMinus1_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x74f5960e3479218ec095e853ed1fc95e285adc3b"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x74F5960E3479218EC095E853ED1FC95E285ADC3B, - 2: 0x74F5960E3479218EC095E853ED1FC95E285ADC3B, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 9, + 0, + 0, + id="A_MaxNonce_CallCode_B_MaxNonce_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x09f07a698496a643301174853c4f7f1eaab166be"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x9F07A698496A643301174853C4F7F1EAAB166BE, - 2: 0x9F07A698496A643301174853C4F7F1EAAB166BE, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 10, + 0, + 0, + id="A_MaxNonce_Call_B_MaxNonceMinus1_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffe000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x74f5960e3479218ec095e853ed1fc95e285adc3b"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x74F5960E3479218EC095E853ED1FC95E285ADC3B, - 2: 0x74F5960E3479218EC095E853ED1FC95E285ADC3B, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 11, + 0, + 0, + id="A_MaxNonce_Call_B_MaxNonce_Create", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 12, + 0, + 0, + id="A_MaxNonceMinus1_DelegateCall_B_MaxNonceMinus1_Create2", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 13, + 0, + 0, + id="A_MaxNonceMinus1_DelegateCall_B_MaxNonce_Create2", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 14, + 0, + 0, + id="A_MaxNonceMinus1_CallCode_B_MaxNonceMinus1_Create2", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 15, + 0, + 0, + id="A_MaxNonceMinus1_CallCode_B_MaxNonce_Create2", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x1cfc908bb573719841cad6a8bc34e7c1ce5ee020"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={ - 2: 0x1CFC908BB573719841CAD6A8BC34E7C1CE5EE020, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x1CFC908BB573719841CAD6A8BC34E7C1CE5EE020, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 16, + 0, + 0, + id="A_MaxNonceMinus1_Call_B_MaxNonceMinus1_Create2", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x99f1bfb202fdf527e07fb8eb682a03c713aeaf11"): Account( - storage={1: 1} - ), - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={ - 2: 0x99F1BFB202FDF527E07FB8EB682A03C713AEAF11, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={ - 1: 0x99F1BFB202FDF527E07FB8EB682A03C713AEAF11, - 65535: 0xFFFFFFFFFFFFFFFF, - } - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 17, + 0, + 0, + id="A_MaxNonceMinus1_Call_B_MaxNonce_Create2", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 18, + 0, + 0, + id="A_MaxNonce_DelegateCall_B_MaxNonceMinus1_Create2", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 19, + 0, + 0, + id="A_MaxNonce_DelegateCall_B_MaxNonce_Create2", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 20, + 0, + 0, + id="A_MaxNonce_CallCode_B_MaxNonceMinus1_Create2", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000cf7dd310db9459fa2e6eec97d4b972ba24ff23eb0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 21, + 0, + 0, + id="A_MaxNonce_CallCode_B_MaxNonce_Create2", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 22, + 0, + 0, + id="A_MaxNonce_Call_B_MaxNonceMinus1_Create2", ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000e51bc07f90c9661fa42db3bde8dd52b942ac69e00000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFE} - ), - Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"): Account( - storage={65535: 0xFFFFFFFFFFFFFFFF} - ), - }, + pytest.param( + 23, + 0, + 0, + id="A_MaxNonce_Call_B_MaxNonce_Create2", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - ], ) @pytest.mark.pre_alloc_mutable def test_create2_high_nonce_delegatecall( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Delegate calls CREATE/CREATE2 from an account with max allowed...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -509,199 +205,775 @@ def test_create2_high_nonce_delegatecall( ) pre[sender] = Account(balance=0x3B9ACA00) - pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.SLOAD(key=0xFFFF) - + Op.MSTORE(offset=0x0, value=0x6005600C60003960056000F36001600155) - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.JUMPI(pc=0x5E, condition=Op.EQ(Op.DUP2, 0x0)) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.JUMPI(pc=0x4F, condition=Op.EQ) - + Op.JUMPDEST - + Op.SSTORE(key=0x2, value=Op.DUP2) - + Op.JUMPI(pc=0x43, condition=Op.GT(Op.DUP3, 0x0)) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.SSTORE(key=0xFFFF, value=Op.ADD) - + Op.CODESIZE - + Op.JUMP(pc=0x39) - + Op.JUMPDEST - + Op.SWAP1 - + Op.POP - + Op.CREATE2(value=0x0, offset=0xF, size=0x11, salt=Op.DUP1) - + Op.SWAP1 - + Op.JUMP(pc=0x2D) - + Op.JUMPDEST - + Op.SWAP2 - + Op.POP - + Op.PUSH1[0x1] - + Op.CREATE(value=0x0, offset=0xF, size=0x11) - + Op.SWAP3 - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x26) - ), - storage={0xFFFF: 0xFFFFFFFFFFFFFFFE}, + # Source: yul + # berlin + # { + # let createtype := calldataload(0) + # let contextnonce := sload(0xffff) + # + # // initcode: { codecopy(0, 12, 5); return(0, 5); sstore(1, 1) } + # mstore(0, 0x6005600c60003960056000f36001600155 ) + # let addr + # if eq(createtype, 0) { + # addr := create(0, sub(32, 17), 17) + # } + # if eq(createtype, 1) { + # // We use the context nonce to mimic CREATE's nonce based address calculation and make verification easier # noqa: E501 + # addr := create2(0, sub(32, 17), 17, contextnonce) + # } + # sstore(2, addr) + # if gt(addr, 0) { sstore(0xffff, add(contextnonce, 1)) } + # mstore(0, addr) + # return(0, 32) + # } + max_nonce_minus_1 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.SLOAD(key=0xFFFF) + + Op.MSTORE(offset=0x0, value=0x6005600C60003960056000F36001600155) + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.JUMPI(pc=0x5E, condition=Op.EQ(Op.DUP2, 0x0)) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.JUMPI(pc=0x4F, condition=Op.EQ) + + Op.JUMPDEST + + Op.SSTORE(key=0x2, value=Op.DUP2) + + Op.JUMPI(pc=0x43, condition=Op.GT(Op.DUP3, 0x0)) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.SSTORE(key=0xFFFF, value=Op.ADD) + + Op.CODESIZE + + Op.JUMP(pc=0x39) + + Op.JUMPDEST + + Op.SWAP1 + + Op.POP + + Op.CREATE2(value=0x0, offset=0xF, size=0x11, salt=Op.DUP1) + + Op.SWAP1 + + Op.JUMP(pc=0x2D) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH1[0x1] + + Op.CREATE(value=0x0, offset=0xF, size=0x11) + + Op.SWAP3 + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x26), + storage={65535: 0xFFFFFFFFFFFFFFFE}, nonce=18446744073709551614, - address=Address("0xcf7dd310db9459fa2e6eec97d4b972ba24ff23eb"), # noqa: E501 + address=Address(0xCF7DD310DB9459FA2E6EEC97D4B972BA24FF23EB), # noqa: E501 ) - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x4) - + Op.CALLDATALOAD(offset=0x24) - + Op.SWAP1 - + Op.CALLDATALOAD(offset=0x44) - + Op.SWAP1 - + Op.CALLDATALOAD(offset=0x64) - + Op.SLOAD(key=0xFFFF) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8B, condition=Op.LT(Op.DUP2, Op.DUP5)) - + Op.POP - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.PUSH1[0x2] - + Op.SWAP1 - + Op.JUMPI(pc=0x79, condition=Op.ISZERO(Op.DUP1)) - + Op.JUMPDEST - + Op.JUMPI(pc=0x66, condition=Op.EQ(Op.DUP2, 0x1)) - + Op.JUMPDEST - + Op.JUMPI(pc=0x52, condition=Op.EQ) - + Op.JUMPDEST - + Op.POP - + Op.MLOAD(offset=0x0) - + Op.SSTORE(key=0x1, value=Op.DUP1) - + Op.JUMPI(pc=0x43, condition=Op.GT(Op.DUP2, 0x0)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.SWAP5 - + Op.SUB(Op.GAS, 0x3E8) - + Op.CALL - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x20] - + Op.DUP2 - + Op.DUP1 - + Op.DUP3 - + Op.SWAP5 - + Op.SUB(Op.GAS, 0x3E8) - + Op.POP(Op.CALL) - + Op.DUP1 - + Op.JUMP(pc=0x32) - + Op.JUMPDEST - + Op.POP( - Op.CALLCODE( - gas=Op.SUB(Op.GAS, 0x3E8), - address=Op.DUP8, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x20, - ), + # Source: yul + # berlin + # { + # let createtype := calldataload(0) + # let contextnonce := sload(0xffff) + # + # // initcode: { codecopy(0, 12, 5); return(0, 5); sstore(1, 1) } + # mstore(0, 0x6005600c60003960056000f36001600155) + # let addr + # if eq(createtype, 0) { + # addr := create(0, sub(32, 17), 17) + # } + # if eq(createtype, 1) { + # // We use the context nonce to mimic CREATE's nonce based address calculation and make verification easier # noqa: E501 + # addr := create2(0, sub(32, 17), 17, contextnonce) + # } + # sstore(2, addr) + # if gt(addr, 0) { sstore(0xffff, add(contextnonce, 1)) } + # mstore(0, addr) + # return(0, 32) + # } + max_nonce = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.SLOAD(key=0xFFFF) + + Op.MSTORE(offset=0x0, value=0x6005600C60003960056000F36001600155) + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.JUMPI(pc=0x5E, condition=Op.EQ(Op.DUP2, 0x0)) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.JUMPI(pc=0x4F, condition=Op.EQ) + + Op.JUMPDEST + + Op.SSTORE(key=0x2, value=Op.DUP2) + + Op.JUMPI(pc=0x43, condition=Op.GT(Op.DUP3, 0x0)) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.SSTORE(key=0xFFFF, value=Op.ADD) + + Op.CODESIZE + + Op.JUMP(pc=0x39) + + Op.JUMPDEST + + Op.SWAP1 + + Op.POP + + Op.CREATE2(value=0x0, offset=0xF, size=0x11, salt=Op.DUP1) + + Op.SWAP1 + + Op.JUMP(pc=0x2D) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH1[0x1] + + Op.CREATE(value=0x0, offset=0xF, size=0x11) + + Op.SWAP3 + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x26), + storage={65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + address=Address(0xE51BC07F90C9661FA42DB3BDE8DD52B942AC69E0), # noqa: E501 + ) + # Source: yul + # berlin + # { + # let calltype := calldataload(4) + # let callernonce := calldataload(36) + # let destnonce := calldataload(68) + # let createtype := calldataload(100) + # + # for { let contextnonce := sload(0xffff) } lt(contextnonce, callernonce) { contextnonce := sload(0xffff) } { # noqa: E501 + # // We have a lower nonce than required for the caller, create dummy contract to increase nonce # noqa: E501 + # mstore(0, 0x60016000f3) + # let addr := create(0, sub(32, 5), 5) + # if gt(addr, 0) { sstore(0xffff, add(contextnonce, 1)) } + # } + # + # mstore(0, createtype) + # if eq(calltype, 0) { + # pop(delegatecall(sub(gas(), 1000), destnonce, 0, 32, 0, 32)) + # } + # if eq(calltype, 1) { + # pop(callcode(sub(gas(), 1000), destnonce, 0, 0, 32, 0, 32)) + # } + # if eq(calltype, 2) { + # pop(call(sub(gas(), 1000), destnonce, 0, 0, 32, 0, 32)) + # } + # let result := mload(0) + # sstore(1, result) + # if gt(result, 0) { + # pop(call(sub(gas(), 1000), result, 0, 0, 0, 0, 0)) + # } + # } + entry = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x4) + + Op.CALLDATALOAD(offset=0x24) + + Op.SWAP1 + + Op.CALLDATALOAD(offset=0x44) + + Op.SWAP1 + + Op.CALLDATALOAD(offset=0x64) + + Op.SLOAD(key=0xFFFF) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8B, condition=Op.LT(Op.DUP2, Op.DUP5)) + + Op.POP + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.PUSH1[0x2] + + Op.SWAP1 + + Op.JUMPI(pc=0x79, condition=Op.ISZERO(Op.DUP1)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x66, condition=Op.EQ(Op.DUP2, 0x1)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x52, condition=Op.EQ) + + Op.JUMPDEST + + Op.POP + + Op.MLOAD(offset=0x0) + + Op.SSTORE(key=0x1, value=Op.DUP1) + + Op.JUMPI(pc=0x43, condition=Op.GT(Op.DUP2, 0x0)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.DUP1 * 4 + + Op.SWAP5 + + Op.SUB(Op.GAS, 0x3E8) + + Op.CALL + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x20] + + Op.DUP2 + + Op.DUP1 + + Op.DUP3 + + Op.SWAP5 + + Op.SUB(Op.GAS, 0x3E8) + + Op.POP(Op.CALL) + + Op.DUP1 + + Op.JUMP(pc=0x32) + + Op.JUMPDEST + + Op.POP( + Op.CALLCODE( + gas=Op.SUB(Op.GAS, 0x3E8), + address=Op.DUP8, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x20, ) - + Op.JUMP(pc=0x2D) - + Op.JUMPDEST - + Op.POP( - Op.DELEGATECALL( - gas=Op.SUB(Op.GAS, 0x3E8), - address=Op.DUP7, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x20, - ), + ) + + Op.JUMP(pc=0x2D) + + Op.JUMPDEST + + Op.POP( + Op.DELEGATECALL( + gas=Op.SUB(Op.GAS, 0x3E8), + address=Op.DUP7, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x20, ) - + Op.JUMP(pc=0x25) - + Op.JUMPDEST - + Op.PUSH5[0x60016000F3] - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.CREATE(value=Op.DUP3, offset=0x1B, size=0x5) - + Op.JUMPI(pc=0xAA, condition=Op.GT) - + Op.JUMPDEST - + Op.POP - + Op.SLOAD(key=0xFFFF) - + Op.JUMP(pc=0x12) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.SSTORE(key=0xFFFF, value=Op.ADD) - + Op.CODESIZE - + Op.JUMP(pc=0xA1) - ), - storage={0xFFFF: 0xFFFFFFFFFFFFFFFE}, + ) + + Op.JUMP(pc=0x25) + + Op.JUMPDEST + + Op.PUSH5[0x60016000F3] + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.CREATE(value=Op.DUP3, offset=0x1B, size=0x5) + + Op.JUMPI(pc=0xAA, condition=Op.GT) + + Op.JUMPDEST + + Op.POP + + Op.SLOAD(key=0xFFFF) + + Op.JUMP(pc=0x12) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.SSTORE(key=0xFFFF, value=Op.ADD) + + Op.CODESIZE + + Op.JUMP(pc=0xA1), + storage={65535: 0xFFFFFFFFFFFFFFFE}, nonce=18446744073709551614, - address=Address("0xd7d7b37fc131964cd181d47c9b705028776fe3d4"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.SLOAD(key=0xFFFF) - + Op.MSTORE(offset=0x0, value=0x6005600C60003960056000F36001600155) - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.JUMPI(pc=0x5E, condition=Op.EQ(Op.DUP2, 0x0)) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.JUMPI(pc=0x4F, condition=Op.EQ) - + Op.JUMPDEST - + Op.SSTORE(key=0x2, value=Op.DUP2) - + Op.JUMPI(pc=0x43, condition=Op.GT(Op.DUP3, 0x0)) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.SSTORE(key=0xFFFF, value=Op.ADD) - + Op.CODESIZE - + Op.JUMP(pc=0x39) - + Op.JUMPDEST - + Op.SWAP1 - + Op.POP - + Op.CREATE2(value=0x0, offset=0xF, size=0x11, salt=Op.DUP1) - + Op.SWAP1 - + Op.JUMP(pc=0x2D) - + Op.JUMPDEST - + Op.SWAP2 - + Op.POP - + Op.PUSH1[0x1] - + Op.CREATE(value=0x0, offset=0xF, size=0x11) - + Op.SWAP3 - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x26) - ), - storage={0xFFFF: 0xFFFFFFFFFFFFFFFF}, - nonce=18446744073709551615, - address=Address("0xe51bc07f90c9661fa42db3bde8dd52b942ac69e0"), # noqa: E501 + address=Address(0xD7D7B37FC131964CD181D47C9B705028776FE3D4), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [8, 9, 6, 7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={1: 0, 2: 0, 65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + max_nonce_minus_1: Account( + storage={65535: 0xFFFFFFFFFFFFFFFE}, + nonce=18446744073709551614, + ), + max_nonce: Account( + storage={65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address( + 0x3689DBE15F5217CDA3865B4158DA57C7A3F9AD88 + ): Account.NONEXISTENT, + Address( + 0xD77662C5102179C42ABBCAFCCC90AB351E7A1E4B + ): Account.NONEXISTENT, + Address( + 0xB840E64C3AA027210A2CEBA09411CF1DD48C56A7 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={ + 1: 0x99F1BFB202FDF527E07FB8EB682A03C713AEAF11, + 65535: 0xFFFFFFFFFFFFFFFF, + }, + nonce=18446744073709551615, + ), + max_nonce_minus_1: Account( + storage={ + 2: 0x99F1BFB202FDF527E07FB8EB682A03C713AEAF11, + 65535: 0xFFFFFFFFFFFFFFFF, + }, + nonce=18446744073709551615, + ), + max_nonce: Account( + storage={65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address(0x99F1BFB202FDF527E07FB8EB682A03C713AEAF11): Account( + storage={1: 1}, code=bytes.fromhex("6001600155") + ), + Address( + 0x3689DBE15F5217CDA3865B4158DA57C7A3F9AD88 + ): Account.NONEXISTENT, + Address( + 0xD77662C5102179C42ABBCAFCCC90AB351E7A1E4B + ): Account.NONEXISTENT, + Address( + 0xB840E64C3AA027210A2CEBA09411CF1DD48C56A7 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [11], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={1: 0, 65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + max_nonce_minus_1: Account( + storage={65535: 0xFFFFFFFFFFFFFFFE}, + nonce=18446744073709551614, + ), + max_nonce: Account( + storage={2: 0, 65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address( + 0x3689DBE15F5217CDA3865B4158DA57C7A3F9AD88 + ): Account.NONEXISTENT, + Address( + 0xD77662C5102179C42ABBCAFCCC90AB351E7A1E4B + ): Account.NONEXISTENT, + Address( + 0xB840E64C3AA027210A2CEBA09411CF1DD48C56A7 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [0, 1, 2, 3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={ + 1: 0x74F5960E3479218EC095E853ED1FC95E285ADC3B, + 2: 0x74F5960E3479218EC095E853ED1FC95E285ADC3B, + 65535: 0xFFFFFFFFFFFFFFFF, + }, + nonce=18446744073709551615, + ), + max_nonce_minus_1: Account( + storage={65535: 0xFFFFFFFFFFFFFFFE}, + nonce=18446744073709551614, + ), + max_nonce: Account( + storage={65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address(0x74F5960E3479218EC095E853ED1FC95E285ADC3B): Account( + storage={1: 1}, code=bytes.fromhex("6001600155") + ), + Address( + 0x3689DBE15F5217CDA3865B4158DA57C7A3F9AD88 + ): Account.NONEXISTENT, + Address( + 0xD77662C5102179C42ABBCAFCCC90AB351E7A1E4B + ): Account.NONEXISTENT, + Address( + 0xB840E64C3AA027210A2CEBA09411CF1DD48C56A7 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={ + 1: 0x99F1BFB202FDF527E07FB8EB682A03C713AEAF11, + 65535: 0xFFFFFFFFFFFFFFFE, + }, + nonce=18446744073709551614, + ), + max_nonce_minus_1: Account( + storage={ + 2: 0x99F1BFB202FDF527E07FB8EB682A03C713AEAF11, + 65535: 0xFFFFFFFFFFFFFFFF, + }, + nonce=18446744073709551615, + ), + max_nonce: Account( + storage={65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address(0x99F1BFB202FDF527E07FB8EB682A03C713AEAF11): Account( + storage={1: 1}, code=bytes.fromhex("6001600155") + ), + Address( + 0x3689DBE15F5217CDA3865B4158DA57C7A3F9AD88 + ): Account.NONEXISTENT, + Address( + 0xD77662C5102179C42ABBCAFCCC90AB351E7A1E4B + ): Account.NONEXISTENT, + Address( + 0xB840E64C3AA027210A2CEBA09411CF1DD48C56A7 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={1: 0, 65535: 0xFFFFFFFFFFFFFFFE}, + nonce=18446744073709551614, + ), + max_nonce_minus_1: Account( + storage={65535: 0xFFFFFFFFFFFFFFFE}, + nonce=18446744073709551614, + ), + max_nonce: Account( + storage={2: 0, 65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address( + 0x3689DBE15F5217CDA3865B4158DA57C7A3F9AD88 + ): Account.NONEXISTENT, + Address( + 0xD77662C5102179C42ABBCAFCCC90AB351E7A1E4B + ): Account.NONEXISTENT, + Address( + 0xB840E64C3AA027210A2CEBA09411CF1DD48C56A7 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [18, 19, 20, 21], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={1: 0, 2: 0, 65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + max_nonce_minus_1: Account( + storage={65535: 0xFFFFFFFFFFFFFFFE}, + nonce=18446744073709551614, + ), + max_nonce: Account( + storage={65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address( + 0x4E060B3A192FD2A082A00259BE2F021AD996D71C + ): Account.NONEXISTENT, + Address( + 0xAA17FC42EF60F987CD7BC803EC28BCC9F0ED1C31 + ): Account.NONEXISTENT, + Address( + 0x76E76DCFBBE7DB1A0A9AB7D6B12E3A309188018A + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [22], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={ + 1: 0x1CFC908BB573719841CAD6A8BC34E7C1CE5EE020, + 65535: 0xFFFFFFFFFFFFFFFF, + }, + nonce=18446744073709551615, + ), + max_nonce_minus_1: Account( + storage={ + 2: 0x1CFC908BB573719841CAD6A8BC34E7C1CE5EE020, + 65535: 0xFFFFFFFFFFFFFFFF, + }, + nonce=18446744073709551615, + ), + max_nonce: Account( + storage={65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address(0x1CFC908BB573719841CAD6A8BC34E7C1CE5EE020): Account( + storage={1: 1}, code=bytes.fromhex("6001600155") + ), + Address( + 0x4E060B3A192FD2A082A00259BE2F021AD996D71C + ): Account.NONEXISTENT, + Address( + 0xAA17FC42EF60F987CD7BC803EC28BCC9F0ED1C31 + ): Account.NONEXISTENT, + Address( + 0x76E76DCFBBE7DB1A0A9AB7D6B12E3A309188018A + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [23], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={1: 0, 65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + max_nonce_minus_1: Account( + storage={65535: 0xFFFFFFFFFFFFFFFE}, + nonce=18446744073709551614, + ), + max_nonce: Account( + storage={2: 0, 65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address( + 0x4E060B3A192FD2A082A00259BE2F021AD996D71C + ): Account.NONEXISTENT, + Address( + 0xAA17FC42EF60F987CD7BC803EC28BCC9F0ED1C31 + ): Account.NONEXISTENT, + Address( + 0x76E76DCFBBE7DB1A0A9AB7D6B12E3A309188018A + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [12, 13, 14, 15], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={ + 1: 0x9F07A698496A643301174853C4F7F1EAAB166BE, + 2: 0x9F07A698496A643301174853C4F7F1EAAB166BE, + 65535: 0xFFFFFFFFFFFFFFFF, + }, + nonce=18446744073709551615, + ), + max_nonce_minus_1: Account( + storage={65535: 0xFFFFFFFFFFFFFFFE}, + nonce=18446744073709551614, + ), + max_nonce: Account( + storage={65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address(0x09F07A698496A643301174853C4F7F1EAAB166BE): Account( + storage={1: 1}, code=bytes.fromhex("6001600155") + ), + Address( + 0x4E060B3A192FD2A082A00259BE2F021AD996D71C + ): Account.NONEXISTENT, + Address( + 0xAA17FC42EF60F987CD7BC803EC28BCC9F0ED1C31 + ): Account.NONEXISTENT, + Address( + 0x76E76DCFBBE7DB1A0A9AB7D6B12E3A309188018A + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [16], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={ + 1: 0x1CFC908BB573719841CAD6A8BC34E7C1CE5EE020, + 65535: 0xFFFFFFFFFFFFFFFE, + }, + nonce=18446744073709551614, + ), + max_nonce_minus_1: Account( + storage={ + 2: 0x1CFC908BB573719841CAD6A8BC34E7C1CE5EE020, + 65535: 0xFFFFFFFFFFFFFFFF, + }, + nonce=18446744073709551615, + ), + max_nonce: Account( + storage={65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address(0x1CFC908BB573719841CAD6A8BC34E7C1CE5EE020): Account( + storage={1: 1}, code=bytes.fromhex("6001600155") + ), + Address( + 0x4E060B3A192FD2A082A00259BE2F021AD996D71C + ): Account.NONEXISTENT, + Address( + 0xAA17FC42EF60F987CD7BC803EC28BCC9F0ED1C31 + ): Account.NONEXISTENT, + Address( + 0x76E76DCFBBE7DB1A0A9AB7D6B12E3A309188018A + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [17], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + entry: Account( + storage={1: 0, 65535: 0xFFFFFFFFFFFFFFFE}, + nonce=18446744073709551614, + ), + max_nonce_minus_1: Account( + storage={65535: 0xFFFFFFFFFFFFFFFE}, + nonce=18446744073709551614, + ), + max_nonce: Account( + storage={2: 0, 65535: 0xFFFFFFFFFFFFFFFF}, + nonce=18446744073709551615, + ), + Address( + 0x4E060B3A192FD2A082A00259BE2F021AD996D71C + ): Account.NONEXISTENT, + Address( + 0xAA17FC42EF60F987CD7BC803EC28BCC9F0ED1C31 + ): Account.NONEXISTENT, + Address( + 0x76E76DCFBBE7DB1A0A9AB7D6B12E3A309188018A + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("917694f9") + + Hash(0x0) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x0) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x1) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x1) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x2) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x2) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x0) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x0) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x1) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x1) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x2) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x2) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce, left_padding=True) + + Hash(0x0), + Bytes("917694f9") + + Hash(0x0) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x1), + Bytes("917694f9") + + Hash(0x0) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce, left_padding=True) + + Hash(0x1), + Bytes("917694f9") + + Hash(0x1) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x1), + Bytes("917694f9") + + Hash(0x1) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce, left_padding=True) + + Hash(0x1), + Bytes("917694f9") + + Hash(0x2) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x1), + Bytes("917694f9") + + Hash(0x2) + + Hash(0xFFFFFFFFFFFFFFFE) + + Hash(max_nonce, left_padding=True) + + Hash(0x1), + Bytes("917694f9") + + Hash(0x0) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x1), + Bytes("917694f9") + + Hash(0x0) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce, left_padding=True) + + Hash(0x1), + Bytes("917694f9") + + Hash(0x1) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x1), + Bytes("917694f9") + + Hash(0x1) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce, left_padding=True) + + Hash(0x1), + Bytes("917694f9") + + Hash(0x2) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce_minus_1, left_padding=True) + + Hash(0x1), + Bytes("917694f9") + + Hash(0x2) + + Hash(0xFFFFFFFFFFFFFFFF) + + Hash(max_nonce, left_padding=True) + + Hash(0x1), + ] + tx_gas = [16777216] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, + to=entry, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_high_nonce_minus1.py b/tests/ported_static/stCreate2/test_create2_high_nonce_minus1.py index 368bbdf77c1..10ac3bc04d9 100644 --- a/tests/ported_static/stCreate2/test_create2_high_nonce_minus1.py +++ b/tests/ported_static/stCreate2/test_create2_high_nonce_minus1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create2_high_nonce_minus1. Ported from: -tests/static/state_tests/stCreate2/CREATE2_HighNonceMinus1Filler.yml +state_tests/stCreate2/CREATE2_HighNonceMinus1Filler.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/CREATE2_HighNonceMinus1Filler.yml"], + ["state_tests/stCreate2/CREATE2_HighNonceMinus1Filler.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_create2_high_nonce_minus1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create2_high_nonce_minus1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,43 +48,48 @@ def test_create2_high_nonce_minus1( ) pre[sender] = Account(balance=0x3B9ACA00) - # Source: Yul + # Source: yul + # berlin # { # // initcode: { return(0, 1) } # mstore(0, 0x60016000f3000000000000000000000000000000000000000000000000000000) # noqa: E501 # sstore(0, create2(0, 0, 5, 0)) # sstore(1, 1) # } - contract = pre.deploy_contract( - code=( - Op.SHL(0xD8, 0x60016000F3) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.PUSH1[0x5] - + Op.DUP2 - + Op.DUP1 - + Op.SSTORE(key=0x0, value=Op.CREATE2) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SHL(0xD8, 0x60016000F3) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.PUSH1[0x5] + + Op.DUP2 + + Op.DUP1 + + Op.SSTORE(key=0x0, value=Op.CREATE2) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.STOP, nonce=18446744073709551614, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=16777216, ) post = { - contract: Account( + sender: Account(nonce=1), + contract_0: Account( storage={ 0: 0x77DD5D2A2B742CA01EE2CFFF306445E3741EF744, 1: 1, }, + nonce=18446744073709551615, + ), + Address(0x77DD5D2A2B742CA01EE2CFFF306445E3741EF744): Account( + code=bytes.fromhex("00") ), } diff --git a/tests/ported_static/stCreate2/test_create2_init_codes.py b/tests/ported_static/stCreate2/test_create2_init_codes.py index 6e6309558ec..e1ad5fa965b 100644 --- a/tests/ported_static/stCreate2/test_create2_init_codes.py +++ b/tests/ported_static/stCreate2/test_create2_init_codes.py @@ -1,8 +1,8 @@ """ -testing different byte opcodes inside create2 init code. +Testing different byte opcodes inside create2 init code. Ported from: -tests/static/state_tests/stCreate2/create2InitCodesFiller.json +state_tests/stCreate2/create2InitCodesFiller.json """ import pytest @@ -14,95 +14,92 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/create2InitCodesFiller.json"], + ["state_tests/stCreate2/create2InitCodesFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "60006000536000600160006000f560005500", - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={0: 0x9CCB06046C674D1A423C968D7998235BC33D40C1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ("60566000536000600160006000f560005500", {}), - ("60016000536000600160006000f560005500", {}), - ("60f46000536000600160006000f560005500", {}), - ( - "6a60016001556001546002556000526000600b60156000f560005500", - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={0: 0xD46F8D2A93844FB23D8A2803A615F3D00849B8AB} - ), - Address("0xd46f8d2a93844fb23d8a2803a615f3d00849b8ab"): Account( - storage={1: 1, 2: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "626001ff60005260006003601d6000f560005500", - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={0: 0xADF52AAFB61364F699F9B15EE605EF82DCA7F53D} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "626001ff60005260006003601d6001f560005500", - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={0: 0xADF52AAFB61364F699F9B15EE605EF82DCA7F53D} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "60006003601d6000f560005500", - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={0: 0x52B620D9A3FD03486496061138825A08B4DA501F} - ) - }, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ( - "6160a960005260006002601e6001f560005500", - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={0: 0x5210981AE8161A02A1B7E37452AE142AEDC66EA3} - ) - }, + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", ], ) @pytest.mark.pre_alloc_mutable def test_create2_init_codes( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Testing different byte opcodes inside create2 init code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -118,16 +115,164 @@ def test_create2_init_codes( pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x9CCB06046C674D1A423C968D7998235BC33D40C1): Account( + nonce=1 + ), + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + storage={0: 0x9CCB06046C674D1A423C968D7998235BC33D40C1}, + ), + }, + }, + { + "indexes": {"data": [1, 2, 3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + balance=1, nonce=2 + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xD46F8D2A93844FB23D8A2803A615F3D00849B8AB): Account( + storage={1: 1, 2: 1} + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address( + 0xADF52AAFB61364F699F9B15EE605EF82DCA7F53D + ): Account.NONEXISTENT, + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + storage={0: 0xADF52AAFB61364F699F9B15EE605EF82DCA7F53D}, + ), + }, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address( + 0xADF52AAFB61364F699F9B15EE605EF82DCA7F53D + ): Account.NONEXISTENT, + Address(0x0000000000000000000000000000000000000001): Account( + balance=1 + ), + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + storage={0: 0xADF52AAFB61364F699F9B15EE605EF82DCA7F53D}, + ), + }, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x52B620D9A3FD03486496061138825A08B4DA501F): Account( + nonce=1 + ), + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + storage={0: 0x52B620D9A3FD03486496061138825A08B4DA501F}, + ), + }, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x5210981AE8161A02A1B7E37452AE142AEDC66EA3): Account( + balance=1, nonce=1 + ), + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + storage={0: 0x5210981AE8161A02A1B7E37452AE142AEDC66EA3}, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.MSTORE8(offset=0x0, value=0x0) + + Op.SSTORE( + key=0x0, + value=Op.CREATE2(value=0x0, offset=0x0, size=0x1, salt=0x0), + ) + + Op.STOP, + Op.MSTORE8(offset=0x0, value=0x56) + + Op.SSTORE( + key=0x0, + value=Op.CREATE2(value=0x0, offset=0x0, size=0x1, salt=0x0), + ) + + Op.STOP, + Op.MSTORE8(offset=0x0, value=0x1) + + Op.SSTORE( + key=0x0, + value=Op.CREATE2(value=0x0, offset=0x0, size=0x1, salt=0x0), + ) + + Op.STOP, + Op.MSTORE8(offset=0x0, value=0xF4) + + Op.SSTORE( + key=0x0, + value=Op.CREATE2(value=0x0, offset=0x0, size=0x1, salt=0x0), + ) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6001600155600154600255) + + Op.SSTORE( + key=0x0, + value=Op.CREATE2(value=0x0, offset=0x15, size=0xB, salt=0x0), + ) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6001FF) + + Op.SSTORE( + key=0x0, + value=Op.CREATE2(value=0x0, offset=0x1D, size=0x3, salt=0x0), + ) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6001FF) + + Op.SSTORE( + key=0x0, + value=Op.CREATE2(value=0x1, offset=0x1D, size=0x3, salt=0x0), + ) + + Op.STOP, + Op.SSTORE( + key=0x0, + value=Op.CREATE2(value=0x0, offset=0x1D, size=0x3, salt=0x0), + ) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x60A9) + + Op.SSTORE( + key=0x0, + value=Op.CREATE2(value=0x1, offset=0x1E, size=0x2, salt=0x0), + ) + + Op.STOP, + ] + tx_gas = [800000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=800000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_on_depth1023.py b/tests/ported_static/stCreate2/test_create2_on_depth1023.py index 1381fa65250..6f7aaf2b6a7 100644 --- a/tests/ported_static/stCreate2/test_create2_on_depth1023.py +++ b/tests/ported_static/stCreate2/test_create2_on_depth1023.py @@ -2,7 +2,7 @@ Create2OnDepth1023, 0x0400 indicates 1022 level. Ported from: -tests/static/state_tests/stCreate2/Create2OnDepth1023Filler.json +state_tests/stCreate2/Create2OnDepth1023Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/Create2OnDepth1023Filler.json"], + ["state_tests/stCreate2/Create2OnDepth1023Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -32,7 +33,9 @@ def test_create2_on_depth1023( pre: Alloc, ) -> None: """Create2OnDepth1023, 0x0400 indicates 1022 level.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,70 +50,68 @@ def test_create2_on_depth1023( ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) (MSTORE 0 (ADD 2 (MLOAD 0))) (if (EQ (MLOAD 0) 0x0400) (seq (MSTORE 32 0x6000600060006000f5600155) [[1]] (CREATE2 0 52 12 0)) (CALL (GAS) 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b (EQ (MLOAD 0) 0x0400) 0 32 0 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x0, value=Op.ADD(0x2, Op.MLOAD(offset=0x0))) - + Op.JUMPI(pc=0x43, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x400)) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=Op.EQ(Op.MLOAD(offset=0x0), 0x400), - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMP(pc=0x60) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=0x6000600060006000F5600155) - + Op.SSTORE( - key=0x1, - value=Op.CREATE2(value=0x0, offset=0x34, size=0xC, salt=0x0), - ) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) (CALL (GAS) 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 32 0 0) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.CALL( + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=Op.ADD(0x2, Op.MLOAD(offset=0x0))) + + Op.JUMPI(pc=0x43, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x400)) + + Op.POP( + Op.CALL( gas=Op.GAS, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=Op.EQ(Op.MLOAD(offset=0x0), 0x400), args_offset=0x0, args_size=0x20, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.JUMP(pc=0x60) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=0x6000600060006000F5600155) + + Op.SSTORE( + key=0x1, + value=Op.CREATE2(value=0x0, offset=0x34, size=0xC, salt=0x0), + ) + + Op.JUMPDEST + + Op.STOP, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) (CALL (GAS) 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 32 0 0) } # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.CALL( + gas=Op.GAS, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=9151314442816847871, ) post = { - Address("0xa3da9580897e90044fa0de6969815406b3172e3a"): Account( + Address(0x4F05179F0987710F94F2CBDE67C5357BC1815AF3): Account(nonce=1), + Address(0xA3DA9580897E90044FA0DE6969815406B3172E3A): Account( storage={1: 0x4F05179F0987710F94F2CBDE67C5357BC1815AF3}, ), - contract: Account( + contract_0: Account( storage={1: 0xA3DA9580897E90044FA0DE6969815406B3172E3A}, ), } diff --git a/tests/ported_static/stCreate2/test_create2_on_depth1024.py b/tests/ported_static/stCreate2/test_create2_on_depth1024.py index db131125404..68c67ed0a13 100644 --- a/tests/ported_static/stCreate2/test_create2_on_depth1024.py +++ b/tests/ported_static/stCreate2/test_create2_on_depth1024.py @@ -2,7 +2,7 @@ Create2OnDepth1024, 0x0400 indicates 1022 level. Ported from: -tests/static/state_tests/stCreate2/Create2OnDepth1024Filler.json +state_tests/stCreate2/Create2OnDepth1024Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/Create2OnDepth1024Filler.json"], + ["state_tests/stCreate2/Create2OnDepth1024Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -32,7 +33,9 @@ def test_create2_on_depth1024( pre: Alloc, ) -> None: """Create2OnDepth1024, 0x0400 indicates 1022 level.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,73 +50,71 @@ def test_create2_on_depth1024( ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) (MSTORE 0 (ADD 2 (MLOAD 0))) (if (EQ (MLOAD 0) 0x0400) (seq (MSTORE 32 0x686000600060006000f56000526000600960176000f5600155) [[1]] (CREATE2 0 39 25 0)) (CALL (GAS) 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b (EQ (MLOAD 0) 0x0400) 0 32 0 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x0, value=Op.ADD(0x2, Op.MLOAD(offset=0x0))) - + Op.JUMPI(pc=0x43, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x400)) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=Op.EQ(Op.MLOAD(offset=0x0), 0x400), - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMP(pc=0x6D) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x20, - value=0x686000600060006000F56000526000600960176000F5600155, - ) - + Op.SSTORE( - key=0x1, - value=Op.CREATE2(value=0x0, offset=0x27, size=0x19, salt=0x0), - ) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) (CALL (GAS) 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 32 0 0) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.CALL( + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=Op.ADD(0x2, Op.MLOAD(offset=0x0))) + + Op.JUMPI(pc=0x43, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x400)) + + Op.POP( + Op.CALL( gas=Op.GAS, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=Op.EQ(Op.MLOAD(offset=0x0), 0x400), args_offset=0x0, args_size=0x20, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.JUMP(pc=0x6D) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x20, + value=0x686000600060006000F56000526000600960176000F5600155, + ) + + Op.SSTORE( + key=0x1, + value=Op.CREATE2(value=0x0, offset=0x27, size=0x19, salt=0x0), + ) + + Op.JUMPDEST + + Op.STOP, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) (CALL (GAS) 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 32 0 0) } # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.CALL( + gas=Op.GAS, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=9151314442816847871, ) post = { - Address("0xb250d8cdad4a7a81323be508f4ac44584dd27597"): Account( + Address(0x436B8F99E8D953CDAF8F9472116ADD83CCD82A65): Account(nonce=1), + Address(0xB250D8CDAD4A7A81323BE508F4AC44584DD27597): Account( storage={1: 0x436B8F99E8D953CDAF8F9472116ADD83CCD82A65}, ), - contract: Account( + contract_0: Account( storage={1: 0xB250D8CDAD4A7A81323BE508F4AC44584DD27597}, ), } diff --git a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code.py b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code.py index e5c019a4b77..ab52f770473 100644 --- a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code.py +++ b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create2_oo_gafter_init_code. Ported from: -tests/static/state_tests/stCreate2/Create2OOGafterInitCodeFiller.json +state_tests/stCreate2/Create2OOGafterInitCodeFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/Create2OOGafterInitCodeFiller.json"], + ["state_tests/stCreate2/Create2OOGafterInitCodeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (54000, {}), - (55000, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create2_oo_gafter_init_code( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create2_oo_gafter_init_code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -56,24 +73,52 @@ def test_create2_oo_gafter_init_code( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE2 0 18 14 0) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 0}), + Address( + 0x6878B140F875209C82AB4D5F083B55947299EF6B + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 0}), + Address(0x6878B140F875209C82AB4D5F083B55947299EF6B): Account( + code=bytes.fromhex("6001600155") + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [54000, 55000] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata.py b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata.py index 2f8291be207..570c4c2ffff 100644 --- a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata.py +++ b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata.py @@ -1,8 +1,8 @@ """ -Call RETURNDATASIZE and RETURNDATACOPY (BufferOverrun) after CREATE2 deploy... +Call RETURNDATASIZE and RETURNDATACOPY (BufferOverrun) after CREATE2... Ported from: -tests/static/state_tests/stCreate2/Create2OOGafterInitCodeReturndataFiller.json +state_tests/stCreate2/Create2OOGafterInitCodeReturndataFiller.json """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,42 +25,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/Create2OOGafterInitCodeReturndataFiller.json", # noqa: E501 - ], + ["state_tests/stCreate2/Create2OOGafterInitCodeReturndataFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 54000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={1: 1, 2: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", ), - ( - 95000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={1: 1, 2: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create2_oo_gafter_init_code_returndata( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Call RETURNDATASIZE and RETURNDATACOPY (BufferOverrun) after...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -72,28 +71,37 @@ def test_create2_oo_gafter_init_code_returndata( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE2 0 18 14 0) [[ 1 ]] (RETURNDATASIZE) (RETURNDATACOPY 0 0 32) [[ 2 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.POP(Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0)) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x1: 0x1, 0x2: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.POP(Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0)) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={1: 1, 2: 1}, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [54000, 95000] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = { + contract_0: Account(storage={1: 1, 2: 1}), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata2.py b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata2.py index 085f97df077..f259f787b86 100644 --- a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata2.py +++ b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata2.py @@ -2,8 +2,7 @@ Call RETURNDATASIZE and RETURNDATACOPY after CREATE2 deploy a contract.... Ported from: -tests/static/state_tests/stCreate2 -Create2OOGafterInitCodeReturndata2Filler.json +state_tests/stCreate2/Create2OOGafterInitCodeReturndata2Filler.json """ import pytest @@ -12,9 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -23,42 +28,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/Create2OOGafterInitCodeReturndata2Filler.json", # noqa: E501 - ], + ["state_tests/stCreate2/Create2OOGafterInitCodeReturndata2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 54000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={1: 2} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", ), - ( - 95000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={2: 0x6460016001556000526005601BF3} - ) - }, + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create2_oo_gafter_init_code_returndata2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Call RETURNDATASIZE and RETURNDATACOPY after CREATE2 deploy a...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -73,28 +74,58 @@ def test_create2_oo_gafter_init_code_returndata2( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE2 0 18 14 0) [[ 1 ]] (RETURNDATASIZE) (RETURNDATACOPY 0 0 0) [[ 2 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.POP(Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0)) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x1: 0x2}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.POP(Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0)) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={1: 2}, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 2, 2: 0}), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={1: 0, 2: 0x6460016001556000526005601BF3} + ), + Address(0x6878B140F875209C82AB4D5F083B55947299EF6B): Account( + code=bytes.fromhex("6001600155") + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [54000, 95000] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata3.py b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata3.py index 4a47727d834..fdf9fe491f6 100644 --- a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata3.py +++ b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata3.py @@ -1,9 +1,8 @@ """ -Calls a contract that runs CREATE2 which deploy a code. then OOG happens... +Calls a contract that runs CREATE2 which deploy a code. then OOG... Ported from: -tests/static/state_tests/stCreate2 -Create2OOGafterInitCodeReturndata3Filler.json +state_tests/stCreate2/Create2OOGafterInitCodeReturndata3Filler.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -23,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/Create2OOGafterInitCodeReturndata3Filler.json", # noqa: E501 - ], + ["state_tests/stCreate2/Create2OOGafterInitCodeReturndata3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +32,10 @@ def test_create2_oo_gafter_init_code_returndata3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Calls a contract that runs CREATE2 which deploy a code. then OOG...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Calls a contract that runs CREATE2 which deploy a code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,49 +50,49 @@ def test_create2_oo_gafter_init_code_returndata3( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL - # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE2 0 18 14 0) } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (CALLCODE (GAS) 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 32) (RETURNDATACOPY 0 0 32) [[ 1 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=Op.GAS, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x1: 0x1}, + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={1: 1}, + nonce=0, + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE2 0 18 14 0) } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0) + + Op.STOP, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=55000, ) post = { - contract: Account(storage={1: 1}), + contract_0: Account(storage={1: 1}), + compute_create_address( + address=contract_1, nonce=0 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata_size.py b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata_size.py index 24768e3b7e9..ebdc5af07dd 100644 --- a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata_size.py +++ b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_returndata_size.py @@ -1,9 +1,8 @@ """ -Calls a contract that runs CREATE2 which deploy a code. then OOG happens... +Calls a contract that runs CREATE2 which deploy a code. then OOG... Ported from: -tests/static/state_tests/stCreate2 -Create2OOGafterInitCodeReturndataSizeFiller.json +state_tests/stCreate2/Create2OOGafterInitCodeReturndataSizeFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -23,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/Create2OOGafterInitCodeReturndataSizeFiller.json", # noqa: E501 - ], + ["state_tests/stCreate2/Create2OOGafterInitCodeReturndataSizeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +32,9 @@ def test_create2_oo_gafter_init_code_returndata_size( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Calls a contract that runs CREATE2 which deploy a code. then OOG...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Calls a contract that runs CREATE2 which deploy a code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,28 +49,32 @@ def test_create2_oo_gafter_init_code_returndata_size( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6960016001556001600255600052600a6016f3) (CREATE2 0 13 19 0) (EXP 2 (RETURNDATASIZE)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, value=0x6960016001556001600255600052600A6016F3 - ) - + Op.POP(Op.CREATE2(value=0x0, offset=0xD, size=0x13, salt=0x0)) - + Op.EXP(0x2, Op.RETURNDATASIZE) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x6960016001556001600255600052600A6016F3 + ) + + Op.POP(Op.CREATE2(value=0x0, offset=0xD, size=0x13, salt=0x0)) + + Op.EXP(0x2, Op.RETURNDATASIZE) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=55054, value=1, ) - post: dict = {} + post = { + contract_0: Account(balance=1), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_revert.py b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_revert.py index 2a45a82ea22..9432309bf4f 100644 --- a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_revert.py +++ b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_revert.py @@ -2,7 +2,7 @@ Calls a contract that runs CREATE2 which deploy a code. then after... Ported from: -tests/static/state_tests/stCreate2/Create2OOGafterInitCodeRevertFiller.json +state_tests/stCreate2/Create2OOGafterInitCodeRevertFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/Create2OOGafterInitCodeRevertFiller.json", # noqa: E501 - ], + ["state_tests/stCreate2/Create2OOGafterInitCodeRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +32,10 @@ def test_create2_oo_gafter_init_code_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Calls a contract that runs CREATE2 which deploy a code. then...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Calls a contract that runs CREATE2 which deploy a code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,49 +50,49 @@ def test_create2_oo_gafter_init_code_revert( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL - # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE2 0 18 14 0) (REVERT 0 32) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.POP(Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0)) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (CALL (GAS) 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 32) [[ 1 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x1: 0x1}, + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={1: 1}, + nonce=0, + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE2 0 18 14 0) (REVERT 0 32) } # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.POP(Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0)) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=75000, ) post = { - contract: Account(storage={1: 0x6460016001556000526005601BF3}), + contract_0: Account(storage={1: 0x6460016001556000526005601BF3}), + compute_create_address( + address=contract_1, nonce=0 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_revert2.py b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_revert2.py index e705b394ec1..6f939986e27 100644 --- a/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_revert2.py +++ b/tests/ported_static/stCreate2/test_create2_oo_gafter_init_code_revert2.py @@ -2,7 +2,7 @@ Calls a contract that runs CREATE2 which deploy a code. then after... Ported from: -tests/static/state_tests/stCreate2/Create2OOGafterInitCodeRevert2Filler.json +state_tests/stCreate2/Create2OOGafterInitCodeRevert2Filler.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/Create2OOGafterInitCodeRevert2Filler.json", # noqa: E501 - ], + ["state_tests/stCreate2/Create2OOGafterInitCodeRevert2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +32,10 @@ def test_create2_oo_gafter_init_code_revert2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Calls a contract that runs CREATE2 which deploy a code. then...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Calls a contract that runs CREATE2 which deploy a code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,49 +50,49 @@ def test_create2_oo_gafter_init_code_revert2( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL - # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE2 0 18 14 0) (REVERT 0 32) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.POP(Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0)) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (CALL 33000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 32) [[ 1 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x80E8, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x80E8, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x1: 0x1}, + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={1: 1}, + nonce=0, + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE2 0 18 14 0) (REVERT 0 32) } # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.POP(Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0)) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=75000, ) post = { - contract: Account(storage={1: 0x6460016001556000526005601BF3}), + contract_0: Account(storage={1: 0x6460016001556000526005601BF3}), + compute_create_address( + address=contract_1, nonce=0 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_oog_from_call_refunds.py b/tests/ported_static/stCreate2/test_create2_oog_from_call_refunds.py index 810da7e92d5..22aaf9cea01 100644 --- a/tests/ported_static/stCreate2/test_create2_oog_from_call_refunds.py +++ b/tests/ported_static/stCreate2/test_create2_oog_from_call_refunds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create2_oog_from_call_refunds. Ported from: -tests/static/state_tests/stCreate2/Create2OOGFromCallRefundsFiller.yml +state_tests/stCreate2/Create2OOGFromCallRefundsFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,406 +28,198 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/Create2OOGFromCallRefundsFiller.yml"], + ["state_tests/stCreate2/Create2OOGFromCallRefundsFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "693c6139000000000000000000000000000000000000000000000000000000000000006a", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - Address("0x2a2141ed764598d4c5a8b6e036987928d5ec6bea"): Account( - storage={0: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="SStore_Refund_NoOoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000006c", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="SStore_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000006b", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="SStore_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000004a", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - Address("0x858ec13538276b49d5ece2a408c8331ccb79ad89"): Account( - storage={0: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="SStore_Call_Refund_NoOoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000002a", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - Address("0xd615c5eaff84f487cff253b50dc18517fc8385b0"): Account( - storage={0: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="SStore_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000008a", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - Address("0x5a2664b55822aa3c6d9d90fec18b4c87cde07d04"): Account( - storage={0: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="SStore_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000008c", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="SStore_DelegateCall_Refund_NoOoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000008b", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="SStore_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000007a", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - Address("0xdeb7d920f2653a8eddcffca0a77f56fcd788c00a"): Account( - storage={0: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="SStore_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000007c", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="SStore_CallCode_Refund_NoOoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000007b", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 10, + 0, + 0, + id="SStore_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000003a", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - Address("0x0d44b2ad06c5c9f9a86c9edf8d13fb7d44fe756c"): Account( - storage={0: 1} - ), - }, + pytest.param( + 11, + 0, + 0, + id="SStore_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - Address("0xcfb6834f84b9e726f5f8aef446d585b732abdd99"): Account( - storage={0: 1} - ), - }, + pytest.param( + 12, + 0, + 0, + id="SelfDestruct_Refund_NoOoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 13, + 0, + 0, + id="SelfDestruct_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000002b", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 14, + 0, + 0, + id="SelfDestruct_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000002c", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 15, + 0, + 0, + id="LogOp_NoOoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 16, + 0, + 0, + id="LogOp_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 17, + 0, + 0, + id="LogOp_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000004b", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 18, + 0, + 0, + id="SStore_Create_Refund_NoOoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000004c", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 19, + 0, + 0, + id="SStore_Create_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 20, + 0, + 0, + id="SStore_Create_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000005a", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - Address("0xd83e541aa11c5ae1e9c847aa1728d5bc47d32faf"): Account( - storage={0: 1} - ), - }, + pytest.param( + 21, + 0, + 0, + id="SStore_Create2_Refund_NoOoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000005c", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 22, + 0, + 0, + id="SStore_Create2_Refund_OoG", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000005b", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0de0"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0ded"): Account( - storage={1: 1} - ), - }, + pytest.param( + 23, + 0, + 0, + id="SStore_Create2_Refund_OoG", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - ], ) @pytest.mark.pre_alloc_mutable def test_create2_oog_from_call_refunds( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create2_oog_from_call_refunds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) + contract_1 = Address(0x000000000000000000000000000000000000001A) + contract_2 = Address(0x000000000000000000000000000000000000001B) + contract_3 = Address(0x000000000000000000000000000000000000001C) + contract_4 = Address(0x000000000000000000000000000000000000002A) + contract_5 = Address(0x000000000000000000000000000000000000002B) + contract_6 = Address(0x000000000000000000000000000000000000002C) + contract_7 = Address(0x000000000000000000000000000000000000003A) + contract_8 = Address(0x000000000000000000000000000000000000003B) + contract_9 = Address(0x000000000000000000000000000000000000003C) + contract_10 = Address(0x000000000000000000000000000000000000004A) + contract_11 = Address(0x000000000000000000000000000000000000004B) + contract_12 = Address(0x000000000000000000000000000000000000004C) + contract_13 = Address(0x000000000000000000000000000000000000005A) + contract_14 = Address(0x000000000000000000000000000000000000005B) + contract_15 = Address(0x000000000000000000000000000000000000005C) + contract_16 = Address(0x000000000000000000000000000000000000006A) + contract_17 = Address(0x000000000000000000000000000000000000006B) + contract_18 = Address(0x000000000000000000000000000000000000006C) + contract_19 = Address(0x000000000000000000000000000000000000007A) + contract_20 = Address(0x000000000000000000000000000000000000007B) + contract_21 = Address(0x000000000000000000000000000000000000007C) + contract_22 = Address(0x000000000000000000000000000000000000008A) + contract_23 = Address(0x000000000000000000000000000000000000008B) + contract_24 = Address(0x000000000000000000000000000000000000008C) + contract_25 = Address(0x00000000000000000000000000000000000C0DEA) + contract_26 = Address(0x00000000000000000000000000000000000C0DED) + contract_27 = Address(0x00000000000000000000000000000000000C0DE0) + contract_28 = Address(0x00000000000000000000000000000000000C0DE1) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -435,94 +233,144 @@ def test_create2_oog_from_call_refunds( gas_limit=4294967296, ) - # Source: Yul + pre[sender] = Account(balance=0x3D0900, nonce=1) + # Source: yul + # berlin + # { + # let init_addr := calldataload(4) + # let init_length := extcodesize(init_addr) + # extcodecopy(init_addr, 0, 0, init_length) + # let created_addr := create2(0, 0, init_length, 0) + # if eq(created_addr, 0) { + # /* This invalid will deplete the remaining gas to make refund check deterministic */ # noqa: E501 + # invalid() + # } + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.DUP1 * 2 + + Op.CALLDATALOAD(offset=0x4) + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.DUP2 + + Op.JUMPI(pc=0x16, condition=Op.EQ(Op.CREATE2, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.INVALID, + nonce=1, + address=Address(0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA), # noqa: E501 + ) + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # sstore(1, 0) # return(0, 1) # } - pre.deploy_contract( - code=( - Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) - + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) - + Op.RETURN - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) + + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) + + Op.RETURN, nonce=0, - address=Address("0x000000000000000000000000000000000000001a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000001A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # sstore(1, 0) # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.RETURN(offset=0x0, size=0x1388) - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.RETURN(offset=0x0, size=0x1388), nonce=0, - address=Address("0x000000000000000000000000000000000000001b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000001B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # sstore(1, 0) # invalid() # } - pre.deploy_contract( - code=( - Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) - + Op.SWAP1 - + Op.SSTORE - + Op.INVALID - ), + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) + + Op.SWAP1 + + Op.SSTORE + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000001c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000001C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 # return(0, 1) # let noOpt := msize() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( - gas=Op.GAS, - address=0xC0DEA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.RETURN(offset=0x0, size=0x1) - ), + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DEA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1), nonce=0, - address=Address("0x000000000000000000000000000000000000002a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000002A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DEA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1388), + nonce=0, + address=Address(0x000000000000000000000000000000000000002B), # noqa: E501 + ) + # Source: yul + # berlin + # { + # sstore(0, 1) + # pop(call(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 + # invalid() + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.POP( + Op.CALL( gas=Op.GAS, address=0xC0DEA, value=Op.DUP1, @@ -531,73 +379,71 @@ def test_create2_oog_from_call_refunds( ret_offset=Op.DUP1, ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x1388) - ), + ) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000002b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000002C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) - # pop(call(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 - # invalid() + # sstore(1, 1) + # pop(delegatecall(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0)) # noqa: E501 + # return(0, 1) + # let noOpt := msize() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xC0DEA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.INVALID - ), + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xC0DEA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1), nonce=0, - address=Address("0x000000000000000000000000000000000000002c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000003A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # pop(delegatecall(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0)) # noqa: E501 - # return(0, 1) - # let noOpt := msize() + # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xC0DEA, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.RETURN(offset=0x0, size=0x1) - ), + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xC0DEA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1388), nonce=0, - address=Address("0x000000000000000000000000000000000000003a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000003B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # pop(delegatecall(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0)) # noqa: E501 - # return(0, 5000) + # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.DELEGATECALL( + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.POP( + Op.DELEGATECALL( gas=Op.GAS, address=0xC0DEA, args_offset=Op.DUP1, @@ -605,75 +451,73 @@ def test_create2_oog_from_call_refunds( ret_offset=Op.DUP1, ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x1388) - ), + ) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000003b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000003C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) - # pop(delegatecall(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0)) # noqa: E501 - # invalid() + # pop(callcode(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 + # return(0, 1) + # let noOpt := msize() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xC0DEA, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.INVALID - ), + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.CALLCODE( + gas=Op.GAS, + address=0xC0DEA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1), nonce=0, - address=Address("0x000000000000000000000000000000000000003c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000004A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # pop(callcode(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 1) - # let noOpt := msize() + # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.CALLCODE( - gas=Op.GAS, - address=0xC0DEA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.RETURN(offset=0x0, size=0x1) - ), + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.CALLCODE( + gas=Op.GAS, + address=0xC0DEA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1388), nonce=0, - address=Address("0x000000000000000000000000000000000000004a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000004B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # pop(callcode(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 5000) + # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.CALLCODE( + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.POP( + Op.CALLCODE( gas=Op.GAS, address=0xC0DEA, value=Op.DUP1, @@ -682,72 +526,67 @@ def test_create2_oog_from_call_refunds( ret_offset=Op.DUP1, ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x1388) - ), + ) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000004b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000004C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) - # sstore(1, 1) - # pop(callcode(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 - # invalid() + # pop(call(gas(), 0x00000000000000000000000000000000000c0deD, 0, 0, 0, 0, 0)) # noqa: E501 + # return(0, 1) + # let noOpt := msize() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=0xC0DEA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.INVALID - ), + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DED, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1), nonce=0, - address=Address("0x000000000000000000000000000000000000004c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000005A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0deD, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 1) - # let noOpt := msize() + # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( - gas=Op.GAS, - address=0xC0DED, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.RETURN(offset=0x0, size=0x1) - ), + contract_14 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DED, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1388), nonce=0, - address=Address("0x000000000000000000000000000000000000005a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000005B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0deD, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 5000) + # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.POP( + Op.CALL( gas=Op.GAS, address=0xC0DED, value=Op.DUP1, @@ -756,70 +595,67 @@ def test_create2_oog_from_call_refunds( ret_offset=Op.DUP1, ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x1388) - ), + ) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000005b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000005C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) - # pop(call(gas(), 0x00000000000000000000000000000000000c0deD, 0, 0, 0, 0, 0)) # noqa: E501 - # invalid() + # pop(call(gas(), 0x00000000000000000000000000000000000c0de0, 0, 0, 0, 0, 0)) # noqa: E501 + # return(0, 1) + # let noOpt := msize() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xC0DED, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.INVALID - ), + contract_16 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DE0, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1), nonce=0, - address=Address("0x000000000000000000000000000000000000005c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000006A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0de0, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 1) - # let noOpt := msize() + # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( - gas=Op.GAS, - address=0xC0DE0, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.RETURN(offset=0x0, size=0x1) - ), + contract_17 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DE0, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1388), nonce=0, - address=Address("0x000000000000000000000000000000000000006a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000006B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0de0, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 5000) + # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( + contract_18 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.POP( + Op.CALL( gas=Op.GAS, address=0xC0DE0, value=Op.DUP1, @@ -828,37 +664,13 @@ def test_create2_oog_from_call_refunds( ret_offset=Op.DUP1, ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x1388) - ), + ) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000006b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000006C), # noqa: E501 ) - # Source: Yul - # { - # sstore(0, 1) - # pop(call(gas(), 0x00000000000000000000000000000000000c0de0, 0, 0, 0, 0, 0)) # noqa: E501 - # invalid() - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xC0DE0, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.INVALID - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000006c"), # noqa: E501 - ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -870,30 +682,29 @@ def test_create2_oog_from_call_refunds( # return(add(initcodelength, 1), 1) # let noOptimization := msize() # } - pre.deploy_contract( - code=( - Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) - + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) - + Op.DUP2 - + Op.SWAP1 - + Op.PUSH3[0xC0DE1] - + Op.EXTCODESIZE(address=Op.DUP1) - + Op.SWAP2 - + Op.DUP3 - + Op.SWAP2 - + Op.DUP2 - + Op.SWAP1 - + Op.EXTCODECOPY - + Op.POP(Op.CREATE(value=Op.DUP1, offset=0x0, size=Op.DUP1)) - + Op.ADD - + Op.RETURN - ), + contract_19 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) + + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) + + Op.DUP2 + + Op.SWAP1 + + Op.PUSH3[0xC0DE1] + + Op.EXTCODESIZE(address=Op.DUP1) + + Op.SWAP2 + + Op.DUP3 + + Op.SWAP2 + + Op.DUP2 + + Op.SWAP1 + + Op.EXTCODECOPY + + Op.POP(Op.CREATE(value=Op.DUP1, offset=0x0, size=Op.DUP1)) + + Op.ADD + + Op.RETURN, nonce=0, - address=Address("0x000000000000000000000000000000000000007a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000007A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -904,29 +715,28 @@ def test_create2_oog_from_call_refunds( # pop(create(0, 0, initcodelength)) # return(add(initcodelength, 1), 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.PUSH2[0x1388] - + Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.PUSH3[0xC0DE1] - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.POP(Op.CREATE(value=Op.DUP1, offset=0x0, size=Op.DUP1)) - + Op.ADD - + Op.RETURN - ), + contract_20 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.PUSH2[0x1388] + + Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.PUSH3[0xC0DE1] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.POP(Op.CREATE(value=Op.DUP1, offset=0x0, size=Op.DUP1)) + + Op.ADD + + Op.RETURN, nonce=0, - address=Address("0x000000000000000000000000000000000000007b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000007B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -937,28 +747,27 @@ def test_create2_oog_from_call_refunds( # pop(create(0, 0, initcodelength)) # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.PUSH1[0x0] - + Op.PUSH3[0xC0DE1] - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.POP(Op.CREATE) - + Op.INVALID - ), + contract_21 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.PUSH1[0x0] + + Op.PUSH3[0xC0DE1] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.POP(Op.CREATE) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000007c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000007C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -970,34 +779,31 @@ def test_create2_oog_from_call_refunds( # return(add(initcodelength, 1), 1) # let noOpt := msize() # } - pre.deploy_contract( - code=( - Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) - + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) - + Op.DUP2 - + Op.SWAP1 - + Op.PUSH3[0xC0DE1] - + Op.EXTCODESIZE(address=Op.DUP1) - + Op.SWAP2 - + Op.DUP3 - + Op.SWAP2 - + Op.DUP2 - + Op.SWAP1 - + Op.EXTCODECOPY - + Op.POP( - Op.CREATE2( - value=Op.DUP1, offset=Op.DUP2, size=Op.DUP2, salt=0x0 - ), - ) - + Op.ADD - + Op.RETURN - ), + contract_22 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) + + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) + + Op.DUP2 + + Op.SWAP1 + + Op.PUSH3[0xC0DE1] + + Op.EXTCODESIZE(address=Op.DUP1) + + Op.SWAP2 + + Op.DUP3 + + Op.SWAP2 + + Op.DUP2 + + Op.SWAP1 + + Op.EXTCODECOPY + + Op.POP( + Op.CREATE2(value=Op.DUP1, offset=Op.DUP2, size=Op.DUP2, salt=0x0) + ) + + Op.ADD + + Op.RETURN, nonce=0, - address=Address("0x000000000000000000000000000000000000008a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000008A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -1008,33 +814,30 @@ def test_create2_oog_from_call_refunds( # pop(create2(0, 0, initcodelength, 0)) # return(add(initcodelength, 1), 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.PUSH2[0x1388] - + Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.PUSH3[0xC0DE1] - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.POP( - Op.CREATE2( - value=Op.DUP1, offset=Op.DUP2, size=Op.DUP2, salt=0x0 - ), - ) - + Op.ADD - + Op.RETURN - ), + contract_23 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.PUSH2[0x1388] + + Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.PUSH3[0xC0DE1] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.POP( + Op.CREATE2(value=Op.DUP1, offset=Op.DUP2, size=Op.DUP2, salt=0x0) + ) + + Op.ADD + + Op.RETURN, nonce=0, - address=Address("0x000000000000000000000000000000000000008b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000008B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -1045,29 +848,51 @@ def test_create2_oog_from_call_refunds( # pop(create2(0, 0, initcodelength, 0)) # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.PUSH3[0xC0DE1] - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.DUP2 - + Op.DUP1 - + Op.POP(Op.CREATE2) - + Op.INVALID - ), + contract_24 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.PUSH3[0xC0DE1] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.DUP2 + + Op.DUP1 + + Op.POP(Op.CREATE2) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000008c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000008C), # noqa: E501 + ) + # Source: yul + # berlin + # { + # // Simple SSTORE to zero to get a refund + # sstore(1, 0) + # } + contract_25 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, + storage={1: 1}, + nonce=1, + address=Address(0x00000000000000000000000000000000000C0DEA), # noqa: E501 + ) + # Source: yul + # berlin + # { + # selfdestruct(origin()) + # } + contract_26 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=Op.ORIGIN), + storage={1: 1}, + nonce=1, + address=Address(0x00000000000000000000000000000000000C0DED), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # mstore(0, 0xff) # log0(0, 32) @@ -1076,110 +901,273 @@ def test_create2_oog_from_call_refunds( # log3(0, 32, 0xfa, 0xfb, 0xfc) # log4(0, 32, 0xfa, 0xfb, 0xfc, 0xfd) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xFF) - + Op.LOG0(offset=0x0, size=0x20) - + Op.LOG1(offset=0x0, size=0x20, topic_1=0xFA) - + Op.LOG2(offset=0x0, size=0x20, topic_1=0xFA, topic_2=0xFB) - + Op.LOG3( - offset=0x0, - size=0x20, - topic_1=0xFA, - topic_2=0xFB, - topic_3=0xFC, - ) - + Op.LOG4( - offset=0x0, - size=0x20, - topic_1=0xFA, - topic_2=0xFB, - topic_3=0xFC, - topic_4=0xFD, - ) - + Op.STOP - ), - storage={0x1: 0x1}, - address=Address("0x00000000000000000000000000000000000c0de0"), # noqa: E501 + contract_27 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xFF) + + Op.LOG0(offset=0x0, size=0x20) + + Op.LOG1(offset=0x0, size=0x20, topic_1=0xFA) + + Op.LOG2(offset=0x0, size=0x20, topic_1=0xFA, topic_2=0xFB) + + Op.LOG3( + offset=0x0, size=0x20, topic_1=0xFA, topic_2=0xFB, topic_3=0xFC + ) + + Op.LOG4( + offset=0x0, + size=0x20, + topic_1=0xFA, + topic_2=0xFB, + topic_3=0xFC, + topic_4=0xFD, + ) + + Op.STOP, + storage={1: 1}, + nonce=1, + address=Address(0x00000000000000000000000000000000000C0DE0), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(0, 0) # return(0, 1) # } - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.SSTORE(key=Op.DUP1, value=Op.DUP1) - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.RETURN - ), - address=Address("0x00000000000000000000000000000000000c0de1"), # noqa: E501 - ) - # Source: Yul - # { - # // Simple SSTORE to zero to get a refund - # sstore(1, 0) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x1}, - address=Address("0x00000000000000000000000000000000000c0dea"), # noqa: E501 - ) - # Source: Yul - # { - # selfdestruct(origin()) - # } - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=Op.ORIGIN), - storage={0x1: 0x1}, - address=Address("0x00000000000000000000000000000000000c0ded"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3D0900, nonce=1) - # Source: Yul - # { - # let init_addr := calldataload(4) - # let init_length := extcodesize(init_addr) - # extcodecopy(init_addr, 0, 0, init_length) - # let created_addr := create2(0, 0, init_length, 0) - # if eq(created_addr, 0) { - # /* This invalid will deplete the remaining gas to make refund check deterministic */ # noqa: E501 - # invalid() - # } - # } - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.CALLDATALOAD(offset=0x4) - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.DUP2 - + Op.JUMPI(pc=0x16, condition=Op.EQ(Op.CREATE2, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.INVALID - ), - address=Address("0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), # noqa: E501 + contract_28 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.SSTORE(key=Op.DUP1, value=Op.DUP1) + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.RETURN, + nonce=1, + address=Address(0x00000000000000000000000000000000000C0DE1), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + Address(0xCFB6834F84B9E726F5F8AEF446D585B732ABDD99): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=1 + ), + }, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + Address(0xD615C5EAFF84F487CFF253B50DC18517FC8385B0): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=1 + ), + }, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + Address(0x0D44B2AD06C5C9F9A86C9EDF8D13FB7D44FE756C): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=1 + ), + }, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + Address(0x858EC13538276B49D5ECE2A408C8331CCB79AD89): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=1 + ), + }, + }, + { + "indexes": { + "data": [1, 2, 4, 5, 7, 8, 10, 11], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": { + sender: Account(balance=0, nonce=2), + Address( + 0x95E88628C53B5C0E40FF6DE65A3CF8CDC3B477F7 + ): Account.NONEXISTENT, + Address( + 0x66E1CC2616A273450621C8CC5E91D8CFD92494FA + ): Account.NONEXISTENT, + Address( + 0x6175BA9976476425B1CDA8E1DA479768FB429542 + ): Account.NONEXISTENT, + Address( + 0x8DFF0E448F1E078E9B8A7FCF0BF6C291F167AAEF + ): Account.NONEXISTENT, + Address( + 0xA2C4270800A5DBEEA48464E5F2420EFB1747725A + ): Account.NONEXISTENT, + Address( + 0x4D80F1150EE236ADFAAB47C70DF90E757CEF1141 + ): Account.NONEXISTENT, + Address( + 0x0566DC8DABC80FAD3ED9AB2B4309EBFD98894F44 + ): Account.NONEXISTENT, + Address( + 0x55305CC46BDAF1E755A05A771D55CFEC3FEDEF90 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [12], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + Address(0xD83E541AA11C5AE1E9C847AA1728D5BC47D32FAF): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=1 + ), + contract_26: Account(balance=0, nonce=1), + }, + }, + { + "indexes": {"data": [13, 14], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(balance=0, nonce=2), + Address( + 0x8F6E6C741AC95C1A9109850EA1A3FFC722DC3BF8 + ): Account.NONEXISTENT, + Address( + 0x1F5D187BB3A48DBB2C011D0A6E731AC8131799AD + ): Account.NONEXISTENT, + contract_26: Account( + storage={1: 1}, code=bytes.fromhex("32ff"), nonce=1 + ), + }, + }, + { + "indexes": {"data": [15], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + Address(0x2A2141ED764598D4C5A8B6E036987928D5EC6BEA): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=1 + ), + }, + }, + { + "indexes": {"data": [16, 17], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(balance=0, nonce=2), + Address( + 0x74B39291DFC237C0D42FD15457754778F51C6DE8 + ): Account.NONEXISTENT, + Address( + 0x3399C78929EAB89C673A8986FF7CA9CCC49DB454 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [18], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + Address(0xDEB7D920F2653A8EDDCFFCA0A77F56FCD788C00A): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=2 + ), + Address(0x8109D28DE74BFAC2F298EC019548B8C346E51310): Account( + storage={}, code=bytes.fromhex("00"), nonce=1 + ), + }, + }, + { + "indexes": {"data": [19, 20], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(balance=0, nonce=2), + Address( + 0xF922B2F70110C83F8EC7DF512B41BAC5627E8E59 + ): Account.NONEXISTENT, + Address( + 0x2CA788D22E21134AB1909266ED3B6C352E2A07CB + ): Account.NONEXISTENT, + Address( + 0x398426E736801FE712DF1EF078A3B6CA3C6F063B + ): Account.NONEXISTENT, + Address( + 0xB520686759CED3BC9D8898E02EE41623032FF47F + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [21], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + Address(0x5A2664B55822AA3C6D9D90FEC18B4C87CDE07D04): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=2 + ), + Address(0x442ED1B502544D146E46B5D9849A476AEBD3B8DB): Account( + storage={}, code=bytes.fromhex("00"), nonce=1 + ), + }, + }, + { + "indexes": {"data": [22, 23], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(balance=0, nonce=2), + Address( + 0xDD2C53BFCAF5C1D698A2B21C0908F15F7FBFD635 + ): Account.NONEXISTENT, + Address( + 0x2D556BDBCC37C7A021879A21ABE25D1850D4FD36 + ): Account.NONEXISTENT, + Address( + 0xA99DA4EA490335C986D52B0CC9E3F78B286AC5FC + ): Account.NONEXISTENT, + Address( + 0xB4AB8AB0D363765586925E35C715E342E4AE3C63 + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(contract_1, left_padding=True), + Bytes("693c6139") + Hash(contract_2, left_padding=True), + Bytes("693c6139") + Hash(contract_3, left_padding=True), + Bytes("693c6139") + Hash(contract_4, left_padding=True), + Bytes("693c6139") + Hash(contract_5, left_padding=True), + Bytes("693c6139") + Hash(contract_6, left_padding=True), + Bytes("693c6139") + Hash(contract_7, left_padding=True), + Bytes("693c6139") + Hash(contract_8, left_padding=True), + Bytes("693c6139") + Hash(contract_9, left_padding=True), + Bytes("693c6139") + Hash(contract_10, left_padding=True), + Bytes("693c6139") + Hash(contract_11, left_padding=True), + Bytes("693c6139") + Hash(contract_12, left_padding=True), + Bytes("693c6139") + Hash(contract_13, left_padding=True), + Bytes("693c6139") + Hash(contract_14, left_padding=True), + Bytes("693c6139") + Hash(contract_15, left_padding=True), + Bytes("693c6139") + Hash(contract_16, left_padding=True), + Bytes("693c6139") + Hash(contract_17, left_padding=True), + Bytes("693c6139") + Hash(contract_18, left_padding=True), + Bytes("693c6139") + Hash(contract_19, left_padding=True), + Bytes("693c6139") + Hash(contract_20, left_padding=True), + Bytes("693c6139") + Hash(contract_21, left_padding=True), + Bytes("693c6139") + Hash(contract_22, left_padding=True), + Bytes("693c6139") + Hash(contract_23, left_padding=True), + Bytes("693c6139") + Hash(contract_24, left_padding=True), + ] + tx_gas = [400000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=400000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_recursive.py b/tests/ported_static/stCreate2/test_create2_recursive.py index 42d49244f14..0f9066fe503 100644 --- a/tests/ported_static/stCreate2/test_create2_recursive.py +++ b/tests/ported_static/stCreate2/test_create2_recursive.py @@ -2,7 +2,7 @@ Create2 inside Create2 inside Create2.... Ported from: -tests/static/state_tests/stCreate2/Create2RecursiveFiller.json +state_tests/stCreate2/Create2RecursiveFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +27,45 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/Create2RecursiveFiller.json"], + ["state_tests/stCreate2/Create2RecursiveFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (9151314442816847871, {}), - (20070000000000, {}), - (20080000000000, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_create2_recursive( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Create2 inside Create2 inside Create2....""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Create2 inside Create2 inside Create2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -58,29 +80,64 @@ def test_create2_recursive( ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x606460006000396103e85a10601b576000606460006000f5601d565b5a5b) (CREATE2 0 2 30 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x606460006000396103E85A10601B576000606460006000F5601D565B5A5B, # noqa: E501 - ) - + Op.CREATE2(value=0x0, offset=0x2, size=0x1E, salt=0x0) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x606460006000396103E85A10601B576000606460006000F5601D565B5A5B, # noqa: E501 + ) + + Op.CREATE2(value=0x0, offset=0x2, size=0x1E, salt=0x0) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun=Cancun=Cancun None: - """Create2SmartInitCode. create2 works different each time you call it.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Create2SmartInitCode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) + contract_1 = Address(0x1F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) + contract_2 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -72,80 +74,109 @@ def test_create2_smart_init_code( gas_limit=47244640256, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x600060015414601157600a6000f3601a565b60016001556001ff5b) [[1]](CREATE2 1 5 27 0) [[2]](CREATE2 1 5 27 0) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600060015414601157600A6000F3601A565B60016001556001FF5B, - ) - + Op.SSTORE( - key=0x1, - value=Op.CREATE2(value=0x1, offset=0x5, size=0x1B, salt=0x0), - ) - + Op.SSTORE( - key=0x2, - value=Op.CREATE2(value=0x1, offset=0x5, size=0x1B, salt=0x0), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x600060015414601157600A6000F3601A565B60016001556001FF5B, + ) + + Op.SSTORE( + key=0x1, + value=Op.CREATE2(value=0x1, offset=0x5, size=0x1B, salt=0x0), + ) + + Op.SSTORE( + key=0x2, + value=Op.CREATE2(value=0x1, offset=0x5, size=0x1B, salt=0x0), + ) + + Op.STOP, balance=100, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x600060015414601157600a6000f3601c565b6001600155600a6000f35b) [[1]](CREATE2 1 3 29 0) [[2]](CREATE2 1 5 27 0) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600060015414601157600A6000F3601C565B6001600155600A6000F35B, # noqa: E501 - ) - + Op.SSTORE( - key=0x1, - value=Op.CREATE2(value=0x1, offset=0x3, size=0x1D, salt=0x0), - ) - + Op.SSTORE( - key=0x2, - value=Op.CREATE2(value=0x1, offset=0x5, size=0x1B, salt=0x0), - ) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x600060015414601157600A6000F3601C565B6001600155600A6000F35B, + ) + + Op.SSTORE( + key=0x1, + value=Op.CREATE2(value=0x1, offset=0x3, size=0x1D, salt=0x0), + ) + + Op.SSTORE( + key=0x2, + value=Op.CREATE2(value=0x1, offset=0x5, size=0x1B, salt=0x0), + ) + + Op.STOP, balance=100, nonce=0, - address=Address("0x1f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x1F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) - # Source: LLL + # Source: lll # { (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0x6400000000, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x0000000000000000000000000000000000000001): Account( + balance=1 + ), + contract_0: Account(nonce=2), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={ + 1: 0xD27E800C69122409AC5609FE4DF903745F3988A0, + 2: 0, + }, + ), + Address(0xD27E800C69122409AC5609FE4DF903745F3988A0): Account( + storage={1: 1}, + code=bytes.fromhex("00000000000000000000"), + nonce=1, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_0, left_padding=True), + Hash(contract_1, left_padding=True), + ] + tx_gas = [400000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=400000, + to=contract_2, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2_suicide.py b/tests/ported_static/stCreate2/test_create2_suicide.py index 4b326b7ce5b..0fa854ae984 100644 --- a/tests/ported_static/stCreate2/test_create2_suicide.py +++ b/tests/ported_static/stCreate2/test_create2_suicide.py @@ -2,7 +2,7 @@ CREATE2 suicide with/without value, CREATE2 suicide to itself + this... Ported from: -tests/static/state_tests/stCreate2/CREATE2_SuicideFiller.json +state_tests/stCreate2/CREATE2_SuicideFiller.json """ import pytest @@ -14,80 +14,110 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/CREATE2_SuicideFiller.json"], + ["state_tests/stCreate2/CREATE2_SuicideFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ("626001ff60005260006003601d6000f500", {}), - ( - "6a6130ff6000526002601ef36000526000600b60156000f5506000600060006000736cd0e5133771823da00d4cb545ec8cdab0e38203620249f0fa00", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "6a6130ff6000526002601ef36000526000600b60156001f5506000600060006000736cd0e5133771823da00d4cb545ec8cdab0e38203620249f0fa00", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "6b626001ff6000526003601df36000526000600c60146000f55060006000600060006000735649527a8464a86cae579719d347065f6eb27279620249f0f100", # noqa: E501 - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ("626001ff60005260006003601d6001f500", {}), - ( - "6b626001ff6000526003601df36000526000600c60146001f55060006000600060006000735649527a8464a86cae579719d347065f6eb27279620249f0f100", # noqa: E501 - {}, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ("6130ff60005260006002601e6000f500", {}), - ( - "6a6130ff6000526002601ef36000526000600b60156000f55060006000600060006000736cd0e5133771823da00d4cb545ec8cdab0e38203620249f0f100", # noqa: E501 - {}, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ("6130ff60005260006002601e6001f500", {}), - ( - "6a6130ff6000526002601ef36000526000600b60156001f55060006000600060006000736cd0e5133771823da00d4cb545ec8cdab0e38203620249f0f100", # noqa: E501 - {}, + pytest.param( + 5, + 0, + 0, + id="d5", ), - ( - "6b626001ff6000526003601df36000526000600c60146000f5506000600060006000735649527a8464a86cae579719d347065f6eb27279620249f0fa00", # noqa: E501 - {}, + pytest.param( + 6, + 0, + 0, + id="d6", ), - ( - "6b626001ff6000526003601df36000526000600c60146001f5506000600060006000735649527a8464a86cae579719d347065f6eb27279620249f0fa00", # noqa: E501 - {}, + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", ], ) @pytest.mark.pre_alloc_mutable def test_create2_suicide( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """CREATE2 suicide with/without value, CREATE2 suicide to itself +...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CREATE2 suicide with/without value, CREATE2 suicide to itself + ...""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -103,16 +133,205 @@ def test_create2_suicide( pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address( + 0x0000000000000000000000000000000000000001 + ): Account.NONEXISTENT, + compute_create_address(address=sender, nonce=0): Account( + nonce=2 + ), + Address( + 0x5649527A8464A86CAE579719D347065F6EB27279 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [2, 3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x0000000000000000000000000000000000000001): Account( + balance=1 + ), + compute_create_address(address=sender, nonce=0): Account( + nonce=2 + ), + Address( + 0x5649527A8464A86CAE579719D347065F6EB27279 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [4, 5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + nonce=2 + ), + Address( + 0x6CD0E5133771823DA00D4CB545EC8CDAB0E38203 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [6, 7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + balance=9, nonce=2 + ), + Address( + 0x6CD0E5133771823DA00D4CB545EC8CDAB0E38203 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [8, 9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + nonce=2 + ), + Address(0x5649527A8464A86CAE579719D347065F6EB27279): Account( + code=bytes.fromhex("6001ff") + ), + }, + }, + { + "indexes": {"data": [10, 11], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + nonce=2 + ), + Address(0x6CD0E5133771823DA00D4CB545EC8CDAB0E38203): Account( + code=bytes.fromhex("30ff") + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.MSTORE(offset=0x0, value=0x6001FF) + + Op.CREATE2(value=0x0, offset=0x1D, size=0x3, salt=0x0) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x626001FF6000526003601DF3) + + Op.POP(Op.CREATE2(value=0x0, offset=0x14, size=0xC, salt=0x0)) + + Op.CALL( + gas=0x249F0, + address=0x5649527A8464A86CAE579719D347065F6EB27279, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6001FF) + + Op.CREATE2(value=0x1, offset=0x1D, size=0x3, salt=0x0) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x626001FF6000526003601DF3) + + Op.POP(Op.CREATE2(value=0x1, offset=0x14, size=0xC, salt=0x0)) + + Op.CALL( + gas=0x249F0, + address=0x5649527A8464A86CAE579719D347065F6EB27279, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x30FF) + + Op.CREATE2(value=0x0, offset=0x1E, size=0x2, salt=0x0) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6130FF6000526002601EF3) + + Op.POP(Op.CREATE2(value=0x0, offset=0x15, size=0xB, salt=0x0)) + + Op.CALL( + gas=0x249F0, + address=0x6CD0E5133771823DA00D4CB545EC8CDAB0E38203, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x30FF) + + Op.CREATE2(value=0x1, offset=0x1E, size=0x2, salt=0x0) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6130FF6000526002601EF3) + + Op.POP(Op.CREATE2(value=0x1, offset=0x15, size=0xB, salt=0x0)) + + Op.CALL( + gas=0x249F0, + address=0x6CD0E5133771823DA00D4CB545EC8CDAB0E38203, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x626001FF6000526003601DF3) + + Op.POP(Op.CREATE2(value=0x0, offset=0x14, size=0xC, salt=0x0)) + + Op.STATICCALL( + gas=0x249F0, + address=0x5649527A8464A86CAE579719D347065F6EB27279, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x626001FF6000526003601DF3) + + Op.POP(Op.CREATE2(value=0x1, offset=0x14, size=0xC, salt=0x0)) + + Op.STATICCALL( + gas=0x249F0, + address=0x5649527A8464A86CAE579719D347065F6EB27279, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6130FF6000526002601EF3) + + Op.POP(Op.CREATE2(value=0x0, offset=0x15, size=0xB, salt=0x0)) + + Op.STATICCALL( + gas=0x249F0, + address=0x6CD0E5133771823DA00D4CB545EC8CDAB0E38203, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6130FF6000526002601EF3) + + Op.POP(Op.CREATE2(value=0x1, offset=0x15, size=0xB, salt=0x0)) + + Op.STATICCALL( + gas=0x249F0, + address=0x6CD0E5133771823DA00D4CB545EC8CDAB0E38203, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [600000] + tx_value = [10] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=600000, - value=10, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2call_precompiles.py b/tests/ported_static/stCreate2/test_create2call_precompiles.py index 9c24bf9f7ac..b5cad298253 100644 --- a/tests/ported_static/stCreate2/test_create2call_precompiles.py +++ b/tests/ported_static/stCreate2/test_create2call_precompiles.py @@ -2,7 +2,7 @@ CALL precompiles during init code of CREATE2 contract. Ported from: -tests/static/state_tests/stCreate2/create2callPrecompilesFiller.json +state_tests/stCreate2/create2callPrecompilesFiller.json """ import pytest @@ -15,6 +15,10 @@ StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,124 +26,75 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/create2callPrecompilesFiller.json"], + ["state_tests/stCreate2/create2callPrecompilesFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6000609b80601360003960006000f5500000fe7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549606052602060806080600060006001620493e0f160025560a060020a6080510660005560005432146001550000", # noqa: E501 - { - Address("0xf68e26002db0f9ca9b54367c57c25e474c581622"): Account( - storage={ - 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 1: 1, - 2: 1, - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "6000602480601360003960006000f5500000fe64f34578907f6005526020600060256000600060026101f4f16002556000516000550000", # noqa: E501 - { - Address("0x3b9ea59b92545beb727022289665cf38fa462bae"): Account( - storage={ - 0: 0xCB39B3BDE22925B2F931111130C774761D8895E0E08437C9B396C1E97D10F34D, # noqa: E501 - 2: 1, - } - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "6000601b80601360003960006000f5500000fe602060006000600060006003610258f16002556000516000550000", # noqa: E501 - { - Address("0x7525f19e2970539fd2897357777a4c275175bcf5"): Account( - storage={ - 0: 0x9C1185A5C5E9FC54612808977EE8F548B2258D31, - 2: 1, - } - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "6000602480601360003960006000f5500000fe64f34578907f6000526020600060256000600060046101f4f16002556000516000550000", # noqa: E501 - { - Address("0x0ee431db7c48fc10a9a56c909bfefa87661442fb"): Account( - storage={0: 0xF34578907F, 2: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "6000609680601360003960006000f5500000fe6001600052602060205260206040527f03fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc6060527f2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc6080527f2f0000000000000000000000000000000000000000000000000000000000000060965260206103e860976000600060055af26001556103e8516002550000", # noqa: E501 - { - Address("0xbbd394930b408da783ee071ced240ece997bc8b2"): Account( - storage={ - 1: 1, - 2: 0x162EAD82CADEFAEAF6E9283248FDF2F2845F6396F6F17C4D5A39F820B6F6B5F9, # noqa: E501 - } - ) - }, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ( - "6000602280601360003960006000f5500000fe600160005260206000610100600060006006620927c0f16002556000516000550000", # noqa: E501 - { - Address("0x2e3ec33a50ed32c2fcbef07a1bab8643db4dc670"): Account( - storage={0: 1} - ) - }, + pytest.param( + 5, + 0, + 0, + id="d5", ), - ( - "600060b780601360003960006000f5500000fe7f0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd26000527f16da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba6020527f1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2866040527f0217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d46060526000600060806000600073addf5374fce5edbc8e2a8697c15331677e6ebf0b6207a120f2500000", # noqa: E501 - { - Address("0xaa0ab87aa0e27e22e21671040c11f3537cdc7b3e"): Account( - storage={ - 0: 1, - 1: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - } - ) - }, + pytest.param( + 6, + 0, + 0, + id="d6", ), - ( - "600060c680601360003960006000f5500000fe7f1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2866000527f0217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4602052600060405260006060527f1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2866080527f0217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d460a052600160c0526000600060e06000600073b94f5374fce5edbc8e2a8697c15331677e6ebf0b6207a120f2500000", # noqa: E501 - { - Address("0xab7cf4e4980432e892fa512ec2b9e8532c23ac15"): Account( - storage={ - 0: 1, - 1: 1, - 2: 1, - 3: 1, - 10: 0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - 11: 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - 20: 0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - 21: 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - } - ) - }, + pytest.param( + 7, + 0, + 0, + id="d7", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - ], ) @pytest.mark.pre_alloc_mutable def test_create2call_precompiles( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """CALL precompiles during init code of CREATE2 contract.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """CALL precompiles during init code of CREATE2 contract .""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xADDF5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -154,185 +109,174 @@ def test_create2call_precompiles( ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # {(MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) [[0]](CALLCODE 500000 6 0 0 128 200 64) [[1]] (MLOAD 200) [[2]] (MLOAD 232) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x7A120, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0xC8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xC8)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0xE8)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x7A120, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0xC8, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xC8)) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0xE8)) + + Op.STOP, nonce=0, - address=Address("0xaddf5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xADDF5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # {(MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) (MSTORE 128 (CALLDATALOAD 128)) (MSTORE 160 (CALLDATALOAD 160)) (MSTORE 192 (CALLDATALOAD 192)) [[0]](CALLCODE 500000 6 0 0 128 300 64) [[1]](CALLCODE 500000 7 0 128 96 400 64) [[10]] (MLOAD 300) [[11]] (MLOAD 332) [[20]] (MLOAD 400) [[21]] (MLOAD 432) [[2]] (EQ (SLOAD 10) (SLOAD 20)) [[3]] (EQ (SLOAD 11) (SLOAD 21))} # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x80)) - + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0xA0)) - + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0xC0)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x7A120, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x12C, - ret_size=0x40, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x7A120, - address=0x7, - value=0x0, - args_offset=0x80, - args_size=0x60, - ret_offset=0x190, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xA, value=Op.MLOAD(offset=0x12C)) - + Op.SSTORE(key=0xB, value=Op.MLOAD(offset=0x14C)) - + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x190)) - + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x1B0)) - + Op.SSTORE( - key=0x2, - value=Op.EQ(Op.SLOAD(key=0xA), Op.SLOAD(key=0x14)), - ) - + Op.SSTORE( - key=0x3, - value=Op.EQ(Op.SLOAD(key=0xB), Op.SLOAD(key=0x15)), - ) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x80)) + + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0xA0)) + + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0xC0)) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x7A120, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x12C, + ret_size=0x40, + ), + ) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x7A120, + address=0x7, + value=0x0, + args_offset=0x80, + args_size=0x60, + ret_offset=0x190, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xA, value=Op.MLOAD(offset=0x12C)) + + Op.SSTORE(key=0xB, value=Op.MLOAD(offset=0x14C)) + + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x190)) + + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x1B0)) + + Op.SSTORE( + key=0x2, value=Op.EQ(Op.SLOAD(key=0xA), Op.SLOAD(key=0x14)) + ) + + Op.SSTORE( + key=0x3, value=Op.EQ(Op.SLOAD(key=0xB), Op.SLOAD(key=0x15)) + ) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=None, - data=tx_data, - gas_limit=15000000, - value=1, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/create2callPrecompilesFiller.json"], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "6000609b80601360003960006000f5500000fe7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549606052602060806080600060006001620493e0f160025560a060020a6080510660005560005432146001550000", # noqa: E501 - { - Address("0xf68e26002db0f9ca9b54367c57c25e474c581622"): Account( + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address(0xF68E26002DB0F9CA9B54367C57C25E474C581622): Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, 2: 1, - } - ) + }, + ), }, - ), - ( - "6000602480601360003960006000f5500000fe64f34578907f6005526020600060256000600060026101f4f16002556000516000550000", # noqa: E501 - { - Address("0x3b9ea59b92545beb727022289665cf38fa462bae"): Account( + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address(0x3B9EA59B92545BEB727022289665CF38FA462BAE): Account( storage={ 0: 0xCB39B3BDE22925B2F931111130C774761D8895E0E08437C9B396C1E97D10F34D, # noqa: E501 2: 1, - } - ) + }, + ), }, - ), - ( - "6000601b80601360003960006000f5500000fe602060006000600060006003610258f16002556000516000550000", # noqa: E501 - { - Address("0x7525f19e2970539fd2897357777a4c275175bcf5"): Account( + }, + { + "indexes": {"data": 2, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address(0x7525F19E2970539FD2897357777A4C275175BCF5): Account( storage={ 0: 0x9C1185A5C5E9FC54612808977EE8F548B2258D31, 2: 1, - } - ) + }, + ), }, - ), - ( - "6000602480601360003960006000f5500000fe64f34578907f6000526020600060256000600060046101f4f16002556000516000550000", # noqa: E501 - { - Address("0x0ee431db7c48fc10a9a56c909bfefa87661442fb"): Account( + }, + { + "indexes": {"data": 3, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address(0x0EE431DB7C48FC10A9A56C909BFEFA87661442FB): Account( storage={0: 0xF34578907F, 2: 1} - ) + ), }, - ), - ( - "6000609680601360003960006000f5500000fe6001600052602060205260206040527f03fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc6060527f2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc6080527f2f0000000000000000000000000000000000000000000000000000000000000060965260206103e860976000600060055af26001556103e8516002550000", # noqa: E501 - { - Address("0xbbd394930b408da783ee071ced240ece997bc8b2"): Account( + }, + { + "indexes": {"data": 4, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address(0xBBD394930B408DA783EE071CED240ECE997BC8B2): Account( storage={ 1: 1, 2: 0x162EAD82CADEFAEAF6E9283248FDF2F2845F6396F6F17C4D5A39F820B6F6B5F9, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "6000602280601360003960006000f5500000fe600160005260206000610100600060006006620927c0f16002556000516000550000", # noqa: E501 - { - Address("0x2e3ec33a50ed32c2fcbef07a1bab8643db4dc670"): Account( - storage={0: 1} - ) + }, + { + "indexes": {"data": 5, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address(0x2E3EC33A50ED32C2FCBEF07A1BAB8643DB4DC670): Account( + storage={0: 1, 2: 0} + ), }, - ), - ( - "600060b780601360003960006000f5500000fe7f0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd26000527f16da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba6020527f1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2866040527f0217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d46060526000600060806000600073addf5374fce5edbc8e2a8697c15331677e6ebf0b6207a120f2500000", # noqa: E501 - { - Address("0xaa0ab87aa0e27e22e21671040c11f3537cdc7b3e"): Account( + }, + { + "indexes": {"data": 6, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address(0xAA0AB87AA0E27E22E21671040C11F3537CDC7B3E): Account( storage={ 0: 1, 1: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 2: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "600060c680601360003960006000f5500000fe7f1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2866000527f0217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4602052600060405260006060527f1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2866080527f0217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d460a052600160c0526000600060e06000600073b94f5374fce5edbc8e2a8697c15331677e6ebf0b6207a120f2500000", # noqa: E501 - { - Address("0xab7cf4e4980432e892fa512ec2b9e8532c23ac15"): Account( + }, + { + "indexes": {"data": 7, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address(0xAB7CF4E4980432E892FA512EC2B9E8532C23AC15): Account( storage={ 0: 1, 1: 1, @@ -342,135 +286,259 @@ def test_create2call_precompiles( 11: 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 20: 0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 21: 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - } - ) + }, + ), }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - ], -) -@pytest.mark.pre_alloc_mutable -def test_create2call_precompiles_from_osaka( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """CALL precompiles during init code of CREATE2 contract.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) + }, + ] - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=1000000000000, - ) + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # {(MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) [[0]](CALLCODE 500000 6 0 0 128 200 64) [[1]] (MLOAD 200) [[2]] (MLOAD 232) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x7A120, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0xC8, - ret_size=0x40, - ), + tx_data = [ + Op.PUSH1[0x0] + + Op.PUSH1[0x9B] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP * 2, + Op.PUSH1[0x0] + + Op.PUSH1[0x24] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x5, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1F4, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, + Op.PUSH1[0x0] + + Op.PUSH1[0x1B] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x258, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, + Op.PUSH1[0x0] + + Op.PUSH1[0x24] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1F4, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, + Op.PUSH1[0x0] + + Op.PUSH1[0x96] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x1) + + Op.MSTORE(offset=0x20, value=0x20) + + Op.MSTORE(offset=0x40, value=0x20) + + Op.MSTORE( + offset=0x60, + value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0x96, + value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0x97, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x3E8)) + + Op.STOP * 2, + Op.PUSH1[0x0] + + Op.PUSH1[0x22] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x1) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x927C0, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x100, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, + Op.PUSH1[0x0] + + Op.PUSH1[0xB7] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 + ) + + Op.POP( + Op.CALLCODE( + gas=0x7A120, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xC8)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0xE8)) - + Op.STOP - ), - nonce=0, - address=Address("0xaddf5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - # Source: LLL - # {(MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) (MSTORE 128 (CALLDATALOAD 128)) (MSTORE 160 (CALLDATALOAD 160)) (MSTORE 192 (CALLDATALOAD 192)) [[0]](CALLCODE 500000 6 0 0 128 300 64) [[1]](CALLCODE 500000 7 0 128 96 400 64) [[10]] (MLOAD 300) [[11]] (MLOAD 332) [[20]] (MLOAD 400) [[21]] (MLOAD 432) [[2]] (EQ (SLOAD 10) (SLOAD 20)) [[3]] (EQ (SLOAD 11) (SLOAD 21))} # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x80)) - + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0xA0)) - + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0xC0)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x7A120, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x12C, - ret_size=0x40, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x7A120, - address=0x7, - value=0x0, - args_offset=0x80, - args_size=0x60, - ret_offset=0x190, - ret_size=0x40, - ), + ) + + Op.STOP * 2, + Op.PUSH1[0x0] + + Op.PUSH1[0xC6] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE( + offset=0x0, + value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 + ) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE( + offset=0x80, + value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 + ) + + Op.MSTORE(offset=0xC0, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0x7A120, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0xE0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0xA, value=Op.MLOAD(offset=0x12C)) - + Op.SSTORE(key=0xB, value=Op.MLOAD(offset=0x14C)) - + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x190)) - + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x1B0)) - + Op.SSTORE( - key=0x2, - value=Op.EQ(Op.SLOAD(key=0xA), Op.SLOAD(key=0x14)), - ) - + Op.SSTORE( - key=0x3, - value=Op.EQ(Op.SLOAD(key=0xB), Op.SLOAD(key=0x15)), - ) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + ) + + Op.STOP * 2, + ] + tx_gas = [15000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=15000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2check_fields_in_initcode.py b/tests/ported_static/stCreate2/test_create2check_fields_in_initcode.py index 83cad4d1c8c..e54ba4b04b5 100644 --- a/tests/ported_static/stCreate2/test_create2check_fields_in_initcode.py +++ b/tests/ported_static/stCreate2/test_create2check_fields_in_initcode.py @@ -2,7 +2,7 @@ Check opcode values in create2 init code. Create2 called with different... Ported from: -tests/static/state_tests/stCreate2/create2checkFieldsInInitcodeFiller.json +state_tests/stCreate2/create2checkFieldsInInitcodeFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,127 +27,84 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/create2checkFieldsInInitcodeFiller.json", # noqa: E501 - ], + ["state_tests/stCreate2/create2checkFieldsInInitcodeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000001000000000000000000000000000000000000000", - { - Address("0xdaf9f53e732f21fe517e624b6dfe92dc8d0e51e0"): Account( - storage={ - 0: 0xDAF9F53E732F21FE517E624B6DFE92DC8D0E51E0, - 2: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 3: 0xF000000000000000000000000000000000000000, - 6: 35, - 7: 10, - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000002000000000000000000000000000000000000000", - { - Address("0xdfad1c567f12d848fabb8d9d8872c42e7aa81e95"): Account( - storage={ - 0: 0xDFAD1C567F12D848FABB8D9D8872C42E7AA81E95, - 2: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 3: 0x2000000000000000000000000000000000000000, - 6: 35, - 7: 10, - } - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "0000000000000000000000003000000000000000000000000000000000000000", - { - Address("0x3ff16480055c6ccc070257c61fa902448f4ae111"): Account( - storage={ - 0: 0x3FF16480055C6CCC070257C61FA902448F4AE111, - 2: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 3: 0x3000000000000000000000000000000000000000, - 6: 35, - 7: 10, - } - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "0000000000000000000000004000000000000000000000000000000000000000", - {}, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "0000000000000000000000001100000000000000000000000000000000000000", - { - Address("0xdaf9f53e732f21fe517e624b6dfe92dc8d0e51e0"): Account( - storage={ - 0: 0xDAF9F53E732F21FE517E624B6DFE92DC8D0E51E0, - 2: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 3: 0xF000000000000000000000000000000000000000, - 6: 35, - 7: 10, - } - ) - }, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ( - "0000000000000000000000002200000000000000000000000000000000000000", - { - Address("0x7ce21e3c16d63738cbbb697c919555c910504278"): Account( - storage={ - 0: 0x7CE21E3C16D63738CBBB697C919555C910504278, - 2: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 3: 0x9D25FBABDEB081B9ECD0645B9B6ABA8C7EB3821D, - 6: 35, - 7: 10, - } - ) - }, + pytest.param( + 5, + 0, + 0, + id="d5", ), - ( - "0000000000000000000000003300000000000000000000000000000000000000", - { - Address("0xbb1b88ea45d33397f45583ca612adea3eb267318"): Account( - storage={ - 0: 0xBB1B88EA45D33397F45583CA612ADEA3EB267318, - 2: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 3: 0x45DDE7FBF9F1CF09E18C4E584BA93C82E83C8898, - 6: 35, - 7: 10, - } - ) - }, + pytest.param( + 6, + 0, + 0, + id="d6", ), - ( - "0000000000000000000000004400000000000000000000000000000000000000", - {}, + pytest.param( + 7, + 0, + 0, + id="d7", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - ], ) @pytest.mark.pre_alloc_mutable def test_create2check_fields_in_initcode( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Check opcode values in create2 init code. Create2 called with...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Check opcode values in create2 init code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0x1000000000000000000000000000000000000000) + contract_2 = Address(0x1100000000000000000000000000000000000000) + contract_3 = Address(0x2000000000000000000000000000000000000000) + contract_4 = Address(0x2200000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) + contract_6 = Address(0x3300000000000000000000000000000000000000) + contract_7 = Address(0x4000000000000000000000000000000000000000) + contract_8 = Address(0x4400000000000000000000000000000000000000) + contract_9 = Address(0xF000000000000000000000000000000000000000) + contract_10 = Address(0xF200000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -156,10 +118,50 @@ def test_create2check_fields_in_initcode( gas_limit=1000000, ) - # Source: LLL + pre[sender] = Account(balance=0x56BC75E2D63100000) + # Source: lll + # { (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll # { (CALL (GAS) 0xf000000000000000000000000000000000000000 0 0 0 0 0) } - pre.deploy_contract( - code=( + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=0xF000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + nonce=0, + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 + ) + # Source: lll + # { (CREATE2 0 0 (lll (seq (CALL (GAS) 0xf000000000000000000000000000000000000000 0 0 0 0 0) (STOP) ) 0) 0) (STOP) } # noqa: E501 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x24] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.POP( Op.CALL( gas=Op.GAS, address=0xF000000000000000000000000000000000000000, @@ -169,45 +171,38 @@ def test_create2check_fields_in_initcode( ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.STOP * 2, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1100000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (CREATE2 0 0 (lll (seq (CALL (GAS) 0xf000000000000000000000000000000000000000 0 0 0 0 0) (STOP) ) 0) 0) (STOP) } # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x24] - + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xF000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - + Op.STOP - ), + # Source: lll + # { (CALLCODE (GAS) 0xf000000000000000000000000000000000000000 0 0 0 0 0) } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.GAS, + address=0xF000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x1100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (CALLCODE (GAS) 0xf000000000000000000000000000000000000000 0 0 0 0 0) } - pre.deploy_contract( - code=( + # Source: lll + # { (CREATE2 0 0 (lll (seq (CALLCODE (GAS) 0xf000000000000000000000000000000000000000 0 0 0 0 0) (STOP) ) 0) 0) (STOP) } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x24] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.POP( Op.CALLCODE( gas=Op.GAS, address=0xF000000000000000000000000000000000000000, @@ -217,222 +212,274 @@ def test_create2check_fields_in_initcode( ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), - nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { (CREATE2 0 0 (lll (seq (CALLCODE (GAS) 0xf000000000000000000000000000000000000000 0 0 0 0 0) (STOP) ) 0) 0) (STOP) } # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x24] - + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=0xF000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - + Op.STOP - ), + ) + + Op.STOP * 2, nonce=0, - address=Address("0x2200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (DELEGATECALL (GAS) 0xf000000000000000000000000000000000000000 0 0 0 0) (STOP) } # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xF000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=Op.GAS, + address=0xF000000000000000000000000000000000000000, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.STOP - + Op.STOP - ), + ) + + Op.STOP * 2, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (CREATE2 0 0 (lll (seq (DELEGATECALL (GAS) 0xf000000000000000000000000000000000000000 0 0 0 0) (STOP) ) 0) 0) (STOP) } # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x22] - + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.POP( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xF000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x22] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.POP( + Op.DELEGATECALL( + gas=Op.GAS, + address=0xF000000000000000000000000000000000000000, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.STOP - + Op.STOP - ), + ) + + Op.STOP * 2, nonce=0, - address=Address("0x3300000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3300000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (STATICCALL (GAS) 0xf200000000000000000000000000000000000000 0 0 0 256) [[10]] (MLOAD 0) } # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xF200000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x100, - ), + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0xF200000000000000000000000000000000000000, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x100, ) - + Op.SSTORE(key=0xA, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0xA, value=Op.MLOAD(offset=0x0)) + + Op.STOP, nonce=0, - address=Address("0x4000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x4000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (CREATE2 0 0 (lll (seq (STATICCALL (GAS) 0xf200000000000000000000000000000000000000 0 0 0 256) [[10]] (MLOAD 0) (STOP) ) 0) 0 ) } # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x29] - + Op.CODECOPY(dest_offset=0x0, offset=0x11, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.CREATE2 - + Op.STOP - + Op.INVALID - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xF200000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x100, - ), - ) - + Op.SSTORE(key=0xA, value=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - ), - nonce=0, - address=Address("0x4400000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0x56BC75E2D63100000) - # Source: LLL - # { (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x29] + + Op.CODECOPY(dest_offset=0x0, offset=0x11, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.CREATE2 + + Op.STOP + + Op.INVALID + + Op.POP( + Op.STATICCALL( gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, + address=0xF200000000000000000000000000000000000000, args_offset=0x0, args_size=0x0, ret_offset=0x0, - ret_size=0x0, + ret_size=0x100, ) - + Op.STOP - ), + ) + + Op.SSTORE(key=0xA, value=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0x4400000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (CREATE2 0 0 (lll (seq [[0]] (ADDRESS) [[1]] (BALANCE (ADDRESS)) [[2]] (ORIGIN) [[3]] (CALLER) [[4]] (CALLVALUE) [[5]] (CALLDATASIZE) [[6]] (CODESIZE) [[7]] (GASPRICE) (STOP) ) 0) 0) (STOP) } # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x23] - + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=Op.ADDRESS) - + Op.SSTORE(key=0x1, value=Op.BALANCE(address=Op.ADDRESS)) - + Op.SSTORE(key=0x2, value=Op.ORIGIN) - + Op.SSTORE(key=0x3, value=Op.CALLER) - + Op.SSTORE(key=0x4, value=Op.CALLVALUE) - + Op.SSTORE(key=0x5, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x6, value=Op.CODESIZE) - + Op.SSTORE(key=0x7, value=Op.GASPRICE) - + Op.STOP - + Op.STOP - ), + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x23] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=Op.ADDRESS) + + Op.SSTORE(key=0x1, value=Op.BALANCE(address=Op.ADDRESS)) + + Op.SSTORE(key=0x2, value=Op.ORIGIN) + + Op.SSTORE(key=0x3, value=Op.CALLER) + + Op.SSTORE(key=0x4, value=Op.CALLVALUE) + + Op.SSTORE(key=0x5, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x6, value=Op.CODESIZE) + + Op.SSTORE(key=0x7, value=Op.GASPRICE) + + Op.STOP * 2, nonce=0, - address=Address("0xf000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xF000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (CREATE2 0 0 (lll (seq [0] (ADDRESS) [32] (BALANCE (ADDRESS)) [64] (ORIGIN) [96] (CALLER) [128] (CALLVALUE) [160] (CALLDATASIZE) [192] (CODESIZE) [224] (GASPRICE) (RETURN 0 256) (STOP) ) 0) 0) } # noqa: E501 - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x29] - + Op.CODECOPY(dest_offset=0x0, offset=0x11, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.CREATE2 - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=Op.ADDRESS) - + Op.MSTORE(offset=0x20, value=Op.BALANCE(address=Op.ADDRESS)) - + Op.MSTORE(offset=0x40, value=Op.ORIGIN) - + Op.MSTORE(offset=0x60, value=Op.CALLER) - + Op.MSTORE(offset=0x80, value=Op.CALLVALUE) - + Op.MSTORE(offset=0xA0, value=Op.CALLDATASIZE) - + Op.MSTORE(offset=0xC0, value=Op.CODESIZE) - + Op.MSTORE(offset=0xE0, value=Op.GASPRICE) - + Op.RETURN(offset=0x0, size=0x100) - + Op.STOP - + Op.STOP - ), + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x29] + + Op.CODECOPY(dest_offset=0x0, offset=0x11, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.CREATE2 + + Op.STOP + + Op.INVALID + + Op.MSTORE(offset=0x0, value=Op.ADDRESS) + + Op.MSTORE(offset=0x20, value=Op.BALANCE(address=Op.ADDRESS)) + + Op.MSTORE(offset=0x40, value=Op.ORIGIN) + + Op.MSTORE(offset=0x60, value=Op.CALLER) + + Op.MSTORE(offset=0x80, value=Op.CALLVALUE) + + Op.MSTORE(offset=0xA0, value=Op.CALLDATASIZE) + + Op.MSTORE(offset=0xC0, value=Op.CODESIZE) + + Op.MSTORE(offset=0xE0, value=Op.GASPRICE) + + Op.RETURN(offset=0x0, size=0x100) + + Op.STOP * 2, nonce=0, - address=Address("0xf200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xF200000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xDAF9F53E732F21FE517E624B6DFE92DC8D0E51E0): Account( + storage={ + 0: 0xDAF9F53E732F21FE517E624B6DFE92DC8D0E51E0, + 1: 0, + 2: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 3: 0xF000000000000000000000000000000000000000, + 4: 0, + 5: 0, + 6: 35, + 7: 10, + }, + balance=0, + nonce=1, + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xDFAD1C567F12D848FABB8D9D8872C42E7AA81E95): Account( + storage={ + 0: 0xDFAD1C567F12D848FABB8D9D8872C42E7AA81E95, + 1: 0, + 2: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 3: 0x2000000000000000000000000000000000000000, + 4: 0, + 5: 0, + 6: 35, + 7: 10, + }, + balance=0, + nonce=1, + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 2, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x3FF16480055C6CCC070257C61FA902448F4AE111): Account( + storage={ + 0: 0x3FF16480055C6CCC070257C61FA902448F4AE111, + 1: 0, + 2: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 3: 0x3000000000000000000000000000000000000000, + 4: 0, + 5: 0, + 6: 35, + 7: 10, + }, + balance=0, + nonce=1, + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": [3, 7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(nonce=1)}, + }, + { + "indexes": {"data": 5, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x7CE21E3C16D63738CBBB697C919555C910504278): Account( + storage={ + 0: 0x7CE21E3C16D63738CBBB697C919555C910504278, + 1: 0, + 2: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 3: 0x9D25FBABDEB081B9ECD0645B9B6ABA8C7EB3821D, + 4: 0, + 5: 0, + 6: 35, + 7: 10, + }, + balance=0, + nonce=1, + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 6, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xBB1B88EA45D33397F45583CA612ADEA3EB267318): Account( + storage={ + 0: 0xBB1B88EA45D33397F45583CA612ADEA3EB267318, + 1: 0, + 2: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 3: 0x45DDE7FBF9F1CF09E18C4E584BA93C82E83C8898, + 4: 0, + 5: 0, + 6: 35, + 7: 10, + }, + balance=0, + nonce=1, + ), + sender: Account(nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_1, left_padding=True), + Hash(contract_3, left_padding=True), + Hash(contract_5, left_padding=True), + Hash(contract_7, left_padding=True), + Hash(contract_2, left_padding=True), + Hash(contract_4, left_padding=True), + Hash(contract_6, left_padding=True), + Hash(contract_8, left_padding=True), + ] + tx_gas = [600000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=600000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2collision_balance.py b/tests/ported_static/stCreate2/test_create2collision_balance.py index b34564d1f3b..463ebb5f599 100644 --- a/tests/ported_static/stCreate2/test_create2collision_balance.py +++ b/tests/ported_static/stCreate2/test_create2collision_balance.py @@ -1,8 +1,8 @@ """ -create2 generates an account that already exists and has balance != 0. +Create2 generates an account that already exists and has balance != 0. Ported from: -tests/static/state_tests/stCreate2/create2collisionBalanceFiller.json +state_tests/stCreate2/create2collisionBalanceFiller.json """ import pytest @@ -14,48 +14,68 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/create2collisionBalanceFiller.json"], + ["state_tests/stCreate2/create2collisionBalanceFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ("6000600060006000f500", {}), - ( - "64600160015560005260006005601b6000f500", - { - Address("0xaf3ecba2fe09a4f6c19f16a9d119e44e08c2da01"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", ), - ("6d6460016001556000526005601bf36000526000600e60126000f500", {}), - ("6000600060006001f500", {}), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_create2collision_balance( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Create2 generates an account that already exists and has balance...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Create2 generates an account that already exists and has balance != 0.""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xE2B35478FDD26477CC576DD906E6277761246A3C) + contract_1 = Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01) + contract_2 = Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xaf3ecba2fe09a4f6c19f16a9d119e44e08c2da01") - callee_1 = Address("0xe2b35478fdd26477cc576dd906e6277761246a3c") - callee_2 = Address("0xec2c6832d00680ece8ff9254f81fdab0a5a2ac50") env = Environment( fee_recipient=coinbase, @@ -67,20 +87,107 @@ def test_create2collision_balance( ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre[contract] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0xE2B35478FDD26477CC576DD906E6277761246A3C), # noqa: E501 + ) + # Source: hex + # 0x + contract_1 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01), # noqa: E501 + ) + # Source: hex + # 0x + contract_2 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50), # noqa: E501 + ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(balance=1, nonce=1), + compute_create_address(address=sender, nonce=0): Account( + balance=1, nonce=2 + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={1: 1}, code=b"", balance=1, nonce=1 + ), + compute_create_address(address=sender, nonce=0): Account( + balance=1, nonce=2 + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 2, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account( + storage={}, + code=bytes.fromhex("6001600155"), + balance=1, + nonce=1, + ), + compute_create_address(address=sender, nonce=0): Account( + balance=1, nonce=2 + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 3, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(balance=2, nonce=1), + compute_create_address(address=sender, nonce=0): Account( + balance=0, nonce=2 + ), + sender: Account(nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0) + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6001600155) + + Op.CREATE2(value=0x0, offset=0x1B, size=0x5, salt=0x0) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0) + + Op.STOP, + Op.CREATE2(value=0x1, offset=0x0, size=0x0, salt=0x0) + Op.STOP, + ] + tx_gas = [400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2collision_code.py b/tests/ported_static/stCreate2/test_create2collision_code.py index 4a82899c2d8..e234fd58d91 100644 --- a/tests/ported_static/stCreate2/test_create2collision_code.py +++ b/tests/ported_static/stCreate2/test_create2collision_code.py @@ -1,8 +1,8 @@ """ -create2 generates an account that already exists and has not empty code. +Create2 generates an account that already exists and has not empty code. Ported from: -tests/static/state_tests/stCreate2/create2collisionCodeFiller.json +state_tests/stCreate2/create2collisionCodeFiller.json """ import pytest @@ -14,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,27 +24,46 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/create2collisionCodeFiller.json"], + ["state_tests/stCreate2/create2collisionCodeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ("6000600060006000f500", {}), - ("64600160015560005260006005601b6000f500", {}), - ("6d6460016001556000526005601bf36000526000600e60126000f500", {}), + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_create2collision_code( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Create2 generates an account that already exists and has not...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Create2 generates an account that already exists and has not empty...""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xE2B35478FDD26477CC576DD906E6277761246A3C) + contract_1 = Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01) + contract_2 = Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -57,35 +78,71 @@ def test_create2collision_code( ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x010203 + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SUB(Op.MUL, Op.ADD), nonce=0, - address=Address("0xaf3ecba2fe09a4f6c19f16a9d119e44e08c2da01"), # noqa: E501 + address=Address(0xE2B35478FDD26477CC576DD906E6277761246A3C), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x010203 + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SUB(Op.MUL, Op.ADD), nonce=0, - address=Address("0xe2b35478fdd26477cc576dd906e6277761246a3c"), # noqa: E501 + address=Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x010203 + contract_2 = pre.deploy_contract( # noqa: F841 code=Op.SUB(Op.MUL, Op.ADD), nonce=0, - address=Address("0xec2c6832d00680ece8ff9254f81fdab0a5a2ac50"), # noqa: E501 + address=Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0) + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6001600155) + + Op.CREATE2(value=0x0, offset=0x1B, size=0x5, salt=0x0) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0) + + Op.STOP, + ] + tx_gas = [400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_0: Account( + storage={}, + code=bytes.fromhex("010203"), + balance=0, + nonce=0, + ), + contract_1: Account( + storage={}, + code=bytes.fromhex("010203"), + balance=0, + nonce=0, + ), + contract_2: Account( + storage={}, + code=bytes.fromhex("010203"), + balance=0, + nonce=0, + ), + compute_create_address(address=sender, nonce=0): Account( + code=b"", balance=1, nonce=2 + ), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2collision_code2.py b/tests/ported_static/stCreate2/test_create2collision_code2.py index 52e777c9982..fce405e07c9 100644 --- a/tests/ported_static/stCreate2/test_create2collision_code2.py +++ b/tests/ported_static/stCreate2/test_create2collision_code2.py @@ -1,8 +1,8 @@ """ -collision with the contract that already has the same init code that we are... +Collision with the contract that already has the same init code that we... Ported from: -tests/static/state_tests/stCreate2/create2collisionCode2Filler.json +state_tests/stCreate2/create2collisionCode2Filler.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,25 +27,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/create2collisionCode2Filler.json"], + ["state_tests/stCreate2/create2collisionCode2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "6b620102036000526003601df36000526000600c60146000f500", - "6b620102036000526003601df36000526000600c60146001f500", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create2collision_code2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Collision with the contract that already has the same init code...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xFCE41D047B4A1D4450382DCC29EC7E5FEDC5F9A3) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -55,22 +73,63 @@ def test_create2collision_code2( ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x010203 + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SUB(Op.MUL, Op.ADD), - address=Address("0xfce41d047b4a1d4450382dcc29ec7e5fedc5f9a3"), # noqa: E501 + nonce=1, + address=Address(0xFCE41D047B4A1D4450382DCC29EC7E5FEDC5F9A3), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + code=bytes.fromhex("010203"), balance=0, nonce=1 + ), + compute_create_address(address=sender, nonce=0): Account( + code=b"", balance=1, nonce=2 + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + code=bytes.fromhex("010203"), balance=0, nonce=1 + ), + compute_create_address(address=sender, nonce=0): Account( + code=b"", balance=1, nonce=2 + ), + sender: Account(nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.MSTORE(offset=0x0, value=0x620102036000526003601DF3) + + Op.CREATE2(value=0x0, offset=0x14, size=0xC, salt=0x0) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x620102036000526003601DF3) + + Op.CREATE2(value=0x1, offset=0x14, size=0xC, salt=0x0) + + Op.STOP, + ] + tx_gas = [400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post: dict = {} - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2collision_nonce.py b/tests/ported_static/stCreate2/test_create2collision_nonce.py index 4cf3176fa57..58135a80dd0 100644 --- a/tests/ported_static/stCreate2/test_create2collision_nonce.py +++ b/tests/ported_static/stCreate2/test_create2collision_nonce.py @@ -1,8 +1,8 @@ """ -create2 generates an account that already exists and has nonce != 0. +Create2 generates an account that already exists and has nonce != 0. Ported from: -tests/static/state_tests/stCreate2/create2collisionNonceFiller.json +state_tests/stCreate2/create2collisionNonceFiller.json """ import pytest @@ -14,40 +14,59 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/create2collisionNonceFiller.json"], + ["state_tests/stCreate2/create2collisionNonceFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ("6000600060006000f500", {}), - ("64600160015560005260006005601b6000f500", {}), - ("6d6460016001556000526005601bf36000526000600e60126000f500", {}), + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_create2collision_nonce( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Create2 generates an account that already exists and has nonce != 0.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xE2B35478FDD26477CC576DD906E6277761246A3C) + contract_1 = Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01) + contract_2 = Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xaf3ecba2fe09a4f6c19f16a9d119e44e08c2da01") - callee_1 = Address("0xe2b35478fdd26477cc576dd906e6277761246a3c") - callee_2 = Address("0xec2c6832d00680ece8ff9254f81fdab0a5a2ac50") env = Environment( fee_recipient=coinbase, @@ -59,20 +78,56 @@ def test_create2collision_nonce( ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre[contract] = Account(balance=0, nonce=1) - pre[callee_1] = Account(balance=0, nonce=1) - pre[callee_2] = Account(balance=0, nonce=1) + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + nonce=1, + address=Address(0xE2B35478FDD26477CC576DD906E6277761246A3C), # noqa: E501 + ) + # Source: hex + # 0x + contract_1 = pre.deploy_contract( # noqa: F841 + code="", + nonce=1, + address=Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01), # noqa: E501 + ) + # Source: hex + # 0x + contract_2 = pre.deploy_contract( # noqa: F841 + code="", + nonce=1, + address=Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50), # noqa: E501 + ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0) + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6001600155) + + Op.CREATE2(value=0x0, offset=0x1B, size=0x5, salt=0x0) + + Op.STOP, + Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0) + + Op.STOP, + ] + tx_gas = [400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_0: Account(storage={}, code=b"", balance=0, nonce=1), + contract_1: Account(storage={}, code=b"", balance=0, nonce=1), + contract_2: Account(storage={}, code=b"", balance=0, nonce=1), + compute_create_address(address=sender, nonce=0): Account( + balance=1, nonce=2 + ), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2collision_selfdestructed.py b/tests/ported_static/stCreate2/test_create2collision_selfdestructed.py index 8c9204fc321..e3a2e1ae029 100644 --- a/tests/ported_static/stCreate2/test_create2collision_selfdestructed.py +++ b/tests/ported_static/stCreate2/test_create2collision_selfdestructed.py @@ -1,8 +1,8 @@ """ -collision with address that has been selfdestructed in the same transaction. +Collision with address that has been selfdestructed in the same... Ported from: -tests/static/state_tests/stCreate2/create2collisionSelfdestructedFiller.json +state_tests/stCreate2/create2collisionSelfdestructedFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,126 +27,46 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/create2collisionSelfdestructedFiller.json", # noqa: E501 - ], + ["state_tests/stCreate2/create2collisionSelfdestructedFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6000600060006000600073e2b35478fdd26477cc576dd906e6277761246a3c61c350f1506000600060006000f500", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "6000600060006000600073af3ecba2fe09a4f6c19f16a9d119e44e08c2da0161c350f15064600160015560005260006005601b6000f500", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "6000600060006000600073ec2c6832d00680ece8ff9254f81fdab0a5a2ac5061c350f1506d6460016001556000526005601bf36000526000600e60126000f500", # noqa: E501 - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_create2collision_selfdestructed( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Collision with address that has been selfdestructed in the same...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=1000000, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, - balance=1, - nonce=0, - address=Address("0xaf3ecba2fe09a4f6c19f16a9d119e44e08c2da01"), # noqa: E501 - ) - # Source: LLL - # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, - balance=1, - nonce=0, - address=Address("0xe2b35478fdd26477cc576dd906e6277761246a3c"), # noqa: E501 - ) - # Source: LLL - # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, - balance=1, - nonce=0, - address=Address("0xec2c6832d00680ece8ff9254f81fdab0a5a2ac50"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=None, - data=tx_data, - gas_limit=400000, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/create2collisionSelfdestructedFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "6000600060006000600073e2b35478fdd26477cc576dd906e6277761246a3c61c350f1506000600060006000f500", # noqa: E501 - {}, - ), - ( - "6000600060006000600073af3ecba2fe09a4f6c19f16a9d119e44e08c2da0161c350f15064600160015560005260006005601b6000f500", # noqa: E501 - {}, - ), - ( - "6000600060006000600073ec2c6832d00680ece8ff9254f81fdab0a5a2ac5061c350f1506d6460016001556000526005601bf36000526000600e60126000f500", # noqa: E501 - {}, - ), - ], - ids=["case0", "case1", "case2"], -) -@pytest.mark.pre_alloc_mutable -def test_create2collision_selfdestructed_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Collision with address that has been selfdestructed in the same...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xE2B35478FDD26477CC576DD906E6277761246A3C) + contract_1 = Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01) + contract_2 = Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -156,41 +81,131 @@ def test_create2collision_selfdestructed_from_prague( ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, balance=1, nonce=0, - address=Address("0xaf3ecba2fe09a4f6c19f16a9d119e44e08c2da01"), # noqa: E501 + address=Address(0xE2B35478FDD26477CC576DD906E6277761246A3C), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, balance=1, nonce=0, - address=Address("0xe2b35478fdd26477cc576dd906e6277761246a3c"), # noqa: E501 + address=Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( + contract_2 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, balance=1, nonce=0, - address=Address("0xec2c6832d00680ece8ff9254f81fdab0a5a2ac50"), # noqa: E501 + address=Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(balance=0, nonce=0), + Address(0x0000000000000000000000000000000000000010): Account( + balance=1 + ), + compute_create_address(address=sender, nonce=0): Account( + storage={0: 0}, balance=1, nonce=2 + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account(balance=0, nonce=0), + Address(0x0000000000000000000000000000000000000010): Account( + balance=1 + ), + compute_create_address(address=sender, nonce=0): Account( + storage={0: 0}, balance=1, nonce=2 + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 2, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account(balance=0, nonce=0), + Address(0x0000000000000000000000000000000000000010): Account( + balance=1 + ), + compute_create_address(address=sender, nonce=0): Account( + storage={0: 0}, balance=1, nonce=2 + ), + sender: Account(nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x6001600155) + + Op.CREATE2(value=0x0, offset=0x1B, size=0x5, salt=0x0) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0) + + Op.STOP, + ] + tx_gas = [400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2collision_selfdestructed2.py b/tests/ported_static/stCreate2/test_create2collision_selfdestructed2.py index 1bc41b93efb..c55ec9f9d50 100644 --- a/tests/ported_static/stCreate2/test_create2collision_selfdestructed2.py +++ b/tests/ported_static/stCreate2/test_create2collision_selfdestructed2.py @@ -1,8 +1,8 @@ """ -A contract which performs SUICIDE, and is then attempted to be recreated... +A contract which performs SUICIDE, and is then attempted to be... Ported from: -tests/static/state_tests/stCreate2/create2collisionSelfdestructed2Filler.json +state_tests/stCreate2/create2collisionSelfdestructed2Filler.json """ import pytest @@ -15,6 +15,10 @@ StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,35 +26,39 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/create2collisionSelfdestructed2Filler.json", # noqa: E501 - ], + ["state_tests/stCreate2/create2collisionSelfdestructed2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6000600060006000600073fce41d047b4a1d4450382dcc29ec7e5fedc5f9a361c350f1506b620102036000526003601df36000526000600c60146000f500", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "6000600060006000600073cff64f4c5df8f436c4f2c1af4b2e3f9e3004c77961c350f1506b626010ff6000526003601df36000526000600c60146000f500", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create2collision_selfdestructed2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """A contract which performs SUICIDE, and is then attempted to be...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xFCE41D047B4A1D4450382DCC29EC7E5FEDC5F9A3) + contract_1 = Address(0xCFF64F4C5DF8F436C4F2C1AF4B2E3F9E3004C779) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -65,102 +73,93 @@ def test_create2collision_selfdestructed2( ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=0x10), - balance=1, - address=Address("0xcff64f4c5df8f436c4f2c1af4b2e3f9e3004c779"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, balance=1, nonce=0, - address=Address("0xfce41d047b4a1d4450382dcc29ec7e5fedc5f9a3"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=None, - data=tx_data, - gas_limit=400000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/create2collisionSelfdestructed2Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "6000600060006000600073fce41d047b4a1d4450382dcc29ec7e5fedc5f9a361c350f1506b620102036000526003601df36000526000600c60146000f500", # noqa: E501 - {}, - ), - ( - "6000600060006000600073cff64f4c5df8f436c4f2c1af4b2e3f9e3004c77961c350f1506b626010ff6000526003601df36000526000600c60146000f500", # noqa: E501 - {}, - ), - ], - ids=["case0", "case1"], -) -@pytest.mark.pre_alloc_mutable -def test_create2collision_selfdestructed2_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """A contract which performs SUICIDE, and is then attempted to be...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=1000000, + address=Address(0xFCE41D047B4A1D4450382DCC29EC7E5FEDC5F9A3), # noqa: E501 ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x6010ff + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x10), balance=1, - address=Address("0xcff64f4c5df8f436c4f2c1af4b2e3f9e3004c779"), # noqa: E501 - ) - # Source: LLL - # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, - balance=1, - nonce=0, - address=Address("0xfce41d047b4a1d4450382dcc29ec7e5fedc5f9a3"), # noqa: E501 + nonce=1, + address=Address(0xCFF64F4C5DF8F436C4F2C1AF4B2E3F9E3004C779), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={}, + code=bytes.fromhex("6010ff00"), + balance=0, + nonce=0, + ), + Address(0x0000000000000000000000000000000000000010): Account( + balance=1 + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account(balance=0, nonce=1), + Address(0x0000000000000000000000000000000000000010): Account( + balance=1 + ), + sender: Account(nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x620102036000526003601DF3) + + Op.CREATE2(value=0x0, offset=0x14, size=0xC, salt=0x0) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x626010FF6000526003601DF3) + + Op.CREATE2(value=0x0, offset=0x14, size=0xC, salt=0x0) + + Op.STOP, + ] + tx_gas = [400000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2collision_selfdestructed_oog.py b/tests/ported_static/stCreate2/test_create2collision_selfdestructed_oog.py index dfeccc00f7f..4def59bad89 100644 --- a/tests/ported_static/stCreate2/test_create2collision_selfdestructed_oog.py +++ b/tests/ported_static/stCreate2/test_create2collision_selfdestructed_oog.py @@ -1,8 +1,8 @@ """ -collision with address that has been selfdestructed in the same transaction... +Collision with address that has been selfdestructed in the same... Ported from: -tests/static/state_tests/stCreate2/create2collisionSelfdestructedOOGFiller.json +state_tests/stCreate2/create2collisionSelfdestructedOOGFiller.json """ import pytest @@ -14,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,46 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/create2collisionSelfdestructedOOGFiller.json", # noqa: E501 - ], + ["state_tests/stCreate2/create2collisionSelfdestructedOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "6000600060006000600073e2b35478fdd26477cc576dd906e6277761246a3c61c350f1506000600060006000f5506211223360005500", # noqa: E501 - "6000600060006000600073af3ecba2fe09a4f6c19f16a9d119e44e08c2da0161c350f15064600160015560005260006005601b6000f5506211223360005500", # noqa: E501 - "6000600060006000600073ec2c6832d00680ece8ff9254f81fdab0a5a2ac5061c350f1506d6460016001556000526005601bf36000526000600e60126000f5506211223360005500", # noqa: E501 + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_create2collision_selfdestructed_oog( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Collision with address that has been selfdestructed in the same...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xE2B35478FDD26477CC576DD906E6277761246A3C) + contract_1 = Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01) + contract_2 = Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -58,41 +78,97 @@ def test_create2collision_selfdestructed_oog( ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, balance=1, nonce=0, - address=Address("0xaf3ecba2fe09a4f6c19f16a9d119e44e08c2da01"), # noqa: E501 + address=Address(0xE2B35478FDD26477CC576DD906E6277761246A3C), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, balance=1, nonce=0, - address=Address("0xe2b35478fdd26477cc576dd906e6277761246a3c"), # noqa: E501 + address=Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( + contract_2 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, balance=1, nonce=0, - address=Address("0xec2c6832d00680ece8ff9254f81fdab0a5a2ac50"), # noqa: E501 + address=Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP(Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0)) + + Op.SSTORE(key=0x0, value=0x112233) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x6001600155) + + Op.POP(Op.CREATE2(value=0x0, offset=0x1B, size=0x5, salt=0x0)) + + Op.SSTORE(key=0x0, value=0x112233) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.POP(Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0)) + + Op.SSTORE(key=0x0, value=0x112233) + + Op.STOP, + ] + tx_gas = [200000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=200000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post: dict = {} + post = { + contract_0: Account(code=bytes.fromhex("6010ff00"), balance=1), + contract_1: Account(code=bytes.fromhex("6010ff00"), balance=1), + contract_2: Account(code=bytes.fromhex("6010ff00"), balance=1), + Address( + 0x0000000000000000000000000000000000000010 + ): Account.NONEXISTENT, + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2collision_selfdestructed_revert.py b/tests/ported_static/stCreate2/test_create2collision_selfdestructed_revert.py index 3a17e729608..062a07a32e6 100644 --- a/tests/ported_static/stCreate2/test_create2collision_selfdestructed_revert.py +++ b/tests/ported_static/stCreate2/test_create2collision_selfdestructed_revert.py @@ -1,9 +1,8 @@ """ -collision with address that has been selfdestructed in the same transaction... +Collision with address that has been selfdestructed in the same... Ported from: -tests/static/state_tests/stCreate2 -create2collisionSelfdestructedRevertFiller.json +state_tests/stCreate2/create2collisionSelfdestructedRevertFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,126 +24,46 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/create2collisionSelfdestructedRevertFiller.json", # noqa: E501 - ], + ["state_tests/stCreate2/create2collisionSelfdestructedRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6000600060006000600073e2b35478fdd26477cc576dd906e6277761246a3c61c350f1506000600060006000f550621122336000526003601dfd00", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "6000600060006000600073e2b35478fdd26477cc576dd906e6277761246a3c61c350f15064600160015560005260006005601b6000f550621122336000526003601dfd00", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "6000600060006000600073e2b35478fdd26477cc576dd906e6277761246a3c61c350f1506d6460016001556000526005601bf36000526000600e60126000f550621122336000526003601dfd00", # noqa: E501 - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_create2collision_selfdestructed_revert( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Collision with address that has been selfdestructed in the same...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=1000000, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, - balance=1, - nonce=0, - address=Address("0xaf3ecba2fe09a4f6c19f16a9d119e44e08c2da01"), # noqa: E501 - ) - # Source: LLL - # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, - balance=1, - nonce=0, - address=Address("0xe2b35478fdd26477cc576dd906e6277761246a3c"), # noqa: E501 - ) - # Source: LLL - # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, - balance=1, - nonce=0, - address=Address("0xec2c6832d00680ece8ff9254f81fdab0a5a2ac50"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=None, - data=tx_data, - gas_limit=400000, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/create2collisionSelfdestructedRevertFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "6000600060006000600073e2b35478fdd26477cc576dd906e6277761246a3c61c350f1506000600060006000f550621122336000526003601dfd00", # noqa: E501 - {}, - ), - ( - "6000600060006000600073e2b35478fdd26477cc576dd906e6277761246a3c61c350f15064600160015560005260006005601b6000f550621122336000526003601dfd00", # noqa: E501 - {}, - ), - ( - "6000600060006000600073e2b35478fdd26477cc576dd906e6277761246a3c61c350f1506d6460016001556000526005601bf36000526000600e60126000f550621122336000526003601dfd00", # noqa: E501 - {}, - ), - ], - ids=["case0", "case1", "case2"], -) -@pytest.mark.pre_alloc_mutable -def test_create2collision_selfdestructed_revert_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Collision with address that has been selfdestructed in the same...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xE2B35478FDD26477CC576DD906E6277761246A3C) + contract_1 = Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01) + contract_2 = Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -157,41 +78,100 @@ def test_create2collision_selfdestructed_revert_from_prague( ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, balance=1, nonce=0, - address=Address("0xaf3ecba2fe09a4f6c19f16a9d119e44e08c2da01"), # noqa: E501 + address=Address(0xE2B35478FDD26477CC576DD906E6277761246A3C), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, balance=1, nonce=0, - address=Address("0xe2b35478fdd26477cc576dd906e6277761246a3c"), # noqa: E501 + address=Address(0xAF3ECBA2FE09A4F6C19F16A9D119E44E08C2DA01), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0x10) } - pre.deploy_contract( + contract_2 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x10) + Op.STOP, balance=1, nonce=0, - address=Address("0xec2c6832d00680ece8ff9254f81fdab0a5a2ac50"), # noqa: E501 + address=Address(0xEC2C6832D00680ECE8FF9254F81FDAB0A5A2AC50), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP(Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0)) + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.REVERT(offset=0x1D, size=0x3) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x6001600155) + + Op.POP(Op.CREATE2(value=0x0, offset=0x1B, size=0x5, salt=0x0)) + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.REVERT(offset=0x1D, size=0x3) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.POP(Op.CREATE2(value=0x0, offset=0x12, size=0xE, salt=0x0)) + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.REVERT(offset=0x1D, size=0x3) + + Op.STOP, + ] + tx_gas = [400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_0: Account(code=bytes.fromhex("6010ff00"), balance=1), + contract_1: Account(code=bytes.fromhex("6010ff00"), balance=1), + contract_2: Account(code=bytes.fromhex("6010ff00"), balance=1), + Address( + 0x0000000000000000000000000000000000000010 + ): Account.NONEXISTENT, + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create2no_cash.py b/tests/ported_static/stCreate2/test_create2no_cash.py index fd2490b1f97..0d5894a3320 100644 --- a/tests/ported_static/stCreate2/test_create2no_cash.py +++ b/tests/ported_static/stCreate2/test_create2no_cash.py @@ -1,8 +1,8 @@ """ -create2 fails with not enough cash (endowment of a new account) + inside... +Create2 fails with not enough cash (endowment of a new account) +... Ported from: -tests/static/state_tests/stCreate2/create2noCashFiller.json +state_tests/stCreate2/create2noCashFiller.json """ import pytest @@ -15,6 +15,10 @@ StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,36 +26,44 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/create2noCashFiller.json"], + ["state_tests/stCreate2/create2noCashFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6000600060006000600073e2b35478fdd26477cc576dd906e6277761246a3c620249f0f100", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "6000600060006000600173e2b35478fdd26477cc576dd906e6277761246a3c620249f0f100", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "600060006000600073e2b35478fdd26477cc576dd906e6277761246a3c620249f0fa00", # noqa: E501 - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_create2no_cash( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Create2 fails with not enough cash (endowment of a new account) +...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xE2B35478FDD26477CC576DD906E6277761246A3C) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -66,25 +78,83 @@ def test_create2no_cash( ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (CREATE2 101 0 0 0) } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.CREATE2(value=0x65, offset=0x0, size=0x0, salt=0x0) + Op.STOP, balance=100, nonce=0, - address=Address("0xe2b35478fdd26477cc576dd906e6277761246a3c"), # noqa: E501 + address=Address(0xE2B35478FDD26477CC576DD906E6277761246A3C), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(balance=100), + Address( + 0x12AAEFBC0350A026228076E5369E6CE148CE67BE + ): Account.NONEXISTENT, + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(balance=0), + Address(0x12AAEFBC0350A026228076E5369E6CE148CE67BE): Account( + balance=101 + ), + sender: Account(nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.CALL( + gas=0x249F0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.CALL( + gas=0x249F0, + address=contract_0, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.STATICCALL( + gas=0x249F0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create_message_reverted.py b/tests/ported_static/stCreate2/test_create_message_reverted.py index b7c92f0b357..0d0a5bff1f3 100644 --- a/tests/ported_static/stCreate2/test_create_message_reverted.py +++ b/tests/ported_static/stCreate2/test_create_message_reverted.py @@ -2,7 +2,7 @@ CreateMessageReverted for CREATE2. Ported from: -tests/static/state_tests/stCreate2/CreateMessageRevertedFiller.json +state_tests/stCreate2/CreateMessageRevertedFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,33 +27,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/CreateMessageRevertedFiller.json"], + ["state_tests/stCreate2/CreateMessageRevertedFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (80000, {}), - ( - 150000, - { - Address("0x244fe9a7867edcc140245e775071fbfe6ebedbae"): Account( - storage={0: 12, 1: 13} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_message_reverted( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """CreateMessageReverted for CREATE2.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -63,25 +73,54 @@ def test_create_message_reverted( ) pre[sender] = Account(balance=0x2DC6C0) - # Source: LLL + # Source: lll # {(MSTORE 0 0x600c600055600d600155) (CREATE2 0 22 10 0)} - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x600C600055600D600155) - + Op.CREATE2(value=0x0, offset=0x16, size=0xA, salt=0x0) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x600C600055600D600155) + + Op.CREATE2(value=0x0, offset=0x16, size=0xA, salt=0x0) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address( + 0x244FE9A7867EDCC140245E775071FBFE6EBEDBAE + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address(0x244FE9A7867EDCC140245E775071FBFE6EBEDBAE): Account( + storage={0: 12, 1: 13}, balance=0, nonce=1 + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [80000, 150000] + tx_value = [100] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=100, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_create_message_reverted_oog_in_init2.py b/tests/ported_static/stCreate2/test_create_message_reverted_oog_in_init2.py index a24b572bb10..927b3fa082e 100644 --- a/tests/ported_static/stCreate2/test_create_message_reverted_oog_in_init2.py +++ b/tests/ported_static/stCreate2/test_create_message_reverted_oog_in_init2.py @@ -1,8 +1,8 @@ """ -create2 oog during the init code, + when create2 is from transaction init... +Create2 oog during the init code, + when create2 is from transaction... Ported from: -tests/static/state_tests/stCreate2/CreateMessageRevertedOOGInInit2Filler.json +state_tests/stCreate2/CreateMessageRevertedOOGInInit2Filler.json """ import pytest @@ -15,45 +15,52 @@ StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/CreateMessageRevertedOOGInInit2Filler.json", # noqa: E501 - ], + ["state_tests/stCreate2/CreateMessageRevertedOOGInInit2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (110000, {}), - ( - 150000, - { - Address("0xf3059e18a327c662766f6ba11808c400635847ef"): Account( - storage={0: 12, 1: 13} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_message_reverted_oog_in_init2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Create2 oog during the init code, + when create2 is from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -65,16 +72,55 @@ def test_create_message_reverted_oog_in_init2( ) pre[sender] = Account(balance=0x2DC6C0) - pre[contract] = Account(balance=10, nonce=0) + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=10, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address( + 0xF3059E18A327C662766F6BA11808C400635847EF + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + Address(0xF3059E18A327C662766F6BA11808C400635847EF): Account( + storage={0: 12, 1: 13}, balance=0, nonce=1 + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.MSTORE(offset=0x0, value=0x600C600055600D600155) + + Op.CREATE2(value=0x0, offset=0x16, size=0xA, salt=0x0) + + Op.STOP, + ] + tx_gas = [110000, 150000] + tx_value = [100] tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("69600c600055600d6001556000526000600a60166000f500"), - gas_limit=tx_gas_limit, - value=100, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_returndatacopy_0_0_following_successful_create.py b/tests/ported_static/stCreate2/test_returndatacopy_0_0_following_successful_create.py index c010a2a21d1..15bf5bc6a66 100644 --- a/tests/ported_static/stCreate2/test_returndatacopy_0_0_following_successful_create.py +++ b/tests/ported_static/stCreate2/test_returndatacopy_0_0_following_successful_create.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_0_0_following_successful_create. Ported from: -tests/static/state_tests/stCreate2 -returndatacopy_0_0_following_successful_createFiller.json +state_tests/stCreate2/returndatacopy_0_0_following_successful_createFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreate2/returndatacopy_0_0_following_successful_createFiller.json", # noqa: E501 + "state_tests/stCreate2/returndatacopy_0_0_following_successful_createFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_returndatacopy_0_0_following_successful_create( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_0_0_following_successful_create.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,40 +49,37 @@ def test_returndatacopy_0_0_following_successful_create( gas_limit=47244640256, ) - # Source: LLL + # Source: lll # { (create2 0 0 (lll (seq (SSTORE 0 1) (STOP) ) 0) 0) (RETURNDATACOPY 0 0 0) (SSTORE 0 0) (STOP) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x7] - + Op.CODECOPY(dest_offset=0x0, offset=0x1F, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) - + Op.SSTORE(key=0x0, value=0x0) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=0x1) - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x7] + + Op.CODECOPY(dest_offset=0x0, offset=0x1F, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) + + Op.SSTORE(key=0x0, value=0x0) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=100000, ) post = { - Address("0x75579e0e990d8361c48b86c1b57686589df3264a"): Account( - storage={0: 1}, + contract_0: Account(storage={0: 0}), + Address(0x75579E0E990D8361C48B86C1B57686589DF3264A): Account( + storage={0: 1} ), } diff --git a/tests/ported_static/stCreate2/test_returndatacopy_after_failing_create.py b/tests/ported_static/stCreate2/test_returndatacopy_after_failing_create.py index 95556534179..234eee3caf2 100644 --- a/tests/ported_static/stCreate2/test_returndatacopy_after_failing_create.py +++ b/tests/ported_static/stCreate2/test_returndatacopy_after_failing_create.py @@ -2,8 +2,7 @@ Returndatacopy after failing create case due to 0xfd code. Ported from: -tests/static/state_tests/stCreate2 -returndatacopy_afterFailing_createFiller.json +state_tests/stCreate2/returndatacopy_afterFailing_createFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/returndatacopy_afterFailing_createFiller.json", # noqa: E501 - ], + ["state_tests/stCreate2/returndatacopy_afterFailing_createFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,8 @@ def test_returndatacopy_after_failing_create( pre: Alloc, ) -> None: """Returndatacopy after failing create case due to 0xfd code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,31 +47,28 @@ def test_returndatacopy_after_failing_create( gas_limit=47244640256, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x600260005260206000fd) (create2 0 22 10 0) (SSTORE 0 (RETURNDATASIZE)) (RETURNDATACOPY 0 0 32) (SSTORE 1 (MLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x600260005260206000FD) - + Op.POP(Op.CREATE2(value=0x0, offset=0x16, size=0xA, salt=0x0)) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x600260005260206000FD) + + Op.POP(Op.CREATE2(value=0x0, offset=0x16, size=0xA, salt=0x0)) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 32, 1: 2}), - } + post = {contract_0: Account(storage={0: 32, 1: 2})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_returndatacopy_following_create.py b/tests/ported_static/stCreate2/test_returndatacopy_following_create.py index 4842c932c34..8660d373803 100644 --- a/tests/ported_static/stCreate2/test_returndatacopy_following_create.py +++ b/tests/ported_static/stCreate2/test_returndatacopy_following_create.py @@ -2,7 +2,7 @@ Check that create2 does not fill returndata buffer with its return opcode. Ported from: -tests/static/state_tests/stCreate2/returndatacopy_following_createFiller.json +state_tests/stCreate2/returndatacopy_following_createFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,27 +27,40 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/returndatacopy_following_createFiller.json", # noqa: E501 - ], + ["state_tests/stCreate2/returndatacopy_following_createFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "0000000000000000000000000f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", - "0000000000000000000000001f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_returndatacopy_following_create( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Check that create2 does not fill returndata buffer with its...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Check that create2 does not fill returndata buffer with its return...""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1AABBCCDD5C57F15886F9B263E2F6D2D6C7B5EC6) + contract_1 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) + contract_2 = Address(0x1F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -56,84 +74,90 @@ def test_returndatacopy_following_create( gas_limit=47244640256, ) - # Source: LLL - # { (CREATE2 0 0 (lll (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32)) 0) 0) (RETURNDATACOPY 0 0 32) (SSTORE 0 (MLOAD 0)) } # noqa: E501 - callee = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x28] - + Op.CODECOPY(dest_offset=0x0, offset=0x1F, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.INVALID - + Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - storage={0x0: 0x1}, + # Source: lll + # { (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x1AABBCCDD5C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) - # Source: LLL - # { (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (CREATE2 0 0 (lll (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32)) 0) 0) (RETURNDATACOPY 0 0 32) (SSTORE 0 (MLOAD 0)) } # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x28] + + Op.CODECOPY(dest_offset=0x0, offset=0x1F, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP + + Op.INVALID + + Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x1aabbccdd5c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) - # Source: LLL + # Source: lll # { (seq (create2 0 0 (lll (STOP) 0) 0) (RETURNDATACOPY 0 0 32) (SSTORE 0 (MLOAD 0)) )} # noqa: E501 - callee_1 = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x2] - + Op.CODECOPY(dest_offset=0x0, offset=0x1F, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.INVALID - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x2] + + Op.CODECOPY(dest_offset=0x0, offset=0x1F, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP + + Op.INVALID + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0x1f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x1F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 1})}, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_1, left_padding=True), + Hash(contract_2, left_padding=True), + ] + tx_gas = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=100000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = { - callee: Account(storage={0: 1}), - callee_1: Account(storage={0: 1}), - } - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_returndatacopy_following_revert_in_create.py b/tests/ported_static/stCreate2/test_returndatacopy_following_revert_in_create.py index 4bea5b32e3c..b7b35d77683 100644 --- a/tests/ported_static/stCreate2/test_returndatacopy_following_revert_in_create.py +++ b/tests/ported_static/stCreate2/test_returndatacopy_following_revert_in_create.py @@ -1,9 +1,8 @@ """ -returndatacopy_following_revert_in_create for CREATE2. +Returndatacopy_following_revert_in_create for CREATE2. Ported from: -tests/static/state_tests/stCreate2 -returndatacopy_following_revert_in_createFiller.json +state_tests/stCreate2/returndatacopy_following_revert_in_createFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreate2/returndatacopy_following_revert_in_createFiller.json", # noqa: E501 + "state_tests/stCreate2/returndatacopy_following_revert_in_createFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,8 @@ def test_returndatacopy_following_revert_in_create( pre: Alloc, ) -> None: """Returndatacopy_following_revert_in_create for CREATE2.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,43 +49,39 @@ def test_returndatacopy_following_revert_in_create( gas_limit=47244640256, ) - # Source: LLL + # Source: lll # { (seq (CREATE2 0 0 (lll (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (REVERT 0 32) (STOP) ) 0) 0) (RETURNDATACOPY 0 0 32) (SSTORE 0 (MLOAD 0)) (STOP) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x29] - + Op.CODECOPY(dest_offset=0x0, offset=0x20, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 - ) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x29] + + Op.CODECOPY(dest_offset=0x0, offset=0x20, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stCreate2/test_returndatacopy_following_successful_create.py b/tests/ported_static/stCreate2/test_returndatacopy_following_successful_create.py index e6f42ac9bd6..fae60ef6167 100644 --- a/tests/ported_static/stCreate2/test_returndatacopy_following_successful_create.py +++ b/tests/ported_static/stCreate2/test_returndatacopy_following_successful_create.py @@ -1,9 +1,8 @@ """ -returndatacopy_following_successful_create for CREATE2. +Returndatacopy_following_successful_create for CREATE2. Ported from: -tests/static/state_tests/stCreate2 -returndatacopy_following_successful_createFiller.json +state_tests/stCreate2/returndatacopy_following_successful_createFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreate2/returndatacopy_following_successful_createFiller.json", # noqa: E501 + "state_tests/stCreate2/returndatacopy_following_successful_createFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,8 @@ def test_returndatacopy_following_successful_create( pre: Alloc, ) -> None: """Returndatacopy_following_successful_create for CREATE2.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,37 +49,32 @@ def test_returndatacopy_following_successful_create( gas_limit=51539607552, ) - # Source: LLL + # Source: lll # { (create2 0 0 (lll (seq (STOP)) 0) 0) (RETURNDATACOPY 0 1 32) (SSTORE 0 (MLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x2] - + Op.CODECOPY(dest_offset=0x0, offset=0x1F, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x1, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.INVALID - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x2}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x2] + + Op.CODECOPY(dest_offset=0x0, offset=0x1F, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x1, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP + + Op.INVALID + + Op.STOP * 2, + storage={0: 2}, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 2}), - } + post = {contract_0: Account(storage={0: 2})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_returndatasize_following_successful_create.py b/tests/ported_static/stCreate2/test_returndatasize_following_successful_create.py index edd6c00daf5..17fc295caa0 100644 --- a/tests/ported_static/stCreate2/test_returndatasize_following_successful_create.py +++ b/tests/ported_static/stCreate2/test_returndatasize_following_successful_create.py @@ -1,9 +1,8 @@ """ -returndatasize_following_successful_create for create2. +Returndatasize_following_successful_create for create2. Ported from: -tests/static/state_tests/stCreate2 -returndatasize_following_successful_createFiller.json +state_tests/stCreate2/returndatasize_following_successful_createFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreate2/returndatasize_following_successful_createFiller.json", # noqa: E501 + "state_tests/stCreate2/returndatasize_following_successful_createFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,8 @@ def test_returndatasize_following_successful_create( pre: Alloc, ) -> None: """Returndatasize_following_successful_create for create2.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,36 +49,33 @@ def test_returndatasize_following_successful_create( gas_limit=47244640256, ) - # Source: LLL + # Source: lll # { (seq (CREATE2 0 0 (lll (seq (mstore 0 0x112233) (RETURN 0 32)) 0) 0) (SSTORE 0 (RETURNDATASIZE)) (STOP) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0xD] - + Op.CODECOPY(dest_offset=0x0, offset=0x17, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=0x112233) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - storage={0x0: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0xD] + + Op.CODECOPY(dest_offset=0x0, offset=0x17, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {contract_0: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_revert_depth_create2_oog.py b/tests/ported_static/stCreate2/test_revert_depth_create2_oog.py index 911362b889c..00db52a17f2 100644 --- a/tests/ported_static/stCreate2/test_revert_depth_create2_oog.py +++ b/tests/ported_static/stCreate2/test_revert_depth_create2_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_depth_create2_oog. Ported from: -tests/static/state_tests/stCreate2/RevertDepthCreate2OOGFiller.json +state_tests/stCreate2/RevertDepthCreate2OOGFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,105 +27,75 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/RevertDepthCreate2OOGFiller.json"], + ["state_tests/stCreate2/RevertDepthCreate2OOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, - 1, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, + pytest.param( 0, - {}, + 0, + 0, + id="d0-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 170000, + pytest.param( + 0, + 0, 1, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 4: 12} - ) - }, + id="d0-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 170000, + pytest.param( 0, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 4: 12} - ) - }, + 1, + 0, + id="d0-g1-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 0, + 1, 1, - {}, + id="d0-g1-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 1, 0, - {}, + 0, + id="d1-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 170000, + pytest.param( 1, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 4: 12} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={2: 8, 3: 12} - ), - }, + 0, + 1, + id="d1-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 170000, + pytest.param( + 1, + 1, 0, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 4: 12} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={2: 8, 3: 12} - ), - }, + id="d1-g1-v0", + ), + pytest.param( + 1, + 1, + 1, + id="d1-g1-v1", ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", ], ) @pytest.mark.pre_alloc_mutable def test_revert_depth_create2_oog( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_depth_create2_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA000000000000000000000000000000000000000) + contract_1 = Address(0xB000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -134,54 +109,92 @@ def test_revert_depth_create2_oog( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]] 1 [[1]] (CALL (CALLDATALOAD 0) 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[4]] 12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0xB000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x4, value=0xC) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0xB000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x4, value=0xC) + + Op.STOP, balance=5, nonce=54, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[2]] 8 (CREATE2 0 0 0 0) [[3]] 12} - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x8) - + Op.POP(Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0)) - + Op.SSTORE(key=0x3, value=0xC) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x8) + + Op.POP(Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0)) + + Op.SSTORE(key=0x3, value=0xC) + + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x05A28FC366483258507BCF739658573CB47E4FAD): Account( + nonce=1 + ), + contract_0: Account(storage={0: 1, 1: 1, 4: 12}), + contract_1: Account(storage={2: 8, 3: 12}), + }, + }, + { + "indexes": {"data": 0, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address( + 0x05A28FC366483258507BCF739658573CB47E4FAD + ): Account.NONEXISTENT, + contract_0: Account(storage={0: 1, 4: 12}), + contract_1: Account(storage={}), + }, + }, + { + "indexes": {"data": [0, 1], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address( + 0x05A28FC366483258507BCF739658573CB47E4FAD + ): Account.NONEXISTENT, + contract_0: Account(storage={}), + contract_1: Account(storage={}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0xEA60), + Hash(0x1EA60), + ] + tx_gas = [110000, 170000] + tx_value = [1, 0] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_revert_depth_create2_oog_berlin.py b/tests/ported_static/stCreate2/test_revert_depth_create2_oog_berlin.py index d09f2cf2ab0..d2e3e235f10 100644 --- a/tests/ported_static/stCreate2/test_revert_depth_create2_oog_berlin.py +++ b/tests/ported_static/stCreate2/test_revert_depth_create2_oog_berlin.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_depth_create2_oog_berlin. Ported from: -tests/static/state_tests/stCreate2/RevertDepthCreate2OOGBerlinFiller.json +state_tests/stCreate2/RevertDepthCreate2OOGBerlinFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,107 +27,75 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/RevertDepthCreate2OOGBerlinFiller.json", # noqa: E501 - ], + ["state_tests/stCreate2/RevertDepthCreate2OOGBerlinFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, - 1, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, + pytest.param( + 0, 0, - {}, + 0, + id="d0-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 170000, + pytest.param( + 0, + 0, 1, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 4: 12} - ) - }, + id="d0-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 170000, + pytest.param( 0, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 4: 12} - ) - }, + 1, + 0, + id="d0-g1-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 0, 1, - {}, + 1, + id="d0-g1-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 1, + 0, 0, - {}, + id="d1-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 170000, + pytest.param( 1, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 4: 12} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={2: 8, 3: 12} - ), - }, + 0, + 1, + id="d1-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 170000, + pytest.param( + 1, + 1, 0, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 4: 12} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={2: 8, 3: 12} - ), - }, + id="d1-g1-v0", + ), + pytest.param( + 1, + 1, + 1, + id="d1-g1-v1", ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", ], ) @pytest.mark.pre_alloc_mutable def test_revert_depth_create2_oog_berlin( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_depth_create2_oog_berlin.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA000000000000000000000000000000000000000) + contract_1 = Address(0xB000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -136,54 +109,92 @@ def test_revert_depth_create2_oog_berlin( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]] 1 [[1]] (CALL (CALLDATALOAD 0) 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[4]] 12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0xB000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x4, value=0xC) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0xB000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x4, value=0xC) + + Op.STOP, balance=5, nonce=54, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[2]] 8 (CREATE2 0 0 0 0) [[3]] 12} - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x8) - + Op.POP(Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0)) - + Op.SSTORE(key=0x3, value=0xC) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x8) + + Op.POP(Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0)) + + Op.SSTORE(key=0x3, value=0xC) + + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x05A28FC366483258507BCF739658573CB47E4FAD): Account( + nonce=1 + ), + contract_0: Account(storage={0: 1, 1: 1, 4: 12}), + contract_1: Account(storage={2: 8, 3: 12}), + }, + }, + { + "indexes": {"data": 0, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address( + 0x05A28FC366483258507BCF739658573CB47E4FAD + ): Account.NONEXISTENT, + contract_0: Account(storage={0: 1, 4: 12}), + contract_1: Account(storage={}), + }, + }, + { + "indexes": {"data": [0, 1], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address( + 0x05A28FC366483258507BCF739658573CB47E4FAD + ): Account.NONEXISTENT, + contract_0: Account(storage={}), + contract_1: Account(storage={}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0xEA60), + Hash(0x1EA60), + ] + tx_gas = [110000, 170000] + tx_value = [1, 0] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_revert_depth_create_address_collision.py b/tests/ported_static/stCreate2/test_revert_depth_create_address_collision.py index 62e9884677f..3f58cf63110 100644 --- a/tests/ported_static/stCreate2/test_revert_depth_create_address_collision.py +++ b/tests/ported_static/stCreate2/test_revert_depth_create_address_collision.py @@ -1,8 +1,8 @@ """ -copy of this test for CREATE2. +Copy of this test for CREATE2. Ported from: -tests/static/state_tests/stCreate2/RevertDepthCreateAddressCollisionFiller.json +state_tests/stCreate2/RevertDepthCreateAddressCollisionFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,107 +27,75 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/RevertDepthCreateAddressCollisionFiller.json", # noqa: E501 - ], + ["state_tests/stCreate2/RevertDepthCreateAddressCollisionFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, - 1, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, + pytest.param( + 0, 0, - {}, + 0, + id="d0-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 170000, + pytest.param( + 0, + 0, 1, - { - Address("0x3e180b1862f9d158abb5e519a6d8605540c23682"): Account( - storage={0: 1, 4: 12} - ) - }, + id="d0-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 170000, + pytest.param( 0, - { - Address("0x3e180b1862f9d158abb5e519a6d8605540c23682"): Account( - storage={0: 1, 4: 12} - ) - }, + 1, + 0, + id="d0-g1-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 0, + 1, 1, - {}, + id="d0-g1-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 1, + 0, 0, - {}, + id="d1-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 170000, + pytest.param( 1, - { - Address("0x3e180b1862f9d158abb5e519a6d8605540c23682"): Account( - storage={0: 1, 1: 1, 4: 12} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={2: 8, 3: 12} - ), - }, + 0, + 1, + id="d1-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 170000, + pytest.param( + 1, + 1, 0, - { - Address("0x3e180b1862f9d158abb5e519a6d8605540c23682"): Account( - storage={0: 1, 1: 1, 4: 12} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={2: 8, 3: 12} - ), - }, + id="d1-g1-v0", + ), + pytest.param( + 1, + 1, + 1, + id="d1-g1-v1", ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", ], ) @pytest.mark.pre_alloc_mutable def test_revert_depth_create_address_collision( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Copy of this test for CREATE2.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x3E180B1862F9D158ABB5E519A6D8605540C23682) + contract_1 = Address(0xB000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -136,54 +109,104 @@ def test_revert_depth_create_address_collision( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]] 1 [[1]] (CALL (CALLDATALOAD 0) 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[4]] 12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0xB000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x4, value=0xC) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0xB000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x4, value=0xC) + + Op.STOP, balance=5, nonce=54, - address=Address("0x3e180b1862f9d158abb5e519a6d8605540c23682"), # noqa: E501 + address=Address(0x3E180B1862F9D158ABB5E519A6D8605540C23682), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[2]] 8 (CREATE2 0 0 0 0) [[3]] 12} - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x8) - + Op.POP(Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0)) - + Op.SSTORE(key=0x3, value=0xC) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x8) + + Op.POP(Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0)) + + Op.SSTORE(key=0x3, value=0xC) + + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={0: 1, 1: 1, 4: 12}, nonce=54), + contract_1: Account(storage={2: 8, 3: 12}), + }, + }, + { + "indexes": {"data": 0, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={0: 1, 4: 12}, nonce=54), + contract_1: Account(storage={}), + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={}, + code=bytes.fromhex( + "60016000556000600060006000600073b000000000000000000000000000000000000000600035f1600155600c60045500" # noqa: E501 + ), + balance=5, + nonce=54, + ), + contract_1: Account(storage={}), + }, + }, + { + "indexes": {"data": 0, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={}, + code=bytes.fromhex( + "60016000556000600060006000600073b000000000000000000000000000000000000000600035f1600155600c60045500" # noqa: E501 + ), + nonce=54, + ), + contract_1: Account(storage={}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0xEA60), + Hash(0x1EA60), + ] + tx_gas = [110000, 170000] + tx_value = [1, 0] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_revert_depth_create_address_collision_berlin.py b/tests/ported_static/stCreate2/test_revert_depth_create_address_collision_berlin.py index 622c238f002..1ab423c2600 100644 --- a/tests/ported_static/stCreate2/test_revert_depth_create_address_collision_berlin.py +++ b/tests/ported_static/stCreate2/test_revert_depth_create_address_collision_berlin.py @@ -1,9 +1,8 @@ """ -copy of this test for CREATE2. +Copy of this test for CREATE2. Ported from: -tests/static/state_tests/stCreate2 -RevertDepthCreateAddressCollisionBerlinFiller.json +state_tests/stCreate2/RevertDepthCreateAddressCollisionBerlinFiller.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,106 +28,76 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreate2/RevertDepthCreateAddressCollisionBerlinFiller.json", # noqa: E501 + "state_tests/stCreate2/RevertDepthCreateAddressCollisionBerlinFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, - 1, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, + pytest.param( 0, - {}, + 0, + 0, + id="d0-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 170000, + pytest.param( + 0, + 0, 1, - { - Address("0x3e180b1862f9d158abb5e519a6d8605540c23682"): Account( - storage={0: 1, 4: 12} - ) - }, + id="d0-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 170000, + pytest.param( 0, - { - Address("0x3e180b1862f9d158abb5e519a6d8605540c23682"): Account( - storage={0: 1, 4: 12} - ) - }, + 1, + 0, + id="d0-g1-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 0, + 1, 1, - {}, + id="d0-g1-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 1, 0, - {}, + 0, + id="d1-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 170000, + pytest.param( 1, - { - Address("0x3e180b1862f9d158abb5e519a6d8605540c23682"): Account( - storage={0: 1, 1: 1, 4: 12} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={2: 8, 3: 12} - ), - }, + 0, + 1, + id="d1-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 170000, + pytest.param( + 1, + 1, 0, - { - Address("0x3e180b1862f9d158abb5e519a6d8605540c23682"): Account( - storage={0: 1, 1: 1, 4: 12} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={2: 8, 3: 12} - ), - }, + id="d1-g1-v0", + ), + pytest.param( + 1, + 1, + 1, + id="d1-g1-v1", ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", ], ) @pytest.mark.pre_alloc_mutable def test_revert_depth_create_address_collision_berlin( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Copy of this test for CREATE2.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x3E180B1862F9D158ABB5E519A6D8605540C23682) + contract_1 = Address(0xB000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -137,54 +111,104 @@ def test_revert_depth_create_address_collision_berlin( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]] 1 [[1]] (CALL (CALLDATALOAD 0) 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[4]] 12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0xB000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x4, value=0xC) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0xB000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x4, value=0xC) + + Op.STOP, balance=5, nonce=54, - address=Address("0x3e180b1862f9d158abb5e519a6d8605540c23682"), # noqa: E501 + address=Address(0x3E180B1862F9D158ABB5E519A6D8605540C23682), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[2]] 8 (CREATE2 0 0 0 0) [[3]] 12} - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x8) - + Op.POP(Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0)) - + Op.SSTORE(key=0x3, value=0xC) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x8) + + Op.POP(Op.CREATE2(value=0x0, offset=0x0, size=0x0, salt=0x0)) + + Op.SSTORE(key=0x3, value=0xC) + + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={0: 1, 1: 1, 4: 12}, nonce=54), + contract_1: Account(storage={2: 8, 3: 12}), + }, + }, + { + "indexes": {"data": 0, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={0: 1, 4: 12}, nonce=54), + contract_1: Account(storage={}), + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={}, + code=bytes.fromhex( + "60016000556000600060006000600073b000000000000000000000000000000000000000600035f1600155600c60045500" # noqa: E501 + ), + balance=5, + nonce=54, + ), + contract_1: Account(storage={}), + }, + }, + { + "indexes": {"data": 0, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={}, + code=bytes.fromhex( + "60016000556000600060006000600073b000000000000000000000000000000000000000600035f1600155600c60045500" # noqa: E501 + ), + nonce=54, + ), + contract_1: Account(storage={}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0xEA60), + Hash(0x1EA60), + ] + tx_gas = [110000, 170000] + tx_value = [1, 0] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_revert_opcode_create.py b/tests/ported_static/stCreate2/test_revert_opcode_create.py index 1f6204fab29..8aa0d0e884f 100644 --- a/tests/ported_static/stCreate2/test_revert_opcode_create.py +++ b/tests/ported_static/stCreate2/test_revert_opcode_create.py @@ -2,7 +2,7 @@ RevertOpcodeCreate for CREATE2. Ported from: -tests/static/state_tests/stCreate2/RevertOpcodeCreateFiller.json +state_tests/stCreate2/RevertOpcodeCreateFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,33 +27,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreate2/RevertOpcodeCreateFiller.json"], + ["state_tests/stCreate2/RevertOpcodeCreateFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 460000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 12} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), - (70000, {}), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_revert_opcode_create( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """RevertOpcodeCreate for CREATE2.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -63,30 +73,47 @@ def test_revert_opcode_create( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x600160005560016000fd6011600155 ) [[1]](CREATE2 1 17 15 0) [[0]] 12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x600160005560016000FD6011600155) - + Op.SSTORE( - key=0x1, - value=Op.CREATE2(value=0x1, offset=0x11, size=0xF, salt=0x0), - ) - + Op.SSTORE(key=0x0, value=0xC) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x600160005560016000FD6011600155) + + Op.SSTORE( + key=0x1, + value=Op.CREATE2(value=0x1, offset=0x11, size=0xF, salt=0x0), + ) + + Op.SSTORE(key=0x0, value=0xC) + + Op.STOP, balance=1, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 12, 1: 0}, nonce=1)}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(nonce=0)}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("600160005560016000fe6011600155"), + ] + tx_gas = [460000, 70000] + tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("600160005560016000fe6011600155"), - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreate2/test_revert_opcode_in_create_returns_create2.py b/tests/ported_static/stCreate2/test_revert_opcode_in_create_returns_create2.py index d6be8adb0b7..80922bb0655 100644 --- a/tests/ported_static/stCreate2/test_revert_opcode_in_create_returns_create2.py +++ b/tests/ported_static/stCreate2/test_revert_opcode_in_create_returns_create2.py @@ -2,8 +2,7 @@ RevertOpcodeInCreateReturns for CREATE2. Ported from: -tests/static/state_tests/stCreate2 -RevertOpcodeInCreateReturnsCreate2Filler.json +state_tests/stCreate2/RevertOpcodeInCreateReturnsCreate2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreate2/RevertOpcodeInCreateReturnsCreate2Filler.json", # noqa: E501 - ], + ["state_tests/stCreate2/RevertOpcodeInCreateReturnsCreate2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,8 @@ def test_revert_opcode_in_create_returns_create2( pre: Alloc, ) -> None: """RevertOpcodeInCreateReturns for CREATE2.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,39 +47,33 @@ def test_revert_opcode_in_create_returns_create2( gas_limit=47244640256, ) - # Source: LLL + # Source: lll # { (seq (CREATE2 0 0 (lll (seq (mstore 0 0x112233) (revert 0 32) (STOP)) 0) 0) (SSTORE 0 (RETURNDATASIZE)) (STOP) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0xE] - + Op.CODECOPY(dest_offset=0x0, offset=0x17, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE2) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=0x112233) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0xE] + + Op.CODECOPY(dest_offset=0x0, offset=0x17, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 32}), - } + post = {contract_0: Account(storage={0: 32})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/__init__.py b/tests/ported_static/stCreateTest/__init__.py index f3412d981b2..eefc6b97c6d 100644 --- a/tests/ported_static/stCreateTest/__init__.py +++ b/tests/ported_static/stCreateTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stCreateTest.""" +"""Ported static tests: stCreateTest.""" # noqa: N999 diff --git a/tests/ported_static/stCreateTest/test_code_in_constructor.py b/tests/ported_static/stCreateTest/test_code_in_constructor.py index 9a227ea88ad..0afb00eae1c 100644 --- a/tests/ported_static/stCreateTest/test_code_in_constructor.py +++ b/tests/ported_static/stCreateTest/test_code_in_constructor.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stCreateTest/CodeInConstructorFiller.yml +state_tests/stCreateTest/CodeInConstructorFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,54 +28,39 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreateTest/CodeInConstructorFiller.yml"], + ["state_tests/stCreateTest/CodeInConstructorFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "83c7d7580000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000000da7a"): Account( - storage={ - 0: 8, - 1: 10, - 2: 0x8AF6A7AF30D840BA137E8F3F34D54CFB8BEBA6E2, - 3: 262, - 5: 0x610100610100610100395861026052600060006020610260600061DA7A62FFFF, # noqa: E501 - 7: 184, - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "83c7d7580000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000000da7a"): Account( - storage={ - 0: 8, - 1: 10, - 2: 0x33C409678A4289F0184C95C627BA09DA2DAEAA46, - 3: 262, - 5: 0x610100610100610100395861026052600060006020610260600061DA7A62FFFF, # noqa: E501 - 7: 184, - } - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_code_in_constructor( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0xba5e0000ba5e0000ba5e0000ba5e0000ba5e0000") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0xBA5E0000BA5E0000BA5E0000BA5E0000BA5E0000) + contract_0 = Address(0x000000000000000000000000000000000000DA7A) + contract_1 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -83,26 +74,25 @@ def test_code_in_constructor( gas_limit=4294967296, ) - # Source: LLL + # Source: lll # { # (def 'counterLoc 0) # (def 'counterVal @@counterLoc) # [[counterVal]] $0 # [[counterLoc]] (+ counterVal 1) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=Op.SLOAD(key=0x0), value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.STOP - ), - storage={0x0: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.SLOAD(key=0x0), value=Op.CALLDATALOAD(offset=0x0) + ) + + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.STOP, + storage={0: 1}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000000da7a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000DA7A), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL + # Source: lll # { # ; Variables are 0x20 bytes (= 256 bits) apart, except for # ; code buffers that get 0x100 (256 bytes) @@ -134,150 +124,184 @@ def test_code_in_constructor( # ) # [constructorLength] # ... (36 more lines) - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x6] - + Op.CODECOPY( - dest_offset=0x100, offset=Op.PUSH2[0x4C], size=Op.DUP1 - ) - + Op.PUSH2[0x200] - + Op.MSTORE - + Op.PUSH1[0xDB] - + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0x52], size=Op.DUP1) - + Op.PUSH2[0x220] - + Op.MSTORE - + Op.JUMPI( - pc=0x37, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1) - ) - + Op.CREATE2( + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x6] + + Op.CODECOPY(dest_offset=0x100, offset=Op.PUSH2[0x4C], size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.MSTORE + + Op.PUSH1[0xDB] + + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0x52], size=Op.DUP1) + + Op.PUSH2[0x220] + + Op.MSTORE + + Op.JUMPI(pc=0x37, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1)) + + Op.CREATE2( + value=0x0, + offset=0x0, + size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), + salt=0x5A17, + ) + + Op.JUMP(pc=0x45) + + Op.JUMPDEST + + Op.CREATE( + value=0x0, offset=0x0, size=Op.ADD(0x100, Op.MLOAD(offset=0x200)) + ) + + Op.JUMPDEST + + Op.PUSH2[0x240] + + Op.MSTORE + + Op.STOP + + Op.INVALID + + Op.SSTORE(key=0x0, value=0xFF) + + Op.STOP + + Op.CODECOPY(dest_offset=0x100, offset=0x100, size=0x100) + + Op.MSTORE(offset=0x260, value=Op.PC) + + Op.POP( + Op.CALL( + gas=0xFFFFFF, + address=0xDA7A, value=0x0, - offset=0x0, - size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), - salt=0x5A17, + args_offset=0x260, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMP(pc=0x45) - + Op.JUMPDEST - + Op.CREATE( + ) + + Op.MSTORE(offset=0x260, value=Op.ADDRESS) + + Op.POP( + Op.CALL( + gas=0xFFFFFF, + address=0xDA7A, value=0x0, - offset=0x0, - size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), - ) - + Op.JUMPDEST - + Op.PUSH2[0x240] - + Op.MSTORE - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=0xFF) - + Op.STOP - + Op.CODECOPY(dest_offset=0x100, offset=0x100, size=0x100) - + Op.MSTORE(offset=0x260, value=Op.PC) - + Op.POP( - Op.CALL( - gas=0xFFFFFF, - address=0xDA7A, - value=0x0, - args_offset=0x260, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + args_offset=0x260, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x260, value=Op.ADDRESS) - + Op.POP( - Op.CALL( - gas=0xFFFFFF, - address=0xDA7A, - value=0x0, - args_offset=0x260, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x260, value=Op.CODESIZE) - + Op.POP( - Op.CALL( - gas=0xFFFFFF, - address=0xDA7A, - value=0x0, - args_offset=0x260, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x260, value=Op.EXTCODESIZE(address=Op.ADDRESS)) - + Op.POP( - Op.CALL( - gas=0xFFFFFF, - address=0xDA7A, - value=0x0, - args_offset=0x260, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x260, value=Op.CODESIZE) + + Op.POP( + Op.CALL( + gas=0xFFFFFF, + address=0xDA7A, + value=0x0, + args_offset=0x260, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.CODECOPY(dest_offset=0x100, offset=0x0, size=0x20) - + Op.MSTORE(offset=0x260, value=Op.MLOAD(offset=0x100)) - + Op.POP( - Op.CALL( - gas=0xFFFFFF, - address=0xDA7A, - value=0x0, - args_offset=0x260, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x260, value=Op.EXTCODESIZE(address=Op.ADDRESS)) + + Op.POP( + Op.CALL( + gas=0xFFFFFF, + address=0xDA7A, + value=0x0, + args_offset=0x260, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.EXTCODECOPY( - address=Op.ADDRESS, - dest_offset=0x100, - offset=0x0, - size=0x20, + ) + + Op.CODECOPY(dest_offset=0x100, offset=0x0, size=0x20) + + Op.MSTORE(offset=0x260, value=Op.MLOAD(offset=0x100)) + + Op.POP( + Op.CALL( + gas=0xFFFFFF, + address=0xDA7A, + value=0x0, + args_offset=0x260, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x260, value=Op.MLOAD(offset=0x100)) - + Op.POP( - Op.CALL( - gas=0xFFFFFF, - address=0xDA7A, - value=0x0, - args_offset=0x260, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.EXTCODECOPY( + address=Op.ADDRESS, dest_offset=0x100, offset=0x0, size=0x20 + ) + + Op.MSTORE(offset=0x260, value=Op.MLOAD(offset=0x100)) + + Op.POP( + Op.CALL( + gas=0xFFFFFF, + address=0xDA7A, + value=0x0, + args_offset=0x260, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x260, value=Op.PC) - + Op.POP( - Op.CALL( - gas=0xFFFFFF, - address=0xDA7A, - value=0x0, - args_offset=0x260, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x260, value=Op.PC) + + Op.POP( + Op.CALL( + gas=0xFFFFFF, + address=0xDA7A, + value=0x0, + args_offset=0x260, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURN(offset=0x100, size=Op.SUB(Op.CODESIZE, 0x100)) - + Op.STOP - ), + ) + + Op.RETURN(offset=0x100, size=Op.SUB(Op.CODESIZE, 0x100)) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={ + 0: 8, + 1: 10, + 2: 0x8AF6A7AF30D840BA137E8F3F34D54CFB8BEBA6E2, + 3: 262, + 4: 0, + 5: 0x610100610100610100395861026052600060006020610260600061DA7A62FFFF, # noqa: E501 + 6: 0, + 7: 184, + }, + ), + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={ + 0: 8, + 1: 10, + 2: 0x33C409678A4289F0184C95C627BA09DA2DAEAA46, + 3: 262, + 4: 0, + 5: 0x610100610100610100395861026052600060006020610260600061DA7A62FFFF, # noqa: E501 + 6: 0, + 7: 184, + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("83c7d758") + Hash(0x1), + Bytes("83c7d758") + Hash(0x2), + ] + tx_gas = [9437184] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=9437184, + to=contract_1, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create2_call_data.py b/tests/ported_static/stCreateTest/test_create2_call_data.py index 97081cb5887..3bc1b02f2ad 100644 --- a/tests/ported_static/stCreateTest/test_create2_call_data.py +++ b/tests/ported_static/stCreateTest/test_create2_call_data.py @@ -1,8 +1,9 @@ """ Test if calldata is empty in initcode context. + Ported from: -tests/static/state_tests/stCreateTest/CREATE2_CallDataFiller.yml +state_tests/stCreateTest/CREATE2_CallDataFiller.yml """ import pytest @@ -11,6 +12,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreateTest/CREATE2_CallDataFiller.yml"], + ["state_tests/stCreateTest/CREATE2_CallDataFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,13 +33,13 @@ def test_create2_call_data( pre: Alloc, ) -> None: """Test if calldata is empty in initcode context.""" - coinbase = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") + contract_0 = Address(0x000000000000000000000000000000000C5EA705) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) env = Environment( - fee_recipient=coinbase, + fee_recipient=sender, number=1, timestamp=1000, prev_randao=0x20000, @@ -45,8 +47,9 @@ def test_create2_call_data( gas_limit=1000000, ) - # Source: Yul - # { + pre[sender] = Account(balance=0x5AF3107A4000) + # Source: yul + # berlin object "C" { # code { # let s := datasize("initcode") # let o := dataoffset("initcode") @@ -64,35 +67,38 @@ def test_create2_call_data( # } # } # } - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x10] - + Op.CODECOPY(dest_offset=Op.DUP4, offset=0x11, size=Op.DUP1) - + Op.DUP2 - + Op.DUP1 - + Op.SSTORE(key=0x0, value=Op.CREATE2) - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.CALLDATACOPY(dest_offset=Op.DUP1, offset=0x0, size=0x40) - + Op.RETURN(offset=0x0, size=Op.MSIZE) - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=Op.DUP4, offset=0x11, size=Op.DUP1) + + Op.DUP2 + + Op.DUP1 + + Op.SSTORE(key=0x0, value=Op.CREATE2) + + Op.STOP + + Op.INVALID + + Op.SSTORE(key=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.CALLDATACOPY(dest_offset=Op.DUP1, offset=0x0, size=0x40) + + Op.RETURN(offset=0x0, size=Op.MSIZE), nonce=0, - address=Address("0x000000000000000000000000000000000c5ea705"), # noqa: E501 + address=Address(0x000000000000000000000000000000000C5EA705), # noqa: E501 ) - pre[sender] = Account(balance=0x5AF3107A4000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account( + contract_0: Account( storage={0: 0x7F8330AD7BC2AFE0DFFB2FDC76BBAD8BC326296A}, ), + Address(0x7F8330AD7BC2AFE0DFFB2FDC76BBAD8BC326296A): Account( + code=bytes.fromhex( + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create2_refund_ef.py b/tests/ported_static/stCreateTest/test_create2_refund_ef.py index 05f4dea1686..e164c202495 100644 --- a/tests/ported_static/stCreateTest/test_create2_refund_ef.py +++ b/tests/ported_static/stCreateTest/test_create2_refund_ef.py @@ -1,8 +1,9 @@ """ Test combination of gas refund and EF-prefixed CREATE2 failure. + Ported from: -tests/static/state_tests/stCreateTest/CREATE2_RefundEFFiller.yml +state_tests/stCreateTest/CREATE2_RefundEFFiller.yml """ import pytest @@ -11,6 +12,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreateTest/CREATE2_RefundEFFiller.yml"], + ["state_tests/stCreateTest/CREATE2_RefundEFFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,13 +33,14 @@ def test_create2_refund_ef( pre: Alloc, ) -> None: """Test combination of gas refund and EF-prefixed CREATE2 failure.""" - coinbase = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") + contract_0 = Address(0x00000000000000000000000000000000005EF94D) + contract_1 = Address(0x000000000000000000000000000000000C5EA705) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) env = Environment( - fee_recipient=coinbase, + fee_recipient=sender, number=1, timestamp=1000, prev_randao=0x20000, @@ -45,18 +48,19 @@ def test_create2_refund_ef( gas_limit=1000000, ) - # Source: Yul - # { + pre[sender] = Account(balance=0x5AF3107A4000) + # Source: yul + # london { # sstore(0,0) # } - callee = pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=Op.DUP1, value=0x0) + Op.STOP, - storage={0x0: 0x1}, + storage={0: 1}, nonce=0, - address=Address("0x00000000000000000000000000000000005ef94d"), # noqa: E501 + address=Address(0x00000000000000000000000000000000005EF94D), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # london object "C" { # code { # let s := datasize("initcode") # let o := dataoffset("initcode") @@ -76,43 +80,44 @@ def test_create2_refund_ef( # } # } # } - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x19] - + Op.CODECOPY(dest_offset=Op.DUP4, offset=0x11, size=Op.DUP1) - + Op.DUP2 - + Op.DUP1 - + Op.SSTORE(key=0x0, value=Op.CREATE2) - + Op.STOP - + Op.INVALID - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x5EF94D, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH1[0x19] + + Op.CODECOPY(dest_offset=Op.DUP4, offset=0x11, size=Op.DUP1) + + Op.DUP2 + + Op.DUP1 + + Op.SSTORE(key=0x0, value=Op.CREATE2) + + Op.STOP + + Op.INVALID + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x5EF94D, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.MSTORE8(offset=0x0, value=0xEF) - + Op.RETURN(offset=0x0, size=0x1) - ), + ) + + Op.MSTORE8(offset=0x0, value=0xEF) + + Op.RETURN(offset=0x0, size=0x1), nonce=0, - address=Address("0x000000000000000000000000000000000c5ea705"), # noqa: E501 + address=Address(0x000000000000000000000000000000000C5EA705), # noqa: E501 ) - pre[sender] = Account(balance=0x5AF3107A4000) tx = Transaction( sender=sender, - to=contract, + to=contract_1, + data=Bytes(""), gas_limit=100000, ) post = { - callee: Account(storage={0: 1}), + contract_0: Account(storage={0: 1}), + Address( + 0xBE8F87148D0767989CCE2E6A6A5D91C7D0C840E0 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_address_warm_after_fail.py b/tests/ported_static/stCreateTest/test_create_address_warm_after_fail.py index 9d9fed6b0cc..f37fd4efd34 100644 --- a/tests/ported_static/stCreateTest/test_create_address_warm_after_fail.py +++ b/tests/ported_static/stCreateTest/test_create_address_warm_after_fail.py @@ -8,7 +8,7 @@ Written primarily by Paweł Bylica (@chfast). Somewhat modified by Ori (@qbzzt) Ported from: -tests/static/state_tests/stCreateTest/CreateAddressWarmAfterFailFiller.yml +state_tests/stCreateTest/CreateAddressWarmAfterFailFiller.yml """ import pytest @@ -17,9 +17,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -28,312 +35,459 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CreateAddressWarmAfterFailFiller.yml", # noqa: E501 - ], + ["state_tests/stCreateTest/CreateAddressWarmAfterFailFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_value, expected_post", + "d, g, v", [ - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 + pytest.param( 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 328, - 13: 316, - 14: 2828, - 15: 316, - } - ) - }, + 0, + 0, + id="create-contructor-revert-v0", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 + pytest.param( + 0, + 0, 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 32028, - 13: 7016, - 14: 34528, - 15: 7016, - } - ) - }, + id="create-contructor-revert-v1", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 + pytest.param( + 1, 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 328, - 13: 316, - 14: 2828, - 15: 316, - } - ) - }, + 0, + id="create2-contructor-revert-v0", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 + pytest.param( 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 32028, - 13: 7016, - 14: 34528, - 15: 7016, - } - ) - }, + 0, + 1, + id="create2-contructor-revert-v1", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 + pytest.param( + 2, 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 328, - 13: 316, - 14: 2828, - 15: 316, - } - ) - }, + 0, + id="create-code-too-big-v0", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 + pytest.param( + 2, + 0, 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 32028, - 13: 7016, - 14: 34528, - 15: 7016, - } - ) - }, + id="create-code-too-big-v1", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 + pytest.param( + 3, 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 0: 1, - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 2828, - 13: 316, - 14: 2828, - 15: 316, - } - ) - }, + 0, + id="create2-code-too-big-v0", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 + pytest.param( + 3, + 0, 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 0: 1, - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 34528, - 13: 7016, - 14: 34528, - 15: 7016, - } - ) - }, + id="create2-code-too-big-v1", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 + pytest.param( + 4, 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 328, - 13: 316, - 14: 2828, - 15: 316, - } - ) - }, + 0, + id="create-invalid-opcode-v0", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 + pytest.param( + 4, + 0, 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 32028, - 13: 7016, - 14: 34528, - 15: 7016, - } - ) - }, + id="create-invalid-opcode-v1", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 + pytest.param( + 5, 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 0: 0xD4E7AE083132925A4927C1F5816238BA17B82A65, - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 328, - 13: 316, - 14: 2828, - 15: 316, - } - ) - }, + 0, + id="create2-invalid-opcode-v0", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 + pytest.param( + 5, + 0, 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( - storage={ - 0: 0xD4E7AE083132925A4927C1F5816238BA17B82A65, - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 12: 7028, - 13: 7016, - 14: 34528, - 15: 7016, - } - ) - }, + id="create2-invalid-opcode-v1", + ), + pytest.param( + 6, + 0, + 0, + id="create-oog-constructor-v0", + ), + pytest.param( + 6, + 0, + 1, + id="create-oog-constructor-v1", + ), + pytest.param( + 7, + 0, + 0, + id="create-oog-post-constr-v0", + ), + pytest.param( + 7, + 0, + 1, + id="create-oog-post-constr-v1", ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 + pytest.param( + 8, + 0, + 0, + id="create2-oog-constructor-v0", + ), + pytest.param( + 8, + 0, + 1, + id="create2-oog-constructor-v1", + ), + pytest.param( + 9, + 0, + 0, + id="create2-oog-post-constr-v0", + ), + pytest.param( + 9, + 0, + 1, + id="create2-oog-post-constr-v1", + ), + pytest.param( + 10, + 0, + 0, + id="create-high-nonce-v0", + ), + pytest.param( + 10, + 0, + 1, + id="create-high-nonce-v1", + ), + pytest.param( + 11, + 0, + 0, + id="create-0xef-v0", + ), + pytest.param( + 11, + 0, + 1, + id="create-0xef-v1", + ), + pytest.param( + 12, + 0, + 0, + id="create2-0xef-v0", + ), + pytest.param( + 12, + 0, + 1, + id="create2-0xef-v1", + ), + pytest.param( + 13, + 0, 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + id="create-ok-v0", + ), + pytest.param( + 13, + 0, + 1, + id="create-ok-v1", + ), + pytest.param( + 14, + 0, + 0, + id="create2-ok-v0", + ), + pytest.param( + 14, + 0, + 1, + id="create2-ok-v1", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_create_address_warm_after_fail( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """ + Invokes failing CREATE (because initcode fails) and checks + if the... + """ + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x00000000000000000000000000000000000C0DEC) + contract_1 = Address(0x00000000000000000000000000000000C0DE1006) + contract_2 = Address(0x00000000000000000000000000000020C0DE1006) + contract_3 = Address(0x00000000000000000000000000000000C0DEFFFF) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=999, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=3000000000, + ) + + pre[sender] = Account(balance=0xE8D4A51001) + # Source: yul + # london + # object "C" { + # code { + # let failType := calldataload(4) + # let initcode_size + # + # // The return values of various actions. Done twice to see if there is a difference # noqa: E501 + # let create_1 := 0 + # let call_created_1 := 2 + # let call_created_2 := 3 + # let call_empty_1 := 4 + # let call_empty_2 := 5 + # + # // The costs of those operations + # let create_1_cost := 10 + # let call_created_1_cost := 12 + # let call_created_2_cost := 13 + # let call_empty_1_cost := 14 + # let call_empty_2_cost := 15 + # + # // Make the storage cells we use here are warm + # sstore(create_1, 0xdead60A7) + # sstore(call_created_1, 0xdead60A7) + # sstore(call_created_2, 0xdead60A7) + # sstore(call_empty_1, 0xdead60A7) + # sstore(call_empty_2, 0xdead60A7) + # sstore(call_created_1_cost, 0xdead60A7) + # sstore(call_created_2_cost, 0xdead60A7) + # sstore(call_empty_1_cost, 0xdead60A7) + # sstore(call_empty_2_cost, 0xdead60A7) + # ... (173 more lines) + contract_0 = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "6004356000906002600390600493600593600c90600d96600e90600f9863dead60a7865563dead60a7875563dead60a7885563dead60a7825563dead60a7895563dead60a7855563dead60a7815563dead60a7835563dead60a78a5573d4e7ae083132925a4927c1f5816238ba17b82a00938060001461044c5780600a1461040e57806001146103dc5780600b146103a357806002146103715780600c1461033257806003146102f757806004146102bb578060051461027f5780600d146102435780600e1461020657806006146101d4578060101461019b5780600714610169576011146100ed57600080fd5b60009788808080809b9a819b9a829b73f7fef4b66b1570a057d7d5cec5c58846befa5b5c92615a1760058061049488398680f590555b5a825583808080348782f190555a81540390555a8755349082f190555a81540390555a825583808080348782f190555a81540390555a8755349082f190555a8154039055005b5060009788808080809b9a819b9a829b6000805160206104998339815191529260058061049487398580f09055610123565b5060009788808080809b9a819b9a829b73562d97e3e4d6d3c6e791ea64bb73d820871aa2199284600a8061048a83398180f59055610123565b5060009788808080809b9a819b9a829b60008051602061049983398151915292600a8061048a87398580f09055610123565b5060009788808080809b9a819b9a829b73d70df326038a3c7ca8fac785a99162bfe75ccc469284808080806420c0de100662010000f19055610123565b5060009788808080809b9a819b9a829b73d70df326038a3c7ca8fac785a99162bfe75ccc469284808080806420c0de1006617000f19055610123565b5060009788808080809b9a819b9a829b73b2050fc27ab6d6d42dc0ce6f7c0bf9481a4c3fc392848080808063c0deffff62010000f19055610123565b5060009788808080809b9a819b9a829b73a5a6a95fd9554f15ab6986a57519092be209512592848080808063c0de100662010000f19055610123565b5060009788808080809b9a819b9a829b73a5a6a95fd9554f15ab6986a57519092be209512592848080808063c0de1006617000f19055610123565b5060009788808080809b9a819b9a829b73a13d43586820e5d97a3fd1960625d537c86dc4e79284600665fe60106000f360d01b82528180f59055610123565b5060009788808080809b9a819b9a829b6000805160206104998339815191529260018061048987398580f09055610123565b5060009788808080809b9a819b9a829b73014001fdbede82315f4b8c2a7d45e980a8a4a12e928460068061048383398180f59055610123565b5060009788808080809b9a819b9a829b6000805160206104998339815191529260068061048387398580f09055610123565b5060009788808080809b9a819b9a829b7343255ee039968e0254887fc8c7172736983d878c928460056460006000fd60d81b82528180f59055610123565b5060009788808080809b9a819b9a829b6000805160206104998339815191529260048061047f87398580f0905561012356fe600080fd6160016000f3fe60ef60005360106000f360016000f3000000000000000000000000d4e7ae083132925a4927c1f5816238ba17b82a65" # noqa: E501 + ), + balance=4096, + nonce=0, + address=Address(0x00000000000000000000000000000000000C0DEC), # noqa: E501 + ) + # Source: yul + # berlin + # object "C" { + # code { + # datacopy(0, dataoffset("dummy"), datasize("dummy")) + # sstore(0, create(0, 0, datasize("dummy"))) + # stop() + # } + # object "dummy" { + # code { + # return(0,0x6000) + # } + # } + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY(dest_offset=0x0, offset=0x12, size=0x6) + + Op.SSTORE( + key=0x0, value=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x6) + ) + + Op.STOP + + Op.INVALID + + Op.RETURN(offset=0x0, size=0x6000), + balance=4096, + nonce=1, + address=Address(0x00000000000000000000000000000000C0DE1006), # noqa: E501 + ) + # Source: yul + # berlin + # object "C" { + # code { + # datacopy(0, dataoffset("dummy"), datasize("dummy")) + # sstore(0, create2(0, 0, datasize("dummy"), 0)) + # stop() + # } + # object "dummy" { + # code { + # return(0,0x6000) + # } + # } + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY(dest_offset=0x0, offset=0x13, size=0x6) + + Op.SSTORE( + key=0x0, + value=Op.CREATE2( + value=Op.DUP1, offset=Op.DUP2, size=0x6, salt=0x0 + ), + ) + + Op.STOP + + Op.INVALID + + Op.RETURN(offset=0x0, size=0x6000), + balance=4096, + nonce=1, + address=Address(0x00000000000000000000000000000020C0DE1006), # noqa: E501 + ) + # Source: yul + # berlin + # object "C" { + # code { + # datacopy(0, dataoffset("dummy"), datasize("dummy")) + # sstore(0, create(0, 0, datasize("dummy"))) + # stop() + # } + # object "dummy" { + # code { + # return(0,0x20) + # } + # } + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY(dest_offset=0x0, offset=0x12, size=0x5) + + Op.SSTORE( + key=0x0, value=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x5) + ) + + Op.STOP + + Op.INVALID + + Op.RETURN(offset=0x0, size=0x20), + balance=4096, + nonce=18446744073709551615, + address=Address(0x00000000000000000000000000000000C0DEFFFF), # noqa: E501 + ) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 2, 11, 4], "gas": -1, "value": [0]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 2828, + 12: 328, 13: 316, 14: 2828, 15: 316, - } - ) + }, + nonce=1, + ), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, }, - ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [0, 2, 11, 4], "gas": -1, "value": [1]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 34528, + 12: 32028, 13: 7016, 14: 34528, 15: 7016, - } - ) + }, + nonce=1, + ), + compute_create_address(address=contract_0, nonce=0): Account( + code=b"", balance=2, nonce=0 + ), + Address(0xD4E7AE083132925A4927C1F5816238BA17B82A00): Account( + code=b"", balance=2, nonce=0 + ), }, - ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [1], "gas": -1, "value": [0]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 2828, + 12: 328, 13: 316, 14: 2828, 15: 316, - } - ) + }, + nonce=1, + ), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, }, - ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [1], "gas": -1, "value": [1]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 34528, + 12: 32028, 13: 7016, 14: 34528, 15: 7016, - } - ) + }, + nonce=1, + ), + Address(0x43255EE039968E0254887FC8C7172736983D878C): Account( + code=b"", balance=2, nonce=0 + ), + Address(0xD4E7AE083132925A4927C1F5816238BA17B82A00): Account( + code=b"", balance=2, nonce=0 + ), }, - ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [12], "gas": -1, "value": [0]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0, 2: 1, 3: 1, 4: 1, @@ -342,16 +496,22 @@ 13: 316, 14: 2828, 15: 316, - } - ) + }, + nonce=1, + ), + Address( + 0x562D97E3E4D6D3C6E791EA64BB73D820871AA219 + ): Account.NONEXISTENT, }, - ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [12], "gas": -1, "value": [1]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0, 2: 1, 3: 1, 4: 1, @@ -360,16 +520,25 @@ 13: 7016, 14: 34528, 15: 7016, - } - ) + }, + nonce=1, + ), + Address(0x562D97E3E4D6D3C6E791EA64BB73D820871AA219): Account( + code=b"", balance=2, nonce=0 + ), + Address(0xD4E7AE083132925A4927C1F5816238BA17B82A00): Account( + code=b"", balance=2, nonce=0 + ), }, - ), - ( - "52c3fd24000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [3], "gas": -1, "value": [0]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0, 2: 1, 3: 1, 4: 1, @@ -378,16 +547,22 @@ 13: 316, 14: 2828, 15: 316, - } - ) + }, + nonce=1, + ), + Address( + 0x014001FDBEDE82315F4B8C2A7D45E980A8A4A12E + ): Account.NONEXISTENT, }, - ), - ( - "52c3fd24000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [3], "gas": -1, "value": [1]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0, 2: 1, 3: 1, 4: 1, @@ -396,16 +571,25 @@ 13: 7016, 14: 34528, 15: 7016, - } - ) + }, + nonce=1, + ), + Address(0x014001FDBEDE82315F4B8C2A7D45E980A8A4A12E): Account( + code=b"", balance=2, nonce=0 + ), + Address(0xD4E7AE083132925A4927C1F5816238BA17B82A00): Account( + code=b"", balance=2, nonce=0 + ), }, - ), - ( - "52c3fd24000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [5], "gas": -1, "value": [0]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0, 2: 1, 3: 1, 4: 1, @@ -414,16 +598,22 @@ 13: 316, 14: 2828, 15: 316, - } - ) + }, + nonce=1, + ), + Address( + 0xA13D43586820E5D97A3FD1960625D537C86DC4E7 + ): Account.NONEXISTENT, }, - ), - ( - "52c3fd24000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [5], "gas": -1, "value": [1]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0, 2: 1, 3: 1, 4: 1, @@ -432,385 +622,252 @@ 13: 7016, 14: 34528, 15: 7016, - } - ) + }, + nonce=1, + ), + Address(0xA13D43586820E5D97A3FD1960625D537C86DC4E7): Account( + code=b"", balance=2, nonce=0 + ), + Address(0xD4E7AE083132925A4927C1F5816238BA17B82A00): Account( + code=b"", balance=2, nonce=0 + ), }, - ), - ( - "52c3fd24000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [10], "gas": -1, "value": [0]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 1, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 328, + 12: 2828, 13: 316, 14: 2828, 15: 316, - } - ) + }, + nonce=0, + ), + Address( + 0xB2050FC27AB6D6D42DC0CE6F7C0BF9481A4C3FC3 + ): Account.NONEXISTENT, + Address( + 0xD4E7AE083132925A4927C1F5816238BA17B82A00 + ): Account.NONEXISTENT, }, - ), - ( - "52c3fd24000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [10], "gas": -1, "value": [1]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 1, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 32028, + 12: 34528, 13: 7016, 14: 34528, 15: 7016, - } - ) + }, + nonce=0, + ), + Address(0xD4E7AE083132925A4927C1F5816238BA17B82A00): Account( + code=b"", balance=2, nonce=0 + ), + Address(0xB2050FC27AB6D6D42DC0CE6F7C0BF9481A4C3FC3): Account( + code=b"", balance=2, nonce=0 + ), }, - ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000011", # noqa: E501 - 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [8, 9, 6, 7], "gas": -1, "value": [0]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ - 0: 0xF7FEF4B66B1570A057D7D5CEC5C58846BEFA5B5C, + 0: 0, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 328, + 12: 2828, 13: 316, 14: 2828, 15: 316, - } - ) + }, + nonce=0, + ), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, }, - ), - ( - "52c3fd240000000000000000000000000000000000000000000000000000000000000011", # noqa: E501 - 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [8, 9, 6, 7], "gas": -1, "value": [1]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ - 0: 0xF7FEF4B66B1570A057D7D5CEC5C58846BEFA5B5C, + 0: 0, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 7028, + 12: 34528, 13: 7016, 14: 34528, 15: 7016, - } - ) + }, + nonce=0, + ), + Address(0xD4E7AE083132925A4927C1F5816238BA17B82A00): Account( + code=b"", balance=2, nonce=0 + ), }, - ), - ( - "52c3fd24000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [13], "gas": -1, "value": [0]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0xD4E7AE083132925A4927C1F5816238BA17B82A65, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 2828, + 12: 328, 13: 316, 14: 2828, 15: 316, - } - ) + }, + nonce=1, + ), + compute_create_address(address=contract_0, nonce=0): Account( + code=bytes.fromhex("00") + ), }, - ), - ( - "52c3fd24000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [13], "gas": -1, "value": [1]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0xD4E7AE083132925A4927C1F5816238BA17B82A65, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 34528, + 12: 7028, 13: 7016, 14: 34528, 15: 7016, - } - ) + }, + nonce=1, + ), + compute_create_address(address=contract_0, nonce=0): Account( + code=bytes.fromhex("00"), balance=2, nonce=1 + ), + Address(0xD4E7AE083132925A4927C1F5816238BA17B82A00): Account( + code=b"", balance=2, nonce=0 + ), }, - ), - ( - "52c3fd24000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - 0, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [14], "gas": -1, "value": [0]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0xF7FEF4B66B1570A057D7D5CEC5C58846BEFA5B5C, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 2828, + 12: 328, 13: 316, 14: 2828, 15: 316, - } - ) + }, + nonce=1, + ), + Address(0xF7FEF4B66B1570A057D7D5CEC5C58846BEFA5B5C): Account( + code=bytes.fromhex("00"), nonce=1 + ), }, - ), - ( - "52c3fd24000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - 1, - { - Address("0x00000000000000000000000000000000000c0dec"): Account( + }, + { + "indexes": {"data": [14], "gas": -1, "value": [1]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( storage={ + 0: 0xF7FEF4B66B1570A057D7D5CEC5C58846BEFA5B5C, 2: 1, 3: 1, 4: 1, 5: 1, - 12: 34528, + 12: 7028, 13: 7016, 14: 34528, 15: 7016, - } - ) + }, + nonce=1, + ), + Address(0xF7FEF4B66B1570A057D7D5CEC5C58846BEFA5B5C): Account( + code=bytes.fromhex("00"), balance=2, nonce=1 + ), + Address(0xD4E7AE083132925A4927C1F5816238BA17B82A00): Account( + code=b"", balance=2, nonce=0 + ), }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - ], -) -@pytest.mark.pre_alloc_mutable -def test_create_address_warm_after_fail( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - tx_value: int, - expected_post: dict, -) -> None: - """Invokes failing CREATE (because initcode fails) and checks.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) + }, + ] - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=999, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=3000000000, - ) + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) - # Source: Yul - # { - # code { - # let failType := calldataload(4) - # let initcode_size - # - # // The return values of various actions. Done twice to see if there is a difference # noqa: E501 - # let create_1 := 0 - # let call_created_1 := 2 - # let call_created_2 := 3 - # let call_empty_1 := 4 - # let call_empty_2 := 5 - # - # // The costs of those operations - # let create_1_cost := 10 - # let call_created_1_cost := 12 - # let call_created_2_cost := 13 - # let call_empty_1_cost := 14 - # let call_empty_2_cost := 15 - # - # // Make the storage cells we use here are warm - # sstore(create_1, 0xdead60A7) - # sstore(call_created_1, 0xdead60A7) - # sstore(call_created_2, 0xdead60A7) - # sstore(call_empty_1, 0xdead60A7) - # sstore(call_empty_2, 0xdead60A7) - # sstore(call_created_1_cost, 0xdead60A7) - # sstore(call_created_2_cost, 0xdead60A7) - # sstore(call_empty_1_cost, 0xdead60A7) - # sstore(call_empty_2_cost, 0xdead60A7) - # - # ... (172 more lines) - contract = pre.deploy_contract( - code=bytes.fromhex( - "6004356000906002600390600493600593600c90600d96600e90600f9863dead60a78655" # noqa: E501 - "63dead60a7875563dead60a7885563dead60a7825563dead60a7895563dead60a7855563" # noqa: E501 - "dead60a7815563dead60a7835563dead60a78a5573d4e7ae083132925a4927c1f5816238" # noqa: E501 - "ba17b82a00938060001461044c5780600a1461040e57806001146103dc5780600b146103" # noqa: E501 - "a357806002146103715780600c1461033257806003146102f757806004146102bb578060" # noqa: E501 - "051461027f5780600d146102435780600e1461020657806006146101d457806010146101" # noqa: E501 - "9b5780600714610169576011146100ed57600080fd5b60009788808080809b9a819b9a82" # noqa: E501 - "9b73f7fef4b66b1570a057d7d5cec5c58846befa5b5c92615a1760058061049488398680" # noqa: E501 - "f590555b5a825583808080348782f190555a81540390555a8755349082f190555a815403" # noqa: E501 - "90555a825583808080348782f190555a81540390555a8755349082f190555a8154039055" # noqa: E501 - "005b5060009788808080809b9a819b9a829b600080516020610499833981519152926005" # noqa: E501 - "8061049487398580f09055610123565b5060009788808080809b9a819b9a829b73562d97" # noqa: E501 - "e3e4d6d3c6e791ea64bb73d820871aa2199284600a8061048a83398180f5905561012356" # noqa: E501 - "5b5060009788808080809b9a819b9a829b60008051602061049983398151915292600a80" # noqa: E501 - "61048a87398580f09055610123565b5060009788808080809b9a819b9a829b73d70df326" # noqa: E501 - "038a3c7ca8fac785a99162bfe75ccc469284808080806420c0de100662010000f1905561" # noqa: E501 - "0123565b5060009788808080809b9a819b9a829b73d70df326038a3c7ca8fac785a99162" # noqa: E501 - "bfe75ccc469284808080806420c0de1006617000f19055610123565b5060009788808080" # noqa: E501 - "809b9a819b9a829b73b2050fc27ab6d6d42dc0ce6f7c0bf9481a4c3fc392848080808063" # noqa: E501 - "c0deffff62010000f19055610123565b5060009788808080809b9a819b9a829b73a5a6a9" # noqa: E501 - "5fd9554f15ab6986a57519092be209512592848080808063c0de100662010000f1905561" # noqa: E501 - "0123565b5060009788808080809b9a819b9a829b73a5a6a95fd9554f15ab6986a5751909" # noqa: E501 - "2be209512592848080808063c0de1006617000f19055610123565b506000978880808080" # noqa: E501 - "9b9a819b9a829b73a13d43586820e5d97a3fd1960625d537c86dc4e79284600665fe6010" # noqa: E501 - "6000f360d01b82528180f59055610123565b5060009788808080809b9a819b9a829b6000" # noqa: E501 - "805160206104998339815191529260018061048987398580f09055610123565b50600097" # noqa: E501 - "88808080809b9a819b9a829b73014001fdbede82315f4b8c2a7d45e980a8a4a12e928460" # noqa: E501 - "068061048383398180f59055610123565b5060009788808080809b9a819b9a829b600080" # noqa: E501 - "5160206104998339815191529260068061048387398580f09055610123565b5060009788" # noqa: E501 - "808080809b9a819b9a829b7343255ee039968e0254887fc8c7172736983d878c92846005" # noqa: E501 - "6460006000fd60d81b82528180f59055610123565b5060009788808080809b9a819b9a82" # noqa: E501 - "9b6000805160206104998339815191529260048061047f87398580f0905561012356fe60" # noqa: E501 - "0080fd6160016000f3fe60ef60005360106000f360016000f30000000000000000000000" # noqa: E501 - "00d4e7ae083132925a4927c1f5816238ba17b82a65" - ), - balance=4096, - nonce=0, - address=Address("0x00000000000000000000000000000000000c0dec"), # noqa: E501 - ) - # Source: Yul - # { - # code { - # datacopy(0, dataoffset("dummy"), datasize("dummy")) - # sstore(0, create(0, 0, datasize("dummy"))) - # stop() - # } - # object "dummy" { - # code { - # return(0,0x6000) - # } - # } - # } - pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=0x0, offset=0x12, size=0x6) - + Op.SSTORE( - key=0x0, - value=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x6), - ) - + Op.STOP - + Op.INVALID - + Op.RETURN(offset=0x0, size=0x6000) - ), - balance=4096, - address=Address("0x00000000000000000000000000000000c0de1006"), # noqa: E501 - ) - # Source: Yul - # { - # code { - # datacopy(0, dataoffset("dummy"), datasize("dummy")) - # sstore(0, create(0, 0, datasize("dummy"))) - # stop() - # } - # object "dummy" { - # code { - # return(0,0x20) - # } - # } - # } - pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=0x0, offset=0x12, size=0x5) - + Op.SSTORE( - key=0x0, - value=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x5), - ) - + Op.STOP - + Op.INVALID - + Op.RETURN(offset=0x0, size=0x20) - ), - balance=4096, - nonce=18446744073709551615, - address=Address("0x00000000000000000000000000000000c0deffff"), # noqa: E501 - ) - # Source: Yul - # { - # code { - # datacopy(0, dataoffset("dummy"), datasize("dummy")) - # sstore(0, create2(0, 0, datasize("dummy"), 0)) - # stop() - # } - # object "dummy" { - # code { - # return(0,0x6000) - # } - # } - # } - pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=0x0, offset=0x13, size=0x6) - + Op.SSTORE( - key=0x0, - value=Op.CREATE2( - value=Op.DUP1, - offset=Op.DUP2, - size=0x6, - salt=0x0, - ), - ) - + Op.STOP - + Op.INVALID - + Op.RETURN(offset=0x0, size=0x6000) - ), - balance=4096, - address=Address("0x00000000000000000000000000000020c0de1006"), # noqa: E501 - ) - pre[sender] = Account(balance=0xE8D4A51001) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("52c3fd24") + Hash(0x0), + Bytes("52c3fd24") + Hash(0xA), + Bytes("52c3fd24") + Hash(0x1), + Bytes("52c3fd24") + Hash(0xB), + Bytes("52c3fd24") + Hash(0x2), + Bytes("52c3fd24") + Hash(0xC), + Bytes("52c3fd24") + Hash(0x3), + Bytes("52c3fd24") + Hash(0x4), + Bytes("52c3fd24") + Hash(0xD), + Bytes("52c3fd24") + Hash(0xE), + Bytes("52c3fd24") + Hash(0x5), + Bytes("52c3fd24") + Hash(0x6), + Bytes("52c3fd24") + Hash(0x10), + Bytes("52c3fd24") + Hash(0x7), + Bytes("52c3fd24") + Hash(0x11), + ] + tx_gas = [16777216] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_collision_results.py b/tests/ported_static/stCreateTest/test_create_collision_results.py index 0e4ee0f47c4..a049dc54458 100644 --- a/tests/ported_static/stCreateTest/test_create_collision_results.py +++ b/tests/ported_static/stCreateTest/test_create_collision_results.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stCreateTest/CreateCollisionResultsFiller.yml +state_tests/stCreateTest/CreateCollisionResultsFiller.yml """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,68 +24,40 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreateTest/CreateCollisionResultsFiller.yml"], + ["state_tests/stCreateTest/CreateCollisionResultsFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "01", - { - Address("0x40f1299359ea754ac29eb2662a1900752bf8275f"): Account( - storage={0: 29} - ), - Address("0x8af6a7af30d840ba137e8f3f34d54cfb8beba6e2"): Account( - storage={0: 29} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 32: 89, - 33: 143, - 34: 200, - 48: 6, - 49: 0x601D600055000000000000000000000000000000000000000000000000000000, # noqa: E501 - 50: 6, - 51: 0x601D600055000000000000000000000000000000000000000000000000000000, # noqa: E501 - } - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "02", - { - Address("0x40f1299359ea754ac29eb2662a1900752bf8275f"): Account( - storage={0: 29} - ), - Address("0x8af6a7af30d840ba137e8f3f34d54cfb8beba6e2"): Account( - storage={0: 29} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 32: 89, - 33: 143, - 34: 200, - 48: 6, - 49: 0x601D600055000000000000000000000000000000000000000000000000000000, # noqa: E501 - 50: 6, - 51: 0x601D600055000000000000000000000000000000000000000000000000000000, # noqa: E501 - } - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_collision_results( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x8AF6A7AF30D840BA137E8F3F34D54CFB8BEBA6E2) + contract_1 = Address(0x40F1299359EA754AC29EB2662A1900752BF8275F) + contract_2 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -97,30 +71,29 @@ def test_create_collision_results( gas_limit=4294967296, ) - # Source: LLL + # Source: lll # { # [[0]] 0x001D # } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x1D) + Op.STOP, - storage={0x0: 0x60A7}, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x40f1299359ea754ac29eb2662a1900752bf8275f"), # noqa: E501 + address=Address(0x8AF6A7AF30D840BA137E8F3F34D54CFB8BEBA6E2), # noqa: E501 ) - # Source: LLL + # Source: lll # { # [[0]] 0x001D # } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x1D) + Op.STOP, - storage={0x0: 0x60A7}, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x8af6a7af30d840ba137e8f3f34d54cfb8beba6e2"), # noqa: E501 + address=Address(0x40F1299359EA754AC29EB2662A1900752BF8275F), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL + # Source: lll # { # ; Variables are 0x20 bytes (= 256 bits) apart, except for # ; code buffers that get 0x100 (256 bytes) @@ -152,141 +125,159 @@ def test_create_collision_results( # [constructorLength] # (lll # ... (43 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x100, - value=Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xF8)), - ) - + Op.PUSH1[0x15] - + Op.CODECOPY(dest_offset=0x300, offset=0x158, size=Op.DUP1) - + Op.PUSH2[0x540] - + Op.MSTORE - + Op.PUSH1[0x6] - + Op.CODECOPY(dest_offset=0x200, offset=0x16D, size=Op.DUP1) - + Op.PUSH2[0x520] - + Op.MSTORE - + Op.JUMPI( - pc=Op.PUSH2[0x49], - condition=Op.EQ(Op.MLOAD(offset=0x100), 0x1), - ) - + Op.MSTORE( - offset=0x600, - value=Op.CREATE2( - value=0x0, - offset=0x300, - size=Op.MLOAD(offset=0x540), - salt=0x5A17, - ), - ) - + Op.JUMP(pc=Op.PUSH2[0x58]) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x600, - value=Op.CREATE( - value=0x0, - offset=0x300, - size=Op.MLOAD(offset=0x540), - ), - ) - + Op.JUMPDEST - + Op.SSTORE(key=0x20, value=Op.PC) - + Op.SSTORE(key=0x10, value=Op.RETURNDATASIZE) - + Op.SSTORE(key=0x11, value=Op.MLOAD(offset=0x600)) - + Op.MSTORE( - offset=0x640, - value=Op.CALL( - gas=0xFFFF, - address=0x8AF6A7AF30D840BA137E8F3F34D54CFB8BEBA6E2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x21, value=Op.PC) - + Op.SSTORE(key=0x12, value=Op.SUB(Op.MLOAD(offset=0x640), 0x1)) - + Op.SSTORE(key=0x13, value=Op.RETURNDATASIZE) - + Op.MSTORE( - offset=0x640, - value=Op.CALL( - gas=0xFFFF, - address=0x40F1299359EA754AC29EB2662A1900752BF8275F, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x22, value=Op.PC) - + Op.SSTORE(key=0x14, value=Op.SUB(Op.MLOAD(offset=0x640), 0x1)) - + Op.SSTORE(key=0x15, value=Op.RETURNDATASIZE) - + Op.SSTORE( - key=0x30, - value=Op.EXTCODESIZE( - address=0x8AF6A7AF30D840BA137E8F3F34D54CFB8BEBA6E2, - ), - ) - + Op.EXTCODECOPY( + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x100, + value=Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xF8)), + ) + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x300, offset=0x158, size=Op.DUP1) + + Op.PUSH2[0x540] + + Op.MSTORE + + Op.PUSH1[0x6] + + Op.CODECOPY(dest_offset=0x200, offset=0x16D, size=Op.DUP1) + + Op.PUSH2[0x520] + + Op.MSTORE + + Op.JUMPI( + pc=Op.PUSH2[0x49], condition=Op.EQ(Op.MLOAD(offset=0x100), 0x1) + ) + + Op.MSTORE( + offset=0x600, + value=Op.CREATE2( + value=0x0, + offset=0x300, + size=Op.MLOAD(offset=0x540), + salt=0x5A17, + ), + ) + + Op.JUMP(pc=Op.PUSH2[0x58]) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x600, + value=Op.CREATE( + value=0x0, offset=0x300, size=Op.MLOAD(offset=0x540) + ), + ) + + Op.JUMPDEST + + Op.SSTORE(key=0x20, value=Op.PC) + + Op.SSTORE(key=0x10, value=Op.RETURNDATASIZE) + + Op.SSTORE(key=0x11, value=Op.MLOAD(offset=0x600)) + + Op.MSTORE( + offset=0x640, + value=Op.CALL( + gas=0xFFFF, address=0x8AF6A7AF30D840BA137E8F3F34D54CFB8BEBA6E2, - dest_offset=0x660, - offset=0x0, - size=Op.SLOAD(key=0x30), - ) - + Op.SSTORE(key=0x31, value=Op.MLOAD(offset=0x660)) - + Op.SSTORE( - key=0x32, - value=Op.EXTCODESIZE( - address=0x40F1299359EA754AC29EB2662A1900752BF8275F, - ), - ) - + Op.EXTCODECOPY( + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x21, value=Op.PC) + + Op.SSTORE(key=0x12, value=Op.SUB(Op.MLOAD(offset=0x640), 0x1)) + + Op.SSTORE(key=0x13, value=Op.RETURNDATASIZE) + + Op.MSTORE( + offset=0x640, + value=Op.CALL( + gas=0xFFFF, address=0x40F1299359EA754AC29EB2662A1900752BF8275F, - dest_offset=0x660, - offset=0x0, - size=Op.SLOAD(key=0x32), - ) - + Op.SSTORE(key=0x33, value=Op.MLOAD(offset=0x660)) - + Op.STOP - + Op.INVALID - + Op.PUSH1[0x6] - + Op.CODECOPY(dest_offset=0x200, offset=0xF, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=0xFF) - + Op.STOP - + Op.SSTORE(key=0x0, value=0xFF) - + Op.STOP - ), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x22, value=Op.PC) + + Op.SSTORE(key=0x14, value=Op.SUB(Op.MLOAD(offset=0x640), 0x1)) + + Op.SSTORE(key=0x15, value=Op.RETURNDATASIZE) + + Op.SSTORE( + key=0x30, + value=Op.EXTCODESIZE( + address=0x8AF6A7AF30D840BA137E8F3F34D54CFB8BEBA6E2 + ), + ) + + Op.EXTCODECOPY( + address=0x8AF6A7AF30D840BA137E8F3F34D54CFB8BEBA6E2, + dest_offset=0x660, + offset=0x0, + size=Op.SLOAD(key=0x30), + ) + + Op.SSTORE(key=0x31, value=Op.MLOAD(offset=0x660)) + + Op.SSTORE( + key=0x32, + value=Op.EXTCODESIZE( + address=0x40F1299359EA754AC29EB2662A1900752BF8275F + ), + ) + + Op.EXTCODECOPY( + address=0x40F1299359EA754AC29EB2662A1900752BF8275F, + dest_offset=0x660, + offset=0x0, + size=Op.SLOAD(key=0x32), + ) + + Op.SSTORE(key=0x33, value=Op.MLOAD(offset=0x660)) + + Op.STOP + + Op.INVALID + + Op.PUSH1[0x6] + + Op.CODECOPY(dest_offset=0x200, offset=0xF, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.SSTORE(key=0x0, value=0xFF) + + Op.STOP + + Op.SSTORE(key=0x0, value=0xFF) + + Op.STOP, storage={ - 0x10: 0x60A7, - 0x11: 0x60A7, - 0x12: 0x60A7, - 0x13: 0x60A7, - 0x14: 0x60A7, - 0x15: 0x60A7, - 0x20: 0x60A7, - 0x21: 0x60A7, - 0x22: 0x60A7, + 16: 24743, + 17: 24743, + 18: 24743, + 19: 24743, + 20: 24743, + 21: 24743, + 32: 24743, + 33: 24743, + 34: 24743, }, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("01"), + Bytes("02"), + ] + tx_gas = [16777216] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, + to=contract_2, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = { + contract_2: Account( + storage={ + 32: 89, + 33: 143, + 34: 200, + 48: 6, + 49: 0x601D600055000000000000000000000000000000000000000000000000000000, # noqa: E501 + 50: 6, + 51: 0x601D600055000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + contract_0: Account( + storage={0: 29}, code=bytes.fromhex("601d60005500") + ), + contract_1: Account( + storage={0: 29}, code=bytes.fromhex("601d60005500") + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_collision_to_empty2.py b/tests/ported_static/stCreateTest/test_create_collision_to_empty2.py index 094c99cb2ea..3dd526bd61a 100644 --- a/tests/ported_static/stCreateTest/test_create_collision_to_empty2.py +++ b/tests/ported_static/stCreateTest/test_create_collision_to_empty2.py @@ -1,8 +1,8 @@ """ -data0 - create collision to empty, data1 - to empty but nonce, data2 - to... +Data0 - create collision to empty, data1 - to empty but nonce, data2 -... Ported from: -tests/static/state_tests/stCreateTest/CreateCollisionToEmpty2Filler.json +state_tests/stCreateTest/CreateCollisionToEmpty2Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,132 +27,107 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CreateCollisionToEmpty2Filler.json", # noqa: E501 - ], + ["state_tests/stCreateTest/CreateCollisionToEmpty2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - "0000000000000000000000001000000000000000000000000000000000000000", - 600000, + pytest.param( 0, - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={1: 0x13136008B64FF592819B2FA6D43F2835C452020E} - ), - Address("0x13136008b64ff592819b2fa6d43f2835c452020e"): Account( - storage={1: 1} - ), - }, + 0, + 0, + id="d0-g0-v0", ), - ( - "0000000000000000000000001000000000000000000000000000000000000000", - 600000, + pytest.param( + 0, + 0, 1, - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={1: 0x13136008B64FF592819B2FA6D43F2835C452020E} - ), - Address("0x13136008b64ff592819b2fa6d43f2835c452020e"): Account( - storage={1: 1} - ), - }, + id="d0-g0-v1", ), - ( - "0000000000000000000000001000000000000000000000000000000000000000", - 54000, + pytest.param( 0, - {}, + 1, + 0, + id="d0-g1-v0", ), - ( - "0000000000000000000000001000000000000000000000000000000000000000", - 54000, + pytest.param( + 0, + 1, 1, - {}, + id="d0-g1-v1", ), - ( - "0000000000000000000000002000000000000000000000000000000000000000", - 600000, + pytest.param( + 1, + 0, 0, - {}, + id="d1-g0-v0", ), - ( - "0000000000000000000000002000000000000000000000000000000000000000", - 600000, + pytest.param( 1, - {}, + 0, + 1, + id="d1-g0-v1", ), - ( - "0000000000000000000000002000000000000000000000000000000000000000", - 54000, + pytest.param( + 1, + 1, 0, - {}, + id="d1-g1-v0", ), - ( - "0000000000000000000000002000000000000000000000000000000000000000", - 54000, + pytest.param( 1, - {}, + 1, + 1, + id="d1-g1-v1", ), - ( - "0000000000000000000000003000000000000000000000000000000000000000", - 600000, + pytest.param( + 2, + 0, 0, - {}, + id="d2-g0-v0", ), - ( - "0000000000000000000000003000000000000000000000000000000000000000", - 600000, + pytest.param( + 2, + 0, 1, - {}, + id="d2-g0-v1", ), - ( - "0000000000000000000000003000000000000000000000000000000000000000", - 54000, + pytest.param( + 2, + 1, 0, - {}, + id="d2-g1-v0", ), - ( - "0000000000000000000000003000000000000000000000000000000000000000", - 54000, + pytest.param( + 2, 1, - {}, + 1, + id="d2-g1-v1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - ], ) @pytest.mark.pre_alloc_mutable def test_create_collision_to_empty2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Data0 - create collision to empty, data1 - to empty but nonce,...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1A00000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000000) + contract_2 = Address(0x2000000000000000000000000000000000000000) + contract_3 = Address(0x3000000000000000000000000000000000000000) + contract_4 = Address(0x13136008B64FF592819B2FA6D43F2835C452020E) + contract_5 = Address(0x0BF4C804E0579073BAF54EC4EC37CD04F3455C65) + contract_6 = Address(0x4B86C4ED99B87F0F396BC0C76885453C343916ED) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - callee = Address("0x0bf4c804e0579073baf54ec4ec37cd04f3455c65") - callee_2 = Address("0x13136008b64ff592819b2fa6d43f2835c452020e") env = Environment( fee_recipient=coinbase, @@ -158,83 +138,134 @@ def test_create_collision_to_empty2( gas_limit=10000000, ) - pre[callee] = Account(balance=0, nonce=2) - # Source: LLL - # { (MSTORE 0 0x6001600155) [[1]] (CREATE 0 27 5) } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6001600155) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x1B, size=0x5) - ) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (CALL 80000 (CALLDATALOAD 0) 0 0 0 0 0) } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x13880, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1A00000000000000000000000000000000000000), # noqa: E501 ) - pre[callee_2] = Account(balance=10, nonce=0) - # Source: LLL - # { (CALL 80000 (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x13880, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0x6001600155) [[1]] (CREATE 0 27 5) } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6001600155) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x1B, size=0x5)) + + Op.STOP, nonce=0, - address=Address("0x1a00000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6001600155) [[1]] (CREATE 0 27 5) } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6001600155) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x1B, size=0x5) - ) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6001600155) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x1B, size=0x5)) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6001600155) [[1]] (CREATE 0 27 5) } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6001600155) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x1B, size=0x5) - ) - + Op.STOP - ), + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6001600155) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x1B, size=0x5)) + + Op.STOP, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[contract_4] = Account(balance=10) + pre[contract_5] = Account(balance=0, nonce=2) + # Source: raw + # 0x1122334455 + contract_6 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("1122334455"), nonce=0, - address=Address("0x4b86c4ed99b87f0f396bc0c76885453c343916ed"), # noqa: E501 + address=Address(0x4B86C4ED99B87F0F396BC0C76885453C343916ED), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_1: Account(storage={}, nonce=0), + contract_4: Account(storage={}, code=b"", balance=10, nonce=0), + }, + }, + { + "indexes": {"data": 0, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_1: Account( + storage={1: 0x13136008B64FF592819B2FA6D43F2835C452020E}, + nonce=1, + ), + contract_4: Account( + storage={1: 1}, code=b"", balance=10, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_2: Account(storage={1: 0}, nonce=0), + contract_5: Account(storage={}, code=b"", nonce=2), + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_2: Account(storage={1: 0}, nonce=0), + contract_5: Account(storage={}, code=b"", nonce=2), + }, + }, + { + "indexes": {"data": 2, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_3: Account(storage={1: 0}, nonce=0), + contract_6: Account( + storage={}, + code=bytes.fromhex("1122334455"), + nonce=0, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_1, left_padding=True), + Hash(contract_2, left_padding=True), + Hash(contract_3, left_padding=True), + ] + tx_gas = [600000, 54000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_contract_return_big_offset.py b/tests/ported_static/stCreateTest/test_create_contract_return_big_offset.py index 30bdcc03b4b..a4993192b76 100644 --- a/tests/ported_static/stCreateTest/test_create_contract_return_big_offset.py +++ b/tests/ported_static/stCreateTest/test_create_contract_return_big_offset.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_contract_return_big_offset. Ported from: -tests/static/state_tests/stCreateTest/CREATE_ContractRETURNBigOffsetFiller.yml +state_tests/stCreateTest/CREATE_ContractRETURNBigOffsetFiller.yml """ import pytest @@ -14,36 +14,59 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CREATE_ContractRETURNBigOffsetFiller.yml", # noqa: E501 - ], + ["state_tests/stCreateTest/CREATE_ContractRETURNBigOffsetFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "6201000062074ac2f3", - "62051eb862074ac2f3", - "62051eb962074ac2f3", - "620d15bc62074ac2f3", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_create_contract_return_big_offset( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_contract_return_big_offset.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -59,15 +82,24 @@ def test_create_contract_return_big_offset( pre[sender] = Account(balance=0x9184E72A000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.RETURN(offset=0x74AC2, size=0x10000), + Op.RETURN(offset=0x74AC2, size=0x51EB8), + Op.RETURN(offset=0x74AC2, size=0x51EB9), + Op.RETURN(offset=0x74AC2, size=0xD15BC), + ] + tx_gas = [16777216] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=16777216, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post: dict = {} + post = { + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_contract_sstore_during_init.py b/tests/ported_static/stCreateTest/test_create_contract_sstore_during_init.py index 6d044bced0c..aa8602eee32 100644 --- a/tests/ported_static/stCreateTest/test_create_contract_sstore_during_init.py +++ b/tests/ported_static/stCreateTest/test_create_contract_sstore_during_init.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_contract_sstore_during_init. Ported from: -tests/static/state_tests/stCreateTest -CREATE_ContractSSTOREDuringInitFiller.json +state_tests/stCreateTest/CREATE_ContractSSTOREDuringInitFiller.json """ import pytest @@ -15,16 +14,16 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CREATE_ContractSSTOREDuringInitFiller.json", # noqa: E501 - ], + ["state_tests/stCreateTest/CREATE_ContractSSTOREDuringInitFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_create_contract_sstore_during_init( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_contract_sstore_during_init.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,13 +51,13 @@ def test_create_contract_sstore_during_init( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("60ff600055"), + data=Op.SSTORE(key=0x0, value=0xFF), gas_limit=150000, ) post = { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={0: 255}, + compute_create_address(address=sender, nonce=0): Account( + storage={0: 255} ), } diff --git a/tests/ported_static/stCreateTest/test_create_e_contract_create_e_contract_in_init_tr.py b/tests/ported_static/stCreateTest/test_create_e_contract_create_e_contract_in_init_tr.py index 1860f032f33..1e9a91225d0 100644 --- a/tests/ported_static/stCreateTest/test_create_e_contract_create_e_contract_in_init_tr.py +++ b/tests/ported_static/stCreateTest/test_create_e_contract_create_e_contract_in_init_tr.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_e_contract_create_e_contract_in_init_tr. Ported from: -tests/static/state_tests/stCreateTest -CREATE_EContractCreateEContractInInit_TrFiller.json +state_tests/stCreateTest/CREATE_EContractCreateEContractInInit_TrFiller.json """ import pytest @@ -15,6 +14,7 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreateTest/CREATE_EContractCreateEContractInInit_TrFiller.json", # noqa: E501 + "state_tests/stCreateTest/CREATE_EContractCreateEContractInInit_TrFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_create_e_contract_create_e_contract_in_init_tr( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_e_contract_create_e_contract_in_init_tr.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,27 +50,36 @@ def test_create_e_contract_create_e_contract_in_init_tr( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # {[[1]]12} - contract = pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, balance=0xE8D4A51000, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f150" # noqa: E501 - "602060006000f0" - ), + data=Op.POP( + Op.CALL( + gas=0xEA60, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CREATE(value=0x0, offset=0x0, size=0x20), gas_limit=600000, ) post = { - contract: Account(storage={1: 12}), + contract_0: Account(storage={1: 12}), + compute_create_address(address=sender, nonce=0): Account(nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_e_contract_create_ne_contract_in_init_oog_tr.py b/tests/ported_static/stCreateTest/test_create_e_contract_create_ne_contract_in_init_oog_tr.py index 08d0179de2c..21592d31e33 100644 --- a/tests/ported_static/stCreateTest/test_create_e_contract_create_ne_contract_in_init_oog_tr.py +++ b/tests/ported_static/stCreateTest/test_create_e_contract_create_ne_contract_in_init_oog_tr.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_e_contract_create_ne_contract_in_init_oog_tr. Ported from: -tests/static/state_tests/stCreateTest -CREATE_EContractCreateNEContractInInitOOG_TrFiller.json +state_tests/stCreateTest/CREATE_EContractCreateNEContractInInitOOG_TrFiller.json """ import pytest @@ -15,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -24,34 +28,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreateTest/CREATE_EContractCreateNEContractInInitOOG_TrFiller.json", # noqa: E501 + "state_tests/stCreateTest/CREATE_EContractCreateNEContractInInitOOG_TrFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 160000, - { - Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={1: 12} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), - (60000, {}), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_e_contract_create_ne_contract_in_init_oog_tr( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_e_contract_create_ne_contract_in_init_oog_tr.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -66,25 +75,69 @@ def test_create_e_contract_create_ne_contract_in_init_oog_tr( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # {[[1]]12} - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, balance=0xE8D4A51000, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 12}), + compute_create_address(address=sender, nonce=0): Account( + nonce=2 + ), + Address( + 0xA42676447B7CEDFA5FDE894D1D3DF24AAB362701 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 0}), + compute_create_address( + address=sender, nonce=0 + ): Account.NONEXISTENT, + Address( + 0xA42676447B7CEDFA5FDE894D1D3DF24AAB362701 + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0xEA60, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x64600C6000556000526005601BF3) + + Op.CREATE(value=0x0, offset=0x12, size=0xE), + ] + tx_gas = [160000, 60000] + tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f150" # noqa: E501 - "6d64600c6000556000526005601bf3600052600e60126000f0" - ), - gas_limit=tx_gas_limit, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_e_contract_create_ne_contract_in_init_tr.py b/tests/ported_static/stCreateTest/test_create_e_contract_create_ne_contract_in_init_tr.py index f94ca911941..0d015961f02 100644 --- a/tests/ported_static/stCreateTest/test_create_e_contract_create_ne_contract_in_init_tr.py +++ b/tests/ported_static/stCreateTest/test_create_e_contract_create_ne_contract_in_init_tr.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_e_contract_create_ne_contract_in_init_tr. Ported from: -tests/static/state_tests/stCreateTest -CREATE_EContractCreateNEContractInInit_TrFiller.json +state_tests/stCreateTest/CREATE_EContractCreateNEContractInInit_TrFiller.json """ import pytest @@ -15,6 +14,7 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreateTest/CREATE_EContractCreateNEContractInInit_TrFiller.json", # noqa: E501 + "state_tests/stCreateTest/CREATE_EContractCreateNEContractInInit_TrFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_create_e_contract_create_ne_contract_in_init_tr( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_e_contract_create_ne_contract_in_init_tr.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,27 +50,40 @@ def test_create_e_contract_create_ne_contract_in_init_tr( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # {[[1]]12} - contract = pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, balance=0xE8D4A51000, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f150" # noqa: E501 - "6d64600c6000556000526005601bf3600052600e60126000f0" - ), + data=Op.POP( + Op.CALL( + gas=0xEA60, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x64600C6000556000526005601BF3) + + Op.CREATE(value=0x0, offset=0x12, size=0xE), gas_limit=600000, ) post = { - contract: Account(storage={1: 12}), + contract_0: Account(storage={1: 12}), + compute_create_address(address=sender, nonce=0): Account(nonce=2), + Address(0x64E2EBD6405AF8CB348AEC519084D3FFF42EBBA6): Account( + code=bytes.fromhex("600c600055") + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_e_contract_then_call_to_non_existent_acc.py b/tests/ported_static/stCreateTest/test_create_e_contract_then_call_to_non_existent_acc.py index 3b89a424c76..8ca5125d13c 100644 --- a/tests/ported_static/stCreateTest/test_create_e_contract_then_call_to_non_existent_acc.py +++ b/tests/ported_static/stCreateTest/test_create_e_contract_then_call_to_non_existent_acc.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_e_contract_then_call_to_non_existent_acc. Ported from: -tests/static/state_tests/stCreateTest -CREATE_EContract_ThenCALLToNonExistentAccFiller.json +state_tests/stCreateTest/CREATE_EContract_ThenCALLToNonExistentAccFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreateTest/CREATE_EContract_ThenCALLToNonExistentAccFiller.json", # noqa: E501 + "state_tests/stCreateTest/CREATE_EContract_ThenCALLToNonExistentAccFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_create_e_contract_then_call_to_non_existent_acc( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_e_contract_then_call_to_non_existent_acc.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,42 +51,39 @@ def test_create_e_contract_then_call_to_non_existent_acc( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (CREATE 0 0 32) [[2]](GAS) [[3]] (CALL 60000 0xe1ecf98489fa9ed60a664fc4998db699cfa39d40 0 0 0 0 0) [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) - ) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE( - key=0x3, - value=Op.CALL( - gas=0xEA60, - address=0xE1ECF98489FA9ED60A664FC4998DB699CFA39D40, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x20)) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE( + key=0x3, + value=Op.CALL( + gas=0xEA60, + address=0xE1ECF98489FA9ED60A664FC4998DB699CFA39D40, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x8D5B6, 1: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, @@ -93,6 +92,10 @@ def test_create_e_contract_then_call_to_non_existent_acc( 100: 0x6F50B, }, ), + compute_create_address(address=contract_0, nonce=0): Account(nonce=1), + Address( + 0xE1ECF98489FA9ED60A664FC4998DB699CFA39D40 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_empty000_createin_init_code_transaction.py b/tests/ported_static/stCreateTest/test_create_empty000_createin_init_code_transaction.py index 727b3a634ba..40e0530a282 100644 --- a/tests/ported_static/stCreateTest/test_create_empty000_createin_init_code_transaction.py +++ b/tests/ported_static/stCreateTest/test_create_empty000_createin_init_code_transaction.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_empty000_createin_init_code_transaction. Ported from: -tests/static/state_tests/stCreateTest -CREATE_empty000CreateinInitCode_TransactionFiller.json +state_tests/stCreateTest/CREATE_empty000CreateinInitCode_TransactionFiller.json """ import pytest @@ -15,6 +14,7 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreateTest/CREATE_empty000CreateinInitCode_TransactionFiller.json", # noqa: E501 + "state_tests/stCreateTest/CREATE_empty000CreateinInitCode_TransactionFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_create_empty000_createin_init_code_transaction( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_empty000_createin_init_code_transaction.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,27 +50,39 @@ def test_create_empty000_createin_init_code_transaction( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # {[[1]]12} - contract = pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, balance=0xE8D4A51000, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f150" # noqa: E501 - "600060006000f0" - ), + data=Op.POP( + Op.CALL( + gas=0xEA60, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CREATE(value=0x0, offset=0x0, size=0x0), gas_limit=600000, ) post = { - contract: Account(storage={1: 12}), + contract_0: Account(storage={1: 12}), + compute_create_address(address=sender, nonce=0): Account(nonce=2), + Address( + 0xA42676447B7CEDFA5FDE894D1D3DF24AAB362701 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_empty_contract.py b/tests/ported_static/stCreateTest/test_create_empty_contract.py index 5610d9f2a1a..3c22a1e5e52 100644 --- a/tests/ported_static/stCreateTest/test_create_empty_contract.py +++ b/tests/ported_static/stCreateTest/test_create_empty_contract.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_empty_contract. Ported from: -tests/static/state_tests/stCreateTest/CREATE_EmptyContractFiller.json +state_tests/stCreateTest/CREATE_EmptyContractFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreateTest/CREATE_EmptyContractFiller.json"], + ["state_tests/stCreateTest/CREATE_EmptyContractFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +32,9 @@ def test_create_empty_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_empty_contract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,29 +49,27 @@ def test_create_empty_contract( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (CREATE 0 0 32) [[100]] (GAS) } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) - ) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x20)) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + compute_create_address(address=contract_0, nonce=0): Account(nonce=1), + contract_0: Account( storage={ 0: 0x8D5B6, 1: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, diff --git a/tests/ported_static/stCreateTest/test_create_empty_contract_and_call_it_0wei.py b/tests/ported_static/stCreateTest/test_create_empty_contract_and_call_it_0wei.py index 4ab4d9652cf..8bad278c56e 100644 --- a/tests/ported_static/stCreateTest/test_create_empty_contract_and_call_it_0wei.py +++ b/tests/ported_static/stCreateTest/test_create_empty_contract_and_call_it_0wei.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_empty_contract_and_call_it_0wei. Ported from: -tests/static/state_tests/stCreateTest -CREATE_EmptyContractAndCallIt_0weiFiller.json +state_tests/stCreateTest/CREATE_EmptyContractAndCallIt_0weiFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -23,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CREATE_EmptyContractAndCallIt_0weiFiller.json", # noqa: E501 - ], + ["state_tests/stCreateTest/CREATE_EmptyContractAndCallIt_0weiFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +32,9 @@ def test_create_empty_contract_and_call_it_0wei( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_empty_contract_and_call_it_0wei.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,42 +49,39 @@ def test_create_empty_contract_and_call_it_0wei( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (CREATE 0 0 32) [[2]](GAS) [[3]] (CALL 60000 (SLOAD 1) 0 0 0 0 0) [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) - ) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE( - key=0x3, - value=Op.CALL( - gas=0xEA60, - address=Op.SLOAD(key=0x1), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x20)) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE( + key=0x3, + value=Op.CALL( + gas=0xEA60, + address=Op.SLOAD(key=0x1), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x8D5B6, 1: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, @@ -93,6 +90,7 @@ def test_create_empty_contract_and_call_it_0wei( 100: 0x6FE6B, }, ), + compute_create_address(address=contract_0, nonce=0): Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_empty_contract_and_call_it_1wei.py b/tests/ported_static/stCreateTest/test_create_empty_contract_and_call_it_1wei.py index fa503edcd7a..14bf2963be4 100644 --- a/tests/ported_static/stCreateTest/test_create_empty_contract_and_call_it_1wei.py +++ b/tests/ported_static/stCreateTest/test_create_empty_contract_and_call_it_1wei.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_empty_contract_and_call_it_1wei. Ported from: -tests/static/state_tests/stCreateTest -CREATE_EmptyContractAndCallIt_1weiFiller.json +state_tests/stCreateTest/CREATE_EmptyContractAndCallIt_1weiFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -23,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CREATE_EmptyContractAndCallIt_1weiFiller.json", # noqa: E501 - ], + ["state_tests/stCreateTest/CREATE_EmptyContractAndCallIt_1weiFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +32,9 @@ def test_create_empty_contract_and_call_it_1wei( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_empty_contract_and_call_it_1wei.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,43 +49,40 @@ def test_create_empty_contract_and_call_it_1wei( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (CREATE 0 0 32) [[2]](GAS) [[3]](CALL 60000 (SLOAD 1) 1 0 0 0 0) [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) - ) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE( - key=0x3, - value=Op.CALL( - gas=0xEA60, - address=Op.SLOAD(key=0x1), - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x20)) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE( + key=0x3, + value=Op.CALL( + gas=0xEA60, + address=Op.SLOAD(key=0x1), + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, balance=1, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x8D5B6, 1: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, @@ -94,6 +91,9 @@ def test_create_empty_contract_and_call_it_1wei( 100: 0x6E43F, }, ), + compute_create_address(address=contract_0, nonce=0): Account( + balance=1, nonce=1 + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_empty_contract_with_balance.py b/tests/ported_static/stCreateTest/test_create_empty_contract_with_balance.py index 956c2c5237f..b87c0a3a6af 100644 --- a/tests/ported_static/stCreateTest/test_create_empty_contract_with_balance.py +++ b/tests/ported_static/stCreateTest/test_create_empty_contract_with_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_empty_contract_with_balance. Ported from: -tests/static/state_tests/stCreateTest -CREATE_EmptyContractWithBalanceFiller.json +state_tests/stCreateTest/CREATE_EmptyContractWithBalanceFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -23,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CREATE_EmptyContractWithBalanceFiller.json", # noqa: E501 - ], + ["state_tests/stCreateTest/CREATE_EmptyContractWithBalanceFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +32,9 @@ def test_create_empty_contract_with_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_empty_contract_with_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,36 +49,36 @@ def test_create_empty_contract_with_balance( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (CREATE 1 0 32) [[100]] (GAS) } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x1, offset=0x0, size=0x20) - ) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x1, offset=0x0, size=0x20)) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, balance=1, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x8D5B6, 1: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, 100: 0x7ABF8, }, ), + compute_create_address(address=contract_0, nonce=0): Account( + balance=1 + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage.py b/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage.py index 418fb98a582..0f4bd290243 100644 --- a/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage.py +++ b/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_empty_contract_with_storage. Ported from: -tests/static/state_tests/stCreateTest -CREATE_EmptyContractWithStorageFiller.json +state_tests/stCreateTest/CREATE_EmptyContractWithStorageFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -23,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CREATE_EmptyContractWithStorageFiller.json", # noqa: E501 - ], + ["state_tests/stCreateTest/CREATE_EmptyContractWithStorageFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +32,10 @@ def test_create_empty_contract_with_storage( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_empty_contract_with_storage.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,55 +50,50 @@ def test_create_empty_contract_with_storage( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) (MSTORE 0 0x600c6000556000600060006000600073c94f5374fce5edbc8e2a8697c1533167) (MSTORE 32 0x7e6ebf0b61ea60f1000000000000000000000000000000000000000000000000) [[1]] (CREATE 0 0 64) [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.MSTORE( - offset=0x0, - value=0x600C6000556000600060006000600073C94F5374FCE5EDBC8E2A8697C1533167, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x7E6EBF0B61EA60F1000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x40) - ) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.MSTORE( + offset=0x0, + value=0x600C6000556000600060006000600073C94F5374FCE5EDBC8E2A8697C1533167, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x7E6EBF0B61EA60F1000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x40)) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # {[[1]]12} - callee = pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, balance=0xE8D4A51000, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x8D5B6, 1: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, 100: 0x6F4F0, }, ), - callee: Account(storage={1: 12}), - Address("0xf1ecf98489fa9ed60a664fc4998db699cfa39d40"): Account( - storage={0: 12}, - ), + compute_create_address(address=contract_0, nonce=0): Account(nonce=1), + contract_1: Account(storage={1: 12}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage_and_call_it_0wei.py b/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage_and_call_it_0wei.py index a952982dffc..177563f4064 100644 --- a/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage_and_call_it_0wei.py +++ b/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage_and_call_it_0wei.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_empty_contract_with_storage_and_call_it_0wei. Ported from: -tests/static/state_tests/stCreateTest -CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json +state_tests/stCreateTest/CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreateTest/CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json", # noqa: E501 + "state_tests/stCreateTest/CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,10 @@ def test_create_empty_contract_with_storage_and_call_it_0wei( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_empty_contract_with_storage_and_call_it_0wei.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,58 +52,55 @@ def test_create_empty_contract_with_storage_and_call_it_0wei( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) (MSTORE 0 0x600c6000556000600060006000600073c94f5374fce5edbc8e2a8697c1533167) (MSTORE 32 0x7e6ebf0b61ea60f1000000000000000000000000000000000000000000000000) [[1]] (CREATE 0 0 64) [[2]] (GAS) [[3]] (CALL 60000 (SLOAD 1) 0 0 0 0 0) [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.MSTORE( - offset=0x0, - value=0x600C6000556000600060006000600073C94F5374FCE5EDBC8E2A8697C1533167, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x7E6EBF0B61EA60F1000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x40) - ) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE( - key=0x3, - value=Op.CALL( - gas=0xEA60, - address=Op.SLOAD(key=0x1), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.MSTORE( + offset=0x0, + value=0x600C6000556000600060006000600073C94F5374FCE5EDBC8E2A8697C1533167, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x7E6EBF0B61EA60F1000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x40)) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE( + key=0x3, + value=Op.CALL( + gas=0xEA60, + address=Op.SLOAD(key=0x1), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # {[[1]]12} - callee = pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, balance=0xE8D4A51000, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x8D5B6, 1: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, @@ -109,10 +109,8 @@ def test_create_empty_contract_with_storage_and_call_it_0wei( 100: 0x64763, }, ), - callee: Account(storage={1: 12}), - Address("0xf1ecf98489fa9ed60a664fc4998db699cfa39d40"): Account( - storage={0: 12}, - ), + compute_create_address(address=contract_0, nonce=0): Account(nonce=1), + contract_1: Account(storage={1: 12}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage_and_call_it_1wei.py b/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage_and_call_it_1wei.py index d9cd8dc0996..9fcff78541d 100644 --- a/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage_and_call_it_1wei.py +++ b/tests/ported_static/stCreateTest/test_create_empty_contract_with_storage_and_call_it_1wei.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_empty_contract_with_storage_and_call_it_1wei. Ported from: -tests/static/state_tests/stCreateTest -CREATE_EmptyContractWithStorageAndCallIt_1weiFiller.json +state_tests/stCreateTest/CREATE_EmptyContractWithStorageAndCallIt_1weiFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreateTest/CREATE_EmptyContractWithStorageAndCallIt_1weiFiller.json", # noqa: E501 + "state_tests/stCreateTest/CREATE_EmptyContractWithStorageAndCallIt_1weiFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,10 @@ def test_create_empty_contract_with_storage_and_call_it_1wei( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_empty_contract_with_storage_and_call_it_1wei.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,59 +52,56 @@ def test_create_empty_contract_with_storage_and_call_it_1wei( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) (MSTORE 0 0x600c6000556000600060006000600073c94f5374fce5edbc8e2a8697c1533167) (MSTORE 32 0x7e6ebf0b61ea60f1000000000000000000000000000000000000000000000000) [[1]] (CREATE 0 0 64) [[2]] (GAS) [[3]] (CALL 60000 (SLOAD 1) 1 0 0 0 0) [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.MSTORE( - offset=0x0, - value=0x600C6000556000600060006000600073C94F5374FCE5EDBC8E2A8697C1533167, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x7E6EBF0B61EA60F1000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x40) - ) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE( - key=0x3, - value=Op.CALL( - gas=0xEA60, - address=Op.SLOAD(key=0x1), - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.MSTORE( + offset=0x0, + value=0x600C6000556000600060006000600073C94F5374FCE5EDBC8E2A8697C1533167, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x7E6EBF0B61EA60F1000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x40)) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE( + key=0x3, + value=Op.CALL( + gas=0xEA60, + address=Op.SLOAD(key=0x1), + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, balance=1, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # {[[1]]12} - callee = pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, balance=0xE8D4A51000, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x8D5B6, 1: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, @@ -110,10 +110,10 @@ def test_create_empty_contract_with_storage_and_call_it_1wei( 100: 0x62D37, }, ), - callee: Account(storage={1: 12}), - Address("0xf1ecf98489fa9ed60a664fc4998db699cfa39d40"): Account( - storage={0: 12}, + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 12}, balance=1 ), + contract_1: Account(storage={1: 12}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_fail_result.py b/tests/ported_static/stCreateTest/test_create_fail_result.py index 90e1062553e..9750c30d2b4 100644 --- a/tests/ported_static/stCreateTest/test_create_fail_result.py +++ b/tests/ported_static/stCreateTest/test_create_fail_result.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stCreateTest/createFailResultFiller.yml +state_tests/stCreateTest/createFailResultFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,165 +28,96 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreateTest/createFailResultFiller.yml"], + ["state_tests/stCreateTest/createFailResultFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ee0000000000000000000000000000000000000000000000000000000000000bad", # noqa: E501 - { - Address("0x0000000000000000000000000000000000c0deee"): Account( - storage={16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - }, + pytest.param( + 0, + 0, + 0, + id="CREATE--OOG", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000bad", # noqa: E501 - { - Address("0x0000000000000000000000000000000000c0def0"): Account( - storage={ - 1: 32, - 2: 0xBAD0BAD0BAD, - 16: 1, - 17: 64, - 18: 0xDEADBEEF, - 19: 24743, - } - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - }, + pytest.param( + 1, + 0, + 0, + id="CREATE2-OOG", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ee000000000000000000000000000000000000000000000000000000000000600d", # noqa: E501 - { - Address("0x0000000000000000000000000000000000c0deee"): Account( - storage={16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - }, + pytest.param( + 2, + 0, + 0, + id="CREATE--GOOD", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000600d", # noqa: E501 - { - Address("0x0000000000000000000000000000000000c0def0"): Account( - storage={ - 0: 0xB44F2C88D3D4283CD1E54E418C4FF7E6A6C73202, - 16: 1, - 17: 64, - 18: 0xDEADBEEF, - 19: 24743, - } - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - }, + pytest.param( + 3, + 0, + 0, + id="CREATE2-GOOD", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ) - }, + pytest.param( + 4, + 0, + 0, + id="CREATE--BAD", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000bad", # noqa: E501 - { - Address("0x0000000000000000000000000000000000c0deff"): Account( - storage={16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - }, + pytest.param( + 5, + 0, + 0, + id="CREATE2-BAD", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000bad", # noqa: E501 - { - Address("0x0000000000000000000000000000000000c0def5"): Account( - storage={ - 1: 32, - 2: 0xBAD0BAD0BAD, - 16: 1, - 17: 64, - 18: 0xDEADBEEF, - 19: 24743, - } - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - }, + pytest.param( + 6, + 0, + 0, + id="CREATE2-BOOM", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000600d", # noqa: E501 - { - Address("0x0000000000000000000000000000000000c0deff"): Account( - storage={16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - }, + pytest.param( + 7, + 0, + 0, + id="CREATE2-BAD-BOOM", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000600d", # noqa: E501 - { - Address("0x0000000000000000000000000000000000c0def5"): Account( - storage={ - 0: 0x65EE26A034447B6AC64ABDCA1CCCB7B747E4A231, - 16: 1, - 17: 64, - 18: 0xDEADBEEF, - 19: 24743, - } - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ), - }, + pytest.param( + 8, + 0, + 0, + id="CREATE--BOOM", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={16: 1, 17: 64, 18: 0xDEADBEEF, 19: 24743} - ) - }, + pytest.param( + 9, + 0, + 0, + id="CREATE--BAD-BOOM", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - ], ) @pytest.mark.pre_alloc_mutable def test_create_fail_result( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000DA7A) + contract_1 = Address(0x0000000000000000000000000000000000000BAD) + contract_2 = Address(0x000000000000000000000000000000000000600D) + contract_3 = Address(0x0000000000000000000000000000000000C0DEF0) + contract_4 = Address(0x0000000000000000000000000000000000C0DEF5) + contract_5 = Address(0x0000000000000000000000000000000000C0DEFF) + contract_6 = Address(0xBB0237AB04970E3CF3E813C02064662ADC89336B) + contract_7 = Address(0x13C950F8740FFAEA1869A88D70B029E8B0C9A8DA) + contract_8 = Address(0x0000000000000000000000000000000000C0DEEE) + contract_9 = Address(0xF9D1EA8EAB6963659EE85B3E0B4D8A57E7EDBA2B) + contract_10 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -194,50 +131,51 @@ def test_create_fail_result( gas_limit=100000000, ) - # Source: Yul + # Source: yul + # berlin # { - # mstore(0, 0x0BAD0BAD0BAD) - # revert(0, 0x20) + # mstore(0x00, 0xDEADBEEF) + # mstore(0x20, 0x60A7) + # + # // Return with two words of data + # return(0, 0x40) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xBAD0BAD0BAD) - + Op.REVERT(offset=0x0, size=0x20) - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xDEADBEEF) + + Op.MSTORE(offset=0x20, value=0x60A7) + + Op.RETURN(offset=0x0, size=0x40), balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000000bad"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000DA7A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { - # mstore(0, 0x600D) - # return(0, 0x20) + # mstore(0, 0x0BAD0BAD0BAD) + # revert(0, 0x20) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x600D) - + Op.RETURN(offset=0x0, size=0x20) - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xBAD0BAD0BAD) + + Op.REVERT(offset=0x0, size=0x20), balance=0xBA1A9CE0BA1A9CE, - address=Address("0x000000000000000000000000000000000000600d"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000000BAD), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { - # mstore(0x00, 0xDEADBEEF) - # mstore(0x20, 0x60A7) - # - # // Return with two words of data - # return(0, 0x40) + # mstore(0, 0x600D) + # return(0, 0x20) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xDEADBEEF) - + Op.MSTORE(offset=0x20, value=0x60A7) - + Op.RETURN(offset=0x0, size=0x40) - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x600D) + + Op.RETURN(offset=0x0, size=0x20), balance=0xBA1A9CE0BA1A9CE, - address=Address("0x000000000000000000000000000000000000da7a"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000600D), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # // Before the main call, call DA7A to fill up the return buffer # sstore(0x10, call(gas(), 0xDA7A, 0, 0, 0, 0x100, 0x40)) @@ -245,6 +183,7 @@ def test_create_fail_result( # sstore(0x12, mload(0x100)) # sstore(0x13, mload(0x120)) # + # # // Read the constructor code from the appropriate contract # let srcAddr := calldataload(0) // either 600D or BAD # @@ -260,48 +199,46 @@ def test_create_fail_result( # sstore(2, mload(0x200)) # sstore(3, mload(0x220)) # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x10, - value=Op.CALL( - gas=Op.GAS, - address=0xDA7A, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=0x100, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x11, value=Op.RETURNDATASIZE) - + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x100)) - + Op.SSTORE(key=0x13, value=Op.MLOAD(offset=0x120)) - + Op.PUSH1[0x0] - + Op.CALLDATALOAD(offset=Op.DUP1) - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.SSTORE(key=0x0, value=Op.CREATE) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY( - dest_offset=0x200, - offset=0x0, - size=Op.RETURNDATASIZE, - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x200)) - + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x220)) - + Op.STOP - ), + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x10, + value=Op.CALL( + gas=Op.GAS, + address=0xDA7A, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=0x100, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x11, value=Op.RETURNDATASIZE) + + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x100)) + + Op.SSTORE(key=0x13, value=Op.MLOAD(offset=0x120)) + + Op.PUSH1[0x0] + + Op.CALLDATALOAD(offset=Op.DUP1) + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.SSTORE(key=0x0, value=Op.CREATE) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY( + dest_offset=0x200, offset=0x0, size=Op.RETURNDATASIZE + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x200)) + + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x220)) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0deee"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF0), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # // Before the main call, call DA7A to fill up the return buffer # sstore(0x10, call(gas(), 0xDA7A, 0, 0, 0, 0x100, 0x40)) @@ -309,7 +246,6 @@ def test_create_fail_result( # sstore(0x12, mload(0x100)) # sstore(0x13, mload(0x120)) # - # # // Read the constructor code from the appropriate contract # let srcAddr := calldataload(0) // either 600D or BAD # @@ -317,7 +253,7 @@ def test_create_fail_result( # extcodecopy(srcAddr, 0, 0, codeSize) # # // Create - # sstore(0,create(0, 0, codeSize)) + # sstore(0,create2(0, 0, codeSize, 0x5A17)) # # // If we have a returned buffer, see what it is # sstore(1,returndatasize()) @@ -325,48 +261,47 @@ def test_create_fail_result( # sstore(2, mload(0x200)) # sstore(3, mload(0x220)) # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x10, - value=Op.CALL( - gas=Op.GAS, - address=0xDA7A, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=0x100, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x11, value=Op.RETURNDATASIZE) - + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x100)) - + Op.SSTORE(key=0x13, value=Op.MLOAD(offset=0x120)) - + Op.PUSH1[0x0] - + Op.CALLDATALOAD(offset=Op.DUP1) - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.SSTORE(key=0x0, value=Op.CREATE) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY( - dest_offset=0x200, - offset=0x0, - size=Op.RETURNDATASIZE, - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x200)) - + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x220)) - + Op.STOP - ), + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x10, + value=Op.CALL( + gas=Op.GAS, + address=0xDA7A, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=0x100, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x11, value=Op.RETURNDATASIZE) + + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x100)) + + Op.SSTORE(key=0x13, value=Op.MLOAD(offset=0x120)) + + Op.PUSH2[0x5A17] + + Op.PUSH1[0x0] + + Op.CALLDATALOAD(offset=Op.DUP1) + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.SSTORE(key=0x0, value=Op.CREATE2) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY( + dest_offset=0x200, offset=0x0, size=Op.RETURNDATASIZE + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x200)) + + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x220)) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def0"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEF5), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # // Before the main call, call DA7A to fill up the return buffer # sstore(0x10, call(gas(), 0xDA7A, 0, 0, 0, 0x100, 0x40)) @@ -381,7 +316,7 @@ def test_create_fail_result( # extcodecopy(srcAddr, 0, 0, codeSize) # # // Create - # sstore(0,create2(0, 0, codeSize, 0x5A17)) + # sstore(0,create2(0, 0, codeSize, 0xBAD05A17)) # # // If we have a returned buffer, see what it is # sstore(1,returndatasize()) @@ -389,49 +324,63 @@ def test_create_fail_result( # sstore(2, mload(0x200)) # sstore(3, mload(0x220)) # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x10, - value=Op.CALL( - gas=Op.GAS, - address=0xDA7A, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=0x100, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x11, value=Op.RETURNDATASIZE) - + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x100)) - + Op.SSTORE(key=0x13, value=Op.MLOAD(offset=0x120)) - + Op.PUSH2[0x5A17] - + Op.PUSH1[0x0] - + Op.CALLDATALOAD(offset=Op.DUP1) - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.SSTORE(key=0x0, value=Op.CREATE2) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY( - dest_offset=0x200, - offset=0x0, - size=Op.RETURNDATASIZE, - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x200)) - + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x220)) - + Op.STOP - ), + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x10, + value=Op.CALL( + gas=Op.GAS, + address=0xDA7A, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=0x100, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x11, value=Op.RETURNDATASIZE) + + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x100)) + + Op.SSTORE(key=0x13, value=Op.MLOAD(offset=0x120)) + + Op.PUSH4[0xBAD05A17] + + Op.PUSH1[0x0] + + Op.CALLDATALOAD(offset=Op.DUP1) + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.SSTORE(key=0x0, value=Op.CREATE2) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY( + dest_offset=0x200, offset=0x0, size=Op.RETURNDATASIZE + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x200)) + + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x220)) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0def5"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEFF), # noqa: E501 ) - # Source: Yul + # Source: raw + # 0x600100 + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] + Op.STOP, + balance=24589, + nonce=1, + address=Address(0xBB0237AB04970E3CF3E813C02064662ADC89336B), # noqa: E501 + ) + # Source: raw + # 0x600100 + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] + Op.STOP, + balance=24589, + nonce=1, + address=Address(0x13C950F8740FFAEA1869A88D70B029E8B0C9A8DA), # noqa: E501 + ) + # Source: yul + # berlin # { # // Before the main call, call DA7A to fill up the return buffer # sstore(0x10, call(gas(), 0xDA7A, 0, 0, 0, 0x100, 0x40)) @@ -446,7 +395,7 @@ def test_create_fail_result( # extcodecopy(srcAddr, 0, 0, codeSize) # # // Create - # sstore(0,create2(0, 0, codeSize, 0xBAD05A17)) + # sstore(0,create(0, 0, codeSize)) # # // If we have a returned buffer, see what it is # sstore(1,returndatasize()) @@ -454,62 +403,54 @@ def test_create_fail_result( # sstore(2, mload(0x200)) # sstore(3, mload(0x220)) # } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x10, - value=Op.CALL( - gas=Op.GAS, - address=0xDA7A, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=0x100, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x11, value=Op.RETURNDATASIZE) - + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x100)) - + Op.SSTORE(key=0x13, value=Op.MLOAD(offset=0x120)) - + Op.PUSH4[0xBAD05A17] - + Op.PUSH1[0x0] - + Op.CALLDATALOAD(offset=Op.DUP1) - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.SSTORE(key=0x0, value=Op.CREATE2) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY( - dest_offset=0x200, - offset=0x0, - size=Op.RETURNDATASIZE, - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x200)) - + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x220)) - + Op.STOP - ), + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x10, + value=Op.CALL( + gas=Op.GAS, + address=0xDA7A, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=0x100, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x11, value=Op.RETURNDATASIZE) + + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x100)) + + Op.SSTORE(key=0x13, value=Op.MLOAD(offset=0x120)) + + Op.PUSH1[0x0] + + Op.CALLDATALOAD(offset=Op.DUP1) + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.SSTORE(key=0x0, value=Op.CREATE) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY( + dest_offset=0x200, offset=0x0, size=Op.RETURNDATASIZE + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x200)) + + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x220)) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000c0deff"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.PUSH1[0x1] + Op.STOP, - balance=0x600D, - address=Address("0x13c950f8740ffaea1869a88d70b029e8b0c9a8da"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000C0DEEE), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x600100 + contract_9 = pre.deploy_contract( # noqa: F841 code=Op.PUSH1[0x1] + Op.STOP, - balance=0x600D, - address=Address("0xbb0237ab04970e3cf3e813c02064662adc89336b"), # noqa: E501 + balance=24589, + nonce=1, + address=Address(0xF9D1EA8EAB6963659EE85B3E0B4D8A57E7EDBA2B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # // The operation to run # // F0 - CREATE @@ -539,68 +480,228 @@ def test_create_fail_result( # // called correctly # if eq(cond,0x0006) { gasAmt := add(30000,mul(22100,4)) } # - # // Send the condition to the contract we call so it'll know whether - # ... (13 more lines) - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x20] - + Op.PUSH2[0x200] - + Op.DUP2 - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.ADD(Op.CALLDATALOAD(offset=0x4), 0xC0DE00) - + Op.CALLDATALOAD(offset=0x24) - + Op.SSTORE( - key=0x10, - value=Op.CALL( - gas=Op.GAS, - address=0xDA7A, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP5, - ret_offset=0x100, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x11, value=Op.RETURNDATASIZE) - + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x100)) - + Op.SSTORE(key=0x13, value=Op.MLOAD(offset=0x120)) - + Op.GAS - + Op.SWAP1 - + Op.JUMPI(pc=0x52, condition=Op.EQ(Op.DUP2, 0x6)) - + Op.JUMPDEST - + Op.DUP4 - + Op.MSTORE - + Op.SSTORE(key=0x0, value=Op.CALL) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x200)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH3[0x1CE80] - + Op.SWAP2 - + Op.POP - + Op.JUMP(pc=0x3F) - ), + # ... (14 more lines) + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x20] + + Op.PUSH2[0x200] + + Op.DUP2 + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.ADD(Op.CALLDATALOAD(offset=0x4), 0xC0DE00) + + Op.CALLDATALOAD(offset=0x24) + + Op.SSTORE( + key=0x10, + value=Op.CALL( + gas=Op.GAS, + address=0xDA7A, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP5, + ret_offset=0x100, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x11, value=Op.RETURNDATASIZE) + + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x100)) + + Op.SSTORE(key=0x13, value=Op.MLOAD(offset=0x120)) + + Op.GAS + + Op.SWAP1 + + Op.JUMPI(pc=0x52, condition=Op.EQ(Op.DUP2, 0x6)) + + Op.JUMPDEST + + Op.DUP4 + + Op.MSTORE + + Op.SSTORE(key=0x0, value=Op.CALL) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x200)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH3[0x1CE80] + + Op.SWAP2 + + Op.POP + + Op.JUMP(pc=0x3F), balance=0xBA1A9CE0BA1A9CE, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.PUSH1[0x1] + Op.STOP, - balance=0x600D, - address=Address("0xf9d1ea8eab6963659ee85b3e0b4d8a57e7edba2b"), # noqa: E501 + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_10: Account( + storage={ + 0: 0, + 1: 0, + 2: 0, + 16: 1, + 17: 64, + 18: 0xDEADBEEF, + 19: 24743, + }, + ), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={ + 0: 0xB44F2C88D3D4283CD1E54E418C4FF7E6A6C73202, + 1: 0, + 2: 0, + 3: 0, + 16: 1, + 17: 64, + 18: 0xDEADBEEF, + 19: 24743, + }, + ), + }, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={ + 0: 0x65EE26A034447B6AC64ABDCA1CCCB7B747E4A231, + 1: 0, + 2: 0, + 3: 0, + 16: 1, + 17: 64, + 18: 0xDEADBEEF, + 19: 24743, + }, + ), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={ + 0: 0, + 1: 32, + 2: 0xBAD0BAD0BAD, + 16: 1, + 17: 64, + 18: 0xDEADBEEF, + 19: 24743, + }, + ), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={ + 0: 0, + 1: 32, + 2: 0xBAD0BAD0BAD, + 16: 1, + 17: 64, + 18: 0xDEADBEEF, + 19: 24743, + }, + ), + }, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0, + 1: 0, + 16: 1, + 17: 64, + 18: 0xDEADBEEF, + 19: 24743, + }, + ), + }, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0, + 1: 0, + 16: 1, + 17: 64, + 18: 0xDEADBEEF, + 19: 24743, + }, + ), + }, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_8: Account( + storage={ + 0: 0, + 1: 0, + 16: 1, + 17: 64, + 18: 0xDEADBEEF, + 19: 24743, + }, + ), + }, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_8: Account( + storage={ + 0: 0, + 1: 0, + 16: 1, + 17: 64, + 18: 0xDEADBEEF, + 19: 24743, + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x6), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x6), + Bytes("1a8451e6") + Hash(0xF0) + Hash(contract_2, left_padding=True), + Bytes("1a8451e6") + Hash(0xF5) + Hash(contract_2, left_padding=True), + Bytes("1a8451e6") + Hash(0xF0) + Hash(contract_1, left_padding=True), + Bytes("1a8451e6") + Hash(0xF5) + Hash(contract_1, left_padding=True), + Bytes("1a8451e6") + Hash(0xFF) + Hash(contract_2, left_padding=True), + Bytes("1a8451e6") + Hash(0xFF) + Hash(contract_1, left_padding=True), + Bytes("1a8451e6") + Hash(0xEE) + Hash(contract_2, left_padding=True), + Bytes("1a8451e6") + Hash(0xEE) + Hash(contract_1, left_padding=True), + ] + tx_gas = [16777216] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, + to=contract_10, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_high_nonce.py b/tests/ported_static/stCreateTest/test_create_high_nonce.py index 50c0cbf0458..6aa4fad41ee 100644 --- a/tests/ported_static/stCreateTest/test_create_high_nonce.py +++ b/tests/ported_static/stCreateTest/test_create_high_nonce.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_high_nonce. Ported from: -tests/static/state_tests/stCreateTest/CREATE_HighNonceFiller.yml +state_tests/stCreateTest/CREATE_HighNonceFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreateTest/CREATE_HighNonceFiller.yml"], + ["state_tests/stCreateTest/CREATE_HighNonceFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_create_high_nonce( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_high_nonce.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,7 +48,8 @@ def test_create_high_nonce( ) pre[sender] = Account(balance=0x3B9ACA00) - # Source: Yul + # Source: yul + # byzantium # { # // initcode: { return(0, 1) } # mstore(0, 0x60016000f3000000000000000000000000000000000000000000000000000000) # noqa: E501 @@ -55,31 +58,33 @@ def test_create_high_nonce( # # let noOptimization := msize() # } - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x60016000F3000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x5), - ) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x60016000F3000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, value=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x5) + ) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.STOP, nonce=18446744073709551615, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=16777216, ) post = { - contract: Account(storage={1: 1}), + sender: Account(nonce=1), + contract_0: Account(storage={0: 0, 1: 1}, nonce=18446744073709551615), + Address( + 0x04E9A8460199E670FFB592F93A2F74BDCB44B0BD + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_high_nonce_minus1.py b/tests/ported_static/stCreateTest/test_create_high_nonce_minus1.py index 7a86b8d7999..688ddf9750e 100644 --- a/tests/ported_static/stCreateTest/test_create_high_nonce_minus1.py +++ b/tests/ported_static/stCreateTest/test_create_high_nonce_minus1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_high_nonce_minus1. Ported from: -tests/static/state_tests/stCreateTest/CREATE_HighNonceMinus1Filler.yml +state_tests/stCreateTest/CREATE_HighNonceMinus1Filler.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreateTest/CREATE_HighNonceMinus1Filler.yml"], + ["state_tests/stCreateTest/CREATE_HighNonceMinus1Filler.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_create_high_nonce_minus1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_high_nonce_minus1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,7 +48,8 @@ def test_create_high_nonce_minus1( ) pre[sender] = Account(balance=0x3B9ACA00) - # Source: Yul + # Source: yul + # byzantium # { # // initcode: { return(0, 1) } # mstore(0, 0x60016000f3000000000000000000000000000000000000000000000000000000) # noqa: E501 @@ -55,35 +58,38 @@ def test_create_high_nonce_minus1( # # let noOptimization := msize() # } - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x60016000F3000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x5), - ) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x60016000F3000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, value=Op.CREATE(value=Op.DUP1, offset=0x0, size=0x5) + ) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.STOP, nonce=18446744073709551614, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=16777216, ) post = { - contract: Account( + sender: Account(nonce=1), + contract_0: Account( storage={ 0: 0xD061B08A84EBC70FE797F9BD62F4269EF8274A13, 1: 1, }, + nonce=18446744073709551615, + ), + Address(0xD061B08A84EBC70FE797F9BD62F4269EF8274A13): Account( + code=bytes.fromhex("00") ), } diff --git a/tests/ported_static/stCreateTest/test_create_large_result.py b/tests/ported_static/stCreateTest/test_create_large_result.py index 4f74f23224f..c64ed955641 100644 --- a/tests/ported_static/stCreateTest/test_create_large_result.py +++ b/tests/ported_static/stCreateTest/test_create_large_result.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stCreateTest/createLargeResultFiller.yml +state_tests/stCreateTest/createLargeResultFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,186 +28,124 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreateTest/createLargeResultFiller.yml"], + ["state_tests/stCreateTest/createLargeResultFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f3000000000000000000000000000000000000000000000000000000000000c000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 0x4B1649D} - ) - }, + pytest.param( + 0, + 0, + 0, + id="CREATE-RETURN", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000006000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0x553E6C30AF61E7A3576F31311EA8A620F80D047E, - 1: 0x4BBCE4, - 2: 0xDCBCC213F0C91B71D38DEDD06C95CCB99467B9B05F275BED536DE1044F5F18FA, # noqa: E501 - } - ) - }, + pytest.param( + 1, + 0, + 0, + id="CREATE2-RETURN", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000006001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 0x4B16491} - ) - }, + pytest.param( + 2, + 0, + 0, + id="CREATE-REVERT", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0x553E6C30AF61E7A3576F31311EA8A620F80D047E, - 1: 0x1777F, - 2: 0xD956C0ABD597440481902014A37B733358EE7685461EB1B5916EEFD83381E6D9, # noqa: E501 - } - ) - }, + pytest.param( + 3, + 0, + 0, + id="CREATE2-REVERT", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000fd000000000000000000000000000000000000000000000000000000000000c000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 54116} - ) - }, + pytest.param( + 4, + 0, + 0, + id="CREATE-RETURN-MAX", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000fd0000000000000000000000000000000000000000000000000000000000006000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 48356} - ) - }, + pytest.param( + 5, + 0, + 0, + id="CREATE2-RETURN-MAX", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000fd0000000000000000000000000000000000000000000000000000000000006001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 48362} - ) - }, + pytest.param( + 6, + 0, + 0, + id="CREATE-REVERT-MAX", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000fd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 44927} - ) - }, + pytest.param( + 7, + 0, + 0, + id="CREATE2-REVERT-MAX", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f500000000000000000000000000000000000000000000000000000000000000f3000000000000000000000000000000000000000000000000000000000000c000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 0x4B1649E} - ) - }, + pytest.param( + 8, + 0, + 0, + id="CREATE-RETURN-TOOBIG", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f500000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000006000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0xA5DC71D47D0D8DCF5990E81C74E981BAF24A8FA2, - 1: 0x4BBD2E, - 2: 0xDCBCC213F0C91B71D38DEDD06C95CCB99467B9B05F275BED536DE1044F5F18FA, # noqa: E501 - } - ) - }, + pytest.param( + 9, + 0, + 0, + id="CREATE2-RETURN-TOOBIG", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f500000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000006001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 0x4B16492} - ) - }, + pytest.param( + 10, + 0, + 0, + id="CREATE-REVERT-TOOBIG", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f500000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 0: 0x595C5D0C272757CFF0B3DCA4ED60D60CD6E9F58, - 1: 0x177C9, - 2: 0xD956C0ABD597440481902014A37B733358EE7685461EB1B5916EEFD83381E6D9, # noqa: E501 - } - ) - }, + pytest.param( + 11, + 0, + 0, + id="CREATE2-REVERT-TOOBIG", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f500000000000000000000000000000000000000000000000000000000000000fd000000000000000000000000000000000000000000000000000000000000c000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 54190} - ) - }, + pytest.param( + 12, + 0, + 0, + id="CREATE-RETURN-HUGE", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f500000000000000000000000000000000000000000000000000000000000000fd0000000000000000000000000000000000000000000000000000000000006000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 48430} - ) - }, + pytest.param( + 13, + 0, + 0, + id="CREATE2-RETURN-HUGE", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f500000000000000000000000000000000000000000000000000000000000000fd0000000000000000000000000000000000000000000000000000000000006001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 48436} - ) - }, + pytest.param( + 14, + 0, + 0, + id="CREATE-REVERT-HUGE", ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f500000000000000000000000000000000000000000000000000000000000000fd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={1: 45001} - ) - }, + pytest.param( + 15, + 0, + 0, + id="CREATE2-REVERT-HUGE", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - ], ) @pytest.mark.pre_alloc_mutable def test_create_large_result( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000C0DE) + contract_1 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -215,7 +159,8 @@ def test_create_large_result( gas_limit=100000000, ) - # Source: Yul + # Source: yul + # london # { # // Store some data # mstore(0, not(0)) @@ -226,16 +171,15 @@ def test_create_large_result( # // Return it as the new contract # return(0, mload(0x100)) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.NOT(0x0)) - + Op.CODECOPY(dest_offset=Op.DUP1, offset=0x100, size=0x20) - + Op.RETURN(offset=0x0, size=Op.MLOAD(offset=0x100)) - ), - address=Address("0x000000000000000000000000000000000000c0de"), # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.NOT(0x0)) + + Op.CODECOPY(dest_offset=Op.DUP1, offset=0x100, size=0x20) + + Op.RETURN(offset=0x0, size=Op.MLOAD(offset=0x100)), + nonce=1, + address=Address(0x000000000000000000000000000000000000C0DE), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: Yul + # Source: yul + # london # { # sstore(1, gas()) # @@ -265,62 +209,199 @@ def test_create_large_result( # // Create the contract # let newAddr # switch operation - # case 0xF0 { newAddr := create(0, 0, 0x120) } - # ... (9 more lines) - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=Op.GAS) - + Op.CALLDATALOAD(offset=0x4) - + Op.CALLDATALOAD(offset=0x24) - + Op.CALLDATALOAD(offset=0x44) - + Op.SWAP1 - + Op.PUSH1[0x1] - + Op.EXTCODESIZE(address=0xC0DE) - + Op.EXTCODECOPY( - address=0xC0DE, - dest_offset=Op.DUP1, - offset=0x0, - size=Op.DUP1, - ) - + Op.SUB - + Op.MSTORE8 - + Op.PUSH2[0x100] - + Op.MSTORE - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.JUMPI(pc=0x53, condition=Op.EQ(0xF0, Op.DUP1)) - + Op.PUSH1[0xF5] - + Op.JUMPI(pc=0x44, condition=Op.EQ) - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=Op.DUP1) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.SLOAD(key=0x1), Op.GAS)) - + Op.SSTORE(key=0x2, value=Op.EXTCODEHASH) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.CREATE2(value=Op.DUP1, offset=0x0, size=0x120, salt=0x5A17) - + Op.JUMP(pc=0x32) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.CREATE(value=Op.DUP1, offset=0x0, size=0x120) - + Op.JUMP(pc=0x32) - ), - storage={0x0: 0x60A7, 0x1: 0x60A7, 0x2: 0x60A7}, + # ... (10 more lines) + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=Op.GAS) + + Op.CALLDATALOAD(offset=0x4) + + Op.CALLDATALOAD(offset=0x24) + + Op.CALLDATALOAD(offset=0x44) + + Op.SWAP1 + + Op.PUSH1[0x1] + + Op.EXTCODESIZE(address=0xC0DE) + + Op.EXTCODECOPY( + address=0xC0DE, dest_offset=Op.DUP1, offset=0x0, size=Op.DUP1 + ) + + Op.SUB + + Op.MSTORE8 + + Op.PUSH2[0x100] + + Op.MSTORE + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.JUMPI(pc=0x53, condition=Op.EQ(0xF0, Op.DUP1)) + + Op.PUSH1[0xF5] + + Op.JUMPI(pc=0x44, condition=Op.EQ) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.DUP1) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.SLOAD(key=0x1), Op.GAS)) + + Op.SSTORE(key=0x2, value=Op.EXTCODEHASH) + + Op.STOP + + Op.JUMPDEST + + Op.POP + + Op.CREATE2(value=Op.DUP1, offset=0x0, size=0x120, salt=0x5A17) + + Op.JUMP(pc=0x32) + + Op.JUMPDEST + + Op.POP * 2 + + Op.CREATE(value=Op.DUP1, offset=0x0, size=0x120) + + Op.JUMP(pc=0x32), + storage={0: 24743, 1: 24743, 2: 24743}, balance=0xBA1A9CE0BA1A9CE, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_oo_gafter_init_code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -58,24 +74,52 @@ def test_create_oo_gafter_init_code( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE 0 18 14) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.CREATE(value=0x0, offset=0x12, size=0xE) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.CREATE(value=0x0, offset=0x12, size=0xE) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 0}), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 0}), + compute_create_address(address=contract_0, nonce=0): Account( + code=bytes.fromhex("6001600155") + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [54000, 55000] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata.py b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata.py index 857e48c33e6..0fd6daa2fbd 100644 --- a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata.py +++ b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata.py @@ -2,8 +2,7 @@ Call RETURNDATASIZE and RETURNDATACOPY after CREATE deploy a contract. Ported from: -tests/static/state_tests/stCreateTest -CreateOOGafterInitCodeReturndataFiller.json +state_tests/stCreateTest/CreateOOGafterInitCodeReturndataFiller.json """ import pytest @@ -12,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,28 +25,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CreateOOGafterInitCodeReturndataFiller.json", # noqa: E501 - ], + ["state_tests/stCreateTest/CreateOOGafterInitCodeReturndataFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (54000, {}), - (95000, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_oo_gafter_init_code_returndata( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Call RETURNDATASIZE and RETURNDATACOPY after CREATE deploy a...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call RETURNDATASIZE and RETURNDATACOPY after CREATE deploy a contract.""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -59,27 +71,36 @@ def test_create_oo_gafter_init_code_returndata( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE 0 18 14) [[ 1 ]] (RETURNDATASIZE) (RETURNDATACOPY 0 0 32) [[ 2 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.POP(Op.CREATE(value=0x0, offset=0x12, size=0xE)) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.POP(Op.CREATE(value=0x0, offset=0x12, size=0xE)) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [54000, 95000] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = { + contract_0: Account(storage={1: 0}), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata2.py b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata2.py index 53c668c3563..baf51e193f4 100644 --- a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata2.py +++ b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata2.py @@ -2,8 +2,7 @@ Call RETURNDATASIZE and RETURNDATACOPY after CREATE deploy a contract.... Ported from: -tests/static/state_tests/stCreateTest -CreateOOGafterInitCodeReturndata2Filler.json +state_tests/stCreateTest/CreateOOGafterInitCodeReturndata2Filler.json """ import pytest @@ -12,9 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -23,35 +28,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CreateOOGafterInitCodeReturndata2Filler.json", # noqa: E501 - ], + ["state_tests/stCreateTest/CreateOOGafterInitCodeReturndata2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (54000, {}), - ( - 95000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={2: 0x6460016001556000526005601BF3} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_oo_gafter_init_code_returndata2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Call RETURNDATASIZE and RETURNDATACOPY after CREATE deploy a...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Call RETURNDATASIZE and RETURNDATACOPY after CREATE deploy a contract.""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -66,27 +74,57 @@ def test_create_oo_gafter_init_code_returndata2( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE 0 18 14) [[ 1 ]] (RETURNDATASIZE) (RETURNDATACOPY 0 0 0) [[ 2 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.POP(Op.CREATE(value=0x0, offset=0x12, size=0xE)) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.POP(Op.CREATE(value=0x0, offset=0x12, size=0xE)) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 0}), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={1: 0, 2: 0x6460016001556000526005601BF3} + ), + compute_create_address(address=contract_0, nonce=0): Account( + code=bytes.fromhex("6001600155") + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [54000, 95000] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata3.py b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata3.py index 2de510c2b7c..7aba3a6ffbf 100644 --- a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata3.py +++ b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata3.py @@ -2,8 +2,7 @@ Calls a contract that runs CREATE which deploy a code. then OOG happens... Ported from: -tests/static/state_tests/stCreateTest -CreateOOGafterInitCodeReturndata3Filler.json +state_tests/stCreateTest/CreateOOGafterInitCodeReturndata3Filler.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -23,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CreateOOGafterInitCodeReturndata3Filler.json", # noqa: E501 - ], + ["state_tests/stCreateTest/CreateOOGafterInitCodeReturndata3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +32,10 @@ def test_create_oo_gafter_init_code_returndata3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Calls a contract that runs CREATE which deploy a code. then OOG...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Calls a contract that runs CREATE which deploy a code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,46 +50,48 @@ def test_create_oo_gafter_init_code_returndata3( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL - # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE 0 18 14) } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.CREATE(value=0x0, offset=0x12, size=0xE) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (CALLCODE (GAS) 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 32) (RETURNDATACOPY 0 0 32) [[ 1 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=Op.GAS, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + nonce=0, + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE 0 18 14) } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.CREATE(value=0x0, offset=0x12, size=0xE) + + Op.STOP, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=55000, ) - post: dict = {} + post = { + contract_0: Account(storage={1: 0}), + compute_create_address( + address=contract_1, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata_size.py b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata_size.py index 4587333768a..ddb8a1557dc 100644 --- a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata_size.py +++ b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_returndata_size.py @@ -2,8 +2,7 @@ Calls a contract that runs CREATE which deploy a code. then OOG happens... Ported from: -tests/static/state_tests/stCreateTest -CreateOOGafterInitCodeReturndataSizeFiller.json +state_tests/stCreateTest/CreateOOGafterInitCodeReturndataSizeFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreateTest/CreateOOGafterInitCodeReturndataSizeFiller.json", # noqa: E501 + "state_tests/stCreateTest/CreateOOGafterInitCodeReturndataSizeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_create_oo_gafter_init_code_returndata_size( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Calls a contract that runs CREATE which deploy a code. then OOG...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Calls a contract that runs CREATE which deploy a code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,28 +51,32 @@ def test_create_oo_gafter_init_code_returndata_size( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6960016001556001600255600052600a6016f3) (CREATE 0 13 19) (EXP 2 (RETURNDATASIZE)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, value=0x6960016001556001600255600052600A6016F3 - ) - + Op.POP(Op.CREATE(value=0x0, offset=0xD, size=0x13)) - + Op.EXP(0x2, Op.RETURNDATASIZE) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x6960016001556001600255600052600A6016F3 + ) + + Op.POP(Op.CREATE(value=0x0, offset=0xD, size=0x13)) + + Op.EXP(0x2, Op.RETURNDATASIZE) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=55054, value=1, ) - post: dict = {} + post = { + contract_0: Account(balance=1), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_revert.py b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_revert.py index f560062be50..17c72824f33 100644 --- a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_revert.py +++ b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_revert.py @@ -2,7 +2,7 @@ Calls a contract that runs CREATE which deploy a code. then after... Ported from: -tests/static/state_tests/stCreateTest/CreateOOGafterInitCodeRevertFiller.json +state_tests/stCreateTest/CreateOOGafterInitCodeRevertFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CreateOOGafterInitCodeRevertFiller.json", # noqa: E501 - ], + ["state_tests/stCreateTest/CreateOOGafterInitCodeRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +32,11 @@ def test_create_oo_gafter_init_code_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Calls a contract that runs CREATE which deploy a code. then after...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Calls a contract that runs CREATE which deploy a code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_2 = Address(0x094F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,67 +50,67 @@ def test_create_oo_gafter_init_code_revert( gas_limit=10000000, ) - # Source: LLL - # { (KECCAK256 0x00 0x2fffff) } - pre.deploy_contract( - code=Op.SHA3(offset=0x0, size=0x2FFFFF) + Op.STOP, + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (CALL (GAS) 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 32) [[ 1 ]] (MLOAD 0) } # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ) + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, nonce=0, - address=Address("0x094f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE 0 18 14) (CALLCODE 10000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) (REVERT 0 32) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.POP(Op.CREATE(value=0x0, offset=0x12, size=0xE)) - + Op.POP( - Op.CALLCODE( - gas=0x2710, - address=0x94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.POP(Op.CREATE(value=0x0, offset=0x12, size=0xE)) + + Op.POP( + Op.CALLCODE( + gas=0x2710, + address=0x94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - ), + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL - # { (CALL (GAS) 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 32) [[ 1 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SHA3(offset=0x0, size=0x2FFFFF) + Op.STOP, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0x094F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=285000, ) post = { - contract: Account(storage={1: 0x6460016001556000526005601BF3}), + contract_0: Account(storage={1: 0x6460016001556000526005601BF3}), + compute_create_address( + address=contract_1, nonce=0 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_revert2.py b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_revert2.py index c37130da314..12894addc0a 100644 --- a/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_revert2.py +++ b/tests/ported_static/stCreateTest/test_create_oo_gafter_init_code_revert2.py @@ -2,7 +2,7 @@ Calls a contract that runs CREATE which deploy a code. then after... Ported from: -tests/static/state_tests/stCreateTest/CreateOOGafterInitCodeRevert2Filler.json +state_tests/stCreateTest/CreateOOGafterInitCodeRevert2Filler.json """ import pytest @@ -12,8 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,45 +28,41 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CreateOOGafterInitCodeRevert2Filler.json", # noqa: E501 - ], + ["state_tests/stCreateTest/CreateOOGafterInitCodeRevert2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000c94f5374fce5edbc8e2a8697c15331677e6ebf0b", - { - Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={1: 0x6460016001556000526005601BF3} - ), - Address("0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={1: 255} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000d94f5374fce5edbc8e2a8697c15331677e6ebf0b", - { - Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={1: 255} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_oo_gafter_init_code_revert2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Calls a contract that runs CREATE which deploy a code. then after...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Calls a contract that runs CREATE which deploy a code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_2 = Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_3 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -74,92 +76,114 @@ def test_create_oo_gafter_init_code_revert2( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xE8D4A51000, + nonce=0, + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 + ) + # Source: lll + # { (CALL 33000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 32) [[ 1 ]] (MLOAD 0) } # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.POP( Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), + gas=0x80E8, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, - ret_size=0x0, + ret_size=0x20, ) - + Op.STOP - ), - balance=0xE8D4A51000, - nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL - # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE 0 18 14) (REVERT 0 32) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.POP(Op.CREATE(value=0x0, offset=0x12, size=0xE)) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={1: 255}, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL - # { (CALL 33000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 32) [[ 1 ]] (MLOAD 0) } # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x80E8, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + # Source: lll + # { (CALL 23000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 32) [[ 1 ]] (MLOAD 0) } # noqa: E501 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x59D8, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x1: 0xFF}, + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={1: 255}, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL - # { (CALL 23000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 32) [[ 1 ]] (MLOAD 0) } # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x59D8, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x1: 0xFF}, + # Source: lll + # { (MSTORE 0 0x6460016001556000526005601bf3) (CREATE 0 18 14) (REVERT 0 32) } # noqa: E501 + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.POP(Op.CREATE(value=0x0, offset=0x12, size=0xE)) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={1: 0x6460016001556000526005601BF3} + ), + compute_create_address( + address=contract_3, nonce=0 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account(storage={1: 0}), + compute_create_address( + address=contract_3, nonce=0 + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_1, left_padding=True), + Hash(contract_2, left_padding=True), + ] + tx_gas = [175000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=175000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_oo_gafter_max_codesize.py b/tests/ported_static/stCreateTest/test_create_oo_gafter_max_codesize.py index 15b7eafb134..e127e62553d 100644 --- a/tests/ported_static/stCreateTest/test_create_oo_gafter_max_codesize.py +++ b/tests/ported_static/stCreateTest/test_create_oo_gafter_max_codesize.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_oo_gafter_max_codesize. Ported from: -tests/static/state_tests/stCreateTest/CreateOOGafterMaxCodesizeFiller.yml +state_tests/stCreateTest/CreateOOGafterMaxCodesizeFiller.yml """ import pytest @@ -11,908 +11,85 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, ) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CreateOOGafterMaxCodesizeFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "a6f227c000000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x008fe4a99394ff41d3689b06e1206ebb5e841b05"): Account( - storage={0: 24576} - ), - Address("0x009f2c334b4957b72c252ab42bbd0dc7c3289edf"): Account( - storage={0: 24576} - ), - Address("0x00c7a731691874e9e97493e2b16e7c6787197e48"): Account( - storage={0: 24576} - ), - Address("0x01295f79874d5247b4b665a92f73931900f1af6d"): Account( - storage={0: 24576} - ), - Address("0x0171dea2507cc731b1ba8bdbf35008111f59f619"): Account( - storage={0: 24576} - ), - Address("0x030d1f67dd69d59b426d610dc4965702eb155b6a"): Account( - storage={0: 24576} - ), - Address("0x036f16e234d8a011d864210d0d3e70494ae1a3a0"): Account( - storage={0: 24576} - ), - Address("0x038955d1e23d253db998914d068201cd814d52b4"): Account( - storage={0: 24576} - ), - Address("0x039cd5ea0a9bf718b11e0b649692bd15fb0f298d"): Account( - storage={0: 24576} - ), - Address("0x03bc5e3b1d12e870bfa0372aed3b121c0761f199"): Account( - storage={0: 24576} - ), - Address("0x041218fe5a5552adf0bfc447cecf0715fc34b890"): Account( - storage={0: 24576} - ), - Address("0x0461e813a48f3589693639de73c14fe6f3e3b114"): Account( - storage={0: 24576} - ), - Address("0x0583ad2e135ac542b1ef85c150b94322853158c9"): Account( - storage={0: 24576} - ), - Address("0x067cc58d35dd7591cc4203b79c709c8a1035d366"): Account( - storage={0: 24576} - ), - Address("0x071d4688164ccd18e2e53260285796bcb164f2db"): Account( - storage={0: 24576} - ), - Address("0x074a7dabb0c390eafbee22baa0575637da1d42fb"): Account( - storage={0: 24576} - ), - Address("0x07c32f644fbf840aa4815a6e1b16f7d8e27ffe54"): Account( - storage={0: 24576} - ), - Address("0x07f65ca20efa11bb369d6380745a26a995a6d990"): Account( - storage={0: 24576} - ), - Address("0x084c10d2bcf80dfaeae486a4cd8741b990145977"): Account( - storage={0: 24576} - ), - Address("0x08ce0c79d24ec8b39aff98c87c1467067ceee26e"): Account( - storage={0: 24576} - ), - Address("0x090744f767347333e2a5e08fae58f2ca7eb434d9"): Account( - storage={0: 24576} - ), - Address("0x097a1dadf2e42ac2d3a61aa0a74f4485150b7fc8"): Account( - storage={0: 24576} - ), - Address("0x0a005a10daa8947d7986cef760cbab34e2aa19fa"): Account( - storage={0: 24576} - ), - Address("0x0b8eccd09ac0ccad79e27441d10979c9bc880213"): Account( - storage={0: 24576} - ), - Address("0x0f6339ac04e016cc2bf11910912597b65e27fe1a"): Account( - storage={0: 24576} - ), - Address("0x1088f8abbbe5e2d16e7105e70f6cc8b47529559b"): Account( - storage={0: 24576} - ), - Address("0x12388e20268ad46d1a9d10b47050fa45a58e0670"): Account( - storage={0: 24576} - ), - Address("0x12b4ca840fc837233d4760863b242954d896641d"): Account( - storage={0: 24576} - ), - Address("0x142b0c4c07d7592c1018e9c5133b8a535482a3ab"): Account( - storage={0: 24576} - ), - Address("0x14a65aef3fbdb53d66b97abf4bee064e4af74831"): Account( - storage={0: 24576} - ), - Address("0x1544b32742f0ef65b83bef63d8da3f79747a122b"): Account( - storage={0: 24576} - ), - Address("0x18e03de511a3191c75505fa99adee652682a60dc"): Account( - storage={0: 24576} - ), - Address("0x190922de67df80176c3a3af07e9372438b1e5057"): Account( - storage={0: 24576} - ), - Address("0x19a62f6e9c37c0daccb7fb627663bf22dc20ca5b"): Account( - storage={0: 24576} - ), - Address("0x19e84fa14eaa2d667245981c08baa7e93ae94b92"): Account( - storage={0: 24576} - ), - Address("0x1a2dfe43e35a2a2bc4719ef2126af20066b636e5"): Account( - storage={0: 24576} - ), - Address("0x1aa67b714216e355be2b374609f98f2372631702"): Account( - storage={0: 24576} - ), - Address("0x1e4802f8e20a034148f9f7e9f7ff8fcf89a1f3c8"): Account( - storage={0: 24576} - ), - Address("0x1ea15370a48589c62ca0de7aaa001ff14290d651"): Account( - storage={0: 24576} - ), - Address("0x1f03637d1c15acf5c8f41fbe4caa43fd5be5cd8e"): Account( - storage={0: 24576} - ), - Address("0x20543219cb5496cdb12905720e336a36ab8584a3"): Account( - storage={0: 24576} - ), - Address("0x20ae87c7b64ae11a7b9930b87157f18124cfe82c"): Account( - storage={0: 24576} - ), - Address("0x20d1c37d492b7ebaca028f1048a898189b18d13f"): Account( - storage={0: 24576} - ), - Address("0x22959e4445ef9eef4c56a735d5d83611b2733b04"): Account( - storage={0: 24576} - ), - Address("0x25ec69783ad564c5089b35529705c813bf36dbe4"): Account( - storage={0: 24576} - ), - Address("0x27c860b8374013394fbeb583b67dc9d5819007b8"): Account( - storage={0: 24576} - ), - Address("0x27fad120d123a456afff7901a618249a1cb402fc"): Account( - storage={0: 24576} - ), - Address("0x286000ed447bee4415eb336abce3d58f2f41a667"): Account( - storage={0: 24576} - ), - Address("0x2b13e6d598d1ff118f1e7c8004933ff8ed19ebb5"): Account( - storage={0: 24576} - ), - Address("0x2b2308528a9d4ae9dd0d4fd128a936cccd49606e"): Account( - storage={0: 24576} - ), - Address("0x2d84a0f4a5c0431731c561f07da860cee6a685ca"): Account( - storage={0: 24576} - ), - Address("0x2f0411b3af6e4925b16e23fff8abbee62083619b"): Account( - storage={0: 24576} - ), - Address("0x30d71546cd3769b96ddc33d1b2fbf7e6afa5c816"): Account( - storage={0: 24576} - ), - Address("0x30f35a56e64cce71d4939a89433a62cdd041c33d"): Account( - storage={0: 24576} - ), - Address("0x31ce43f969bd048e8c02c12b95e29a0c5c4cd90f"): Account( - storage={0: 24576} - ), - Address("0x333354aa92066991501f72cf48ba3aacb4d284a5"): Account( - storage={0: 24576} - ), - Address("0x336debb8ce5a3cf4b40be471ac04f77b51f2d2e1"): Account( - storage={0: 24576} - ), - Address("0x34eca9e866a93f9a817d4e8c2a634488a1995549"): Account( - storage={0: 24576} - ), - Address("0x3963c5ba8ec666e841450ad411c7ee46f5916cdb"): Account( - storage={0: 24576} - ), - Address("0x396b47fae89161b1959b5a833acf816be526b860"): Account( - storage={0: 24576} - ), - Address("0x39e86858df5a34c9a2625bcf973cf289931c415a"): Account( - storage={0: 24576} - ), - Address("0x3a74fefeb9841b01a56e80ae0d353a0028b4c73a"): Account( - storage={0: 24576} - ), - Address("0x3df4a81ea5b969a1b6883a78a8c5467bd59723c6"): Account( - storage={0: 24576} - ), - Address("0x4380c6b5ce52da72b7c144bd040f0dc142c100d2"): Account( - storage={0: 24576} - ), - Address("0x45c60faf3bac6b671b29fb6c756a5db8fece2b73"): Account( - storage={0: 24576} - ), - Address("0x45f8b2981c97ffbcb5712808678b539ce7089b9d"): Account( - storage={0: 24576} - ), - Address("0x461d621b21d3484e5967063bbdabe432236b6d1e"): Account( - storage={0: 24576} - ), - Address("0x464e9263b5ec030efff98377d7b0af65b91a6d12"): Account( - storage={0: 24576} - ), - Address("0x46d195d72aaf347a802fdc1273f647db8abda19c"): Account( - storage={0: 24576} - ), - Address("0x47d608e9eb2a9603cad5f0ce10029434efcd873e"): Account( - storage={0: 24576} - ), - Address("0x497d3d33f7c079fc7ab53f5baa7d96ccd802c96f"): Account( - storage={0: 24576} - ), - Address("0x4a5de374d69c1de39cbfb7f3963ce460a64c6495"): Account( - storage={0: 24576} - ), - Address("0x4b2c1b96e4b881960f7241f496a85155136528c6"): Account( - storage={0: 24576} - ), - Address("0x4ccb281d5393f491edb218da6fe87e7383e5f8c2"): Account( - storage={0: 24576} - ), - Address("0x4d70a4f9d072ad765bce998b8ccb5e61c29cd6d2"): Account( - storage={0: 24576} - ), - Address("0x4e799c8bdc45c386d64c005e7784fff3e44807dd"): Account( - storage={0: 24576} - ), - Address("0x50db39e8efeff6e63ab8228feaec3a6e24a6e95e"): Account( - storage={0: 24576} - ), - Address("0x53acf65110278d0917b0218ea70c5c82a50ae78a"): Account( - storage={0: 24576} - ), - Address("0x5518286da4b2adc58f17b4ad52fc3f9a38a8c552"): Account( - storage={0: 24576} - ), - Address("0x55bbb55f14ca906c870f8e2898a2a3279b72782b"): Account( - storage={0: 24576} - ), - Address("0x56f8eefb2f0d9b3fddbcca160d7adb0f06ee2798"): Account( - storage={0: 24576} - ), - Address("0x57f440c1e3896e48c29d59c02ec330f8858d1f98"): Account( - storage={0: 24576} - ), - Address("0x5806f1701c5e1fa25c406f30ae3258df58acf078"): Account( - storage={0: 24576} - ), - Address("0x584549b2d2211d49289a27d5b1ce2c15f13eb577"): Account( - storage={0: 24576} - ), - Address("0x59612f767697ed38e477238326f3372aa3e5eb6a"): Account( - storage={0: 24576} - ), - Address("0x5baac4dce052912f038c5e003ef3b4ea15c9306e"): Account( - storage={0: 24576} - ), - Address("0x5bbf0533d9045f72efe987c4674e112c7300d07c"): Account( - storage={0: 24576} - ), - Address("0x5da99b5c1a17088158989bf3641459bcea07975d"): Account( - storage={0: 24576} - ), - Address("0x5e37a04adf836d7c1b1dbc84ce065955d4e51f68"): Account( - storage={0: 24576} - ), - Address("0x5ea06af477885dbd9eaaf073edf03f8f14e20601"): Account( - storage={0: 24576} - ), - Address("0x6186e6dd86ffd92e6d9203db6ebdd2a52cece6f6"): Account( - storage={0: 24576} - ), - Address("0x6355ac4b9d8b9a0280d85bca5fc5d7178bd8f895"): Account( - storage={0: 24576} - ), - Address("0x63f4c7e61ac2b5276bdaa7dae7110561be17e98b"): Account( - storage={0: 24576} - ), - Address("0x672b53b234366400ecc07d1cf0e8a28f7ee204f8"): Account( - storage={0: 24576} - ), - Address("0x67828d8484ce84789f9ace803f5fa6375427ee74"): Account( - storage={0: 24576} - ), - Address("0x67ddaac192b9e0a7c977e027ec71641ad2d1e17c"): Account( - storage={0: 24576} - ), - Address("0x69063beaa2ccc2af95d158fe33443c61ca08b306"): Account( - storage={0: 24576} - ), - Address("0x69bbf6b71f9895aede8b7d72c04d83d386746858"): Account( - storage={0: 24576} - ), - Address("0x6ab290e1599c21399b71281f9d5a3a907f794796"): Account( - storage={0: 24576} - ), - Address("0x6f90f79698c2df7072b254f44298c21bc900a2fd"): Account( - storage={0: 24576} - ), - Address("0x6fb954faac7af474042ca4ed99a494608a6b2034"): Account( - storage={0: 24576} - ), - Address("0x70179a1e41ca5110788e3906a987282e091fa582"): Account( - storage={0: 24576} - ), - Address("0x706eec6be586e6faaccd7c08fe500cdb762f9a03"): Account( - storage={0: 24576} - ), - Address("0x70983d6bacc64c167901a0756ccecb9c2756f76c"): Account( - storage={0: 24576} - ), - Address("0x713df334cbd70c9e2dd027f6d9820854a03297ab"): Account( - storage={0: 24576} - ), - Address("0x73281f5dbd975c5b9335dbb3220451d4550ec187"): Account( - storage={0: 24576} - ), - Address("0x74ce5dfe5278e34c844f9526e835754d8f2a4853"): Account( - storage={0: 24576} - ), - Address("0x7603643a3c2fd2120ed9d28500e2da905b4a4c30"): Account( - storage={0: 24576} - ), - Address("0x76398682b927b04cfd13473d001c8152c66bb05f"): Account( - storage={0: 24576} - ), - Address("0x79243f03010f35335bdc5dd8bac8fd053b0ed5dd"): Account( - storage={0: 24576} - ), - Address("0x79d0076fa2213249c34ecf0f4cd85d01c8059106"): Account( - storage={0: 24576} - ), - Address("0x7b544c88e59949827e3b90698af52957f0abc279"): Account( - storage={0: 24576} - ), - Address("0x7b7884b6efdd6c91862a7065487277a39abac083"): Account( - storage={0: 24576} - ), - Address("0x7b80ecab4092371721de2015dbdc35dccd3fcf5c"): Account( - storage={0: 24576} - ), - Address("0x7c8b3524fffc0e8eb78704b27de270a016ae75c8"): Account( - storage={0: 24576} - ), - Address("0x7cd8a3c6b9680e9891e60404ef6567fde5dcec98"): Account( - storage={0: 24576} - ), - Address("0x7e3bd590a907dd2efd9a59ff5a323060ef22d805"): Account( - storage={0: 24576} - ), - Address("0x7e6095002ed2d430bc4b2878a6b450b29009b16b"): Account( - storage={0: 24576} - ), - Address("0x7e916fa8af1b00423505d9a2f160d023d9c6af99"): Account( - storage={0: 24576} - ), - Address("0x7eb2135adfbd65150b8e2a9e0c4fe8713a8e386c"): Account( - storage={0: 24576} - ), - Address("0x7eeaf9e649b762242a1034392e084bafd2a8aff6"): Account( - storage={0: 24576} - ), - Address("0x81bd8848da166eaf3454dd7d4193d2f90045b420"): Account( - storage={0: 24576} - ), - Address("0x81da7e005190adde1e6cb19603f71546d8f8dc72"): Account( - storage={0: 24576} - ), - Address("0x823bd47cf1dd771fe33b75e8e391a198b696cf96"): Account( - storage={0: 24576} - ), - Address("0x82e0efdcc3624e23e978fa09df7def295320238a"): Account( - storage={0: 24576} - ), - Address("0x831dff3eeb5fad5fc684f480870703287d559d47"): Account( - storage={0: 24576} - ), - Address("0x863e236652e374c1dc8734330abede9b6bb164a7"): Account( - storage={0: 24576} - ), - Address("0x88441d8123594b08ccb9716a77193fc45bb55c5f"): Account( - storage={0: 24576} - ), - Address("0x8b6ed72e9fc557e79819e4cf3f806d85a68d0b33"): Account( - storage={0: 24576} - ), - Address("0x8bbafbd848a59cdc3108087d83b94280ec69b5a8"): Account( - storage={0: 24576} - ), - Address("0x8bd7418790ee476f2a30a29598684aadbb10f6c3"): Account( - storage={0: 24576} - ), - Address("0x8cab2bbd02c94f4b35265b07aefa257c82647a28"): Account( - storage={0: 24576} - ), - Address("0x8d852742356d237ffe887a0b54bb561918558ac2"): Account( - storage={0: 24576} - ), - Address("0x8dba3fba0e82e23675d9e27ad38ba3133814fdd9"): Account( - storage={0: 24576} - ), - Address("0x910ace9558901f0dc6818b5d71eb753cf65f56e2"): Account( - storage={0: 24576} - ), - Address("0x91394dff8adea637c7953b9cd1dfaa306f09c6a8"): Account( - storage={0: 24576} - ), - Address("0x9205d637c34fd000dedbd577f4c3fd082acc0202"): Account( - storage={0: 24576} - ), - Address("0x92ccd8ac1dda8d6f1c2a8cd9b51dc56c44febe74"): Account( - storage={0: 24576} - ), - Address("0x935cd6233eeca8b850842868f2b61ed396de3c0c"): Account( - storage={0: 24576} - ), - Address("0x955faee8bb23113f60de8288e27464520625d14d"): Account( - storage={0: 24576} - ), - Address("0x97480fb5804ba35e012bcb30880c64c92b1948a8"): Account( - storage={0: 24576} - ), - Address("0x97752d900db15f9799c49af7799fbb47aac58cff"): Account( - storage={0: 24576} - ), - Address("0x98cb664adcedfb7f04b94bbc935f2bf68a53a447"): Account( - storage={0: 24576} - ), - Address("0x995576eccf99c1152b573e092fc068f9809ebabf"): Account( - storage={0: 24576} - ), - Address("0x9999bf853301842aa9f6dd1aa0e1e811b2a00f49"): Account( - storage={0: 24576} - ), - Address("0x99e62e63345e1e76b8e7cbafb433544e2fe99512"): Account( - storage={0: 24576} - ), - Address("0x9ad039a0ead301cfdefcdd927c649f7eb60b05ee"): Account( - storage={0: 24576} - ), - Address("0x9c191b43e684189f0bb14204f0b60f52e7e31800"): Account( - storage={0: 24576} - ), - Address("0x9cefd6dfd201466bcc8660fadfe779ad84e51035"): Account( - storage={0: 24576} - ), - Address("0x9d10dcbc98f78393a77f384c2d5a85ac77dc03fb"): Account( - storage={0: 24576} - ), - Address("0x9da6b16741ad3fea4cbc6fec1cbf40222edf8428"): Account( - storage={0: 24576} - ), - Address("0x9dbc2d09bb39017b664df01a88116ae746f41e87"): Account( - storage={0: 24576} - ), - Address("0x9f06236f6bbc43f8e9dc6cc27535fbc5b4df2968"): Account( - storage={0: 24576} - ), - Address("0x9f13f558023e03e7dfb170a255366bdf10f6cc5b"): Account( - storage={0: 24576} - ), - Address("0xa0b22b335f81bf3ef9aa288ef42552a01d34dcf3"): Account( - storage={0: 24576} - ), - Address("0xa0cc667684a51bd538e5d7602cd6fc55b1ce6718"): Account( - storage={0: 24576} - ), - Address("0xa28e6aa3788e693b543a17080e01f791144f2e9b"): Account( - storage={0: 24576} - ), - Address("0xa2e43c5a3581af1eede0e10f4003b84eb9368638"): Account( - storage={0: 24576} - ), - Address("0xa30cf3d83271b69e6197fa49d9f018304e212567"): Account( - storage={0: 24576} - ), - Address("0xa351ff71f4fd8b6f3874b04b6263d680288fe811"): Account( - storage={0: 24576} - ), - Address("0xa3c759b6f18c232a1341ed2304cbd5952c9e3c55"): Account( - storage={0: 24576} - ), - Address("0xa4b939c22ace39e879f458e720d855fc0f6b5c93"): Account( - storage={0: 24576} - ), - Address("0xa51223385dd45a032f44ffd7941e032cac410ada"): Account( - storage={0: 24576} - ), - Address("0xa6e9ab9401062d4235410d5b86b251ab4de8407d"): Account( - storage={0: 24576} - ), - Address("0xa6ee313e03f64eecca90630cb4298e7246b7b058"): Account( - storage={0: 24576} - ), - Address("0xa6f4afe1dccafc6d36fea6c64b0732268d09cf66"): Account( - storage={0: 24576} - ), - Address("0xa75e4a2ca659acabce9517b58ce590613c7671a8"): Account( - storage={0: 24576} - ), - Address("0xaa4680e68d6a2a169e5e732a73c57c02570cda32"): Account( - storage={0: 24576} - ), - Address("0xac480c906cf962ee3c280babb088bd6b738c8830"): Account( - storage={0: 24576} - ), - Address("0xac57a076a56bae969b09ae83acd86e1e74688cc0"): Account( - storage={0: 24576} - ), - Address("0xac80ac315dc1820f3fc02c1e84ebeefe63a5cf6b"): Account( - storage={0: 24576} - ), - Address("0xac9f2596ca3df3b4d0f7726e4269f728fc3b5513"): Account( - storage={0: 24576} - ), - Address("0xad501ee176ef7eeff9a7b405c5ba7ebd65f0b3d8"): Account( - storage={0: 24576} - ), - Address("0xb17ad9ade2750fddb466f227822a9641ddf4b368"): Account( - storage={0: 24576} - ), - Address("0xb36e4bd752a91835d63187d1a76028633f446717"): Account( - storage={0: 24576} - ), - Address("0xb9bdd9506b309419030783e39fb338a9d0657b50"): Account( - storage={0: 24576} - ), - Address("0xbaea4cd4f2c66b8e86231569acfac98105fb371f"): Account( - storage={0: 24576} - ), - Address("0xbb9815ee614931c4b647fcff59903bd85d43a195"): Account( - storage={0: 24576} - ), - Address("0xbbda9bf1d8293fd1dcb8b5acd094f0b0be9854a1"): Account( - storage={0: 24576} - ), - Address("0xbceba3b431a27d67b0d5d1e9e2e543f996dcb1c5"): Account( - storage={0: 24576} - ), - Address("0xbd205415c24eb289b6a275baae74527b92b49fe2"): Account( - storage={0: 24576} - ), - Address("0xbea91c3bf16bf4e6682a83cafd23e51d07320c3d"): Account( - storage={0: 24576} - ), - Address("0xbf2fa91409040bccf9a3057e7b44fed6180964d5"): Account( - storage={0: 24576} - ), - Address("0xbfb2c6fd3f376fe54cdf43528ea75c4d654520a9"): Account( - storage={0: 24576} - ), - Address("0xc0c6609d8fec3dbc72fe75b58741c0adc8017d5b"): Account( - storage={0: 24576} - ), - Address("0xc1aed2b66223b9945bfc1ded7b8ebd1a2b0b558c"): Account( - storage={0: 24576} - ), - Address("0xc3b253f5eebfbd146945c8c8f9a6387548724793"): Account( - storage={0: 24576} - ), - Address("0xc412ac76da31762387ebf037b7ab858630be14fb"): Account( - storage={0: 24576} - ), - Address("0xc4640f70c30da2a012c272fb6b35ac3bdf2faa1d"): Account( - storage={0: 24576} - ), - Address("0xc5b42bd4e227777fa40fcc664361a4b2aa92cd2e"): Account( - storage={0: 24576} - ), - Address("0xc61255fc2d9231a8ad0ff0bcdd1dc18e0bc36716"): Account( - storage={0: 24576} - ), - Address("0xc812181698640e4d903d48905300d09d0b6aca44"): Account( - storage={0: 24576} - ), - Address("0xcbd155ea3136979e3dd290b98d9213c2378156e7"): Account( - storage={0: 24576} - ), - Address("0xcd0e1ca16526f06894785b0c3f70da8e12c840c7"): Account( - storage={0: 24576} - ), - Address("0xcd7dab3a880d717525774e609007fe293fb3c6f2"): Account( - storage={0: 24576} - ), - Address("0xcf88cbac56d349d1d84608fd65f326335f9d231b"): Account( - storage={0: 24576} - ), - Address("0xcf95a24035f540e1d4f4c2d5dd23907c65d25c25"): Account( - storage={0: 24576} - ), - Address("0xd02bf23894916bed08d673bd9137e250a05cbe24"): Account( - storage={0: 24576} - ), - Address("0xd1266923606dbf8316d9a309d11dfe01046bdcca"): Account( - storage={0: 24576} - ), - Address("0xd151f07b9d42f35be65e24648c6666e2cbf6eb65"): Account( - storage={0: 24576} - ), - Address("0xd26f2c133e89a7529f5b55eee3a69cad1c0d162a"): Account( - storage={0: 24576} - ), - Address("0xd2fd46818ca3704f604fd8576d6949de46d2615f"): Account( - storage={0: 24576} - ), - Address("0xd3da3859340f1bceb3c9446dd317fcda11cdef8d"): Account( - storage={0: 24576} - ), - Address("0xd43081adf2b74142abe506a7a0876282a01ef49b"): Account( - storage={0: 24576} - ), - Address("0xd463d91663aa618c69c07806ba6f73b7f01e706e"): Account( - storage={0: 24576} - ), - Address("0xd4afca98581c37bf178054492f6dab0589ee711b"): Account( - storage={0: 24576} - ), - Address("0xd61f89dc08860ee934633c02f49b7085518f731b"): Account( - storage={0: 24576} - ), - Address("0xd6927a4164b187980d0a503535bb94af52571faa"): Account( - storage={0: 24576} - ), - Address("0xd6f074b660f8ad09331a383ed48db828204e1ea6"): Account( - storage={0: 24576} - ), - Address("0xd7b1c8b11acd78fa3125d7ee69932370fa9a533b"): Account( - storage={0: 24576} - ), - Address("0xd7cb633e099309c2a91161a933ef489e7d9671b7"): Account( - storage={0: 24576} - ), - Address("0xda1b4f166ae6d95a678d8a3c4eca060f0b2d6a57"): Account( - storage={0: 24576} - ), - Address("0xdafa6d1c2ea9f96df2ce75a706b8b1ee435bb7a7"): Account( - storage={0: 24576} - ), - Address("0xdb2ac5470240c92226eaed73a5c34533a9304766"): Account( - storage={0: 24576} - ), - Address("0xdc6bb7ce6f6eff34c2ee81ad05ec8d7631719b7b"): Account( - storage={0: 24576} - ), - Address("0xdc9765208a36a8aaf7f475389c868a14d961c441"): Account( - storage={0: 24576} - ), - Address("0xde6f03bdbba9eb4b8becc08112dae6215dfdb95c"): Account( - storage={0: 24576} - ), - Address("0xdebe3f92bd63cfdb1ab101cb4b1546b96170b716"): Account( - storage={0: 24576} - ), - Address("0xded1c9cd48d8a533d740319fbf315a68c1d65cbd"): Account( - storage={0: 24576} - ), - Address("0xdefd25b398b32da0afa86c952c858e274783dae1"): Account( - storage={0: 24576} - ), - Address("0xdf61cf5f503998e276d793e92a32af594040f937"): Account( - storage={0: 24576} - ), - Address("0xdf886c55b8f41489b52494a0ccb90ba70dda997e"): Account( - storage={0: 24576} - ), - Address("0xe0094e969365326a29193fcab569ae60f5e54945"): Account( - storage={0: 24576} - ), - Address("0xe0cae5c048a12782a2efdec6d562e56611396c45"): Account( - storage={0: 24576} - ), - Address("0xe790ad9580ac0bea21227734986f57f3ee3c1a84"): Account( - storage={0: 24576} - ), - Address("0xe910a8ca565ec674f2a46eda4d722ea1f1938d95"): Account( - storage={0: 24576} - ), - Address("0xeafabe69ca5e42707bf4d44f2ec4a782583ed97c"): Account( - storage={0: 24576} - ), - Address("0xebce9236147061a129aa9496c430e1bb0889f8e6"): Account( - storage={0: 24576} - ), - Address("0xed77f383abf53117deffe2e56d013e8087d41edb"): Account( - storage={0: 24576} - ), - Address("0xee181e7b8a23dd52c3560427a14a4e2339d28b1b"): Account( - storage={0: 24576} - ), - Address("0xee27c2a7b3b6f044c59d05555cbb81f473042cdc"): Account( - storage={0: 24576} - ), - Address("0xeea5c1baff7b7b1e8196bd5afa6c6d18b9be4b2d"): Account( - storage={0: 24576} - ), - Address("0xef0c6075b5cba0dfecda04952e19cc4264867a67"): Account( - storage={0: 24576} - ), - Address("0xf000b382b68194ed352685fc99c583225ecc5de0"): Account( - storage={0: 24576} - ), - Address("0xf13479778d51d2cc64c1d9f983306e8dfcdcac6c"): Account( - storage={0: 24576} - ), - Address("0xf2a3ea55e5dd2d0a119b6b1c4076baffa7ae6869"): Account( - storage={0: 24576} - ), - Address("0xf316028cf521c739d9ee401490316226be239860"): Account( - storage={0: 24576} - ), - Address("0xf38d8de0d20676358b74f0275f5a6874c68836db"): Account( - storage={0: 24576} - ), - Address("0xf39fcb2d6cdaf2a8d9bfd1a4d8ae7b3f179bebae"): Account( - storage={0: 24576} - ), - Address("0xf454233cead1d5e7e2b9fa211a9d53ef68596d8d"): Account( - storage={0: 24576} - ), - Address("0xf4d88c8a72b7e57149c2ea7b3f470503d774a79b"): Account( - storage={0: 24576} - ), - Address("0xf513793f67421ab27eb347562356faf1896d8666"): Account( - storage={0: 24576} - ), - Address("0xf669f56570a0b318051ea10c0bb6283feb1b2e7d"): Account( - storage={0: 24576} - ), - Address("0xf68aab9af66e3a0d817c122cd794f2bc1baa18d1"): Account( - storage={0: 24576} - ), - Address("0xfb4a3af2f0dd26eb2175e4125ace12f82d6f5050"): Account( - storage={0: 24576} - ), - Address("0xfc1fd51bddf33415d2518a8e2b334504e4698307"): Account( - storage={0: 24576} - ), - Address("0xfd10ec14dcb59438c9172dcdad21a45eb29a47b2"): Account( - storage={0: 24576} - ), - Address("0xfd2525a0ad5e89a50cca0220e071712deb4482e0"): Account( - storage={0: 24576} - ), - Address("0xfe5731d330bf0508c4eac46618d5c13bcf5db7a4"): Account( - storage={0: 24576} - ), - Address("0xfff4b3a27da4bb06d74a040bcff00d8e995f9a19"): Account( - storage={0: 24576} - ), - }, +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/stCreateTest/CreateOOGafterMaxCodesizeFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.valid_until("Prague") +@pytest.mark.slow +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="LowContractCount_NoDelegateCreate_CallCreateOOG", ), - ( - "a6f227c000000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ee", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0deb"): Account( - storage={1: 1} - ), - Address("0x511c6c5591eacfc8b9bf2658916225418508f548"): Account( - storage={0: 24576} - ), - Address("0x782f34ee13897680a5000838ce53d07b9558b5e2"): Account( - storage={0: 24576} - ), - Address("0x9ca6a1cfda677fc2679fce570dd47120686cb7c0"): Account( - storage={0: 24576} - ), - Address("0xdf7cd0b9839e4d93b98f09bf4c79366b9ffbe638"): Account( - storage={0: 24576} - ), - Address("0xe0fad4310f169961f052ac02bb70707ebfa3ece2"): Account( - storage={0: 24576} - ), - Address("0xee8b40edee25283a8c934b9c3a2ad8c848dc61b9"): Account( - storage={0: 24576} - ), - }, + pytest.param( + 1, + 0, + 0, + id="LowContractCount_DelegateCreate_CallCreateOOG", ), - ( - "a6f227c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ) - }, + pytest.param( + 2, + 0, + 0, + id="LowContractCount_DelegateCreate_CallCreate_SelfDestruct", ), - ( - "a6f227c0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x1a2dfe43e35a2a2bc4719ef2126af20066b636e5"): Account( - storage={0: 24576} - ), - Address("0x1e4802f8e20a034148f9f7e9f7ff8fcf89a1f3c8"): Account( - storage={0: 24576} - ), - Address("0x396b47fae89161b1959b5a833acf816be526b860"): Account( - storage={0: 24576} - ), - Address("0x4b2c1b96e4b881960f7241f496a85155136528c6"): Account( - storage={0: 24576} - ), - Address("0x7e3bd590a907dd2efd9a59ff5a323060ef22d805"): Account( - storage={0: 24576} - ), - Address("0x92ccd8ac1dda8d6f1c2a8cd9b51dc56c44febe74"): Account( - storage={0: 24576} - ), - Address("0x995576eccf99c1152b573e092fc068f9809ebabf"): Account( - storage={0: 24576} - ), - Address("0xbd205415c24eb289b6a275baae74527b92b49fe2"): Account( - storage={0: 24576} - ), - Address("0xc412ac76da31762387ebf037b7ab858630be14fb"): Account( - storage={0: 24576} - ), - Address("0xc812181698640e4d903d48905300d09d0b6aca44"): Account( - storage={0: 24576} - ), - }, + pytest.param( + 3, + 0, + 0, + id="HighContractCount_NoDelegateCreate_CallCreateOOG", ), - ( - "a6f227c0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ), - Address("0x00000000000000000000000000000000000c0deb"): Account( - storage={1: 1} - ), - Address("0x2e5a5ec103443f6b299cf31a52c69cf222ae4e6b"): Account( - storage={0: 24576} - ), - Address("0x67262aa10552371ec665c2f90c56d9d65c16715e"): Account( - storage={0: 24576} - ), - Address("0xb3210b741a5dfbddc1636521965b3558defa3e60"): Account( - storage={0: 24576} - ), - Address("0xbade62b355fe6b7117f4f7c913321b318ca3a4da"): Account( - storage={0: 24576} - ), - Address("0xd8a8f3569a1d76027f9ece5010489576897014ea"): Account( - storage={0: 24576} - ), - Address("0xfcdccc3b46b9fbe71221061091e8fe82b77e02f2"): Account( - storage={0: 24576} - ), - }, + pytest.param( + 4, + 0, + 0, + id="HighContractCount_DelegateCreate_CallCreateOOG", ), - ( - "a6f227c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x00000000000000000000000000000000000c0dea"): Account( - storage={1: 1} - ) - }, + pytest.param( + 5, + 0, + 0, + id="HighContractCount_DelegateCreate_CallCreate_SelfDestruct", ), ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], ) @pytest.mark.pre_alloc_mutable def test_create_oo_gafter_max_codesize( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_oo_gafter_max_codesize.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x00000000000000000000000000000000000C0DE0) + contract_1 = Address(0x00000000000000000000000000000000000C0DE1) + contract_2 = Address(0x00000000000000000000000000000000000C0DEB) + contract_3 = Address(0x00000000000000000000000000000000000C0DEA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -926,7 +103,8 @@ def test_create_oo_gafter_max_codesize( gas_limit=4294967296, ) - # Source: Yul + # Source: yul + # berlin # { # // If calldata > 0, self-destruct, otherwise # sstore(0, codesize()) @@ -934,38 +112,95 @@ def test_create_oo_gafter_max_codesize( # selfdestruct(0) # } # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.CODESIZE) - + Op.JUMPI(pc=0xC, condition=Op.GT(Op.CALLDATASIZE, 0x0)) - + Op.STOP - + Op.JUMPDEST - + Op.SELFDESTRUCT(address=0x0) - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.CODESIZE) + + Op.JUMPI(pc=0xC, condition=Op.GT(Op.CALLDATASIZE, 0x0)) + + Op.STOP + + Op.JUMPDEST + + Op.SELFDESTRUCT(address=0x0), nonce=0, - address=Address("0x00000000000000000000000000000000000c0de0"), # noqa: E501 + address=Address(0x00000000000000000000000000000000000C0DE0), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # // Init code that uses max codesize and can be called to selfdestruct # let code_addr := 0x00000000000000000000000000000000000c0de0 # extcodecopy(code_addr, 0, 0, extcodesize(code_addr)) # return(0, 0x6000) # } - pre.deploy_contract( - code=( - Op.PUSH3[0xC0DE0] - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.EXTCODESIZE(address=Op.DUP3) - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.RETURN(offset=0x0, size=0x6000) - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH3[0xC0DE0] + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.EXTCODESIZE(address=Op.DUP3) + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.RETURN(offset=0x0, size=0x6000), nonce=0, - address=Address("0x00000000000000000000000000000000000c0de1"), # noqa: E501 + address=Address(0x00000000000000000000000000000000000C0DE1), # noqa: E501 + ) + # Source: yul + # berlin + # { + # sstore (1, 1) + # let contract_count := calldataload(0) + # let should_oog := calldataload(32) + # + # // get the init code that returns max codesize from another contract + # let initcode_addr := 0x00000000000000000000000000000000000c0de1 + # let initcode_size := extcodesize(initcode_addr) + # extcodecopy(initcode_addr, 0, 0, initcode_size) + # + # // create contracts with max codesize in loop + # for { let i := 0 } lt(i, contract_count) { i := add(i, 1) } + # { + # let address_created := create(0, 0, initcode_size) + # mstore( add(initcode_size, mul(i, 32)), address_created ) + # } + # if gt(should_oog, 0) { + # invalid() + # } + # return(initcode_size, mul(contract_count, 32)) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.PUSH1[0x0] + + Op.CALLDATALOAD(offset=Op.DUP1) + + Op.CALLDATALOAD(offset=0x20) + + Op.PUSH3[0xC0DE1] + + Op.DUP4 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP5 + + Op.DUP6 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x2D, condition=Op.LT(Op.DUP2, Op.DUP3)) + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPI(pc=0x2B, condition=Op.LT) + + Op.PUSH1[0x20] + + Op.MUL + + Op.SWAP1 + + Op.RETURN + + Op.JUMPDEST + + Op.INVALID + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.MSTORE( + offset=Op.ADD(Op.DUP7, Op.MUL(Op.DUP3, 0x20)), + value=Op.CREATE(value=Op.DUP1, offset=0x0, size=Op.DUP5), + ) + + Op.ADD + + Op.JUMP(pc=0x18), + nonce=1, + address=Address(0x00000000000000000000000000000000000C0DEB), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # # // Get the amount of contracts to create on this level @@ -995,170 +230,260 @@ def test_create_oo_gafter_max_codesize( # // Call for OOG contract creation # mstore(0, subcall_contract_count) # mstore(32, subcall_oog) - # returnStart := add(64, mul(delegate_contract_count, 32)) - # ... (30 more lines) - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x4) - + Op.CALLDATALOAD(offset=0x24) - + Op.CALLDATALOAD(offset=0x44) - + Op.SWAP1 - + Op.CALLDATALOAD(offset=0x64) - + Op.SWAP3 - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.PUSH1[0x0] - + Op.PUSH1[0x40] - + Op.MUL(Op.DUP4, 0x20) - + Op.SWAP1 - + Op.PUSH1[0x40] - + Op.DUP4 - + Op.PUSH3[0xC0DEB] - + Op.JUMPI( - pc=0xBF, - condition=Op.EQ(Op.DELEGATECALL, Op.DIV(Op.GAS, 0x2)), - ) - + Op.MSTORE(offset=0x0, value=Op.DUP2) - + Op.MSTORE(offset=0x20, value=Op.DUP3) - + Op.PUSH1[0x0] - + Op.ADD(0x40, Op.MUL(Op.DUP3, 0x20)) - + Op.MUL(Op.DUP5, 0x20) - + Op.SWAP1 - + Op.PUSH1[0x40] - + Op.DUP4 - + Op.DUP1 - + Op.PUSH3[0xC0DEB] - + Op.JUMPI(pc=0xBA, condition=Op.EQ(Op.CALL, Op.DIV(Op.GAS, 0x2))) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP4 - + Op.JUMPI(pc=0xB1, condition=Op.EQ) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x94, condition=Op.LT(Op.DUP2, Op.DUP2)) - + Op.DUP3 - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x77, condition=Op.LT(Op.DUP2, Op.DUP2)) - + Op.STOP - + Op.JUMPDEST - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.PUSH1[0x1] - + Op.DUP2 - + Op.DUP1 - + Op.PUSH1[0x20] - + Op.DUP4 - + Op.SWAP8 - + Op.MLOAD(offset=Op.ADD(0x40, Op.MUL)) - + Op.SUB(Op.GAS, 0x3E8) - + Op.POP(Op.CALL) - + Op.ADD - + Op.JUMP(pc=0x6F) - + Op.JUMPDEST - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.PUSH1[0x20] - + Op.PUSH1[0x1] - + Op.SWAP8 - + Op.MLOAD(offset=Op.ADD(0x40, Op.MUL)) - + Op.SUB(Op.GAS, 0x3E8) - + Op.POP(Op.CALL) - + Op.ADD - + Op.JUMP(pc=0x65) - + Op.JUMPDEST - + Op.ADD - + Op.SWAP1 - + Op.POP - + Op.CODESIZE - + Op.DUP1 - + Op.JUMP(pc=0x60) - + Op.JUMPDEST - + Op.JUMPI(pc=0x57, condition=Op.DUP3) - + Op.JUMPDEST - + Op.REVERT(offset=Op.DUP1, size=0x0) - ), - address=Address("0x00000000000000000000000000000000000c0dea"), # noqa: E501 - ) - # Source: Yul - # { - # sstore (1, 1) - # let contract_count := calldataload(0) - # let should_oog := calldataload(32) - # - # // get the init code that returns max codesize from another contract - # let initcode_addr := 0x00000000000000000000000000000000000c0de1 - # let initcode_size := extcodesize(initcode_addr) - # extcodecopy(initcode_addr, 0, 0, initcode_size) - # - # // create contracts with max codesize in loop - # for { let i := 0 } lt(i, contract_count) { i := add(i, 1) } - # { - # let address_created := create(0, 0, initcode_size) - # mstore( add(initcode_size, mul(i, 32)), address_created ) - # } - # if gt(should_oog, 0) { - # invalid() - # } - # return(initcode_size, mul(contract_count, 32)) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.PUSH1[0x0] - + Op.CALLDATALOAD(offset=Op.DUP1) - + Op.CALLDATALOAD(offset=0x20) - + Op.PUSH3[0xC0DE1] - + Op.DUP4 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP5 - + Op.DUP6 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x2D, condition=Op.LT(Op.DUP2, Op.DUP3)) - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPI(pc=0x2B, condition=Op.LT) - + Op.PUSH1[0x20] - + Op.MUL - + Op.SWAP1 - + Op.RETURN - + Op.JUMPDEST - + Op.INVALID - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.MSTORE( - offset=Op.ADD(Op.DUP7, Op.MUL(Op.DUP3, 0x20)), - value=Op.CREATE(value=Op.DUP1, offset=0x0, size=Op.DUP5), - ) - + Op.ADD - + Op.JUMP(pc=0x18) - ), - address=Address("0x00000000000000000000000000000000000c0deb"), # noqa: E501 + # ... (31 more lines) + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x4) + + Op.CALLDATALOAD(offset=0x24) + + Op.CALLDATALOAD(offset=0x44) + + Op.SWAP1 + + Op.CALLDATALOAD(offset=0x64) + + Op.SWAP3 + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.PUSH1[0x0] + + Op.PUSH1[0x40] + + Op.MUL(Op.DUP4, 0x20) + + Op.SWAP1 + + Op.PUSH1[0x40] + + Op.DUP4 + + Op.PUSH3[0xC0DEB] + + Op.JUMPI( + pc=0xBF, condition=Op.EQ(Op.DELEGATECALL, Op.DIV(Op.GAS, 0x2)) + ) + + Op.MSTORE(offset=0x0, value=Op.DUP2) + + Op.MSTORE(offset=0x20, value=Op.DUP3) + + Op.PUSH1[0x0] + + Op.ADD(0x40, Op.MUL(Op.DUP3, 0x20)) + + Op.MUL(Op.DUP5, 0x20) + + Op.SWAP1 + + Op.PUSH1[0x40] + + Op.DUP4 + + Op.DUP1 + + Op.PUSH3[0xC0DEB] + + Op.JUMPI(pc=0xBA, condition=Op.EQ(Op.CALL, Op.DIV(Op.GAS, 0x2))) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP4 + + Op.JUMPI(pc=0xB1, condition=Op.EQ) + + Op.JUMPDEST + + Op.POP * 2 + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x94, condition=Op.LT(Op.DUP2, Op.DUP2)) + + Op.DUP3 + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x77, condition=Op.LT(Op.DUP2, Op.DUP2)) + + Op.STOP + + Op.JUMPDEST + + Op.DUP1 + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.PUSH1[0x1] + + Op.DUP2 + + Op.DUP1 + + Op.PUSH1[0x20] + + Op.DUP4 + + Op.SWAP8 + + Op.MLOAD(offset=Op.ADD(0x40, Op.MUL)) + + Op.SUB(Op.GAS, 0x3E8) + + Op.POP(Op.CALL) + + Op.ADD + + Op.JUMP(pc=0x6F) + + Op.JUMPDEST + + Op.DUP1 + + Op.PUSH1[0x0] + + Op.DUP1 * 4 + + Op.PUSH1[0x20] + + Op.PUSH1[0x1] + + Op.SWAP8 + + Op.MLOAD(offset=Op.ADD(0x40, Op.MUL)) + + Op.SUB(Op.GAS, 0x3E8) + + Op.POP(Op.CALL) + + Op.ADD + + Op.JUMP(pc=0x65) + + Op.JUMPDEST + + Op.ADD + + Op.SWAP1 + + Op.POP + + Op.CODESIZE + + Op.DUP1 + + Op.JUMP(pc=0x60) + + Op.JUMPDEST + + Op.JUMPI(pc=0x57, condition=Op.DUP3) + + Op.JUMPDEST + + Op.REVERT(offset=Op.DUP1, size=0x0), + nonce=1, + address=Address(0x00000000000000000000000000000000000C0DEA), # noqa: E501 ) pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_oog_from_call_refunds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) + contract_1 = Address(0x000000000000000000000000000000000000001A) + contract_2 = Address(0x000000000000000000000000000000000000001B) + contract_3 = Address(0x000000000000000000000000000000000000001C) + contract_4 = Address(0x000000000000000000000000000000000000002A) + contract_5 = Address(0x000000000000000000000000000000000000002B) + contract_6 = Address(0x000000000000000000000000000000000000002C) + contract_7 = Address(0x000000000000000000000000000000000000003A) + contract_8 = Address(0x000000000000000000000000000000000000003B) + contract_9 = Address(0x000000000000000000000000000000000000003C) + contract_10 = Address(0x000000000000000000000000000000000000004A) + contract_11 = Address(0x000000000000000000000000000000000000004B) + contract_12 = Address(0x000000000000000000000000000000000000004C) + contract_13 = Address(0x000000000000000000000000000000000000005A) + contract_14 = Address(0x000000000000000000000000000000000000005B) + contract_15 = Address(0x000000000000000000000000000000000000005C) + contract_16 = Address(0x000000000000000000000000000000000000006A) + contract_17 = Address(0x000000000000000000000000000000000000006B) + contract_18 = Address(0x000000000000000000000000000000000000006C) + contract_19 = Address(0x000000000000000000000000000000000000007A) + contract_20 = Address(0x000000000000000000000000000000000000007B) + contract_21 = Address(0x000000000000000000000000000000000000007C) + contract_22 = Address(0x000000000000000000000000000000000000008A) + contract_23 = Address(0x000000000000000000000000000000000000008B) + contract_24 = Address(0x000000000000000000000000000000000000008C) + contract_25 = Address(0x00000000000000000000000000000000000C0DEA) + contract_26 = Address(0x00000000000000000000000000000000000C0DED) + contract_27 = Address(0x00000000000000000000000000000000000C0DE0) + contract_28 = Address(0x00000000000000000000000000000000000C0DE1) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -437,93 +234,143 @@ def test_create_oog_from_call_refunds( gas_limit=4294967296, ) - # Source: Yul + pre[sender] = Account(balance=0x3D0900, nonce=1) + # Source: yul + # berlin + # { + # let init_addr := calldataload(4) + # let init_length := extcodesize(init_addr) + # extcodecopy(init_addr, 0, 0, init_length) + # let created_addr := create(0, 0, init_length) + # if eq(created_addr, 0) { + # /* This invalid will deplete the remaining gas to make refund check deterministic */ # noqa: E501 + # invalid() + # } + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.DUP1 + + Op.CALLDATALOAD(offset=0x4) + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.DUP2 + + Op.JUMPI(pc=0x15, condition=Op.EQ(Op.CREATE, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.INVALID, + nonce=1, + address=Address(0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA), # noqa: E501 + ) + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # sstore(1, 0) # return(0, 1) # } - pre.deploy_contract( - code=( - Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) - + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) - + Op.RETURN - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) + + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) + + Op.RETURN, nonce=0, - address=Address("0x000000000000000000000000000000000000001a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000001A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # sstore(1, 0) # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.RETURN(offset=0x0, size=0x1388) - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.RETURN(offset=0x0, size=0x1388), nonce=0, - address=Address("0x000000000000000000000000000000000000001b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000001B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # sstore(1, 0) # invalid() # } - pre.deploy_contract( - code=( - Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) - + Op.SWAP1 - + Op.SSTORE - + Op.INVALID - ), + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) + + Op.SWAP1 + + Op.SSTORE + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000001c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000001C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 # return(0, 1) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( - gas=Op.GAS, - address=0xC0DEA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.RETURN(offset=0x0, size=0x1) - ), + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DEA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1), nonce=0, - address=Address("0x000000000000000000000000000000000000002a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000002A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DEA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1388), + nonce=0, + address=Address(0x000000000000000000000000000000000000002B), # noqa: E501 + ) + # Source: yul + # berlin + # { + # sstore(0, 1) + # pop(call(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 + # invalid() + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.POP( + Op.CALL( gas=Op.GAS, address=0xC0DEA, value=Op.DUP1, @@ -532,72 +379,70 @@ def test_create_oog_from_call_refunds( ret_offset=Op.DUP1, ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x1388) - ), + ) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000002b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000002C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) - # pop(call(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 - # invalid() + # sstore(1, 1) + # pop(delegatecall(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0)) # noqa: E501 + # return(0, 1) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xC0DEA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.INVALID - ), + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xC0DEA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1), nonce=0, - address=Address("0x000000000000000000000000000000000000002c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000003A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # pop(delegatecall(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0)) # noqa: E501 - # return(0, 1) + # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xC0DEA, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.RETURN(offset=0x0, size=0x1) - ), + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xC0DEA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1388), nonce=0, - address=Address("0x000000000000000000000000000000000000003a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000003B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # pop(delegatecall(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0)) # noqa: E501 - # return(0, 5000) + # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.DELEGATECALL( + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.POP( + Op.DELEGATECALL( gas=Op.GAS, address=0xC0DEA, args_offset=Op.DUP1, @@ -605,74 +450,72 @@ def test_create_oog_from_call_refunds( ret_offset=Op.DUP1, ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x1388) - ), + ) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000003b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000003C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) - # pop(delegatecall(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0)) # noqa: E501 - # invalid() + # pop(callcode(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 + # return(0, 1) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xC0DEA, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.INVALID - ), + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.CALLCODE( + gas=Op.GAS, + address=0xC0DEA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1), nonce=0, - address=Address("0x000000000000000000000000000000000000003c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000004A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # pop(callcode(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 1) + # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.CALLCODE( - gas=Op.GAS, - address=0xC0DEA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.RETURN(offset=0x0, size=0x1) - ), + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.CALLCODE( + gas=Op.GAS, + address=0xC0DEA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1388), nonce=0, - address=Address("0x000000000000000000000000000000000000004a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000004B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) # pop(callcode(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 5000) + # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.CALLCODE( + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.POP( + Op.CALLCODE( gas=Op.GAS, address=0xC0DEA, value=Op.DUP1, @@ -681,71 +524,66 @@ def test_create_oog_from_call_refunds( ret_offset=Op.DUP1, ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x1388) - ), + ) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000004b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000004C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) - # sstore(1, 1) - # pop(callcode(gas(), 0x00000000000000000000000000000000000c0deA, 0, 0, 0, 0, 0)) # noqa: E501 - # invalid() + # pop(call(gas(), 0x00000000000000000000000000000000000c0deD, 0, 0, 0, 0, 0)) # noqa: E501 + # return(0, 1) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=0xC0DEA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.INVALID - ), + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DED, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1), nonce=0, - address=Address("0x000000000000000000000000000000000000004c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000005A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0deD, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 1) + # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( - gas=Op.GAS, - address=0xC0DED, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.RETURN(offset=0x0, size=0x1) - ), + contract_14 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DED, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1388), nonce=0, - address=Address("0x000000000000000000000000000000000000005a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000005B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0deD, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 5000) + # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.POP( + Op.CALL( gas=Op.GAS, address=0xC0DED, value=Op.DUP1, @@ -754,69 +592,66 @@ def test_create_oog_from_call_refunds( ret_offset=Op.DUP1, ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x1388) - ), + ) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000005b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000005C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) - # pop(call(gas(), 0x00000000000000000000000000000000000c0deD, 0, 0, 0, 0, 0)) # noqa: E501 - # invalid() + # pop(call(gas(), 0x00000000000000000000000000000000000c0de0, 0, 0, 0, 0, 0)) # noqa: E501 + # return(0, 1) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xC0DED, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.INVALID - ), + contract_16 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DE0, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1), nonce=0, - address=Address("0x000000000000000000000000000000000000005c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000006A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0de0, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 1) + # return(0, 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( - gas=Op.GAS, - address=0xC0DE0, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.RETURN(offset=0x0, size=0x1) - ), + contract_17 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xC0DE0, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.RETURN(offset=0x0, size=0x1388), nonce=0, - address=Address("0x000000000000000000000000000000000000006a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000006B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # pop(call(gas(), 0x00000000000000000000000000000000000c0de0, 0, 0, 0, 0, 0)) # noqa: E501 - # return(0, 5000) + # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.CALL( + contract_18 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.POP( + Op.CALL( gas=Op.GAS, address=0xC0DE0, value=Op.DUP1, @@ -825,37 +660,13 @@ def test_create_oog_from_call_refunds( ret_offset=Op.DUP1, ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x1388) - ), + ) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000006b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000006C), # noqa: E501 ) - # Source: Yul - # { - # sstore(0, 1) - # pop(call(gas(), 0x00000000000000000000000000000000000c0de0, 0, 0, 0, 0, 0)) # noqa: E501 - # invalid() - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xC0DE0, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.INVALID - ), - nonce=0, - address=Address("0x000000000000000000000000000000000000006c"), # noqa: E501 - ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -866,30 +677,29 @@ def test_create_oog_from_call_refunds( # pop(create(0, 0, initcodelength)) # return(add(initcodelength, 1), 1) # } - pre.deploy_contract( - code=( - Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) - + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) - + Op.DUP2 - + Op.SWAP1 - + Op.PUSH3[0xC0DE1] - + Op.EXTCODESIZE(address=Op.DUP1) - + Op.SWAP2 - + Op.DUP3 - + Op.SWAP2 - + Op.DUP2 - + Op.SWAP1 - + Op.EXTCODECOPY - + Op.POP(Op.CREATE(value=Op.DUP1, offset=0x0, size=Op.DUP1)) - + Op.ADD - + Op.RETURN - ), + contract_19 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) + + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) + + Op.DUP2 + + Op.SWAP1 + + Op.PUSH3[0xC0DE1] + + Op.EXTCODESIZE(address=Op.DUP1) + + Op.SWAP2 + + Op.DUP3 + + Op.SWAP2 + + Op.DUP2 + + Op.SWAP1 + + Op.EXTCODECOPY + + Op.POP(Op.CREATE(value=Op.DUP1, offset=0x0, size=Op.DUP1)) + + Op.ADD + + Op.RETURN, nonce=0, - address=Address("0x000000000000000000000000000000000000007a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000007A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -900,29 +710,28 @@ def test_create_oog_from_call_refunds( # pop(create(0, 0, initcodelength)) # return(add(initcodelength, 1), 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.PUSH2[0x1388] - + Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.PUSH3[0xC0DE1] - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.POP(Op.CREATE(value=Op.DUP1, offset=0x0, size=Op.DUP1)) - + Op.ADD - + Op.RETURN - ), + contract_20 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.PUSH2[0x1388] + + Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.PUSH3[0xC0DE1] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.POP(Op.CREATE(value=Op.DUP1, offset=0x0, size=Op.DUP1)) + + Op.ADD + + Op.RETURN, nonce=0, - address=Address("0x000000000000000000000000000000000000007b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000007B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -933,28 +742,27 @@ def test_create_oog_from_call_refunds( # pop(create(0, 0, initcodelength)) # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.PUSH1[0x0] - + Op.PUSH3[0xC0DE1] - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.POP(Op.CREATE) - + Op.INVALID - ), + contract_21 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.PUSH1[0x0] + + Op.PUSH3[0xC0DE1] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.POP(Op.CREATE) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000007c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000007C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -970,31 +778,29 @@ def test_create_oog_from_call_refunds( # pop(create2(0, 0, initcodelength, 0)) # return(add(initcodelength, 1), 1) # } - pre.deploy_contract( - code=( - Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) - + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) - + Op.MSTORE( - offset=Op.DUP2, - value=0x6001600055600060005560016000F30000000000000000000000000000000000, # noqa: E501 - ) - + Op.DUP2 - + Op.SWAP1 - + Op.PUSH1[0xF] - + Op.SWAP1 - + Op.DUP2 - + Op.DUP2 - + Op.DUP1 - + Op.POP(Op.CREATE2) - + Op.ADD - + Op.RETURN - ), + contract_22 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) + + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) + + Op.MSTORE( + offset=Op.DUP2, + value=0x6001600055600060005560016000F30000000000000000000000000000000000, # noqa: E501 + ) + + Op.DUP2 + + Op.SWAP1 + + Op.PUSH1[0xF] + + Op.SWAP1 + + Op.DUP2 * 2 + + Op.DUP1 + + Op.POP(Op.CREATE2) + + Op.ADD + + Op.RETURN, nonce=0, - address=Address("0x000000000000000000000000000000000000008a"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000008A), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -1005,33 +811,30 @@ def test_create_oog_from_call_refunds( # pop(create2(0, 0, initcodelength, 0)) # return(add(initcodelength, 1), 5000) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.PUSH2[0x1388] - + Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.PUSH3[0xC0DE1] - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.POP( - Op.CREATE2( - value=Op.DUP1, offset=Op.DUP2, size=Op.DUP2, salt=0x0 - ), - ) - + Op.ADD - + Op.RETURN - ), + contract_23 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.PUSH2[0x1388] + + Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.PUSH3[0xC0DE1] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.POP( + Op.CREATE2(value=Op.DUP1, offset=Op.DUP2, size=Op.DUP2, salt=0x0) + ) + + Op.ADD + + Op.RETURN, nonce=0, - address=Address("0x000000000000000000000000000000000000008b"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000008B), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(1, 1) @@ -1042,29 +845,51 @@ def test_create_oog_from_call_refunds( # pop(create2(0, 0, initcodelength, 0)) # invalid() # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE(key=Op.DUP1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.PUSH3[0xC0DE1] - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.DUP2 - + Op.DUP1 - + Op.POP(Op.CREATE2) - + Op.INVALID - ), + contract_24 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.PUSH3[0xC0DE1] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.DUP2 + + Op.DUP1 + + Op.POP(Op.CREATE2) + + Op.INVALID, nonce=0, - address=Address("0x000000000000000000000000000000000000008c"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000008C), # noqa: E501 + ) + # Source: yul + # berlin + # { + # // Simple SSTORE to zero to get a refund + # sstore(1, 0) + # } + contract_25 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, + storage={1: 1}, + nonce=1, + address=Address(0x00000000000000000000000000000000000C0DEA), # noqa: E501 + ) + # Source: yul + # berlin + # { + # selfdestruct(origin()) + # } + contract_26 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=Op.ORIGIN), + storage={1: 1}, + nonce=1, + address=Address(0x00000000000000000000000000000000000C0DED), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # mstore(0, 0xff) # log0(0, 32) @@ -1073,109 +898,204 @@ def test_create_oog_from_call_refunds( # log3(0, 32, 0xfa, 0xfb, 0xfc) # log4(0, 32, 0xfa, 0xfb, 0xfc, 0xfd) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xFF) - + Op.LOG0(offset=0x0, size=0x20) - + Op.LOG1(offset=0x0, size=0x20, topic_1=0xFA) - + Op.LOG2(offset=0x0, size=0x20, topic_1=0xFA, topic_2=0xFB) - + Op.LOG3( - offset=0x0, - size=0x20, - topic_1=0xFA, - topic_2=0xFB, - topic_3=0xFC, - ) - + Op.LOG4( - offset=0x0, - size=0x20, - topic_1=0xFA, - topic_2=0xFB, - topic_3=0xFC, - topic_4=0xFD, - ) - + Op.STOP - ), - storage={0x1: 0x1}, - address=Address("0x00000000000000000000000000000000000c0de0"), # noqa: E501 + contract_27 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xFF) + + Op.LOG0(offset=0x0, size=0x20) + + Op.LOG1(offset=0x0, size=0x20, topic_1=0xFA) + + Op.LOG2(offset=0x0, size=0x20, topic_1=0xFA, topic_2=0xFB) + + Op.LOG3( + offset=0x0, size=0x20, topic_1=0xFA, topic_2=0xFB, topic_3=0xFC + ) + + Op.LOG4( + offset=0x0, + size=0x20, + topic_1=0xFA, + topic_2=0xFB, + topic_3=0xFC, + topic_4=0xFD, + ) + + Op.STOP, + storage={1: 1}, + nonce=1, + address=Address(0x00000000000000000000000000000000000C0DE0), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, 1) # sstore(0, 0) # return(0, 1) # } - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.SSTORE(key=Op.DUP1, value=Op.DUP1) - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.RETURN - ), - address=Address("0x00000000000000000000000000000000000c0de1"), # noqa: E501 - ) - # Source: Yul - # { - # // Simple SSTORE to zero to get a refund - # sstore(1, 0) - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x1}, - address=Address("0x00000000000000000000000000000000000c0dea"), # noqa: E501 - ) - # Source: Yul - # { - # selfdestruct(origin()) - # } - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=Op.ORIGIN), - storage={0x1: 0x1}, - address=Address("0x00000000000000000000000000000000000c0ded"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3D0900, nonce=1) - # Source: Yul - # { - # let init_addr := calldataload(4) - # let init_length := extcodesize(init_addr) - # extcodecopy(init_addr, 0, 0, init_length) - # let created_addr := create(0, 0, init_length) - # if eq(created_addr, 0) { - # /* This invalid will deplete the remaining gas to make refund check deterministic */ # noqa: E501 - # invalid() - # } - # } - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.DUP1 - + Op.CALLDATALOAD(offset=0x4) - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.DUP2 - + Op.JUMPI(pc=0x15, condition=Op.EQ(Op.CREATE, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.INVALID - ), - address=Address("0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), # noqa: E501 + contract_28 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.SSTORE(key=Op.DUP1, value=Op.DUP1) + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.RETURN, + nonce=1, + address=Address(0x00000000000000000000000000000000000C0DE1), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 9, 3, 6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + compute_create_address(address=contract_0, nonce=1): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=1 + ), + }, + }, + { + "indexes": { + "data": [1, 2, 4, 5, 7, 8, 10, 11], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": { + sender: Account(balance=0, nonce=2), + compute_create_address( + address=contract_0, nonce=1 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [12], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + compute_create_address(address=contract_0, nonce=1): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=1 + ), + contract_26: Account(balance=0, nonce=1), + }, + }, + { + "indexes": {"data": [13, 14], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(balance=0, nonce=2), + compute_create_address( + address=contract_0, nonce=1 + ): Account.NONEXISTENT, + contract_26: Account( + storage={1: 1}, code=bytes.fromhex("32ff"), nonce=1 + ), + }, + }, + { + "indexes": {"data": [15], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + compute_create_address(address=contract_0, nonce=1): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=1 + ), + }, + }, + { + "indexes": {"data": [16, 17], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(balance=0, nonce=2), + compute_create_address( + address=contract_0, nonce=1 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [18], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + compute_create_address(address=contract_0, nonce=1): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=2 + ), + Address(0x522C2E1C5DA65010908EF9929E327FE8B6CC86DA): Account( + storage={}, code=bytes.fromhex("00"), nonce=1 + ), + }, + }, + { + "indexes": {"data": [19, 20], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(balance=0, nonce=2), + compute_create_address( + address=contract_0, nonce=1 + ): Account.NONEXISTENT, + Address( + 0x522C2E1C5DA65010908EF9929E327FE8B6CC86DA + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [21], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + compute_create_address(address=contract_0, nonce=1): Account( + storage={0: 1}, code=bytes.fromhex("00"), nonce=2 + ), + Address(0x06019547B6E360ABDAFEADE158A9667CC6106C17): Account( + storage={}, code=bytes.fromhex("00"), nonce=1 + ), + }, + }, + { + "indexes": {"data": [22, 23], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(balance=0, nonce=2), + compute_create_address( + address=contract_0, nonce=1 + ): Account.NONEXISTENT, + Address( + 0x06019547B6E360ABDAFEADE158A9667CC6106C17 + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(contract_1, left_padding=True), + Bytes("693c6139") + Hash(contract_2, left_padding=True), + Bytes("693c6139") + Hash(contract_3, left_padding=True), + Bytes("693c6139") + Hash(contract_4, left_padding=True), + Bytes("693c6139") + Hash(contract_5, left_padding=True), + Bytes("693c6139") + Hash(contract_6, left_padding=True), + Bytes("693c6139") + Hash(contract_7, left_padding=True), + Bytes("693c6139") + Hash(contract_8, left_padding=True), + Bytes("693c6139") + Hash(contract_9, left_padding=True), + Bytes("693c6139") + Hash(contract_10, left_padding=True), + Bytes("693c6139") + Hash(contract_11, left_padding=True), + Bytes("693c6139") + Hash(contract_12, left_padding=True), + Bytes("693c6139") + Hash(contract_13, left_padding=True), + Bytes("693c6139") + Hash(contract_14, left_padding=True), + Bytes("693c6139") + Hash(contract_15, left_padding=True), + Bytes("693c6139") + Hash(contract_16, left_padding=True), + Bytes("693c6139") + Hash(contract_17, left_padding=True), + Bytes("693c6139") + Hash(contract_18, left_padding=True), + Bytes("693c6139") + Hash(contract_19, left_padding=True), + Bytes("693c6139") + Hash(contract_20, left_padding=True), + Bytes("693c6139") + Hash(contract_21, left_padding=True), + Bytes("693c6139") + Hash(contract_22, left_padding=True), + Bytes("693c6139") + Hash(contract_23, left_padding=True), + Bytes("693c6139") + Hash(contract_24, left_padding=True), + ] + tx_gas = [400000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=400000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_results.py b/tests/ported_static/stCreateTest/test_create_results.py index 9cd26b8f943..e11d6b9cbee 100644 --- a/tests/ported_static/stCreateTest/test_create_results.py +++ b/tests/ported_static/stCreateTest/test_create_results.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stCreateTest/CreateResultsFiller.yml +state_tests/stCreateTest/CreateResultsFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,415 +28,183 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stCreateTest/CreateResultsFiller.yml"], + ["state_tests/stCreateTest/CreateResultsFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x00000000000000000000000000000000000060a7"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={32: 295, 33: 551} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 18: 18, - 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 - 20: 24743, - 21: 24743, - 32: 295, - 33: 551, - } - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 18: 18, - 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 - 20: 24743, - 21: 24743, - 32: 295, - 33: 551, - } - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 18: 18, - 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 - 20: 24743, - 21: 24743, - 32: 295, - 33: 551, - } - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 18: 18, - 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 - 20: 24743, - 21: 24743, - 32: 295, - 33: 551, - } - ) - }, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 18: 18, - 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 - 20: 24743, - 21: 24743, - 32: 295, - 33: 551, - } - ) - }, + pytest.param( + 5, + 0, + 0, + id="d5", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 18: 18, - 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 - 20: 24743, - 21: 24743, - 32: 295, - 33: 551, - } - ) - }, + pytest.param( + 6, + 0, + 0, + id="d6", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 16: 32, - 17: 24743, - 18: 18, - 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 - 20: 24743, - 21: 24743, - 32: 295, - 33: 551, - } - ) - }, + pytest.param( + 7, + 0, + 0, + id="d7", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 16: 32, - 17: 24743, - 18: 18, - 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 - 20: 24743, - 21: 24743, - 32: 295, - 33: 551, - } - ) - }, + pytest.param( + 8, + 0, + 0, + id="d8", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 16: 24743, - 18: 24743, - 19: 24743, - 20: 24743, - 21: 24743, - 32: 24743, - 33: 24743, - } - ) - }, + pytest.param( + 9, + 0, + 0, + id="d9", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 16: 24743, - 18: 24743, - 19: 24743, - 20: 24743, - 21: 24743, - 32: 24743, - 33: 24743, - } - ) - }, + pytest.param( + 10, + 0, + 0, + id="d10", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x00000000000000000000000000000000000060a7"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={32: 295, 33: 551} - ), - }, + pytest.param( + 11, + 0, + 0, + id="d11", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 16: 24743, - 18: 24743, - 19: 24743, - 20: 24743, - 21: 24743, - 32: 24743, - 33: 24743, - } - ) - }, + pytest.param( + 12, + 0, + 0, + id="d12", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 16: 24743, - 18: 24743, - 19: 24743, - 20: 24743, - 21: 24743, - 32: 24743, - 33: 24743, - } - ) - }, + pytest.param( + 13, + 0, + 0, + id="d13", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 16: 24743, - 18: 24743, - 19: 24743, - 20: 24743, - 21: 24743, - 32: 24743, - 33: 24743, - } - ) - }, + pytest.param( + 14, + 0, + 0, + id="d14", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 16: 24743, - 18: 24743, - 19: 24743, - 20: 24743, - 21: 24743, - 32: 24743, - 33: 24743, - } - ) - }, + pytest.param( + 15, + 0, + 0, + id="d15", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 16: 24743, - 18: 24743, - 19: 24743, - 20: 24743, - 21: 24743, - 32: 24743, - 33: 24743, - } - ) - }, + pytest.param( + 16, + 0, + 0, + id="d16", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 16: 24743, - 18: 24743, - 19: 24743, - 20: 24743, - 21: 24743, - 32: 24743, - 33: 24743, - } - ) - }, + pytest.param( + 17, + 0, + 0, + id="d17", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x00000000000000000000000000000000000060a7"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={32: 295, 33: 551} - ), - }, + pytest.param( + 18, + 0, + 0, + id="d18", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={32: 295, 33: 551} - ) - }, + pytest.param( + 19, + 0, + 0, + id="d19", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x00000000000000000000000000000000000060a7"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={32: 295, 33: 551} - ), - }, + pytest.param( + 20, + 0, + 0, + id="d20", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x00000000000000000000000000000000000060a7"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={32: 295, 33: 551} - ), - }, + pytest.param( + 21, + 0, + 0, + id="d21", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x00000000000000000000000000000000000060a7"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={32: 295, 33: 551} - ), - }, + pytest.param( + 22, + 0, + 0, + id="d22", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={32: 295, 33: 551} - ) - }, + pytest.param( + 23, + 0, + 0, + id="d23", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 18: 18, - 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 - 20: 24743, - 21: 24743, - 32: 295, - 33: 551, - } - ) - }, + pytest.param( + 24, + 0, + 0, + id="d24", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={ - 18: 18, - 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 - 20: 24743, - 21: 24743, - 32: 295, - 33: 551, - } - ) - }, + pytest.param( + 25, + 0, + 0, + id="d25", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - ], ) @pytest.mark.pre_alloc_mutable def test_create_results( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + contract_1 = Address(0x00000000000000000000000000000000000060A7) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -444,18 +218,7 @@ def test_create_results( gas_limit=4294967296, ) - # Source: LLL - # { - # [[0]] 0x60A7 - # } ; end of LLL code - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=0x60A7) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x00000000000000000000000000000000000060a7"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL + # Source: lll # { # ; Variables are 0x20 bytes (= 256 bits) apart, except for # ; code buffers that get 0x100 (256 bytes) @@ -487,361 +250,465 @@ def test_create_results( # ) # ; I did not want to rely on knowing the address at which the contract # ... (138 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x44)) - + Op.JUMPI( - pc=Op.PUSH2[0x2F], - condition=Op.OR( - Op.EQ(Op.MLOAD(offset=0x140), 0x0), - Op.EQ(Op.MLOAD(offset=0x140), 0x4), - ), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x3E]) - + Op.JUMPDEST - + Op.PUSH1[0x21] - + Op.CODECOPY(dest_offset=0x300, offset=0x250, size=Op.DUP1) - + Op.PUSH2[0x540] - + Op.MSTORE - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x51], - condition=Op.EQ(Op.MLOAD(offset=0x140), 0x1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x60]) - + Op.JUMPDEST - + Op.PUSH1[0x29] - + Op.CODECOPY(dest_offset=0x300, offset=0x271, size=Op.DUP1) - + Op.PUSH2[0x540] - + Op.MSTORE - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x73], - condition=Op.EQ(Op.MLOAD(offset=0x140), 0x2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x82]) - + Op.JUMPDEST - + Op.PUSH1[0x26] - + Op.CODECOPY(dest_offset=0x300, offset=0x29A, size=Op.DUP1) - + Op.PUSH2[0x540] - + Op.MSTORE - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x95], - condition=Op.EQ(Op.MLOAD(offset=0x140), 0x3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xA4]) - + Op.JUMPDEST - + Op.PUSH1[0x2C] - + Op.CODECOPY(dest_offset=0x300, offset=0x2C0, size=Op.DUP1) - + Op.PUSH2[0x540] - + Op.MSTORE - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xB7], - condition=Op.EQ(Op.MLOAD(offset=0x140), 0x5), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xC6]) - + Op.JUMPDEST - + Op.PUSH1[0x28] - + Op.CODECOPY(dest_offset=0x300, offset=0x2EC, size=Op.DUP1) - + Op.PUSH2[0x540] - + Op.MSTORE - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xD9], - condition=Op.EQ(Op.MLOAD(offset=0x140), 0x6), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xE8]) - + Op.JUMPDEST - + Op.PUSH1[0x2A] - + Op.CODECOPY(dest_offset=0x300, offset=0x314, size=Op.DUP1) - + Op.PUSH2[0x540] - + Op.MSTORE - + Op.JUMPDEST - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x200, offset=0x33E, size=Op.DUP1) - + Op.PUSH2[0x520] - + Op.MSTORE - + Op.JUMPI(pc=0x117, condition=Op.EQ(Op.MLOAD(offset=0x100), 0x1)) - + Op.MSTORE( - offset=0x600, - value=Op.CREATE2( - value=0x0, - offset=0x300, - size=Op.MLOAD(offset=0x540), - salt=0x5A17, - ), - ) - + Op.JUMP(pc=0x126) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x600, - value=Op.CREATE( - value=0x0, - offset=0x300, - size=Op.MLOAD(offset=0x540), - ), - ) - + Op.JUMPDEST - + Op.SSTORE(key=0x20, value=Op.PC) - + Op.SSTORE(key=0x10, value=Op.RETURNDATASIZE) - + Op.JUMPI( - pc=0x143, - condition=Op.OR( - Op.RETURNDATASIZE, - Op.EQ(Op.MLOAD(offset=0x140), 0x4), - ), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x153) - + Op.JUMPDEST - + Op.RETURNDATACOPY(dest_offset=0x160, offset=0x0, size=0x20) - + Op.SSTORE(key=0x11, value=Op.MLOAD(offset=0x160)) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x560, - value=Op.EXTCODESIZE(address=Op.MLOAD(offset=0x600)), - ) - + Op.EXTCODECOPY( - address=Op.MLOAD(offset=0x600), - dest_offset=0x400, - offset=0x0, - size=Op.MLOAD(offset=0x560), - ) - + Op.SSTORE( - key=0x12, - value=Op.SUB(Op.MLOAD(offset=0x520), Op.MLOAD(offset=0x560)), - ) - + Op.SSTORE( - key=0x13, - value=Op.SUB(Op.MLOAD(offset=0x200), Op.MLOAD(offset=0x400)), - ) - + Op.JUMPI(pc=0x195, condition=Op.EQ(Op.MLOAD(offset=0x120), 0x1)) - + Op.POP(0x0) - + Op.JUMP(pc=0x1AC) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x640, - value=Op.CALL( - gas=0xFFFF, - address=Op.MLOAD(offset=0x600), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x1BF, condition=Op.EQ(Op.MLOAD(offset=0x120), 0x2)) - + Op.POP(0x0) - + Op.JUMP(pc=0x1D6) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x640, - value=Op.CALLCODE( - gas=0xFFFF, - address=Op.MLOAD(offset=0x600), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x1E9, condition=Op.EQ(Op.MLOAD(offset=0x120), 0x3)) - + Op.POP(0x0) - + Op.JUMP(pc=0x1FE) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x640, - value=Op.DELEGATECALL( - gas=0xFFFF, - address=Op.MLOAD(offset=0x600), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x211, condition=Op.EQ(Op.MLOAD(offset=0x120), 0x4)) - + Op.POP(0x0) - + Op.JUMP(pc=0x226) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x640, - value=Op.STATICCALL( - gas=0xFFFF, - address=Op.MLOAD(offset=0x600), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.SSTORE(key=0x21, value=Op.PC) - + Op.JUMPI( - pc=0x23E, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x120), 0x0)), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x24D) - + Op.JUMPDEST - + Op.SSTORE(key=0x14, value=Op.SUB(Op.MLOAD(offset=0x640), 0x1)) - + Op.SSTORE(key=0x15, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.STOP - + Op.INVALID - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x200, offset=0xF, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.CALL( - gas=0xFFFF, - address=0x60A7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - + Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x200, offset=0x17, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.CALL( - gas=0xFFFF, - address=0x60A7, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x44)) + + Op.JUMPI( + pc=Op.PUSH2[0x2F], + condition=Op.OR( + Op.EQ(Op.MLOAD(offset=0x140), 0x0), + Op.EQ(Op.MLOAD(offset=0x140), 0x4), + ), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x3E]) + + Op.JUMPDEST + + Op.PUSH1[0x21] + + Op.CODECOPY(dest_offset=0x300, offset=0x250, size=Op.DUP1) + + Op.PUSH2[0x540] + + Op.MSTORE + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x51], condition=Op.EQ(Op.MLOAD(offset=0x140), 0x1) + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x60]) + + Op.JUMPDEST + + Op.PUSH1[0x29] + + Op.CODECOPY(dest_offset=0x300, offset=0x271, size=Op.DUP1) + + Op.PUSH2[0x540] + + Op.MSTORE + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x73], condition=Op.EQ(Op.MLOAD(offset=0x140), 0x2) + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x82]) + + Op.JUMPDEST + + Op.PUSH1[0x26] + + Op.CODECOPY(dest_offset=0x300, offset=0x29A, size=Op.DUP1) + + Op.PUSH2[0x540] + + Op.MSTORE + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x95], condition=Op.EQ(Op.MLOAD(offset=0x140), 0x3) + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xA4]) + + Op.JUMPDEST + + Op.PUSH1[0x2C] + + Op.CODECOPY(dest_offset=0x300, offset=0x2C0, size=Op.DUP1) + + Op.PUSH2[0x540] + + Op.MSTORE + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xB7], condition=Op.EQ(Op.MLOAD(offset=0x140), 0x5) + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xC6]) + + Op.JUMPDEST + + Op.PUSH1[0x28] + + Op.CODECOPY(dest_offset=0x300, offset=0x2EC, size=Op.DUP1) + + Op.PUSH2[0x540] + + Op.MSTORE + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xD9], condition=Op.EQ(Op.MLOAD(offset=0x140), 0x6) + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xE8]) + + Op.JUMPDEST + + Op.PUSH1[0x2A] + + Op.CODECOPY(dest_offset=0x300, offset=0x314, size=Op.DUP1) + + Op.PUSH2[0x540] + + Op.MSTORE + + Op.JUMPDEST + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x200, offset=0x33E, size=Op.DUP1) + + Op.PUSH2[0x520] + + Op.MSTORE + + Op.JUMPI(pc=0x117, condition=Op.EQ(Op.MLOAD(offset=0x100), 0x1)) + + Op.MSTORE( + offset=0x600, + value=Op.CREATE2( value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - + Op.REVERT(offset=0x0, size=0x0) - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x200, offset=0x14, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.CALL( + offset=0x300, + size=Op.MLOAD(offset=0x540), + salt=0x5A17, + ), + ) + + Op.JUMP(pc=0x126) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x600, + value=Op.CREATE( + value=0x0, offset=0x300, size=Op.MLOAD(offset=0x540) + ), + ) + + Op.JUMPDEST + + Op.SSTORE(key=0x20, value=Op.PC) + + Op.SSTORE(key=0x10, value=Op.RETURNDATASIZE) + + Op.JUMPI( + pc=0x143, + condition=Op.OR( + Op.RETURNDATASIZE, Op.EQ(Op.MLOAD(offset=0x140), 0x4) + ), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x153) + + Op.JUMPDEST + + Op.RETURNDATACOPY(dest_offset=0x160, offset=0x0, size=0x20) + + Op.SSTORE(key=0x11, value=Op.MLOAD(offset=0x160)) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x560, value=Op.EXTCODESIZE(address=Op.MLOAD(offset=0x600)) + ) + + Op.EXTCODECOPY( + address=Op.MLOAD(offset=0x600), + dest_offset=0x400, + offset=0x0, + size=Op.MLOAD(offset=0x560), + ) + + Op.SSTORE( + key=0x12, + value=Op.SUB(Op.MLOAD(offset=0x520), Op.MLOAD(offset=0x560)), + ) + + Op.SSTORE( + key=0x13, + value=Op.SUB(Op.MLOAD(offset=0x200), Op.MLOAD(offset=0x400)), + ) + + Op.JUMPI(pc=0x195, condition=Op.EQ(Op.MLOAD(offset=0x120), 0x1)) + + Op.POP(0x0) + + Op.JUMP(pc=0x1AC) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x640, + value=Op.CALL( gas=0xFFFF, - address=0x60A7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - + Op.MSTORE(offset=0x0, value=0x60A7) - + Op.REVERT(offset=0x0, size=0x20) - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x200, offset=0x1A, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.CALL( - gas=0xFFFF, - address=0x60A7, + address=Op.MLOAD(offset=0x600), value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - + Op.MSTORE(offset=0x0, value=0x60A7) - + Op.STOP - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x200, offset=0x16, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.CALL( + ), + ) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1BF, condition=Op.EQ(Op.MLOAD(offset=0x120), 0x2)) + + Op.POP(0x0) + + Op.JUMP(pc=0x1D6) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x640, + value=Op.CALLCODE( gas=0xFFFF, - address=0x60A7, + address=Op.MLOAD(offset=0x600), value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - + Op.MSTORE(offset=0x0, value=0x60A7) - + Op.SELFDESTRUCT(address=0x0) - + Op.PUSH1[0x12] - + Op.CODECOPY(dest_offset=0x200, offset=0x18, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.CALL( + ), + ) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1E9, condition=Op.EQ(Op.MLOAD(offset=0x120), 0x3)) + + Op.POP(0x0) + + Op.JUMP(pc=0x1FE) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x640, + value=Op.DELEGATECALL( gas=0xFFFF, - address=0x60A7, - value=0x0, + address=Op.MLOAD(offset=0x600), args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - + Op.CALL( + ), + ) + + Op.JUMPDEST + + Op.JUMPI(pc=0x211, condition=Op.EQ(Op.MLOAD(offset=0x120), 0x4)) + + Op.POP(0x0) + + Op.JUMP(pc=0x226) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x640, + value=Op.STATICCALL( gas=0xFFFF, - address=0x60A7, - value=0x0, + address=Op.MLOAD(offset=0x600), args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.JUMPDEST + + Op.SSTORE(key=0x21, value=Op.PC) + + Op.JUMPI( + pc=0x23E, condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x120), 0x0)) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x24D) + + Op.JUMPDEST + + Op.SSTORE(key=0x14, value=Op.SUB(Op.MLOAD(offset=0x640), 0x1)) + + Op.SSTORE(key=0x15, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.STOP + + Op.INVALID + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x200, offset=0xF, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.CALL( + gas=0xFFFF, + address=0x60A7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP + + Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x200, offset=0x17, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.CALL( + gas=0xFFFF, + address=0x60A7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP + + Op.REVERT(offset=0x0, size=0x0) + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x200, offset=0x14, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.CALL( + gas=0xFFFF, + address=0x60A7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP + + Op.MSTORE(offset=0x0, value=0x60A7) + + Op.REVERT(offset=0x0, size=0x20) + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x200, offset=0x1A, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.CALL( + gas=0xFFFF, + address=0x60A7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP + + Op.MSTORE(offset=0x0, value=0x60A7) + + Op.STOP + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x200, offset=0x16, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.CALL( + gas=0xFFFF, + address=0x60A7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP + + Op.MSTORE(offset=0x0, value=0x60A7) + + Op.SELFDESTRUCT(address=0x0) + + Op.PUSH1[0x12] + + Op.CODECOPY(dest_offset=0x200, offset=0x18, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.RETURN + + Op.STOP + + Op.INVALID + + Op.CALL( + gas=0xFFFF, + address=0x60A7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP + + Op.CALL( + gas=0xFFFF, + address=0x60A7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, storage={ - 0x10: 0x60A7, - 0x12: 0x60A7, - 0x13: 0x60A7, - 0x14: 0x60A7, - 0x15: 0x60A7, - 0x20: 0x60A7, - 0x21: 0x60A7, + 16: 24743, + 18: 24743, + 19: 24743, + 20: 24743, + 21: 24743, + 32: 24743, + 33: 24743, }, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + # Source: lll + # { + # [[0]] 0x60A7 + # } ; end of LLL code + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x60A7) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x00000000000000000000000000000000000060A7), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1, 2, 4, 5, 6], "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={32: 295, 33: 551}), + contract_1: Account(storage={0: 24743}), + }, + }, + { + "indexes": {"data": [3, 7], "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={32: 295, 33: 551})}, + }, + { + "indexes": { + "data": [8, 9, 10, 11, 12, 13, 14, 15], + "gas": 0, + "value": 0, + }, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={ + 18: 18, + 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 + 20: 24743, + 21: 24743, + 32: 295, + 33: 551, + }, + ), + }, + }, + { + "indexes": {"data": [16, 17], "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={ + 16: 32, + 17: 24743, + 18: 18, + 19: 0x600060006000600060006160A761FFFFF1000000000000000000000000000000, # noqa: E501 + 20: 24743, + 21: 24743, + 32: 295, + 33: 551, + }, + ), + }, + }, + { + "indexes": { + "data": [18, 19, 20, 21, 22, 23, 24, 25], + "gas": 0, + "value": 0, + }, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={ + 16: 24743, + 17: 0, + 18: 24743, + 19: 24743, + 20: 24743, + 21: 24743, + 32: 24743, + 33: 24743, + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("048071d3") + Hash(0x1) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x1) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x1) + Hash(0x3) + Hash(0x0), + Bytes("048071d3") + Hash(0x1) + Hash(0x4) + Hash(0x0), + Bytes("048071d3") + Hash(0x2) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x2) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x2) + Hash(0x3) + Hash(0x0), + Bytes("048071d3") + Hash(0x2) + Hash(0x4) + Hash(0x0), + Bytes("048071d3") + Hash(0x1) + Hash(0x0) + Hash(0x1), + Bytes("048071d3") + Hash(0x2) + Hash(0x0) + Hash(0x1), + Bytes("048071d3") + Hash(0x1) + Hash(0x0) + Hash(0x2), + Bytes("048071d3") + Hash(0x2) + Hash(0x0) + Hash(0x2), + Bytes("048071d3") + Hash(0x1) + Hash(0x0) + Hash(0x5), + Bytes("048071d3") + Hash(0x2) + Hash(0x0) + Hash(0x5), + Bytes("048071d3") + Hash(0x1) + Hash(0x0) + Hash(0x6), + Bytes("048071d3") + Hash(0x2) + Hash(0x0) + Hash(0x6), + Bytes("048071d3") + Hash(0x1) + Hash(0x0) + Hash(0x3), + Bytes("048071d3") + Hash(0x2) + Hash(0x0) + Hash(0x3), + Bytes("048071d3") + Hash(0x1) + Hash(0x1) + Hash(0x4), + Bytes("048071d3") + Hash(0x1) + Hash(0x2) + Hash(0x4), + Bytes("048071d3") + Hash(0x1) + Hash(0x3) + Hash(0x4), + Bytes("048071d3") + Hash(0x1) + Hash(0x4) + Hash(0x4), + Bytes("048071d3") + Hash(0x2) + Hash(0x1) + Hash(0x4), + Bytes("048071d3") + Hash(0x2) + Hash(0x2) + Hash(0x4), + Bytes("048071d3") + Hash(0x2) + Hash(0x3) + Hash(0x4), + Bytes("048071d3") + Hash(0x2) + Hash(0x4) + Hash(0x4), + ] + tx_gas = [9437184] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=9437184, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_transaction_call_data.py b/tests/ported_static/stCreateTest/test_create_transaction_call_data.py index 8df77ac053f..c5b75faf700 100644 --- a/tests/ported_static/stCreateTest/test_create_transaction_call_data.py +++ b/tests/ported_static/stCreateTest/test_create_transaction_call_data.py @@ -1,57 +1,75 @@ """ -Tests if CALLDATALOAD, CALLDATACOPY, CODECOPY and CODESIZE work correctly... +Tests if CALLDATALOAD, CALLDATACOPY, CODECOPY and CODESIZE work... call data is always empty in initcode context and "code" is initcode. Ported from: -tests/static/state_tests/stCreateTest/CreateTransactionCallDataFiller.yml +state_tests/stCreateTest/CreateTransactionCallDataFiller.yml """ import pytest from execution_testing import ( EOA, Account, - Address, Alloc, Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CreateTransactionCallDataFiller.yml", # noqa: E501 - ], + ["state_tests/stCreateTest/CreateTransactionCallDataFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ("6001600080376000516000556020600160003760005160015500", {}), - ("60003560005560213560015500", {}), - ("3860008039386000f3", {}), + pytest.param( + 0, + 0, + 0, + id="calldataload", + ), + pytest.param( + 1, + 0, + 0, + id="calldatacopy", + ), + pytest.param( + 2, + 0, + 0, + id="codecopy", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_create_transaction_call_data( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Tests if CALLDATALOAD, CALLDATACOPY, CODECOPY and CODESIZE work...""" - coinbase = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) env = Environment( - fee_recipient=coinbase, + fee_recipient=sender, number=1, timestamp=1000, prev_randao=0x20000, @@ -61,15 +79,51 @@ def test_create_transaction_call_data( pre[sender] = Account(balance=0x5AF3107A4000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + storage={}, code=b"", nonce=1 + ), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + storage={}, + code=bytes.fromhex("3860008039386000f3"), + nonce=1, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.SSTORE(key=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.CALLDATALOAD(offset=0x21)) + + Op.STOP, + Op.CALLDATACOPY(dest_offset=Op.DUP1, offset=0x0, size=0x1) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.CALLDATACOPY(dest_offset=0x0, offset=0x1, size=0x20) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + Op.CODECOPY(dest_offset=Op.DUP1, offset=0x0, size=Op.CODESIZE) + + Op.RETURN(offset=0x0, size=Op.CODESIZE), + ] + tx_gas = [100000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=100000, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_transaction_high_nonce.py b/tests/ported_static/stCreateTest/test_create_transaction_high_nonce.py index a81106dd2d8..c7d88161164 100644 --- a/tests/ported_static/stCreateTest/test_create_transaction_high_nonce.py +++ b/tests/ported_static/stCreateTest/test_create_transaction_high_nonce.py @@ -1,57 +1,71 @@ """ -The test check if the create transaction is reject if the origin's nonce is... +The test check if the create transaction is reject if the origin's... (and would overflow if increased by 1). Ported from: -tests/static/state_tests/stCreateTest/CreateTransactionHighNonceFiller.yml +state_tests/stCreateTest/CreateTransactionHighNonceFiller.yml """ import pytest from execution_testing import ( EOA, Account, - Address, Alloc, Environment, StateTestFiller, Transaction, TransactionException, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CreateTransactionHighNonceFiller.yml", # noqa: E501 - ], + ["state_tests/stCreateTest/CreateTransactionHighNonceFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value", + "d, g, v", [ - 0, - 1, + pytest.param( + 0, + 0, + 0, + id="-v0", + marks=pytest.mark.exception_test, + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + marks=pytest.mark.exception_test, + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.exception_test def test_create_transaction_high_nonce( state_test: StateTestFiller, pre: Alloc, - tx_value: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """The test check if the create transaction is reject if the...""" - coinbase = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """The test check if the create transaction is reject if the origin's...""" sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) env = Environment( - fee_recipient=coinbase, + fee_recipient=sender, number=1, timestamp=1000, prev_randao=0x20000, @@ -61,16 +75,33 @@ def test_create_transaction_high_nonce( pre[sender] = Account(balance=0x5AF3107A4000, nonce=18446744073709551615) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.NONCE_IS_MAX + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.RETURN(offset=0x0, size=0x1), + ] + tx_gas = [90000] + tx_value = [0, 1] + tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("60016000f3"), - gas_limit=90000, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], nonce=18446744073709551615, - value=tx_value, error=TransactionException.NONCE_IS_MAX, ) - post: dict = {} - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_create_transaction_refund_ef.py b/tests/ported_static/stCreateTest/test_create_transaction_refund_ef.py index 1a15e154854..a9d2329d3bb 100644 --- a/tests/ported_static/stCreateTest/test_create_transaction_refund_ef.py +++ b/tests/ported_static/stCreateTest/test_create_transaction_refund_ef.py @@ -1,8 +1,9 @@ """ Test combination of gas refund and EF-prefixed create transaction failure. + Ported from: -tests/static/state_tests/stCreateTest/CreateTransactionRefundEFFiller.yml +state_tests/stCreateTest/CreateTransactionRefundEFFiller.yml """ import pytest @@ -14,6 +15,7 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/CreateTransactionRefundEFFiller.yml", # noqa: E501 - ], + ["state_tests/stCreateTest/CreateTransactionRefundEFFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,13 +33,13 @@ def test_create_transaction_refund_ef( pre: Alloc, ) -> None: """Test combination of gas refund and EF-prefixed create transaction...""" - coinbase = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") + contract_0 = Address(0x00000000000000000000000000000000005EF94D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) env = Environment( - fee_recipient=coinbase, + fee_recipient=sender, number=1, timestamp=1000, prev_randao=0x20000, @@ -47,29 +47,40 @@ def test_create_transaction_refund_ef( gas_limit=1000000, ) - # Source: Yul - # { + pre[sender] = Account(balance=0x5AF3107A4000) + # Source: yul + # berlin { # sstore(0,0) # } - contract = pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=Op.DUP1, value=0x0) + Op.STOP, - storage={0x0: 0x1}, + storage={0: 1}, nonce=0, - address=Address("0x00000000000000000000000000000000005ef94d"), # noqa: E501 + address=Address(0x00000000000000000000000000000000005EF94D), # noqa: E501 ) - pre[sender] = Account(balance=0x5AF3107A4000) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "600080808080625ef94d61c350f15060ef60005360016000f3" - ), + data=Op.POP( + Op.CALL( + gas=0xC350, + address=contract_0, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.MSTORE8(offset=0x0, value=0xEF) + + Op.RETURN(offset=0x0, size=0x1), gas_limit=100000, ) post = { - contract: Account(storage={0: 1}), + contract_0: Account(storage={0: 1}), + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_transaction_collision_to_empty2.py b/tests/ported_static/stCreateTest/test_transaction_collision_to_empty2.py index 786dd5e33b0..2e85f6b9b3c 100644 --- a/tests/ported_static/stCreateTest/test_transaction_collision_to_empty2.py +++ b/tests/ported_static/stCreateTest/test_transaction_collision_to_empty2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_transaction_collision_to_empty2. Ported from: -tests/static/state_tests/stCreateTest/TransactionCollisionToEmpty2Filler.json +state_tests/stCreateTest/TransactionCollisionToEmpty2Filler.json """ import pytest @@ -15,57 +15,64 @@ StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/TransactionCollisionToEmpty2Filler.json", # noqa: E501 - ], + ["state_tests/stCreateTest/TransactionCollisionToEmpty2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - 600000, + pytest.param( 0, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + 0, + 0, + id="-g0-v0", ), - ( - 600000, + pytest.param( + 0, + 0, 1, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + id="-g0-v1", + ), + pytest.param( + 0, + 1, + 0, + id="-g1-v0", + ), + pytest.param( + 0, + 1, + 1, + id="-g1-v1", ), - (54000, 0, {}), - (54000, 1, {}), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_transaction_collision_to_empty2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction_collision_to_empty2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f") env = Environment( fee_recipient=coinbase, @@ -76,17 +83,51 @@ def test_transaction_collision_to_empty2( gas_limit=10000000, ) - pre[contract] = Account(balance=10, nonce=0) pre[sender] = Account(balance=0xE8D4A51000) + pre[contract_0] = Account(balance=10) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(storage={1: 1}, balance=10, nonce=1), + }, + }, + { + "indexes": {"data": -1, "gas": 0, "value": 1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(storage={1: 1}, balance=11, nonce=1), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(storage={}, balance=10, nonce=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.SSTORE(key=0x1, value=0x1), + ] + tx_gas = [600000, 54000] + tx_value = [0, 1] tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("6001600155"), - gas_limit=tx_gas_limit, - value=tx_value, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_transaction_collision_to_empty_but_code.py b/tests/ported_static/stCreateTest/test_transaction_collision_to_empty_but_code.py index 74a209c3bb1..36f9cdd064e 100644 --- a/tests/ported_static/stCreateTest/test_transaction_collision_to_empty_but_code.py +++ b/tests/ported_static/stCreateTest/test_transaction_collision_to_empty_but_code.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_transaction_collision_to_empty_but_code. Ported from: -tests/static/state_tests/stCreateTest -TransactionCollisionToEmptyButCodeFiller.json +state_tests/stCreateTest/TransactionCollisionToEmptyButCodeFiller.json """ import pytest @@ -16,37 +15,61 @@ StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stCreateTest/TransactionCollisionToEmptyButCodeFiller.json", # noqa: E501 - ], + ["state_tests/stCreateTest/TransactionCollisionToEmptyButCodeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - (600000, 0, {}), - (600000, 1, {}), - (54000, 0, {}), - (54000, 1, {}), + pytest.param( + 0, + 0, + 0, + id="-g0-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-g0-v1", + ), + pytest.param( + 0, + 1, + 0, + id="-g1-v0", + ), + pytest.param( + 0, + 1, + 1, + id="-g1-v1", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_transaction_collision_to_empty_but_code( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction_collision_to_empty_but_code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -60,22 +83,57 @@ def test_transaction_collision_to_empty_but_code( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xE8D4A51000) + # Source: raw + # 0x1122334455 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("1122334455"), nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( + storage={1: 0}, + code=bytes.fromhex("1122334455"), + nonce=0, + ), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account( + storage={}, + code=bytes.fromhex("1122334455"), + nonce=0, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.SSTORE(key=0x1, value=0x1), + ] + tx_gas = [600000, 54000] + tx_value = [0, 1] tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("6001600155"), - gas_limit=tx_gas_limit, - value=tx_value, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stCreateTest/test_transaction_collision_to_empty_but_nonce.py b/tests/ported_static/stCreateTest/test_transaction_collision_to_empty_but_nonce.py index 1dea48a62b7..90368103d9b 100644 --- a/tests/ported_static/stCreateTest/test_transaction_collision_to_empty_but_nonce.py +++ b/tests/ported_static/stCreateTest/test_transaction_collision_to_empty_but_nonce.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_transaction_collision_to_empty_but_nonce. Ported from: -tests/static/state_tests/stCreateTest -TransactionCollisionToEmptyButNonceFiller.json +state_tests/stCreateTest/TransactionCollisionToEmptyButNonceFiller.json """ import pytest @@ -16,6 +15,8 @@ StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @@ -23,34 +24,54 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stCreateTest/TransactionCollisionToEmptyButNonceFiller.json", # noqa: E501 + "state_tests/stCreateTest/TransactionCollisionToEmptyButNonceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - (600000, 0, {}), - (600000, 1, {}), - (54000, 0, {}), - (54000, 1, {}), + pytest.param( + 0, + 0, + 0, + id="-g0-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-g0-v1", + ), + pytest.param( + 0, + 1, + 0, + id="-g1-v0", + ), + pytest.param( + 0, + 1, + 1, + id="-g1-v1", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_transaction_collision_to_empty_but_nonce( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction_collision_to_empty_but_nonce.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f") env = Environment( fee_recipient=coinbase, @@ -61,17 +82,26 @@ def test_transaction_collision_to_empty_but_nonce( gas_limit=10000000, ) - pre[contract] = Account(balance=0, nonce=1) pre[sender] = Account(balance=0xE8D4A51000) + pre[contract_0] = Account(balance=0, nonce=1) + + tx_data = [ + Op.SSTORE(key=0x1, value=0x1), + ] + tx_gas = [600000, 54000] + tx_value = [0, 1] tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("6001600155"), - gas_limit=tx_gas_limit, - value=tx_value, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + sender: Account(nonce=1), + contract_0: Account(storage={1: 0}, nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/__init__.py b/tests/ported_static/stDelegatecallTestHomestead/__init__.py index fde91181132..a009cddc163 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/__init__.py +++ b/tests/ported_static/stDelegatecallTestHomestead/__init__.py @@ -1 +1 @@ -"""Tests ported from stDelegatecallTestHomestead.""" +"""Ported static tests: stDelegatecallTestHomestead.""" # noqa: N999 diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_call1024_balance_too_low.py b/tests/ported_static/stDelegatecallTestHomestead/test_call1024_balance_too_low.py index 9d998d6a719..4aa2d08d313 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_call1024_balance_too_low.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_call1024_balance_too_low.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call1024_balance_too_low. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -Call1024BalanceTooLowFiller.json +state_tests/stDelegatecallTestHomestead/Call1024BalanceTooLowFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/Call1024BalanceTooLowFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/Call1024BalanceTooLowFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,12 +34,12 @@ def test_call1024_balance_too_low( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call1024_balance_too_low.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -51,39 +51,36 @@ def test_call1024_balance_too_low( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre[callee] = Account(balance=7000, nonce=0) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (DELEGATECALL 0xfffffffffff 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xFFFFFFFFFFF, - address=0xE7ADDF870A481E1A0829E5A67DEBD5B963861979, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xFFFFFFFFFFF, + address=0xE7ADDF870A481E1A0829E5A67DEBD5B963861979, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0xe7addf870a481e1a0829e5a67debd5b963861979"), # noqa: E501 + address=Address(0xE7ADDF870A481E1A0829E5A67DEBD5B963861979), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=17592186099592, value=10, ) - post = { - contract: Account(storage={0: 1025, 1: 1}), - } + post = {target: Account(storage={0: 1025, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_call1024_oog.py b/tests/ported_static/stDelegatecallTestHomestead/test_call1024_oog.py index cb1ad0fd5bb..d2b7489c66b 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_call1024_oog.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_call1024_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call1024_oog. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead/Call1024OOGFiller.json +state_tests/stDelegatecallTestHomestead/Call1024OOGFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,46 +27,41 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stDelegatecallTestHomestead/Call1024OOGFiller.json", # noqa: E501 - ], + ["state_tests/stDelegatecallTestHomestead/Call1024OOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 13120826, - { - Address("0x62c5c9278da01e6594d6fede061838cf5e597f2b"): Account( - storage={0: 134, 1: 1, 2: 0x20B71} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", ), - ( - 15720826, - { - Address("0x62c5c9278da01e6594d6fede061838cf5e597f2b"): Account( - storage={0: 146, 1: 1, 2: 0x23A51} - ) - }, + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_call1024_oog( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call1024_oog.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -73,44 +73,62 @@ def test_call1024_oog( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (DELEGATECALL (MUL (SUB (GAS) 10000) (SUB 1 (DIV @@0 1025))) 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=Op.MUL( - Op.SUB(Op.GAS, 0x2710), - Op.SUB(0x1, Op.DIV(Op.SLOAD(key=0x0), 0x401)), - ), - address=0x62C5C9278DA01E6594D6FEDE061838CF5E597F2B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=Op.MUL( + Op.SUB(Op.GAS, 0x2710), + Op.SUB(0x1, Op.DIV(Op.SLOAD(key=0x0), 0x401)), ), - ) - + Op.SSTORE( - key=0x2, - value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)), - ) - + Op.STOP - ), + address=0x62C5C9278DA01E6594D6FEDE061838CF5E597F2B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)) + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0x62c5c9278da01e6594d6fede061838cf5e597f2b"), # noqa: E501 + address=Address(0x62C5C9278DA01E6594D6FEDE061838CF5E597F2B), # noqa: E501 ) - pre[callee] = Account(balance=7000, nonce=0) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 134, 1: 1, 2: 0x20B71})}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 146, 1: 1, 2: 0x23A51})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [13120826, 15720826] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_call1024_pre_calls.py b/tests/ported_static/stDelegatecallTestHomestead/test_call1024_pre_calls.py index 7a730710105..79dc8d66b56 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_call1024_pre_calls.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_call1024_pre_calls.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call1024_pre_calls. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -Call1024PreCallsFiller.json +state_tests/stDelegatecallTestHomestead/Call1024PreCallsFiller.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,55 +27,48 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stDelegatecallTestHomestead/Call1024PreCallsFiller.json", # noqa: E501 - ], + ["state_tests/stDelegatecallTestHomestead/Call1024PreCallsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 11937600034817, - { - Address("0x515e9a6500c10f0db92754d10136694bb188153b"): Account( - storage={0: 1025, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", ), - ( - 9214364837600034817, - { - Address("0x515e9a6500c10f0db92754d10136694bb188153b"): Account( - storage={0: 1025, 1: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="-g1", ), - ( - 9381323795670, - { - Address("0x515e9a6500c10f0db92754d10136694bb188153b"): Account( - storage={0: 989, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 0, + 2, + 0, + id="-g2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_call1024_pre_calls( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call1024_pre_calls.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xCC381C83857B17CA629268ED418E2915A0287B84EFE9CF2204C020302E83CDA0 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -83,61 +80,85 @@ def test_call1024_pre_calls( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 2 ]] (CALL 0xffff 1 0 0 0 0) [[ 3 ]] (CALL 0xffff 1 0 0 0 0) [[ 0 ]] (ADD @@0 1) [[ 1 ]] (DELEGATECALL 0xfffffffffff 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x3, - value=Op.CALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xFFFFFFFFFFF, - address=0x515E9A6500C10F0DB92754D10136694BB188153B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x3, + value=Op.CALL( + gas=0xFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xFFFFFFFFFFF, + address=0x515E9A6500C10F0DB92754D10136694BB188153B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=2024, nonce=0, - address=Address("0x515e9a6500c10f0db92754d10136694bb188153b"), # noqa: E501 + address=Address(0x515E9A6500C10F0DB92754D10136694BB188153B), # noqa: E501 ) - pre[callee] = Account(balance=7000, nonce=0) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call_lose_gas_oog.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -49,43 +48,39 @@ def test_call_lose_gas_oog( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (DELEGATECALL (ADD 1(MUL @@0 100000)) 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x186A0)), - address=0xBE855315B63D137B74D5EED6BE5CD9DDE6E2478D, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x186A0)), + address=0xBE855315B63D137B74D5EED6BE5CD9DDE6E2478D, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)) + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0xbe855315b63d137b74d5eed6be5cd9dde6e2478d"), # noqa: E501 + address=Address(0xBE855315B63D137B74D5EED6BE5CD9DDE6E2478D), # noqa: E501 ) - pre[callee] = Account(balance=7000, nonce=0) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, value=10, ) - post = { - contract: Account(storage={0: 1, 2: 1001}), - } + post = {target: Account(storage={0: 1, 2: 1001})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_call_output1.py b/tests/ported_static/stDelegatecallTestHomestead/test_call_output1.py index 45356e20cc4..a34e21f9c05 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_call_output1.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_call_output1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_output1. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead/callOutput1Filler.json +state_tests/stDelegatecallTestHomestead/callOutput1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stDelegatecallTestHomestead/callOutput1Filler.json", # noqa: E501 - ], + ["state_tests/stDelegatecallTestHomestead/callOutput1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_output1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_output1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,53 +46,55 @@ def test_call_output1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (DELEGATECALL 50000 0 0 0 0) [[ 0 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x79accf3a3f2d0e87beb2d0f72039a5aa27d46426"), # noqa: E501 + address=Address(0x79ACCF3A3F2D0E87BEB2D0F72039A5AA27D46426), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=900000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, ), + addr: Account(storage={}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_call_output2.py b/tests/ported_static/stDelegatecallTestHomestead/test_call_output2.py index 51cced17cae..d50c8cfcb67 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_call_output2.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_call_output2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_output2. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead/callOutput2Filler.json +state_tests/stDelegatecallTestHomestead/callOutput2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stDelegatecallTestHomestead/callOutput2Filler.json", # noqa: E501 - ], + ["state_tests/stDelegatecallTestHomestead/callOutput2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_output2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_output2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,53 +46,55 @@ def test_call_output2( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (DELEGATECALL 50000 0 32 0 0) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6f04a8ba354531ecd357e2cd4ddb43140f1e5fc9"), # noqa: E501 + address=Address(0x6F04A8BA354531ECD357E2CD4DDB43140F1E5FC9), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=900000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, ), + addr: Account(storage={}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_call_output3.py b/tests/ported_static/stDelegatecallTestHomestead/test_call_output3.py index fb22a06f86a..038fab4be3b 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_call_output3.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_call_output3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_output3. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead/callOutput3Filler.json +state_tests/stDelegatecallTestHomestead/callOutput3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stDelegatecallTestHomestead/callOutput3Filler.json", # noqa: E501 - ], + ["state_tests/stDelegatecallTestHomestead/callOutput3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_output3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_output3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,53 +46,55 @@ def test_call_output3( gas_limit=10000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (DELEGATECALL 50000 0 0 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4e40004dedfdad4927c60de1289ab14535f5121a"), # noqa: E501 + address=Address(0x4E40004DEDFDAD4927C60DE1289AB14535F5121A), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=900000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, ), + addr: Account(storage={}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_call_output3partial.py b/tests/ported_static/stDelegatecallTestHomestead/test_call_output3partial.py index 8e8094a64e6..876cf5a8de2 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_call_output3partial.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_call_output3partial.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_output3partial. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -callOutput3partialFiller.json +state_tests/stDelegatecallTestHomestead/callOutput3partialFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stDelegatecallTestHomestead/callOutput3partialFiller.json", # noqa: E501 - ], + ["state_tests/stDelegatecallTestHomestead/callOutput3partialFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_call_output3partial( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_output3partial.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -48,53 +46,55 @@ def test_call_output3partial( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), + # Source: lll + # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (DELEGATECALL 50000 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xA, + ) + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xEFB6356473F53E06A8627E7AC82AB3AB3D24E68A), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (DELEGATECALL 50000 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xA, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xefb6356473f53e06a8627e7ac82ab3ab3d24e68a"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=900000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, ), + addr: Account(storage={}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_call_output3partial_fail.py b/tests/ported_static/stDelegatecallTestHomestead/test_call_output3partial_fail.py index d47862eefbd..2fd02853949 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_call_output3partial_fail.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_call_output3partial_fail.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_output3partial_fail. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -callOutput3partialFailFiller.json +state_tests/stDelegatecallTestHomestead/callOutput3partialFailFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/callOutput3partialFailFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/callOutput3partialFailFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_output3partial_fail( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_output3partial_fail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -48,53 +48,55 @@ def test_call_output3partial_fail( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), + # Source: lll + # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (DELEGATECALL 50000 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xA, + ) + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x834abc2c68c5f44ea9ae82b67aaf92044901cdc6"), # noqa: E501 + address=Address(0xEFB6356473F53E06A8627E7AC82AB3AB3D24E68A), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (DELEGATECALL 50000 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xA, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x016001600101600055 + addr = pre.deploy_contract( # noqa: F841 + code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xefb6356473f53e06a8627e7ac82ab3ab3d24e68a"), # noqa: E501 + address=Address(0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=900000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, ), + addr: Account(storage={}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_call_recursive_bomb_pre_call.py b/tests/ported_static/stDelegatecallTestHomestead/test_call_recursive_bomb_pre_call.py index 2be3ee4e35e..eb37a533df6 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_call_recursive_bomb_pre_call.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_call_recursive_bomb_pre_call.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_recursive_bomb_pre_call. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -CallRecursiveBombPreCallFiller.json +state_tests/stDelegatecallTestHomestead/CallRecursiveBombPreCallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/CallRecursiveBombPreCallFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/CallRecursiveBombPreCallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,8 +34,8 @@ def test_call_recursive_bomb_pre_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_recursive_bomb_pre_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x77F65B71F1F16A75476F469F7106D1B60BFEC266AE25B8DA16A9091D223AA24A ) @@ -49,67 +49,67 @@ def test_call_recursive_bomb_pre_call( gas_limit=9223372036854775807, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0x36B00), - address=0x3046257C307A51F1A8AE73F6F6360937DD21138E, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (CALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0) (DELEGATECALL 0x7ffffffffffffff 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x186A0, + address=0xBAD304EB96065B2A98B57A48A06AE28D285A71B5, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x3046257C307A51F1A8AE73F6F6360937DD21138E, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, nonce=0, - address=Address("0x3046257c307a51f1a8ae73f6f6360937dd21138e"), # noqa: E501 + address=Address(0x7A11B1B8911ECCCFCCB030A17F9CEBDE63A92190), # noqa: E501 ) - # Source: LLL - # { (CALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0) (DELEGATECALL 0x7ffffffffffffff 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x186A0, - address=0xBAD304EB96065B2A98B57A48A06AE28D285A71B5, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, + # Source: lll + # { [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (CALL (- (GAS) 224000) 0 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0x36B00), address=0x3046257C307A51F1A8AE73F6F6360937DD21138E, + value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7a11b1b8911ecccfccb030a17f9cebde63a92190"), # noqa: E501 + address=Address(0x3046257C307A51F1A8AE73F6F6360937DD21138E), # noqa: E501 ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=9214364837600034817, ) post = { - callee: Account(storage={0: 1023, 1: 1}), - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={0: 1023, 1: 1}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_call_with_high_value_and_gas_oog.py b/tests/ported_static/stDelegatecallTestHomestead/test_call_with_high_value_and_gas_oog.py index c64fc692f89..52223519a53 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_call_with_high_value_and_gas_oog.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_call_with_high_value_and_gas_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_with_high_value_and_gas_oog. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -callWithHighValueAndGasOOGFiller.json +state_tests/stDelegatecallTestHomestead/callWithHighValueAndGasOOGFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/callWithHighValueAndGasOOGFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/callWithHighValueAndGasOOGFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_with_high_value_and_gas_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_with_high_value_and_gas_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,57 +48,53 @@ def test_call_with_high_value_and_gas_oog( gas_limit=30000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), - balance=23, - nonce=0, - address=Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (DELEGATECALL 0xffffffffffffffffffffffff 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, - address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, + address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa7465a0005567e06fbaa3ae783e57f22419c5a0a"), # noqa: E501 + address=Address(0xA7465A0005567E06FBAA3AE783E57F22419C5A0A), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), + balance=23, + nonce=0, + address=Address(0x0896F13E800125C0CCEC44F3C434335F0A97BC1B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_callcode_lose_gas_oog.py b/tests/ported_static/stDelegatecallTestHomestead/test_callcode_lose_gas_oog.py index 41b60774b6f..c378f284126 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_callcode_lose_gas_oog.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_callcode_lose_gas_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_lose_gas_oog. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -CallcodeLoseGasOOGFiller.json +state_tests/stDelegatecallTestHomestead/CallcodeLoseGasOOGFiller.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,40 +27,47 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stDelegatecallTestHomestead/CallcodeLoseGasOOGFiller.json", # noqa: E501 - ], + ["state_tests/stDelegatecallTestHomestead/CallcodeLoseGasOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (166262, {}), - (156262, {}), - ( - 600000, - { - Address("0xbe855315b63d137b74d5eed6be5cd9dde6e2478d"): Account( - storage={0: 1, 2: 1001} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_callcode_lose_gas_oog( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_callcode_lose_gas_oog.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -68,41 +79,64 @@ def test_callcode_lose_gas_oog( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (DELEGATECALL (ADD 1(MUL @@0 100000)) 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x186A0)), - address=0xBE855315B63D137B74D5EED6BE5CD9DDE6E2478D, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x186A0)), + address=0xBE855315B63D137B74D5EED6BE5CD9DDE6E2478D, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)) + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0xbe855315b63d137b74d5eed6be5cd9dde6e2478d"), # noqa: E501 + address=Address(0xBE855315B63D137B74D5EED6BE5CD9DDE6E2478D), # noqa: E501 ) - pre[callee] = Account(balance=7000, nonce=0) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0, 2: 0})}, + }, + { + "indexes": {"data": -1, "gas": 2, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 2: 1001})}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0, 2: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [166262, 156262, 600000] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_callcode_output3.py b/tests/ported_static/stDelegatecallTestHomestead/test_callcode_output3.py index 74c08c961fc..ed42703b0fa 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_callcode_output3.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_callcode_output3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_output3. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead/callcodeOutput3Filler.json +state_tests/stDelegatecallTestHomestead/callcodeOutput3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stDelegatecallTestHomestead/callcodeOutput3Filler.json", # noqa: E501 - ], + ["state_tests/stDelegatecallTestHomestead/callcodeOutput3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_output3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_output3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,49 +46,49 @@ def test_callcode_output3( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (DELEGATECALL 50000 0 0 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4e40004dedfdad4927c60de1289ab14535f5121a"), # noqa: E501 + address=Address(0x4E40004DEDFDAD4927C60DE1289AB14535F5121A), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=900000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_callcode_with_high_value_and_gas_oog.py b/tests/ported_static/stDelegatecallTestHomestead/test_callcode_with_high_value_and_gas_oog.py index 458839f3853..842f5448d2e 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_callcode_with_high_value_and_gas_oog.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_callcode_with_high_value_and_gas_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_with_high_value_and_gas_oog. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -callcodeWithHighValueAndGasOOGFiller.json +state_tests/stDelegatecallTestHomestead/callcodeWithHighValueAndGasOOGFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/callcodeWithHighValueAndGasOOGFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/callcodeWithHighValueAndGasOOGFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_with_high_value_and_gas_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_with_high_value_and_gas_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,57 +48,53 @@ def test_callcode_with_high_value_and_gas_oog( gas_limit=30000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), - balance=23, - nonce=0, - address=Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (DELEGATECALL 0xffffffffffffffffffffffff 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, - address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, + address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa7465a0005567e06fbaa3ae783e57f22419c5a0a"), # noqa: E501 + address=Address(0xA7465A0005567E06FBAA3AE783E57F22419C5A0A), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), + balance=23, + nonce=0, + address=Address(0x0896F13E800125C0CCEC44F3C434335F0A97BC1B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_deleagate_call_after_value_transfer.py b/tests/ported_static/stDelegatecallTestHomestead/test_deleagate_call_after_value_transfer.py index 4ba237eab71..d413b7f60ff 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_deleagate_call_after_value_transfer.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_deleagate_call_after_value_transfer.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_deleagate_call_after_value_transfer. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -deleagateCallAfterValueTransferFiller.json +state_tests/stDelegatecallTestHomestead/deleagateCallAfterValueTransferFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/deleagateCallAfterValueTransferFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/deleagateCallAfterValueTransferFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_deleagate_call_after_value_transfer( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_deleagate_call_after_value_transfer.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x3722FAAB4D25B944622D559EA4BCF38B4BCF3CAF07A6D2C6FD99321C1A66C974 ) @@ -48,50 +48,51 @@ def test_deleagate_call_after_value_transfer( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.CALLVALUE) - + Op.SSTORE(key=0x1, value=Op.CALLER) - + Op.SSTORE(key=0x2, value=Op.CALLDATALOAD(offset=0x0)) - + Op.STOP - ), - nonce=0, - address=Address("0x0346aa231cb52f55ddf201dc19ca469cc73e6495"), # noqa: E501 - ) - pre[sender] = Account(balance=0x2386F26FC10000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x01) (DELEGATECALL 100000 0 64 0 64) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x1) - + Op.DELEGATECALL( - gas=0x186A0, - address=0x346AA231CB52F55DDF201DC19CA469CC73E6495, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x1) + + Op.DELEGATECALL( + gas=0x186A0, + address=0x346AA231CB52F55DDF201DC19CA469CC73E6495, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x10C8E0, nonce=0, - address=Address("0xdd657898b318b3d967472eaa82bb75c4141b6735"), # noqa: E501 + address=Address(0xDD657898B318B3D967472EAA82BB75C4141B6735), # noqa: E501 + ) + # Source: lll + # { (SSTORE 0 (CALLVALUE)) (SSTORE 1 (CALLER)) (SSTORE 2 (CALLDATALOAD 0)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.CALLVALUE) + + Op.SSTORE(key=0x1, value=Op.CALLER) + + Op.SSTORE(key=0x2, value=Op.CALLDATALOAD(offset=0x0)) + + Op.STOP, + nonce=0, + address=Address(0x0346AA231CB52F55DDF201DC19CA469CC73E6495), # noqa: E501 ) + pre[sender] = Account(balance=0x2386F26FC10000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=453081, ) post = { - contract: Account( + target: Account( storage={ + 0: 0, 1: 0x6FDA566D1950D7E0A4DAC1DE87109B2CA7D12DA4, 2: 1, }, ), + addr: Account(storage={0: 0, 1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall1024.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall1024.py index 7dd94812c70..21c52e64dd9 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall1024.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall1024.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall1024. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -Delegatecall1024Filler.json +state_tests/stDelegatecallTestHomestead/Delegatecall1024Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stDelegatecallTestHomestead/Delegatecall1024Filler.json", # noqa: E501 - ], + ["state_tests/stDelegatecallTestHomestead/Delegatecall1024Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -34,12 +32,12 @@ def test_delegatecall1024( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_delegatecall1024.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -51,39 +49,36 @@ def test_delegatecall1024( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre[callee] = Account(balance=7000, nonce=0) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (DELEGATECALL 0xfffffffffff 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xFFFFFFFFFFF, - address=0xE7ADDF870A481E1A0829E5A67DEBD5B963861979, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xFFFFFFFFFFF, + address=0xE7ADDF870A481E1A0829E5A67DEBD5B963861979, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0xe7addf870a481e1a0829e5a67debd5b963861979"), # noqa: E501 + address=Address(0xE7ADDF870A481E1A0829E5A67DEBD5B963861979), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=9214364837600034817, value=10, ) - post = { - contract: Account(storage={0: 1025, 1: 1}), - } + post = {target: Account(storage={0: 1025, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall1024_oog.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall1024_oog.py index b38ffb63ee3..8abb223e58d 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall1024_oog.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall1024_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall1024_oog. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -Delegatecall1024OOGFiller.json +state_tests/stDelegatecallTestHomestead/Delegatecall1024OOGFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stDelegatecallTestHomestead/Delegatecall1024OOGFiller.json", # noqa: E501 - ], + ["state_tests/stDelegatecallTestHomestead/Delegatecall1024OOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,12 +31,12 @@ def test_delegatecall1024_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_delegatecall1024_oog.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -50,46 +48,42 @@ def test_delegatecall1024_oog( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (DELEGATECALL (MUL (SUB (GAS) 10000) (SUB 1 (DIV @@0 1025))) 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=Op.MUL( - Op.SUB(Op.GAS, 0x2710), - Op.SUB(0x1, Op.DIV(Op.SLOAD(key=0x0), 0x401)), - ), - address=0x62C5C9278DA01E6594D6FEDE061838CF5E597F2B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=Op.MUL( + Op.SUB(Op.GAS, 0x2710), + Op.SUB(0x1, Op.DIV(Op.SLOAD(key=0x0), 0x401)), ), - ) - + Op.SSTORE( - key=0x2, - value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)), - ) - + Op.STOP - ), + address=0x62C5C9278DA01E6594D6FEDE061838CF5E597F2B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)) + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0x62c5c9278da01e6594d6fede061838cf5e597f2b"), # noqa: E501 + address=Address(0x62C5C9278DA01E6594D6FEDE061838CF5E597F2B), # noqa: E501 ) - pre[callee] = Account(balance=7000, nonce=0) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=15720826, value=10, ) - post = { - contract: Account(storage={0: 146, 1: 1, 2: 0x23A51}), - } + post = {target: Account(storage={0: 146, 1: 1, 2: 0x23A51})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_and_oo_gat_tx_level.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_and_oo_gat_tx_level.py index 26b747dd266..6ccacffd7df 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_and_oo_gat_tx_level.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_and_oo_gat_tx_level.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_and_oo_gat_tx_level. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -delegatecallAndOOGatTxLevelFiller.json +state_tests/stDelegatecallTestHomestead/delegatecallAndOOGatTxLevelFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/delegatecallAndOOGatTxLevelFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/delegatecallAndOOGatTxLevelFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_delegatecall_and_oo_gat_tx_level( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_and_oo_gat_tx_level.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,48 +48,44 @@ def test_delegatecall_and_oo_gat_tx_level( gas_limit=30000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), - balance=23, - nonce=0, - address=Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 3000001 0 0 0 0 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x2DC6C1, - address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x2DC6C1, + address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0x830ab9ad91366bfb2bb745e4a637f97b25087928"), # noqa: E501 + address=Address(0x830AB9AD91366BFB2BB745E4A637F97B25087928), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), + balance=23, + nonce=0, + address=Address(0x0896F13E800125C0CCEC44F3C434335F0A97BC1B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_basic.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_basic.py index b4802347d65..79d25d26e1b 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_basic.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_basic.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_basic. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -delegatecallBasicFiller.json +state_tests/stDelegatecallTestHomestead/delegatecallBasicFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stDelegatecallTestHomestead/delegatecallBasicFiller.json", # noqa: E501 - ], + ["state_tests/stDelegatecallTestHomestead/delegatecallBasicFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_delegatecall_basic( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_basic.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,48 +46,44 @@ def test_delegatecall_basic( gas_limit=30000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), - balance=23, - nonce=0, - address=Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 500000 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x55bb8a8658b848ebbbb73cbf6ac9d59d715aec58"), # noqa: E501 + address=Address(0x55BB8A8658B848EBBBB73CBF6AC9D59D715AEC58), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), + balance=23, + nonce=0, + address=Address(0x0896F13E800125C0CCEC44F3C434335F0A97BC1B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_emptycontract.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_emptycontract.py index 34dd1fb8a96..1e09d014260 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_emptycontract.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_emptycontract.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_emptycontract. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -delegatecallEmptycontractFiller.json +state_tests/stDelegatecallTestHomestead/delegatecallEmptycontractFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/delegatecallEmptycontractFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/delegatecallEmptycontractFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_delegatecall_emptycontract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_emptycontract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x11489F9B076D3F3185EBE5C6E2DBEDBE9E283A6CE75895780134252B3DD5DBCC ) @@ -48,37 +48,34 @@ def test_delegatecall_emptycontract( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 50000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 64 )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x945304EB96065B2A98B57A48A06AE28D285A71B5, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x945304EB96065B2A98B57A48A06AE28D285A71B5, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=1000, nonce=0, - address=Address("0x4a88cf3b3f1dabdd27e62fcb5df86d7d685e0044"), # noqa: E501 + address=Address(0x4A88CF3B3F1DABDD27E62FCB5DF86D7D685E0044), # noqa: E501 ) pre[sender] = Account(balance=0x10C8E0) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=105044, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_empty_contract.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_empty_contract.py index 78d5f8ef701..853a44901bd 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_empty_contract.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_empty_contract.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_in_initcode_to_empty_contract. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -delegatecallInInitcodeToEmptyContractFiller.json +state_tests/stDelegatecallTestHomestead/delegatecallInInitcodeToEmptyContractFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/delegatecallInInitcodeToEmptyContractFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/delegatecallInInitcodeToEmptyContractFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_delegatecall_in_initcode_to_empty_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_in_initcode_to_empty_contract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,36 +50,35 @@ def test_delegatecall_in_initcode_to_empty_contract( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x604060006040600073945304eb96065b2a98b57a48a06ae28d285a71b5620186) (MSTORE 32 0xa0f4600055000000000000000000000000000000000000000000000000000000) (CREATE 1 0 64) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x604060006040600073945304EB96065B2A98B57A48A06AE28D285A71B5620186, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xA0F4600055000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.CREATE(value=0x1, offset=0x0, size=0x40) - + Op.STOP - ), - balance=0x2710, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x604060006040600073945304EB96065B2A98B57A48A06AE28D285A71B5620186, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xA0F4600055000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.CREATE(value=0x1, offset=0x0, size=0x40) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0x2386F26FC10000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=453081, ) post = { - Address("0x13136008b64ff592819b2fa6d43f2835c452020e"): Account( - storage={0: 1}, + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 1}, balance=1 ), } diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_existing_contract.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_existing_contract.py index 2b8f83ed20e..2064cc786a3 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_existing_contract.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_existing_contract.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_in_initcode_to_existing_contract. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -delegatecallInInitcodeToExistingContractFiller.json +state_tests/stDelegatecallTestHomestead/delegatecallInInitcodeToExistingContractFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/delegatecallInInitcodeToExistingContractFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/delegatecallInInitcodeToExistingContractFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,11 @@ def test_delegatecall_in_initcode_to_existing_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_in_initcode_to_existing_contract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000001) + contract_2 = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,64 +52,60 @@ def test_delegatecall_in_initcode_to_existing_contract( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x604060006040600073945304eb96065b2a98b57a48a06ae28d285a71b5620186) (MSTORE 32 0xa0f4600055336001550000000000000000000000000000000000000000000000) (CREATE 1 0 64) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x604060006040600073945304EB96065B2A98B57A48A06AE28D285A71B5620186, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xA0F4600055336001550000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.CREATE(value=0x1, offset=0x0, size=0x40) - + Op.STOP - ), - balance=0x2710, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x604060006040600073945304EB96065B2A98B57A48A06AE28D285A71B5620186, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xA0F4600055336001550000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.CREATE(value=0x1, offset=0x0, size=0x40) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6001600055) (CREATE 1 27 5) } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6001600055) - + Op.CREATE(value=0x1, offset=0x1B, size=0x5) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6001600055) + + Op.CREATE(value=0x1, offset=0x1B, size=0x5) + + Op.STOP, balance=1000, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SSTORE 2 1) [[ 11 ]] (CALLER) } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0xB, value=Op.CALLER) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0xB, value=Op.CALLER) + + Op.STOP, nonce=0, - address=Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5"), # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0x2386F26FC10000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=453081, ) post = { - Address("0x13136008b64ff592819b2fa6d43f2835c452020e"): Account( + compute_create_address(address=contract_0, nonce=0): Account( storage={ 0: 1, 1: 0x1000000000000000000000000000000000000000, 2: 1, 11: 0x1000000000000000000000000000000000000000, }, + balance=1, ), } diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_existing_contract_oog.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_existing_contract_oog.py index 53a4a6c6b89..a3bbd9709e6 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_existing_contract_oog.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_in_initcode_to_existing_contract_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_in_initcode_to_existing_contract_oog. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -delegatecallInInitcodeToExistingContractOOGFiller.json +state_tests/stDelegatecallTestHomestead/delegatecallInInitcodeToExistingContractOOGFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/delegatecallInInitcodeToExistingContractOOGFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/delegatecallInInitcodeToExistingContractOOGFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,10 @@ def test_delegatecall_in_initcode_to_existing_contract_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_in_initcode_to_existing_contract_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) + contract_1 = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,47 +51,42 @@ def test_delegatecall_in_initcode_to_existing_contract_oog( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x604060006040600073945304eb96065b2a98b57a48a06ae28d285a71b5620186) (MSTORE 32 0xa0f4600a5533600b550000000000000000000000000000000000000000000000) (CREATE 5 0 64) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x604060006040600073945304EB96065B2A98B57A48A06AE28D285A71B5620186, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xA0F4600A5533600B550000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.CREATE(value=0x5, offset=0x0, size=0x40) - + Op.STOP - ), - balance=0x2710, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x604060006040600073945304EB96065B2A98B57A48A06AE28D285A71B5620186, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xA0F4600A5533600B550000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.CREATE(value=0x5, offset=0x0, size=0x40) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SSTORE 2 1) } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, nonce=0, - address=Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5"), # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0x2386F26FC10000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=153096, ) post = { - Address("0x13136008b64ff592819b2fa6d43f2835c452020e"): Account( - storage={ - 2: 1, - 10: 1, - 11: 0x1000000000000000000000000000000000000000, - }, + compute_create_address(address=contract_0, nonce=0): Account( + balance=5 ), } diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_oo_gin_call.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_oo_gin_call.py index 7834608d16c..2e046ecfb4e 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_oo_gin_call.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_oo_gin_call.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_oo_gin_call. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -delegatecallOOGinCallFiller.json +state_tests/stDelegatecallTestHomestead/delegatecallOOGinCallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/delegatecallOOGinCallFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/delegatecallOOGinCallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_delegatecall_oo_gin_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_oo_gin_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,51 +48,51 @@ def test_delegatecall_oo_gin_call( gas_limit=30000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), - balance=23, - nonce=0, - address=Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (ADD (DELEGATECALL 10000 0 0 0 0 ) 1) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADD( - Op.DELEGATECALL( - gas=0x2710, - address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - 0x1, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ADD( + Op.DELEGATECALL( + gas=0x2710, + address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ), - ) - + Op.STOP - ), + 0x1, + ), + ) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0xc0eee677168d4abe7e0974ef0a4284cca6133b11"), # noqa: E501 + address=Address(0xC0EEE677168D4ABE7E0974EF0A4284CCA6133B11), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), + balance=23, + nonce=0, + address=Address(0x0896F13E800125C0CCEC44F3C434335F0A97BC1B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1, 1: 0}), + addr: Account(storage={0: 0, 1: 0}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_sender_check.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_sender_check.py index 7b09bcd91c1..24ad9900bc6 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_sender_check.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_sender_check.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_sender_check. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -delegatecallSenderCheckFiller.json +state_tests/stDelegatecallTestHomestead/delegatecallSenderCheckFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/delegatecallSenderCheckFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/delegatecallSenderCheckFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_delegatecall_sender_check( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_sender_check.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,43 +48,44 @@ def test_delegatecall_sender_check( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 500000 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0x7607CC240D38CCF9B55D1EEB1DF0C187F8EC28C1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0x7607CC240D38CCF9B55D1EEB1DF0C187F8EC28C1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x55bb8a8658b848ebbbb73cbf6ac9d59d715aec58"), # noqa: E501 + address=Address(0x55BB8A8658B848EBBBB73CBF6AC9D59D715AEC58), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # {[[ 1 ]] (CALLER)} + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=Op.CALLER) + Op.STOP, balance=23, nonce=0, - address=Address("0x7607cc240d38ccf9b55d1eeb1df0c187f8ec28c1"), # noqa: E501 + address=Address(0x7607CC240D38CCF9B55D1EEB1DF0C187F8EC28C1), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_value_check.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_value_check.py index 59dad437cf8..8c7005b3242 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_value_check.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecall_value_check.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_value_check. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -delegatecallValueCheckFiller.json +state_tests/stDelegatecallTestHomestead/delegatecallValueCheckFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/delegatecallValueCheckFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/delegatecallValueCheckFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_delegatecall_value_check( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_value_check.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,44 +48,43 @@ def test_delegatecall_value_check( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 500000 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0x5D25AD2A26F849E9400D6B65244F26F4EEA11ADF, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0x5D25AD2A26F849E9400D6B65244F26F4EEA11ADF, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x55bb8a8658b848ebbbb73cbf6ac9d59d715aec58"), # noqa: E501 + address=Address(0x55BB8A8658B848EBBBB73CBF6AC9D59D715AEC58), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # {[[ 1 ]] (CALLVALUE) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=Op.CALLVALUE) + Op.STOP, balance=23, nonce=0, - address=Address("0x5d25ad2a26f849e9400d6b65244f26f4eea11adf"), # noqa: E501 + address=Address(0x5D25AD2A26F849E9400D6B65244F26F4EEA11ADF), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, value=23, ) - post = { - contract: Account(storage={0: 1, 1: 23}), - } + post = {target: Account(storage={0: 1, 1: 23})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecode_dynamic_code.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecode_dynamic_code.py index 49fee8ee601..e1cda9b2948 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecode_dynamic_code.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecode_dynamic_code.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecode_dynamic_code. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -delegatecodeDynamicCodeFiller.json +state_tests/stDelegatecallTestHomestead/delegatecodeDynamicCodeFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/delegatecodeDynamicCodeFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/delegatecodeDynamicCodeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_delegatecode_dynamic_code( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecode_dynamic_code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,43 +50,48 @@ def test_delegatecode_dynamic_code( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x716860016000553360145560005260096017f36000526012600e6001f0600a55) (MSTORE 32 0x604060006040600073ffe4ebd2a68c02d9dcb0a17283d13346beb2d8b6620186) (MSTORE 64 0xa0f4600b55000000000000000000000000000000000000000000000000000000) (CREATE 1 0 96) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x716860016000553360145560005260096017F36000526012600E6001F0600A55, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x604060006040600073FFE4EBD2A68C02D9DCB0A17283D13346BEB2D8B6620186, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xA0F4600B55000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.CREATE(value=0x1, offset=0x0, size=0x60) - + Op.STOP - ), - balance=0x2710, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x716860016000553360145560005260096017F36000526012600E6001F0600A55, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x604060006040600073FFE4EBD2A68C02D9DCB0A17283D13346BEB2D8B6620186, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xA0F4600B55000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.CREATE(value=0x1, offset=0x0, size=0x60) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0x2386F26FC10000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=453081, ) post = { - Address("0x13136008b64ff592819b2fa6d43f2835c452020e"): Account( + Address( + 0xFFE4EBD2A68C02D9DCB0A17283D13346BEB2D8B6 + ): Account.NONEXISTENT, + compute_create_address(address=contract_0, nonce=0): Account( storage={ + 0: 0, 10: 0x568A95F77B047BECE6AA68843D2019332C46A585, 11: 1, + 20: 0, }, + balance=0, ), } diff --git a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecode_dynamic_code2_self_call.py b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecode_dynamic_code2_self_call.py index 536e35aaf47..9b084d3e8a5 100644 --- a/tests/ported_static/stDelegatecallTestHomestead/test_delegatecode_dynamic_code2_self_call.py +++ b/tests/ported_static/stDelegatecallTestHomestead/test_delegatecode_dynamic_code2_self_call.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecode_dynamic_code2_self_call. Ported from: -tests/static/state_tests/stDelegatecallTestHomestead -delegatecodeDynamicCode2SelfCallFiller.json +state_tests/stDelegatecallTestHomestead/delegatecodeDynamicCode2SelfCallFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stDelegatecallTestHomestead/delegatecodeDynamicCode2SelfCallFiller.json", # noqa: E501 + "state_tests/stDelegatecallTestHomestead/delegatecodeDynamicCode2SelfCallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_delegatecode_dynamic_code2_self_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecode_dynamic_code2_self_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,39 +50,39 @@ def test_delegatecode_dynamic_code2_self_call( gas_limit=1000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x60406000604060007313136008b64ff592819b2fa6d43f2835c452020e620186) (MSTORE 32 0xa0f4600b5533600c550000000000000000000000000000000000000000000000) (CREATE 1 0 64) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x60406000604060007313136008B64FF592819B2FA6D43F2835C452020E620186, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xA0F4600B5533600C550000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.CREATE(value=0x1, offset=0x0, size=0x40) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x60406000604060007313136008B64FF592819B2FA6D43F2835C452020E620186, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xA0F4600B5533600C550000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.CREATE(value=0x1, offset=0x0, size=0x40) + + Op.STOP, balance=0x10C8E0, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0x2386F26FC10000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=453081, ) post = { - Address("0x13136008b64ff592819b2fa6d43f2835c452020e"): Account( + compute_create_address(address=contract_0, nonce=0): Account( storage={ 11: 1, 12: 0x1000000000000000000000000000000000000000, }, + balance=1, ), } diff --git a/tests/ported_static/stEIP1153_transientStorage/__init__.py b/tests/ported_static/stEIP1153_transientStorage/__init__.py new file mode 100644 index 00000000000..83b003de6f6 --- /dev/null +++ b/tests/ported_static/stEIP1153_transientStorage/__init__.py @@ -0,0 +1 @@ +"""Ported static tests: stEIP1153_transientStorage.""" # noqa: N999 diff --git a/tests/ported_static/stEIP1153_transientStorage/test_10_revert_undoes_store_after_return.py b/tests/ported_static/stEIP1153_transientStorage/test_10_revert_undoes_store_after_return.py new file mode 100644 index 00000000000..c420133644f --- /dev/null +++ b/tests/ported_static/stEIP1153_transientStorage/test_10_revert_undoes_store_after_return.py @@ -0,0 +1,155 @@ +""" +Revert undoes the transient storage writes after a successful call. + +Ported from: +state_tests/Cancun/stEIP1153_transientStorage/10_revertUndoesStoreAfterReturnFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + StateTestFiller, + Transaction, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + [ + "state_tests/Cancun/stEIP1153_transientStorage/10_revertUndoesStoreAfterReturnFiller.yml" # noqa: E501 + ], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.pre_alloc_mutable +def test_10_revert_undoes_store_after_return( + state_test: StateTestFiller, + pre: Alloc, +) -> None: + """Revert undoes the transient storage writes after a successful call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0xBE0E7D5FEA1604BF57E004B0B414DF8DE04816DBB1C8F8719B725D0D6619B531 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=4503599627370496, + ) + + # Source: yul + # { + # switch selector() + # + # case 0x70ac643e { // doFirstCall() + # doFirstCall() + # } + # + # case 0x76b85d23 { // doCallThenRevert() + # doCallThenRevert() + # } + # + # case 0x4ccca553 { // doSuccessfulStore() + # doSuccessfulStore() + # } + # + # function doFirstCall() { + # verbatim_2i_0o(hex"5D", 0, 5) + # + # let v := verbatim_1i_1o(hex"5C", 0) + # sstore(0, v) + # + # mstore(0, hex"76b85d23") // calls doCallThenRevert() + # let fail := call(gas(), address(), 0, 0, 32, 0, 32) + # + # sstore(1, fail) // should be 0 (revert) + # sstore(2, mload(0)) // load 1 (successful call) + # + # let val := verbatim_1i_1o(hex"5C", 0) + # sstore(3, val) + # } + # ... (23 more lines) + target = pre.deploy_contract( # noqa: F841 + code=Op.SHR(0xE0, Op.CALLDATALOAD(offset=Op.PUSH0)) + + Op.JUMPI(pc=0x2F, condition=Op.EQ(0x70AC643E, Op.DUP1)) + + Op.JUMPI(pc=0x2B, condition=Op.EQ(0x76B85D23, Op.DUP1)) + + Op.PUSH4[0x4CCCA553] + + Op.JUMPI(pc=0x23, condition=Op.EQ) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x29] + + Op.JUMP(pc=0x76) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.JUMP(pc=0x5C) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x29] + + Op.TSTORE(key=Op.PUSH0, value=0x5) + + Op.SSTORE(key=Op.PUSH0, value=Op.TLOAD(key=Op.PUSH0)) + + Op.MSTORE(offset=Op.PUSH0, value=Op.SHL(0xE0, 0x76B85D23)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=Op.PUSH0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=Op.PUSH0)) + + Op.SSTORE(key=0x3, value=Op.TLOAD(key=Op.PUSH0)) + + Op.JUMP + + Op.JUMPDEST + + Op.MSTORE(offset=Op.PUSH0, value=Op.SHL(0xE0, 0x4CCCA553)) + + Op.MSTORE( + offset=Op.PUSH0, + value=Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.REVERT(offset=Op.PUSH0, size=0x20) + + Op.JUMPDEST + + Op.TSTORE(key=Op.PUSH0, value=0x6) + + Op.JUMP, + storage={1: 65535}, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0xE42B9E92D5348B0FC6353D40E3D220C316D3C685), # noqa: E501 + ) + pre[sender] = Account(balance=0x3635C9ADC5DEA00000) + + tx = Transaction( + sender=sender, + to=target, + data=Bytes("70ac643e"), + gas_limit=400000, + max_fee_per_gas=2000, + max_priority_fee_per_gas=0, + access_list=[], + ) + + post = {target: Account(storage={0: 5, 1: 0, 2: 1, 3: 5})} + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1153_transientStorage/test_14_revert_after_nested_staticcall.py b/tests/ported_static/stEIP1153_transientStorage/test_14_revert_after_nested_staticcall.py new file mode 100644 index 00000000000..f54778b0312 --- /dev/null +++ b/tests/ported_static/stEIP1153_transientStorage/test_14_revert_after_nested_staticcall.py @@ -0,0 +1,153 @@ +""" +Transient storage can't be manipulated from nested staticcall. + +Ported from: +state_tests/Cancun/stEIP1153_transientStorage/14_revertAfterNestedStaticcallFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + StateTestFiller, + Transaction, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + [ + "state_tests/Cancun/stEIP1153_transientStorage/14_revertAfterNestedStaticcallFiller.yml" # noqa: E501 + ], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.pre_alloc_mutable +def test_14_revert_after_nested_staticcall( + state_test: StateTestFiller, + pre: Alloc, +) -> None: + """Transient storage can't be manipulated from nested staticcall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0xBE0E7D5FEA1604BF57E004B0B414DF8DE04816DBB1C8F8719B725D0D6619B531 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=4503599627370496, + ) + + # Source: yul + # { + # switch selector() + # + # case 0xf5f40590 { // doStoreAndStaticCall() + # doStoreAndStaticCall() + # } + # + # case 0xf8dfc2d0 { // doCallToStore() + # doCallToStore() + # } + # + # case 0x62fdb9be { // doStore() + # doStore() + # } + # + # function doStoreAndStaticCall() { + # verbatim_2i_0o(hex"5D", 0, 10) + # + # let v := verbatim_1i_1o(hex"5C", 0) + # sstore(0, v) + # + # mstore(0, hex"f8dfc2d0") // doCallToStore() + # let success := staticcall(0xffff, address(), 0, 32, 0, 32) + # + # sstore(1, mload(0)) // should be 0 from nested unsuccessful call + # sstore(2, success) // should be 1 + # + # let val := verbatim_1i_1o(hex"5C", 0) + # sstore(3, val) + # } + # ... (17 more lines) + target = pre.deploy_contract( # noqa: F841 + code=Op.SHR(0xE0, Op.CALLDATALOAD(offset=Op.PUSH0)) + + Op.JUMPI(pc=0x2F, condition=Op.EQ(0xF5F40590, Op.DUP1)) + + Op.JUMPI(pc=0x2B, condition=Op.EQ(0xF8DFC2D0, Op.DUP1)) + + Op.PUSH4[0x62FDB9BE] + + Op.JUMPI(pc=0x23, condition=Op.EQ) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x29] + + Op.JUMP(pc=0x77) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.JUMP(pc=0x5D) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x29] + + Op.TSTORE(key=Op.PUSH0, value=0xA) + + Op.SSTORE(key=Op.PUSH0, value=Op.TLOAD(key=Op.PUSH0)) + + Op.MSTORE(offset=Op.PUSH0, value=Op.SHL(0xE4, 0xF8DFC2D)) + + Op.STATICCALL( + gas=0xFFFF, + address=Op.ADDRESS, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=Op.PUSH0, + ret_size=0x20, + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=Op.PUSH0)) + + Op.PUSH1[0x2] + + Op.SSTORE + + Op.SSTORE(key=0x3, value=Op.TLOAD(key=Op.PUSH0)) + + Op.JUMP + + Op.JUMPDEST + + Op.MSTORE(offset=Op.PUSH0, value=Op.SHL(0xE1, 0x317EDCDF)) + + Op.MSTORE( + offset=Op.PUSH0, + value=Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x20, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.RETURN(offset=Op.PUSH0, size=0x20) + + Op.JUMPDEST + + Op.TSTORE(key=Op.PUSH0, value=0xB) + + Op.JUMP, + storage={1: 65535}, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x1150BAFF55FDCEA5FD92B0995358EC0C416DEBE3), # noqa: E501 + ) + pre[sender] = Account(balance=0x3635C9ADC5DEA00000) + + tx = Transaction( + sender=sender, + to=target, + data=Bytes("f5f40590"), + gas_limit=400000, + max_fee_per_gas=2000, + max_priority_fee_per_gas=0, + access_list=[], + ) + + post = {target: Account(storage={0: 10, 1: 0, 2: 1, 3: 10})} + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1153_transientStorage/test_trans_storage_ok.py b/tests/ported_static/stEIP1153_transientStorage/test_trans_storage_ok.py new file mode 100644 index 00000000000..c0dbd690ffd --- /dev/null +++ b/tests/ported_static/stEIP1153_transientStorage/test_trans_storage_ok.py @@ -0,0 +1,1466 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/Cancun/stEIP1153_transientStorage/transStorageOKFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/Cancun/stEIP1153_transientStorage/transStorageOKFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="sum_16", + ), + pytest.param( + 1, + 0, + 0, + id="callcode_sum_16", + ), + pytest.param( + 2, + 0, + 0, + id="delegate_sum_16", + ), + pytest.param( + 3, + 0, + 0, + id="sum_256", + ), + pytest.param( + 4, + 0, + 0, + id="callback_sum_10", + ), + pytest.param( + 5, + 0, + 0, + id="callback_sum_50", + ), + pytest.param( + 6, + 0, + 0, + id="bin_tree_6", + ), + pytest.param( + 7, + 0, + 0, + id="delegate_bin_tree_6", + ), + pytest.param( + 8, + 0, + 0, + id="inherit_trans", + ), + pytest.param( + 9, + 0, + 0, + id="deep_call", + ), + pytest.param( + 10, + 0, + 0, + id="deep_call", + ), + pytest.param( + 11, + 0, + 0, + id="deep_call", + ), + pytest.param( + 12, + 0, + 0, + id="deep_call", + ), + pytest.param( + 13, + 0, + 0, + id="deep_call", + ), + pytest.param( + 14, + 0, + 0, + id="deep_call", + ), + pytest.param( + 15, + 0, + 0, + id="static_call", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_trans_storage_ok( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x00000000000000000000000000000000EBD141D5) + contract_1 = Address(0x000000000000000000000000000000006E3A7204) + contract_2 = Address(0x00000000000000000000000000000000C1C922F1) + contract_3 = Address(0x00000000000000000000000000000000CA11BACC) + contract_4 = Address(0x000000000000000000000000000000005114E2C8) + contract_5 = Address(0x00000000000000000000000000000000264BB86A) + contract_6 = Address(0x000000000000000000000000000000007074A486) + contract_7 = Address(0x000000000000000000000000000000000000ADD1) + contract_8 = Address(0x000000000000000000000000000000007F9317BD) + contract_9 = Address(0x00000000000000000000000000000000C54B5829) + contract_10 = Address(0x00000000000000000000000000000000000057A7) + contract_11 = Address(0x000000000000000000000000000000005D7935DF) + sender = EOA( + key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: yul + # { + # // These two functions use transient storage. + # // Once the relevant opcodes are added to Yul, simply remove + # // them (from all contracts) and remove the _temp suffices. + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # // If we are called by ourselves, this is part of the loop. + # if eq(caller(), address()) { + # let counter := tload_temp(0) + # + # // If the counter is equal to zero, we're done - return. + # if eq(counter,0) { + # return(0,0) + # } + # + # // If counter isn't zero, add counter to Trans[1] and do recursion + # tstore_temp(1, add(tload_temp(1), counter)) + # + # // Change the loop variable and call yourself + # tstore_temp(0, sub(counter, 1)) + # let res := call(gas(), address(), 0, 0,0, 0,0) + # if iszero(res) { // If the call failed, fail too + # revert(0,0) + # } + # ... (15 more lines) + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x33, condition=Op.EQ(Op.CALLER, Op.ADDRESS)) + + Op.JUMPDEST + + Op.JUMPI(pc=0xE, condition=Op.SUB(Op.CALLER, Op.ADDRESS)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x1B] + + Op.CALLDATALOAD(offset=Op.PUSH0) + + Op.SSTORE(key=0x1, value=Op.DUP1) + + Op.PUSH0 + + Op.JUMP(pc=0x6F) + + Op.JUMPDEST + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.PUSH1[0x2E] + + Op.PUSH1[0x1] + + Op.JUMP(pc=0x6B) + + Op.JUMPDEST + + Op.PUSH1[0x3] + + Op.SSTORE + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x3A] + + Op.PUSH0 + + Op.JUMP(pc=0x6B) + + Op.JUMPDEST + + Op.JUMPI(pc=0x69, condition=Op.ISZERO(Op.DUP1)) + + Op.PUSH1[0x1] + + Op.DUP2 + + Op.PUSH1[0x54] + + Op.PUSH1[0x5A] + + Op.SWAP4 + + Op.PUSH1[0x4E] + + Op.DUP5 + + Op.JUMP(pc=0x6B) + + Op.JUMPDEST + + Op.ADD + + Op.DUP4 + + Op.JUMP(pc=0x6F) + + Op.JUMPDEST + + Op.SUB + + Op.PUSH0 + + Op.JUMP(pc=0x6F) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x6, + condition=Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.TSTORE + + Op.JUMP, + nonce=1, + address=Address(0x00000000000000000000000000000000EBD141D5), # noqa: E501 + ) + # Source: yul + # { + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # // If we are called by ourselves, this is part of the loop. + # if eq(caller(), address()) { + # let counter := tload_temp(0) + # + # // Loop ended, return + # if eq(counter,0) { + # return(0,0) + # } + # + # + # // Change the loop variable and call yourself + # tstore_temp(1, add(tload_temp(1), counter)) + # tstore_temp(0, sub(counter, 1)) + # let res := callcode(gas(), address(), 0, 0,0, 0,0) + # if iszero(res) { // If the call failed, fail too + # revert(0,0) + # } + # } + # + # // If called by a different address, we are the first call and need + # // to setup Trans[0] before starting the loop. + # ... (15 more lines) + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x33, condition=Op.EQ(Op.CALLER, Op.ADDRESS)) + + Op.JUMPDEST + + Op.JUMPI(pc=0xE, condition=Op.SUB(Op.CALLER, Op.ADDRESS)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x1B] + + Op.CALLDATALOAD(offset=Op.PUSH0) + + Op.SSTORE(key=0x1, value=Op.DUP1) + + Op.PUSH0 + + Op.JUMP(pc=0x6F) + + Op.JUMPDEST + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.PUSH1[0x2E] + + Op.PUSH1[0x1] + + Op.JUMP(pc=0x6B) + + Op.JUMPDEST + + Op.PUSH1[0x3] + + Op.SSTORE + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x3A] + + Op.PUSH0 + + Op.JUMP(pc=0x6B) + + Op.JUMPDEST + + Op.JUMPI(pc=0x69, condition=Op.ISZERO(Op.DUP1)) + + Op.PUSH1[0x1] + + Op.DUP2 + + Op.PUSH1[0x54] + + Op.PUSH1[0x5A] + + Op.SWAP4 + + Op.PUSH1[0x4E] + + Op.DUP5 + + Op.JUMP(pc=0x6B) + + Op.JUMPDEST + + Op.ADD + + Op.DUP4 + + Op.JUMP(pc=0x6F) + + Op.JUMPDEST + + Op.SUB + + Op.PUSH0 + + Op.JUMP(pc=0x6F) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x6, + condition=Op.CALLCODE( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.TSTORE + + Op.JUMP, + nonce=1, + address=Address(0x000000000000000000000000000000006E3A7204), # noqa: E501 + ) + # Source: yul + # { + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # // If we are called by ourselves, this is part of the loop. + # if eq(caller(), address()) { + # let counter := tload_temp(0) + # + # // If the counter is equal to zero, we're done - return. + # if eq(counter,0) { + # return(0,0) + # } + # + # // Change the loop variable and call yourself + # tstore_temp(1, add(tload_temp(1), counter)) + # tstore_temp(0, sub(counter, 1)) + # let res := delegatecall(gas(), address(), 0,0, 0,0) + # if iszero(res) { // If the call failed, fail too + # revert(0,0) + # } + # } + # + # + # // If called by a different address, we are the first call and need + # // to setup Trans[0] before starting the loop. + # ... (15 more lines) + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x33, condition=Op.EQ(Op.CALLER, Op.ADDRESS)) + + Op.JUMPDEST + + Op.JUMPI(pc=0xE, condition=Op.SUB(Op.CALLER, Op.ADDRESS)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x1B] + + Op.CALLDATALOAD(offset=Op.PUSH0) + + Op.SSTORE(key=0x1, value=Op.DUP1) + + Op.PUSH0 + + Op.JUMP(pc=0x6E) + + Op.JUMPDEST + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.PUSH1[0x2E] + + Op.PUSH1[0x1] + + Op.JUMP(pc=0x6A) + + Op.JUMPDEST + + Op.PUSH1[0x3] + + Op.SSTORE + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x3A] + + Op.PUSH0 + + Op.JUMP(pc=0x6A) + + Op.JUMPDEST + + Op.JUMPI(pc=0x68, condition=Op.ISZERO(Op.DUP1)) + + Op.PUSH1[0x1] + + Op.DUP2 + + Op.PUSH1[0x54] + + Op.PUSH1[0x5A] + + Op.SWAP4 + + Op.PUSH1[0x4E] + + Op.DUP5 + + Op.JUMP(pc=0x6A) + + Op.JUMPDEST + + Op.ADD + + Op.DUP4 + + Op.JUMP(pc=0x6E) + + Op.JUMPDEST + + Op.SUB + + Op.PUSH0 + + Op.JUMP(pc=0x6E) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x6, + condition=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADDRESS, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.TSTORE + + Op.JUMP, + nonce=1, + address=Address(0x00000000000000000000000000000000C1C922F1), # noqa: E501 + ) + # Source: yul + # { + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # // Write these values to storage (overwriting the 0x60A7's). + # // If these values are not zero, there is a problem. + # sstore(0, tload_temp(0)) + # sstore(1, tload_temp(1)) + # pop(call(gas(), caller(), 0, 0,0, 0,0)) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x6] + + Op.PUSH0 + + Op.JUMP(pc=0x1D) + + Op.JUMPDEST + + Op.PUSH0 + + Op.SSTORE + + Op.PUSH1[0x10] + + Op.PUSH1[0x1] + + Op.JUMP(pc=0x1D) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.SSTORE + + Op.CALL( + gas=Op.GAS, + address=Op.CALLER, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ) + + Op.STOP + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP, + storage={0: 24743, 1: 24743}, + nonce=1, + address=Address(0x00000000000000000000000000000000CA11BACC), # noqa: E501 + ) + # Source: yul + # { + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # // If we are called by 0xca11bacc, this is part of the loop + # if eq(caller(), 0xca11bacc) { + # let counter := tload_temp(0) + # + # // If the counter is equal to zero, we're done - return. + # if eq(counter,0) { + # return(0,0) + # } + # + # // If counter isn't zero, add counter to Trans[1] and do recursion + # tstore_temp(1, add(tload_temp(1), counter)) + # + # // Change the loop variable and call 0xca11bacc, which calls us back. # noqa: E501 + # tstore_temp(0, sub(counter, 1)) + # let res := call(gas(), 0xca11bacc, 0, 0,0, 0,0) + # if iszero(res) { // If the call failed, fail too + # revert(0,0) + # } + # } + # + # // If called by a different address from 0xca11bacc, we are the first + # ... (12 more lines) + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x3F, condition=Op.EQ(Op.CALLER, 0xCA11BACC)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x16, condition=Op.SUB(Op.CALLER, 0xCA11BACC)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x23] + + Op.CALLDATALOAD(offset=Op.PUSH0) + + Op.SSTORE(key=0x1, value=Op.DUP1) + + Op.PUSH0 + + Op.JUMP(pc=0x7F) + + Op.JUMPDEST + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=Op.GAS, + address=0xCA11BACC, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.PUSH1[0x3A] + + Op.PUSH1[0x1] + + Op.JUMP(pc=0x7B) + + Op.JUMPDEST + + Op.PUSH1[0x3] + + Op.SSTORE + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x46] + + Op.PUSH0 + + Op.JUMP(pc=0x7B) + + Op.JUMPDEST + + Op.JUMPI(pc=0x79, condition=Op.ISZERO(Op.DUP1)) + + Op.PUSH1[0x1] + + Op.DUP2 + + Op.PUSH1[0x60] + + Op.PUSH1[0x66] + + Op.SWAP4 + + Op.PUSH1[0x5A] + + Op.DUP5 + + Op.JUMP(pc=0x7B) + + Op.JUMPDEST + + Op.ADD + + Op.DUP4 + + Op.JUMP(pc=0x7F) + + Op.JUMPDEST + + Op.SUB + + Op.PUSH0 + + Op.JUMP(pc=0x7F) + + Op.JUMPDEST + + Op.JUMPI( + pc=0xA, + condition=Op.CALL( + gas=Op.GAS, + address=0xCA11BACC, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.TSTORE + + Op.JUMP, + nonce=1, + address=Address(0x000000000000000000000000000000005114E2C8), # noqa: E501 + ) + # Source: yul + # { + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # // We are inside the loop + # if eq(caller(), address()) { + # let counter := tload_temp(0) + # + # // If counter is zero, we're at an end of the loop (a leaf of + # // the tree), return. + # if eq(counter,0) { + # return(0,0) + # } + # + # // If counter isn't zero, call yourself with counter-1 twice and + # // add one to Trans[1] + # tstore_temp(0, sub(counter, 1)) + # let res := call(gas(), address(), 0, 0,0, 0,0) + # if iszero(res) { // If the call failed, fail too + # revert(0,0) + # } + # + # // We need to repair Trans[0] because it got overwritten in + # // the previous call + # tstore_temp(0, sub(counter, 1)) + # ... (22 more lines) + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x33, condition=Op.EQ(Op.CALLER, Op.ADDRESS)) + + Op.JUMPDEST + + Op.JUMPI(pc=0xE, condition=Op.SUB(Op.CALLER, Op.ADDRESS)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x1B] + + Op.CALLDATALOAD(offset=Op.PUSH0) + + Op.SSTORE(key=0x1, value=Op.DUP1) + + Op.PUSH0 + + Op.JUMP(pc=0x8D) + + Op.JUMPDEST + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.PUSH1[0x2E] + + Op.PUSH1[0x1] + + Op.JUMP(pc=0x89) + + Op.JUMPDEST + + Op.PUSH1[0x3] + + Op.SSTORE + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x3A] + + Op.PUSH0 + + Op.JUMP(pc=0x89) + + Op.JUMPDEST + + Op.JUMPI(pc=0x87, condition=Op.ISZERO(Op.DUP1)) + + Op.PUSH1[0x4A] + + Op.SUB(Op.DUP3, 0x1) + + Op.PUSH0 + + Op.JUMP(pc=0x8D) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x83, + condition=Op.ISZERO( + Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ) + ), + ) + + Op.PUSH1[0x1] + + Op.PUSH1[0x61] + + Op.SWAP2 + + Op.SUB + + Op.PUSH0 + + Op.JUMP(pc=0x8D) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x83, + condition=Op.ISZERO( + Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ) + ), + ) + + Op.PUSH1[0x7F] + + Op.PUSH1[0x1] + + Op.PUSH1[0x78] + + Op.DUP2 + + Op.JUMP(pc=0x89) + + Op.JUMPDEST + + Op.ADD + + Op.PUSH1[0x1] + + Op.JUMP(pc=0x8D) + + Op.JUMPDEST + + Op.JUMP(pc=0x6) + + Op.JUMPDEST + + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.TSTORE + + Op.JUMP, + nonce=1, + address=Address(0x00000000000000000000000000000000264BB86A), # noqa: E501 + ) + # Source: yul + # { + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # // If we are in the loop + # if eq(caller(), address()) { + # let counter := tload_temp(0) + # + # // If the counter is zero, we're at loop's end, return + # if eq(counter,0) { + # return(0,0) + # } + # + # // If counter isn't zero + # // Call yourself with counter-1 twice then add 1 to Trans[1] + # // Note that one call is callcode() and the other delegatecall(). + # // This way the same test checks both of them. + # + # tstore_temp(0, sub(counter, 1)) + # let res := callcode(gas(), address(), 0, 0,0, 0,0) + # if iszero(res) { // If the call failed, fail too + # revert(0,0) + # } + # + # // We need to repair Trans[0] because it got overwritten in + # ... (25 more lines) + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x33, condition=Op.EQ(Op.CALLER, Op.ADDRESS)) + + Op.JUMPDEST + + Op.JUMPI(pc=0xE, condition=Op.SUB(Op.CALLER, Op.ADDRESS)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x1B] + + Op.CALLDATALOAD(offset=Op.PUSH0) + + Op.SSTORE(key=0x1, value=Op.DUP1) + + Op.PUSH0 + + Op.JUMP(pc=0x8C) + + Op.JUMPDEST + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.PUSH1[0x2E] + + Op.PUSH1[0x1] + + Op.JUMP(pc=0x88) + + Op.JUMPDEST + + Op.PUSH1[0x3] + + Op.SSTORE + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x3A] + + Op.PUSH0 + + Op.JUMP(pc=0x88) + + Op.JUMPDEST + + Op.JUMPI(pc=0x86, condition=Op.ISZERO(Op.DUP1)) + + Op.PUSH1[0x4A] + + Op.SUB(Op.DUP3, 0x1) + + Op.PUSH0 + + Op.JUMP(pc=0x8C) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x82, + condition=Op.ISZERO( + Op.CALLCODE( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ) + ), + ) + + Op.PUSH1[0x1] + + Op.PUSH1[0x61] + + Op.SWAP2 + + Op.SUB + + Op.PUSH0 + + Op.JUMP(pc=0x8C) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x82, + condition=Op.ISZERO( + Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADDRESS, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ) + ), + ) + + Op.PUSH1[0x7E] + + Op.PUSH1[0x1] + + Op.PUSH1[0x77] + + Op.DUP2 + + Op.JUMP(pc=0x88) + + Op.JUMPDEST + + Op.ADD + + Op.PUSH1[0x1] + + Op.JUMP(pc=0x8C) + + Op.JUMPDEST + + Op.JUMP(pc=0x6) + + Op.JUMPDEST + + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.TSTORE + + Op.JUMP, + nonce=1, + address=Address(0x000000000000000000000000000000007074A486), # noqa: E501 + ) + # Source: yul + # { + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # tstore_temp(0, add(tload_temp(0), 1)) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x10] + + Op.PUSH1[0x1] + + Op.PUSH1[0xA] + + Op.PUSH0 + + Op.JUMP(pc=0x12) + + Op.JUMPDEST + + Op.ADD + + Op.PUSH0 + + Op.JUMP(pc=0x16) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.TSTORE + + Op.JUMP, + nonce=1, + address=Address(0x000000000000000000000000000000000000ADD1), # noqa: E501 + ) + # Source: yul + # { + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # // The initial value of the counter is zero + # sstore(0, tload_temp(0)) + # + # // CALLCODE increments our Trans[0] + # sstore(0x11, callcode(gas(), 0xadd1, 0, 0,0, 0,0)) + # sstore(1, tload_temp(0)) + # + # // DELEGATECALL increments our Trans[0] + # sstore(0x12, delegatecall(gas(), 0xadd1, 0,0, 0,0)) + # sstore(2, tload_temp(0)) + # + # // CALL does not increment our Trans[0], it means a different + # // transient storage + # sstore(0x13, call(gas(), 0xadd1, 0, 0,0, 0,0)) + # sstore(3, tload_temp(0)) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x6] + + Op.PUSH0 + + Op.JUMP(pc=0x4E) + + Op.JUMPDEST + + Op.PUSH0 + + Op.SSTORE + + Op.SSTORE( + key=0x11, + value=Op.CALLCODE( + gas=Op.GAS, + address=0xADD1, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.PUSH1[0x1C] + + Op.PUSH0 + + Op.JUMP(pc=0x4E) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.SSTORE + + Op.SSTORE( + key=0x12, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0xADD1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.PUSH1[0x32] + + Op.PUSH0 + + Op.JUMP(pc=0x4E) + + Op.JUMPDEST + + Op.PUSH1[0x2] + + Op.SSTORE + + Op.SSTORE( + key=0x13, + value=Op.CALL( + gas=Op.GAS, + address=0xADD1, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.PUSH0, + ), + ) + + Op.PUSH1[0x49] + + Op.PUSH0 + + Op.JUMP(pc=0x4E) + + Op.JUMPDEST + + Op.PUSH1[0x3] + + Op.SSTORE + + Op.STOP + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP, + storage={0: 24743}, + nonce=1, + address=Address(0x000000000000000000000000000000007F9317BD), # noqa: E501 + ) + # Source: yul + # { + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # // If we are at the bottom of the call stack, increment + # // the counter and return + # if eq(calldatasize(), 0) { + # tstore_temp(0, add(tload_temp(0),1)) + # return(0,0) + # } + # + # // If we are at the top of the stack (called by a different contract), # noqa: E501 + # // set the counter to one + # if iszero(eq(address(), caller())) { + # tstore_temp(0, 1) + # } + # + # // Read the most significant byte of the input. + # // Luckily for us the input is top justified - if the caller provided + # // just n bytes (n<20), they will be the top n bytes of calldataload(0). # noqa: E501 + # let callType := shr( + # 248, + # calldataload(0) + # ) + # + # ... (32 more lines) + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x81, condition=Op.ISZERO(Op.CALLDATASIZE)) + + Op.JUMPI(pc=0x74, condition=Op.SUB(Op.ADDRESS, Op.CALLER)) + + Op.JUMPDEST + + Op.SHR(0xF8, Op.CALLDATALOAD(offset=Op.PUSH0)) + + Op.MSTORE(offset=Op.PUSH0, value=Op.CALLDATALOAD(offset=Op.PUSH0)) + + Op.SUB(Op.CALLDATASIZE, 0x1) + + Op.SWAP1 + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.JUMPI(pc=0x64, condition=Op.EQ(0xF1, Op.DUP1)) + + Op.JUMPI(pc=0x54, condition=Op.EQ(0xF2, Op.DUP1)) + + Op.PUSH1[0xF4] + + Op.JUMPI(pc=0x46, condition=Op.EQ) + + Op.JUMPDEST + + Op.POP * 2 + + Op.JUMPI(pc=0x3B, condition=Op.SUB(Op.ADDRESS, Op.CALLER)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x42] + + Op.PUSH0 + + Op.JUMP(pc=0x94) + + Op.JUMPDEST + + Op.PUSH0 + + Op.SSTORE + + Op.STOP + + Op.JUMPDEST + + Op.PUSH0 + + Op.SWAP2 + + Op.DUP3 + + Op.SWAP2 + + Op.ADDRESS + + Op.GAS + + Op.POP(Op.DELEGATECALL) + + Op.PUSH0 + + Op.DUP1 + + Op.JUMP(pc=0x31) + + Op.JUMPDEST + + Op.POP + + Op.PUSH0 + + Op.SWAP2 + + Op.DUP3 + + Op.SWAP2 + + Op.DUP3 + + Op.ADDRESS + + Op.GAS + + Op.POP(Op.CALLCODE) + + Op.PUSH0 + + Op.DUP1 + + Op.JUMP(pc=0x31) + + Op.JUMPDEST + + Op.POP + + Op.PUSH0 + + Op.SWAP2 + + Op.DUP3 + + Op.SWAP2 + + Op.DUP3 + + Op.ADDRESS + + Op.GAS + + Op.POP(Op.CALL) + + Op.PUSH0 + + Op.DUP1 + + Op.JUMP(pc=0x31) + + Op.JUMPDEST + + Op.PUSH1[0x7D] + + Op.PUSH1[0x1] + + Op.PUSH0 + + Op.JUMP(pc=0x98) + + Op.JUMPDEST + + Op.JUMP(pc=0xB) + + Op.JUMPDEST + + Op.PUSH1[0x92] + + Op.PUSH1[0x1] + + Op.PUSH1[0x8C] + + Op.PUSH0 + + Op.JUMP(pc=0x94) + + Op.JUMPDEST + + Op.ADD + + Op.PUSH0 + + Op.JUMP(pc=0x98) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.TSTORE + + Op.JUMP, + nonce=1, + address=Address(0x00000000000000000000000000000000C54B5829), # noqa: E501 + ) + # Source: yul + # { + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # // There is calldata, so write to Trans[0] + # if calldatasize() { + # tstore_temp(0, 0x60A7) + # } + # + # // Return Trans[0] + # // This happens whether we are called with data or not. + # mstore(0, tload_temp(0)) + # return(0,32) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x12, condition=Op.CALLDATASIZE) + + Op.JUMPDEST + + Op.PUSH1[0xB] + + Op.PUSH0 + + Op.JUMP(pc=0x20) + + Op.JUMPDEST + + Op.PUSH0 + + Op.MSTORE + + Op.RETURN(offset=Op.PUSH0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x1C] + + Op.PUSH2[0x60A7] + + Op.PUSH0 + + Op.JUMP(pc=0x24) + + Op.JUMPDEST + + Op.JUMP(pc=0x4) + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.TSTORE + + Op.JUMP, + nonce=1, + address=Address(0x00000000000000000000000000000000000057A7), # noqa: E501 + ) + # Source: yul + # { + # // Set up Trans[0] with a regular call. + # sstore(0x10,call(gas(), 0x57A7, 0, 0,1, 0,32)) + # sstore(0, mload(0)) + # + # // Use staticcall to read Trans[0] of 0x0..57A7. + # mstore(0,0) + # sstore(0x11,staticcall(gas(), 0x57A7, 0,0, 0,32)) + # sstore(1, mload(0)) + # + # // Try to use staticall to write Trans[0]. This should fail. + # mstore(0,0) + # sstore(0x12,staticcall(gas(), 0x57A7, 0,1, 0,32)) + # sstore(2, mload(0)) + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x10, + value=Op.CALL( + gas=Op.GAS, + address=0x57A7, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x1, + ret_offset=Op.PUSH0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=Op.PUSH0, value=Op.MLOAD(offset=Op.PUSH0)) + + Op.MSTORE(offset=Op.DUP1, value=Op.PUSH0) + + Op.SSTORE( + key=0x11, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x57A7, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.PUSH0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=Op.PUSH0)) + + Op.MSTORE(offset=Op.DUP1, value=Op.PUSH0) + + Op.SSTORE( + key=0x12, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x57A7, + args_offset=Op.DUP2, + args_size=0x1, + ret_offset=Op.PUSH0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=Op.PUSH0)) + + Op.STOP, + storage={2: 24743, 18: 24743}, + nonce=1, + address=Address(0x000000000000000000000000000000005D7935DF), # noqa: E501 + ) + # Source: yul + # { + # let func := shr(224, calldataload(0)) + # let param := calldataload(4) + # sstore(0, func) + # mstore(0, param) + # sstore(1, call(gas(), func, 0, 0,32, 0,0)) + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH0 + + Op.DUP1 + + Op.PUSH1[0x20] + + Op.DUP2 + + Op.DUP1 + + Op.SHR(0xE0, Op.CALLDATALOAD(offset=Op.DUP1)) + + Op.CALLDATALOAD(offset=0x4) + + Op.SSTORE(key=Op.DUP4, value=Op.DUP2) + + Op.DUP3 + + Op.MSTORE + + Op.GAS + + Op.SSTORE(key=0x1, value=Op.CALL) + + Op.STOP, + nonce=1, + address=Address(0xDD53B677A6FD4E871A6355F283B1BD7CEB95A95E), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0xEBD141D5, 1: 1}), + contract_0: Account(storage={1: 16, 2: 1, 3: 136}), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0x6E3A7204, 1: 1}), + contract_1: Account(storage={1: 16, 2: 1, 3: 136}), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0xC1C922F1, 1: 1}), + contract_2: Account(storage={1: 16, 2: 1, 3: 136}), + }, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0xEBD141D5, 1: 1}), + contract_0: Account(storage={1: 256, 2: 1, 3: 32896}), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0x5114E2C8, 1: 1}), + contract_4: Account(storage={1: 10, 2: 1, 3: 55}), + contract_3: Account(storage={0: 0, 1: 0}), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0x5114E2C8, 1: 1}), + contract_4: Account(storage={1: 50, 2: 1, 3: 1275}), + contract_3: Account(storage={0: 0, 1: 0}), + }, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0x264BB86A, 1: 1}), + contract_5: Account(storage={1: 6, 2: 1, 3: 63}), + }, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0x7074A486, 1: 1}), + contract_6: Account(storage={1: 6, 2: 1, 3: 63}), + }, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0x7F9317BD, 1: 1}), + contract_8: Account( + storage={0: 0, 1: 1, 2: 2, 3: 2, 17: 1, 18: 1, 19: 1}, + ), + }, + }, + { + "indexes": { + "data": [9, 10, 11, 12, 13, 14], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0xC54B5829, 1: 1}), + contract_9: Account(storage={0: 2}), + }, + }, + { + "indexes": {"data": [15], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0x5D7935DF, 1: 1}), + contract_11: Account( + storage={0: 24743, 1: 24743, 2: 0, 16: 1, 17: 1, 18: 0}, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("ebd141d5") + Hash(0x10), + Bytes("6e3a7204") + Hash(0x10), + Bytes("c1c922f1") + Hash(0x10), + Bytes("ebd141d5") + Hash(0x100), + Bytes("5114e2c8") + Hash(0xA), + Bytes("5114e2c8") + Hash(0x32), + Bytes("264bb86a") + Hash(0x6), + Bytes("7074a486") + Hash(0x6), + Bytes("7f9317bd"), + Bytes("c54b5829") + + Hash( + 0xF2F4F1F2F4F1F2F4F1F2F4F1F2F4F1F2F4F1F2F4F1F2F4F1F2F4F1F2F4F1F1F1 + ), + Bytes("c54b5829") + + Hash( + 0xF1F1F1F1F2F2F2F2F4F4F4F4F1F1F1F1F2F2F2F2F4F4F4F4F1F1F1F1F2F2F2F2 + ), + Bytes("c54b5829") + + Hash( + 0xF1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 + ), + Bytes("c54b5829") + + Hash( + 0xF1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 + ), + Bytes("c54b5829") + + Hash( + 0xF2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2 + ), + Bytes("c54b5829") + + Hash( + 0xF4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4 + ), + Bytes("5d7935df"), + ] + tx_gas = [16777216] + + tx = Transaction( + sender=sender, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + nonce=1, + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1153_transientStorage/test_trans_storage_reset.py b/tests/ported_static/stEIP1153_transientStorage/test_trans_storage_reset.py new file mode 100644 index 00000000000..99415bedec2 --- /dev/null +++ b/tests/ported_static/stEIP1153_transientStorage/test_trans_storage_reset.py @@ -0,0 +1,766 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/Cancun/stEIP1153_transientStorage/transStorageResetFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + [ + "state_tests/Cancun/stEIP1153_transientStorage/transStorageResetFiller.yml" # noqa: E501 + ], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="reverter-call-call-stop", + ), + pytest.param( + 1, + 0, + 0, + id="reverter-call-call-revert", + ), + pytest.param( + 2, + 0, + 0, + id="reverter-call-call-invalid", + ), + pytest.param( + 3, + 0, + 0, + id="reverter-delegate-call-stop", + ), + pytest.param( + 4, + 0, + 0, + id="reverter-delegate-call-revert", + ), + pytest.param( + 5, + 0, + 0, + id="reverter-delegate-call-invalid", + ), + pytest.param( + 6, + 0, + 0, + id="reverter-code-call-stop", + ), + pytest.param( + 7, + 0, + 0, + id="reverter-code-call-revert", + ), + pytest.param( + 8, + 0, + 0, + id="reverter-code-call-invalid", + ), + pytest.param( + 9, + 0, + 0, + id="reverter-delegate-delegate-stop", + ), + pytest.param( + 10, + 0, + 0, + id="reverter-delegate-delegate-revert", + ), + pytest.param( + 11, + 0, + 0, + id="reverter-delegate-delegate-invalid", + ), + pytest.param( + 12, + 0, + 0, + id="reverter-delegate-code-stop", + ), + pytest.param( + 13, + 0, + 0, + id="reverter-delegate-code-revert", + ), + pytest.param( + 14, + 0, + 0, + id="reverter-delegate-code-invalid", + ), + pytest.param( + 15, + 0, + 0, + id="reverter-code-delegate-stop", + ), + pytest.param( + 16, + 0, + 0, + id="reverter-code-delegate-revert", + ), + pytest.param( + 17, + 0, + 0, + id="reverter-code-delegate-invalid", + ), + pytest.param( + 18, + 0, + 0, + id="reverter-code-code-stop", + ), + pytest.param( + 19, + 0, + 0, + id="reverter-code-code-revert", + ), + pytest.param( + 20, + 0, + 0, + id="reverter-code-code-invalid", + ), + pytest.param( + 21, + 0, + 0, + id="reverter-call-nop-stop", + ), + pytest.param( + 22, + 0, + 0, + id="reverter-call-nop-revert", + ), + pytest.param( + 23, + 0, + 0, + id="reverter-call-nop-invalid", + ), + pytest.param( + 24, + 0, + 0, + id="reverter-delegate-nop-stop", + ), + pytest.param( + 25, + 0, + 0, + id="reverter-delegate-nop-revert", + ), + pytest.param( + 26, + 0, + 0, + id="reverter-delegate-nop-invalid", + ), + pytest.param( + 27, + 0, + 0, + id="reverter-code-nop-stop", + ), + pytest.param( + 28, + 0, + 0, + id="reverter-code-nop-revert", + ), + pytest.param( + 29, + 0, + 0, + id="reverter-code-nop-invalid", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_trans_storage_reset( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: yul + # { + # // These two functions use transient storage. + # // Once the relevant opcodes are added to Yul, simply remove + # // them (from all contracts) and remove the _temp suffices. + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # let reverter := calldataload(0) + # let dead := calldataload(32) + # mstore(0, reverter) + # mstore(32, dead) + # + # let callType := byte(0x1E, calldataload(64)) + # let failType := byte(0x1F, calldataload(64)) + # + # let callRes := 0x7E57 + # + # switch callType + # // We cannot use caller() because if we were delegatecall()ed or + # // callcode()ed caller() is still 0xCCC...CCC + # case 0xF1 { callRes := call (gas(), reverter, 0, 0,64, 0,0) } + # case 0xF2 { callRes := callcode (gas(), reverter, 0, 0,64, 0,0) } + # case 0xF4 { callRes := delegatecall(gas(), reverter, 0,64, 0,0) } + # + # // Don't call anything, just set Trans[0] here. + # ... (13 more lines) + dead = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=Op.PUSH0) + + Op.CALLDATALOAD(offset=0x20) + + Op.MSTORE(offset=Op.PUSH0, value=Op.DUP2) + + Op.PUSH1[0x20] + + Op.MSTORE + + Op.BYTE(0x1E, Op.CALLDATALOAD(offset=0x40)) + + Op.BYTE(0x1F, Op.CALLDATALOAD(offset=0x40)) + + Op.SWAP2 + + Op.PUSH2[0x7E57] + + Op.SWAP2 + + Op.SWAP1 + + Op.JUMPI(pc=0x91, condition=Op.EQ(0xF1, Op.DUP2)) + + Op.JUMPI(pc=0x80, condition=Op.EQ(0xF2, Op.DUP2)) + + Op.JUMPI(pc=0x70, condition=Op.EQ(0xF4, Op.DUP2)) + + Op.POP + + Op.JUMPI(pc=0x60, condition=Op.ISZERO) + + Op.JUMPDEST + + Op.PUSH1[0x10] + + Op.SSTORE + + Op.JUMPI(pc=0x5E, condition=Op.ISZERO(Op.DUP1)) + + Op.JUMPI(pc=0x5A, condition=Op.EQ(0xFD, Op.DUP1)) + + Op.JUMPI(pc=0x58, condition=Op.EQ(0xFE, Op.DUP1)) + + Op.PUSH1[0xFF] + + Op.JUMPI(pc=0x55, condition=Op.EQ) + + Op.STOP + + Op.JUMPDEST + + Op.SELFDESTRUCT(address=Op.PUSH0) + + Op.JUMPDEST + + Op.INVALID + + Op.JUMPDEST + + Op.REVERT(offset=Op.DUP1, size=Op.PUSH0) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x6C] + + Op.PUSH4[0xBAD0BEEF] + + Op.PUSH0 + + Op.JUMP(pc=0xA2) + + Op.JUMPDEST + + Op.JUMP(pc=0x37) + + Op.JUMPDEST + + Op.PUSH0 + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x40] + + Op.SWAP2 + + Op.GAS + + Op.DELEGATECALL + + Op.JUMP(pc=0x37) + + Op.JUMPDEST + + Op.PUSH0 + + Op.DUP1 * 2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x40] + + Op.SWAP3 + + Op.GAS + + Op.CALLCODE + + Op.JUMP(pc=0x37) + + Op.JUMPDEST + + Op.PUSH0 + + Op.DUP1 * 2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x40] + + Op.SWAP3 + + Op.GAS + + Op.CALL + + Op.JUMP(pc=0x37) + + Op.JUMPDEST + + Op.TSTORE + + Op.JUMP, + storage={16: 24743}, + nonce=1, + address=Address(0xD1F046B080A87137C61A14BB81C2B6BBCEC17084), # noqa: E501 + ) + # Source: yul + # { + # function tload_temp(loc) -> val { + # val := verbatim_1i_1o(hex"5C", loc) + # } + # + # function tstore_temp(loc, val) { + # verbatim_2i_0o(hex"5D", loc, val) + # } + # + # let reverter := calldataload(0) + # let dead := calldataload(32) + # mstore(0, reverter) + # mstore(32, dead) + # + # // The type of call to use here + # let callType := byte(0x1D, calldataload(64)) + # + # + # // Because we use DELEGATECALL in some cases, we cannot rely on caller() # noqa: E501 + # // (in a DELEGATECALL the caller is the one who called the contract that # noqa: E501 + # // has the storage. + # + # // First invocation, called by 0xCCCCC...CCCC + # if iszero(tload_temp(0)) { + # tstore_temp(0, 0x60A7) + # mstore(64, calldataload(64)) + # + # let callRes := 0 + # + # // We only send half the gas because the call may spend all + # ... (22 more lines) + reverter = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=Op.PUSH0) + + Op.CALLDATALOAD(offset=0x20) + + Op.SWAP1 + + Op.PUSH0 + + Op.MSTORE + + Op.MSTORE(offset=0x20, value=Op.DUP1) + + Op.BYTE(0x1D, Op.CALLDATALOAD(offset=0x40)) + + Op.SWAP1 + + Op.PUSH1[0x19] + + Op.PUSH0 + + Op.JUMP(pc=0xA8) + + Op.JUMPDEST + + Op.JUMPI(pc=0x39, condition=Op.ISZERO) + + Op.PUSH2[0x60A7] + + Op.PUSH1[0x27] + + Op.PUSH0 + + Op.JUMP(pc=0xA8) + + Op.JUMPDEST + + Op.JUMPI(pc=0x2D, condition=Op.EQ) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x37] + + Op.PUSH2[0xBEEF] + + Op.PUSH0 + + Op.JUMP(pc=0xAC) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x43] + + Op.PUSH2[0x60A7] + + Op.PUSH0 + + Op.JUMP(pc=0xAC) + + Op.JUMPDEST + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) + + Op.PUSH0 + + Op.SWAP2 + + Op.DIV(Op.GAS, 0x2) + + Op.SWAP1 + + Op.JUMPI(pc=0x96, condition=Op.EQ(0xF1, Op.DUP1)) + + Op.JUMPI(pc=0x84, condition=Op.EQ(0xF2, Op.DUP1)) + + Op.PUSH1[0xF4] + + Op.JUMPI(pc=0x74, condition=Op.EQ) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.DUP3) + + Op.PUSH1[0x70] + + Op.PUSH0 + + Op.JUMP(pc=0xA8) + + Op.JUMPDEST + + Op.PUSH0 + + Op.SSTORE + + Op.STOP + + Op.JUMPDEST + + Op.PUSH0 + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.PUSH1[0x60] + + Op.SWAP3 + + Op.DELEGATECALL + + Op.PUSH0 + + Op.DUP1 + + Op.JUMP(pc=0x65) + + Op.JUMPDEST + + Op.POP + + Op.PUSH0 + + Op.DUP1 * 2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.PUSH1[0x60] + + Op.SWAP4 + + Op.CALLCODE + + Op.PUSH0 + + Op.DUP1 + + Op.JUMP(pc=0x65) + + Op.JUMPDEST + + Op.POP + + Op.PUSH0 + + Op.DUP1 * 2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.PUSH1[0x60] + + Op.SWAP4 + + Op.CALL + + Op.PUSH0 + + Op.DUP1 + + Op.JUMP(pc=0x65) + + Op.JUMPDEST + + Op.TLOAD + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.TSTORE + + Op.JUMP, + storage={1: 24743}, + nonce=1, + address=Address(0x9F075370EF41D4CD90151E731E33836E6F521669), # noqa: E501 + ) + # Source: yul + # { + # let reverter := calldataload(4) + # let dead := calldataload(36) + # let param := calldataload(68) + # sstore(0, reverter) + # mstore(0, reverter) + # mstore(32, dead) + # mstore(64, param) + # sstore(1, call(gas(), reverter, 0, 0, 96, 0, 0)) + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH0 + + Op.DUP1 + + Op.PUSH1[0x60] + + Op.DUP2 + + Op.DUP1 + + Op.CALLDATALOAD(offset=0x4) + + Op.CALLDATALOAD(offset=0x24) + + Op.CALLDATALOAD(offset=0x44) + + Op.SWAP1 + + Op.SSTORE(key=Op.DUP5, value=Op.DUP3) + + Op.MSTORE(offset=Op.DUP5, value=Op.DUP3) + + Op.PUSH1[0x20] + + Op.MSTORE + + Op.PUSH1[0x40] + + Op.MSTORE + + Op.GAS + + Op.SSTORE(key=0x1, value=Op.CALL) + + Op.STOP, + nonce=1, + address=Address(0x1679C7439EF325A99A6AFC54A8F7894C3DA35B16), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, + 1: 1, + }, + ), + reverter: Account(storage={0: 48879, 1: 1}), + dead: Account(storage={16: 1}), + }, + }, + { + "indexes": {"data": [3, 6, 9, 12, 15, 18], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, + 1: 1, + }, + ), + reverter: Account(storage={0: 48879, 1: 1, 16: 1}), + }, + }, + { + "indexes": {"data": [24, 27], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, + 1: 1, + }, + ), + reverter: Account(storage={0: 0xBAD0BEEF, 1: 1, 16: 32343}), + }, + }, + { + "indexes": { + "data": [ + 1, + 2, + 4, + 5, + 7, + 8, + 10, + 11, + 13, + 14, + 16, + 17, + 19, + 20, + 22, + 23, + 25, + 26, + 28, + 29, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, + 1: 1, + }, + ), + reverter: Account(storage={0: 24743, 1: 0}), + dead: Account(storage={16: 24743}), + }, + }, + { + "indexes": {"data": [21], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x9F075370EF41D4CD90151E731E33836E6F521669, + 1: 1, + }, + ), + reverter: Account(storage={0: 24743, 1: 1}), + dead: Account(storage={16: 32343}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF1F100), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF1F1FD), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF1F1FE), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF4F100), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF4F1FD), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF4F1FE), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF2F100), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF2F1FD), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF2F1FE), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF4F400), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF4F4FD), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF4F4FE), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF4F200), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF4F2FD), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF4F2FE), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF2F400), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF2F4FD), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF2F4FE), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF2F200), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF2F2FD), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF2F2FE), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF10000), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF100FD), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF100FE), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF40000), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF400FD), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF400FE), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF20000), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF200FD), + Bytes("d6c2107a") + + Hash(reverter, left_padding=True) + + Hash(dead, left_padding=True) + + Hash(0xF200FE), + ] + tx_gas = [16777216] + + tx = Transaction( + sender=sender, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + nonce=1, + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/__init__.py b/tests/ported_static/stEIP150Specific/__init__.py index 0426e344a7a..b4c3c0beb5f 100644 --- a/tests/ported_static/stEIP150Specific/__init__.py +++ b/tests/ported_static/stEIP150Specific/__init__.py @@ -1 +1 @@ -"""Tests ported from stEIP150Specific.""" +"""Ported static tests: stEIP150Specific.""" # noqa: N999 diff --git a/tests/ported_static/stEIP150Specific/test_call_and_callcode_consume_more_gas_then_transaction_has.py b/tests/ported_static/stEIP150Specific/test_call_and_callcode_consume_more_gas_then_transaction_has.py index afe52172701..4861b94c7b0 100644 --- a/tests/ported_static/stEIP150Specific/test_call_and_callcode_consume_more_gas_then_transaction_has.py +++ b/tests/ported_static/stEIP150Specific/test_call_and_callcode_consume_more_gas_then_transaction_has.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_and_callcode_consume_more_gas_then_transaction_has. Ported from: -tests/static/state_tests/stEIP150Specific -CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json +state_tests/stEIP150Specific/CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150Specific/CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json", # noqa: E501 + "state_tests/stEIP150Specific/CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_and_callcode_consume_more_gas_then_transaction_has( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_and_callcode_consume_more_gas_then_transaction_has.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,56 +48,54 @@ def test_call_and_callcode_consume_more_gas_then_transaction_has( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0 0 0 0 0)) (SSTORE 10 (CALLCODE 600000 0 0 0 0 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x927C0, - address=0xFD59ABAE521384B5731AC657616680219FBC423D, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xA, - value=Op.CALLCODE( - gas=0x927C0, - address=0xFD59ABAE521384B5731AC657616680219FBC423D, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x927C0, + address=0xFD59ABAE521384B5731AC657616680219FBC423D, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xA, + value=Op.CALLCODE( + gas=0x927C0, + address=0xFD59ABAE521384B5731AC657616680219FBC423D, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x9bdb308c9b567e1dbc906d9d592a8464a05ffd44"), # noqa: E501 + address=Address(0x9BDB308C9B567E1DBC906D9D592A8464A05FFD44), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - callee = pre.deploy_contract( + # Source: lll + # { (SSTORE 0 0x12) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x12) + Op.STOP, nonce=0, - address=Address("0xfd59abae521384b5731ac657616680219fbc423d"), # noqa: E501 + address=Address(0xFD59ABAE521384B5731AC657616680219FBC423D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post = { - contract: Account(storage={0: 18, 8: 0x8D5B6, 9: 1, 10: 1}), - callee: Account(storage={0: 18}), - } + post = {target: Account(storage={0: 18, 8: 0x8D5B6, 9: 1, 10: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/test_call_ask_more_gas_on_depth2_then_transaction_has.py b/tests/ported_static/stEIP150Specific/test_call_ask_more_gas_on_depth2_then_transaction_has.py index 810ca7c5c73..36b738a1a77 100644 --- a/tests/ported_static/stEIP150Specific/test_call_ask_more_gas_on_depth2_then_transaction_has.py +++ b/tests/ported_static/stEIP150Specific/test_call_ask_more_gas_on_depth2_then_transaction_has.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ask_more_gas_on_depth2_then_transaction_has. Ported from: -tests/static/state_tests/stEIP150Specific -CallAskMoreGasOnDepth2ThenTransactionHasFiller.json +state_tests/stEIP150Specific/CallAskMoreGasOnDepth2ThenTransactionHasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150Specific/CallAskMoreGasOnDepth2ThenTransactionHasFiller.json", # noqa: E501 + "state_tests/stEIP150Specific/CallAskMoreGasOnDepth2ThenTransactionHasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_ask_more_gas_on_depth2_then_transaction_has( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ask_more_gas_on_depth2_then_transaction_has.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,65 +48,65 @@ def test_call_ask_more_gas_on_depth2_then_transaction_has( gas_limit=10000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x927C0, - address=0xF39D40EACB6D2C685AC10664E759D1CF8F775DFF, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (SSTORE 8 (GAS)) (SSTORE 9 (CALL 200000 0 0 0 0 0)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x30D40, + address=0x25C370B55EC8467127BC4E13404915901D689098, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x25c370b55ec8467127bc4e13404915901d689098"), # noqa: E501 + address=Address(0x8553D06001D46F3B0B18A938ACF8C552D87C5837), # noqa: E501 ) - # Source: LLL - # { (SSTORE 8 (GAS)) (SSTORE 9 (CALL 200000 0 0 0 0 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x30D40, - address=0x25C370B55EC8467127BC4E13404915901D689098, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0 0 0 0 0)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x927C0, + address=0xF39D40EACB6D2C685AC10664E759D1CF8F775DFF, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x8553d06001d46f3b0b18a938acf8c552d87c5837"), # noqa: E501 + address=Address(0x25C370B55EC8467127BC4E13404915901D689098), # noqa: E501 ) - callee_1 = pre.deploy_contract( + # Source: lll + # { (SSTORE 8 (GAS))} + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x8, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xf39d40eacb6d2c685ac10664e759d1cf8f775dff"), # noqa: E501 + address=Address(0xF39D40EACB6D2C685AC10664E759D1CF8F775DFF), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - callee: Account(storage={8: 0x30D3E, 9: 1}), - contract: Account(storage={8: 0x8D5B6, 9: 1}), - callee_1: Account(storage={8: 0x2A1F6}), + addr: Account(storage={8: 0x30D3E, 9: 1}), + addr_2: Account(storage={8: 0x2A1F6}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/test_call_goes_oog_on_second_level.py b/tests/ported_static/stEIP150Specific/test_call_goes_oog_on_second_level.py index 0dc5ba2735e..aae0948831b 100644 --- a/tests/ported_static/stEIP150Specific/test_call_goes_oog_on_second_level.py +++ b/tests/ported_static/stEIP150Specific/test_call_goes_oog_on_second_level.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_goes_oog_on_second_level. Ported from: -tests/static/state_tests/stEIP150Specific/CallGoesOOGOnSecondLevelFiller.json +state_tests/stEIP150Specific/CallGoesOOGOnSecondLevelFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150Specific/CallGoesOOGOnSecondLevelFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150Specific/CallGoesOOGOnSecondLevelFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_goes_oog_on_second_level( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_goes_oog_on_second_level.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,71 +46,71 @@ def test_call_goes_oog_on_second_level( gas_limit=10000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x493E0, - address=0xCCC0159BD2EF7118B5E7B8D958E72237F02493FE, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0xC, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0 0 0 0 0)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x927C0, + address=0x66F77B181E0E662E17D427C7320267ADF2FD624, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x066f77b181e0e662e17d427c7320267adf2fd624"), # noqa: E501 + address=Address(0x3C6DCA5471C6305D0642C6210D39D4613B5EA30B), # noqa: E501 ) - # Source: LLL - # { (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0 0 0 0 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x927C0, - address=0x66F77B181E0E662E17D427C7320267ADF2FD624, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 8 (GAS)) (SSTORE 9 (CALL 300000 0 0 0 0 0)) [[12]] 1} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x493E0, + address=0xCCC0159BD2EF7118B5E7B8D958E72237F02493FE, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0xC, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x3c6dca5471c6305d0642c6210d39d4613b5ea30b"), # noqa: E501 + address=Address(0x066F77B181E0E662E17D427C7320267ADF2FD624), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE(key=0x9, value=Op.GAS) - + Op.SSTORE(key=0xA, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (SSTORE 8 (GAS)) (KECCAK256 0x00 0x2fffff) (SSTORE 9 (GAS)) (SSTORE 10 (GAS)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE(key=0x9, value=Op.GAS) + + Op.SSTORE(key=0xA, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xccc0159bd2ef7118b5e7b8d958e72237f02493fe"), # noqa: E501 + address=Address(0xCCC0159BD2EF7118B5E7B8D958E72237F02493FE), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=2200000, ) post = { - callee: Account(storage={8: 0x927BE, 12: 1}), - contract: Account(storage={8: 0x213FB6, 9: 1}), + addr: Account(storage={8: 0x927BE, 12: 1}), + addr_2: Account(storage={}), + target: Account(storage={8: 0x213FB6, 9: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/test_call_goes_oog_on_second_level2.py b/tests/ported_static/stEIP150Specific/test_call_goes_oog_on_second_level2.py index e940a29d0ef..d4824a14a6b 100644 --- a/tests/ported_static/stEIP150Specific/test_call_goes_oog_on_second_level2.py +++ b/tests/ported_static/stEIP150Specific/test_call_goes_oog_on_second_level2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_goes_oog_on_second_level2. Ported from: -tests/static/state_tests/stEIP150Specific/CallGoesOOGOnSecondLevel2Filler.json +state_tests/stEIP150Specific/CallGoesOOGOnSecondLevel2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150Specific/CallGoesOOGOnSecondLevel2Filler.json", # noqa: E501 - ], + ["state_tests/stEIP150Specific/CallGoesOOGOnSecondLevel2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_goes_oog_on_second_level2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_goes_oog_on_second_level2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,65 +46,68 @@ def test_call_goes_oog_on_second_level2( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0 0 0 0 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x927C0, - address=0xE1D370A0538366EAFFBC9FCD571AF7B1E80D377C, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x927C0, + address=0xE1D370A0538366EAFFBC9FCD571AF7B1E80D377C, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x171742e7809e3b571e899f0d4d9d35cd5deeacf1"), # noqa: E501 + address=Address(0x171742E7809E3B571E899F0D4D9D35CD5DEEACF1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { (SSTORE 8 (GAS)) (SSTORE 9 (CALL 600000 0 0 0 0 0)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x927C0, + address=0xBFB2B65E4EF26A144A185B32C7BAF39EF8E40B4B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xbfb2b65e4ef26a144a185b32c7baf39ef8e40b4b"), # noqa: E501 + address=Address(0xE1D370A0538366EAFFBC9FCD571AF7B1E80D377C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x927C0, - address=0xBFB2B65E4EF26A144A185B32C7BAF39EF8E40B4B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 8 (GAS)) (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xe1d370a0538366eaffbc9fcd571af7b1e80d377c"), # noqa: E501 + address=Address(0xBFB2B65E4EF26A144A185B32C7BAF39EF8E40B4B), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=160000, ) - post: dict = {} + post = { + addr: Account(storage={}), + addr_2: Account(storage={}), + target: Account(storage={}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/test_create_and_gas_inside_create.py b/tests/ported_static/stEIP150Specific/test_create_and_gas_inside_create.py index f0ff7b83bad..f86550f6574 100644 --- a/tests/ported_static/stEIP150Specific/test_create_and_gas_inside_create.py +++ b/tests/ported_static/stEIP150Specific/test_create_and_gas_inside_create.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_and_gas_inside_create. Ported from: -tests/static/state_tests/stEIP150Specific/CreateAndGasInsideCreateFiller.json +state_tests/stEIP150Specific/CreateAndGasInsideCreateFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150Specific/CreateAndGasInsideCreateFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150Specific/CreateAndGasInsideCreateFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +32,9 @@ def test_create_and_gas_inside_create( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_and_gas_inside_create.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,37 +49,34 @@ def test_create_and_gas_inside_create( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [100] (GAS) (MSTORE 0 0x5a60fd55) (SSTORE 11 (CREATE 0 28 4)) (SSTORE 9 (SUB @100 (GAS))) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x64, value=Op.GAS) - + Op.MSTORE(offset=0x0, value=0x5A60FD55) - + Op.SSTORE( - key=0xB, value=Op.CREATE(value=0x0, offset=0x1C, size=0x4) - ) - + Op.SSTORE(key=0x9, value=Op.SUB(Op.MLOAD(offset=0x64), Op.GAS)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x64, value=Op.GAS) + + Op.MSTORE(offset=0x0, value=0x5A60FD55) + + Op.SSTORE(key=0xB, value=Op.CREATE(value=0x0, offset=0x1C, size=0x4)) + + Op.SSTORE(key=0x9, value=Op.SUB(Op.MLOAD(offset=0x64), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + contract_0: Account( storage={ 9: 0x129DB, 11: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, }, ), - Address("0xf1ecf98489fa9ed60a664fc4998db699cfa39d40"): Account( - storage={253: 0x83729}, + compute_create_address(address=contract_0, nonce=0): Account( + storage={253: 0x83729} ), } diff --git a/tests/ported_static/stEIP150Specific/test_delegate_call_on_eip.py b/tests/ported_static/stEIP150Specific/test_delegate_call_on_eip.py index c0b4bacf6f6..820af2c8af5 100644 --- a/tests/ported_static/stEIP150Specific/test_delegate_call_on_eip.py +++ b/tests/ported_static/stEIP150Specific/test_delegate_call_on_eip.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_delegate_call_on_eip. Ported from: -tests/static/state_tests/stEIP150Specific/DelegateCallOnEIPFiller.json +state_tests/stEIP150Specific/DelegateCallOnEIPFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP150Specific/DelegateCallOnEIPFiller.json"], + ["state_tests/stEIP150Specific/DelegateCallOnEIPFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_delegate_call_on_eip( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegate_call_on_eip.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -45,43 +46,42 @@ def test_delegate_call_on_eip( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [8] (GAS) (SSTORE 9 (DELEGATECALL 600000 0 0 0 0)) [[8]] (SUB @8 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0xFD59ABAE521384B5731AC657616680219FBC423D, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x8, value=Op.SUB(Op.MLOAD(offset=0x8), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0xFD59ABAE521384B5731AC657616680219FBC423D, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x8, value=Op.SUB(Op.MLOAD(offset=0x8), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x90bc108216940a7ddaf3ba6624f2fdbe4c5e83dc"), # noqa: E501 + address=Address(0x90BC108216940A7DDAF3BA6624F2FDBE4C5E83DC), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - pre.deploy_contract( + # Source: lll + # { (SSTORE 0 0x12) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x12) + Op.STOP, nonce=0, - address=Address("0xfd59abae521384b5731ac657616680219fbc423d"), # noqa: E501 + address=Address(0xFD59ABAE521384B5731AC657616680219FBC423D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post = { - contract: Account(storage={0: 18, 8: 46841, 9: 1}), - } + post = {target: Account(storage={0: 18, 8: 46841, 9: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/test_execute_call_that_ask_fore_gas_then_trabsaction_has.py b/tests/ported_static/stEIP150Specific/test_execute_call_that_ask_fore_gas_then_trabsaction_has.py index 203de2356f5..e88bb9138e6 100644 --- a/tests/ported_static/stEIP150Specific/test_execute_call_that_ask_fore_gas_then_trabsaction_has.py +++ b/tests/ported_static/stEIP150Specific/test_execute_call_that_ask_fore_gas_then_trabsaction_has.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_execute_call_that_ask_fore_gas_then_trabsaction_has. Ported from: -tests/static/state_tests/stEIP150Specific -ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json +state_tests/stEIP150Specific/ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150Specific/ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json", # noqa: E501 + "state_tests/stEIP150Specific/ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_execute_call_that_ask_fore_gas_then_trabsaction_has( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_execute_call_that_ask_fore_gas_then_trabsaction_has.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -48,44 +48,42 @@ def test_execute_call_that_ask_fore_gas_then_trabsaction_has( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0x5F5E100) + # Source: lll # { [[1]] (CALL 600000 0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0xBFDD294028701B119D416C68EFF7DD9F7EFFD249, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0xBFDD294028701B119D416C68EFF7DD9F7EFFD249, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x1819cf5bff62f0d379f146b85baaf9bd18239832"), # noqa: E501 + address=Address(0x1819CF5BFF62F0D379F146B85BAAF9BD18239832), # noqa: E501 ) - pre[sender] = Account(balance=0x5F5E100) - callee = pre.deploy_contract( + # Source: lll + # { [[1]] 12 } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0xbfdd294028701b119d416c68eff7dd9f7effd249"), # noqa: E501 + address=Address(0xBFDD294028701B119D416C68EFF7DD9F7EFFD249), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={1: 1}), - callee: Account(storage={1: 12}), - } + post = {addr: Account(storage={1: 12})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/test_new_gas_price_for_codes.py b/tests/ported_static/stEIP150Specific/test_new_gas_price_for_codes.py index c29b9173ea6..7ee910014d6 100644 --- a/tests/ported_static/stEIP150Specific/test_new_gas_price_for_codes.py +++ b/tests/ported_static/stEIP150Specific/test_new_gas_price_for_codes.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_new_gas_price_for_codes. Ported from: -tests/static/state_tests/stEIP150Specific/NewGasPriceForCodesFiller.json +state_tests/stEIP150Specific/NewGasPriceForCodesFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150Specific/NewGasPriceForCodesFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150Specific/NewGasPriceForCodesFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_new_gas_price_for_codes( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_new_gas_price_for_codes.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,109 +46,111 @@ def test_new_gas_price_for_codes( gas_limit=10000000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x64, value=0x11) + Op.STOP, - nonce=0, - address=Address("0xad9d325b811cb0701839c07c6f139f3799476798"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xE8D4A51000) + # Source: raw + # 0x1122334455667788991011121314151617181920212223242526272829303132 + addr = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( "1122334455667788991011121314151617181920212223242526272829303132" ), balance=111, nonce=0, - address=Address("0xc572a70afaab9d01d0a2afb855bfbafb47c8211b"), # noqa: E501 + address=Address(0xC572A70AFAAB9D01D0A2AFB855BFBAFB47C8211B), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll + # { (SSTORE 100 0x11) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x64, value=0x11) + Op.STOP, + nonce=0, + address=Address(0xAD9D325B811CB0701839C07C6F139F3799476798), # noqa: E501 + ) + # Source: lll # { [999] (GAS) (SSTORE 1 (EXTCODESIZE )) (EXTCODECOPY 0 0 20) (SSTORE 2 (MLOAD 0)) (SSTORE 4 (SLOAD 0)) (SSTORE 5 (CALL 30000 1 0 0 0 0)) (SSTORE 6 (CALLCODE 30000 1 0 0 0 0)) (SSTORE 7 (DELEGATECALL 30000 0 0 0 0)) (SSTORE 8 (CALL 30000 0x1000000000000000000000000000000000000013 0 0 0 0 0)) (SSTORE 3 (BALANCE )) (SSTORE 10 (SUB (MLOAD 999) (GAS))) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3E7, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.EXTCODESIZE( - address=0xC572A70AFAAB9D01D0A2AFB855BFBAFB47C8211B, - ), - ) - + Op.EXTCODECOPY( - address=0xC572A70AFAAB9D01D0A2AFB855BFBAFB47C8211B, - dest_offset=0x0, - offset=0x0, - size=0x14, - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x4, value=Op.SLOAD(key=0x0)) - + Op.SSTORE( - key=0x5, - value=Op.CALL( - gas=0x7530, - address=0xAD9D325B811CB0701839C07C6F139F3799476798, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x6, - value=Op.CALLCODE( - gas=0x7530, - address=0xAD9D325B811CB0701839C07C6F139F3799476798, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x7, - value=Op.DELEGATECALL( - gas=0x7530, - address=0xAD9D325B811CB0701839C07C6F139F3799476798, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x8, - value=Op.CALL( - gas=0x7530, - address=0x1000000000000000000000000000000000000013, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x3, - value=Op.BALANCE( - address=0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - ), - ) - + Op.SSTORE(key=0xA, value=Op.SUB(Op.MLOAD(offset=0x3E7), Op.GAS)) - + Op.STOP - ), - storage={0x0: 0x12}, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3E7, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.EXTCODESIZE( + address=0xC572A70AFAAB9D01D0A2AFB855BFBAFB47C8211B + ), + ) + + Op.EXTCODECOPY( + address=0xC572A70AFAAB9D01D0A2AFB855BFBAFB47C8211B, + dest_offset=0x0, + offset=0x0, + size=0x14, + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x4, value=Op.SLOAD(key=0x0)) + + Op.SSTORE( + key=0x5, + value=Op.CALL( + gas=0x7530, + address=0xAD9D325B811CB0701839C07C6F139F3799476798, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x6, + value=Op.CALLCODE( + gas=0x7530, + address=0xAD9D325B811CB0701839C07C6F139F3799476798, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x7, + value=Op.DELEGATECALL( + gas=0x7530, + address=0xAD9D325B811CB0701839C07C6F139F3799476798, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x8, + value=Op.CALL( + gas=0x7530, + address=0x1000000000000000000000000000000000000013, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x3, + value=Op.BALANCE( + address=0xFAA10B404AB607779993C016CD5DA73AE1F29D7E + ), + ) + + Op.SSTORE(key=0xA, value=Op.SUB(Op.MLOAD(offset=0x3E7), Op.GAS)) + + Op.STOP, + storage={0: 18}, nonce=0, - address=Address("0xfd9afc8315a88141164e2a753157ea3e0f72c707"), # noqa: E501 + address=Address(0xFD9AFC8315A88141164E2A753157EA3E0F72C707), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + target: Account( storage={ 0: 18, 1: 32, diff --git a/tests/ported_static/stEIP150Specific/test_suicide_to_existing_contract.py b/tests/ported_static/stEIP150Specific/test_suicide_to_existing_contract.py index b5296b14367..3c0025042ba 100644 --- a/tests/ported_static/stEIP150Specific/test_suicide_to_existing_contract.py +++ b/tests/ported_static/stEIP150Specific/test_suicide_to_existing_contract.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_suicide_to_existing_contract. Ported from: -tests/static/state_tests/stEIP150Specific/SuicideToExistingContractFiller.json +state_tests/stEIP150Specific/SuicideToExistingContractFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150Specific/SuicideToExistingContractFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150Specific/SuicideToExistingContractFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_suicide_to_existing_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_suicide_to_existing_contract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,46 +46,55 @@ def test_suicide_to_existing_contract( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xE110D543AADC3060D6B9E80D3E16BE7A828128EC) - + Op.STOP - ), - nonce=0, - address=Address("0x79968a94dbedb20475585e9dd4dae6333add4c01"), # noqa: E501 - ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0] (GAS) (CALL 60000 0 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0xEA60, - address=0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0xEA60, + address=0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xe110d543aadc3060d6b9e80d3e16be7a828128ec"), # noqa: E501 + address=Address(0xE110D543AADC3060D6B9E80D3E16BE7A828128EC), # noqa: E501 + ) + # Source: lll + # { (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xE110D543AADC3060D6B9E80D3E16BE7A828128EC + ) + + Op.STOP, + nonce=0, + address=Address(0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={1: 7637}), + addr: Account( + storage={}, + code=bytes.fromhex( + "73e110d543aadc3060d6b9e80d3e16be7a828128ecff00" + ), + balance=0, + nonce=0, + ), + target: Account(storage={1: 7637}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/test_suicide_to_not_existing_contract.py b/tests/ported_static/stEIP150Specific/test_suicide_to_not_existing_contract.py index a4f468ff881..cf820a6d31f 100644 --- a/tests/ported_static/stEIP150Specific/test_suicide_to_not_existing_contract.py +++ b/tests/ported_static/stEIP150Specific/test_suicide_to_not_existing_contract.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_suicide_to_not_existing_contract. Ported from: -tests/static/state_tests/stEIP150Specific -SuicideToNotExistingContractFiller.json +state_tests/stEIP150Specific/SuicideToNotExistingContractFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150Specific/SuicideToNotExistingContractFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150Specific/SuicideToNotExistingContractFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_suicide_to_not_existing_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_suicide_to_not_existing_contract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,46 +46,55 @@ def test_suicide_to_not_existing_contract( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x2000000000000000000000000000000000000115) - + Op.STOP - ), - nonce=0, - address=Address("0x09d6d7885d3d58a49c8352635776c205f722501c"), # noqa: E501 - ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0] (GAS) (CALL 60000 0 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0xEA60, - address=0x9D6D7885D3D58A49C8352635776C205F722501C, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0xEA60, + address=0x9D6D7885D3D58A49C8352635776C205F722501C, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xbabae893bee69e2141e0e92f2251664ac445ea2a"), # noqa: E501 + address=Address(0xBABAE893BEE69E2141E0E92F2251664AC445EA2A), # noqa: E501 + ) + # Source: lll + # { (SELFDESTRUCT 0x2000000000000000000000000000000000000115) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x2000000000000000000000000000000000000115 + ) + + Op.STOP, + nonce=0, + address=Address(0x09D6D7885D3D58A49C8352635776C205F722501C), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={1: 10237}), + addr: Account( + storage={}, + code=bytes.fromhex( + "732000000000000000000000000000000000000115ff00" + ), + balance=0, + nonce=0, + ), + target: Account(storage={1: 10237}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64e0.py b/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64e0.py index 5d6644439d4..45a32d3f9d0 100644 --- a/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64e0.py +++ b/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64e0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_transaction64_rule_d64e0. Ported from: -tests/static/state_tests/stEIP150Specific/Transaction64Rule_d64e0Filler.json +state_tests/stEIP150Specific/Transaction64Rule_d64e0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150Specific/Transaction64Rule_d64e0Filler.json", # noqa: E501 - ], + ["state_tests/stEIP150Specific/Transaction64Rule_d64e0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_transaction64_rule_d64e0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction64_rule_d64e0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,44 +46,45 @@ def test_transaction64_rule_d64e0( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0] (GAS) (CALL 160000 0 0 0 0 0) [[2]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x27100, - address=0x6B7466044211F090B767199794F6F7041829BA85, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x27100, + address=0x6B7466044211F090B767199794F6F7041829BA85, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x4cbc458d12c7f73a3b12ef4515c3eb1bb7430798"), # noqa: E501 + address=Address(0x4CBC458D12C7F73A3B12EF4515C3EB1BB7430798), # noqa: E501 ) - callee = pre.deploy_contract( + # Source: lll + # { [[1]] 12 } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, nonce=0, - address=Address("0x6b7466044211f090b767199794f6f7041829ba85"), # noqa: E501 + address=Address(0x6B7466044211F090B767199794F6F7041829BA85), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=160062, ) post = { - contract: Account(storage={2: 24740}), - callee: Account(storage={1: 12}), + addr: Account(storage={1: 12}), + target: Account(storage={2: 24740}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64m1.py b/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64m1.py index 27df93319ab..a8267666f7a 100644 --- a/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64m1.py +++ b/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64m1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_transaction64_rule_d64m1. Ported from: -tests/static/state_tests/stEIP150Specific/Transaction64Rule_d64m1Filler.json +state_tests/stEIP150Specific/Transaction64Rule_d64m1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150Specific/Transaction64Rule_d64m1Filler.json", # noqa: E501 - ], + ["state_tests/stEIP150Specific/Transaction64Rule_d64m1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_transaction64_rule_d64m1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction64_rule_d64m1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,44 +46,45 @@ def test_transaction64_rule_d64m1( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0] (GAS) (CALL 160000 0 0 0 0 0) [[2]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x27100, - address=0x6B7466044211F090B767199794F6F7041829BA85, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x27100, + address=0x6B7466044211F090B767199794F6F7041829BA85, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x4cbc458d12c7f73a3b12ef4515c3eb1bb7430798"), # noqa: E501 + address=Address(0x4CBC458D12C7F73A3B12EF4515C3EB1BB7430798), # noqa: E501 ) - callee = pre.deploy_contract( + # Source: lll + # { [[1]] 12 } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, nonce=0, - address=Address("0x6b7466044211f090b767199794f6f7041829ba85"), # noqa: E501 + address=Address(0x6B7466044211F090B767199794F6F7041829BA85), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=160061, ) post = { - contract: Account(storage={2: 24740}), - callee: Account(storage={1: 12}), + addr: Account(storage={1: 12}), + target: Account(storage={2: 24740}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64p1.py b/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64p1.py index 9140908eb17..0b7fa472d71 100644 --- a/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64p1.py +++ b/tests/ported_static/stEIP150Specific/test_transaction64_rule_d64p1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_transaction64_rule_d64p1. Ported from: -tests/static/state_tests/stEIP150Specific/Transaction64Rule_d64p1Filler.json +state_tests/stEIP150Specific/Transaction64Rule_d64p1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150Specific/Transaction64Rule_d64p1Filler.json", # noqa: E501 - ], + ["state_tests/stEIP150Specific/Transaction64Rule_d64p1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_transaction64_rule_d64p1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction64_rule_d64p1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,44 +46,45 @@ def test_transaction64_rule_d64p1( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0] (GAS) (CALL 160000 0 0 0 0 0) [[2]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x27100, - address=0x6B7466044211F090B767199794F6F7041829BA85, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x27100, + address=0x6B7466044211F090B767199794F6F7041829BA85, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x4cbc458d12c7f73a3b12ef4515c3eb1bb7430798"), # noqa: E501 + address=Address(0x4CBC458D12C7F73A3B12EF4515C3EB1BB7430798), # noqa: E501 ) - callee = pre.deploy_contract( + # Source: lll + # { [[1]] 12 } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, nonce=0, - address=Address("0x6b7466044211f090b767199794f6f7041829ba85"), # noqa: E501 + address=Address(0x6B7466044211F090B767199794F6F7041829BA85), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=160063, ) post = { - contract: Account(storage={2: 24740}), - callee: Account(storage={1: 12}), + addr: Account(storage={1: 12}), + target: Account(storage={2: 24740}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150Specific/test_transaction64_rule_integer_boundaries.py b/tests/ported_static/stEIP150Specific/test_transaction64_rule_integer_boundaries.py index 07c40358385..9be75cc4ce8 100644 --- a/tests/ported_static/stEIP150Specific/test_transaction64_rule_integer_boundaries.py +++ b/tests/ported_static/stEIP150Specific/test_transaction64_rule_integer_boundaries.py @@ -2,8 +2,7 @@ Danno Ferrin danno.ferrin@gmail.com. Ported from: -tests/static/state_tests/stEIP150Specific -Transaction64Rule_integerBoundariesFiller.yml +state_tests/stEIP150Specific/Transaction64Rule_integerBoundariesFiller.yml """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,134 +25,100 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150Specific/Transaction64Rule_integerBoundariesFiller.yml", # noqa: E501 + "state_tests/stEIP150Specific/Transaction64Rule_integerBoundariesFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000000000007fffffffffffffffffffffffffffffff", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="int8", ), - ( - "0000000000000000000000000000000000000000000000000000000000007fff", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="uint8", ), - ( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 2, + 0, + 0, + id="int16", ), - ( - "000000000000000000000000000000000000000000000000000000007fffffff", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="uint16", ), - ( - "0000000000000000000000000000000000000000000000007fffffffffffffff", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 4, + 0, + 0, + id="int32", ), - ( - "000000000000000000000000000000000000000000000000000000000000007f", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 5, + 0, + 0, + id="uint32", ), - ( - "000000000000000000000000000000008fffffffffffffffffffffffffffffff", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 6, + 0, + 0, + id="int64", ), - ( - "0000000000000000000000000000000000000000000000000000000000008fff", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 7, + 0, + 0, + id="uint64", ), - ( - "8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 8, + 0, + 0, + id="int128", ), - ( - "000000000000000000000000000000000000000000000000000000008fffffff", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 9, + 0, + 0, + id="uint128", ), - ( - "0000000000000000000000000000000000000000000000008fffffffffffffff", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 10, + 0, + 0, + id="int256", ), - ( - "000000000000000000000000000000000000000000000000000000000000008f", - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 11, + 0, + 0, + id="uint256", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - ], ) @pytest.mark.pre_alloc_mutable def test_transaction64_rule_integer_boundaries( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Danno Ferrin danno.ferrin@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Danno Ferrin danno.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x000000000000000000000000000000000000C0DE) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -165,14 +132,16 @@ def test_transaction64_rule_integer_boundaries( gas_limit=100000000, ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x600060FF00 + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.PUSH1[0x0] + Op.PUSH1[0xFF] + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # let initialgas := gas() # let callgas := calldataload(0) @@ -189,70 +158,85 @@ def test_transaction64_rule_integer_boundaries( # pop(staticcall(callgas, 0x1000, 0, 0x20, 0, 0x20)) # sstore(3, lt(gas(), initialgas)) # } - contract = pre.deploy_contract( - code=( - Op.GAS - + Op.PUSH1[0x20] - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.DUP2 - + Op.PUSH2[0x1000] - + Op.CALLDATALOAD(offset=Op.DUP2) - + Op.POP( - Op.CALL( - gas=Op.DUP7, - address=Op.DUP7, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP4, - ret_size=Op.DUP4, - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.GAS + + Op.PUSH1[0x20] + + Op.PUSH1[0x0] + + Op.DUP2 * 2 + + Op.PUSH2[0x1000] + + Op.CALLDATALOAD(offset=Op.DUP2) + + Op.POP( + Op.CALL( + gas=Op.DUP7, + address=Op.DUP7, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP4, + ret_size=Op.DUP4, ) - + Op.SSTORE(key=Op.DUP4, value=Op.LT(Op.GAS, Op.DUP7)) - + Op.POP( - Op.CALLCODE( - gas=Op.DUP7, - address=Op.DUP7, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP4, - ret_size=Op.DUP4, - ), + ) + + Op.SSTORE(key=Op.DUP4, value=Op.LT(Op.GAS, Op.DUP7)) + + Op.POP( + Op.CALLCODE( + gas=Op.DUP7, + address=Op.DUP7, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP4, + ret_size=Op.DUP4, ) - + Op.SSTORE(key=0x1, value=Op.LT(Op.GAS, Op.DUP7)) - + Op.POP( - Op.DELEGATECALL( - gas=Op.DUP6, - address=Op.DUP6, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=Op.DUP4, - ret_size=Op.DUP4, - ), + ) + + Op.SSTORE(key=0x1, value=Op.LT(Op.GAS, Op.DUP7)) + + Op.POP( + Op.DELEGATECALL( + gas=Op.DUP6, + address=Op.DUP6, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=Op.DUP4, + ret_size=Op.DUP4, ) - + Op.SSTORE(key=0x2, value=Op.LT(Op.GAS, Op.DUP7)) - + Op.POP(Op.STATICCALL) - + Op.GAS - + Op.SSTORE(key=0x3, value=Op.LT) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x2, value=Op.LT(Op.GAS, Op.DUP7)) + + Op.POP(Op.STATICCALL) + + Op.GAS + + Op.SSTORE(key=0x3, value=Op.LT) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000000c0de"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000C0DE), # noqa: E501 ) pre[sender] = Account(balance=0x10000000000000000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(0x7F), + Hash(0x8F), + Hash(0x7FFF), + Hash(0x8FFF), + Hash(0x7FFFFFFF), + Hash(0x8FFFFFFF), + Hash(0x7FFFFFFFFFFFFFFF), + Hash(0x8FFFFFFFFFFFFFFF), + Hash(0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), + Hash(0x8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), + Hash( + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Hash( + 0x8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + ] + tx_gas = [800000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=800000, + to=contract_1, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = {contract_1: Account(storage={0: 1, 1: 1, 2: 1, 3: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/__init__.py b/tests/ported_static/stEIP150singleCodeGasPrices/__init__.py index 2f119559555..c7cded7ed36 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/__init__.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/__init__.py @@ -1 +1 @@ -"""Tests ported from stEIP150singleCodeGasPrices.""" +"""Ported static tests: stEIP150singleCodeGasPrices.""" # noqa: N999 diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929.py index a4bde04b7be..639742dc60d 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/eip2929Filler.yml +state_tests/stEIP150singleCodeGasPrices/eip2929Filler.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,363 +28,257 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP150singleCodeGasPrices/eip2929Filler.yml"], + ["state_tests/stEIP150singleCodeGasPrices/eip2929Filler.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 90, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 90, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 90, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 90, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 90, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 90, 2: 90} - ) - }, + pytest.param( + 0, + 0, + 0, + id="nop-nop-nop", + ), + pytest.param( + 1, + 0, + 0, + id="sload-sload-sload", + ), + pytest.param( + 2, + 0, + 0, + id="sstore-sstore-sstore", + ), + pytest.param( + 3, + 0, + 0, + id="addr-addr-addr", + ), + pytest.param( + 4, + 0, + 0, + id="addr-addr-addr", + ), + pytest.param( + 5, + 0, + 0, + id="copy-copy-copy", + ), + pytest.param( + 6, + 0, + 0, + id="addr-addr-addr", + ), + pytest.param( + 7, + 0, + 0, + id="call8-call8-call8", + ), + pytest.param( + 8, + 0, + 0, + id="call8-call8-call8", + ), + pytest.param( + 9, + 0, + 0, + id="call5-call5-call5", + ), + pytest.param( + 10, + 0, + 0, + id="call5-call5-call5", + ), + pytest.param( + 11, + 0, + 0, + id="faraddr-faraddr-faraddr", + ), + pytest.param( + 12, + 0, + 0, + id="farcall8-farcall8-farcall8", + ), + pytest.param( + 13, + 0, + 0, + id="farcall5-farcall5-farcall5", + ), + pytest.param( + 14, + 0, + 0, + id="sload-sstore-sload", + ), + pytest.param( + 15, + 0, + 0, + id="sload-farcall8-farcall5", + ), + pytest.param( + 16, + 0, + 0, + id="sload-sstore-farcall5", + ), + pytest.param( + 17, + 0, + 0, + id="farcall8-sload-farcall5", + ), + pytest.param( + 18, + 0, + 0, + id="farcall5-sload-sstore", + ), + pytest.param( + 19, + 0, + 0, + id="addr-addr-addr", + ), + pytest.param( + 20, + 0, + 0, + id="addr-addr-addr", + ), + pytest.param( + 21, + 0, + 0, + id="addr-addr-addr", + ), + pytest.param( + 22, + 0, + 0, + id="addr-addr-addr", + ), + pytest.param( + 23, + 0, + 0, + id="addr-addr-addr", + ), + pytest.param( + 24, + 0, + 0, + id="addr-addr-addr", + ), + pytest.param( + 25, + 0, + 0, + id="call8-call8-call8", + ), + pytest.param( + 26, + 0, + 0, + id="call8-call8-call8", + ), + pytest.param( + 27, + 0, + 0, + id="call5-call5-call5", + ), + pytest.param( + 28, + 0, + 0, + id="call5-call5-call5", + ), + pytest.param( + 29, + 0, + 0, + id="addr-call8-call8", + ), + pytest.param( + 30, + 0, + 0, + id="addr-call8-call8", + ), + pytest.param( + 31, + 0, + 0, + id="addr-call8-call8", + ), + pytest.param( + 32, + 0, + 0, + id="addr-call8-call8", + ), + pytest.param( + 33, + 0, + 0, + id="addr-call8-call8", + ), + pytest.param( + 34, + 0, + 0, + id="addr-call8-call8", + ), + pytest.param( + 35, + 0, + 0, + id="addr-addr-faraddr", + ), + pytest.param( + 36, + 0, + 0, + id="addr-faraddr-addr", + ), + pytest.param( + 37, + 0, + 0, + id="faraddr-addr-addr", ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 90, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 90, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 90, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 90, 2: 211} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 108, 2: 108} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 108, 2: 108} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 108, 2: 108} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 108, 2: 108} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 108, 2: 108} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 108, 2: 108} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000000e", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2590, 1: 211, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2605, 1: 105, 2: 105} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2605, 1: 105, 2: 105} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2605, 1: 105, 2: 105} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2605, 1: 105, 2: 105} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2608, 1: 108, 2: 108} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2608, 1: 108, 2: 108} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2608, 1: 108, 2: 108} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2608, 1: 108, 2: 108} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2597, 1: 97, 2: 97} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2711, 1: 90, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2711, 1: 211, 2: 211} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2208, 1: 208, 2: 208} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2208, 1: 90, 2: 2891} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2211, 1: 211, 2: 211} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2211, 1: 90, 2: 208} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2090, 1: 211, 2: 208} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2090, 1: 90, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2090, 1: 2891, 2: 208} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2090, 1: 2891, 2: 90} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 4991, 1: 91, 2: 91} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", ], ) @pytest.mark.pre_alloc_mutable def test_eip2929( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000CA11) + contract_1 = Address(0x000000000000000000000000000000CA1100CA11) + contract_2 = Address(0x00000000000000000000000000000000CA110100) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -392,35 +292,35 @@ def test_eip2929( gas_limit=100000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=bytes.fromhex("00"), + # Source: raw + # 0x00 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000000ca11"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000CA11), # noqa: E501 ) - # Source: LLL + # Source: lll # { - # @@0x100 + # (balance 0xca11) # } - pre.deploy_contract( - code=Op.SLOAD(key=0x100) + Op.STOP, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.BALANCE(address=0xCA11) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x00000000000000000000000000000000ca110100"), # noqa: E501 + address=Address(0x000000000000000000000000000000CA1100CA11), # noqa: E501 ) - # Source: LLL + # Source: lll # { - # (balance 0xca11) + # @@0x100 # } - pre.deploy_contract( - code=Op.BALANCE(address=0xCA11) + Op.STOP, + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SLOAD(key=0x100) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000ca1100ca11"), # noqa: E501 + address=Address(0x00000000000000000000000000000000CA110100), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL + # Source: lll # { # (def 'oper1 $4) # (def 'oper2 $36) @@ -452,517 +352,649 @@ def test_eip2929( # (if (= @operation 21) (call 0x1000 0xca11 0 0 0 0 0) NOP) ; CALL # (if (= @operation 22) (callcode 0x1000 0xca11 0 0 0 0 0) NOP) ; CALLCODE # noqa: E501 # ... (35 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.POP(Op.BALANCE(address=0xCA1100CA11)) - + Op.POP(Op.BALANCE(address=0xCA110100)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.JUMPI( - pc=Op.PUSH2[0x31], - condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0x36]) - + Op.JUMPDEST - + Op.SLOAD(key=0x100) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0x49], - condition=Op.EQ(Op.MLOAD(offset=0x40), 0x2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x50]) - + Op.JUMPDEST - + Op.SSTORE(key=0x100, value=0x5) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x61], - condition=Op.EQ(Op.MLOAD(offset=0x40), 0xB), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0x66]) - + Op.JUMPDEST - + Op.BALANCE(address=0xCA11) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0x78], - condition=Op.EQ(Op.MLOAD(offset=0x40), 0xC), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0x7D]) - + Op.JUMPDEST - + Op.EXTCODESIZE(address=0xCA11) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0x90], - condition=Op.EQ(Op.MLOAD(offset=0x40), 0xD), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x9B]) - + Op.JUMPDEST - + Op.EXTCODECOPY( - address=0xCA11, dest_offset=0x0, offset=0x0, size=0x0 - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xAC], - condition=Op.EQ(Op.MLOAD(offset=0x40), 0xE), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0xB1]) - + Op.JUMPDEST - + Op.EXTCODEHASH(address=0xCA11) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0xC3], - condition=Op.EQ(Op.MLOAD(offset=0x40), 0x15), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0xD5]) - + Op.JUMPDEST - + Op.CALL( - gas=0x1000, - address=0xCA11, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0xE7], - condition=Op.EQ(Op.MLOAD(offset=0x40), 0x16), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0xF9]) - + Op.JUMPDEST - + Op.CALLCODE( - gas=0x1000, - address=0xCA11, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x10B, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x17)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x11B) - + Op.JUMPDEST - + Op.DELEGATECALL( - gas=0x1000, - address=0xCA11, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x12D, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x18)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x13D) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x1000, - address=0xCA11, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x14F, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1F)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x164) - + Op.JUMPDEST - + Op.CALL( - gas=0x1000, - address=0xCA1100CA11, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x176, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x20)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x18A) - + Op.JUMPDEST - + Op.CALLCODE( - gas=0x1000, - address=0xCA110100, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x19C, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x21)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x1AE) - + Op.JUMPDEST - + Op.DELEGATECALL( - gas=0x1000, - address=0xCA110100, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), - 0x22A, - ), - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.JUMPI(pc=0x1DC, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x1E1) - + Op.JUMPDEST - + Op.SLOAD(key=0x100) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x1F4, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x2)) - + Op.POP(0x0) - + Op.JUMP(pc=0x1FB) - + Op.JUMPDEST - + Op.SSTORE(key=0x100, value=0x5) - + Op.JUMPDEST - + Op.JUMPI(pc=0x20C, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xB)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x211) - + Op.JUMPDEST - + Op.BALANCE(address=0xCA11) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x223, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xC)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x228) - + Op.JUMPDEST - + Op.EXTCODESIZE(address=0xCA11) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x23B, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xD)) - + Op.POP(0x0) - + Op.JUMP(pc=0x246) - + Op.JUMPDEST - + Op.EXTCODECOPY( - address=0xCA11, dest_offset=0x0, offset=0x0, size=0x0 - ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x257, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xE)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x25C) - + Op.JUMPDEST - + Op.EXTCODEHASH(address=0xCA11) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x26E, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x15)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x280) - + Op.JUMPDEST - + Op.CALL( - gas=0x1000, - address=0xCA11, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x292, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x16)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x2A4) - + Op.JUMPDEST - + Op.CALLCODE( - gas=0x1000, - address=0xCA11, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x2B6, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x17)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x2C6) - + Op.JUMPDEST - + Op.DELEGATECALL( - gas=0x1000, - address=0xCA11, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x2D8, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x18)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x2E8) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x1000, - address=0xCA11, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x2FA, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1F)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x30F) - + Op.JUMPDEST - + Op.CALL( - gas=0x1000, - address=0xCA1100CA11, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x321, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x20)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x335) - + Op.JUMPDEST - + Op.CALLCODE( - gas=0x1000, - address=0xCA110100, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x347, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x21)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x359) - + Op.JUMPDEST - + Op.DELEGATECALL( - gas=0x1000, - address=0xCA110100, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), - 0x22A, - ), - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.JUMPI(pc=0x387, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x38C) - + Op.JUMPDEST - + Op.SLOAD(key=0x100) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x39F, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x2)) - + Op.POP(0x0) - + Op.JUMP(pc=0x3A6) - + Op.JUMPDEST - + Op.SSTORE(key=0x100, value=0x5) - + Op.JUMPDEST - + Op.JUMPI(pc=0x3B7, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xB)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x3BC) - + Op.JUMPDEST - + Op.BALANCE(address=0xCA11) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x3CE, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xC)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x3D3) - + Op.JUMPDEST - + Op.EXTCODESIZE(address=0xCA11) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x3E6, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xD)) - + Op.POP(0x0) - + Op.JUMP(pc=0x3F1) - + Op.JUMPDEST - + Op.EXTCODECOPY( - address=0xCA11, dest_offset=0x0, offset=0x0, size=0x0 - ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x402, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xE)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x407) - + Op.JUMPDEST - + Op.EXTCODEHASH(address=0xCA11) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x419, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x15)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x42B) - + Op.JUMPDEST - + Op.CALL( - gas=0x1000, - address=0xCA11, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x43D, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x16)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x44F) - + Op.JUMPDEST - + Op.CALLCODE( - gas=0x1000, - address=0xCA11, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x461, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x17)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x471) - + Op.JUMPDEST - + Op.DELEGATECALL( - gas=0x1000, - address=0xCA11, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x483, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x18)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x493) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x1000, - address=0xCA11, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x4A5, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1F)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x4BA) - + Op.JUMPDEST - + Op.CALL( - gas=0x1000, - address=0xCA1100CA11, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x4CC, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x20)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x4E0) - + Op.JUMPDEST - + Op.CALLCODE( - gas=0x1000, - address=0xCA110100, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI(pc=0x4F2, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x21)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x504) - + Op.JUMPDEST - + Op.DELEGATECALL( - gas=0x1000, - address=0xCA110100, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.SSTORE( - key=0x2, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), - 0x22A, - ), - ) - + Op.SSTORE(key=0x100, value=0x0) - + Op.STOP - ), - storage={0x100: 0x60A7}, + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.POP(Op.BALANCE(address=0xCA1100CA11)) + + Op.POP(Op.BALANCE(address=0xCA110100)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.JUMPI( + pc=Op.PUSH2[0x31], condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0x36]) + + Op.JUMPDEST + + Op.SLOAD(key=0x100) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0x49], condition=Op.EQ(Op.MLOAD(offset=0x40), 0x2) + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x50]) + + Op.JUMPDEST + + Op.SSTORE(key=0x100, value=0x5) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x61], condition=Op.EQ(Op.MLOAD(offset=0x40), 0xB) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0x66]) + + Op.JUMPDEST + + Op.BALANCE(address=0xCA11) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0x78], condition=Op.EQ(Op.MLOAD(offset=0x40), 0xC) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0x7D]) + + Op.JUMPDEST + + Op.EXTCODESIZE(address=0xCA11) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0x90], condition=Op.EQ(Op.MLOAD(offset=0x40), 0xD) + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x9B]) + + Op.JUMPDEST + + Op.EXTCODECOPY(address=0xCA11, dest_offset=0x0, offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xAC], condition=Op.EQ(Op.MLOAD(offset=0x40), 0xE) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0xB1]) + + Op.JUMPDEST + + Op.EXTCODEHASH(address=0xCA11) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0xC3], condition=Op.EQ(Op.MLOAD(offset=0x40), 0x15) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0xD5]) + + Op.JUMPDEST + + Op.CALL( + gas=0x1000, + address=0xCA11, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0xE7], condition=Op.EQ(Op.MLOAD(offset=0x40), 0x16) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0xF9]) + + Op.JUMPDEST + + Op.CALLCODE( + gas=0x1000, + address=0xCA11, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x10B, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x17)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x11B) + + Op.JUMPDEST + + Op.DELEGATECALL( + gas=0x1000, + address=0xCA11, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x12D, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x18)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x13D) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x1000, + address=0xCA11, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x14F, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1F)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x164) + + Op.JUMPDEST + + Op.CALL( + gas=0x1000, + address=0xCA1100CA11, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x176, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x20)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x18A) + + Op.JUMPDEST + + Op.CALLCODE( + gas=0x1000, + address=0xCA110100, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x19C, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x21)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x1AE) + + Op.JUMPDEST + + Op.DELEGATECALL( + gas=0x1000, + address=0xCA110100, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), 0x22A + ), + ) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.JUMPI(pc=0x1DC, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x1E1) + + Op.JUMPDEST + + Op.SLOAD(key=0x100) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x1F4, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x2)) + + Op.POP(0x0) + + Op.JUMP(pc=0x1FB) + + Op.JUMPDEST + + Op.SSTORE(key=0x100, value=0x5) + + Op.JUMPDEST + + Op.JUMPI(pc=0x20C, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xB)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x211) + + Op.JUMPDEST + + Op.BALANCE(address=0xCA11) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x223, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xC)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x228) + + Op.JUMPDEST + + Op.EXTCODESIZE(address=0xCA11) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x23B, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xD)) + + Op.POP(0x0) + + Op.JUMP(pc=0x246) + + Op.JUMPDEST + + Op.EXTCODECOPY(address=0xCA11, dest_offset=0x0, offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.JUMPI(pc=0x257, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xE)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x25C) + + Op.JUMPDEST + + Op.EXTCODEHASH(address=0xCA11) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x26E, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x15)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x280) + + Op.JUMPDEST + + Op.CALL( + gas=0x1000, + address=0xCA11, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x292, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x16)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x2A4) + + Op.JUMPDEST + + Op.CALLCODE( + gas=0x1000, + address=0xCA11, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x2B6, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x17)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x2C6) + + Op.JUMPDEST + + Op.DELEGATECALL( + gas=0x1000, + address=0xCA11, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x2D8, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x18)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x2E8) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x1000, + address=0xCA11, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x2FA, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1F)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x30F) + + Op.JUMPDEST + + Op.CALL( + gas=0x1000, + address=0xCA1100CA11, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x321, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x20)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x335) + + Op.JUMPDEST + + Op.CALLCODE( + gas=0x1000, + address=0xCA110100, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x347, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x21)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x359) + + Op.JUMPDEST + + Op.DELEGATECALL( + gas=0x1000, + address=0xCA110100, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), 0x22A + ), + ) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.JUMPI(pc=0x387, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x38C) + + Op.JUMPDEST + + Op.SLOAD(key=0x100) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x39F, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x2)) + + Op.POP(0x0) + + Op.JUMP(pc=0x3A6) + + Op.JUMPDEST + + Op.SSTORE(key=0x100, value=0x5) + + Op.JUMPDEST + + Op.JUMPI(pc=0x3B7, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xB)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x3BC) + + Op.JUMPDEST + + Op.BALANCE(address=0xCA11) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x3CE, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xC)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x3D3) + + Op.JUMPDEST + + Op.EXTCODESIZE(address=0xCA11) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x3E6, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xD)) + + Op.POP(0x0) + + Op.JUMP(pc=0x3F1) + + Op.JUMPDEST + + Op.EXTCODECOPY(address=0xCA11, dest_offset=0x0, offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.JUMPI(pc=0x402, condition=Op.EQ(Op.MLOAD(offset=0x40), 0xE)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x407) + + Op.JUMPDEST + + Op.EXTCODEHASH(address=0xCA11) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x419, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x15)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x42B) + + Op.JUMPDEST + + Op.CALL( + gas=0x1000, + address=0xCA11, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x43D, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x16)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x44F) + + Op.JUMPDEST + + Op.CALLCODE( + gas=0x1000, + address=0xCA11, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x461, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x17)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x471) + + Op.JUMPDEST + + Op.DELEGATECALL( + gas=0x1000, + address=0xCA11, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x483, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x18)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x493) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x1000, + address=0xCA11, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x4A5, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x1F)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x4BA) + + Op.JUMPDEST + + Op.CALL( + gas=0x1000, + address=0xCA1100CA11, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x4CC, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x20)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x4E0) + + Op.JUMPDEST + + Op.CALLCODE( + gas=0x1000, + address=0xCA110100, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI(pc=0x4F2, condition=Op.EQ(Op.MLOAD(offset=0x40), 0x21)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x504) + + Op.JUMPDEST + + Op.DELEGATECALL( + gas=0x1000, + address=0xCA110100, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.SSTORE( + key=0x2, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), 0x22A + ), + ) + + Op.SSTORE(key=0x100, value=0x0) + + Op.STOP, + storage={256: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2090, 1: 90, 2: 90})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 4991, 1: 91, 2: 91})}, + }, + { + "indexes": {"data": [14], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2090, 1: 2891, 2: 90})}, + }, + { + "indexes": { + "data": [3, 4, 6, 19, 20, 21, 22, 23, 24], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2590, 1: 90, 2: 90})}, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2597, 1: 97, 2: 97})}, + }, + { + "indexes": {"data": [8, 25, 26, 7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2608, 1: 108, 2: 108})}, + }, + { + "indexes": {"data": [9, 10, 27, 28], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2605, 1: 105, 2: 105})}, + }, + { + "indexes": { + "data": [32, 33, 34, 29, 30, 31], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2590, 1: 108, 2: 108})}, + }, + { + "indexes": {"data": [11], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2711, 1: 211, 2: 211})}, + }, + { + "indexes": {"data": [35], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2590, 1: 90, 2: 211})}, + }, + { + "indexes": {"data": [36], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2590, 1: 211, 2: 90})}, + }, + { + "indexes": {"data": [37], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2711, 1: 90, 2: 90})}, + }, + { + "indexes": {"data": [12], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2211, 1: 211, 2: 211})}, + }, + { + "indexes": {"data": [13], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2208, 1: 208, 2: 208})}, + }, + { + "indexes": {"data": [15], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2090, 1: 211, 2: 208})}, + }, + { + "indexes": {"data": [16], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account(storage={0: 2090, 1: 2891, 2: 208}) + }, + }, + { + "indexes": {"data": [17], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2211, 1: 90, 2: 208})}, + }, + { + "indexes": {"data": [18], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2208, 1: 90, 2: 2891})}, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("048071d3") + Hash(0x0) + Hash(0x0) + Hash(0x0), + Bytes("048071d3") + Hash(0x1) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x2) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0xB) + Hash(0xB) + Hash(0xB), + Bytes("048071d3") + Hash(0xC) + Hash(0xC) + Hash(0xC), + Bytes("048071d3") + Hash(0xD) + Hash(0xD) + Hash(0xD), + Bytes("048071d3") + Hash(0xE) + Hash(0xE) + Hash(0xE), + Bytes("048071d3") + Hash(0x15) + Hash(0x15) + Hash(0x15), + Bytes("048071d3") + Hash(0x16) + Hash(0x16) + Hash(0x16), + Bytes("048071d3") + Hash(0x17) + Hash(0x17) + Hash(0x17), + Bytes("048071d3") + Hash(0x18) + Hash(0x18) + Hash(0x18), + Bytes("048071d3") + Hash(0x1F) + Hash(0x1F) + Hash(0x1F), + Bytes("048071d3") + Hash(0x20) + Hash(0x20) + Hash(0x20), + Bytes("048071d3") + Hash(0x21) + Hash(0x21) + Hash(0x21), + Bytes("048071d3") + Hash(0x1) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x1) + Hash(0x20) + Hash(0x21), + Bytes("048071d3") + Hash(0x1) + Hash(0x2) + Hash(0x21), + Bytes("048071d3") + Hash(0x20) + Hash(0x1) + Hash(0x21), + Bytes("048071d3") + Hash(0x21) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0xB) + Hash(0xC) + Hash(0xE), + Bytes("048071d3") + Hash(0xB) + Hash(0xE) + Hash(0xC), + Bytes("048071d3") + Hash(0xC) + Hash(0xB) + Hash(0xE), + Bytes("048071d3") + Hash(0xC) + Hash(0xE) + Hash(0xB), + Bytes("048071d3") + Hash(0xE) + Hash(0xC) + Hash(0xB), + Bytes("048071d3") + Hash(0xE) + Hash(0xB) + Hash(0xC), + Bytes("048071d3") + Hash(0x15) + Hash(0x16) + Hash(0x15), + Bytes("048071d3") + Hash(0x16) + Hash(0x16) + Hash(0x15), + Bytes("048071d3") + Hash(0x17) + Hash(0x18) + Hash(0x17), + Bytes("048071d3") + Hash(0x17) + Hash(0x18) + Hash(0x18), + Bytes("048071d3") + Hash(0xB) + Hash(0x15) + Hash(0x16), + Bytes("048071d3") + Hash(0xC) + Hash(0x15) + Hash(0x16), + Bytes("048071d3") + Hash(0xE) + Hash(0x15) + Hash(0x16), + Bytes("048071d3") + Hash(0xB) + Hash(0x16) + Hash(0x15), + Bytes("048071d3") + Hash(0xC) + Hash(0x16) + Hash(0x15), + Bytes("048071d3") + Hash(0xE) + Hash(0x16) + Hash(0x15), + Bytes("048071d3") + Hash(0xB) + Hash(0xC) + Hash(0x1F), + Bytes("048071d3") + Hash(0xB) + Hash(0x1F) + Hash(0xE), + Bytes("048071d3") + Hash(0x1F) + Hash(0xE) + Hash(0xB), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929_minus_ff.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929_minus_ff.py index 4c85e6b7f1a..8d977b8653d 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929_minus_ff.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929_minus_ff.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/eip2929-ffFiller.yml +state_tests/stEIP150singleCodeGasPrices/eip2929-ffFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,108 +28,82 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/eip2929-ffFiller.yml", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/eip2929-ffFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 5126, 1: 105} - ) - }, + pytest.param( + 0, + 0, + 0, + id="simple", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f1", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 5126, 1: 105} - ) - }, + pytest.param( + 1, + 0, + 0, + id="balance", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f2", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 5126, 1: 105} - ) - }, + pytest.param( + 2, + 0, + 0, + id="extcodesize", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f4", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 5126, 1: 105} - ) - }, + pytest.param( + 3, + 0, + 0, + id="extcodecopy", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 5126, 1: 105} - ) - }, + pytest.param( + 4, + 0, + 0, + id="extcodehash", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 5126, 1: 105} - ) - }, + pytest.param( + 5, + 0, + 0, + id="call", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 5126, 1: 105} - ) - }, + pytest.param( + 6, + 0, + 0, + id="callcode", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 7726, 1: 105} - ) - }, + pytest.param( + 7, + 0, + 0, + id="delegatecall", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000fa", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 5126, 1: 105} - ) - }, + pytest.param( + 8, + 0, + 0, + id="staticcall", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - ], ) @pytest.mark.pre_alloc_mutable def test_eip2929_minus_ff( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000DE57) + contract_1 = Address(0x000000000000000000000000000000000000CA11) + contract_2 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -137,24 +117,24 @@ def test_eip2929_minus_ff( gas_limit=100000000, ) - # Source: LLL + # Source: raw + # 0x00 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.STOP, + nonce=0, + address=Address(0x000000000000000000000000000000000000DE57), # noqa: E501 + ) + # Source: lll # { # (selfdestruct 0xDE57) # } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0xDE57) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x000000000000000000000000000000000000ca11"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=bytes.fromhex("00"), - nonce=0, - address=Address("0x000000000000000000000000000000000000de57"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000CA11), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL + # Source: lll # { # (def 'operation $4) # @@ -186,169 +166,194 @@ def test_eip2929_minus_ff( # (if (= operation 0xFA) (staticcall 0x10000 dest 0 0 0 0) NOP) # # ... (18 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x100, value=0xFF) - + Op.MSTORE(offset=0x120, value=0xFF) - + Op.POP(Op.BALANCE(address=0xCA11)) - + Op.JUMPI( - pc=Op.PUSH2[0x21], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x31), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0x26]) - + Op.JUMPDEST - + Op.BALANCE(address=0xDE57) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0x38], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3B), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0x3D]) - + Op.JUMPDEST - + Op.EXTCODESIZE(address=0xDE57) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0x50], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3C), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x5B]) - + Op.JUMPDEST - + Op.EXTCODECOPY( - address=0xDE57, dest_offset=0x0, offset=0x0, size=0x1 - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x6C], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3F), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0x71]) - + Op.JUMPDEST - + Op.EXTCODEHASH(address=0xDE57) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0x83], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF1), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0x96]) - + Op.JUMPDEST - + Op.CALL( - gas=0x10000, - address=0xDE57, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0xA8], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF2), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0xBB]) - + Op.JUMPDEST - + Op.CALLCODE( - gas=0x10000, - address=0xDE57, + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x100, value=0xFF) + + Op.MSTORE(offset=0x120, value=0xFF) + + Op.POP(Op.BALANCE(address=0xCA11)) + + Op.JUMPI( + pc=Op.PUSH2[0x21], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x31), + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0x26]) + + Op.JUMPDEST + + Op.BALANCE(address=0xDE57) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0x38], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3B), + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0x3D]) + + Op.JUMPDEST + + Op.EXTCODESIZE(address=0xDE57) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0x50], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3C), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x5B]) + + Op.JUMPDEST + + Op.EXTCODECOPY(address=0xDE57, dest_offset=0x0, offset=0x0, size=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x6C], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3F), + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0x71]) + + Op.JUMPDEST + + Op.EXTCODEHASH(address=0xDE57) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0x83], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF1), + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0x96]) + + Op.JUMPDEST + + Op.CALL( + gas=0x10000, + address=0xDE57, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0xA8], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF2), + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0xBB]) + + Op.JUMPDEST + + Op.CALLCODE( + gas=0x10000, + address=0xDE57, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0xCD], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF4), + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=Op.PUSH2[0xDE]) + + Op.JUMPDEST + + Op.DELEGATECALL( + gas=0x10000, + address=0xDE57, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0xF0], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFA), + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x101) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x10000, + address=0xDE57, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.MSTORE(offset=0x100, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x1000000, + address=0xCA11, value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0xCD], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF4), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=Op.PUSH2[0xDE]) - + Op.JUMPDEST - + Op.DELEGATECALL( - gas=0x10000, - address=0xDE57, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0xF0], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFA), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x101) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x10000, - address=0xDE57, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.MSTORE(offset=0x100, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x1000000, - address=0xCA11, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x120, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x100), Op.MLOAD(offset=0x120)), - 0x8, - ), - ) - + Op.MSTORE(offset=0x100, value=Op.GAS) - + Op.POP(Op.BALANCE(address=0xDE57)) - + Op.MSTORE(offset=0x120, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x100), Op.MLOAD(offset=0x120)), - 0x8, - ), - ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x120, value=Op.GAS) + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x100), Op.MLOAD(offset=0x120)), 0x8 + ), + ) + + Op.MSTORE(offset=0x100, value=Op.GAS) + + Op.POP(Op.BALANCE(address=0xDE57)) + + Op.MSTORE(offset=0x120, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x100), Op.MLOAD(offset=0x120)), 0x8 + ), + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 7726, 1: 105})}, + }, + { + "indexes": { + "data": [1, 2, 3, 4, 5, 6, 7, 8], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 5126, 1: 105})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x31), + Bytes("693c6139") + Hash(0x3B), + Bytes("693c6139") + Hash(0x3C), + Bytes("693c6139") + Hash(0x3F), + Bytes("693c6139") + Hash(0xF1), + Bytes("693c6139") + Hash(0xF2), + Bytes("693c6139") + Hash(0xF4), + Bytes("693c6139") + Hash(0xFA), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=contract_2, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929_oog.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929_oog.py index 1b0a4a8492c..7d8b9723062 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929_oog.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_eip2929_oog.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/eip2929OOGFiller.yml +state_tests/stEIP150singleCodeGasPrices/eip2929OOGFiller.yml """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,77 +25,97 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/eip2929OOGFiller.yml", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/eip2929OOGFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010fa00000000000000000000000000000000000000000000000000000000000006d6", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="failEIP2929", ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000105500000000000000000000000000000000000000000000000000000000000055f0", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="failEIP2929", ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000103100000000000000000000000000000000000000000000000000000000000007d0", # noqa: E501 - {}, + pytest.param( + 2, + 0, + 0, + id="failEIP2929", ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000103b00000000000000000000000000000000000000000000000000000000000009c4", # noqa: E501 - {}, + pytest.param( + 3, + 0, + 0, + id="failEIP2929", ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000103c00000000000000000000000000000000000000000000000000000000000009c4", # noqa: E501 - {}, + pytest.param( + 4, + 0, + 0, + id="failEIP2929", ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000103f00000000000000000000000000000000000000000000000000000000000009c4", # noqa: E501 - {}, + pytest.param( + 5, + 0, + 0, + id="failEIP2929", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010f100000000000000000000000000000000000000000000000000000000000006d6", # noqa: E501 - {}, + pytest.param( + 6, + 0, + 0, + id="failEIP2929", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010f200000000000000000000000000000000000000000000000000000000000006d6", # noqa: E501 - {}, + pytest.param( + 7, + 0, + 0, + id="failEIP2929", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010f400000000000000000000000000000000000000000000000000000000000006d6", # noqa: E501 - {}, + pytest.param( + 8, + 0, + 0, + id="failEIP2929", ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000105400000000000000000000000000000000000000000000000000000000000007d0", # noqa: E501 - {}, + pytest.param( + 9, + 0, + 0, + id="failEIP2929", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - ], ) @pytest.mark.pre_alloc_mutable def test_eip2929_oog( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001054) + contract_1 = Address(0x0000000000000000000000000000000000001055) + contract_2 = Address(0x0000000000000000000000000000000000001031) + contract_3 = Address(0x000000000000000000000000000000000000103B) + contract_4 = Address(0x000000000000000000000000000000000000103C) + contract_5 = Address(0x000000000000000000000000000000000000103F) + contract_6 = Address(0x00000000000000000000000000000000000010F1) + contract_7 = Address(0x00000000000000000000000000000000000010F2) + contract_8 = Address(0x00000000000000000000000000000000000010F4) + contract_9 = Address(0x00000000000000000000000000000000000010FA) + contract_10 = Address(0x000000000000000000000000000000000000ACC7) + contract_11 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -106,183 +129,205 @@ def test_eip2929_oog( gas_limit=100000000, ) - pre.deploy_contract( + # Source: lll + # { + # @@0 + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SLOAD(key=0x0) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0x0000000000000000000000000000000000001054), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0x60A7 + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x60A7) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0x0000000000000000000000000000000000001055), # noqa: E501 + ) + # Source: lll + # { + # (balance 0xACC7) + # } + contract_2 = pre.deploy_contract( # noqa: F841 code=Op.BALANCE(address=0xACC7) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000001031"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000001031), # noqa: E501 ) - # Source: LLL + # Source: lll # { # (extcodesize 0x1031) # } - pre.deploy_contract( + contract_3 = pre.deploy_contract( # noqa: F841 code=Op.EXTCODESIZE(address=0x1031) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x000000000000000000000000000000000000103b"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000103B), # noqa: E501 ) - # Source: LLL + # Source: lll # { # (extcodecopy 0x1031 0 0 0x20) # } - pre.deploy_contract( - code=( - Op.EXTCODECOPY( - address=0x1031, - dest_offset=0x0, - offset=0x0, - size=0x20, - ) - + Op.STOP - ), + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.EXTCODECOPY( + address=0x1031, dest_offset=0x0, offset=0x0, size=0x20 + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x000000000000000000000000000000000000103c"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000103C), # noqa: E501 ) - # Source: LLL + # Source: lll # { # (extcodehash 0x1031) # } - pre.deploy_contract( + contract_5 = pre.deploy_contract( # noqa: F841 code=Op.EXTCODEHASH(address=0x1031) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x000000000000000000000000000000000000103f"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SLOAD(key=0x0) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000001054"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=0x60A7) + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000001055"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000103F), # noqa: E501 ) - # Source: LLL + # Source: lll # { # (call 0x06A5 0xACC7 0 0 0 0 0) # } - pre.deploy_contract( - code=( - Op.CALL( - gas=0x6A5, - address=0xACC7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x6A5, + address=0xACC7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000010f1"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000010F1), # noqa: E501 ) - # Source: LLL + # Source: lll # { # (callcode 0x06A5 0xACC7 0 0 0 0 0) # } - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x6A5, - address=0xACC7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x6A5, + address=0xACC7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000010f2"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000010F2), # noqa: E501 ) - # Source: LLL + # Source: lll # { # (delegatecall 0x06A5 0xACC7 0 0 0 0) # } - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x6A5, - address=0xACC7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x6A5, + address=0xACC7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000010f4"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000010F4), # noqa: E501 ) - # Source: LLL + # Source: lll # { # (staticcall 0x06A5 0xACC7 0 0 0 0) # } - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x6A5, - address=0xACC7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x6A5, + address=0xACC7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000010fa"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000010FA), # noqa: E501 ) - # Source: LLL + # Source: lll # { # (return 0 0) # } - pre.deploy_contract( + contract_10 = pre.deploy_contract( # noqa: F841 code=Op.RETURN(offset=0x0, size=0x0) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x000000000000000000000000000000000000acc7"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000ACC7), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: LLL + # Source: lll # { # (def 'addr $4) ; the address to call # (def 'callGas $36) ; the amount of gas to give it # # [[0]] (call callGas addr 0 0 0 0 0) # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x24), - address=Op.CALLDATALOAD(offset=0x4), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - storage={0x0: 0x60A7}, + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x24), + address=Op.CALLDATALOAD(offset=0x4), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("1a8451e6") + Hash(contract_0, left_padding=True) + Hash(0x7D0), + Bytes("1a8451e6") + Hash(contract_1, left_padding=True) + Hash(0x55F0), + Bytes("1a8451e6") + Hash(contract_2, left_padding=True) + Hash(0x7D0), + Bytes("1a8451e6") + Hash(contract_3, left_padding=True) + Hash(0x9C4), + Bytes("1a8451e6") + Hash(contract_4, left_padding=True) + Hash(0x9C4), + Bytes("1a8451e6") + Hash(contract_5, left_padding=True) + Hash(0x9C4), + Bytes("1a8451e6") + Hash(contract_6, left_padding=True) + Hash(0x6D6), + Bytes("1a8451e6") + Hash(contract_7, left_padding=True) + Hash(0x6D6), + Bytes("1a8451e6") + Hash(contract_8, left_padding=True) + Hash(0x6D6), + Bytes("1a8451e6") + Hash(contract_9, left_padding=True) + Hash(0x6D6), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, + to=contract_11, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], nonce=1, - value=1, ) - post = expected_post + post = {contract_11: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost.py index 71513322de4..31b6e7693b0 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostFiller.yml +state_tests/stEIP150singleCodeGasPrices/gasCostFiller.yml """ import pytest @@ -11,1343 +11,710 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, + Storage, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" +def _storage_with_any(base: dict, any_keys: list) -> Storage: + """Create Storage with set_expect_any for specified keys.""" + s = Storage(base) + for k in any_keys: + s.set_expect_any(k) + return s + + @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostFiller.yml"], + ["state_tests/stEIP150singleCodeGasPrices/gasCostFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8 # noqa: E501 - } - ) - }, - ), - ( - "960003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "970003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "980003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "990003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "9a0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "9b0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "9c0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "9d0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "9e0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "9f0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "0b0005", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 5, - } - ) - }, - ), - ( - "100003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "110003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "120003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "130003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "140003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "150003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "160003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "170003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "180003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "010003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "190003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "1a0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "300002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "3102bc", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={0: 1300, 1: 700} - ) - }, - ), - ( - "320002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "330002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "340002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "350003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "360002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "380002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "020005", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 5, - } - ) - }, - ), - ( - "3a0002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "3b02bc", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={0: 1300, 1: 700} - ) - }, - ), - ( - "400014", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 20, - } - ) - }, - ), - ( - "410002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "420002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "430002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "440002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "450002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "500002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "540320", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={0: 700, 1: 800} - ) - }, - ), - ( - "030003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "554e20", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={0: 1500, 1: 20000} - ), - Address("0xdc2d1a1ce0200314bdb0f043a127691734cfd302"): Account( - storage={55930: 55930} - ), - }, - ), - ( - "580002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "590002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "5a0002", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 2, - } - ) - }, - ), - ( - "5b0001", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 1, - } - ) - }, - ), - ( - "ff1388", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={0: 2000, 1: 5000} - ) - }, - ), - ( - "600003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "610003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "620003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "630003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "040005", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 5, - } - ) - }, - ), - ( - "640003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "650003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "660003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "670003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "680003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "690003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "6a0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "6b0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "6c0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "6d0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "050005", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 5, - } - ) - }, - ), - ( - "6e0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "6f0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "700003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "710003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "720003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "730003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "740003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "750003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "760003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "770003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "060005", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 5, - } - ) - }, - ), - ( - "780003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "790003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "7a0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "7b0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "7c0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "7d0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "7e0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "7f0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "800003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "810003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "070005", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 5, - } - ) - }, - ), - ( - "820003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "830003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "840003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "850003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "860003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", ), - ( - "870003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "880003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "890003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "8a0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "8b0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "080008", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 8, - } - ) - }, - ), - ( - "8c0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "8d0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "8e0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "8f0003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "900003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "910003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "920003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "930003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "940003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "950003", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 3, - } - ) - }, - ), - ( - "090008", - { - Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"): Account( - storage={ - 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 - 1: 8, - } - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", ], ) @pytest.mark.pre_alloc_mutable def test_gas_cost( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E ) @@ -1361,123 +728,501 @@ def test_gas_cost( gas_limit=100000000, ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x200, - value=Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xF8)), - ) - + Op.MSTORE( - offset=0x340, - value=Op.AND( - Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xE8)), - 0xFFFF, - ), - ) - + Op.MSTORE(offset=0x260, value=0x11) - + Op.JUMPDEST - + Op.JUMPI(pc=0x76, condition=Op.ISZERO(Op.MLOAD(offset=0x260))) - + Op.MSTORE( - offset=0x260, value=Op.SUB(Op.MLOAD(offset=0x260), 0x1) - ) - + Op.MSTORE8( - offset=Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), - value=0x61, - ) - + Op.MSTORE8( - offset=Op.ADD( - Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), - 0x1, - ), - value=0xDA, - ) - + Op.MSTORE8( - offset=Op.ADD( - Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), - 0x2, - ), - value=0x7A, - ) - + Op.MSTORE( - offset=0x220, value=Op.ADD(Op.MLOAD(offset=0x220), 0x3) - ) - + Op.JUMP(pc=0x24) - + Op.JUMPDEST - + Op.MSTORE8( - offset=Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), - value=Op.MLOAD(offset=0x200), - ) - + Op.MSTORE8( - offset=Op.ADD( - Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), - 0x1, - ), + # Source: lll + # { ; LLL doesn't let us call arbitrary code, so we craft + # ; a new contract with the opcode and then call it to see + # ; how much the contract cost + # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + # ; Initialization + # + # ; Variables (0x20 byte wide) + # (def 'opcode 0x200) + # (def 'contractLength 0x220) + # (def 'constructorLength 0x240) + # (def 'i 0x260) + # (def 'addr 0x280) + # (def 'gasB4 0x300) + # (def 'gasAfter 0x320) + # (def 'expectedCost 0x340) + # + # ; Maximum length of contract + # (def 'maxLength 0x100) + # + # ; Code in memory + # (def 'constructorCode 0x000) + # (def 'contractCode (+ constructorCode maxLength)) + # ; contractCode has to be immediately after constructoCode + # ; for us to send it as part of the constructor code + # + # ; Cost of everything around the opcode + # (def 'sysCost 0x311) + # + # + # ; Understand the input + # ... (55 more lines) + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x200, + value=Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xF8)), + ) + + Op.MSTORE( + offset=0x340, + value=Op.AND( + Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xE8)), 0xFFFF + ), + ) + + Op.MSTORE(offset=0x260, value=0x11) + + Op.JUMPDEST + + Op.JUMPI(pc=0x76, condition=Op.ISZERO(Op.MLOAD(offset=0x260))) + + Op.MSTORE(offset=0x260, value=Op.SUB(Op.MLOAD(offset=0x260), 0x1)) + + Op.MSTORE8( + offset=Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), + value=0x61, + ) + + Op.MSTORE8( + offset=Op.ADD( + Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), 0x1 + ), + value=0xDA, + ) + + Op.MSTORE8( + offset=Op.ADD( + Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), 0x2 + ), + value=0x7A, + ) + + Op.MSTORE(offset=0x220, value=Op.ADD(Op.MLOAD(offset=0x220), 0x3)) + + Op.JUMP(pc=0x24) + + Op.JUMPDEST + + Op.MSTORE8( + offset=Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), + value=Op.MLOAD(offset=0x200), + ) + + Op.MSTORE8( + offset=Op.ADD( + Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), 0x1 + ), + value=0x0, + ) + + Op.MSTORE(offset=0x220, value=Op.ADD(Op.MLOAD(offset=0x220), 0x2)) + + Op.PUSH1[0x1B] + + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0xFB], size=Op.DUP1) + + Op.PUSH2[0x240] + + Op.MSTORE + + Op.MSTORE( + offset=0x280, + value=Op.CREATE(value=0x0, offset=0x0, size=Op.MUL(0x100, 0x2)), + ) + + Op.MSTORE(offset=0x300, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=Op.MLOAD(offset=0x280), value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE( - offset=0x220, value=Op.ADD(Op.MLOAD(offset=0x220), 0x2) - ) - + Op.PUSH1[0x1B] - + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0xFB], size=Op.DUP1) - + Op.PUSH2[0x240] - + Op.MSTORE - + Op.MSTORE( - offset=0x280, - value=Op.CREATE( - value=0x0, offset=0x0, size=Op.MUL(0x100, 0x2) + ) + + Op.MSTORE(offset=0x320, value=Op.GAS) + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB( + Op.SUB(Op.MLOAD(offset=0x300), Op.MLOAD(offset=0x320)), + 0x311, ), - ) - + Op.MSTORE(offset=0x300, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=Op.MLOAD(offset=0x280), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x320, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB( - Op.SUB(Op.MLOAD(offset=0x300), Op.MLOAD(offset=0x320)), - 0x311, - ), - Op.MLOAD(offset=0x340), - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x340)) - + Op.STOP - + Op.INVALID - + Op.CODECOPY( - dest_offset=Op.ADD(0x0, 0x100), - offset=Op.ADD(0x0, 0x100), - size=0x100, - ) - + Op.RETURN(offset=Op.ADD(0x0, 0x100), size=0x100) - + Op.STOP - ), - storage={0x0: 0x60A7}, + Op.MLOAD(offset=0x340), + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x340)) + + Op.STOP + + Op.INVALID + + Op.CODECOPY( + dest_offset=Op.ADD(0x0, 0x100), + offset=Op.ADD(0x0, 0x100), + size=0x100, + ) + + Op.RETURN(offset=Op.ADD(0x0, 0x100), size=0x100) + + Op.STOP, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xccdcf3ff42c8382abeef05bb8949f975a6bc345c"), # noqa: E501 + address=Address(0xCCDCF3FF42C8382ABEEF05BB8949F975A6BC345C), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 41, + 42, + 43, + 44, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": { + addr: Account( + storage=_storage_with_any( + { + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA8, # noqa: E501 + }, + [1], + ), + ), + }, + }, + { + "indexes": {"data": [39], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage=_storage_with_any({0: 700}, [1])) + }, + }, + { + "indexes": {"data": [40], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage=_storage_with_any({0: 1500}, [1])) + }, + }, + { + "indexes": {"data": [45], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage=_storage_with_any({0: 2000}, [1])) + }, + }, + { + "indexes": {"data": [31, 23], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage=_storage_with_any({0: 1300}, [1])) + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("000000"), + Bytes("010003"), + Bytes("020005"), + Bytes("030003"), + Bytes("040005"), + Bytes("050005"), + Bytes("060005"), + Bytes("070005"), + Bytes("080008"), + Bytes("090008"), + Bytes("0b0005"), + Bytes("100003"), + Bytes("110003"), + Bytes("120003"), + Bytes("130003"), + Bytes("140003"), + Bytes("150003"), + Bytes("160003"), + Bytes("170003"), + Bytes("180003"), + Bytes("190003"), + Bytes("1a0003"), + Bytes("300002"), + Bytes("3102bc"), + Bytes("320002"), + Bytes("330002"), + Bytes("340002"), + Bytes("350003"), + Bytes("360002"), + Bytes("380002"), + Bytes("3a0002"), + Bytes("3b02bc"), + Bytes("400014"), + Bytes("410002"), + Bytes("420002"), + Bytes("430002"), + Bytes("440002"), + Bytes("450002"), + Bytes("500002"), + Bytes("540320"), + Bytes("554e20"), + Bytes("580002"), + Bytes("590002"), + Bytes("5a0002"), + Bytes("5b0001"), + Bytes("ff1388"), + Bytes("600003"), + Bytes("610003"), + Bytes("620003"), + Bytes("630003"), + Bytes("640003"), + Bytes("650003"), + Bytes("660003"), + Bytes("670003"), + Bytes("680003"), + Bytes("690003"), + Bytes("6a0003"), + Bytes("6b0003"), + Bytes("6c0003"), + Bytes("6d0003"), + Bytes("6e0003"), + Bytes("6f0003"), + Bytes("700003"), + Bytes("710003"), + Bytes("720003"), + Bytes("730003"), + Bytes("740003"), + Bytes("750003"), + Bytes("760003"), + Bytes("770003"), + Bytes("780003"), + Bytes("790003"), + Bytes("7a0003"), + Bytes("7b0003"), + Bytes("7c0003"), + Bytes("7d0003"), + Bytes("7e0003"), + Bytes("7f0003"), + Bytes("800003"), + Bytes("810003"), + Bytes("820003"), + Bytes("830003"), + Bytes("840003"), + Bytes("850003"), + Bytes("860003"), + Bytes("870003"), + Bytes("880003"), + Bytes("890003"), + Bytes("8a0003"), + Bytes("8b0003"), + Bytes("8c0003"), + Bytes("8d0003"), + Bytes("8e0003"), + Bytes("8f0003"), + Bytes("900003"), + Bytes("910003"), + Bytes("920003"), + Bytes("930003"), + Bytes("940003"), + Bytes("950003"), + Bytes("960003"), + Bytes("970003"), + Bytes("980003"), + Bytes("990003"), + Bytes("9a0003"), + Bytes("9b0003"), + Bytes("9c0003"), + Bytes("9d0003"), + Bytes("9e0003"), + Bytes("9f0003"), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=addr, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_berlin.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_berlin.py index 57cb45a9b80..a11595f8ea4 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_berlin.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_berlin.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostBerlinFiller.yml +state_tests/stEIP150singleCodeGasPrices/gasCostBerlinFiller.yml """ import pytest @@ -11,1024 +11,707 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, + Storage, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" +def _storage_with_any(base: dict, any_keys: list) -> Storage: + """Create Storage with set_expect_any for specified keys.""" + s = Storage(base) + for k in any_keys: + s.set_expect_any(k) + return s + + @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostBerlinFiller.yml", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/gasCostBerlinFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ("000000", {}), - ( - "960003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "970003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "980003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "990003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "9a0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "9b0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "9c0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "9d0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "9e0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "9f0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "0b0005", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 5} - ) - }, - ), - ( - "100003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "110003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "120003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "130003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "140003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "150003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "160003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "170003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "180003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "010003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "190003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "1a0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "300002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "310a28", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2600} - ) - }, - ), - ( - "320002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "330002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "340002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "350003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "360002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "380002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "020005", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 5} - ) - }, - ), - ( - "3a0002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "3b0a28", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2600} - ) - }, - ), - ( - "400014", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 20} - ) - }, - ), - ( - "410002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "420002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "430002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "440002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "450002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "500002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "540834", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2100} - ) - }, - ), - ( - "030003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "555654", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 22100} - ), - Address("0xfaba096ee63239c821f1dfdd7fa180664a9cb7a2"): Account( - storage={55930: 55930} - ), - }, - ), - ( - "580002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "590002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "5a0002", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 2} - ) - }, - ), - ( - "5b0001", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 1} - ) - }, - ), - ( - "ff1db0", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 7600} - ) - }, - ), - ( - "600003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "610003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "620003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "630003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "040005", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 5} - ) - }, - ), - ( - "640003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "650003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "660003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "670003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "680003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "690003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "6a0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "6b0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "6c0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "6d0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "050005", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 5} - ) - }, - ), - ( - "6e0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "6f0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "700003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "710003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "720003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "730003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "740003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "750003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "760003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "770003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "060005", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 5} - ) - }, - ), - ( - "780003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "790003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "7a0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "7b0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "7c0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "7d0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "7e0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "7f0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "800003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "810003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "070005", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 5} - ) - }, - ), - ( - "820003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "830003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "840003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "850003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "860003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "870003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "880003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "890003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "8a0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "8b0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "080008", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 8} - ) - }, - ), - ( - "8c0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "8d0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "8e0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "8f0003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "900003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "910003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "920003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "930003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "940003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "950003", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 3} - ) - }, - ), - ( - "090008", - { - Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"): Account( - storage={1: 8} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - ], ) @pytest.mark.pre_alloc_mutable def test_gas_cost_berlin( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E ) @@ -1042,123 +725,254 @@ def test_gas_cost_berlin( gas_limit=100000000, ) - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x200, - value=Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xF8)), - ) - + Op.MSTORE( - offset=0x340, - value=Op.AND( - Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xE8)), - 0xFFFF, - ), - ) - + Op.MSTORE(offset=0x260, value=0x11) - + Op.JUMPDEST - + Op.JUMPI(pc=0x76, condition=Op.ISZERO(Op.MLOAD(offset=0x260))) - + Op.MSTORE( - offset=0x260, value=Op.SUB(Op.MLOAD(offset=0x260), 0x1) - ) - + Op.MSTORE8( - offset=Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), - value=0x61, - ) - + Op.MSTORE8( - offset=Op.ADD( - Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), - 0x1, - ), - value=0xDA, - ) - + Op.MSTORE8( - offset=Op.ADD( - Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), - 0x2, - ), - value=0x7A, - ) - + Op.MSTORE( - offset=0x220, value=Op.ADD(Op.MLOAD(offset=0x220), 0x3) - ) - + Op.JUMP(pc=0x24) - + Op.JUMPDEST - + Op.MSTORE8( - offset=Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), - value=Op.MLOAD(offset=0x200), - ) - + Op.MSTORE8( - offset=Op.ADD( - Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), - 0x1, - ), + # Source: lll + # { ; LLL doesn't let us call arbitrary code, so we craft + # ; a new contract with the opcode and then call it to see + # ; how much the contract cost + # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + # ; Initialization + # + # ; Variables (0x20 byte wide) + # (def 'opcode 0x200) + # (def 'contractLength 0x220) + # (def 'constructorLength 0x240) + # (def 'i 0x260) + # (def 'addr 0x280) + # (def 'gasB4 0x300) + # (def 'gasAfter 0x320) + # (def 'expectedCost 0x340) + # + # ; Maximum length of contract + # (def 'maxLength 0x100) + # + # ; Code in memory + # (def 'constructorCode 0x000) + # (def 'contractCode (+ constructorCode maxLength)) + # ; contractCode has to be immediately after constructoCode + # ; for us to send it as part of the constructor code + # + # ; Cost of everything around the opcode + # (def 'sysCost 0xb9) + # + # + # ; Understand the input + # ... (55 more lines) + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x200, + value=Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xF8)), + ) + + Op.MSTORE( + offset=0x340, + value=Op.AND( + Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xE8)), 0xFFFF + ), + ) + + Op.MSTORE(offset=0x260, value=0x11) + + Op.JUMPDEST + + Op.JUMPI(pc=0x76, condition=Op.ISZERO(Op.MLOAD(offset=0x260))) + + Op.MSTORE(offset=0x260, value=Op.SUB(Op.MLOAD(offset=0x260), 0x1)) + + Op.MSTORE8( + offset=Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), + value=0x61, + ) + + Op.MSTORE8( + offset=Op.ADD( + Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), 0x1 + ), + value=0xDA, + ) + + Op.MSTORE8( + offset=Op.ADD( + Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), 0x2 + ), + value=0x7A, + ) + + Op.MSTORE(offset=0x220, value=Op.ADD(Op.MLOAD(offset=0x220), 0x3)) + + Op.JUMP(pc=0x24) + + Op.JUMPDEST + + Op.MSTORE8( + offset=Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), + value=Op.MLOAD(offset=0x200), + ) + + Op.MSTORE8( + offset=Op.ADD( + Op.ADD(Op.ADD(0x0, 0x100), Op.MLOAD(offset=0x220)), 0x1 + ), + value=0x0, + ) + + Op.MSTORE(offset=0x220, value=Op.ADD(Op.MLOAD(offset=0x220), 0x2)) + + Op.PUSH1[0x1B] + + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0xFA], size=Op.DUP1) + + Op.PUSH2[0x240] + + Op.MSTORE + + Op.MSTORE( + offset=0x280, + value=Op.CREATE(value=0x0, offset=0x0, size=Op.MUL(0x100, 0x2)), + ) + + Op.MSTORE(offset=0x300, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=Op.MLOAD(offset=0x280), value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE( - offset=0x220, value=Op.ADD(Op.MLOAD(offset=0x220), 0x2) - ) - + Op.PUSH1[0x1B] - + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0xFA], size=Op.DUP1) - + Op.PUSH2[0x240] - + Op.MSTORE - + Op.MSTORE( - offset=0x280, - value=Op.CREATE( - value=0x0, offset=0x0, size=Op.MUL(0x100, 0x2) + ) + + Op.MSTORE(offset=0x320, value=Op.GAS) + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB( + Op.SUB(Op.MLOAD(offset=0x300), Op.MLOAD(offset=0x320)), + 0xB9, ), - ) - + Op.MSTORE(offset=0x300, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=Op.MLOAD(offset=0x280), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x320, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB( - Op.SUB(Op.MLOAD(offset=0x300), Op.MLOAD(offset=0x320)), - 0xB9, - ), - Op.MLOAD(offset=0x340), - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x340)) - + Op.STOP - + Op.INVALID - + Op.CODECOPY( - dest_offset=Op.ADD(0x0, 0x100), - offset=Op.ADD(0x0, 0x100), - size=0x100, - ) - + Op.RETURN(offset=Op.ADD(0x0, 0x100), size=0x100) - + Op.STOP - ), - storage={0x0: 0x60A7}, + Op.MLOAD(offset=0x340), + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x340)) + + Op.STOP + + Op.INVALID + + Op.CODECOPY( + dest_offset=Op.ADD(0x0, 0x100), + offset=Op.ADD(0x0, 0x100), + size=0x100, + ) + + Op.RETURN(offset=Op.ADD(0x0, 0x100), size=0x100) + + Op.STOP, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x2f170b2347023bb6bf3eec84b53259b96e0268c3"), # noqa: E501 + address=Address(0x2F170B2347023BB6BF3EEC84B53259B96E0268C3), # noqa: E501 ) pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("000000"), + Bytes("010003"), + Bytes("020005"), + Bytes("030003"), + Bytes("040005"), + Bytes("050005"), + Bytes("060005"), + Bytes("070005"), + Bytes("080008"), + Bytes("090008"), + Bytes("0b0005"), + Bytes("100003"), + Bytes("110003"), + Bytes("120003"), + Bytes("130003"), + Bytes("140003"), + Bytes("150003"), + Bytes("160003"), + Bytes("170003"), + Bytes("180003"), + Bytes("190003"), + Bytes("1a0003"), + Bytes("300002"), + Bytes("310a28"), + Bytes("320002"), + Bytes("330002"), + Bytes("340002"), + Bytes("350003"), + Bytes("360002"), + Bytes("380002"), + Bytes("3a0002"), + Bytes("3b0a28"), + Bytes("400014"), + Bytes("410002"), + Bytes("420002"), + Bytes("430002"), + Bytes("440002"), + Bytes("450002"), + Bytes("500002"), + Bytes("540834"), + Bytes("555654"), + Bytes("580002"), + Bytes("590002"), + Bytes("5a0002"), + Bytes("5b0001"), + Bytes("ff1db0"), + Bytes("600003"), + Bytes("610003"), + Bytes("620003"), + Bytes("630003"), + Bytes("640003"), + Bytes("650003"), + Bytes("660003"), + Bytes("670003"), + Bytes("680003"), + Bytes("690003"), + Bytes("6a0003"), + Bytes("6b0003"), + Bytes("6c0003"), + Bytes("6d0003"), + Bytes("6e0003"), + Bytes("6f0003"), + Bytes("700003"), + Bytes("710003"), + Bytes("720003"), + Bytes("730003"), + Bytes("740003"), + Bytes("750003"), + Bytes("760003"), + Bytes("770003"), + Bytes("780003"), + Bytes("790003"), + Bytes("7a0003"), + Bytes("7b0003"), + Bytes("7c0003"), + Bytes("7d0003"), + Bytes("7e0003"), + Bytes("7f0003"), + Bytes("800003"), + Bytes("810003"), + Bytes("820003"), + Bytes("830003"), + Bytes("840003"), + Bytes("850003"), + Bytes("860003"), + Bytes("870003"), + Bytes("880003"), + Bytes("890003"), + Bytes("8a0003"), + Bytes("8b0003"), + Bytes("8c0003"), + Bytes("8d0003"), + Bytes("8e0003"), + Bytes("8f0003"), + Bytes("900003"), + Bytes("910003"), + Bytes("920003"), + Bytes("930003"), + Bytes("940003"), + Bytes("950003"), + Bytes("960003"), + Bytes("970003"), + Bytes("980003"), + Bytes("990003"), + Bytes("9a0003"), + Bytes("9b0003"), + Bytes("9c0003"), + Bytes("9d0003"), + Bytes("9e0003"), + Bytes("9f0003"), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=addr, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {addr: Account(storage=_storage_with_any({0: 0}, [1]))} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_exp.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_exp.py index b185d38b406..ef775c738b1 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_exp.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_exp.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostExpFiller.yml +state_tests/stEIP150singleCodeGasPrices/gasCostExpFiller.yml """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,73 +25,79 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostExpFiller.yml", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/gasCostExpFiller.yml"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - {}, - ), - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000052", # noqa: E501 - {}, - ), - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000052", # noqa: E501 - {}, - ), - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000084", # noqa: E501 - {}, - ), - ( - "c5b5a1ae000000000000000000000000000000000000000000000000000000000000ffff0000000000000000000000000000000000000000000000000000000000000084", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", ), - ( - "c5b5a1ae000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000b6", # noqa: E501 - {}, - ), - ( - "c5b5a1ae0000000000000000000000000000000000000000000000000000000000ffffff00000000000000000000000000000000000000000000000000000000000000b6", # noqa: E501 - {}, - ), - ( - "c5b5a1ae000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000e8", # noqa: E501 - {}, - ), - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000000000e8", # noqa: E501 - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", ], ) @pytest.mark.pre_alloc_mutable def test_gas_cost_exp( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E ) @@ -102,7 +111,7 @@ def test_gas_cost_exp( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ; Initialization @@ -132,187 +141,49 @@ def test_gas_cost_exp( # # [[0]] (- @gasB4 @gasAfter @expectedCost) # } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x40, value=Op.GAS) - + Op.POP(Op.EXP(0x2, Op.MLOAD(offset=0x0))) - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x40), Op.MLOAD(offset=0x60)), - Op.MLOAD(offset=0x20), - ), - ) - + Op.STOP - ), - storage={0x0: 0x60A7}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x087aab8070088fbbe4f60141cf79032d28528b89"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostExpFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - {}, - ), - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000052", # noqa: E501 - {}, - ), - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000052", # noqa: E501 - {}, - ), - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000084", # noqa: E501 - {}, - ), - ( - "c5b5a1ae000000000000000000000000000000000000000000000000000000000000ffff0000000000000000000000000000000000000000000000000000000000000084", # noqa: E501 - {}, - ), - ( - "c5b5a1ae000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000b6", # noqa: E501 - {}, - ), - ( - "c5b5a1ae0000000000000000000000000000000000000000000000000000000000ffffff00000000000000000000000000000000000000000000000000000000000000b6", # noqa: E501 - {}, - ), - ( - "c5b5a1ae000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000e8", # noqa: E501 - {}, - ), - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000000000e8", # noqa: E501 - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - ], -) -@pytest.mark.pre_alloc_mutable -def test_gas_cost_exp_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - # Source: LLL - # { - # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - # ; Initialization - # - # ; Variables (0x20 byte wide) - # (def 'powerOf 0x000) ; A to the power of @powerOf - # (def 'expectedCost 0x020) ; Expected gas cost - # (def 'gasB4 0x040) ; Before the action being measured - # (def 'gasAfter 0x060) ; After the action being measured - # - # ; Understand CALLDATA. It is four bytes of function - # ; selector (irrelevant) followed by 32 byte words - # ; of the parameters - # [powerOf] $4 - # [expectedCost] $36 - # - # - # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - # ; Run the operation - # [gasB4] (gas) - # (exp 2 @powerOf) - # [gasAfter] (gas) - # - # - # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - # ; Return value - # - # [[0]] (- @gasB4 @gasAfter @expectedCost) - # } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x40, value=Op.GAS) - + Op.POP(Op.EXP(0x2, Op.MLOAD(offset=0x0))) - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x40), Op.MLOAD(offset=0x60)), - Op.MLOAD(offset=0x20), - ), - ) - + Op.STOP - ), - storage={0x0: 0x60A7}, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x40, value=Op.GAS) + + Op.POP(Op.EXP(0x2, Op.MLOAD(offset=0x0))) + + Op.MSTORE(offset=0x60, value=Op.GAS) + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x40), Op.MLOAD(offset=0x60)), + Op.MLOAD(offset=0x20), + ), + ) + + Op.STOP, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x087aab8070088fbbe4f60141cf79032d28528b89"), # noqa: E501 + address=Address(0x087AAB8070088FBBE4F60141CF79032D28528B89), # noqa: E501 ) pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("c5b5a1ae") + Hash(0x0) + Hash(0x20), + Bytes("c5b5a1ae") + Hash(0x1) + Hash(0x52), + Bytes("c5b5a1ae") + Hash(0xFF) + Hash(0x52), + Bytes("c5b5a1ae") + Hash(0x100) + Hash(0x84), + Bytes("c5b5a1ae") + Hash(0xFFFF) + Hash(0x84), + Bytes("c5b5a1ae") + Hash(0x10000) + Hash(0xB6), + Bytes("c5b5a1ae") + Hash(0xFFFFFF) + Hash(0xB6), + Bytes("c5b5a1ae") + Hash(0x1000000) + Hash(0xE8), + Bytes("c5b5a1ae") + Hash(0xFFFFFFFF) + Hash(0xE8), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_jump.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_jump.py index 0543932a404..48f7047d708 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_jump.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_jump.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostJumpFiller.yml +state_tests/stEIP150singleCodeGasPrices/gasCostJumpFiller.yml """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,38 +25,48 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostJumpFiller.yml", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/gasCostJumpFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "c5b5a1ae00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_gas_cost_jump( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000002000) + contract_2 = Address(0x0000000000000000000000000000000000003000) + contract_3 = Address(0x0000000000000000000000000000000000004000) + contract_4 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -67,37 +80,39 @@ def test_gas_cost_jump( gas_limit=100000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH1[0x0] + Op.PUSH1[0x0] + Op.JUMPDEST + Op.JUMPDEST + Op.STOP - ), + # Source: raw + # 0x600060005B5B00 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] * 2 + Op.JUMPDEST * 2 + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x60006005565B00 + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.PUSH1[0x0] + Op.JUMP(pc=0x5) + Op.JUMPDEST + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000002000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000002000), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x60016005575B00 + contract_2 = pre.deploy_contract( # noqa: F841 code=Op.JUMPI(pc=0x5, condition=0x1) + Op.JUMPDEST + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000003000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000003000), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x60006005575B00 + contract_3 = pre.deploy_contract( # noqa: F841 code=Op.JUMPI(pc=0x5, condition=0x0) + Op.JUMPDEST + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000004000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000004000), # noqa: E501 ) - # Source: LLL + # Source: lll # { # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ; Initialization @@ -129,115 +144,105 @@ def test_gas_cost_jump( # # ; Get the baseline cost # ... (51 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0x1000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE( - offset=0x20, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS) - ) - + Op.JUMPI( - pc=0x2E, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1) - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x4E) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0x2000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=0x1000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE( - offset=0x40, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS) + ) + + Op.MSTORE(offset=0x20, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.JUMPI(pc=0x2E, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1)) + + Op.POP(0x0) + + Op.JUMP(pc=0x4E) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=0x2000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x5E, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x2) + ) + + Op.MSTORE(offset=0x40, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x5E, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x2)) + + Op.POP(0x0) + + Op.JUMP(pc=0x7E) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=0x3000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP(0x0) - + Op.JUMP(pc=0x7E) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0x3000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x40, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8E, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3)) + + Op.POP(0x0) + + Op.JUMP(pc=0xAE) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=0x4000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE( - offset=0x40, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS) - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x8E, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3) - ) - + Op.POP(0x0) - + Op.JUMP(pc=0xAE) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0x4000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE( - offset=0x40, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS) - ) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x40), Op.MLOAD(offset=0x20)), - Op.CALLDATALOAD(offset=0x24), - ), - ) - + Op.STOP - ), - storage={0x0: 0x60A7}, + ) + + Op.MSTORE(offset=0x40, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.JUMPDEST + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x40), Op.MLOAD(offset=0x20)), + Op.CALLDATALOAD(offset=0x24), + ), + ) + + Op.STOP, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("c5b5a1ae") + Hash(0x1) + Hash(0x4), + Bytes("c5b5a1ae") + Hash(0x2) + Hash(0x6), + Bytes("c5b5a1ae") + Hash(0x3) + Hash(0x6), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=contract_4, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {contract_4: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_mem_seg.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_mem_seg.py index a4350d7d62a..b9e08d5bb92 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_mem_seg.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_mem_seg.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostMemSegFiller.yml +state_tests/stEIP150singleCodeGasPrices/gasCostMemSegFiller.yml """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,303 +25,355 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostMemSegFiller.yml", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/gasCostMemSegFiller.yml"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000021000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004100000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004700000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004d00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000005300000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000005900000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000005f00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000021000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004100000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004700000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004d00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000005300000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000005900000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000005f00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000021000000000000000000000000000000000000000000000000000000000000004300000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000193", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000001a3", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001ab", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000030d", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000315", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000031d", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a100000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000325", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004300000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047f", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000487", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000048f", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000497", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000049f", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f9", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000601", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000609", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000611", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000619", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000773", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000077b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000783", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000078b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000793", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000005500000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000005e00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000007900000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", ], ) @pytest.mark.pre_alloc_mutable def test_gas_cost_mem_seg( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E ) @@ -332,8 +387,7 @@ def test_gas_cost_mem_seg( gas_limit=100000000, ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL + # Source: lll # { # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ; Initialization @@ -365,640 +419,379 @@ def test_gas_cost_mem_seg( # [gasAfter] (gas) # } NOP) # ... (70 more lines) - contract = pre.deploy_contract( - code=( - Op.JUMPI( - pc=Op.PUSH2[0x11], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x20), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x21]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.SHA3(offset=0x0, size=Op.CALLDATALOAD(offset=0x24))) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x33], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x37), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x45]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.CALLDATACOPY( - dest_offset=0x100, - offset=0x0, - size=Op.CALLDATALOAD(offset=0x24), - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x57], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x39), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x69]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.CODECOPY( - dest_offset=0x100, - offset=0x0, - size=Op.CALLDATALOAD(offset=0x24), - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x7B], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x8A]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG0(offset=0x0, size=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x9C], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xAD]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG1( - offset=0x0, size=Op.CALLDATALOAD(offset=0x24), topic_1=0x1 - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xBF], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xD2]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG2( - offset=0x0, - size=Op.CALLDATALOAD(offset=0x24), - topic_1=0x1, - topic_2=0x2, - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xE4], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xF9]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG3( - offset=0x0, - size=Op.CALLDATALOAD(offset=0x24), - topic_1=0x1, - topic_2=0x2, - topic_3=0x3, - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x10B, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA4), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x122) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG4( - offset=0x0, - size=Op.CALLDATALOAD(offset=0x24), - topic_1=0x1, - topic_2=0x2, - topic_3=0x3, - topic_4=0x4, - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), - Op.CALLDATALOAD(offset=0x44), - ), - ) - + Op.STOP - ), - storage={0x0: 0x60A7}, + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=Op.PUSH2[0x11], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x20), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x21]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.SHA3(offset=0x0, size=Op.CALLDATALOAD(offset=0x24))) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x33], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x37), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x45]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.CALLDATACOPY( + dest_offset=0x100, offset=0x0, size=Op.CALLDATALOAD(offset=0x24) + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x57], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x39), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x69]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.CODECOPY( + dest_offset=0x100, offset=0x0, size=Op.CALLDATALOAD(offset=0x24) + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x7B], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA0), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x8A]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.LOG0(offset=0x0, size=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x9C], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA1), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xAD]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.LOG1(offset=0x0, size=Op.CALLDATALOAD(offset=0x24), topic_1=0x1) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xBF], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA2), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xD2]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.LOG2( + offset=0x0, + size=Op.CALLDATALOAD(offset=0x24), + topic_1=0x1, + topic_2=0x2, + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xE4], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA3), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xF9]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.LOG3( + offset=0x0, + size=Op.CALLDATALOAD(offset=0x24), + topic_1=0x1, + topic_2=0x2, + topic_3=0x3, + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x10B, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA4) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x122) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.LOG4( + offset=0x0, + size=Op.CALLDATALOAD(offset=0x24), + topic_1=0x1, + topic_2=0x2, + topic_3=0x3, + topic_4=0x4, + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.JUMPDEST + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), + Op.CALLDATALOAD(offset=0x44), + ), + ) + + Op.STOP, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x727437e50af8535411157a4aca154c81d72baad4"), # noqa: E501 + address=Address(0x727437E50AF8535411157A4ACA154C81D72BAAD4), # noqa: E501 ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostMemSegFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000021000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004100000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004700000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004d00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000005300000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000005900000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000005f00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000021000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004100000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004700000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004d00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000005300000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000005900000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000005f00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000021000000000000000000000000000000000000000000000000000000000000004300000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000193", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000001a3", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001ab", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000030d", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000315", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000031d", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a100000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000325", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004300000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047f", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000487", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000048f", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000497", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000049f", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f9", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000601", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000609", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000611", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000619", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000773", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000077b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000783", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000078b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000793", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000005500000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000005e00000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a4000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ( - "98eed7a400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000007900000000000000000000000000000000000000000000000000000000dead60a700000000000000000000000000000000000000000000000000000000deadbeef0000000000000000000000000000000000000000000000000000000060a7beef", # noqa: E501 - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - ], -) -@pytest.mark.pre_alloc_mutable -def test_gas_cost_mem_seg_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL - # { - # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - # ; Initialization - # - # ; Variables (0x20 byte wide) - # (def 'gasB4 0x000) ; Before the action being measured - # (def 'gasAfter 0x020) ; After the action being measured - # - # (def 'afterVars 0x100) ; Memory after the variables, - # ; safe to copy into - # - # ; Understand CALLDATA. It is four bytes of function - # ; selector (irrelevant) followed by 32 byte words - # ; of the parameters - # (def 'opcode $4 ) - # (def 'length $36) - # (def 'expectedCost $68) - # - # ; NOP for if statements - # (def 'NOP 0) - # - # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - # ; Run the operation - # - # ; SHA3 - # (if (= opcode 0x20) { - # [gasB4] (gas) - # (sha3 0 length) - # [gasAfter] (gas) - # } NOP) - # ... (70 more lines) - contract = pre.deploy_contract( - code=( - Op.JUMPI( - pc=Op.PUSH2[0x11], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x20), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x21]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.SHA3(offset=0x0, size=Op.CALLDATALOAD(offset=0x24))) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x33], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x37), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x45]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.CALLDATACOPY( - dest_offset=0x100, - offset=0x0, - size=Op.CALLDATALOAD(offset=0x24), - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x57], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x39), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x69]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.CODECOPY( - dest_offset=0x100, - offset=0x0, - size=Op.CALLDATALOAD(offset=0x24), - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x7B], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x8A]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG0(offset=0x0, size=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x9C], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xAD]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG1( - offset=0x0, size=Op.CALLDATALOAD(offset=0x24), topic_1=0x1 - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xBF], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xD2]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG2( - offset=0x0, - size=Op.CALLDATALOAD(offset=0x24), - topic_1=0x1, - topic_2=0x2, - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xE4], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xF9]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG3( - offset=0x0, - size=Op.CALLDATALOAD(offset=0x24), - topic_1=0x1, - topic_2=0x2, - topic_3=0x3, - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x10B, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA4), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x122) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG4( - offset=0x0, - size=Op.CALLDATALOAD(offset=0x24), - topic_1=0x1, - topic_2=0x2, - topic_3=0x3, - topic_4=0x4, - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), - Op.CALLDATALOAD(offset=0x44), - ), - ) - + Op.STOP - ), - storage={0x0: 0x60A7}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x727437e50af8535411157a4aca154c81d72baad4"), # noqa: E501 - ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("98eed7a4") + + Hash(0x20) + + Hash(0x1) + + Hash(0x3A) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x20) + + Hash(0x20) + + Hash(0x3A) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x20) + + Hash(0x21) + + Hash(0x43) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x20) + + Hash(0x40) + + Hash(0x43) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x20) + + Hash(0x60) + + Hash(0x4C) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x20) + + Hash(0x80) + + Hash(0x55) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x20) + + Hash(0xA0) + + Hash(0x5E) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x20) + + Hash(0xC0) + + Hash(0x67) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x20) + + Hash(0xE0) + + Hash(0x70) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x20) + + Hash(0x100) + + Hash(0x79) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x37) + + Hash(0x1) + + Hash(0x35) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x37) + + Hash(0x20) + + Hash(0x35) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x37) + + Hash(0x21) + + Hash(0x3B) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x37) + + Hash(0x40) + + Hash(0x3B) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x37) + + Hash(0x60) + + Hash(0x41) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x37) + + Hash(0x80) + + Hash(0x47) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x37) + + Hash(0xA0) + + Hash(0x4D) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x37) + + Hash(0xC0) + + Hash(0x53) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x37) + + Hash(0xE0) + + Hash(0x59) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x37) + + Hash(0x100) + + Hash(0x5F) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x39) + + Hash(0x1) + + Hash(0x35) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x39) + + Hash(0x20) + + Hash(0x35) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x39) + + Hash(0x21) + + Hash(0x3B) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x39) + + Hash(0x40) + + Hash(0x3B) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x39) + + Hash(0x60) + + Hash(0x41) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x39) + + Hash(0x80) + + Hash(0x47) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x39) + + Hash(0xA0) + + Hash(0x4D) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x39) + + Hash(0xC0) + + Hash(0x53) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x39) + + Hash(0xE0) + + Hash(0x59) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("98eed7a4") + + Hash(0x39) + + Hash(0x100) + + Hash(0x5F) + + Hash(0xDEAD60A7) + + Hash(0xDEADBEEF) + + Hash(0x60A7BEEF), + Bytes("d086d23d") + Hash(0xA0) + Hash(0x0) + Hash(0x18B), + Bytes("d086d23d") + Hash(0xA0) + Hash(0x1) + Hash(0x193), + Bytes("d086d23d") + Hash(0xA0) + Hash(0x2) + Hash(0x19B), + Bytes("d086d23d") + Hash(0xA0) + Hash(0x3) + Hash(0x1A3), + Bytes("d086d23d") + Hash(0xA0) + Hash(0x4) + Hash(0x1AB), + Bytes("d086d23d") + Hash(0xA1) + Hash(0x0) + Hash(0x305), + Bytes("d086d23d") + Hash(0xA1) + Hash(0x1) + Hash(0x30D), + Bytes("d086d23d") + Hash(0xA1) + Hash(0x2) + Hash(0x315), + Bytes("d086d23d") + Hash(0xA1) + Hash(0x3) + Hash(0x31D), + Bytes("d086d23d") + Hash(0xA1) + Hash(0x4) + Hash(0x325), + Bytes("d086d23d") + Hash(0xA2) + Hash(0x0) + Hash(0x47F), + Bytes("d086d23d") + Hash(0xA2) + Hash(0x1) + Hash(0x487), + Bytes("d086d23d") + Hash(0xA2) + Hash(0x2) + Hash(0x48F), + Bytes("d086d23d") + Hash(0xA2) + Hash(0x3) + Hash(0x497), + Bytes("d086d23d") + Hash(0xA2) + Hash(0x4) + Hash(0x49F), + Bytes("d086d23d") + Hash(0xA3) + Hash(0x0) + Hash(0x5F9), + Bytes("d086d23d") + Hash(0xA3) + Hash(0x1) + Hash(0x601), + Bytes("d086d23d") + Hash(0xA3) + Hash(0x2) + Hash(0x609), + Bytes("d086d23d") + Hash(0xA3) + Hash(0x3) + Hash(0x611), + Bytes("d086d23d") + Hash(0xA3) + Hash(0x4) + Hash(0x619), + Bytes("d086d23d") + Hash(0xA4) + Hash(0x0) + Hash(0x773), + Bytes("d086d23d") + Hash(0xA4) + Hash(0x1) + Hash(0x77B), + Bytes("d086d23d") + Hash(0xA4) + Hash(0x2) + Hash(0x783), + Bytes("d086d23d") + Hash(0xA4) + Hash(0x3) + Hash(0x78B), + Bytes("d086d23d") + Hash(0xA4) + Hash(0x4) + Hash(0x793), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_memory.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_memory.py index d5e8217898e..de51a40f163 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_memory.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_memory.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostMemoryFiller.yml +state_tests/stEIP150singleCodeGasPrices/gasCostMemoryFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,455 +28,479 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostMemoryFiller.yml", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/gasCostMemoryFiller.yml"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000025", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000038e", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000005ae", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000026", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000029", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000002c", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002f", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000032", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003e", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000057", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000070", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000028", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000d6", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001ae", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000038f", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000005af", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000026", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000029", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000002c", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002f", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000032", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003e", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000002b", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000057", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000070", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000d6", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001ae", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000038f", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000005af", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f6", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f9", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002fc", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002ff", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002e", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000302", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030e", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000326", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000358", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000003be", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000496", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000677", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000af8", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000016fa", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003d", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000056", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000006f", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000d5", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001ad", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - ], ) @pytest.mark.pre_alloc_mutable def test_gas_cost_memory( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000BA5E) + contract_1 = Address(0x000000000000000000000000000000000010BA5E) + contract_2 = Address(0x000000000000000000000000000000000011BA5E) + contract_3 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -484,56 +514,50 @@ def test_gas_cost_memory( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { # (mstore $0 0x60A7) # (mload $0) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) - + Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) + + Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0)) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000000ba5e"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000BA5E), # noqa: E501 ) - # Source: LLL + # Source: lll # { # (mstore $0 0x60A7) # (mload $0) # (mload $0) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) - + Op.POP(Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0))) - + Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0)) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) + + Op.POP(Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0))) + + Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0)) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000010ba5e"), # noqa: E501 + address=Address(0x000000000000000000000000000000000010BA5E), # noqa: E501 ) - # Source: LLL + # Source: lll # { # (mstore $0 0x60A7) # (mload $0) # (mstore $0 0x60A7) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) - + Op.POP(Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0))) - + Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) + + Op.POP(Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0))) + + Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000011ba5e"), # noqa: E501 + address=Address(0x000000000000000000000000000000000011BA5E), # noqa: E501 ) - # Source: LLL + # Source: lll # { # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ; Initialization @@ -565,958 +589,361 @@ def test_gas_cost_memory( # ; Constants # (def 'NOP 0) ; No operation (for if statements) # ... (103 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x44)) - + Op.JUMPI( - pc=Op.PUSH2[0x23], - condition=Op.EQ(Op.MLOAD(offset=0x0), 0x0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x31]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP(Op.MLOAD(offset=Op.MLOAD(offset=0x20))) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x43], - condition=Op.EQ(Op.MLOAD(offset=0x0), 0x1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x53]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.MSTORE(offset=Op.MLOAD(offset=0x20), value=0x60A7) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x65], - condition=Op.EQ(Op.MLOAD(offset=0x0), 0x2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x74]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.MSTORE8(offset=Op.MLOAD(offset=0x20), value=0xFF) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x86], - condition=Op.EQ(Op.MLOAD(offset=0x0), 0x3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xAC]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0xBA5E, - value=0x0, - args_offset=0x20, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.MSTORE( - offset=0xA0, - value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xBE], - condition=Op.EQ(Op.MLOAD(offset=0x0), 0x10), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x10A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0xBA5E, - value=0x0, - args_offset=0x20, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.MSTORE( - offset=0xA0, - value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - ) - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0x10BA5E, - value=0x0, - args_offset=0x20, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.MSTORE( - offset=0xC0, - value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x11C, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x11)) - + Op.POP(0x0) - + Op.JUMP(pc=0x168) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0xBA5E, - value=0x0, - args_offset=0x20, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.MSTORE( - offset=0xA0, - value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - ) - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0x11BA5E, - value=0x0, - args_offset=0x20, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.MSTORE( - offset=0xC0, - value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x17B, - condition=Op.ISZERO(Op.GT(Op.MLOAD(offset=0x0), 0x2)), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x18A) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - Op.MLOAD(offset=0x40), - ), - ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x19C, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x3)) - + Op.POP(0x0) - + Op.JUMP(pc=0x1A7) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.SUB(Op.MLOAD(offset=0xA0), Op.MLOAD(offset=0x40)), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1BC, - condition=Op.EQ(0x10, Op.AND(Op.MLOAD(offset=0x0), 0xF0)), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x1CB) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0xC0), Op.MLOAD(offset=0xA0)), - Op.MLOAD(offset=0x40), - ), - ) - + Op.JUMPDEST - + Op.STOP - ), - storage={0x0: 0x60A7}, + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x44)) + + Op.JUMPI( + pc=Op.PUSH2[0x23], condition=Op.EQ(Op.MLOAD(offset=0x0), 0x0) + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x31]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x60, value=Op.GAS) + + Op.POP(Op.MLOAD(offset=Op.MLOAD(offset=0x20))) + + Op.MSTORE(offset=0x80, value=Op.GAS) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x43], condition=Op.EQ(Op.MLOAD(offset=0x0), 0x1) + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x53]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x60, value=Op.GAS) + + Op.MSTORE(offset=Op.MLOAD(offset=0x20), value=0x60A7) + + Op.MSTORE(offset=0x80, value=Op.GAS) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x65], condition=Op.EQ(Op.MLOAD(offset=0x0), 0x2) + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x74]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x60, value=Op.GAS) + + Op.MSTORE8(offset=Op.MLOAD(offset=0x20), value=0xFF) + + Op.MSTORE(offset=0x80, value=Op.GAS) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x86], condition=Op.EQ(Op.MLOAD(offset=0x0), 0x3) + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xAC]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x60, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=0xBA5E, + value=0x0, + args_offset=0x20, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x80, value=Op.GAS) + + Op.MSTORE( + offset=0xA0, + value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xBE], condition=Op.EQ(Op.MLOAD(offset=0x0), 0x10) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x10A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x60, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=0xBA5E, + value=0x0, + args_offset=0x20, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x80, value=Op.GAS) + + Op.MSTORE( + offset=0xA0, + value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), + ) + + Op.MSTORE(offset=0x60, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=0x10BA5E, + value=0x0, + args_offset=0x20, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x80, value=Op.GAS) + + Op.MSTORE( + offset=0xC0, + value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), + ) + + Op.JUMPDEST + + Op.JUMPI(pc=0x11C, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x11)) + + Op.POP(0x0) + + Op.JUMP(pc=0x168) + + Op.JUMPDEST + + Op.MSTORE(offset=0x60, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=0xBA5E, + value=0x0, + args_offset=0x20, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x80, value=Op.GAS) + + Op.MSTORE( + offset=0xA0, + value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), + ) + + Op.MSTORE(offset=0x60, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=0x11BA5E, + value=0x0, + args_offset=0x20, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x80, value=Op.GAS) + + Op.MSTORE( + offset=0xC0, + value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x17B, condition=Op.ISZERO(Op.GT(Op.MLOAD(offset=0x0), 0x2)) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x18A) + + Op.JUMPDEST + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), + Op.MLOAD(offset=0x40), + ), + ) + + Op.JUMPDEST + + Op.JUMPI(pc=0x19C, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x3)) + + Op.POP(0x0) + + Op.JUMP(pc=0x1A7) + + Op.JUMPDEST + + Op.SSTORE( + key=0x0, value=Op.SUB(Op.MLOAD(offset=0xA0), Op.MLOAD(offset=0x40)) + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1BC, condition=Op.EQ(0x10, Op.AND(Op.MLOAD(offset=0x0), 0xF0)) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x1CB) + + Op.JUMPDEST + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0xC0), Op.MLOAD(offset=0xA0)), + Op.MLOAD(offset=0x40), + ), + ) + + Op.JUMPDEST + + Op.STOP, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostMemoryFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000025", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000038e", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000005ae", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000026", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000029", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000002c", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002f", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000032", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003e", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000057", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000070", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000028", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000d6", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001ae", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000038f", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000005af", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000026", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000029", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000002c", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002f", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000032", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003e", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000002b", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000057", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000070", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000d6", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001ae", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000038f", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000005af", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f6", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f9", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002fc", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002ff", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002e", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000302", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030e", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000326", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000358", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000003be", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000496", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000677", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + ], + "gas": -1, + "value": -1, }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000af8", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) - }, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000016fa", # noqa: E501 - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 1900} - ) + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 0})}, + }, + { + "indexes": { + "data": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], + "gas": -1, + "value": -1, }, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003d", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000056", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "d086d23d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000006f", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000d5", # noqa: E501 - {}, - ), - ( - "d086d23d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001ad", # noqa: E501 - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - ], -) -@pytest.mark.pre_alloc_mutable -def test_gas_cost_memory_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 1900})}, + }, + ] - # Source: LLL - # { - # (mstore $0 0x60A7) - # (mload $0) - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) - + Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000000ba5e"), # noqa: E501 - ) - # Source: LLL - # { - # (mstore $0 0x60A7) - # (mload $0) - # (mload $0) - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) - + Op.POP(Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0))) - + Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0)) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000010ba5e"), # noqa: E501 - ) - # Source: LLL - # { - # (mstore $0 0x60A7) - # (mload $0) - # (mstore $0 0x60A7) - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) - + Op.POP(Op.MLOAD(offset=Op.CALLDATALOAD(offset=0x0))) - + Op.MSTORE(offset=Op.CALLDATALOAD(offset=0x0), value=0x60A7) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x000000000000000000000000000000000011ba5e"), # noqa: E501 - ) - # Source: LLL - # { - # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - # ; Initialization - # - # ; Variables (0x20 byte wide) - # (def 'action 0x000) ; Action to take with the memory - # (def 'addr 0x020) ; Address to read / write - # (def 'expectedCost 0x040) ; Expected gas cost - # (def 'gasB4 0x060) ; Before the action being measured - # (def 'gasAfter 0x080) ; After the action being measured - # - # ; Gas cost for a baseline operation (call a contract that does mstore - # ; and then mload) - # (def 'gasBaseline 0x0A0) - # - # ; Gas for for the action intself (call a contract plus ) - # (def 'gasAction 0x0C0) - # - # ; Temporary values - # (def 'temp 0x0E0) - # - # ; Understand CALLDATA. It is four bytes of function - # ; selector (irrelevant) followed by 32 byte words - # ; of the parameters - # [action] $4 - # [addr] $36 - # [expectedCost] $68 - # - # ; Constants - # (def 'NOP 0) ; No operation (for if statements) - # ... (103 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x44)) - + Op.JUMPI( - pc=Op.PUSH2[0x23], - condition=Op.EQ(Op.MLOAD(offset=0x0), 0x0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x31]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP(Op.MLOAD(offset=Op.MLOAD(offset=0x20))) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x43], - condition=Op.EQ(Op.MLOAD(offset=0x0), 0x1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x53]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.MSTORE(offset=Op.MLOAD(offset=0x20), value=0x60A7) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x65], - condition=Op.EQ(Op.MLOAD(offset=0x0), 0x2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x74]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.MSTORE8(offset=Op.MLOAD(offset=0x20), value=0xFF) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x86], - condition=Op.EQ(Op.MLOAD(offset=0x0), 0x3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xAC]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0xBA5E, - value=0x0, - args_offset=0x20, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.MSTORE( - offset=0xA0, - value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xBE], - condition=Op.EQ(Op.MLOAD(offset=0x0), 0x10), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x10A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0xBA5E, - value=0x0, - args_offset=0x20, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.MSTORE( - offset=0xA0, - value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - ) - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0x10BA5E, - value=0x0, - args_offset=0x20, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.MSTORE( - offset=0xC0, - value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x11C, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x11)) - + Op.POP(0x0) - + Op.JUMP(pc=0x168) - + Op.JUMPDEST - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0xBA5E, - value=0x0, - args_offset=0x20, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.MSTORE( - offset=0xA0, - value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - ) - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0x11BA5E, - value=0x0, - args_offset=0x20, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.GAS) - + Op.MSTORE( - offset=0xC0, - value=Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x17B, - condition=Op.ISZERO(Op.GT(Op.MLOAD(offset=0x0), 0x2)), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x18A) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x60), Op.MLOAD(offset=0x80)), - Op.MLOAD(offset=0x40), - ), - ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x19C, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x3)) - + Op.POP(0x0) - + Op.JUMP(pc=0x1A7) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.SUB(Op.MLOAD(offset=0xA0), Op.MLOAD(offset=0x40)), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1BC, - condition=Op.EQ(0x10, Op.AND(Op.MLOAD(offset=0x0), 0xF0)), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x1CB) - + Op.JUMPDEST - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0xC0), Op.MLOAD(offset=0xA0)), - Op.MLOAD(offset=0x40), - ), - ) - + Op.JUMPDEST - + Op.STOP - ), - storage={0x0: 0x60A7}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("d086d23d") + Hash(0x0) + Hash(0x100) + Hash(0x25), + Bytes("d086d23d") + Hash(0x0) + Hash(0x120) + Hash(0x28), + Bytes("d086d23d") + Hash(0x0) + Hash(0x140) + Hash(0x2B), + Bytes("d086d23d") + Hash(0x0) + Hash(0x160) + Hash(0x2E), + Bytes("d086d23d") + Hash(0x0) + Hash(0x180) + Hash(0x31), + Bytes("d086d23d") + Hash(0x0) + Hash(0x200) + Hash(0x3D), + Bytes("d086d23d") + Hash(0x0) + Hash(0x300) + Hash(0x56), + Bytes("d086d23d") + Hash(0x0) + Hash(0x400) + Hash(0x6F), + Bytes("d086d23d") + Hash(0x0) + Hash(0x800) + Hash(0xD5), + Bytes("d086d23d") + Hash(0x0) + Hash(0x1000) + Hash(0x1AD), + Bytes("d086d23d") + Hash(0x0) + Hash(0x2000) + Hash(0x38E), + Bytes("d086d23d") + Hash(0x0) + Hash(0x3000) + Hash(0x5AE), + Bytes("d086d23d") + Hash(0x1) + Hash(0x100) + Hash(0x26), + Bytes("d086d23d") + Hash(0x1) + Hash(0x120) + Hash(0x29), + Bytes("d086d23d") + Hash(0x1) + Hash(0x140) + Hash(0x2C), + Bytes("d086d23d") + Hash(0x1) + Hash(0x160) + Hash(0x2F), + Bytes("d086d23d") + Hash(0x1) + Hash(0x180) + Hash(0x32), + Bytes("d086d23d") + Hash(0x1) + Hash(0x200) + Hash(0x3E), + Bytes("d086d23d") + Hash(0x1) + Hash(0x300) + Hash(0x57), + Bytes("d086d23d") + Hash(0x1) + Hash(0x400) + Hash(0x70), + Bytes("d086d23d") + Hash(0x1) + Hash(0x800) + Hash(0xD6), + Bytes("d086d23d") + Hash(0x1) + Hash(0x1000) + Hash(0x1AE), + Bytes("d086d23d") + Hash(0x1) + Hash(0x2000) + Hash(0x38F), + Bytes("d086d23d") + Hash(0x1) + Hash(0x3000) + Hash(0x5AF), + Bytes("d086d23d") + Hash(0x2) + Hash(0x100) + Hash(0x26), + Bytes("d086d23d") + Hash(0x2) + Hash(0x120) + Hash(0x29), + Bytes("d086d23d") + Hash(0x2) + Hash(0x140) + Hash(0x2C), + Bytes("d086d23d") + Hash(0x2) + Hash(0x160) + Hash(0x2F), + Bytes("d086d23d") + Hash(0x2) + Hash(0x180) + Hash(0x32), + Bytes("d086d23d") + Hash(0x2) + Hash(0x200) + Hash(0x3E), + Bytes("d086d23d") + Hash(0x2) + Hash(0x300) + Hash(0x57), + Bytes("d086d23d") + Hash(0x2) + Hash(0x400) + Hash(0x70), + Bytes("d086d23d") + Hash(0x2) + Hash(0x800) + Hash(0xD6), + Bytes("d086d23d") + Hash(0x2) + Hash(0x1000) + Hash(0x1AE), + Bytes("d086d23d") + Hash(0x2) + Hash(0x2000) + Hash(0x38F), + Bytes("d086d23d") + Hash(0x2) + Hash(0x3000) + Hash(0x5AF), + Bytes("d086d23d") + Hash(0x3) + Hash(0x0) + Hash(0x2F6), + Bytes("d086d23d") + Hash(0x3) + Hash(0x20) + Hash(0x2F9), + Bytes("d086d23d") + Hash(0x3) + Hash(0x40) + Hash(0x2FC), + Bytes("d086d23d") + Hash(0x3) + Hash(0x60) + Hash(0x2FF), + Bytes("d086d23d") + Hash(0x3) + Hash(0x80) + Hash(0x302), + Bytes("d086d23d") + Hash(0x3) + Hash(0x100) + Hash(0x30E), + Bytes("d086d23d") + Hash(0x3) + Hash(0x200) + Hash(0x326), + Bytes("d086d23d") + Hash(0x3) + Hash(0x400) + Hash(0x358), + Bytes("d086d23d") + Hash(0x3) + Hash(0x800) + Hash(0x3BE), + Bytes("d086d23d") + Hash(0x3) + Hash(0x1000) + Hash(0x496), + Bytes("d086d23d") + Hash(0x3) + Hash(0x2000) + Hash(0x677), + Bytes("d086d23d") + Hash(0x3) + Hash(0x4000) + Hash(0xAF8), + Bytes("d086d23d") + Hash(0x3) + Hash(0x8000) + Hash(0x16FA), + Bytes("d086d23d") + Hash(0x10) + Hash(0x0) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x10) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x20) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x40) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x80) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x100) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x200) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x400) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x800) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x1000) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x2000) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x4000) + Hash(0x8), + Bytes("d086d23d") + Hash(0x10) + Hash(0x8000) + Hash(0x8), + Bytes("d086d23d") + Hash(0x11) + Hash(0x0) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x10) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x20) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x40) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x80) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x100) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x200) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x400) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x800) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x1000) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x2000) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x4000) + Hash(0xB), + Bytes("d086d23d") + Hash(0x11) + Hash(0x8000) + Hash(0xB), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_return.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_return.py index df122cb1eee..4d9a218a2b2 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_return.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_gas_cost_return.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostReturnFiller.yml +state_tests/stEIP150singleCodeGasPrices/gasCostReturnFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/gasCostReturnFiller.yml", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/gasCostReturnFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_gas_cost_return( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E ) @@ -47,7 +46,23 @@ def test_gas_cost_return( gas_limit=100000000, ) - # Source: LLL + # Source: raw + # 0x600060FF00 + addr = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + Op.PUSH1[0xFF] + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xEB0E68B88A12FC84AD4A1EEB07B289638C4D9F3C), # noqa: E501 + ) + # Source: raw + # 0x600060FFF3 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFF, size=0x0), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x35CD99E56B0F9AC243172A86BEF4D042DFDBC166), # noqa: E501 + ) + # Source: lll # { # ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ; Initialization @@ -79,76 +94,55 @@ def test_gas_cost_return( # (call 0x10000 0x2000 0 0 0 0 0) # [gasRETURN] (- @gasB4 (gas)) # ... (11 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x60A7) - + Op.MSTORE(offset=0x20, value=0x60A7) - + Op.MSTORE(offset=0x40, value=0x60A7) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0x1000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE( - offset=0x20, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS) - ) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x10000, - address=0x2000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x60A7) + + Op.MSTORE(offset=0x20, value=0x60A7) + + Op.MSTORE(offset=0x40, value=0x60A7) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=0x1000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE( - offset=0x40, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS) + ) + + Op.MSTORE(offset=0x20, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x10000, + address=0x2000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE( - key=0x0, - value=Op.SUB(Op.MLOAD(offset=0x20), Op.MLOAD(offset=0x40)), - ) - + Op.STOP - ), - storage={0x0: 0x60A7}, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x155665fb22995bb5b9dc1d8d9d57a00ac64dc1e0"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.RETURN(offset=0xFF, size=0x0), + ) + + Op.MSTORE(offset=0x40, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.SSTORE( + key=0x0, value=Op.SUB(Op.MLOAD(offset=0x20), Op.MLOAD(offset=0x40)) + ) + + Op.STOP, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x35cd99e56b0f9ac243172a86bef4d042dfdbc166"), # noqa: E501 + address=Address(0x155665FB22995BB5B9DC1D8D9D57A00AC64DC1E0), # noqa: E501 ) pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: raw bytecode - pre.deploy_contract( - code=Op.PUSH1[0x0] + Op.PUSH1[0xFF] + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0xeb0e68b88a12fc84ad4a1eeb07b289638c4d9f3c"), # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=16777216, value=1, ) - post: dict = {} + post = {target: Account(storage={0: 0, 1: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_balance_gas.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_balance_gas.py index daa0c580f2e..1245ad40bcd 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_balance_gas.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_balance_gas.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_raw_balance_gas. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/RawBalanceGasFiller.json +state_tests/stEIP150singleCodeGasPrices/RawBalanceGasFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawBalanceGasFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawBalanceGasFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_raw_balance_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_balance_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,30 +46,27 @@ def test_raw_balance_gas( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0] (GAS) (BALANCE ) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.BALANCE(address=0xFAA10B404AB607779993C016CD5DA73AE1F29D7E), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.BALANCE(address=0xFAA10B404AB607779993C016CD5DA73AE1F29D7E) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xdfde2d07c7829a62d244d6b9791742b2921af7c0"), # noqa: E501 + address=Address(0xDFDE2D07C7829A62D244D6B9791742B2921AF7C0), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post = { - contract: Account(storage={1: 116}), - } + post = {target: Account(storage={1: 116})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas.py index dfc781be123..f0df76fdf2e 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_code_gas. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_raw_call_code_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_code_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,43 +46,45 @@ def test_raw_call_code_gas( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALLCODE 30000 0 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALLCODE( - gas=0x7530, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x2368fc9631cc2861d8e253341f166876337e12b0"), # noqa: E501 - ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALLCODE 30000 0 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALLCODE( + gas=0x7530, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x2368FC9631CC2861D8E253341F166876337E12B0), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 24739, 2: 29998}), + addr: Account(storage={}), + target: Account(storage={1: 24739, 2: 29998}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_ask.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_ask.py index b3c45a40b37..338862b55c4 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_ask.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_ask.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_code_gas_ask. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallCodeGasAskFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasAskFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasAskFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasAskFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_raw_call_code_gas_ask( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_code_gas_ask.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,43 +46,45 @@ def test_raw_call_code_gas_ask( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALLCODE 3000000 0 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALLCODE( - gas=0x2DC6C0, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x971fad0ee9240291bba0691a5c8db57fcb9a6a22"), # noqa: E501 - ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALLCODE 3000000 0 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALLCODE( + gas=0x2DC6C0, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x971FAD0EE9240291BBA0691A5C8DB57FCB9A6A22), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 24739, 2: 0x727BB}), + addr: Account(storage={}), + target: Account(storage={1: 24739, 2: 0x727BB}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_memory.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_memory.py index 900c8b03b78..f2763a748c0 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_memory.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_memory.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_code_gas_memory. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallCodeGasMemoryFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasMemoryFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasMemoryFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasMemoryFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_call_code_gas_memory( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_code_gas_memory.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,43 +48,45 @@ def test_raw_call_code_gas_memory( gas_limit=10000000, ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0] (GAS) (CALLCODE 30000 0 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALLCODE( - gas=0x7530, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0x0, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALLCODE( + gas=0x7530, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0x0, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xefbb83cb8bb5ed4f8cbce07972c071d88020ea1f"), # noqa: E501 + address=Address(0xEFBB83CB8BB5ED4F8CBCE07972C071D88020EA1F), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 25608, 2: 29998}), + addr: Account(storage={}), + target: Account(storage={1: 25608, 2: 29998}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_memory_ask.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_memory_ask.py index 83f7a52c2af..6d6dea998e7 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_memory_ask.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_memory_ask.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_code_gas_memory_ask. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallCodeGasMemoryAskFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasMemoryAskFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasMemoryAskFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasMemoryAskFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_call_code_gas_memory_ask( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_code_gas_memory_ask.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,43 +48,45 @@ def test_raw_call_code_gas_memory_ask( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALLCODE 3000000 0 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALLCODE( - gas=0x2DC6C0, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0x0, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x71a0bcd4587fb3c57b8066a375518dada2a8ecdb"), # noqa: E501 - ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALLCODE 3000000 0 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALLCODE( + gas=0x2DC6C0, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0x0, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x71A0BCD4587FB3C57B8066A375518DADA2A8ECDB), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 25608, 2: 0x72464}), + addr: Account(storage={}), + target: Account(storage={1: 25608, 2: 0x72464}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer.py index a33883b5889..b61fa486d90 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_code_gas_value_transfer. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallCodeGasValueTransferFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_call_code_gas_value_transfer( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_code_gas_value_transfer.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,44 +48,46 @@ def test_raw_call_code_gas_value_transfer( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALLCODE 30000 10 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALLCODE( - gas=0x7530, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0xA, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x52aa4aaf09161ccb2c2fdbdd1f646420a6b96087"), # noqa: E501 - ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALLCODE 30000 10 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALLCODE( + gas=0x7530, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0xA, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x52AA4AAF09161CCB2C2FDBDD1F646420A6B96087), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 31439, 2: 32298}), + addr: Account(storage={}), + target: Account(storage={1: 31439, 2: 32298}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_ask.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_ask.py index be7037c2af1..9c32ba75b58 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_ask.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_ask.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_code_gas_value_transfer_ask. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallCodeGasValueTransferAskFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferAskFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferAskFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferAskFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_call_code_gas_value_transfer_ask( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_code_gas_value_transfer_ask.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,44 +48,46 @@ def test_raw_call_code_gas_value_transfer_ask( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALLCODE 3000000 10 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALLCODE( - gas=0x2DC6C0, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0xA, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x956d6bbd9f4f04f26a090166e43c641b1c5c2ede"), # noqa: E501 - ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALLCODE 3000000 10 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALLCODE( + gas=0x2DC6C0, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0xA, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x956D6BBD9F4F04F26A090166E43C641B1C5C2EDE), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 31439, 2: 0x70E1C}), + addr: Account(storage={}), + target: Account(storage={1: 31439, 2: 0x70E1C}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_memory.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_memory.py index 06bfb07fc85..730ba366c62 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_memory.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_memory.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_code_gas_value_transfer_memory. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallCodeGasValueTransferMemoryFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferMemoryFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferMemoryFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferMemoryFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_call_code_gas_value_transfer_memory( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_code_gas_value_transfer_memory.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,44 +48,46 @@ def test_raw_call_code_gas_value_transfer_memory( gas_limit=10000000, ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0] (GAS) (CALLCODE 30000 10 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALLCODE( - gas=0x7530, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0xA, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALLCODE( + gas=0x7530, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0xA, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xf1f3a9af4253bd7852a915ed5dcaa2360de438f6"), # noqa: E501 + address=Address(0xF1F3A9AF4253BD7852A915ED5DCAA2360DE438F6), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 32308, 2: 32298}), + addr: Account(storage={}), + target: Account(storage={1: 32308, 2: 32298}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_memory_ask.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_memory_ask.py index 165cdef2ec7..efd24139352 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_memory_ask.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_code_gas_value_transfer_memory_ask.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_code_gas_value_transfer_memory_ask. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallCodeGasValueTransferMemoryAskFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferMemoryAskFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferMemoryAskFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferMemoryAskFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_call_code_gas_value_transfer_memory_ask( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_code_gas_value_transfer_memory_ask.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,44 +48,46 @@ def test_raw_call_code_gas_value_transfer_memory_ask( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALLCODE 3000000 10 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALLCODE( - gas=0x2DC6C0, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0xA, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x2a2cf91e47a7d53e3aa1d443454ef6afac34e2c8"), # noqa: E501 - ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALLCODE 3000000 10 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALLCODE( + gas=0x2DC6C0, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0xA, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x2A2CF91E47A7D53E3AA1D443454EF6AFAC34E2C8), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 32308, 2: 0x70AC4}), + addr: Account(storage={}), + target: Account(storage={1: 32308, 2: 0x70AC4}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas.py index bd81f6bc62f..d8102a1447c 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_gas. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallGasFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallGasFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallGasFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawCallGasFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_raw_call_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,44 +46,45 @@ def test_raw_call_gas( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALL 30000 0 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x7530, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x7541fd15b3cbf59ffe4c9fa7303c5a98c7c2aefd"), # noqa: E501 - ) - callee = pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALL 30000 0 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x7530, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x7541FD15B3CBF59FFE4C9FA7303C5A98C7C2AEFD), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 24739}), - callee: Account(storage={2: 29998}), + addr: Account(storage={2: 29998}), + target: Account(storage={1: 24739}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_ask.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_ask.py index a420bb99202..25c81635957 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_ask.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_ask.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_gas_ask. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallGasAskFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallGasAskFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallGasAskFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawCallGasAskFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_raw_call_gas_ask( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_gas_ask.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,44 +46,45 @@ def test_raw_call_gas_ask( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALL 3000000 0 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x2DC6C0, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x18817869e5f5b3f55f57bb7791ea8ee6f62604c8"), # noqa: E501 - ) - callee = pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALL 3000000 0 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x2DC6C0, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x18817869E5F5B3F55F57BB7791EA8EE6F62604C8), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 24739}), - callee: Account(storage={2: 0x727BB}), + addr: Account(storage={2: 0x727BB}), + target: Account(storage={1: 24739}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer.py index f9677705380..fdd367c3445 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_gas_value_transfer. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallGasValueTransferFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_call_gas_value_transfer( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_gas_value_transfer.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,45 +48,46 @@ def test_raw_call_gas_value_transfer( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALL 30000 10 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x7530, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0xA, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0xc2955af3f56c0d3150be7abbd80a01914337d211"), # noqa: E501 - ) - callee = pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALL 30000 10 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x7530, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0xA, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0xC2955AF3F56C0D3150BE7ABBD80A01914337D211), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 31439}), - callee: Account(storage={2: 32298}), + addr: Account(storage={2: 32298}), + target: Account(storage={1: 31439}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_ask.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_ask.py index 2a11ed2f702..2348ff7e697 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_ask.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_ask.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_gas_value_transfer_ask. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallGasValueTransferAskFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferAskFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferAskFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferAskFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_call_gas_value_transfer_ask( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_gas_value_transfer_ask.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,45 +48,46 @@ def test_raw_call_gas_value_transfer_ask( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALL 3000000 10 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x2DC6C0, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0xA, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x75da17be9a3b7768a69e918c1574a320a6f9e59f"), # noqa: E501 - ) - callee = pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALL 3000000 10 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x2DC6C0, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0xA, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x75DA17BE9A3B7768A69E918C1574A320A6F9E59F), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 31439}), - callee: Account(storage={2: 0x70E1C}), + addr: Account(storage={2: 0x70E1C}), + target: Account(storage={1: 31439}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_memory.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_memory.py index 1ded133c38e..e6eb2dcadbd 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_memory.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_memory.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_gas_value_transfer_memory. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallGasValueTransferMemoryFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferMemoryFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferMemoryFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferMemoryFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_call_gas_value_transfer_memory( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_gas_value_transfer_memory.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,45 +48,46 @@ def test_raw_call_gas_value_transfer_memory( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALL 30000 10 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x7530, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0xA, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0xad8277a2165d713af6e54a1cefb7e5e29022b8a5"), # noqa: E501 - ) - callee = pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALL 30000 10 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x7530, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0xA, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0xAD8277A2165D713AF6E54A1CEFB7E5E29022B8A5), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 32308}), - callee: Account(storage={2: 32298}), + addr: Account(storage={2: 32298}), + target: Account(storage={1: 32308}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_memory_ask.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_memory_ask.py index 7e6c5411633..f94defb8e02 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_memory_ask.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_gas_value_transfer_memory_ask.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_gas_value_transfer_memory_ask. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallGasValueTransferMemoryAskFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferMemoryAskFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferMemoryAskFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCallGasValueTransferMemoryAskFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_call_gas_value_transfer_memory_ask( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_gas_value_transfer_memory_ask.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,45 +48,46 @@ def test_raw_call_gas_value_transfer_memory_ask( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALL 3000000 10 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x2DC6C0, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0xA, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x29902ea04a72cbb6f877f6d27471a102e0700f20"), # noqa: E501 - ) - callee = pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALL 3000000 10 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x2DC6C0, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0xA, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x29902EA04A72CBB6F877F6D27471A102E0700F20), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 32308}), - callee: Account(storage={2: 0x70AC4}), + addr: Account(storage={2: 0x70AC4}), + target: Account(storage={1: 32308}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_memory_gas.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_memory_gas.py index 7bb0e7c98ed..07c5589ce86 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_memory_gas.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_memory_gas.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_memory_gas. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallMemoryGasFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallMemoryGasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallMemoryGasFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawCallMemoryGasFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_raw_call_memory_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_memory_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,44 +46,45 @@ def test_raw_call_memory_gas( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALL 30000 0 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x7530, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0x0, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x590b5b415a9a5f546bdb1a7781b31b91c53902ed"), # noqa: E501 - ) - callee = pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALL 30000 0 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x7530, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0x0, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x590B5B415A9A5F546BDB1A7781B31B91C53902ED), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 25608}), - callee: Account(storage={2: 29998}), + addr: Account(storage={2: 29998}), + target: Account(storage={1: 25608}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_memory_gas_ask.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_memory_gas_ask.py index 93bde6e2498..085e8cb7954 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_memory_gas_ask.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_call_memory_gas_ask.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_call_memory_gas_ask. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCallMemoryGasAskFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCallMemoryGasAskFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCallMemoryGasAskFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawCallMemoryGasAskFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_raw_call_memory_gas_ask( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_call_memory_gas_ask.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,44 +46,45 @@ def test_raw_call_memory_gas_ask( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (CALL 3000000 0 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0x2DC6C0, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - value=0x0, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x708c831c65c2fb3b3ce85a39a273b30726324a8a"), # noqa: E501 - ) - callee = pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (CALL 3000000 0 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0x2DC6C0, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + value=0x0, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x708C831C65C2FB3B3CE85A39A273B30726324A8A), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 25608}), - callee: Account(storage={2: 0x72464}), + addr: Account(storage={2: 0x72464}), + target: Account(storage={1: 25608}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_fail_gas_value_transfer.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_fail_gas_value_transfer.py index b9a549b1a99..3cc3b49047b 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_fail_gas_value_transfer.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_fail_gas_value_transfer.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_create_fail_gas_value_transfer. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCreateFailGasValueTransferFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCreateFailGasValueTransferFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCreateFailGasValueTransferFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCreateFailGasValueTransferFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_raw_create_fail_gas_value_transfer( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_create_fail_gas_value_transfer.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,28 +51,30 @@ def test_raw_create_fail_gas_value_transfer( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [0] (GAS) (CREATE 11 0 0) [[1]] (SUB @0 (GAS)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.CREATE(value=0xB, offset=0x0, size=0x0)) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.CREATE(value=0xB, offset=0x0, size=0x0)) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 32022}), + contract_0: Account(storage={1: 32022}), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_fail_gas_value_transfer2.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_fail_gas_value_transfer2.py index 29042000de1..c32cdafc4a3 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_fail_gas_value_transfer2.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_fail_gas_value_transfer2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_create_fail_gas_value_transfer2. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCreateFailGasValueTransfer2Filler.json +state_tests/stEIP150singleCodeGasPrices/RawCreateFailGasValueTransfer2Filler.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCreateFailGasValueTransfer2Filler.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCreateFailGasValueTransfer2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_raw_create_fail_gas_value_transfer2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_create_fail_gas_value_transfer2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,28 +51,30 @@ def test_raw_create_fail_gas_value_transfer2( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [0] (GAS) (CREATE 11 0 8000) [[1]] (SUB @0 (GAS)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.CREATE(value=0xB, offset=0x0, size=0x1F40)) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.CREATE(value=0xB, offset=0x0, size=0x1F40)) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 33391}), + contract_0: Account(storage={1: 33391}), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas.py index dbd1abd4b2a..73306bf1d30 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_raw_create_gas. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices/RawCreateGasFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCreateGasFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCreateGasFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawCreateGasFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +32,9 @@ def test_raw_create_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_create_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,27 +49,29 @@ def test_raw_create_gas( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [0] (GAS) (CREATE 0 0 0) [[1]] (SUB @0 (GAS)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=0x0)) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=0x0)) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 32022}), + contract_0: Account(storage={1: 32022}), + compute_create_address(address=contract_0, nonce=0): Account( + balance=0 + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_memory.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_memory.py index ea70469d0f8..057fb26f5ab 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_memory.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_memory.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_create_gas_memory. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCreateGasMemoryFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCreateGasMemoryFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -23,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCreateGasMemoryFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawCreateGasMemoryFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +32,9 @@ def test_raw_create_gas_memory( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_create_gas_memory.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,27 +49,29 @@ def test_raw_create_gas_memory( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [0] (GAS) (CREATE 0 0 8000) [[1]] (SUB @0 (GAS)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=0x1F40)) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=0x1F40)) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 33391}), + contract_0: Account(storage={1: 33391}), + compute_create_address(address=contract_0, nonce=0): Account( + balance=0 + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_value_transfer.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_value_transfer.py index 5c6870ab997..326573abc02 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_value_transfer.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_value_transfer.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_create_gas_value_transfer. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCreateGasValueTransferFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCreateGasValueTransferFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCreateGasValueTransferFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCreateGasValueTransferFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_raw_create_gas_value_transfer( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_create_gas_value_transfer.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,28 +51,30 @@ def test_raw_create_gas_value_transfer( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [0] (GAS) (CREATE 10 0 0) [[1]] (SUB @0 (GAS)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.CREATE(value=0xA, offset=0x0, size=0x0)) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.CREATE(value=0xA, offset=0x0, size=0x0)) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 32022}), + contract_0: Account(storage={1: 32022}), + compute_create_address(address=contract_0, nonce=0): Account( + balance=10 + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_value_transfer_memory.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_value_transfer_memory.py index add819a6454..376eeeb408f 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_value_transfer_memory.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_create_gas_value_transfer_memory.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_create_gas_value_transfer_memory. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawCreateGasValueTransferMemoryFiller.json +state_tests/stEIP150singleCodeGasPrices/RawCreateGasValueTransferMemoryFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawCreateGasValueTransferMemoryFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawCreateGasValueTransferMemoryFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_raw_create_gas_value_transfer_memory( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_create_gas_value_transfer_memory.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,28 +51,30 @@ def test_raw_create_gas_value_transfer_memory( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [0] (GAS) (CREATE 10 0 8000) [[1]] (SUB @0 (GAS)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.CREATE(value=0xA, offset=0x0, size=0x1F40)) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.CREATE(value=0xA, offset=0x0, size=0x1F40)) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=500000, value=10, ) post = { - contract: Account(storage={1: 33391}), + contract_0: Account(storage={1: 33391}), + compute_create_address(address=contract_0, nonce=0): Account( + balance=10 + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas.py index 1cee5f3b8c8..47fda58f764 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_delegate_call_gas. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawDelegateCallGasFiller.json +state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_raw_delegate_call_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_delegate_call_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,42 +46,44 @@ def test_raw_delegate_call_gas( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (DELEGATECALL 30000 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.DELEGATECALL( - gas=0x7530, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x8dfc4f381eee03447d510a61a1266821a480bd85"), # noqa: E501 - ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (DELEGATECALL 30000 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.DELEGATECALL( + gas=0x7530, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x8DFC4F381EEE03447D510A61A1266821A480BD85), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 24736, 2: 29998}), + addr: Account(storage={}), + target: Account(storage={1: 24736, 2: 29998}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_ask.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_ask.py index 06f18acfce6..b58dbe0a593 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_ask.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_ask.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_delegate_call_gas_ask. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawDelegateCallGasAskFiller.json +state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasAskFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasAskFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasAskFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_delegate_call_gas_ask( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_delegate_call_gas_ask.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,42 +48,44 @@ def test_raw_delegate_call_gas_ask( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (DELEGATECALL 3000000 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.DELEGATECALL( - gas=0x2DC6C0, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0xdc20eaf593590f91c2439b61f29cf075006750ff"), # noqa: E501 - ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (DELEGATECALL 3000000 0 0 0 0) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.DELEGATECALL( + gas=0x2DC6C0, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0xDC20EAF593590F91C2439B61F29CF075006750FF), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 24736, 2: 0x727BE}), + addr: Account(storage={}), + target: Account(storage={1: 24736, 2: 0x727BE}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_memory.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_memory.py index 1c5ce366e9c..b49b1a0c366 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_memory.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_memory.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_delegate_call_gas_memory. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawDelegateCallGasMemoryFiller.json +state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasMemoryFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasMemoryFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasMemoryFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_delegate_call_gas_memory( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_delegate_call_gas_memory.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,42 +48,44 @@ def test_raw_delegate_call_gas_memory( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (DELEGATECALL 30000 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.DELEGATECALL( - gas=0x7530, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x2da2093c616ee035cc42f6a9297b0c3838d01605"), # noqa: E501 - ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (DELEGATECALL 30000 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.DELEGATECALL( + gas=0x7530, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x2DA2093C616EE035CC42F6A9297B0C3838D01605), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 25605, 2: 29998}), + addr: Account(storage={}), + target: Account(storage={1: 25605, 2: 29998}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_memory_ask.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_memory_ask.py index 459900e4f24..7f8d9d66a8a 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_memory_ask.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_delegate_call_gas_memory_ask.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_delegate_call_gas_memory_ask. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawDelegateCallGasMemoryAskFiller.json +state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasMemoryAskFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasMemoryAskFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawDelegateCallGasMemoryAskFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_delegate_call_gas_memory_ask( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_delegate_call_gas_memory_ask.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,42 +48,44 @@ def test_raw_delegate_call_gas_memory_ask( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (DELEGATECALL 3000000 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.DELEGATECALL( - gas=0x2DC6C0, - address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x8759cfbf878e9ff3cd4d3d7413fc8a44b7935cec"), # noqa: E501 - ) - pre.deploy_contract( + # Source: lll + # { [[2]] (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x2, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xe497cd0909c3691e0b6d2a42e26f36696fc27ba5"), # noqa: E501 + address=Address(0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (DELEGATECALL 3000000 0 8000 0 8000) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.DELEGATECALL( + gas=0x2DC6C0, + address=0xE497CD0909C3691E0B6D2A42E26F36696FC27BA5, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x8759CFBF878E9FF3CD4D3D7413FC8A44B7935CEC), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, ) post = { - contract: Account(storage={1: 25605, 2: 0x72467}), + addr: Account(storage={}), + target: Account(storage={1: 25605, 2: 0x72467}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_copy_gas.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_copy_gas.py index 9211a904992..53f904f24e1 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_copy_gas.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_copy_gas.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_ext_code_copy_gas. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawExtCodeCopyGasFiller.json +state_tests/stEIP150singleCodeGasPrices/RawExtCodeCopyGasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawExtCodeCopyGasFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawExtCodeCopyGasFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_raw_ext_code_copy_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_ext_code_copy_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,41 +46,39 @@ def test_raw_ext_code_copy_gas( gas_limit=10000000, ) - # Source: LLL - # { [0] (GAS) (EXTCODECOPY 32 0 20) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.EXTCODECOPY( - address=0x4A84C43FBA78AE75CBC15C5B63CAA15DA55F4464, - dest_offset=0x20, - offset=0x0, - size=0x14, - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - nonce=0, - address=Address("0x3d74e06fe0af85e65c8b2f5dcff3fa076f5b5bb8"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x0112233445566778899101112131415161718191202122232425 + addr = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( "0112233445566778899101112131415161718191202122232425" ), nonce=0, - address=Address("0x4a84c43fba78ae75cbc15c5b63caa15da55f4464"), # noqa: E501 + address=Address(0x4A84C43FBA78AE75CBC15C5B63CAA15DA55F4464), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [0] (GAS) (EXTCODECOPY 32 0 20) [[1]] (SUB @0 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.EXTCODECOPY( + address=0x4A84C43FBA78AE75CBC15C5B63CAA15DA55F4464, + dest_offset=0x20, + offset=0x0, + size=0x14, + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + nonce=0, + address=Address(0x3D74E06FE0AF85E65C8B2F5DCFF3FA076F5B5BB8), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post = { - contract: Account(storage={1: 2629}), - } + post = {target: Account(storage={1: 2629})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_copy_memory_gas.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_copy_memory_gas.py index 6262b185de2..83af5181cb5 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_copy_memory_gas.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_copy_memory_gas.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_ext_code_copy_memory_gas. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawExtCodeCopyMemoryGasFiller.json +state_tests/stEIP150singleCodeGasPrices/RawExtCodeCopyMemoryGasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawExtCodeCopyMemoryGasFiller.json", # noqa: E501 + "state_tests/stEIP150singleCodeGasPrices/RawExtCodeCopyMemoryGasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_raw_ext_code_copy_memory_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_ext_code_copy_memory_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,41 +48,39 @@ def test_raw_ext_code_copy_memory_gas( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x0112233445566778899101112131415161718191202122232425 + addr = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( "0112233445566778899101112131415161718191202122232425" ), nonce=0, - address=Address("0x4a84c43fba78ae75cbc15c5b63caa15da55f4464"), # noqa: E501 + address=Address(0x4A84C43FBA78AE75CBC15C5B63CAA15DA55F4464), # noqa: E501 ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0] (GAS) (EXTCODECOPY 32 0 11120) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.EXTCODECOPY( - address=0x4A84C43FBA78AE75CBC15C5B63CAA15DA55F4464, - dest_offset=0x20, - offset=0x0, - size=0x2B70, - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.EXTCODECOPY( + address=0x4A84C43FBA78AE75CBC15C5B63CAA15DA55F4464, + dest_offset=0x20, + offset=0x0, + size=0x2B70, + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x792ed227b10fcd174acc9e5a69c1f1471a138c5d"), # noqa: E501 + address=Address(0x792ED227B10FCD174ACC9E5A69C1F1471A138C5D), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post = { - contract: Account(storage={1: 4948}), - } + post = {target: Account(storage={1: 4948})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_size_gas.py b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_size_gas.py index 5eb5a7444e1..fe08562662f 100644 --- a/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_size_gas.py +++ b/tests/ported_static/stEIP150singleCodeGasPrices/test_raw_ext_code_size_gas.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_raw_ext_code_size_gas. Ported from: -tests/static/state_tests/stEIP150singleCodeGasPrices -RawExtCodeSizeGasFiller.json +state_tests/stEIP150singleCodeGasPrices/RawExtCodeSizeGasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP150singleCodeGasPrices/RawExtCodeSizeGasFiller.json", # noqa: E501 - ], + ["state_tests/stEIP150singleCodeGasPrices/RawExtCodeSizeGasFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_raw_ext_code_size_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_raw_ext_code_size_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,40 +46,36 @@ def test_raw_ext_code_size_gas( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x0112233445566778899101112131415161718191202122232425 + addr = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( "0112233445566778899101112131415161718191202122232425" ), nonce=0, - address=Address("0x4a84c43fba78ae75cbc15c5b63caa15da55f4464"), # noqa: E501 + address=Address(0x4A84C43FBA78AE75CBC15C5B63CAA15DA55F4464), # noqa: E501 ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0] (GAS) (EXTCODESIZE ) [[1]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.EXTCODESIZE( - address=0x4A84C43FBA78AE75CBC15C5B63CAA15DA55F4464 - ), - ) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.EXTCODESIZE(address=0x4A84C43FBA78AE75CBC15C5B63CAA15DA55F4464) + ) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x585f8515632dd8b3acce933a4c2de8ba66a09a36"), # noqa: E501 + address=Address(0x585F8515632DD8B3ACCE933A4C2DE8BA66A09A36), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post = { - contract: Account(storage={1: 2616}), - } + post = {target: Account(storage={1: 2616})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1559/__init__.py b/tests/ported_static/stEIP1559/__init__.py index fb4dd75fd5e..39b8b2b3d60 100644 --- a/tests/ported_static/stEIP1559/__init__.py +++ b/tests/ported_static/stEIP1559/__init__.py @@ -1 +1 @@ -"""Tests ported from stEIP1559.""" +"""Ported static tests: stEIP1559.""" # noqa: N999 diff --git a/tests/ported_static/stEIP1559/test_base_fee_diff_places.py b/tests/ported_static/stEIP1559/test_base_fee_diff_places.py index dae9717dfc3..5699d94c79f 100644 --- a/tests/ported_static/stEIP1559/test_base_fee_diff_places.py +++ b/tests/ported_static/stEIP1559/test_base_fee_diff_places.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP1559/baseFeeDiffPlacesFiller.yml +state_tests/stEIP1559/baseFeeDiffPlacesFiller.yml """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,551 +25,249 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP1559/baseFeeDiffPlacesFiller.yml"], + ["state_tests/stEIP1559/baseFeeDiffPlacesFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f2f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 0, + 0, + 0, + id="normal", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f4f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 1, + 0, + 0, + id="normal", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000faf2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 2, + 0, + 0, + id="normal", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f1f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f2f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f4f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000faf4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f1fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f2fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f4fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000fafa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 10, + 0, + 0, + id="d10", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000fd", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 11, + 0, + 0, + id="d11", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000fe", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 12, + 0, + 0, + id="d12", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 13, + 0, + 0, + id="d13", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f0", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 14, + 0, + 0, + id="d14", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f5", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 15, + 0, + 0, + id="d15", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f0f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 16, + 0, + 0, + id="d16", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f5f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 17, + 0, + 0, + id="d17", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f0f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 18, + 0, + 0, + id="d18", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f5f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 19, + 0, + 0, + id="d19", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f0f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 20, + 0, + 0, + id="d20", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f5f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 21, + 0, + 0, + id="d21", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f0fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 22, + 0, + 0, + id="d22", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f5fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 23, + 0, + 0, + id="d23", ), - ( - "693c613900000000000000000000000000000000000000000000000000000060baccfa57", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 24, + 0, + 0, + id="d24", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 25, + 0, + 0, + id="d25", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 26, + 0, + 0, + id="d26", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f1f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 27, + 0, + 0, + id="d27", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f2f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 28, + 0, + 0, + id="d28", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f4f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 29, + 0, + 0, + id="d29", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000faf1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 30, + 0, + 0, + id="d30", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f1f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 31, + 0, + 0, + id="d31", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 32, + 0, + 0, + id="d32", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 33, + 0, + 0, + id="d33", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, + pytest.param( + 34, + 0, + 0, + id="d34", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - ], ) @pytest.mark.pre_alloc_mutable def test_base_fee_diff_places( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000C0DE) + contract_1 = Address(0x000000000000000000000000000000000020C0DE) + contract_2 = Address(0x00000000000000000000000000000000C0DEC0DE) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + contract_4 = Address(0x000000000000000000000000000000000000CA11) + contract_5 = Address(0x00000000000000000000000000000000CA1100F1) + contract_6 = Address(0x00000000000000000000000000000000CA1100F2) + contract_7 = Address(0x00000000000000000000000000000000CA1100F4) + contract_8 = Address(0x00000000000000000000000000000000CA1100FA) + contract_9 = Address(0x0000000000000000000000000000000000060006) + contract_10 = Address(0x000000000000000000000000000000000060BACC) + contract_11 = Address(0x00000000000000000000000000000000DEADDEAD) + contract_12 = Address(0x00000000000000000000000000000060BACCFA57) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -580,8 +281,8 @@ def test_base_fee_diff_places( gas_limit=4503599627370496, ) - # Source: Yul - # { + # Source: yul + # berlin { # // basefee is still not supported in Yul 0.8.5 # # @@ -599,240 +300,873 @@ def test_base_fee_diff_places( # mstore(0x40, mload(0x00)) # return(0x3F, 0x21) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.MSTORE(offset=0x40, value=Op.MLOAD(offset=0x0)) - + Op.RETURN(offset=0x3F, size=0x21) - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.MSTORE(offset=0x40, value=Op.MLOAD(offset=0x0)) + + Op.RETURN(offset=0x3F, size=0x21), balance=0xDE0B6B3A7640000, - address=Address("0x000000000000000000000000000000000000c0de"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000C0DE), # noqa: E501 ) - # Source: Yul - # { - # // basefee is still not supported in Yul 0.8.5 + # Source: yul + # berlin { + # // basefee is still not supported in Yul 0.8.5 # # - # mstore(0, verbatim_0i_1o(hex"48")) + # mstore(0, verbatim_0i_1o(hex"48")) # # - # return(0, 0x20) // return the result as our return value + # + # // Here the result is is mload(0). + # return(0x00, 0x20) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.RETURN(offset=0x0, size=0x20) - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.RETURN(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0x000000000000000000000000000000000000ca11"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000020C0DE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.INVALID - ), - storage={0x0: 0x60A7}, + # Source: yul + # berlin { + # let addr := 0x20C0DE + # let length := extcodesize(addr) + # + # // Read the code from 0x20C0DE + # extcodecopy(addr, 0, 0, length) + # + # // Return this memory as the code for the contract + # return(0, length) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH3[0x20C0DE] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.RETURN, balance=0xDE0B6B3A7640000, - address=Address("0x0000000000000000000000000000000000060006"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000C0DEC0DE), # noqa: E501 ) - # Source: Yul - # { - # // basefee is still not supported in Yul 0.8.5 + # Source: yul + # berlin { + # let action := calldataload(4) + # let res := 1 // If the result of a call is revert, revert here too + # let addr := 1 // If the result of CREATE[2] is zero, it reverted # + # // For when we need code in our memory + # let codeBuffer := 0x20 + # // When running the template in the constructor + # let codeLength := extcodesize(0xC0DE) + # // When running the template in the created code + # let codeLength2 := extcodesize(0xC0DEC0DE) # - # mstore(0, verbatim_0i_1o(hex"48")) + # // Goat should be overwritten + # mstore(0, 0x60A7) # + # switch action + # case 0 { // run the code snippet as normal code + # // basefee is still not supported in Yul 0.8.5 # # - # // Here the result is is mload(0). - # return(0x00, 0x20) - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.RETURN(offset=0x0, size=0x20) - ), - balance=0xDE0B6B3A7640000, - address=Address("0x000000000000000000000000000000000020c0de"), # noqa: E501 - ) - # Source: Yul - # { - # // basefee is still not supported in Yul 0.8.5 - # + # mstore(0, verbatim_0i_1o(hex"48")) # - # mstore(0, verbatim_0i_1o(hex"48")) # + # } # - # sstore(0,mload(0)) - # revert(0,0x20) - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.REVERT(offset=0x0, size=0x20) - ), - storage={0x0: 0x60A7}, + # // One level of call stack + # case 0xF1 { // call a contract to run this code + # res := call(gas(), 0xca11, 0, 0, 0, 0, 0x20) // call template code + # } + # case 0xF2 { // callcode a contract to run this code + # ... (290 more lines) + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x60A7) + + Op.PUSH1[0x1] + + Op.DUP1 + + Op.CALLDATALOAD(offset=0x4) + + Op.EXTCODESIZE(address=0xC0DEC0DE) + + Op.PUSH1[0x20] + + Op.EXTCODESIZE(address=0xC0DE) + + Op.JUMPI(pc=0x58A, condition=Op.ISZERO(Op.DUP4)) + + Op.JUMPI(pc=0x574, condition=Op.EQ(0xF1, Op.DUP4)) + + Op.JUMPI(pc=0x55E, condition=Op.EQ(0xF2, Op.DUP4)) + + Op.JUMPI(pc=0x549, condition=Op.EQ(0xF4, Op.DUP4)) + + Op.JUMPI(pc=0x534, condition=Op.EQ(0xFA, Op.DUP4)) + + Op.JUMPI(pc=0x51C, condition=Op.EQ(0xF1F1, Op.DUP4)) + + Op.JUMPI(pc=0x504, condition=Op.EQ(0xF2F1, Op.DUP4)) + + Op.JUMPI(pc=0x4ED, condition=Op.EQ(0xF4F1, Op.DUP4)) + + Op.JUMPI(pc=0x4D6, condition=Op.EQ(0xFAF1, Op.DUP4)) + + Op.JUMPI(pc=0x4BE, condition=Op.EQ(0xF1F2, Op.DUP4)) + + Op.JUMPI(pc=0x4A6, condition=Op.EQ(0xF2F2, Op.DUP4)) + + Op.JUMPI(pc=0x48F, condition=Op.EQ(0xF4F2, Op.DUP4)) + + Op.JUMPI(pc=0x478, condition=Op.EQ(0xFAF2, Op.DUP4)) + + Op.JUMPI(pc=0x460, condition=Op.EQ(0xF1F4, Op.DUP4)) + + Op.JUMPI(pc=0x448, condition=Op.EQ(0xF2F4, Op.DUP4)) + + Op.JUMPI(pc=0x431, condition=Op.EQ(0xF4F4, Op.DUP4)) + + Op.JUMPI(pc=0x41A, condition=Op.EQ(0xFAF4, Op.DUP4)) + + Op.JUMPI(pc=0x402, condition=Op.EQ(0xF1FA, Op.DUP4)) + + Op.JUMPI(pc=0x3EA, condition=Op.EQ(0xF2FA, Op.DUP4)) + + Op.JUMPI(pc=0x3D3, condition=Op.EQ(0xF4FA, Op.DUP4)) + + Op.JUMPI(pc=0x3BC, condition=Op.EQ(0xFAFA, Op.DUP4)) + + Op.JUMPI(pc=0x384, condition=Op.EQ(0xFD, Op.DUP4)) + + Op.JUMPI(pc=0x34A, condition=Op.EQ(0xFE, Op.DUP4)) + + Op.JUMPI(pc=0x311, condition=Op.EQ(0xFF, Op.DUP4)) + + Op.JUMPI(pc=0x2EB, condition=Op.EQ(0xF0, Op.DUP4)) + + Op.JUMPI(pc=0x2C1, condition=Op.EQ(0xF5, Op.DUP4)) + + Op.POP + + Op.JUMPI(pc=0x297, condition=Op.EQ(0xF0F1, Op.DUP3)) + + Op.JUMPI(pc=0x26B, condition=Op.EQ(0xF5F1, Op.DUP3)) + + Op.JUMPI(pc=0x248, condition=Op.EQ(0xF0F2, Op.DUP3)) + + Op.JUMPI(pc=0x223, condition=Op.EQ(0xF5F2, Op.DUP3)) + + Op.JUMPI(pc=0x201, condition=Op.EQ(0xF0F4, Op.DUP3)) + + Op.JUMPI(pc=0x1DD, condition=Op.EQ(0xF5F4, Op.DUP3)) + + Op.JUMPI(pc=0x1B4, condition=Op.EQ(0xF0FA, Op.DUP3)) + + Op.JUMPI(pc=0x189, condition=Op.EQ(0xF5FA, Op.DUP3)) + + Op.POP * 2 + + Op.PUSH5[0x60BACCFA57] + + Op.JUMPI(pc=0x16E, condition=Op.EQ) + + Op.MSTORE(offset=0x0, value=0xBAD0BAD0BAD0) + + Op.JUMPDEST + + Op.JUMPI(pc=0x168, condition=Op.ISZERO) * 2 + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.POP + + Op.MSTORE(offset=0x0, value=0x3FF) + + Op.CALL( + gas=Op.GAS, + address=0x60BACCFA57, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.STATICCALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.STATICCALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE2 + + Op.DELEGATECALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE + + Op.DELEGATECALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE2 + + Op.CALLCODE( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE + + Op.CALLCODE( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.CALL( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.CALL( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP3 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP3 + + Op.SWAP4 + + Op.POP + + Op.EXTCODECOPY( + address=0xC0DE, dest_offset=Op.DUP3, offset=0x0, size=Op.DUP2 + ) + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.SWAP1 + + Op.EXTCODECOPY( + address=Op.DUP5, dest_offset=0x0, offset=0x1, size=0x20 + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP4 + + Op.SWAP5 + + Op.POP + + Op.SWAP2 + + Op.POP * 2 + + Op.EXTCODECOPY( + address=0xC0DE, dest_offset=Op.DUP3, offset=0x0, size=Op.DUP2 + ) + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.SWAP1 + + Op.EXTCODECOPY( + address=Op.DUP5, dest_offset=0x0, offset=0x1, size=0x20 + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEADDEAD, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.JUMPI( + pc=0x156, condition=Op.EQ(Op.SLOAD(key=0x0), Op.MLOAD(offset=0x0)) + ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=0x61A8, + address=0x60006, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.JUMPI( + pc=0x156, condition=Op.EQ(Op.SLOAD(key=0x0), Op.MLOAD(offset=0x0)) + ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x60BACC, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.JUMPI( + pc=0x156, condition=Op.EQ(Op.SLOAD(key=0x0), Op.MLOAD(offset=0x0)) + ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100FA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100FA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100FA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100FA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F4, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F4, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F4, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F4, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F2, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F2, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F2, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F2, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F1, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F1, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.JUMP(pc=0x156), + storage={0: 24743}, balance=0xDE0B6B3A7640000, - address=Address("0x000000000000000000000000000000000060bacc"), # noqa: E501 + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) - # Source: Yul - # { - # let addr := 0x20C0DE - # let length := extcodesize(addr) + # Source: yul + # berlin { + # // basefee is still not supported in Yul 0.8.5 # - # // Read the code from 0x20C0DE - # extcodecopy(addr, 0, 0, length) # - # // Return this memory as the code for the contract - # return(0, length) + # mstore(0, verbatim_0i_1o(hex"48")) + # + # + # return(0, 0x20) // return the result as our return value # } - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH3[0x20C0DE] - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.RETURN - ), + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.RETURN(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000c0dec0de"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000CA11), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # if iszero(call(gas(), 0xca11, 0, 0, 0, 0, 0x20)) # { revert(0,0x20) } # # return(0, 0x20) // return the result as our return value # } - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x15, - condition=Op.ISZERO( - Op.CALL( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ), - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - ), + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x15, + condition=Op.ISZERO( + Op.CALL( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000ca1100f1"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F1), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # if iszero(callcode(gas(), 0xca11, 0, 0, 0, 0, 0x20)) # { revert(0,0x20) } # # return(0, 0x20) // return the result as our return value # } - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x15, - condition=Op.ISZERO( - Op.CALLCODE( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ), - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - ), + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x15, + condition=Op.ISZERO( + Op.CALLCODE( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000ca1100f2"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F2), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # if iszero(delegatecall(gas(), 0xca11, 0, 0, 0, 0x20)) # { revert(0,0x20) } # # return(0, 0x20) // return the result as our return value # } - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x14, - condition=Op.ISZERO( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ), - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - ), + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x14, + condition=Op.ISZERO( + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000ca1100f4"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F4), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # if iszero(staticcall(gas(), 0xca11, 0, 0, 0, 0x20)) # { revert(0,0x20) } # # return(0, 0x20) // return the result as our return value # } - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x14, - condition=Op.ISZERO( - Op.STATICCALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ), - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - ), + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x14, + condition=Op.ISZERO( + Op.STATICCALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000ca1100fa"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100FA), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { + # // basefee is still not supported in Yul 0.8.5 + # + # + # mstore(0, verbatim_0i_1o(hex"48")) + # + # + # sstore(0,mload(0)) + # invalid() + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.INVALID, + storage={0: 24743}, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x0000000000000000000000000000000000060006), # noqa: E501 + ) + # Source: yul + # berlin { + # // basefee is still not supported in Yul 0.8.5 + # + # + # mstore(0, verbatim_0i_1o(hex"48")) + # + # + # sstore(0,mload(0)) + # revert(0,0x20) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.REVERT(offset=0x0, size=0x20), + storage={0: 24743}, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x000000000000000000000000000000000060BACC), # noqa: E501 + ) + # Source: yul + # berlin { # selfdestruct(0) # } - pre.deploy_contract( + contract_11 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x0), balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000deaddead"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000DEADDEAD), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # let depth := calldataload(0) # # if eq(depth,0) { @@ -857,792 +1191,90 @@ def test_base_fee_diff_places( # // Propagate success # return (0, 0x20) # } - pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.JUMPI(pc=0x2D, condition=Op.ISZERO(Op.DUP1)) - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.MSTORE(offset=0x0, value=Op.SUB) - + Op.JUMPI( - pc=0x27, - condition=Op.ISZERO( - Op.CALL( - gas=Op.GAS, - address=0x60BACCFA57, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x20, - ), - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.RETURN(offset=0x0, size=0x20) - ), - balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000060baccfa57"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3635C9ADC5DEA00000, nonce=1) - # Source: Yul - # { - # let action := calldataload(4) - # let res := 1 // If the result of a call is revert, revert here too - # let addr := 1 // If the result of CREATE[2] is zero, it reverted - # - # // For when we need code in our memory - # let codeBuffer := 0x20 - # // When running the template in the constructor - # let codeLength := extcodesize(0xC0DE) - # // When running the template in the created code - # let codeLength2 := extcodesize(0xC0DEC0DE) - # - # // Goat should be overwritten - # mstore(0, 0x60A7) - # - # switch action - # case 0 { // run the code snippet as normal code - # // basefee is still not supported in Yul 0.8.5 - # - # - # mstore(0, verbatim_0i_1o(hex"48")) - # - # - # } - # - # // One level of call stack - # case 0xF1 { // call a contract to run this code - # res := call(gas(), 0xca11, 0, 0, 0, 0, 0x20) // call template code - # } - # case 0xF2 { // callcode a contract to run this code - # ... (290 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x60A7) - + Op.PUSH1[0x1] - + Op.DUP1 - + Op.CALLDATALOAD(offset=0x4) - + Op.EXTCODESIZE(address=0xC0DEC0DE) - + Op.PUSH1[0x20] - + Op.EXTCODESIZE(address=0xC0DE) - + Op.JUMPI(pc=0x58A, condition=Op.ISZERO(Op.DUP4)) - + Op.JUMPI(pc=0x574, condition=Op.EQ(0xF1, Op.DUP4)) - + Op.JUMPI(pc=0x55E, condition=Op.EQ(0xF2, Op.DUP4)) - + Op.JUMPI(pc=0x549, condition=Op.EQ(0xF4, Op.DUP4)) - + Op.JUMPI(pc=0x534, condition=Op.EQ(0xFA, Op.DUP4)) - + Op.JUMPI(pc=0x51C, condition=Op.EQ(0xF1F1, Op.DUP4)) - + Op.JUMPI(pc=0x504, condition=Op.EQ(0xF2F1, Op.DUP4)) - + Op.JUMPI(pc=0x4ED, condition=Op.EQ(0xF4F1, Op.DUP4)) - + Op.JUMPI(pc=0x4D6, condition=Op.EQ(0xFAF1, Op.DUP4)) - + Op.JUMPI(pc=0x4BE, condition=Op.EQ(0xF1F2, Op.DUP4)) - + Op.JUMPI(pc=0x4A6, condition=Op.EQ(0xF2F2, Op.DUP4)) - + Op.JUMPI(pc=0x48F, condition=Op.EQ(0xF4F2, Op.DUP4)) - + Op.JUMPI(pc=0x478, condition=Op.EQ(0xFAF2, Op.DUP4)) - + Op.JUMPI(pc=0x460, condition=Op.EQ(0xF1F4, Op.DUP4)) - + Op.JUMPI(pc=0x448, condition=Op.EQ(0xF2F4, Op.DUP4)) - + Op.JUMPI(pc=0x431, condition=Op.EQ(0xF4F4, Op.DUP4)) - + Op.JUMPI(pc=0x41A, condition=Op.EQ(0xFAF4, Op.DUP4)) - + Op.JUMPI(pc=0x402, condition=Op.EQ(0xF1FA, Op.DUP4)) - + Op.JUMPI(pc=0x3EA, condition=Op.EQ(0xF2FA, Op.DUP4)) - + Op.JUMPI(pc=0x3D3, condition=Op.EQ(0xF4FA, Op.DUP4)) - + Op.JUMPI(pc=0x3BC, condition=Op.EQ(0xFAFA, Op.DUP4)) - + Op.JUMPI(pc=0x384, condition=Op.EQ(0xFD, Op.DUP4)) - + Op.JUMPI(pc=0x34A, condition=Op.EQ(0xFE, Op.DUP4)) - + Op.JUMPI(pc=0x311, condition=Op.EQ(0xFF, Op.DUP4)) - + Op.JUMPI(pc=0x2EB, condition=Op.EQ(0xF0, Op.DUP4)) - + Op.JUMPI(pc=0x2C1, condition=Op.EQ(0xF5, Op.DUP4)) - + Op.POP - + Op.JUMPI(pc=0x297, condition=Op.EQ(0xF0F1, Op.DUP3)) - + Op.JUMPI(pc=0x26B, condition=Op.EQ(0xF5F1, Op.DUP3)) - + Op.JUMPI(pc=0x248, condition=Op.EQ(0xF0F2, Op.DUP3)) - + Op.JUMPI(pc=0x223, condition=Op.EQ(0xF5F2, Op.DUP3)) - + Op.JUMPI(pc=0x201, condition=Op.EQ(0xF0F4, Op.DUP3)) - + Op.JUMPI(pc=0x1DD, condition=Op.EQ(0xF5F4, Op.DUP3)) - + Op.JUMPI(pc=0x1B4, condition=Op.EQ(0xF0FA, Op.DUP3)) - + Op.JUMPI(pc=0x189, condition=Op.EQ(0xF5FA, Op.DUP3)) - + Op.POP - + Op.POP - + Op.PUSH5[0x60BACCFA57] - + Op.JUMPI(pc=0x16E, condition=Op.EQ) - + Op.MSTORE(offset=0x0, value=0xBAD0BAD0BAD0) - + Op.JUMPDEST - + Op.JUMPI(pc=0x168, condition=Op.ISZERO) - + Op.JUMPI(pc=0x168, condition=Op.ISZERO) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.POP - + Op.MSTORE(offset=0x0, value=0x3FF) - + Op.CALL( - gas=Op.GAS, - address=0x60BACCFA57, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP2 - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP4 - + Op.POP - + Op.DUP1 - + Op.SWAP3 - + Op.POP - + Op.PUSH1[0x0] - + Op.DUP3 - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE2 - + Op.STATICCALL( - gas=Op.GAS, - address=Op.DUP5, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.DUP2 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.SWAP3 - + Op.POP - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE - + Op.STATICCALL( - gas=Op.GAS, - address=Op.DUP5, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP2 - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP4 - + Op.POP - + Op.DUP1 - + Op.SWAP3 - + Op.POP - + Op.PUSH1[0x0] - + Op.DUP3 - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.CREATE2 - + Op.DELEGATECALL( - gas=Op.GAS, - address=Op.DUP5, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.DUP2 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.SWAP3 - + Op.POP - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.CREATE - + Op.DELEGATECALL( - gas=Op.GAS, - address=Op.DUP5, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP2 - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP4 - + Op.POP - + Op.DUP1 - + Op.SWAP3 - + Op.POP - + Op.PUSH1[0x0] - + Op.DUP3 - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.CREATE2 - + Op.CALLCODE( - gas=Op.GAS, - address=Op.DUP6, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.DUP2 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.SWAP3 - + Op.POP - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.CREATE - + Op.CALLCODE( - gas=Op.GAS, - address=Op.DUP6, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP2 - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP4 - + Op.POP - + Op.DUP1 - + Op.SWAP3 - + Op.POP - + Op.PUSH1[0x0] - + Op.DUP3 - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE2 - + Op.CALL( - gas=Op.GAS, - address=Op.DUP6, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.DUP2 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.SWAP3 - + Op.POP - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE - + Op.CALL( - gas=Op.GAS, - address=Op.DUP6, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP3 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP3 - + Op.SWAP4 - + Op.POP - + Op.EXTCODECOPY( - address=0xC0DE, - dest_offset=Op.DUP3, - offset=0x0, - size=Op.DUP2, - ) - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE2 - + Op.SWAP1 - + Op.EXTCODECOPY( - address=Op.DUP5, - dest_offset=0x0, - offset=0x1, - size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP4 - + Op.SWAP5 - + Op.POP - + Op.SWAP2 - + Op.POP - + Op.POP - + Op.EXTCODECOPY( - address=0xC0DE, - dest_offset=Op.DUP3, - offset=0x0, - size=Op.DUP2, - ) - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE - + Op.SWAP1 - + Op.EXTCODECOPY( - address=Op.DUP5, - dest_offset=0x0, - offset=0x1, - size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.POP( + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.JUMPI(pc=0x2D, condition=Op.ISZERO(Op.DUP1)) + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.MSTORE(offset=0x0, value=Op.SUB) + + Op.JUMPI( + pc=0x27, + condition=Op.ISZERO( Op.CALL( gas=Op.GAS, - address=0xDEADDEAD, + address=0x60BACCFA57, value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.JUMPI( - pc=0x156, - condition=Op.EQ(Op.SLOAD(key=0x0), Op.MLOAD(offset=0x0)), - ) - + Op.MSTORE(offset=0x0, value=0xBADBADBAD) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.POP( - Op.CALL( - gas=0x61A8, - address=0x60006, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.JUMPI( - pc=0x156, - condition=Op.EQ(Op.SLOAD(key=0x0), Op.MLOAD(offset=0x0)), - ) - + Op.MSTORE(offset=0x0, value=0xBADBADBAD) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x60BACC, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.JUMPI( - pc=0x156, - condition=Op.EQ(Op.SLOAD(key=0x0), Op.MLOAD(offset=0x0)), - ) - + Op.MSTORE(offset=0x0, value=0xBADBADBAD) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.STATICCALL( - gas=Op.GAS, - address=0xCA1100FA, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA1100FA, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALLCODE( - gas=Op.GAS, - address=0xCA1100FA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xCA1100FA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.STATICCALL( - gas=Op.GAS, - address=0xCA1100F4, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA1100F4, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALLCODE( - gas=Op.GAS, - address=0xCA1100F4, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xCA1100F4, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.STATICCALL( - gas=Op.GAS, - address=0xCA1100F2, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA1100F2, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALLCODE( - gas=Op.GAS, - address=0xCA1100F2, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xCA1100F2, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.STATICCALL( - gas=Op.GAS, - address=0xCA1100F1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA1100F1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALLCODE( - gas=Op.GAS, - address=0xCA1100F1, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xCA1100F1, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.STATICCALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALLCODE( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x0, value=Op.BASEFEE) - + Op.JUMP(pc=0x156) - ), - storage={0x0: 0x60A7}, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.RETURN(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000060BACCFA57), # noqa: E501 ) + pre[sender] = Account(balance=0x3635C9ADC5DEA00000, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0xF1), + Bytes("693c6139") + Hash(0xF2), + Bytes("693c6139") + Hash(0xF4), + Bytes("693c6139") + Hash(0xFA), + Bytes("693c6139") + Hash(0xF1F1), + Bytes("693c6139") + Hash(0xF2F1), + Bytes("693c6139") + Hash(0xF4F1), + Bytes("693c6139") + Hash(0xFAF1), + Bytes("693c6139") + Hash(0xF1F2), + Bytes("693c6139") + Hash(0xF2F2), + Bytes("693c6139") + Hash(0xF4F2), + Bytes("693c6139") + Hash(0xFAF2), + Bytes("693c6139") + Hash(0xF1F4), + Bytes("693c6139") + Hash(0xF2F4), + Bytes("693c6139") + Hash(0xF4F4), + Bytes("693c6139") + Hash(0xFAF4), + Bytes("693c6139") + Hash(0xF1FA), + Bytes("693c6139") + Hash(0xF2FA), + Bytes("693c6139") + Hash(0xF4FA), + Bytes("693c6139") + Hash(0xFAFA), + Bytes("693c6139") + Hash(0xFD), + Bytes("693c6139") + Hash(0xFE), + Bytes("693c6139") + Hash(0xFF), + Bytes("693c6139") + Hash(0xF0), + Bytes("693c6139") + Hash(0xF5), + Bytes("693c6139") + Hash(0xF0F1), + Bytes("693c6139") + Hash(0xF5F1), + Bytes("693c6139") + Hash(0xF0F2), + Bytes("693c6139") + Hash(0xF5F2), + Bytes("693c6139") + Hash(0xF0F4), + Bytes("693c6139") + Hash(0xF5F4), + Bytes("693c6139") + Hash(0xF0FA), + Bytes("693c6139") + Hash(0xF5FA), + Bytes("693c6139") + Hash(contract_12, left_padding=True), + ] + tx_gas = [4503599627370496] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=4503599627370496, - gas_price=2000, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + gas_price=2000, ) - post = expected_post + post = { + contract_3: Account(storage={0: 10}), + contract_10: Account(storage={0: 24743}), + contract_9: Account(storage={0: 24743}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1559/test_base_fee_diff_places_osaka.py b/tests/ported_static/stEIP1559/test_base_fee_diff_places_osaka.py new file mode 100644 index 00000000000..0594b630629 --- /dev/null +++ b/tests/ported_static/stEIP1559/test_base_fee_diff_places_osaka.py @@ -0,0 +1,1272 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/stEIP1559/baseFeeDiffPlacesOsakaFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/stEIP1559/baseFeeDiffPlacesOsakaFiller.yml"], +) +@pytest.mark.valid_from("Osaka") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="normal", + ), + pytest.param( + 1, + 0, + 0, + id="normal", + ), + pytest.param( + 2, + 0, + 0, + id="normal", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_base_fee_diff_places( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000C0DE) + contract_1 = Address(0x000000000000000000000000000000000020C0DE) + contract_2 = Address(0x00000000000000000000000000000000C0DEC0DE) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + contract_4 = Address(0x000000000000000000000000000000000000CA11) + contract_5 = Address(0x00000000000000000000000000000000CA1100F1) + contract_6 = Address(0x00000000000000000000000000000000CA1100F2) + contract_7 = Address(0x00000000000000000000000000000000CA1100F4) + contract_8 = Address(0x00000000000000000000000000000000CA1100FA) + contract_9 = Address(0x0000000000000000000000000000000000060006) + contract_10 = Address(0x000000000000000000000000000000000060BACC) + contract_11 = Address(0x00000000000000000000000000000000DEADDEAD) + contract_12 = Address(0x00000000000000000000000000000060BACCFA57) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=4503599627370496, + ) + + # Source: yul + # berlin { + # // basefee is still not supported in Yul 0.8.5 + # + # + # mstore(0, verbatim_0i_1o(hex"48")) + # + # + # + # // Here the result is is mload(0). We want to run it, but + # // prefix it with a zero so we'll be safe from being considered + # // an invalid program. + # // + # // If we use this as a constructor the result will be + # // the code of the created contract, but we can live + # // with that. We won't call it. + # mstore(0x40, mload(0x00)) + # return(0x3F, 0x21) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.MSTORE(offset=0x40, value=Op.MLOAD(offset=0x0)) + + Op.RETURN(offset=0x3F, size=0x21), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x000000000000000000000000000000000000C0DE), # noqa: E501 + ) + # Source: yul + # berlin { + # // basefee is still not supported in Yul 0.8.5 + # + # + # mstore(0, verbatim_0i_1o(hex"48")) + # + # + # + # // Here the result is is mload(0). + # return(0x00, 0x20) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.RETURN(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x000000000000000000000000000000000020C0DE), # noqa: E501 + ) + # Source: yul + # berlin { + # let addr := 0x20C0DE + # let length := extcodesize(addr) + # + # // Read the code from 0x20C0DE + # extcodecopy(addr, 0, 0, length) + # + # // Return this memory as the code for the contract + # return(0, length) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH3[0x20C0DE] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.RETURN, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000C0DEC0DE), # noqa: E501 + ) + # Source: yul + # berlin { + # let action := calldataload(4) + # let res := 1 // If the result of a call is revert, revert here too + # let addr := 1 // If the result of CREATE[2] is zero, it reverted + # + # // For when we need code in our memory + # let codeBuffer := 0x20 + # // When running the template in the constructor + # let codeLength := extcodesize(0xC0DE) + # // When running the template in the created code + # let codeLength2 := extcodesize(0xC0DEC0DE) + # + # // Goat should be overwritten + # mstore(0, 0x60A7) + # + # switch action + # case 0 { // run the code snippet as normal code + # // basefee is still not supported in Yul 0.8.5 + # + # + # mstore(0, verbatim_0i_1o(hex"48")) + # + # + # } + # + # // One level of call stack + # case 0xF1 { // call a contract to run this code + # res := call(gas(), 0xca11, 0, 0, 0, 0, 0x20) // call template code + # } + # case 0xF2 { // callcode a contract to run this code + # ... (290 more lines) + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x60A7) + + Op.PUSH1[0x1] + + Op.DUP1 + + Op.CALLDATALOAD(offset=0x4) + + Op.EXTCODESIZE(address=0xC0DEC0DE) + + Op.PUSH1[0x20] + + Op.EXTCODESIZE(address=0xC0DE) + + Op.JUMPI(pc=0x58A, condition=Op.ISZERO(Op.DUP4)) + + Op.JUMPI(pc=0x574, condition=Op.EQ(0xF1, Op.DUP4)) + + Op.JUMPI(pc=0x55E, condition=Op.EQ(0xF2, Op.DUP4)) + + Op.JUMPI(pc=0x549, condition=Op.EQ(0xF4, Op.DUP4)) + + Op.JUMPI(pc=0x534, condition=Op.EQ(0xFA, Op.DUP4)) + + Op.JUMPI(pc=0x51C, condition=Op.EQ(0xF1F1, Op.DUP4)) + + Op.JUMPI(pc=0x504, condition=Op.EQ(0xF2F1, Op.DUP4)) + + Op.JUMPI(pc=0x4ED, condition=Op.EQ(0xF4F1, Op.DUP4)) + + Op.JUMPI(pc=0x4D6, condition=Op.EQ(0xFAF1, Op.DUP4)) + + Op.JUMPI(pc=0x4BE, condition=Op.EQ(0xF1F2, Op.DUP4)) + + Op.JUMPI(pc=0x4A6, condition=Op.EQ(0xF2F2, Op.DUP4)) + + Op.JUMPI(pc=0x48F, condition=Op.EQ(0xF4F2, Op.DUP4)) + + Op.JUMPI(pc=0x478, condition=Op.EQ(0xFAF2, Op.DUP4)) + + Op.JUMPI(pc=0x460, condition=Op.EQ(0xF1F4, Op.DUP4)) + + Op.JUMPI(pc=0x448, condition=Op.EQ(0xF2F4, Op.DUP4)) + + Op.JUMPI(pc=0x431, condition=Op.EQ(0xF4F4, Op.DUP4)) + + Op.JUMPI(pc=0x41A, condition=Op.EQ(0xFAF4, Op.DUP4)) + + Op.JUMPI(pc=0x402, condition=Op.EQ(0xF1FA, Op.DUP4)) + + Op.JUMPI(pc=0x3EA, condition=Op.EQ(0xF2FA, Op.DUP4)) + + Op.JUMPI(pc=0x3D3, condition=Op.EQ(0xF4FA, Op.DUP4)) + + Op.JUMPI(pc=0x3BC, condition=Op.EQ(0xFAFA, Op.DUP4)) + + Op.JUMPI(pc=0x384, condition=Op.EQ(0xFD, Op.DUP4)) + + Op.JUMPI(pc=0x34A, condition=Op.EQ(0xFE, Op.DUP4)) + + Op.JUMPI(pc=0x311, condition=Op.EQ(0xFF, Op.DUP4)) + + Op.JUMPI(pc=0x2EB, condition=Op.EQ(0xF0, Op.DUP4)) + + Op.JUMPI(pc=0x2C1, condition=Op.EQ(0xF5, Op.DUP4)) + + Op.POP + + Op.JUMPI(pc=0x297, condition=Op.EQ(0xF0F1, Op.DUP3)) + + Op.JUMPI(pc=0x26B, condition=Op.EQ(0xF5F1, Op.DUP3)) + + Op.JUMPI(pc=0x248, condition=Op.EQ(0xF0F2, Op.DUP3)) + + Op.JUMPI(pc=0x223, condition=Op.EQ(0xF5F2, Op.DUP3)) + + Op.JUMPI(pc=0x201, condition=Op.EQ(0xF0F4, Op.DUP3)) + + Op.JUMPI(pc=0x1DD, condition=Op.EQ(0xF5F4, Op.DUP3)) + + Op.JUMPI(pc=0x1B4, condition=Op.EQ(0xF0FA, Op.DUP3)) + + Op.JUMPI(pc=0x189, condition=Op.EQ(0xF5FA, Op.DUP3)) + + Op.POP * 2 + + Op.PUSH5[0x60BACCFA57] + + Op.JUMPI(pc=0x16E, condition=Op.EQ) + + Op.MSTORE(offset=0x0, value=0xBAD0BAD0BAD0) + + Op.JUMPDEST + + Op.JUMPI(pc=0x168, condition=Op.ISZERO) * 2 + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.POP + + Op.MSTORE(offset=0x0, value=0x3FF) + + Op.CALL( + gas=Op.GAS, + address=0x60BACCFA57, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.STATICCALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.STATICCALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE2 + + Op.DELEGATECALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE + + Op.DELEGATECALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE2 + + Op.CALLCODE( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE + + Op.CALLCODE( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.CALL( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.CALL( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP3 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP3 + + Op.SWAP4 + + Op.POP + + Op.EXTCODECOPY( + address=0xC0DE, dest_offset=Op.DUP3, offset=0x0, size=Op.DUP2 + ) + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.SWAP1 + + Op.EXTCODECOPY( + address=Op.DUP5, dest_offset=0x0, offset=0x1, size=0x20 + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP4 + + Op.SWAP5 + + Op.POP + + Op.SWAP2 + + Op.POP * 2 + + Op.EXTCODECOPY( + address=0xC0DE, dest_offset=Op.DUP3, offset=0x0, size=Op.DUP2 + ) + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.SWAP1 + + Op.EXTCODECOPY( + address=Op.DUP5, dest_offset=0x0, offset=0x1, size=0x20 + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEADDEAD, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.JUMPI( + pc=0x156, condition=Op.EQ(Op.SLOAD(key=0x0), Op.MLOAD(offset=0x0)) + ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=0x61A8, + address=0x60006, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.JUMPI( + pc=0x156, condition=Op.EQ(Op.SLOAD(key=0x0), Op.MLOAD(offset=0x0)) + ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x60BACC, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.JUMPI( + pc=0x156, condition=Op.EQ(Op.SLOAD(key=0x0), Op.MLOAD(offset=0x0)) + ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100FA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100FA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100FA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100FA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F4, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F4, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F4, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F4, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F2, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F2, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F2, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F2, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F1, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F1, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.JUMP(pc=0x156), + storage={0: 24743}, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + # Source: yul + # berlin { + # // basefee is still not supported in Yul 0.8.5 + # + # + # mstore(0, verbatim_0i_1o(hex"48")) + # + # + # return(0, 0x20) // return the result as our return value + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.RETURN(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x000000000000000000000000000000000000CA11), # noqa: E501 + ) + # Source: yul + # berlin { + # if iszero(call(gas(), 0xca11, 0, 0, 0, 0, 0x20)) + # { revert(0,0x20) } + # + # return(0, 0x20) // return the result as our return value + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x15, + condition=Op.ISZERO( + Op.CALL( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F1), # noqa: E501 + ) + # Source: yul + # berlin { + # if iszero(callcode(gas(), 0xca11, 0, 0, 0, 0, 0x20)) + # { revert(0,0x20) } + # + # return(0, 0x20) // return the result as our return value + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x15, + condition=Op.ISZERO( + Op.CALLCODE( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F2), # noqa: E501 + ) + # Source: yul + # berlin { + # if iszero(delegatecall(gas(), 0xca11, 0, 0, 0, 0x20)) + # { revert(0,0x20) } + # + # return(0, 0x20) // return the result as our return value + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x14, + condition=Op.ISZERO( + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F4), # noqa: E501 + ) + # Source: yul + # berlin { + # if iszero(staticcall(gas(), 0xca11, 0, 0, 0, 0x20)) + # { revert(0,0x20) } + # + # return(0, 0x20) // return the result as our return value + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x14, + condition=Op.ISZERO( + Op.STATICCALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100FA), # noqa: E501 + ) + # Source: yul + # berlin { + # // basefee is still not supported in Yul 0.8.5 + # + # + # mstore(0, verbatim_0i_1o(hex"48")) + # + # + # sstore(0,mload(0)) + # invalid() + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.INVALID, + storage={0: 24743}, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x0000000000000000000000000000000000060006), # noqa: E501 + ) + # Source: yul + # berlin { + # // basefee is still not supported in Yul 0.8.5 + # + # + # mstore(0, verbatim_0i_1o(hex"48")) + # + # + # sstore(0,mload(0)) + # revert(0,0x20) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.REVERT(offset=0x0, size=0x20), + storage={0: 24743}, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x000000000000000000000000000000000060BACC), # noqa: E501 + ) + # Source: yul + # berlin { + # selfdestruct(0) + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=0x0), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000DEADDEAD), # noqa: E501 + ) + # Source: yul + # berlin { + # let depth := calldataload(0) + # + # if eq(depth,0) { + # // basefee is still not supported in Yul 0.8.5 + # + # + # mstore(0, verbatim_0i_1o(hex"48")) + # + # + # return(0, 0x20) + # } + # + # // Dig deeper + # mstore(0, sub(depth,1)) + # + # // Call yourself with depth-1 + # if iszero(call(gas(), 0x60BACCFA57, 0, 0, 0x20, 0, 0x20)) { + # // Propagate failure if we failed + # revert(0, 0x20) + # } + # + # // Propagate success + # return (0, 0x20) + # } + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.JUMPI(pc=0x2D, condition=Op.ISZERO(Op.DUP1)) + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.MSTORE(offset=0x0, value=Op.SUB) + + Op.JUMPI( + pc=0x27, + condition=Op.ISZERO( + Op.CALL( + gas=Op.GAS, + address=0x60BACCFA57, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.BASEFEE) + + Op.RETURN(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000060BACCFA57), # noqa: E501 + ) + pre[sender] = Account(balance=0x3635C9ADC5DEA00000, nonce=1) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0xF1), + Bytes("693c6139") + Hash(0xF2), + Bytes("693c6139") + Hash(0xF4), + Bytes("693c6139") + Hash(0xFA), + Bytes("693c6139") + Hash(0xF1F1), + Bytes("693c6139") + Hash(0xF2F1), + Bytes("693c6139") + Hash(0xF4F1), + Bytes("693c6139") + Hash(0xFAF1), + Bytes("693c6139") + Hash(0xF1F2), + Bytes("693c6139") + Hash(0xF2F2), + Bytes("693c6139") + Hash(0xF4F2), + Bytes("693c6139") + Hash(0xFAF2), + Bytes("693c6139") + Hash(0xF1F4), + Bytes("693c6139") + Hash(0xF2F4), + Bytes("693c6139") + Hash(0xF4F4), + Bytes("693c6139") + Hash(0xFAF4), + Bytes("693c6139") + Hash(0xF1FA), + Bytes("693c6139") + Hash(0xF2FA), + Bytes("693c6139") + Hash(0xF4FA), + Bytes("693c6139") + Hash(0xFAFA), + Bytes("693c6139") + Hash(0xFD), + Bytes("693c6139") + Hash(0xFE), + Bytes("693c6139") + Hash(0xFF), + Bytes("693c6139") + Hash(0xF0), + Bytes("693c6139") + Hash(0xF5), + Bytes("693c6139") + Hash(0xF0F1), + Bytes("693c6139") + Hash(0xF5F1), + Bytes("693c6139") + Hash(0xF0F2), + Bytes("693c6139") + Hash(0xF5F2), + Bytes("693c6139") + Hash(0xF0F4), + Bytes("693c6139") + Hash(0xF5F4), + Bytes("693c6139") + Hash(0xF0FA), + Bytes("693c6139") + Hash(0xF5FA), + ] + tx_gas = [1000000] + + tx = Transaction( + sender=sender, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], + nonce=1, + gas_price=2000, + ) + + post = { + contract_3: Account(storage={0: 10}), + contract_10: Account(storage={0: 24743}), + contract_9: Account(storage={0: 24743}), + } + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1559/test_gas_price_diff_places.py b/tests/ported_static/stEIP1559/test_gas_price_diff_places.py index ff21329e5d3..e291c7968eb 100644 --- a/tests/ported_static/stEIP1559/test_gas_price_diff_places.py +++ b/tests/ported_static/stEIP1559/test_gas_price_diff_places.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP1559/gasPriceDiffPlacesFiller.yml +state_tests/stEIP1559/gasPriceDiffPlacesFiller.yml """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,551 +25,249 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP1559/gasPriceDiffPlacesFiller.yml"], + ["state_tests/stEIP1559/gasPriceDiffPlacesFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f2f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 0, + 0, + 0, + id="normal", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f4f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 1, + 0, + 0, + id="normal", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000faf2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 2, + 0, + 0, + id="normal", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f1f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f2f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f4f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000faf4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f1fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f2fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f4fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000fafa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 10, + 0, + 0, + id="d10", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000fd", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 11, + 0, + 0, + id="d11", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000fe", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 12, + 0, + 0, + id="d12", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 13, + 0, + 0, + id="d13", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f0", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 14, + 0, + 0, + id="d14", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f5", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 15, + 0, + 0, + id="d15", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f0f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 16, + 0, + 0, + id="d16", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f5f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 17, + 0, + 0, + id="d17", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f0f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 18, + 0, + 0, + id="d18", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f5f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 19, + 0, + 0, + id="d19", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f0f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 20, + 0, + 0, + id="d20", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f5f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 21, + 0, + 0, + id="d21", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f0fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 22, + 0, + 0, + id="d22", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f5fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 23, + 0, + 0, + id="d23", ), - ( - "693c613900000000000000000000000000000000000000000000000000000060baccfa57", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 24, + 0, + 0, + id="d24", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f4", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 25, + 0, + 0, + id="d25", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000fa", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 26, + 0, + 0, + id="d26", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f1f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 27, + 0, + 0, + id="d27", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f2f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 28, + 0, + 0, + id="d28", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f4f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 29, + 0, + 0, + id="d29", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000faf1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 30, + 0, + 0, + id="d30", ), - ( - "693c6139000000000000000000000000000000000000000000000000000000000000f1f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 31, + 0, + 0, + id="d31", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f1", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 32, + 0, + 0, + id="d32", ), - ( - "693c613900000000000000000000000000000000000000000000000000000000000000f2", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 33, + 0, + 0, + id="d33", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x0000000000000000000000000000000000060006"): Account( - storage={0: 24743} - ), - Address("0x000000000000000000000000000000000060bacc"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2000} - ), - }, + pytest.param( + 34, + 0, + 0, + id="d34", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - ], ) @pytest.mark.pre_alloc_mutable def test_gas_price_diff_places( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000C0DE) + contract_1 = Address(0x000000000000000000000000000000000020C0DE) + contract_2 = Address(0x00000000000000000000000000000000C0DEC0DE) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + contract_4 = Address(0x000000000000000000000000000000000000CA11) + contract_5 = Address(0x00000000000000000000000000000000CA1100F1) + contract_6 = Address(0x00000000000000000000000000000000CA1100F2) + contract_7 = Address(0x00000000000000000000000000000000CA1100F4) + contract_8 = Address(0x00000000000000000000000000000000CA1100FA) + contract_9 = Address(0x0000000000000000000000000000000000060006) + contract_10 = Address(0x000000000000000000000000000000000060BACC) + contract_11 = Address(0x00000000000000000000000000000000DEADDEAD) + contract_12 = Address(0x00000000000000000000000000000060BACCFA57) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -580,8 +281,8 @@ def test_gas_price_diff_places( gas_limit=4503599627370496, ) - # Source: Yul - # { + # Source: yul + # berlin { # mstore(0, gasprice()) # # @@ -596,44 +297,16 @@ def test_gas_price_diff_places( # mstore(0x40, mload(0x00)) # return(0x3F, 0x21) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GASPRICE) - + Op.MSTORE(offset=0x40, value=Op.MLOAD(offset=0x0)) - + Op.RETURN(offset=0x3F, size=0x21) - ), - balance=0xDE0B6B3A7640000, - address=Address("0x000000000000000000000000000000000000c0de"), # noqa: E501 - ) - # Source: Yul - # { - # mstore(0, gasprice()) - # - # - # return(0, 0x20) // return the result as our return value - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GASPRICE) - + Op.RETURN(offset=0x0, size=0x20) - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.MSTORE(offset=0x40, value=Op.MLOAD(offset=0x0)) + + Op.RETURN(offset=0x3F, size=0x21), balance=0xDE0B6B3A7640000, - address=Address("0x000000000000000000000000000000000000ca11"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.GASPRICE - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.SSTORE - + Op.INVALID - ), - storage={0x0: 0x60A7}, - balance=0xDE0B6B3A7640000, - address=Address("0x0000000000000000000000000000000000060006"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000C0DE), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # mstore(0, gasprice()) # # @@ -641,34 +314,15 @@ def test_gas_price_diff_places( # // Here the result is is mload(0). # return(0x00, 0x20) # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GASPRICE) - + Op.RETURN(offset=0x0, size=0x20) - ), - balance=0xDE0B6B3A7640000, - address=Address("0x000000000000000000000000000000000020c0de"), # noqa: E501 - ) - # Source: Yul - # { - # mstore(0, gasprice()) - # - # - # sstore(0,mload(0)) - # revert(0,0x20) - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GASPRICE) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.REVERT(offset=0x0, size=0x20) - ), - storage={0x0: 0x60A7}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.RETURN(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0x000000000000000000000000000000000060bacc"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000020C0DE), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # let addr := 0x20C0DE # let length := extcodesize(addr) # @@ -678,151 +332,831 @@ def test_gas_price_diff_places( # // Return this memory as the code for the contract # return(0, length) # } - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH3[0x20C0DE] - + Op.DUP2 - + Op.EXTCODESIZE(address=Op.DUP2) - + Op.SWAP3 - + Op.DUP4 - + Op.SWAP3 - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.RETURN - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH3[0x20C0DE] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.RETURN, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000C0DEC0DE), # noqa: E501 + ) + # Source: yul + # berlin { + # let action := calldataload(4) + # let res := 1 // If the result of a call is revert, revert here too + # let addr := 1 // If the result of CREATE[2] is zero, it reverted + # + # // For when we need code in our memory + # let codeBuffer := 0x20 + # // When running the template in the constructor + # let codeLength := extcodesize(0xC0DE) + # // When running the template in the created code + # let codeLength2 := extcodesize(0xC0DEC0DE) + # + # // Goat should be overwritten + # mstore(0, 0x60A7) + # + # switch action + # case 0 { // run the code snippet as normal code + # mstore(0, gasprice()) + # + # + # } + # + # // One level of call stack + # case 0xF1 { // call a contract to run this code + # res := call(gas(), 0xca11, 0, 0, 0, 0, 0x20) // call template code + # } + # case 0xF2 { // callcode a contract to run this code + # res := callcode(gas(), 0xca11, 0, 0, 0, 0, 0x20) + # } + # case 0xF4 { // delegate call a contract to run this code + # ... (269 more lines) + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x60A7) + + Op.PUSH1[0x1] + + Op.DUP1 + + Op.CALLDATALOAD(offset=0x4) + + Op.EXTCODESIZE(address=0xC0DEC0DE) + + Op.PUSH1[0x20] + + Op.EXTCODESIZE(address=0xC0DE) + + Op.JUMPI(pc=0x581, condition=Op.ISZERO(Op.DUP4)) + + Op.JUMPI(pc=0x56B, condition=Op.EQ(0xF1, Op.DUP4)) + + Op.JUMPI(pc=0x555, condition=Op.EQ(0xF2, Op.DUP4)) + + Op.JUMPI(pc=0x540, condition=Op.EQ(0xF4, Op.DUP4)) + + Op.JUMPI(pc=0x52B, condition=Op.EQ(0xFA, Op.DUP4)) + + Op.JUMPI(pc=0x513, condition=Op.EQ(0xF1F1, Op.DUP4)) + + Op.JUMPI(pc=0x4FB, condition=Op.EQ(0xF2F1, Op.DUP4)) + + Op.JUMPI(pc=0x4E4, condition=Op.EQ(0xF4F1, Op.DUP4)) + + Op.JUMPI(pc=0x4CD, condition=Op.EQ(0xFAF1, Op.DUP4)) + + Op.JUMPI(pc=0x4B5, condition=Op.EQ(0xF1F2, Op.DUP4)) + + Op.JUMPI(pc=0x49D, condition=Op.EQ(0xF2F2, Op.DUP4)) + + Op.JUMPI(pc=0x486, condition=Op.EQ(0xF4F2, Op.DUP4)) + + Op.JUMPI(pc=0x46F, condition=Op.EQ(0xFAF2, Op.DUP4)) + + Op.JUMPI(pc=0x457, condition=Op.EQ(0xF1F4, Op.DUP4)) + + Op.JUMPI(pc=0x43F, condition=Op.EQ(0xF2F4, Op.DUP4)) + + Op.JUMPI(pc=0x428, condition=Op.EQ(0xF4F4, Op.DUP4)) + + Op.JUMPI(pc=0x411, condition=Op.EQ(0xFAF4, Op.DUP4)) + + Op.JUMPI(pc=0x3F9, condition=Op.EQ(0xF1FA, Op.DUP4)) + + Op.JUMPI(pc=0x3E1, condition=Op.EQ(0xF2FA, Op.DUP4)) + + Op.JUMPI(pc=0x3CA, condition=Op.EQ(0xF4FA, Op.DUP4)) + + Op.JUMPI(pc=0x3B3, condition=Op.EQ(0xFAFA, Op.DUP4)) + + Op.JUMPI(pc=0x37E, condition=Op.EQ(0xFD, Op.DUP4)) + + Op.JUMPI(pc=0x347, condition=Op.EQ(0xFE, Op.DUP4)) + + Op.JUMPI(pc=0x311, condition=Op.EQ(0xFF, Op.DUP4)) + + Op.JUMPI(pc=0x2EB, condition=Op.EQ(0xF0, Op.DUP4)) + + Op.JUMPI(pc=0x2C1, condition=Op.EQ(0xF5, Op.DUP4)) + + Op.POP + + Op.JUMPI(pc=0x297, condition=Op.EQ(0xF0F1, Op.DUP3)) + + Op.JUMPI(pc=0x26B, condition=Op.EQ(0xF5F1, Op.DUP3)) + + Op.JUMPI(pc=0x248, condition=Op.EQ(0xF0F2, Op.DUP3)) + + Op.JUMPI(pc=0x223, condition=Op.EQ(0xF5F2, Op.DUP3)) + + Op.JUMPI(pc=0x201, condition=Op.EQ(0xF0F4, Op.DUP3)) + + Op.JUMPI(pc=0x1DD, condition=Op.EQ(0xF5F4, Op.DUP3)) + + Op.JUMPI(pc=0x1B4, condition=Op.EQ(0xF0FA, Op.DUP3)) + + Op.JUMPI(pc=0x189, condition=Op.EQ(0xF5FA, Op.DUP3)) + + Op.POP * 2 + + Op.PUSH5[0x60BACCFA57] + + Op.JUMPI(pc=0x16E, condition=Op.EQ) + + Op.MSTORE(offset=0x0, value=0xBAD0BAD0BAD0) + + Op.JUMPDEST + + Op.JUMPI(pc=0x168, condition=Op.ISZERO) * 2 + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.POP + + Op.MSTORE(offset=0x0, value=0x3FF) + + Op.CALL( + gas=Op.GAS, + address=0x60BACCFA57, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.STATICCALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.STATICCALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE2 + + Op.DELEGATECALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE + + Op.DELEGATECALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE2 + + Op.CALLCODE( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE + + Op.CALLCODE( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.CALL( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.CALL( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP3 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP3 + + Op.SWAP4 + + Op.POP + + Op.EXTCODECOPY( + address=0xC0DE, dest_offset=Op.DUP3, offset=0x0, size=Op.DUP2 + ) + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.SWAP1 + + Op.EXTCODECOPY( + address=Op.DUP5, dest_offset=0x0, offset=0x1, size=0x20 + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP4 + + Op.SWAP5 + + Op.POP + + Op.SWAP2 + + Op.POP * 2 + + Op.EXTCODECOPY( + address=0xC0DE, dest_offset=Op.DUP3, offset=0x0, size=Op.DUP2 + ) + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.SWAP1 + + Op.EXTCODECOPY( + address=Op.DUP5, dest_offset=0x0, offset=0x1, size=0x20 + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEADDEAD, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.GASPRICE + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.SLOAD + + Op.JUMPI(pc=0x156, condition=Op.EQ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=0x61A8, + address=0x60006, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.GASPRICE + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.SLOAD + + Op.JUMPI(pc=0x156, condition=Op.EQ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x60BACC, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.GASPRICE + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.SLOAD + + Op.JUMPI(pc=0x156, condition=Op.EQ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100FA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100FA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100FA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100FA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F4, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F4, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F4, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F4, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F2, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F2, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F2, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F2, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F1, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F1, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.JUMP(pc=0x156), + storage={0: 24743}, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + # Source: yul + # berlin { + # mstore(0, gasprice()) + # + # + # return(0, 0x20) // return the result as our return value + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.RETURN(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000c0dec0de"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000CA11), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # if iszero(call(gas(), 0xca11, 0, 0, 0, 0, 0x20)) # { revert(0,0x20) } # # return(0, 0x20) // return the result as our return value # } - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x15, - condition=Op.ISZERO( - Op.CALL( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ), - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - ), + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x15, + condition=Op.ISZERO( + Op.CALL( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000ca1100f1"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F1), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # if iszero(callcode(gas(), 0xca11, 0, 0, 0, 0, 0x20)) # { revert(0,0x20) } # # return(0, 0x20) // return the result as our return value # } - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x15, - condition=Op.ISZERO( - Op.CALLCODE( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ), - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - ), + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x15, + condition=Op.ISZERO( + Op.CALLCODE( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000ca1100f2"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F2), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # if iszero(delegatecall(gas(), 0xca11, 0, 0, 0, 0x20)) # { revert(0,0x20) } # # return(0, 0x20) // return the result as our return value # } - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x14, - condition=Op.ISZERO( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ), - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - ), + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x14, + condition=Op.ISZERO( + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000ca1100f4"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F4), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # if iszero(staticcall(gas(), 0xca11, 0, 0, 0, 0x20)) # { revert(0,0x20) } # # return(0, 0x20) // return the result as our return value # } - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x14, - condition=Op.ISZERO( - Op.STATICCALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ), - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - ), + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x14, + condition=Op.ISZERO( + Op.STATICCALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100FA), # noqa: E501 + ) + # Source: yul + # berlin { + # mstore(0, gasprice()) + # + # + # sstore(0,mload(0)) + # invalid() + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.GASPRICE + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.SSTORE + + Op.INVALID, + storage={0: 24743}, balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000ca1100fa"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000060006), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { + # mstore(0, gasprice()) + # + # + # sstore(0,mload(0)) + # revert(0,0x20) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.REVERT(offset=0x0, size=0x20), + storage={0: 24743}, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x000000000000000000000000000000000060BACC), # noqa: E501 + ) + # Source: yul + # berlin { # selfdestruct(0) # } - pre.deploy_contract( + contract_11 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x0), balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000000deaddead"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000DEADDEAD), # noqa: E501 ) - # Source: Yul - # { + # Source: yul + # berlin { # let depth := calldataload(0) # # if eq(depth,0) { @@ -844,792 +1178,90 @@ def test_gas_price_diff_places( # // Propagate success # return (0, 0x20) # } - pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.JUMPI(pc=0x2D, condition=Op.ISZERO(Op.DUP1)) - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.MSTORE(offset=0x0, value=Op.SUB) - + Op.JUMPI( - pc=0x27, - condition=Op.ISZERO( - Op.CALL( - gas=Op.GAS, - address=0x60BACCFA57, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x20, - ), - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GASPRICE) - + Op.RETURN(offset=0x0, size=0x20) - ), - balance=0xDE0B6B3A7640000, - address=Address("0x00000000000000000000000000000060baccfa57"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3635C9ADC5DEA00000, nonce=1) - # Source: Yul - # { - # let action := calldataload(4) - # let res := 1 // If the result of a call is revert, revert here too - # let addr := 1 // If the result of CREATE[2] is zero, it reverted - # - # // For when we need code in our memory - # let codeBuffer := 0x20 - # // When running the template in the constructor - # let codeLength := extcodesize(0xC0DE) - # // When running the template in the created code - # let codeLength2 := extcodesize(0xC0DEC0DE) - # - # // Goat should be overwritten - # mstore(0, 0x60A7) - # - # switch action - # case 0 { // run the code snippet as normal code - # mstore(0, gasprice()) - # - # - # } - # - # // One level of call stack - # case 0xF1 { // call a contract to run this code - # res := call(gas(), 0xca11, 0, 0, 0, 0, 0x20) // call template code - # } - # case 0xF2 { // callcode a contract to run this code - # res := callcode(gas(), 0xca11, 0, 0, 0, 0, 0x20) - # } - # case 0xF4 { // delegate call a contract to run this code - # ... (269 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x60A7) - + Op.PUSH1[0x1] - + Op.DUP1 - + Op.CALLDATALOAD(offset=0x4) - + Op.EXTCODESIZE(address=0xC0DEC0DE) - + Op.PUSH1[0x20] - + Op.EXTCODESIZE(address=0xC0DE) - + Op.JUMPI(pc=0x581, condition=Op.ISZERO(Op.DUP4)) - + Op.JUMPI(pc=0x56B, condition=Op.EQ(0xF1, Op.DUP4)) - + Op.JUMPI(pc=0x555, condition=Op.EQ(0xF2, Op.DUP4)) - + Op.JUMPI(pc=0x540, condition=Op.EQ(0xF4, Op.DUP4)) - + Op.JUMPI(pc=0x52B, condition=Op.EQ(0xFA, Op.DUP4)) - + Op.JUMPI(pc=0x513, condition=Op.EQ(0xF1F1, Op.DUP4)) - + Op.JUMPI(pc=0x4FB, condition=Op.EQ(0xF2F1, Op.DUP4)) - + Op.JUMPI(pc=0x4E4, condition=Op.EQ(0xF4F1, Op.DUP4)) - + Op.JUMPI(pc=0x4CD, condition=Op.EQ(0xFAF1, Op.DUP4)) - + Op.JUMPI(pc=0x4B5, condition=Op.EQ(0xF1F2, Op.DUP4)) - + Op.JUMPI(pc=0x49D, condition=Op.EQ(0xF2F2, Op.DUP4)) - + Op.JUMPI(pc=0x486, condition=Op.EQ(0xF4F2, Op.DUP4)) - + Op.JUMPI(pc=0x46F, condition=Op.EQ(0xFAF2, Op.DUP4)) - + Op.JUMPI(pc=0x457, condition=Op.EQ(0xF1F4, Op.DUP4)) - + Op.JUMPI(pc=0x43F, condition=Op.EQ(0xF2F4, Op.DUP4)) - + Op.JUMPI(pc=0x428, condition=Op.EQ(0xF4F4, Op.DUP4)) - + Op.JUMPI(pc=0x411, condition=Op.EQ(0xFAF4, Op.DUP4)) - + Op.JUMPI(pc=0x3F9, condition=Op.EQ(0xF1FA, Op.DUP4)) - + Op.JUMPI(pc=0x3E1, condition=Op.EQ(0xF2FA, Op.DUP4)) - + Op.JUMPI(pc=0x3CA, condition=Op.EQ(0xF4FA, Op.DUP4)) - + Op.JUMPI(pc=0x3B3, condition=Op.EQ(0xFAFA, Op.DUP4)) - + Op.JUMPI(pc=0x37E, condition=Op.EQ(0xFD, Op.DUP4)) - + Op.JUMPI(pc=0x347, condition=Op.EQ(0xFE, Op.DUP4)) - + Op.JUMPI(pc=0x311, condition=Op.EQ(0xFF, Op.DUP4)) - + Op.JUMPI(pc=0x2EB, condition=Op.EQ(0xF0, Op.DUP4)) - + Op.JUMPI(pc=0x2C1, condition=Op.EQ(0xF5, Op.DUP4)) - + Op.POP - + Op.JUMPI(pc=0x297, condition=Op.EQ(0xF0F1, Op.DUP3)) - + Op.JUMPI(pc=0x26B, condition=Op.EQ(0xF5F1, Op.DUP3)) - + Op.JUMPI(pc=0x248, condition=Op.EQ(0xF0F2, Op.DUP3)) - + Op.JUMPI(pc=0x223, condition=Op.EQ(0xF5F2, Op.DUP3)) - + Op.JUMPI(pc=0x201, condition=Op.EQ(0xF0F4, Op.DUP3)) - + Op.JUMPI(pc=0x1DD, condition=Op.EQ(0xF5F4, Op.DUP3)) - + Op.JUMPI(pc=0x1B4, condition=Op.EQ(0xF0FA, Op.DUP3)) - + Op.JUMPI(pc=0x189, condition=Op.EQ(0xF5FA, Op.DUP3)) - + Op.POP - + Op.POP - + Op.PUSH5[0x60BACCFA57] - + Op.JUMPI(pc=0x16E, condition=Op.EQ) - + Op.MSTORE(offset=0x0, value=0xBAD0BAD0BAD0) - + Op.JUMPDEST - + Op.JUMPI(pc=0x168, condition=Op.ISZERO) - + Op.JUMPI(pc=0x168, condition=Op.ISZERO) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.JUMPDEST - + Op.REVERT(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.POP - + Op.MSTORE(offset=0x0, value=0x3FF) - + Op.CALL( - gas=Op.GAS, - address=0x60BACCFA57, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP2 - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP4 - + Op.POP - + Op.DUP1 - + Op.SWAP3 - + Op.POP - + Op.PUSH1[0x0] - + Op.DUP3 - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE2 - + Op.STATICCALL( - gas=Op.GAS, - address=Op.DUP5, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.DUP2 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.SWAP3 - + Op.POP - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE - + Op.STATICCALL( - gas=Op.GAS, - address=Op.DUP5, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP2 - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP4 - + Op.POP - + Op.DUP1 - + Op.SWAP3 - + Op.POP - + Op.PUSH1[0x0] - + Op.DUP3 - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.CREATE2 - + Op.DELEGATECALL( - gas=Op.GAS, - address=Op.DUP5, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.DUP2 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.SWAP3 - + Op.POP - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.CREATE - + Op.DELEGATECALL( - gas=Op.GAS, - address=Op.DUP5, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP2 - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP4 - + Op.POP - + Op.DUP1 - + Op.SWAP3 - + Op.POP - + Op.PUSH1[0x0] - + Op.DUP3 - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.CREATE2 - + Op.CALLCODE( - gas=Op.GAS, - address=Op.DUP6, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.DUP2 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.SWAP3 - + Op.POP - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH1[0x0] - + Op.CREATE - + Op.CALLCODE( - gas=Op.GAS, - address=Op.DUP6, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP2 - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP4 - + Op.POP - + Op.DUP1 - + Op.SWAP3 - + Op.POP - + Op.PUSH1[0x0] - + Op.DUP3 - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE2 - + Op.CALL( - gas=Op.GAS, - address=Op.DUP6, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.DUP2 - + Op.SWAP5 - + Op.POP - + Op.DUP1 - + Op.SWAP4 - + Op.POP - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.SWAP3 - + Op.POP - + Op.PUSH4[0xC0DEC0DE] - + Op.EXTCODECOPY - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE - + Op.CALL( - gas=Op.GAS, - address=Op.DUP6, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP3 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP3 - + Op.SWAP4 - + Op.POP - + Op.EXTCODECOPY( - address=0xC0DE, - dest_offset=Op.DUP3, - offset=0x0, - size=Op.DUP2, - ) - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE2 - + Op.SWAP1 - + Op.EXTCODECOPY( - address=Op.DUP5, - dest_offset=0x0, - offset=0x1, - size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.SWAP4 - + Op.SWAP5 - + Op.POP - + Op.SWAP2 - + Op.POP - + Op.POP - + Op.EXTCODECOPY( - address=0xC0DE, - dest_offset=Op.DUP3, - offset=0x0, - size=Op.DUP2, - ) - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.CREATE - + Op.SWAP1 - + Op.EXTCODECOPY( - address=Op.DUP5, - dest_offset=0x0, - offset=0x1, - size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x0, value=Op.GASPRICE) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEADDEAD, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GASPRICE - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.SLOAD - + Op.JUMPI(pc=0x156, condition=Op.EQ) - + Op.MSTORE(offset=0x0, value=0xBADBADBAD) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x0, value=Op.GASPRICE) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.POP( - Op.CALL( - gas=0x61A8, - address=0x60006, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GASPRICE - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.SLOAD - + Op.JUMPI(pc=0x156, condition=Op.EQ) - + Op.MSTORE(offset=0x0, value=0xBADBADBAD) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x0, value=Op.GASPRICE) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.POP( + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.JUMPI(pc=0x2D, condition=Op.ISZERO(Op.DUP1)) + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.MSTORE(offset=0x0, value=Op.SUB) + + Op.JUMPI( + pc=0x27, + condition=Op.ISZERO( Op.CALL( gas=Op.GAS, - address=0x60BACC, + address=0x60BACCFA57, value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GASPRICE - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.SLOAD - + Op.JUMPI(pc=0x156, condition=Op.EQ) - + Op.MSTORE(offset=0x0, value=0xBADBADBAD) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.STATICCALL( - gas=Op.GAS, - address=0xCA1100FA, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA1100FA, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALLCODE( - gas=Op.GAS, - address=0xCA1100FA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xCA1100FA, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.STATICCALL( - gas=Op.GAS, - address=0xCA1100F4, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA1100F4, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALLCODE( - gas=Op.GAS, - address=0xCA1100F4, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xCA1100F4, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.STATICCALL( - gas=Op.GAS, - address=0xCA1100F2, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA1100F2, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALLCODE( - gas=Op.GAS, - address=0xCA1100F2, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xCA1100F2, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.STATICCALL( - gas=Op.GAS, - address=0xCA1100F1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA1100F1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALLCODE( - gas=Op.GAS, - address=0xCA1100F1, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xCA1100F1, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.STATICCALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA11, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALLCODE( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xCA11, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x0, value=Op.GASPRICE) - + Op.JUMP(pc=0x156) - ), - storage={0x0: 0x60A7}, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.RETURN(offset=0x0, size=0x20), balance=0xDE0B6B3A7640000, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000060BACCFA57), # noqa: E501 ) + pre[sender] = Account(balance=0x3635C9ADC5DEA00000, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0xF1), + Bytes("693c6139") + Hash(0xF2), + Bytes("693c6139") + Hash(0xF4), + Bytes("693c6139") + Hash(0xFA), + Bytes("693c6139") + Hash(0xF1F1), + Bytes("693c6139") + Hash(0xF2F1), + Bytes("693c6139") + Hash(0xF4F1), + Bytes("693c6139") + Hash(0xFAF1), + Bytes("693c6139") + Hash(0xF1F2), + Bytes("693c6139") + Hash(0xF2F2), + Bytes("693c6139") + Hash(0xF4F2), + Bytes("693c6139") + Hash(0xFAF2), + Bytes("693c6139") + Hash(0xF1F4), + Bytes("693c6139") + Hash(0xF2F4), + Bytes("693c6139") + Hash(0xF4F4), + Bytes("693c6139") + Hash(0xFAF4), + Bytes("693c6139") + Hash(0xF1FA), + Bytes("693c6139") + Hash(0xF2FA), + Bytes("693c6139") + Hash(0xF4FA), + Bytes("693c6139") + Hash(0xFAFA), + Bytes("693c6139") + Hash(0xFD), + Bytes("693c6139") + Hash(0xFE), + Bytes("693c6139") + Hash(0xFF), + Bytes("693c6139") + Hash(0xF0), + Bytes("693c6139") + Hash(0xF5), + Bytes("693c6139") + Hash(0xF0F1), + Bytes("693c6139") + Hash(0xF5F1), + Bytes("693c6139") + Hash(0xF0F2), + Bytes("693c6139") + Hash(0xF5F2), + Bytes("693c6139") + Hash(0xF0F4), + Bytes("693c6139") + Hash(0xF5F4), + Bytes("693c6139") + Hash(0xF0FA), + Bytes("693c6139") + Hash(0xF5FA), + Bytes("693c6139") + Hash(contract_12, left_padding=True), + ] + tx_gas = [4503599627370496] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=4503599627370496, - gas_price=2000, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + gas_price=2000, ) - post = expected_post + post = { + contract_3: Account(storage={0: 2000}), + contract_10: Account(storage={0: 24743}), + contract_9: Account(storage={0: 24743}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1559/test_gas_price_diff_places_osaka.py b/tests/ported_static/stEIP1559/test_gas_price_diff_places_osaka.py new file mode 100644 index 00000000000..09c943cc425 --- /dev/null +++ b/tests/ported_static/stEIP1559/test_gas_price_diff_places_osaka.py @@ -0,0 +1,1259 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/stEIP1559/gasPriceDiffPlacesOsakaFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/stEIP1559/gasPriceDiffPlacesOsakaFiller.yml"], +) +@pytest.mark.valid_from("Osaka") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="normal", + ), + pytest.param( + 1, + 0, + 0, + id="normal", + ), + pytest.param( + 2, + 0, + 0, + id="normal", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_gas_price_diff_places( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000C0DE) + contract_1 = Address(0x000000000000000000000000000000000020C0DE) + contract_2 = Address(0x00000000000000000000000000000000C0DEC0DE) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + contract_4 = Address(0x000000000000000000000000000000000000CA11) + contract_5 = Address(0x00000000000000000000000000000000CA1100F1) + contract_6 = Address(0x00000000000000000000000000000000CA1100F2) + contract_7 = Address(0x00000000000000000000000000000000CA1100F4) + contract_8 = Address(0x00000000000000000000000000000000CA1100FA) + contract_9 = Address(0x0000000000000000000000000000000000060006) + contract_10 = Address(0x000000000000000000000000000000000060BACC) + contract_11 = Address(0x00000000000000000000000000000000DEADDEAD) + contract_12 = Address(0x00000000000000000000000000000060BACCFA57) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=4503599627370496, + ) + + # Source: yul + # berlin { + # mstore(0, gasprice()) + # + # + # + # // Here the result is is mload(0). We want to run it, but + # // prefix it with a zero so we'll be safe from being considered + # // an invalid program. + # // + # // If we use this as a constructor the result will be + # // the code of the created contract, but we can live + # // with that. We won't call it. + # mstore(0x40, mload(0x00)) + # return(0x3F, 0x21) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.MSTORE(offset=0x40, value=Op.MLOAD(offset=0x0)) + + Op.RETURN(offset=0x3F, size=0x21), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x000000000000000000000000000000000000C0DE), # noqa: E501 + ) + # Source: yul + # berlin { + # mstore(0, gasprice()) + # + # + # + # // Here the result is is mload(0). + # return(0x00, 0x20) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.RETURN(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x000000000000000000000000000000000020C0DE), # noqa: E501 + ) + # Source: yul + # berlin { + # let addr := 0x20C0DE + # let length := extcodesize(addr) + # + # // Read the code from 0x20C0DE + # extcodecopy(addr, 0, 0, length) + # + # // Return this memory as the code for the contract + # return(0, length) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.PUSH3[0x20C0DE] + + Op.DUP2 + + Op.EXTCODESIZE(address=Op.DUP2) + + Op.SWAP3 + + Op.DUP4 + + Op.SWAP3 + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.RETURN, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000C0DEC0DE), # noqa: E501 + ) + # Source: yul + # berlin { + # let action := calldataload(4) + # let res := 1 // If the result of a call is revert, revert here too + # let addr := 1 // If the result of CREATE[2] is zero, it reverted + # + # // For when we need code in our memory + # let codeBuffer := 0x20 + # // When running the template in the constructor + # let codeLength := extcodesize(0xC0DE) + # // When running the template in the created code + # let codeLength2 := extcodesize(0xC0DEC0DE) + # + # // Goat should be overwritten + # mstore(0, 0x60A7) + # + # switch action + # case 0 { // run the code snippet as normal code + # mstore(0, gasprice()) + # + # + # } + # + # // One level of call stack + # case 0xF1 { // call a contract to run this code + # res := call(gas(), 0xca11, 0, 0, 0, 0, 0x20) // call template code + # } + # case 0xF2 { // callcode a contract to run this code + # res := callcode(gas(), 0xca11, 0, 0, 0, 0, 0x20) + # } + # case 0xF4 { // delegate call a contract to run this code + # ... (269 more lines) + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x60A7) + + Op.PUSH1[0x1] + + Op.DUP1 + + Op.CALLDATALOAD(offset=0x4) + + Op.EXTCODESIZE(address=0xC0DEC0DE) + + Op.PUSH1[0x20] + + Op.EXTCODESIZE(address=0xC0DE) + + Op.JUMPI(pc=0x581, condition=Op.ISZERO(Op.DUP4)) + + Op.JUMPI(pc=0x56B, condition=Op.EQ(0xF1, Op.DUP4)) + + Op.JUMPI(pc=0x555, condition=Op.EQ(0xF2, Op.DUP4)) + + Op.JUMPI(pc=0x540, condition=Op.EQ(0xF4, Op.DUP4)) + + Op.JUMPI(pc=0x52B, condition=Op.EQ(0xFA, Op.DUP4)) + + Op.JUMPI(pc=0x513, condition=Op.EQ(0xF1F1, Op.DUP4)) + + Op.JUMPI(pc=0x4FB, condition=Op.EQ(0xF2F1, Op.DUP4)) + + Op.JUMPI(pc=0x4E4, condition=Op.EQ(0xF4F1, Op.DUP4)) + + Op.JUMPI(pc=0x4CD, condition=Op.EQ(0xFAF1, Op.DUP4)) + + Op.JUMPI(pc=0x4B5, condition=Op.EQ(0xF1F2, Op.DUP4)) + + Op.JUMPI(pc=0x49D, condition=Op.EQ(0xF2F2, Op.DUP4)) + + Op.JUMPI(pc=0x486, condition=Op.EQ(0xF4F2, Op.DUP4)) + + Op.JUMPI(pc=0x46F, condition=Op.EQ(0xFAF2, Op.DUP4)) + + Op.JUMPI(pc=0x457, condition=Op.EQ(0xF1F4, Op.DUP4)) + + Op.JUMPI(pc=0x43F, condition=Op.EQ(0xF2F4, Op.DUP4)) + + Op.JUMPI(pc=0x428, condition=Op.EQ(0xF4F4, Op.DUP4)) + + Op.JUMPI(pc=0x411, condition=Op.EQ(0xFAF4, Op.DUP4)) + + Op.JUMPI(pc=0x3F9, condition=Op.EQ(0xF1FA, Op.DUP4)) + + Op.JUMPI(pc=0x3E1, condition=Op.EQ(0xF2FA, Op.DUP4)) + + Op.JUMPI(pc=0x3CA, condition=Op.EQ(0xF4FA, Op.DUP4)) + + Op.JUMPI(pc=0x3B3, condition=Op.EQ(0xFAFA, Op.DUP4)) + + Op.JUMPI(pc=0x37E, condition=Op.EQ(0xFD, Op.DUP4)) + + Op.JUMPI(pc=0x347, condition=Op.EQ(0xFE, Op.DUP4)) + + Op.JUMPI(pc=0x311, condition=Op.EQ(0xFF, Op.DUP4)) + + Op.JUMPI(pc=0x2EB, condition=Op.EQ(0xF0, Op.DUP4)) + + Op.JUMPI(pc=0x2C1, condition=Op.EQ(0xF5, Op.DUP4)) + + Op.POP + + Op.JUMPI(pc=0x297, condition=Op.EQ(0xF0F1, Op.DUP3)) + + Op.JUMPI(pc=0x26B, condition=Op.EQ(0xF5F1, Op.DUP3)) + + Op.JUMPI(pc=0x248, condition=Op.EQ(0xF0F2, Op.DUP3)) + + Op.JUMPI(pc=0x223, condition=Op.EQ(0xF5F2, Op.DUP3)) + + Op.JUMPI(pc=0x201, condition=Op.EQ(0xF0F4, Op.DUP3)) + + Op.JUMPI(pc=0x1DD, condition=Op.EQ(0xF5F4, Op.DUP3)) + + Op.JUMPI(pc=0x1B4, condition=Op.EQ(0xF0FA, Op.DUP3)) + + Op.JUMPI(pc=0x189, condition=Op.EQ(0xF5FA, Op.DUP3)) + + Op.POP * 2 + + Op.PUSH5[0x60BACCFA57] + + Op.JUMPI(pc=0x16E, condition=Op.EQ) + + Op.MSTORE(offset=0x0, value=0xBAD0BAD0BAD0) + + Op.JUMPDEST + + Op.JUMPI(pc=0x168, condition=Op.ISZERO) * 2 + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.POP + + Op.MSTORE(offset=0x0, value=0x3FF) + + Op.CALL( + gas=Op.GAS, + address=0x60BACCFA57, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.STATICCALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.STATICCALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE2 + + Op.DELEGATECALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE + + Op.DELEGATECALL( + gas=Op.GAS, + address=Op.DUP5, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE2 + + Op.CALLCODE( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.CREATE + + Op.CALLCODE( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP2 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP4 + + Op.POP + + Op.DUP1 + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.CALL( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP5 + + Op.POP + + Op.DUP1 + + Op.SWAP4 + + Op.POP + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.SWAP3 + + Op.POP + + Op.PUSH4[0xC0DEC0DE] + + Op.EXTCODECOPY + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.CALL( + gas=Op.GAS, + address=Op.DUP6, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP3 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP3 + + Op.SWAP4 + + Op.POP + + Op.EXTCODECOPY( + address=0xC0DE, dest_offset=Op.DUP3, offset=0x0, size=Op.DUP2 + ) + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE2 + + Op.SWAP1 + + Op.EXTCODECOPY( + address=Op.DUP5, dest_offset=0x0, offset=0x1, size=0x20 + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.SWAP4 + + Op.SWAP5 + + Op.POP + + Op.SWAP2 + + Op.POP * 2 + + Op.EXTCODECOPY( + address=0xC0DE, dest_offset=Op.DUP3, offset=0x0, size=Op.DUP2 + ) + + Op.PUSH8[0xDE0B6B3A7640000] + + Op.CREATE + + Op.SWAP1 + + Op.EXTCODECOPY( + address=Op.DUP5, dest_offset=0x0, offset=0x1, size=0x20 + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEADDEAD, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.GASPRICE + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.SLOAD + + Op.JUMPI(pc=0x156, condition=Op.EQ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=0x61A8, + address=0x60006, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.GASPRICE + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.SLOAD + + Op.JUMPI(pc=0x156, condition=Op.EQ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x60BACC, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.GASPRICE + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.SLOAD + + Op.JUMPI(pc=0x156, condition=Op.EQ) + + Op.MSTORE(offset=0x0, value=0xBADBADBAD) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100FA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100FA, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100FA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100FA, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F4, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F4, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F4, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F4, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F2, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F2, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F2, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F2, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA1100F1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA1100F1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA1100F1, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA1100F1, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.STATICCALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALLCODE( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 5 + + Op.CALL( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.POP * 4 + + Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.JUMP(pc=0x156), + storage={0: 24743}, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + # Source: yul + # berlin { + # mstore(0, gasprice()) + # + # + # return(0, 0x20) // return the result as our return value + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.RETURN(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x000000000000000000000000000000000000CA11), # noqa: E501 + ) + # Source: yul + # berlin { + # if iszero(call(gas(), 0xca11, 0, 0, 0, 0, 0x20)) + # { revert(0,0x20) } + # + # return(0, 0x20) // return the result as our return value + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x15, + condition=Op.ISZERO( + Op.CALL( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F1), # noqa: E501 + ) + # Source: yul + # berlin { + # if iszero(callcode(gas(), 0xca11, 0, 0, 0, 0, 0x20)) + # { revert(0,0x20) } + # + # return(0, 0x20) // return the result as our return value + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x15, + condition=Op.ISZERO( + Op.CALLCODE( + gas=Op.GAS, + address=0xCA11, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F2), # noqa: E501 + ) + # Source: yul + # berlin { + # if iszero(delegatecall(gas(), 0xca11, 0, 0, 0, 0x20)) + # { revert(0,0x20) } + # + # return(0, 0x20) // return the result as our return value + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x14, + condition=Op.ISZERO( + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100F4), # noqa: E501 + ) + # Source: yul + # berlin { + # if iszero(staticcall(gas(), 0xca11, 0, 0, 0, 0x20)) + # { revert(0,0x20) } + # + # return(0, 0x20) // return the result as our return value + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x14, + condition=Op.ISZERO( + Op.STATICCALL( + gas=Op.GAS, + address=0xCA11, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000CA1100FA), # noqa: E501 + ) + # Source: yul + # berlin { + # mstore(0, gasprice()) + # + # + # sstore(0,mload(0)) + # invalid() + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.GASPRICE + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.SSTORE + + Op.INVALID, + storage={0: 24743}, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x0000000000000000000000000000000000060006), # noqa: E501 + ) + # Source: yul + # berlin { + # mstore(0, gasprice()) + # + # + # sstore(0,mload(0)) + # revert(0,0x20) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.REVERT(offset=0x0, size=0x20), + storage={0: 24743}, + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x000000000000000000000000000000000060BACC), # noqa: E501 + ) + # Source: yul + # berlin { + # selfdestruct(0) + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=0x0), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000000DEADDEAD), # noqa: E501 + ) + # Source: yul + # berlin { + # let depth := calldataload(0) + # + # if eq(depth,0) { + # mstore(0, gasprice()) + # + # + # return(0, 0x20) + # } + # + # // Dig deeper + # mstore(0, sub(depth,1)) + # + # // Call yourself with depth-1 + # if iszero(call(gas(), 0x60BACCFA57, 0, 0, 0x20, 0, 0x20)) { + # // Propagate failure if we failed + # revert(0, 0x20) + # } + # + # // Propagate success + # return (0, 0x20) + # } + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.JUMPI(pc=0x2D, condition=Op.ISZERO(Op.DUP1)) + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.MSTORE(offset=0x0, value=Op.SUB) + + Op.JUMPI( + pc=0x27, + condition=Op.ISZERO( + Op.CALL( + gas=Op.GAS, + address=0x60BACCFA57, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x20, + ) + ), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.REVERT(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GASPRICE) + + Op.RETURN(offset=0x0, size=0x20), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x00000000000000000000000000000060BACCFA57), # noqa: E501 + ) + pre[sender] = Account(balance=0x3635C9ADC5DEA00000, nonce=1) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0xF1), + Bytes("693c6139") + Hash(0xF2), + Bytes("693c6139") + Hash(0xF4), + Bytes("693c6139") + Hash(0xFA), + Bytes("693c6139") + Hash(0xF1F1), + Bytes("693c6139") + Hash(0xF2F1), + Bytes("693c6139") + Hash(0xF4F1), + Bytes("693c6139") + Hash(0xFAF1), + Bytes("693c6139") + Hash(0xF1F2), + Bytes("693c6139") + Hash(0xF2F2), + Bytes("693c6139") + Hash(0xF4F2), + Bytes("693c6139") + Hash(0xFAF2), + Bytes("693c6139") + Hash(0xF1F4), + Bytes("693c6139") + Hash(0xF2F4), + Bytes("693c6139") + Hash(0xF4F4), + Bytes("693c6139") + Hash(0xFAF4), + Bytes("693c6139") + Hash(0xF1FA), + Bytes("693c6139") + Hash(0xF2FA), + Bytes("693c6139") + Hash(0xF4FA), + Bytes("693c6139") + Hash(0xFAFA), + Bytes("693c6139") + Hash(0xFD), + Bytes("693c6139") + Hash(0xFE), + Bytes("693c6139") + Hash(0xFF), + Bytes("693c6139") + Hash(0xF0), + Bytes("693c6139") + Hash(0xF5), + Bytes("693c6139") + Hash(0xF0F1), + Bytes("693c6139") + Hash(0xF5F1), + Bytes("693c6139") + Hash(0xF0F2), + Bytes("693c6139") + Hash(0xF5F2), + Bytes("693c6139") + Hash(0xF0F4), + Bytes("693c6139") + Hash(0xF5F4), + Bytes("693c6139") + Hash(0xF0FA), + Bytes("693c6139") + Hash(0xF5FA), + ] + tx_gas = [1000000] + + tx = Transaction( + sender=sender, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], + nonce=1, + gas_price=2000, + ) + + post = { + contract_3: Account(storage={0: 2000}), + contract_10: Account(storage={0: 24743}), + contract_9: Account(storage={0: 24743}), + } + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1559/test_low_fee_cap.py b/tests/ported_static/stEIP1559/test_low_fee_cap.py index 847c19db5ae..3d4f4f31f76 100644 --- a/tests/ported_static/stEIP1559/test_low_fee_cap.py +++ b/tests/ported_static/stEIP1559/test_low_fee_cap.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP1559/lowFeeCapFiller.yml +state_tests/stEIP1559/lowFeeCapFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,17 +24,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP1559/lowFeeCapFiller.yml"], + ["state_tests/stEIP1559/lowFeeCapFiller.yml"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.exception_test +@pytest.mark.pre_alloc_mutable def test_low_fee_cap( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xDE0C95357363DA5C1C5A73BD7C2781CA5C9FECC1014103B5E1D1E990AE8208EC ) @@ -47,27 +48,28 @@ def test_low_fee_cap( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: Yul - # { + # Source: yul + # berlin { # sstore(0, add(1,1)) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x2) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd71b14c239fc39327f25764dd784c85ef0285fda"), # noqa: E501 + address=Address(0xD71B14C239FC39327F25764DD784C85EF0285FDA), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=400000, + value=0x186A0, max_fee_per_gas=999, max_priority_fee_per_gas=100, nonce=1, - value=100000, + access_list=[], error=TransactionException.INSUFFICIENT_MAX_FEE_PER_GAS, ) diff --git a/tests/ported_static/stEIP1559/test_low_gas_limit.py b/tests/ported_static/stEIP1559/test_low_gas_limit.py index 366284f8c9e..302f0728e2d 100644 --- a/tests/ported_static/stEIP1559/test_low_gas_limit.py +++ b/tests/ported_static/stEIP1559/test_low_gas_limit.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP1559/lowGasLimitFiller.yml +state_tests/stEIP1559/lowGasLimitFiller.yml """ import pytest @@ -11,11 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, TransactionException, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,52 +28,36 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP1559/lowGasLimitFiller.yml"], + ["state_tests/stEIP1559/lowGasLimitFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, tx_error, expected_post", + "d, g, v", [ pytest.param( - 90000, - TransactionException.GAS_ALLOWANCE_EXCEEDED, - { - Address("0xef0454d0376d1921b9a83868282725853c293ab5"): Account( - storage={0: 24743} - ) - }, - id="case0", + 0, + 0, + 0, + id="-g0", marks=pytest.mark.exception_test, ), pytest.param( - 50000, - None, - { - Address("0xef0454d0376d1921b9a83868282725853c293ab5"): Account( - storage={0: 2} - ) - }, - id="case1", + 0, + 1, + 0, + id="-g1", ), pytest.param( - 25000, - None, - { - Address("0xef0454d0376d1921b9a83868282725853c293ab5"): Account( - storage={0: 24743} - ) - }, - id="case2", + 0, + 2, + 0, + id="-g2", ), pytest.param( - 20000, - TransactionException.INTRINSIC_GAS_TOO_LOW, - { - Address("0xef0454d0376d1921b9a83868282725853c293ab5"): Account( - storage={0: 24743} - ) - }, - id="case3", + 0, + 3, + 0, + id="-g3", marks=pytest.mark.exception_test, ), ], @@ -77,12 +66,13 @@ def test_low_gas_limit( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - tx_error: object, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xDE0C95357363DA5C1C5A73BD7C2781CA5C9FECC1014103B5E1D1E990AE8208EC ) @@ -96,30 +86,69 @@ def test_low_gas_limit( gas_limit=80000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: Yul + # Source: yul + # berlin # { # sstore(0, add(1,1)) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x2) + Op.STOP, - storage={0x0: 0x60A7}, + storage={0: 24743}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xef0454d0376d1921b9a83868282725853c293ab5"), # noqa: E501 + address=Address(0xEF0454D0376D1921B9A83868282725853C293AB5), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.GAS_ALLOWANCE_EXCEEDED + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 2})}, + }, + { + "indexes": {"data": -1, "gas": 2, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 24743})}, + }, + { + "indexes": {"data": -1, "gas": 3, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INTRINSIC_GAS_TOO_LOW + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("00"), + ] + tx_gas = [90000, 50000, 25000, 20000] + tx_access_lists: dict[int, list] = { + 0: [], + } tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], max_fee_per_gas=1000, max_priority_fee_per_gas=1000, nonce=1, - error=tx_error, + access_list=tx_access_lists.get(d), + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1559/test_low_gas_price_old_types.py b/tests/ported_static/stEIP1559/test_low_gas_price_old_types.py index 3a42c3c0dec..580ee63f8a7 100644 --- a/tests/ported_static/stEIP1559/test_low_gas_price_old_types.py +++ b/tests/ported_static/stEIP1559/test_low_gas_price_old_types.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP1559/lowGasPriceOldTypesFiller.yml +state_tests/stEIP1559/lowGasPriceOldTypesFiller.yml """ import pytest @@ -11,11 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, TransactionException, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,27 +28,39 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP1559/lowGasPriceOldTypesFiller.yml"], + ["state_tests/stEIP1559/lowGasPriceOldTypesFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_access_list", + "d, g, v", [ - ("00", None), - ("01", []), + pytest.param( + 0, + 0, + 0, + id="d0", + marks=pytest.mark.exception_test, + ), + pytest.param( + 1, + 0, + 0, + id="d1", + marks=pytest.mark.exception_test, + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.exception_test def test_low_gas_price_old_types( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_access_list: list | None, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xDE0C95357363DA5C1C5A73BD7C2781CA5C9FECC1014103B5E1D1E990AE8208EC ) @@ -57,32 +74,51 @@ def test_low_gas_price_old_types( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: Yul - # { + # Source: yul + # berlin { # sstore(0, add(1,1)) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x2) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd71b14c239fc39327f25764dd784c85ef0285fda"), # noqa: E501 + address=Address(0xD71B14C239FC39327F25764DD784C85EF0285FDA), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_MAX_FEE_PER_GAS + }, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("00"), + Bytes("01"), + ] + tx_gas = [400000] + tx_value = [100000] + tx_access_lists: dict[int, list] = { + 1: [], + } tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=400000, - gas_price=999, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], nonce=1, - value=100000, - access_list=tx_access_list, + gas_price=999, + access_list=tx_access_lists.get(d), error=TransactionException.INSUFFICIENT_MAX_FEE_PER_GAS, ) - post: dict = {} - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1559/test_out_of_funds.py b/tests/ported_static/stEIP1559/test_out_of_funds.py index cf7ea352889..de865a0fce1 100644 --- a/tests/ported_static/stEIP1559/test_out_of_funds.py +++ b/tests/ported_static/stEIP1559/test_out_of_funds.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP1559/outOfFundsFiller.yml +state_tests/stEIP1559/outOfFundsFiller.yml """ import pytest @@ -11,11 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, TransactionException, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,35 +28,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP1559/outOfFundsFiller.yml"], + ["state_tests/stEIP1559/outOfFundsFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, tx_value, tx_error, expected_post", + "d, g, v", [ pytest.param( - 16777216, 0, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case0", + 0, + 0, + id="declaredKeyWrite-g0-v0", marks=pytest.mark.exception_test, ), pytest.param( - 16777216, - 1000000000000000000, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case1", + 0, + 0, + 1, + id="declaredKeyWrite-g0-v1", marks=pytest.mark.exception_test, ), - pytest.param(40000, 0, None, {}, id="case2"), pytest.param( - 40000, - 1000000000000000000, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case3", + 0, + 1, + 0, + id="declaredKeyWrite-g1-v0", + ), + pytest.param( + 0, + 1, + 1, + id="declaredKeyWrite-g1-v1", marks=pytest.mark.exception_test, ), ], @@ -60,13 +67,13 @@ def test_out_of_funds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - tx_value: int, - tx_error: object, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xDE0C95357363DA5C1C5A73BD7C2781CA5C9FECC1014103B5E1D1E990AE8208EC ) @@ -80,30 +87,64 @@ def test_out_of_funds( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: Yul - # { + # Source: yul + # berlin { # sstore(0, add(1,1)) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x2) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd71b14c239fc39327f25764dd784c85ef0285fda"), # noqa: E501 + address=Address(0xD71B14C239FC39327F25764DD784C85EF0285FDA), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": 0}, + "network": [">=Cancun"], + "result": {}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": 1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("00"), + ] + tx_gas = [16777216, 40000] + tx_value = [0, 1000000000000000000] + tx_access_lists: dict[int, list] = { + 0: [], + } tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], max_fee_per_gas=100000000000, max_priority_fee_per_gas=100000000000, nonce=1, - value=tx_value, - error=tx_error, + access_list=tx_access_lists.get(d), + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1559/test_out_of_funds_old_types.py b/tests/ported_static/stEIP1559/test_out_of_funds_old_types.py index cf82fa5e921..466316f9880 100644 --- a/tests/ported_static/stEIP1559/test_out_of_funds_old_types.py +++ b/tests/ported_static/stEIP1559/test_out_of_funds_old_types.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP1559/outOfFundsOldTypesFiller.yml +state_tests/stEIP1559/outOfFundsOldTypesFiller.yml """ import pytest @@ -11,11 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, TransactionException, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,72 +28,64 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP1559/outOfFundsOldTypesFiller.yml"], + ["state_tests/stEIP1559/outOfFundsOldTypesFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, tx_access_list, tx_error, expected_post", # noqa: E501 + "d, g, v", [ pytest.param( - "00", - 16777216, 0, - None, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case0", + 0, + 0, + id="d0-g0-v0", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 16777216, - 1000000000000000000, - None, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case1", + 0, + 0, + 1, + id="d0-g0-v1", marks=pytest.mark.exception_test, ), - pytest.param("00", 40000, 0, None, None, {}, id="case2"), pytest.param( - "00", - 40000, - 1000000000000000000, - None, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case3", + 0, + 1, + 0, + id="d0-g1-v0", + ), + pytest.param( + 0, + 1, + 1, + id="d0-g1-v1", marks=pytest.mark.exception_test, ), pytest.param( - "01", - 16777216, + 1, + 0, 0, - [], - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case4", + id="d1-g0-v0", marks=pytest.mark.exception_test, ), pytest.param( - "01", - 16777216, - 1000000000000000000, - [], - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case5", + 1, + 0, + 1, + id="d1-g0-v1", marks=pytest.mark.exception_test, ), - pytest.param("01", 40000, 0, [], None, {}, id="case6"), pytest.param( - "01", - 40000, - 1000000000000000000, - [], - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case7", + 1, + 1, + 0, + id="d1-g1-v0", + ), + pytest.param( + 1, + 1, + 1, + id="d1-g1-v1", marks=pytest.mark.exception_test, ), ], @@ -97,15 +94,13 @@ def test_out_of_funds_old_types( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - tx_access_list: list | None, - tx_error: object, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xDE0C95357363DA5C1C5A73BD7C2781CA5C9FECC1014103B5E1D1E990AE8208EC ) @@ -119,32 +114,64 @@ def test_out_of_funds_old_types( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: Yul - # { + # Source: yul + # berlin { # sstore(0, add(1,1)) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x2) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd71b14c239fc39327f25764dd784c85ef0285fda"), # noqa: E501 + address=Address(0xD71B14C239FC39327F25764DD784C85EF0285FDA), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": 0}, + "network": [">=Cancun"], + "result": {}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": 1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("00"), + Bytes("01"), + ] + tx_gas = [16777216, 40000] + tx_value = [0, 1000000000000000000] + tx_access_lists: dict[int, list] = { + 1: [], + } tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - gas_price=100000000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], nonce=1, - value=tx_value, - access_list=tx_access_list, - error=tx_error, + gas_price=100000000000, + access_list=tx_access_lists.get(d), + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1559/test_sender_balance.py b/tests/ported_static/stEIP1559/test_sender_balance.py index 331ce686190..4e1428d6048 100644 --- a/tests/ported_static/stEIP1559/test_sender_balance.py +++ b/tests/ported_static/stEIP1559/test_sender_balance.py @@ -1,12 +1,12 @@ """ -The execution records the EIP-1559 transaction origin balance to make sure... +The execution records the EIP-1559 transaction origin balance to make... properly computed based on the effective gas price (not the maximum gas price as in the transaction validity check). Ported from: -tests/static/state_tests/stEIP1559/senderBalanceFiller.yml +state_tests/stEIP1559/senderBalanceFiller.yml """ import pytest @@ -15,6 +15,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -26,7 +27,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP1559/senderBalanceFiller.yml"], + ["state_tests/stEIP1559/senderBalanceFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -35,7 +36,7 @@ def test_sender_balance( pre: Alloc, ) -> None: """The execution records the EIP-1559 transaction origin balance to...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,27 +50,28 @@ def test_sender_balance( gas_limit=30000000, ) - # Source: Yul + # Source: yul + # london # { # sstore(0, balance(caller())) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.BALANCE(address=Op.CALLER)) + Op.STOP, nonce=0, - address=Address("0x420132f96200ba8e5c98298a85633c35c4f052ef"), # noqa: E501 + address=Address(0x420132F96200BA8E5C98298A85633C35C4F052EF), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=60000, max_fee_per_gas=1000, max_priority_fee_per_gas=100, + access_list=[], ) - post = { - contract: Account(storage={0: 0xDE0B6B3A6FE6060}), - } + post = {target: Account(storage={0: 0xDE0B6B3A6FE6060})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1559/test_tip_too_high.py b/tests/ported_static/stEIP1559/test_tip_too_high.py index 8e7e60f5c71..eab3dd91b22 100644 --- a/tests/ported_static/stEIP1559/test_tip_too_high.py +++ b/tests/ported_static/stEIP1559/test_tip_too_high.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP1559/tipTooHighFiller.yml +state_tests/stEIP1559/tipTooHighFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,17 +24,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP1559/tipTooHighFiller.yml"], + ["state_tests/stEIP1559/tipTooHighFiller.yml"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.exception_test +@pytest.mark.pre_alloc_mutable def test_tip_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xDE0C95357363DA5C1C5A73BD7C2781CA5C9FECC1014103B5E1D1E990AE8208EC ) @@ -47,27 +48,29 @@ def test_tip_too_high( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: Yul + # Source: yul + # london # { # sstore(0, add(1,1)) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x2) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xec75f5d282f63da54cb0dad4ff8eaaa070d2da2b"), # noqa: E501 + address=Address(0xEC75F5D282F63DA54CB0DAD4FF8EAAA070D2DA2B), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=400000, + value=0x186A0, max_fee_per_gas=1000, max_priority_fee_per_gas=1001, nonce=1, - value=100000, + access_list=[], error=TransactionException.PRIORITY_GREATER_THAN_MAX_FEE_PER_GAS, ) diff --git a/tests/ported_static/stEIP1559/test_transaction_intinsic_bug_paris.py b/tests/ported_static/stEIP1559/test_transaction_intinsic_bug_paris.py index fef6bbe20c6..19d8a6a9e78 100644 --- a/tests/ported_static/stEIP1559/test_transaction_intinsic_bug_paris.py +++ b/tests/ported_static/stEIP1559/test_transaction_intinsic_bug_paris.py @@ -1,8 +1,8 @@ """ -Bug discovered on ropsten... +Bug discovered on ropsten https://github.com/ethereum/go-ethereum/pull/2... Ported from: -tests/static/state_tests/stEIP1559/transactionIntinsicBug_ParisFiller.yml +state_tests/stEIP1559/transactionIntinsicBug_ParisFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,23 +23,21 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP1559/transactionIntinsicBug_ParisFiller.yml", # noqa: E501 - ], + ["state_tests/stEIP1559/transactionIntinsicBug_ParisFiller.yml"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.exception_test +@pytest.mark.pre_alloc_mutable def test_transaction_intinsic_bug_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Bug discovered on ropsten...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Bug discovered on ropsten https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x85B89DB0E2AEF2A23F50801209A3DE4C65C58D9D) sender = EOA( key=0x91E0C3C68D9DE64B3299188625BEBD08C8B66D1C7E853E155F997C465E8F5F47 ) - contract = Address("0x85b89db0e2aef2a23f50801209a3de4c65c58d9d") env = Environment( fee_recipient=coinbase, @@ -49,21 +48,22 @@ def test_transaction_intinsic_bug_paris( gas_limit=71794957647893862, ) + pre[addr] = Account(balance=10) pre[sender] = Account(balance=0x2FAF094, nonce=1) - pre[contract] = Account(balance=10, nonce=0) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=addr, + data=Bytes("00"), gas_limit=50000, + value=0x2DC6C14, max_fee_per_gas=1000, max_priority_fee_per_gas=20, nonce=1, - value=48000020, + access_list=[], error=TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, ) - post: dict = {} + post = {sender: Account(balance=0x2FAF094)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP1559/test_val_causes_oof.py b/tests/ported_static/stEIP1559/test_val_causes_oof.py index 80a8a76454b..da081c1728b 100644 --- a/tests/ported_static/stEIP1559/test_val_causes_oof.py +++ b/tests/ported_static/stEIP1559/test_val_causes_oof.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP1559/valCausesOOFFiller.yml +state_tests/stEIP1559/valCausesOOFFiller.yml """ import pytest @@ -11,11 +11,17 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, TransactionException, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,136 +29,88 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP1559/valCausesOOFFiller.yml"], + ["state_tests/stEIP1559/valCausesOOFFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, tx_error, expected_post", + "d, g, v", [ pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 100000, - 0, - None, - { - Address("0x71e12b76ab6be1efbc98ac17ebfe5faf488da45e"): Account( - storage={1: 24743} - ) - }, - id="case0", + 0, + 0, + 0, + id="d0-g0-v0", ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 100000, + 0, + 0, 1, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case1", + id="d0-g0-v1", marks=pytest.mark.exception_test, ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 90000, - 0, - None, - { - Address("0x71e12b76ab6be1efbc98ac17ebfe5faf488da45e"): Account( - storage={1: 24743} - ) - }, - id="case2", + 0, + 1, + 0, + id="d0-g1-v0", ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 90000, - 1, - None, - { - Address("0x71e12b76ab6be1efbc98ac17ebfe5faf488da45e"): Account( - storage={1: 24743} - ) - }, - id="case3", + 0, + 1, + 1, + id="d0-g1-v1", ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 110000, 0, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case4", + 2, + 0, + id="d0-g2-v0", marks=pytest.mark.exception_test, ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 110000, + 0, + 2, 1, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case5", + id="d0-g2-v1", marks=pytest.mark.exception_test, ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 100000, - 0, - None, - { - Address("0x71e12b76ab6be1efbc98ac17ebfe5faf488da45e"): Account( - storage={1: 24743, 2: 24743} - ) - }, - id="case6", + 1, + 0, + 0, + id="d1-g0-v0", ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 100000, 1, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case7", + 0, + 1, + id="d1-g0-v1", marks=pytest.mark.exception_test, ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 90000, - 0, - None, - { - Address("0x71e12b76ab6be1efbc98ac17ebfe5faf488da45e"): Account( - storage={1: 24743, 2: 24743} - ) - }, - id="case8", + 1, + 1, + 0, + id="d1-g1-v0", ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 90000, - 1, - None, - { - Address("0x71e12b76ab6be1efbc98ac17ebfe5faf488da45e"): Account( - storage={1: 24743, 2: 24743} - ) - }, - id="case9", + 1, + 1, + 1, + id="d1-g1-v1", ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, + 1, + 2, 0, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case10", + id="d1-g2-v0", marks=pytest.mark.exception_test, ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, 1, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - {}, - id="case11", + 2, + 1, + id="d1-g2-v1", marks=pytest.mark.exception_test, ), ], @@ -161,14 +119,13 @@ def test_val_causes_oof( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - tx_error: object, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7608AB0A661408930040C5E3EB5B0C6520ACBB6CE5B28DDBE53676109E8EA24B ) @@ -182,8 +139,8 @@ def test_val_causes_oof( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0x5F5E100, nonce=1) - # Source: Yul + # Source: yul + # london # { # // This loop runs a number of times specified in the data, # // so the gas cost depends on the data @@ -191,36 +148,75 @@ def test_val_causes_oof( # sstore(i, 0x60A7) # } // for loop # } - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x4) - + Op.JUMPDEST - + Op.JUMPI(pc=0xC, condition=Op.GT(Op.DUP2, 0x0)) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE(key=Op.DUP2, value=0x60A7) - + Op.NOT(0x0) - + Op.ADD - + Op.JUMP(pc=0x3) - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x4) + + Op.JUMPDEST + + Op.JUMPI(pc=0xC, condition=Op.GT(Op.DUP2, 0x0)) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE(key=Op.DUP2, value=0x60A7) + + Op.NOT(0x0) + + Op.ADD + + Op.JUMP(pc=0x3), balance=0x5AF3107A4000, nonce=0, - address=Address("0x71e12b76ab6be1efbc98ac17ebfe5faf488da45e"), # noqa: E501 + address=Address(0x71E12B76AB6BE1EFBC98AC17EBFE5FAF488DA45E), # noqa: E501 ) + pre[sender] = Account(balance=0x5F5E100, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": [0, 1], "value": 0}, + "network": [">=Cancun"], + "result": {}, + }, + { + "indexes": {"data": -1, "gas": 0, "value": 1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": 1}, + "network": [">=Cancun"], + "result": {}, + }, + { + "indexes": {"data": -1, "gas": 2, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + ] + tx_gas = [100000, 90000, 110000] + tx_value = [0, 1] + tx_access_lists: dict[int, list] = { + 0: [], + 1: [], + } tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], max_fee_per_gas=1000, + max_priority_fee_per_gas=0, nonce=1, - value=tx_value, - error=tx_error, + access_list=tx_access_lists.get(d), + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP158Specific/__init__.py b/tests/ported_static/stEIP158Specific/__init__.py index 248cb4571b0..2c8015fa59f 100644 --- a/tests/ported_static/stEIP158Specific/__init__.py +++ b/tests/ported_static/stEIP158Specific/__init__.py @@ -1 +1 @@ -"""Tests ported from stEIP158Specific.""" +"""Ported static tests: stEIP158Specific.""" # noqa: N999 diff --git a/tests/ported_static/stEIP158Specific/test_call_one_v_call_suicide.py b/tests/ported_static/stEIP158Specific/test_call_one_v_call_suicide.py index 855b21c59b3..bde6b6d42f0 100644 --- a/tests/ported_static/stEIP158Specific/test_call_one_v_call_suicide.py +++ b/tests/ported_static/stEIP158Specific/test_call_one_v_call_suicide.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_one_v_call_suicide. Ported from: -tests/static/state_tests/stEIP158Specific/CALL_OneVCallSuicideFiller.json +state_tests/stEIP158Specific/CALL_OneVCallSuicideFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP158Specific/CALL_OneVCallSuicideFiller.json", # noqa: E501 - ], + ["state_tests/stEIP158Specific/CALL_OneVCallSuicideFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_one_v_call_suicide( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_one_v_call_suicide.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,47 +46,49 @@ def test_call_one_v_call_suicide( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xEA04224539257FBE043981AA6058FBC1D5E21B1A) - + Op.STOP - ), - nonce=0, - address=Address("0x79968a94dbedb20475585e9dd4dae6333add4c01"), # noqa: E501 - ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) (CALL 60000 1 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0xEA60, - address=0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0xEA60, + address=0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, balance=100, nonce=0, - address=Address("0xea04224539257fbe043981aa6058fbc1d5e21b1a"), # noqa: E501 + address=Address(0xEA04224539257FBE043981AA6058FBC1D5E21B1A), # noqa: E501 + ) + # Source: lll + # { (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xEA04224539257FBE043981AA6058FBC1D5E21B1A + ) + + Op.STOP, + nonce=0, + address=Address(0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={100: 14337}), + addr: Account(storage={}, balance=0), + target: Account(storage={100: 14337}, balance=100), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP158Specific/test_call_one_v_call_suicide2.py b/tests/ported_static/stEIP158Specific/test_call_one_v_call_suicide2.py index 35f9a28e1fb..32da5c2a438 100644 --- a/tests/ported_static/stEIP158Specific/test_call_one_v_call_suicide2.py +++ b/tests/ported_static/stEIP158Specific/test_call_one_v_call_suicide2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_one_v_call_suicide2. Ported from: -tests/static/state_tests/stEIP158Specific/CALL_OneVCallSuicide2Filler.json +state_tests/stEIP158Specific/CALL_OneVCallSuicide2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP158Specific/CALL_OneVCallSuicide2Filler.json", # noqa: E501 - ], + ["state_tests/stEIP158Specific/CALL_OneVCallSuicide2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,12 +31,12 @@ def test_call_one_v_call_suicide2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_one_v_call_suicide2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr_2 = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee_1 = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") env = Environment( fee_recipient=coinbase, @@ -48,48 +47,51 @@ def test_call_one_v_call_suicide2( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xEB201D2887816E041F6E807E804F64F3A7A226FE) - + Op.STOP - ), - nonce=0, - address=Address("0x99378e0db04e57ae174ad69770e1b7a0aa805930"), # noqa: E501 - ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) (CALL 60000 1 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0xEA60, - address=0x99378E0DB04E57AE174AD69770E1B7A0AA805930, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0xEA60, + address=0x99378E0DB04E57AE174AD69770E1B7A0AA805930, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, balance=100, nonce=0, - address=Address("0xea04224539257fbe043981aa6058fbc1d5e21b1a"), # noqa: E501 + address=Address(0xEA04224539257FBE043981AA6058FBC1D5E21B1A), # noqa: E501 ) - pre[callee_1] = Account(balance=0, nonce=1) - pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (SELFDESTRUCT ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xEB201D2887816E041F6E807E804F64F3A7A226FE + ) + + Op.STOP, + nonce=0, + address=Address(0x99378E0DB04E57AE174AD69770E1B7A0AA805930), # noqa: E501 + ) + pre[addr_2] = Account(balance=0, nonce=1) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={100: 16937}), + addr: Account(storage={}, balance=0), + target: Account(storage={100: 16937}, balance=99), + addr_2: Account(balance=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP158Specific/test_call_to_empty_then_call_error_paris.py b/tests/ported_static/stEIP158Specific/test_call_to_empty_then_call_error_paris.py index 887481a56a0..a53da088e68 100644 --- a/tests/ported_static/stEIP158Specific/test_call_to_empty_then_call_error_paris.py +++ b/tests/ported_static/stEIP158Specific/test_call_to_empty_then_call_error_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_empty_then_call_error_paris. Ported from: -tests/static/state_tests/stEIP158Specific -callToEmptyThenCallErrorParisFiller.json +state_tests/stEIP158Specific/callToEmptyThenCallErrorParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP158Specific/callToEmptyThenCallErrorParisFiller.json", # noqa: E501 - ], + ["state_tests/stEIP158Specific/callToEmptyThenCallErrorParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,12 +31,12 @@ def test_call_to_empty_then_call_error_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_empty_then_call_error_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr_2 = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,49 +47,50 @@ def test_call_to_empty_then_call_error_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (CALL 0 0 0 0 0 0) (CALL 0 0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x0, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.CALL( + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( gas=0x0, - address=0xAB4CDAE660B629C6F7BE5A12139558E6296AD0B5, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.CALL( + gas=0x0, + address=0xAB4CDAE660B629C6F7BE5A12139558E6296AD0B5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x2fd4e62119e6702b1b340b14aab503af144d0da4"), # noqa: E501 + address=Address(0x2FD4E62119E6702B1B340B14AAB503AF144D0DA4), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0) - pre.deploy_contract( + # Source: lll + # { (GAS) } + addr = pre.deploy_contract( # noqa: F841 code=Op.GAS + Op.STOP, nonce=0, - address=Address("0xab4cdae660b629c6f7be5a12139558e6296ad0b5"), # noqa: E501 + address=Address(0xAB4CDAE660B629C6F7BE5A12139558E6296AD0B5), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr_2] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = {addr_2: Account(balance=10)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP158Specific/test_call_zero_v_call_suicide.py b/tests/ported_static/stEIP158Specific/test_call_zero_v_call_suicide.py index 83d8ca18198..f632140f042 100644 --- a/tests/ported_static/stEIP158Specific/test_call_zero_v_call_suicide.py +++ b/tests/ported_static/stEIP158Specific/test_call_zero_v_call_suicide.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_zero_v_call_suicide. Ported from: -tests/static/state_tests/stEIP158Specific/CALL_ZeroVCallSuicideFiller.json +state_tests/stEIP158Specific/CALL_ZeroVCallSuicideFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP158Specific/CALL_ZeroVCallSuicideFiller.json", # noqa: E501 - ], + ["state_tests/stEIP158Specific/CALL_ZeroVCallSuicideFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_zero_v_call_suicide( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_zero_v_call_suicide.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,46 +46,48 @@ def test_call_zero_v_call_suicide( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) (CALL 60000 0 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=0xEA60, - address=0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=0xEA60, + address=0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x61385ed1c4e08aa26be16da3851df1cc90ed2777"), # noqa: E501 + address=Address(0x61385ED1C4E08AA26BE16DA3851DF1CC90ED2777), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x61385ED1C4E08AA26BE16DA3851DF1CC90ED2777) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x61385ED1C4E08AA26BE16DA3851DF1CC90ED2777 + ) + + Op.STOP, nonce=0, - address=Address("0x79968a94dbedb20475585e9dd4dae6333add4c01"), # noqa: E501 + address=Address(0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={100: 7637}), + addr: Account(balance=0), + target: Account(storage={100: 7637}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP158Specific/test_exp_empty.py b/tests/ported_static/stEIP158Specific/test_exp_empty.py index 874146b8c15..d748a2036c4 100644 --- a/tests/ported_static/stEIP158Specific/test_exp_empty.py +++ b/tests/ported_static/stEIP158Specific/test_exp_empty.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_exp_empty. Ported from: -tests/static/state_tests/stEIP158Specific/EXP_EmptyFiller.json +state_tests/stEIP158Specific/EXP_EmptyFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP158Specific/EXP_EmptyFiller.json"], + ["state_tests/stEIP158Specific/EXP_EmptyFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_exp_empty( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_exp_empty.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -45,67 +46,64 @@ def test_exp_empty( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) [[1]](EXP 0 12) [[2]](SUB @0 (GAS)) [0](GAS) [[3]](EXP 12 0) [[4]](SUB @0 (GAS)) [0](GAS) [[5]](EXP 0 0xffffffffffffffff) [[6]](SUB @0 (GAS)) [0](GAS) [[7]](EXP 0 0xffffffffffffffffffffffffffffffff) [[8]](SUB @0 (GAS)) [0](GAS) [[9]](EXP 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[10]](SUB @0 (GAS)) [0](GAS) [[11]](EXP 0xffffffffffffffff 0) [[12]](SUB @0 (GAS)) [0](GAS) [[13]](EXP 0xffffffffffffffffffffffffffffffff 0) [[14]](SUB @0 (GAS)) [0] (GAS) [[15]](EXP 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x1, value=Op.EXP(0x0, 0xC)) - + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.EXP(0xC, 0x0)) - + Op.SSTORE(key=0x4, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x5, value=Op.EXP(0x0, 0xFFFFFFFFFFFFFFFF)) - + Op.SSTORE(key=0x6, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x7, - value=Op.EXP(0x0, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), - ) - + Op.SSTORE(key=0x8, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.EXP( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.SSTORE(key=0xA, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0xB, value=Op.EXP(0xFFFFFFFFFFFFFFFF, 0x0)) - + Op.SSTORE(key=0xC, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0xD, - value=Op.EXP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 0x0), - ) - + Op.SSTORE(key=0xE, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0xF, - value=Op.EXP( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x1, value=Op.EXP(0x0, 0xC)) + + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.EXP(0xC, 0x0)) + + Op.SSTORE(key=0x4, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x5, value=Op.EXP(0x0, 0xFFFFFFFFFFFFFFFF)) + + Op.SSTORE(key=0x6, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x7, value=Op.EXP(0x0, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + ) + + Op.SSTORE(key=0x8, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.EXP( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.SSTORE(key=0xA, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0xB, value=Op.EXP(0xFFFFFFFFFFFFFFFF, 0x0)) + + Op.SSTORE(key=0xC, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0xD, value=Op.EXP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 0x0) + ) + + Op.SSTORE(key=0xE, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0xF, + value=Op.EXP( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x8a3c9879fc69c8c45c1201c27da63312e9e9f6fe"), # noqa: E501 + address=Address(0x8A3C9879FC69C8C45C1201C27DA63312E9E9F6FE), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + target: Account( storage={ 2: 2280, 3: 1, diff --git a/tests/ported_static/stEIP158Specific/test_extcodesize_to_epmty_paris.py b/tests/ported_static/stEIP158Specific/test_extcodesize_to_epmty_paris.py index 7689794365f..fa7b6f50122 100644 --- a/tests/ported_static/stEIP158Specific/test_extcodesize_to_epmty_paris.py +++ b/tests/ported_static/stEIP158Specific/test_extcodesize_to_epmty_paris.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_extcodesize_to_epmty_paris. Ported from: -tests/static/state_tests/stEIP158Specific/EXTCODESIZE_toEpmtyParisFiller.json +state_tests/stEIP158Specific/EXTCODESIZE_toEpmtyParisFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP158Specific/EXTCODESIZE_toEpmtyParisFiller.json", # noqa: E501 - ], + ["state_tests/stEIP158Specific/EXTCODESIZE_toEpmtyParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,12 +31,12 @@ def test_extcodesize_to_epmty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_extcodesize_to_epmty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -48,35 +47,35 @@ def test_extcodesize_to_epmty_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) [[1]] (EXTCODESIZE ) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.EXTCODESIZE( - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), - storage={0x1: 0x600}, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.EXTCODESIZE( + address=0x76FAE819612A29489A1A43208613D8F8557B8898 + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, + storage={1: 1536}, nonce=0, - address=Address("0x6a7ca130ba6213231c23332fa5fcab8ccb85c04b"), # noqa: E501 + address=Address(0x6A7CA130BA6213231C23332FA5FCAB8CCB85C04B), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={100: 7617}), + addr: Account(storage={}, code=b"", balance=10, nonce=0), + target: Account(storage={100: 7617}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP158Specific/test_extcodesize_to_non_existent.py b/tests/ported_static/stEIP158Specific/test_extcodesize_to_non_existent.py index 123082fabfa..66b98387b28 100644 --- a/tests/ported_static/stEIP158Specific/test_extcodesize_to_non_existent.py +++ b/tests/ported_static/stEIP158Specific/test_extcodesize_to_non_existent.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_extcodesize_to_non_existent. Ported from: -tests/static/state_tests/stEIP158Specific/EXTCODESIZE_toNonExistentFiller.json +state_tests/stEIP158Specific/EXTCODESIZE_toNonExistentFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP158Specific/EXTCODESIZE_toNonExistentFiller.json", # noqa: E501 - ], + ["state_tests/stEIP158Specific/EXTCODESIZE_toNonExistentFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_extcodesize_to_non_existent( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_extcodesize_to_non_existent.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,32 +48,34 @@ def test_extcodesize_to_non_existent( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [0](GAS) [[1]] (EXTCODESIZE 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.EXTCODESIZE( - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.EXTCODESIZE( + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={100: 4817}), + Address( + 0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + contract_0: Account(storage={100: 4817}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP158Specific/test_vitalik_transaction_test_paris.py b/tests/ported_static/stEIP158Specific/test_vitalik_transaction_test_paris.py index fc849857e9e..b11681ea432 100644 --- a/tests/ported_static/stEIP158Specific/test_vitalik_transaction_test_paris.py +++ b/tests/ported_static/stEIP158Specific/test_vitalik_transaction_test_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_vitalik_transaction_test_paris. Ported from: -tests/static/state_tests/stEIP158Specific -vitalikTransactionTestParisFiller.json +state_tests/stEIP158Specific/vitalikTransactionTestParisFiller.json """ import pytest @@ -16,15 +15,14 @@ StateTestFiller, Transaction, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP158Specific/vitalikTransactionTestParisFiller.json", # noqa: E501 - ], + ["state_tests/stEIP158Specific/vitalikTransactionTestParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,12 +30,12 @@ def test_vitalik_transaction_test_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_vitalik_transaction_test_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEE098E6C2A43D9E2C04F08F0C3A87B0BA59079D4) sender = EOA( key=0xC85EF7D79691FE79573B1A7064C19C1A9819EBDBD1FAAAB1A8EC92344438AAF4 ) - contract = Address("0xee098e6c2a43d9e2c04f08f0c3a87b0ba59079d4") env = Environment( fee_recipient=coinbase, @@ -50,25 +48,125 @@ def test_vitalik_transaction_test_paris( pre[coinbase] = Account(balance=0, nonce=1) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFF, nonce=335) - pre[contract] = Account(balance=10, nonce=0) + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=10, + nonce=0, + address=Address(0xEE098E6C2A43D9E2C04F08F0C3A87B0BA59079D4), # noqa: E501 + ) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6000607f5359610043806100135939610056566c010000000000000000000000007fee09" # noqa: E501 - "8e6c2a43d9e2c04f08f0c3a87b0ba59079d4d53532071d6cd0cb86facd5605ff61000080" # noqa: E501 - "61003f60003961003f565b6000f35b816000f0905050596100718061006c59396100dd56" # noqa: E501 - "61005f8061000e60003961006d566000603f5359610043806100135939610056566c0100" # noqa: E501 - "00000000000000000000007fee098e6c2a43d9e2c04f08f0c3a87b0ba59079d4d5353207" # noqa: E501 - "1d6cd0cb86facd5605ff6100008061003f60003961003f565b6000f35b816000f0905050" # noqa: E501 - "fe5b6000f35b816000f0905060405260006000600060006000604051620249f0f1506100" # noqa: E501 - "0080610108600039610108565b6000f3" - ), + data=Op.MSTORE8(offset=0x7F, value=0x0) + + Op.MSIZE + + Op.PUSH2[0x43] + + Op.CODECOPY( + dest_offset=Op.MSIZE, offset=Op.PUSH2[0x13], size=Op.DUP1 + ) + + Op.JUMP(pc=Op.PUSH2[0x56]) + + Op.SELFDESTRUCT( + address=Op.SDIV( + 0xEE098E6C2A43D9E2C04F08F0C3A87B0BA59079D4D53532071D6CD0CB86FACD56, # noqa: E501 + 0x1000000000000000000000000, + ) + ) + + Op.PUSH2[0x0] + + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0x3F], size=Op.DUP1) + + Op.JUMP(pc=Op.PUSH2[0x3F]) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.RETURN + + Op.JUMPDEST + + Op.DUP2 + + Op.PUSH1[0x0] + + Op.CREATE + + Op.SWAP1 + + Op.POP * 2 + + Op.MSIZE + + Op.PUSH2[0x71] + + Op.CODECOPY( + dest_offset=Op.MSIZE, offset=Op.PUSH2[0x6C], size=Op.DUP1 + ) + + Op.JUMP(pc=Op.PUSH2[0xDD]) + + Op.PUSH2[0x5F] + + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0xE], size=Op.DUP1) + + Op.JUMP(pc=Op.PUSH2[0x6D]) + + Op.MSTORE8(offset=0x3F, value=0x0) + + Op.MSIZE + + Op.PUSH2[0x43] + + Op.CODECOPY( + dest_offset=Op.MSIZE, offset=Op.PUSH2[0x13], size=Op.DUP1 + ) + + Op.JUMP(pc=Op.PUSH2[0x56]) + + Op.SELFDESTRUCT( + address=Op.SDIV( + 0xEE098E6C2A43D9E2C04F08F0C3A87B0BA59079D4D53532071D6CD0CB86FACD56, # noqa: E501 + 0x1000000000000000000000000, + ) + ) + + Op.PUSH2[0x0] + + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0x3F], size=Op.DUP1) + + Op.JUMP(pc=Op.PUSH2[0x3F]) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.RETURN + + Op.JUMPDEST + + Op.DUP2 + + Op.PUSH1[0x0] + + Op.CREATE + + Op.SWAP1 + + Op.POP * 2 + + Op.INVALID + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.RETURN + + Op.JUMPDEST + + Op.DUP2 + + Op.PUSH1[0x0] + + Op.CREATE + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x40] + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=0x249F0, + address=Op.MLOAD(offset=0x40), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.PUSH2[0x0] + + Op.CODECOPY(dest_offset=0x0, offset=0x108, size=Op.DUP1) + + Op.JUMP(pc=0x108) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.RETURN, gas_limit=2097151, nonce=335, ) - post: dict = {} + post = { + coinbase: Account(storage={}, code=b"", nonce=1), + sender: Account(storage={}, code=b"", nonce=336), + Address(0x1BC78AE0E5EC5CB439F1D5355D6F90D38343E109): Account( + storage={}, code=b"", nonce=3 + ), + Address(0x51F9D7F98E997BDD6BEBDE4C2DD27BE8C99303AA): Account( + storage={}, + code=bytes.fromhex( + "6000603f5359610043806100135939610056566c010000000000000000000000007fee098e6c2a43d9e2c04f08f0c3a87b0ba59079d4d53532071d6cd0cb86facd5605ff6100008061003f60003961003f565b6000f35b816000f0905050fe" # noqa: E501 + ), + balance=0, + nonce=1, + ), + contract_0: Account(storage={}, code=b"", balance=10, nonce=0), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP2930/__init__.py b/tests/ported_static/stEIP2930/__init__.py index 2177fb78aa5..b9bac4a2c8f 100644 --- a/tests/ported_static/stEIP2930/__init__.py +++ b/tests/ported_static/stEIP2930/__init__.py @@ -1 +1 @@ -"""Tests ported from stEIP2930.""" +"""Ported static tests: stEIP2930.""" # noqa: N999 diff --git a/tests/ported_static/stEIP2930/test_address_opcodes.py b/tests/ported_static/stEIP2930/test_address_opcodes.py index e7881848d96..83b7d261aa3 100644 --- a/tests/ported_static/stEIP2930/test_address_opcodes.py +++ b/tests/ported_static/stEIP2930/test_address_opcodes.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP2930/addressOpcodesFiller.yml +state_tests/stEIP2930/addressOpcodesFiller.yml """ import pytest @@ -12,11 +12,16 @@ Account, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,870 +29,315 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP2930/addressOpcodesFiller.yml"], + ["state_tests/stEIP2930/addressOpcodesFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_access_list, expected_post", + "d, g, v", [ - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0xf00000000000000000000000000000000000f101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2597, 1: 97} - ) - }, + pytest.param( + 0, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2597, 1: 97} - ) - }, + pytest.param( + 1, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0xf00000000000000000000000000000000000f101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2597, 1: 97} - ) - }, + pytest.param( + 2, + 0, + 0, + id="invalid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2597, 1: 97} - ) - }, + pytest.param( + 3, + 0, + 0, + id="invalid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0xf00000000000000000000000000000000000f101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2597, 1: 97} - ) - }, + pytest.param( + 4, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2597, 1: 97} - ) - }, + pytest.param( + 5, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0xf00000000000000000000000000000000000f101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2597, 1: 97} - ) - }, + pytest.param( + 6, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2597, 1: 97} - ) - }, + pytest.param( + 7, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 8, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001001" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 9, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001001" - ), - storage_keys=[], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 10, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 11, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 12, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0xcccccccccccccccccccccccccccccccccccccccc" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 13, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 14, + 0, + 0, + id="invalid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001000" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 15, + 0, + 0, + id="invalid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 16, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000001" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 17, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 18, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001001" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 19, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001001" - ), - storage_keys=[], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 20, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 21, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 22, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0xcccccccccccccccccccccccccccccccccccccccc" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 23, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 24, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001000" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 25, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 26, + 0, + 0, + id="invalid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000001" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 27, + 0, + 0, + id="invalid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001001" - ), - storage_keys=[], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 28, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 29, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001001" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 30, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001001" - ), - storage_keys=[], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 31, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 32, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 33, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0xcccccccccccccccccccccccccccccccccccccccc" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 34, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 35, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001000" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 36, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 37, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000001" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 38, + 0, + 0, + id="invalid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 39, + 0, + 0, + id="invalid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 40, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 41, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0xcccccccccccccccccccccccccccccccccccccccc" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 42, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 43, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001000" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 44, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 45, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000001" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 46, + 0, + 0, + id="valid", ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001001" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 97, 1: 97} - ) - }, + pytest.param( + 47, + 0, + 0, + id="valid", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - ], ) @pytest.mark.pre_alloc_mutable def test_address_opcodes( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_access_list: list | None, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -901,153 +351,172 @@ def test_address_opcodes( gas_limit=71794957647893862, ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=Op.PUSH2[0x11], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x18]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=0x1001) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x2A], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x2F]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.ORIGIN) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x41], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x46]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.CALLER) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x58], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x5D]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.ADDRESS) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x6F], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x4), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x75]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=0x1) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.MLOAD(offset=0x0)) - + Op.JUMPI( - pc=Op.PUSH2[0x8D], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x20), 0x0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xB6]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.BALANCE(address=Op.MLOAD(offset=0x20))) - + Op.SSTORE( - key=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16), - ) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.BALANCE(address=Op.MLOAD(offset=0x20))) - + Op.SSTORE( - key=0x1, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xC8], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x20), 0x1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xF1]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.EXTCODESIZE(address=Op.MLOAD(offset=0x20))) - + Op.SSTORE( - key=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16), - ) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.EXTCODESIZE(address=Op.MLOAD(offset=0x20))) - + Op.SSTORE( - key=0x1, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x103, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x20), 0x2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x12C) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.EXTCODEHASH(address=Op.MLOAD(offset=0x20))) - + Op.SSTORE( - key=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16), - ) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.EXTCODEHASH(address=Op.MLOAD(offset=0x20))) - + Op.SSTORE( - key=0x1, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x13E, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x20), 0x3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x17A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x100, value=0x6A5) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.EXTCODECOPY( - address=Op.MLOAD(offset=0x20), - dest_offset=0x100, - offset=0x0, - size=0x20, - ) - + Op.SSTORE( - key=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x20), - ) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.EXTCODECOPY( - address=Op.MLOAD(offset=0x20), - dest_offset=0x100, - offset=0x0, - size=0x20, - ) - + Op.SSTORE( - key=0x1, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x20), - ) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { + # (def 'acctType $0) ; type of account we handle + # (def 'opcode $0x20) ; the opcode we are dealing with + # + # (def 'acct 0x20) + # + # (def 'NOP 0) + # + # + # ; the type of account we handle + # + # ; unrelated account + # (if (= acctType 0) [acct] 0x1001 NOP) + # + # ; transaction sender + # (if (= acctType 1) [acct] (origin) NOP) + # + # ; the contract that called us + # (if (= acctType 2) [acct] (caller) NOP) + # + # ; our own contract + # (if (= acctType 3) [acct] (address) NOP) + # + # ; a precompile + # (if (= acctType 4) [acct] 0x0001 NOP) + # + # + # [0] @0 ; Just to disable the first use of memory cost + # + # (if (= opcode 0) { + # ... (47 more lines) + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=Op.PUSH2[0x11], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x0), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x18]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=0x1001) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x2A], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x1), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x2F]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.ORIGIN) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x41], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x2), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x46]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.CALLER) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x58], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x3), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x5D]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.ADDRESS) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x6F], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x4), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x75]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=0x1) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.MLOAD(offset=0x0)) + + Op.JUMPI( + pc=Op.PUSH2[0x8D], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x20), 0x0), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xB6]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.BALANCE(address=Op.MLOAD(offset=0x20))) + + Op.SSTORE( + key=0x0, value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16) + ) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.BALANCE(address=Op.MLOAD(offset=0x20))) + + Op.SSTORE( + key=0x1, value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16) + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xC8], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x20), 0x1), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xF1]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.EXTCODESIZE(address=Op.MLOAD(offset=0x20))) + + Op.SSTORE( + key=0x0, value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16) + ) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.EXTCODESIZE(address=Op.MLOAD(offset=0x20))) + + Op.SSTORE( + key=0x1, value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16) + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x103, condition=Op.EQ(Op.CALLDATALOAD(offset=0x20), 0x2) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x12C) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.EXTCODEHASH(address=Op.MLOAD(offset=0x20))) + + Op.SSTORE( + key=0x0, value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16) + ) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.EXTCODEHASH(address=Op.MLOAD(offset=0x20))) + + Op.SSTORE( + key=0x1, value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x16) + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x13E, condition=Op.EQ(Op.CALLDATALOAD(offset=0x20), 0x3) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x17A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x100, value=0x6A5) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.EXTCODECOPY( + address=Op.MLOAD(offset=0x20), + dest_offset=0x100, + offset=0x0, + size=0x20, + ) + + Op.SSTORE( + key=0x0, value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x20) + ) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.EXTCODECOPY( + address=Op.MLOAD(offset=0x20), + dest_offset=0x100, + offset=0x0, + size=0x20, + ) + + Op.SSTORE( + key=0x1, value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x20) + ) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # ; relay the parameters # [0x100] $4 @@ -1058,41 +527,512 @@ def test_address_opcodes( # [[0]] @0x00 # [[1]] @0x20 # } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x24)) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x1000, - value=0x0, - args_offset=0x100, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x24)) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x1000, + value=0x0, + args_offset=0x100, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [ + 0, + 1, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 97, 1: 97})}, + }, + { + "indexes": { + "data": [2, 3, 14, 15, 26, 27, 38, 39], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 2597, 1: 97, 2: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("1a8451e6") + Hash(0x0) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x0) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x3), + ] + tx_gas = [16777216] + tx_value = [100000] + tx_access_lists: dict[int, list] = { + 0: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001001), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 1: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001001), + storage_keys=[], + ), + ], + 2: [], + 3: [ + AccessList( + address=Address(0xF00000000000000000000000000000000000F101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 4: [ + AccessList( + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 5: [], + 6: [ + AccessList( + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 7: [], + 8: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001000), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 9: [], + 10: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000001), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 11: [], + 12: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001001), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 13: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001001), + storage_keys=[], + ), + ], + 14: [], + 15: [ + AccessList( + address=Address(0xF00000000000000000000000000000000000F101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 16: [ + AccessList( + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 17: [], + 18: [ + AccessList( + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 19: [], + 20: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001000), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 21: [], + 22: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000001), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 23: [], + 24: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001001), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 25: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001001), + storage_keys=[], + ), + ], + 26: [], + 27: [ + AccessList( + address=Address(0xF00000000000000000000000000000000000F101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 28: [ + AccessList( + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 29: [], + 30: [ + AccessList( + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 31: [], + 32: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001000), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 33: [], + 34: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000001), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 35: [], + 36: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001001), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 37: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001001), + storage_keys=[], + ), + ], + 38: [], + 39: [ + AccessList( + address=Address(0xF00000000000000000000000000000000000F101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 40: [ + AccessList( + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 41: [], + 42: [ + AccessList( + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 43: [], + 44: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001000), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 45: [], + 46: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000001), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 47: [], + } tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=100000, - access_list=tx_access_list, + to=contract_1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + access_list=tx_access_lists.get(d), + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP2930/test_coinbase_t01.py b/tests/ported_static/stEIP2930/test_coinbase_t01.py index 7705e6c3522..53fa5e76425 100644 --- a/tests/ported_static/stEIP2930/test_coinbase_t01.py +++ b/tests/ported_static/stEIP2930/test_coinbase_t01.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP2930/coinbaseT01Filler.yml +state_tests/stEIP2930/coinbaseT01Filler.yml """ import pytest @@ -12,10 +12,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,62 +29,43 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP2930/coinbaseT01Filler.yml"], + ["state_tests/stEIP2930/coinbaseT01Filler.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_access_list, expected_post", + "d, g, v", [ - ( - None, - { - Address("0x30873f83c35401e315e6e5994c012f1ee8119585"): Account( - storage={0: 6800} - ) - }, + pytest.param( + 0, + 0, + 0, + id="T0", ), - ( - [ - AccessList( - address=Address( - "0x7704d8a022a1ba8f3539fc82c7d7fb065abc0df3" - ), - storage_keys=[], - ) - ], - { - Address("0x30873f83c35401e315e6e5994c012f1ee8119585"): Account( - storage={0: 6800} - ) - }, + pytest.param( + 1, + 0, + 0, + id="T1baseInList", ), - ( - [ - AccessList( - address=Address( - "0x000000000000000000000000000000000000ba5a" - ), - storage_keys=[], - ) - ], - { - Address("0x30873f83c35401e315e6e5994c012f1ee8119585"): Account( - storage={0: 6800} - ) - }, + pytest.param( + 2, + 0, + 0, + id="T1baseNotInList", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_coinbase_t01( state_test: StateTestFiller, pre: Alloc, - tx_access_list: list | None, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x7704d8a022a1ba8f3539fc82c7d7fb065abc0df3") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3) sender = EOA( key=0xDE0C95357363DA5C1C5A73BD7C2781CA5C9FECC1014103B5E1D1E990AE8208EC ) @@ -92,7 +79,8 @@ def test_coinbase_t01( gas_limit=71794957647893862, ) - # Source: Yul + # Source: yul + # berlin # { # mstore(0, gas()) # pop(call(gas(), , 1000000, 0, 0, 0, 0)) # noqa: E501 @@ -101,48 +89,79 @@ def test_coinbase_t01( # // The 24 is the cost of twi gas(), seven pushes(), a pop(), and an mstore() # noqa: E501 # sstore(0, sub(sub(mload(0), mload(0x20)),33)) # } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3, - value=0xF4240, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), - 0x21, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3, + value=0xF4240, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), 0x21 + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, - address=Address("0x30873f83c35401e315e6e5994c012f1ee8119585"), # noqa: E501 + nonce=1, + address=Address(0x30873F83C35401E315E6E5994C012F1EE8119585), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + pre[coinbase] = Account(balance=0, nonce=1) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 6800})}, + }, + { + "indexes": {"data": [0, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 6800})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x0), + ] + tx_gas = [16777216] + tx_access_lists: dict[int, list] = { + 1: [ + AccessList( + address=Address(0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3), + storage_keys=[], + ), + ], + 2: [ + AccessList( + address=Address(0x000000000000000000000000000000000000BA5A), + storage_keys=[], + ), + ], + } tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "693c61390000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - gas_limit=16777216, - gas_price=1000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, - access_list=tx_access_list, + gas_price=1000, + access_list=tx_access_lists.get(d), + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP2930/test_coinbase_t2.py b/tests/ported_static/stEIP2930/test_coinbase_t2.py index 42506971fc1..2e575455aa8 100644 --- a/tests/ported_static/stEIP2930/test_coinbase_t2.py +++ b/tests/ported_static/stEIP2930/test_coinbase_t2.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP2930/coinbaseT2Filler.yml +state_tests/stEIP2930/coinbaseT2Filler.yml """ import pytest @@ -12,10 +12,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,35 +29,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP2930/coinbaseT2Filler.yml"], + ["state_tests/stEIP2930/coinbaseT2Filler.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_access_list", + "d, g, v", [ - [ - AccessList( - address=Address("0x7704d8a022a1ba8f3539fc82c7d7fb065abc0df3"), - storage_keys=[], - ) - ], - [ - AccessList( - address=Address("0x000000000000000000000000000000000000ba5a"), - storage_keys=[], - ) - ], + pytest.param( + 0, + 0, + 0, + id="T2baseInList", + ), + pytest.param( + 1, + 0, + 0, + id="T2baseNotInList", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_coinbase_t2( state_test: StateTestFiller, pre: Alloc, - tx_access_list: list | None, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x7704d8a022a1ba8f3539fc82c7d7fb065abc0df3") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3) sender = EOA( key=0xDE0C95357363DA5C1C5A73BD7C2781CA5C9FECC1014103B5E1D1E990AE8208EC ) @@ -65,7 +73,8 @@ def test_coinbase_t2( gas_limit=71794957647893862, ) - # Source: Yul + # Source: yul + # berlin # { # mstore(0, gas()) # pop(call(gas(), , 1000000, 0, 0, 0, 0)) # noqa: E501 @@ -74,51 +83,79 @@ def test_coinbase_t2( # // The 24 is the cost of twi gas(), seven pushes(), a pop(), and an mstore() # noqa: E501 # sstore(0, sub(sub(mload(0), mload(0x20)),33)) # } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3, - value=0xF4240, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), - 0x21, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3, + value=0xF4240, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), 0x21 + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, - address=Address("0x30873f83c35401e315e6e5994c012f1ee8119585"), # noqa: E501 + nonce=1, + address=Address(0x30873F83C35401E315E6E5994C012F1EE8119585), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + pre[coinbase] = Account(balance=0, nonce=1) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 6800})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 6800})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x0), + ] + tx_gas = [16777216] + tx_access_lists: dict[int, list] = { + 0: [ + AccessList( + address=Address(0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3), + storage_keys=[], + ), + ], + 1: [ + AccessList( + address=Address(0x000000000000000000000000000000000000BA5A), + storage_keys=[], + ), + ], + } tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "693c61390000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - gas_limit=16777216, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], max_fee_per_gas=10000, max_priority_fee_per_gas=100, nonce=1, - access_list=tx_access_list, + access_list=tx_access_lists.get(d), + error=_exc, ) - post = { - contract: Account(storage={0: 6800}), - } - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP2930/test_manual_create.py b/tests/ported_static/stEIP2930/test_manual_create.py index ba4b2ca2e7a..057b623c7e0 100644 --- a/tests/ported_static/stEIP2930/test_manual_create.py +++ b/tests/ported_static/stEIP2930/test_manual_create.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP2930/manualCreateFiller.yml +state_tests/stEIP2930/manualCreateFiller.yml """ import pytest @@ -16,88 +16,56 @@ Hash, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP2930/manualCreateFiller.yml"], + ["state_tests/stEIP2930/manualCreateFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_access_list, expected_post", + "d, g, v", [ - ( - [ - AccessList( - address=Address( - "0xec0e71ad0a90ffe1909d27dac207f7680abba42d" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - ) - ], - ) - ], - { - Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"): Account( - storage={0: 22108, 1: 106} - ) - }, + pytest.param( + 0, + 0, + 0, + id="allBad", ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000100" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"): Account( - storage={0: 22108, 1: 106} - ) - }, + pytest.param( + 1, + 0, + 0, + id="addrGoodCellBad", ), - ( - [ - AccessList( - address=Address( - "0xec0e71ad0a90ffe1909d27dac207f7680abba42d" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"): Account( - storage={0: 20008, 1: 106} - ) - }, + pytest.param( + 2, + 0, + 0, + id="allGood", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_manual_create( state_test: StateTestFiller, pre: Alloc, - tx_access_list: list | None, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -113,15 +81,106 @@ def test_manual_create( pre[sender] = Account(balance=0x1000000000000000000, nonce=1) + expect_entries_: list[dict] = [ + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=1): Account( + storage={0: 20008, 1: 106} + ), + }, + }, + { + "indexes": {"data": [0, 1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=1): Account( + storage={0: 22108, 1: 106} + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.GAS + + Op.POP(Op.BALANCE(address=Op.ADDRESS)) + + Op.GAS + + Op.SWAP1 + + Op.SSTORE(key=0x1, value=Op.SUB) + + Op.GAS + + Op.SSTORE(key=0x0, value=0xFF) + + Op.GAS + + Op.SWAP1 + + Op.SSTORE(key=0x0, value=Op.SUB) + + Op.STOP, + Op.GAS + + Op.POP(Op.BALANCE(address=Op.ADDRESS)) + + Op.GAS + + Op.SWAP1 + + Op.SSTORE(key=0x1, value=Op.SUB) + + Op.GAS + + Op.SSTORE(key=0x0, value=0xFF) + + Op.GAS + + Op.SWAP1 + + Op.SSTORE(key=0x0, value=Op.SUB) + + Op.STOP, + Op.GAS + + Op.POP(Op.BALANCE(address=Op.ADDRESS)) + + Op.GAS + + Op.SWAP1 + + Op.SSTORE(key=0x1, value=Op.SUB) + + Op.GAS + + Op.SSTORE(key=0x0, value=0xFF) + + Op.GAS + + Op.SWAP1 + + Op.SSTORE(key=0x0, value=Op.SUB) + + Op.STOP, + ] + tx_gas = [400000] + tx_access_lists: dict[int, list] = { + 0: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000100), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 1: [ + AccessList( + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 2: [ + AccessList( + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + } + tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("5a3031505a90036001555a60ff6000555a900360005500"), - gas_limit=400000, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, - access_list=tx_access_list, + access_list=tx_access_lists.get(d), + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP2930/test_storage_costs.py b/tests/ported_static/stEIP2930/test_storage_costs.py index 99cc39b97c9..ddb2359c4f7 100644 --- a/tests/ported_static/stEIP2930/test_storage_costs.py +++ b/tests/ported_static/stEIP2930/test_storage_costs.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP2930/storageCostsFiller.yml +state_tests/stEIP2930/storageCostsFiller.yml """ import pytest @@ -12,11 +12,16 @@ Account, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,1205 +29,252 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP2930/storageCostsFiller.yml"], + ["state_tests/stEIP2930/storageCostsFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_access_list, expected_post", + "d, g, v", [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001002" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={1: 2903} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 0, + 0, + 0, + id="declaredKeyWrite", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001005" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001005"): Account( - storage={1: 103} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 1, + 0, + 0, + id="declaredKeyRead", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001004" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743, 1: 103} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 2, + 0, + 0, + id="declaredKeyDel", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001001" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={1: 100} - ), - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 3, + 0, + 0, + id="declaredKeyUpdate", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001021" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001021"): Account( - storage={1: 97} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 4, + 0, + 0, + id="declaredKeyNOP", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000011", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001011" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001011"): Account( - storage={0: 24743, 1: 100} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 5, + 0, + 0, + id="declaredKeyNOP0", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001003" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 48879, 1: 2903} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 6, + 0, + 0, + id="undeclaredKeyWrite", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0x00000000000000000000000000000000000060a7" - ), - storage_keys=[ - Hash( - "0x000000000000000000000000000000000000000000000000000000000fffffad" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000000ad" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000123214342ad" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000deadbeef" # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000001000" - ), - storage_keys=[ - Hash( - "0x00000000000000000000000000000000000000000000000000000000000fffff" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000123214342" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000deadbeef" # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000010000000000100" - ), - storage_keys=[ - Hash( - "0x000000000000000000000000000000000000000000000000000000000fffffbc" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000000bc" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000123214342bc" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000deadbeefbc" # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0xffffffffffffffffffffffffffffffffffffffff" - ), - storage_keys=[ - Hash( - "0x000000000000000000000000000000000000000000000000000000000fffffbc" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000000bc" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000123214342bc" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000deadbeefbc" # noqa: E501 - ), - Hash( - "0xdeadbeef12345678deadbeef12345678deadbeef12345678deadbeef12345678" # noqa: E501 - ), - Hash( - "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - ), - ], - ), - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2, 1: 20003} - ), - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 7, + 0, + 0, + id="undeclaredKeyRead", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001000" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2, 1: 20003} - ), - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 8, + 0, + 0, + id="undeclaredKeyDel", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001020" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001020"): Account( - storage={0: 2, 1: 20000} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 9, + 0, + 0, + id="undeclaredKeyUpdate", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001010" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001010"): Account( - storage={0: 2, 1: 103} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 10, + 0, + 0, + id="undeclaredKeyNOP", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - [ - AccessList( - address=Address( - "0xcccccccccccccccccccccccccccccccccccccccc" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 100, 2: 20000, 24743: 57005} - ), - }, + pytest.param( + 11, + 0, + 0, + id="undeclaredKeyNOP0", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0xf000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={1: 5003} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 12, + 0, + 0, + id="undeclaredKeyWrite", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - None, - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={1: 5003} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 13, + 0, + 0, + id="undeclaredKeyRead", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001002" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={1: 5003} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 14, + 0, + 0, + id="undeclaredKeyDel", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - [ - AccessList( - address=Address( - "0xf000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743, 1: 2203} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 15, + 0, + 0, + id="undeclaredKeyUpdate", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - None, - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743, 1: 2203} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 16, + 0, + 0, + id="undeclaredKeyNOP", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - [ - AccessList( - address=Address( - "0xf000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001005"): Account( - storage={1: 2203} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 17, + 0, + 0, + id="undeclaredKeyNOP0", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - None, - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001005"): Account( - storage={1: 2203} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 18, + 0, + 0, + id="undeclaredKeyWrite", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001005" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001005"): Account( - storage={1: 2203} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 19, + 0, + 0, + id="undeclaredKeyRead", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001004" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743, 1: 2203} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 20, + 0, + 0, + id="undeclaredKeyDel", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0xf000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={1: 2100} - ), - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 21, + 0, + 0, + id="undeclaredKeyUpdate", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - None, - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={1: 2100} - ), - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 22, + 0, + 0, + id="undeclaredKeyNOP", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001001" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001001"): Account( - storage={1: 2100} - ), - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 23, + 0, + 0, + id="undeclaredKeyNOP0", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001021" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001021"): Account( - storage={1: 97} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 24, + 0, + 0, + id="declaredKeyWrite_postSSTORE", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000011", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001011" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001011"): Account( - storage={0: 24743, 1: 100} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 25, + 0, + 0, + id="undeclaredKeyWrite_postSSTORE", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0xf000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 48879, 1: 5003} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 26, + 0, + 0, + id="declaredKeyRead_postSSTORE", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - None, - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 48879, 1: 5003} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 27, + 0, + 0, + id="undeclaredKeyRead_postSSTORE", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001003" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 48879, 1: 5003} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 28, + 0, + 0, + id="declaredKeyWrite_postSLOAD", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0xf000000000000000000000000000000000000100" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2, 1: 22103} - ), - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 29, + 0, + 0, + id="undeclaredKeyWrite_postSLOAD", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - None, - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2, 1: 22103} - ), - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 30, + 0, + 0, + id="declaredKeyRead_postSLOAD", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001000" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2, 1: 22103} - ), - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 31, + 0, + 0, + id="undeclaredKeyRead_postSLOAD", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001020" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001020"): Account( - storage={0: 2, 1: 20000} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 32, + 0, + 0, + id="declaredTo", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001010" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001010"): Account( - storage={0: 2, 1: 103} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 33, + 0, + 0, + id="undeclaredTo", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - [ - AccessList( - address=Address( - "0xcccccccccccccccccccccccccccccccccccccccc" - ), - storage_keys=[ - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f000" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f001" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f002" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f0a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 34, + 0, + 0, + id="undeclaredTo", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - [ - AccessList( - address=Address( - "0xcccccccccccccccccccccccccccccccccc000000" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001004"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} - ), - }, + pytest.param( + 35, + 0, + 0, + id="declaredKeyWrite", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - ], ) @pytest.mark.pre_alloc_mutable def test_storage_costs( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_access_list: list | None, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001010) + contract_7 = Address(0x0000000000000000000000000000000000001011) + contract_8 = Address(0x0000000000000000000000000000000000001020) + contract_9 = Address(0x0000000000000000000000000000000000001021) + contract_10 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -1236,166 +288,311 @@ def test_storage_costs( gas_limit=71794957647893862, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0x2) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: lll + # { + # ; Write to @@0, and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [[0]] 0x02 + # [0] (- @0 (gas) 17) + # [[1]] @0 + # + # ; The 17 is the cost of the extra opcodes: + # ; PUSH1 0x00, MSTORE + # ; PUSH1 0x02, PUSH1 0x00, (and then comes the SSTORE we are measuring) + # ; GAS + # + # ; If the storage cell is declared the cost in @@1 should be 20003 + # ; If the storage cell is not declared the cost should be 22103 + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0x2) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.SLOAD(key=0x0)) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x13), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: lll + # { + # ; Read @@0, and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # @@0 + # [0] (- @0 (gas) 19) + # [[1]] @0 + # + # ; If the storage cell is declared the cost in @@1 should be 100 + # ; If the storage cell is not declared the cost should be 2100 + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.SLOAD(key=0x0)) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x13), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0x0) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x60A7}, + # Source: lll + # { + # ; Write to @@0, and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [[0]] 0x00 + # [0] (- @0 (gas) 17) + # [[1]] @0 + # + # ; The 17 is the cost of the extra opcodes: + # ; PUSH1 0x00, MSTORE + # ; PUSH1 0x02, PUSH1 0x00, (and then comes the SSTORE we are measuring) + # ; GAS + # + # ; If the storage cell is declared the cost in @@1 should be 2903 + # ; If the storage cell is not declared the cost should be 5003 + # ; + # ; The refund for freeing memory happens at the end of the transaction, + # ; so we don't see it + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0x0) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 24743}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0xBEEF) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x60A7}, + # Source: lll + # { + # ; Write to @@0, and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [[0]] 0xBEEF + # [0] (- @0 (gas) 17) + # [[1]] @0 + # + # ; The 17 is the cost of the extra opcodes: + # ; PUSH1 0x00, MSTORE + # ; PUSH1 0x02, PUSH1 0x00, (and then comes the SSTORE we are measuring) + # ; GAS + # + # ; If the storage cell is declared the cost in @@1 should be 103 + # ; If the storage cell is not declared the cost should be 2203 + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0xBEEF) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 24743}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0x60A7) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x60A7}, + # Source: lll + # { + # ; Write to @@0, and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [[0]] 0x60A7 + # [0] (- @0 (gas) 17) + # [[1]] @0 + # + # ; The 17 is the cost of the extra opcodes: + # ; PUSH1 0x00, MSTORE + # ; PUSH1 0x02, PUSH1 0x00, (and then comes the SSTORE we are measuring) + # ; GAS + # + # ; This costs 103, regadless of whether it is declared or not + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0x60A7) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 24743}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0x0) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x0}, + # Source: lll + # { + # ; Write to @@0, and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [[0]] 0x00 + # [0] (- @0 (gas) 17) + # [[1]] @0 + # + # ; The 17 is the cost of the extra opcodes: + # ; PUSH1 0x00, MSTORE + # ; PUSH1 0x02, PUSH1 0x00, (and then comes the SSTORE we are measuring) + # ; GAS + # + # ; This costs 103, regadless of whether it is declared or not + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0x0) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 0}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x60A7) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0x2) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: lll + # { + # + # [[0]] 0x60A7 + # + # ; Write to @@0, and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [[0]] 0x02 + # [0] (- @0 (gas) 17) + # [[1]] @0 + # + # ; The 17 is the cost of the extra opcodes: + # ; PUSH1 0x00, MSTORE + # ; PUSH1 0x02, PUSH1 0x00, (and then comes the SSTORE we are measuring) + # ; GAS + # + # ; Since this is second access, it will cost 103 + # ; regardless of whether it was declared or not + # + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x60A7) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0x2) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001010"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001010), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x60A7) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.SLOAD(key=0x0)) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x13), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: lll + # { + # [[0]] 0x60A7 + # + # ; Read @@0, and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # @@0 + # [0] (- @0 (gas) 19) + # [[1]] @0 + # + # ; Since this is second access, it will cost 100 + # ; regardless of whether it was declared or not + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x60A7) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.SLOAD(key=0x0)) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x13), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001011"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001011), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x20, value=Op.SLOAD(key=0x0)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0x2) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: lll + # { + # [0x20] @@0 + # + # ; Write to @@0, and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [[0]] 0x02 + # [0] (- @0 (gas) 17) + # [[1]] @0 + # + # ; The 17 is the cost of the extra opcodes: + # ; PUSH1 0x00, MSTORE + # ; PUSH1 0x02, PUSH1 0x00, (and then comes the SSTORE we are measuring) + # ; GAS + # + # ; Since this is second access, it will cost 20k + # ; regardless of whether it was declared or not + # + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x20, value=Op.SLOAD(key=0x0)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0x2) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001020"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001020), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x20, value=Op.SLOAD(key=0x0)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.SLOAD(key=0x0)) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x13), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: lll + # { + # [0x20] @@0 + # + # ; Read @@0, and see how much gas that cost. + # [0] (gas) + # @@0 + # [0] (- @0 (gas) 19) + # [[1]] @0 + # + # ; Since this is second access, it will cost 97 + # ; regardless of whether it was declared or not + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x20, value=Op.SLOAD(key=0x0)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.SLOAD(key=0x0)) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x13), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001021"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001021), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { ; TO_ADDR_VALID TO_ADDR_INVALID_ADDR TO_ADDR_INVALID_CELL # ; Call a different contract # (call (gas) (+ 0x1000 $4) 0 0 0 0 0) @@ -1421,52 +618,590 @@ def test_storage_costs( # # # } - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP(Op.SLOAD(key=0x60A7)) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x13), + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0x2) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x60A7: 0xDEAD}, + ) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP(Op.SLOAD(key=0x60A7)) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x13), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0x2) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={24743: 57005}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 35], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 2, 1: 20003})}, + }, + { + "indexes": {"data": [6, 12, 18], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 2, 1: 22103})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 48879, 1: 2903})}, + }, + { + "indexes": {"data": [9, 15, 21], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 48879, 1: 5003})}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={0: 24743, 1: 103})}, + }, + { + "indexes": {"data": [10, 16, 22], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={0: 24743, 1: 2203})}, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={1: 103})}, + }, + { + "indexes": {"data": [11, 17, 23], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={1: 2203})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 0, 1: 2903})}, + }, + { + "indexes": {"data": [8, 14, 20], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 0, 1: 5003})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={1: 100})}, + }, + { + "indexes": {"data": [7, 13, 19], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={1: 2100})}, + }, + { + "indexes": {"data": [24, 25], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_6: Account(storage={0: 2, 1: 103})}, + }, + { + "indexes": {"data": [26, 27], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_7: Account(storage={0: 24743, 1: 100})}, + }, + { + "indexes": {"data": [28, 29], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_8: Account(storage={0: 2, 1: 20000})}, + }, + { + "indexes": {"data": [30, 31], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_9: Account(storage={1: 97})}, + }, + { + "indexes": {"data": [32], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_10: Account( + storage={0: 2, 1: 100, 2: 20000, 24743: 57005} + ) + }, + }, + { + "indexes": {"data": [33, 34], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_10: Account( + storage={0: 2, 1: 2100, 2: 22100, 24743: 57005} + ), + }, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x10), + Bytes("693c6139") + Hash(0x10), + Bytes("693c6139") + Hash(0x11), + Bytes("693c6139") + Hash(0x11), + Bytes("693c6139") + Hash(0x20), + Bytes("693c6139") + Hash(0x20), + Bytes("693c6139") + Hash(0x21), + Bytes("693c6139") + Hash(0x21), + Bytes("693c6139") + Hash(0xFFF), + Bytes("693c6139") + Hash(0xFFF), + Bytes("693c6139") + Hash(0xFFF), + Bytes("693c6139") + Hash(0x0), + ] + tx_gas = [400000] + tx_value = [100000] + tx_access_lists: dict[int, list] = { + 0: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001000), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 1: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001001), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 2: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001002), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 3: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001003), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 4: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001004), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 5: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001005), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 6: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001000), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 7: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001001), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 8: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001002), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 9: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001003), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 10: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001004), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 11: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001005), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 12: [ + AccessList( + address=Address(0xF000000000000000000000000000000000000100), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 13: [ + AccessList( + address=Address(0xF000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 14: [ + AccessList( + address=Address(0xF000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 15: [ + AccessList( + address=Address(0xF000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 16: [ + AccessList( + address=Address(0xF000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 17: [ + AccessList( + address=Address(0xF000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 24: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001010), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 25: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001010), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 26: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001011), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 27: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001011), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 28: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001020), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 29: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001020), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 30: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001021), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 31: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001021), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 32: [ + AccessList( + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 33: [ + AccessList( + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 34: [ + AccessList( + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), + storage_keys=[ + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f001" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f002" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f0a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 35: [ + AccessList( + address=Address(0x00000000000000000000000000000000000060A7), + storage_keys=[ + Hash( + "0x000000000000000000000000000000000000000000000000000000000fffffad" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000000ad" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000123214342ad" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000deadbeef" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000001000), + storage_keys=[ + Hash( + "0x00000000000000000000000000000000000000000000000000000000000fffff" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000123214342" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000deadbeef" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000010000000000100), + storage_keys=[ + Hash( + "0x000000000000000000000000000000000000000000000000000000000fffffbc" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000000bc" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000123214342bc" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000deadbeefbc" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), + storage_keys=[ + Hash( + "0x000000000000000000000000000000000000000000000000000000000fffffbc" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000000bc" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000123214342bc" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000deadbeefbc" # noqa: E501 + ), # noqa: E501 + Hash( + "0xdeadbeef12345678deadbeef12345678deadbeef12345678deadbeef12345678" # noqa: E501 + ), # noqa: E501 + Hash( + "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + } tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=400000, - value=100000, - access_list=tx_access_list, + to=contract_10, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + access_list=tx_access_lists.get(d), + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP2930/test_transaction_costs.py b/tests/ported_static/stEIP2930/test_transaction_costs.py index 8a0b2e89be3..5a0eb77edbb 100644 --- a/tests/ported_static/stEIP2930/test_transaction_costs.py +++ b/tests/ported_static/stEIP2930/test_transaction_costs.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP2930/transactionCostsFiller.yml +state_tests/stEIP2930/transactionCostsFiller.yml """ import pytest @@ -12,405 +12,114 @@ Account, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP2930/transactionCostsFiller.yml"], + ["state_tests/stEIP2930/transactionCostsFiller.yml"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.parametrize( - "tx_access_list, expected_post", + "d, g, v", [ - ([], {}), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000100" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000fffffffffffffff" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000102" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000fffffffffffffff" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000103" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000104" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000fffffffffffffff" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000105" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000001111" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000002222" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000003333" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000106" - ), - storage_keys=[], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000107" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000108" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000fffffffffffffff" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000109" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - ], - ), - ], - {}, + pytest.param( + 0, + 0, + 0, + id="type0", ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000102" - ), - storage_keys=[], - ) - ], - {}, + pytest.param( + 1, + 0, + 0, + id="addrs_0_keys_0", ), - ( - [ - AccessList( - address=Address( - "0xff00000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ) - ], - {}, + pytest.param( + 2, + 0, + 0, + id="addrs_1_keys_0", ), - ( - [ - AccessList( - address=Address( - "0xff00000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x000000000000000000000000000000000000000fffffffffffffffffffffffff" - # noqa: E501 - ) - ], - ) - ], - {}, + pytest.param( + 3, + 0, + 0, + id="addrs_1_keys_1", ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ) - ], - {}, + pytest.param( + 4, + 0, + 0, + id="addrs_1_keys_1", ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - ], - ) - ], - {}, + pytest.param( + 5, + 0, + 0, + id="addrs_1_keys_1", ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" - # noqa: E501 - ), - ], - ) - ], - {}, + pytest.param( + 6, + 0, + 0, + id="addrs_1_keys_2", ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" - # noqa: E501 - ) - ], - ), - ], - {}, + pytest.param( + 7, + 0, + 0, + id="addrs_2_keys_2", ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ), - ], - {}, + pytest.param( + 8, + 0, + 0, + id="addrs_2_keys_2", ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000102" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" - # noqa: E501 - ) - ], - ), - ], - {}, + pytest.param( + 9, + 0, + 0, + id="addrs_2_keys_2", + ), + pytest.param( + 10, + 0, + 0, + id="addrs_1_keys_2", + ), + pytest.param( + 11, + 0, + 0, + id="addrs_10_keys_25", ), - (None, {}), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", ], ) @pytest.mark.pre_alloc_mutable def test_transaction_costs( state_test: StateTestFiller, pre: Alloc, - tx_access_list: list | None, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7778A3B885EA30938725C6E00831943A454477163CDBC252DEBEB9612B4FA5F7 ) @@ -424,450 +133,326 @@ def test_transaction_costs( gas_limit=71794957647893862, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex("00"), + # Source: raw + # 0x00 + target = pre.deploy_contract( # noqa: F841 + code=Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x1bf4bd50bbda0f09948556f87d37f86f2e19e84a"), - # noqa: E501 + address=Address(0x1BF4BD50BBDA0F09948556F87D37F86F2E19E84A), # noqa: E501 ) pre[sender] = Account(balance=0x5FA9C18) - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("00"), - gas_limit=400000, - value=100000, - access_list=tx_access_list, - ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1], "gas": -1, "value": -1}, + "network": ["Cancun"], + "result": {sender: Account(balance=0x5F5E100)}, + }, + { + "indexes": {"data": [0, 1], "gas": -1, "value": -1}, + "network": [">=Prague"], + "result": {sender: Account(balance=0x5F5E0C4)}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(balance=0x5F58340)}, + }, + { + "indexes": {"data": [3, 4, 5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(balance=0x5F53908)}, + }, + { + "indexes": {"data": [6, 10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(balance=0x5F4EED0)}, + }, + { + "indexes": {"data": [7, 8, 9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(balance=0x5F49110)}, + }, + { + "indexes": {"data": [11], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(balance=0x5EAF808)}, + }, + ] - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) - -@pytest.mark.ported_from( - ["tests/static/state_tests/stEIP2930/transactionCostsFiller.yml"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_access_list, expected_post", - [ - ([], {}), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000100" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000fffffffffffffff" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000102" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000fffffffffffffff" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000103" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000104" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000fffffffffffffff" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000105" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000001111" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000002222" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000003333" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000106" - ), - storage_keys=[], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000107" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000108" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000fffffffffffffff" - # noqa: E501 - ), - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000109" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000010" - # noqa: E501 - ), - ], - ), - ], - {}, - ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000102" - ), - storage_keys=[], - ) - ], - {}, - ), - ( - [ - AccessList( - address=Address( - "0xff00000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ) - ], - {}, - ), - ( - [ - AccessList( - address=Address( - "0xff00000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x000000000000000000000000000000000000000fffffffffffffffffffffffff" - # noqa: E501 - ) - ], - ) - ], - {}, - ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ) - ], - {}, - ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - ], - ) - ], - {}, - ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" - # noqa: E501 - ), - ], - ) - ], - {}, - ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" - # noqa: E501 - ) - ], - ), - ], - {}, - ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ), - ], - {}, - ), - ( - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000101" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" - # noqa: E501 - ) - ], - ), - AccessList( - address=Address( - "0x0000000000000000000000000000000000000102" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" - # noqa: E501 - ) - ], - ), - ], - {}, - ), - (None, {}), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - ], -) -@pytest.mark.pre_alloc_mutable -def test_transaction_costs_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_access_list: list | None, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x7778A3B885EA30938725C6E00831943A454477163CDBC252DEBEB9612B4FA5F7 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=71794957647893862, - ) - - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex("00"), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x1bf4bd50bbda0f09948556f87d37f86f2e19e84a"), - # noqa: E501 - ) - pre[sender] = Account(balance=0x5FA9C18) + tx_data = [ + Bytes("00"), + Bytes("00"), + Bytes("00"), + Bytes("00"), + Bytes("00"), + Bytes("00"), + Bytes("00"), + Bytes("00"), + Bytes("00"), + Bytes("00"), + Bytes("00"), + Bytes("00"), + ] + tx_gas = [400000] + tx_value = [100000] + tx_access_lists: dict[int, list] = { + 1: [], + 2: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000102), + storage_keys=[], + ), + ], + 3: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 4: [ + AccessList( + address=Address(0xFF00000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 5: [ + AccessList( + address=Address(0xFF00000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x000000000000000000000000000000000000000fffffffffffffffffffffffff" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 6: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 7: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000102), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 8: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 9: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 10: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 11: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000100), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000fffffffffffffff" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000101), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000102), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000fffffffffffffff" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000103), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000104), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000fffffffffffffff" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000105), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000001111" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000002222" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000003333" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000106), + storage_keys=[], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000107), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000108), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000fffffffffffffff" # noqa: E501 + ), # noqa: E501 + ], + ), + AccessList( + address=Address(0x0000000000000000000000000000000000000109), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000010" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + } tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), - gas_limit=400000, - value=100000, - access_list=tx_access_list, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + access_list=tx_access_lists.get(d), + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP2930/test_varied_context.py b/tests/ported_static/stEIP2930/test_varied_context.py index 2900972c82c..0f2cf613ad7 100644 --- a/tests/ported_static/stEIP2930/test_varied_context.py +++ b/tests/ported_static/stEIP2930/test_varied_context.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stEIP2930/variedContextFiller.yml +state_tests/stEIP2930/variedContextFiller.yml """ import pytest @@ -12,10 +12,16 @@ Account, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -24,1956 +30,268 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stEIP2930/variedContextFiller.yml"], + ["state_tests/stEIP2930/variedContextFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_access_list, expected_post", + "d, g, v", [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0x000000000000000000000000000000000000c057" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={0: 2, 1: 20003, 2: 107, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 0, + 0, + 0, + id="delegateCallerInAccessList", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001001" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={0: 2, 1: 22103, 2: 2107, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 1, + 0, + 0, + id="delegateCalleeInAccessList", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000023", # noqa: E501 - [ - AccessList( - address=Address( - "0x58fd03a2d731b2fb751e4a0f593d373ee77d39e6" - ), - storage_keys=[ - Hash( - "0x000000000000000000000000000000000000000000000000000000000000ffff" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001023"): Account( - storage={1: 0x530508498D2AA75D8E591612809FEC3D37A45615} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0x530508498d2aa75d8e591612809fec3d37a45615"): Account( - storage={0: 65535, 1: 22117} - ), - }, + pytest.param( + 2, + 0, + 0, + id="callcodeCallerInAccessList", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000023", # noqa: E501 - [ - AccessList( - address=Address( - "0x530508498d2aa75d8e591612809fec3d37a45615" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001023"): Account( - storage={1: 0x530508498D2AA75D8E591612809FEC3D37A45615} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0x530508498d2aa75d8e591612809fec3d37a45615"): Account( - storage={0: 65535, 1: 20017} - ), - }, + pytest.param( + 3, + 0, + 0, + id="callcodeCalleeInAccessList", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000022", # noqa: E501 - [ - AccessList( - address=Address( - "0x58fd03a2d731b2fb751e4a0f593d373ee77d39e6" - ), - storage_keys=[ - Hash( - "0x000000000000000000000000000000000000000000000000000000000000ffff" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001022"): Account( - storage={1: 0x58FD03A2D731B2FB751E4A0F593D373EE77D39E6} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0x58fd03a2d731b2fb751e4a0f593d373ee77d39e6"): Account( - storage={0: 65535, 1: 22117} - ), - }, + pytest.param( + 4, + 0, + 0, + id="callCallerInAccessList", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000022", # noqa: E501 - [ - AccessList( - address=Address( - "0x58fd03a2d731b2fb751e4a0f593d373ee77d39e6" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001022"): Account( - storage={1: 0x58FD03A2D731B2FB751E4A0F593D373EE77D39E6} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0x58fd03a2d731b2fb751e4a0f593d373ee77d39e6"): Account( - storage={0: 65535, 1: 20017} - ), - }, + pytest.param( + 5, + 0, + 0, + id="callCalleeInAccessList", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000012", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001012" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001012"): Account( - storage={0: 4600} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 6, + 0, + 0, + id="staticcallCallerInAccessList", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000012", # noqa: E501 - [ - AccessList( - address=Address( - "0x00000000000000000000000000000000dead0112" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001012"): Account( - storage={0: 100} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 7, + 0, + 0, + id="staticcallCalleeInAccessList", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001010" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 20003, 1: 100} - ), - }, + pytest.param( + 8, + 0, + 0, + id="callRevertCalleeInAccessList", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - [ - AccessList( - address=Address( - "0xcccccccccccccccccccccccccccccccccccccccc" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 22103, 1: 2100} - ), - }, + pytest.param( + 9, + 0, + 0, + id="callRevertCallerInAccessList", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000026", # noqa: E501 - [ - AccessList( - address=Address( - "0x000000000000000000000000000000000000f126" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000f126"): Account( - storage={0: 24743, 1: 22117, 2: 117} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 10, + 0, + 0, + id="callWriteSuicideValid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000026", # noqa: E501 - [ - AccessList( - address=Address( - "0x000000000000000000000000000000000000f126" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000f126"): Account( - storage={0: 24743, 1: 20017, 2: 117} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 11, + 0, + 0, + id="callWriteSuicideInvalid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000011", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001011" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001011"): Account( - storage={0: 24601} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0111"): Account( - storage={0: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 12, + 0, + 0, + id="callReadSuicideValid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000011", # noqa: E501 - [ - AccessList( - address=Address( - "0x00000000000000000000000000000000dead0111" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001011"): Account( - storage={0: 20001} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0111"): Account( - storage={0: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 13, + 0, + 0, + id="callReadSuicideInvalid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0x000000000000000000000000000000000000c057" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 2, 1: 22103, 2: 2107} - ), - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 14, + 0, + 0, + id="staticWriteInvalid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001002" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001002"): Account( - storage={0: 2, 1: 20003, 2: 107} - ), - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 15, + 0, + 0, + id="staticWriteValid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000025", # noqa: E501 - [ - AccessList( - address=Address( - "0x58fd03a2d731b2fb751e4a0f593d373ee77d39e6" - ), - storage_keys=[ - Hash( - "0x000000000000000000000000000000000000000000000000000000000000ffff" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001025"): Account( - storage={1: 0x83FBDAE70258AC0FA837B701CC63CEDF48D4B6BF} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0x83fbdae70258ac0fa837b701cc63cedf48d4b6bf"): Account( - storage={0: 65535, 1: 22117, 2: 117} - ), - }, + pytest.param( + 16, + 0, + 0, + id="writeValidGas", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000025", # noqa: E501 - [ - AccessList( - address=Address( - "0x83fbdae70258ac0fa837b701cc63cedf48d4b6bf" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001025"): Account( - storage={1: 0x83FBDAE70258AC0FA837B701CC63CEDF48D4B6BF} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0x83fbdae70258ac0fa837b701cc63cedf48d4b6bf"): Account( - storage={0: 65535, 1: 20017, 2: 117} - ), - }, + pytest.param( + 17, + 0, + 0, + id="writeInvalidOOG", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - [ - AccessList( - address=Address( - "0xf342e57f24e0333f3af34af08fdbbe9c72cbd37c" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001021"): Account( - storage={1: 0xD82F21135ED7D7D833A9F2A0F1CF6C3DA214B8E3} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0xd82f21135ed7d7d833a9f2a0f1cf6c3da214b8e3"): Account( - storage={0: 65535, 1: 22117} - ), - }, + pytest.param( + 18, + 0, + 0, + id="readValidGas", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000021", # noqa: E501 - [ - AccessList( - address=Address( - "0xd82f21135ed7d7d833a9f2a0f1cf6c3da214b8e3" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001021"): Account( - storage={1: 0xD82F21135ED7D7D833A9F2A0F1CF6C3DA214B8E3} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0xd82f21135ed7d7d833a9f2a0f1cf6c3da214b8e3"): Account( - storage={0: 65535, 1: 20017} - ), - }, + pytest.param( + 19, + 0, + 0, + id="readInvalidOOG", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000024", # noqa: E501 - [ - AccessList( - address=Address( - "0x58fd03a2d731b2fb751e4a0f593d373ee77d39e6" - ), - storage_keys=[ - Hash( - "0x000000000000000000000000000000000000000000000000000000000000ffff" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001024"): Account( - storage={1: 0xB76AB2D646C4DF221EDD345957D0A396A2AB1B6D} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0xb76ab2d646c4df221edd345957d0a396a2ab1b6d"): Account( - storage={0: 65535, 1: 22117, 2: 117} - ), - }, + pytest.param( + 20, + 0, + 0, + id="recurseValid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000024", # noqa: E501 - [ - AccessList( - address=Address( - "0xb76ab2d646c4df221edd345957d0a396a2ab1b6d" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001024"): Account( - storage={1: 0xB76AB2D646C4DF221EDD345957D0A396A2AB1B6D} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0xb76ab2d646c4df221edd345957d0a396a2ab1b6d"): Account( - storage={0: 65535, 1: 20017, 2: 117} - ), - }, + pytest.param( + 21, + 0, + 0, + id="recurseInvalid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - [ - AccessList( - address=Address( - "0xf342e57f24e0333f3af34af08fdbbe9c72cbd37c" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001020"): Account( - storage={1: 0xF342E57F24E0333F3AF34AF08FDBBE9C72CBD37C} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0xf342e57f24e0333f3af34af08fdbbe9c72cbd37c"): Account( - storage={0: 65535, 1: 22117} - ), - }, + pytest.param( + 22, + 0, + 0, + id="createValid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - [ - AccessList( - address=Address( - "0xf342e57f24e0333f3af34af08fdbbe9c72cbd37c" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x0000000000000000000000000000000000001020"): Account( - storage={1: 0xF342E57F24E0333F3AF34AF08FDBBE9C72CBD37C} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - Address("0xf342e57f24e0333f3af34af08fdbbe9c72cbd37c"): Account( - storage={0: 65535, 1: 20017} - ), - }, + pytest.param( + 23, + 0, + 0, + id="createInvalid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0x000000000000000000000000000000000000c057" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2, 1: 22103, 2: 2107} - ), - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 24, + 0, + 0, + id="create2Valid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001000" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001000"): Account( - storage={0: 2, 1: 20003, 2: 107} - ), - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 25, + 0, + 0, + id="create2Invalid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001015" - ), - storage_keys=[ - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 26, + 0, + 0, + id="callCreatedValid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - [ - AccessList( - address=Address( - "0x000000000000000000000000000000000000f115" - ), - storage_keys=[ - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 24589, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 27, + 0, + 0, + id="callCreatedInvalid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - [ - AccessList( - address=Address( - "0xf000000000000000000000000000000000000116" - ), - storage_keys=[ - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000beef" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={ - 256: 103, - 257: 103, - 258: 103, - 259: 103, - 260: 103, - 261: 103, - 262: 103, - 263: 103, - 264: 103, - 265: 103, - 266: 103, - 267: 103, - 268: 103, - 269: 103, - 270: 103, - 271: 22103, - 512: 100, - 513: 100, - 514: 100, - 515: 100, - 516: 100, - 517: 100, - 518: 100, - 519: 100, - 520: 100, - 521: 100, - 522: 100, - 523: 100, - 524: 100, - 525: 100, - 526: 100, - 527: 2100, - 768: 22103, - 769: 22103, - 770: 22103, - 771: 22103, - 772: 22103, - 773: 22103, - 774: 22103, - 775: 22103, - 776: 22103, - 777: 22103, - 778: 22103, - 779: 22103, - 780: 22103, - 781: 22103, - 782: 22103, - 783: 22103, - 1024: 2100, - 1025: 2100, - 1026: 2100, - 1027: 2100, - 1028: 2100, - 1029: 2100, - 1030: 2100, - 1031: 2100, - 1032: 2100, - 1033: 2100, - 1034: 2100, - 1035: 2100, - 1036: 2100, - 1037: 2100, - 1038: 2100, - 1039: 2100, - 24743: 57005, - 48879: 2, - 61440: 48879, - 61441: 48879, - 61442: 48879, - 61443: 48879, - 61444: 48879, - 61445: 48879, - 61446: 48879, - 61447: 48879, - 61448: 48879, - 61449: 48879, - 61450: 48879, - 61451: 48879, - 61452: 48879, - 61453: 48879, - 61454: 48879, - 61455: 48879, - } - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 28, + 0, + 0, + id="callCreate2edValid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001016" - ), - storage_keys=[ - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000beef" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f000" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f001" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f002" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f003" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f004" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f005" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f006" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f007" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f008" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f009" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f00a" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f00b" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f00c" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f00d" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f00e" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f00f" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f010" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f011" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f012" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f013" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f014" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f015" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f016" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f017" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f018" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f019" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f01a" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f01b" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f01c" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f01d" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f01e" # noqa: E501 - ), - Hash( - "0x000000000000000000000000000000000000000000000000000000000000f01f" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={ - 256: 103, - 257: 103, - 258: 103, - 259: 103, - 260: 103, - 261: 103, - 262: 103, - 263: 103, - 264: 103, - 265: 103, - 266: 103, - 267: 103, - 268: 103, - 269: 103, - 270: 103, - 271: 20003, - 512: 100, - 513: 100, - 514: 100, - 515: 100, - 516: 100, - 517: 100, - 518: 100, - 519: 100, - 520: 100, - 521: 100, - 522: 100, - 523: 100, - 524: 100, - 525: 100, - 526: 100, - 527: 100, - 768: 20003, - 769: 20003, - 770: 20003, - 771: 20003, - 772: 20003, - 773: 20003, - 774: 20003, - 775: 20003, - 776: 20003, - 777: 20003, - 778: 20003, - 779: 20003, - 780: 20003, - 781: 20003, - 782: 20003, - 783: 20003, - 1024: 100, - 1025: 100, - 1026: 100, - 1027: 100, - 1028: 100, - 1029: 100, - 1030: 100, - 1031: 100, - 1032: 100, - 1033: 100, - 1034: 100, - 1035: 100, - 1036: 100, - 1037: 100, - 1038: 100, - 1039: 100, - 24743: 57005, - 48879: 2, - 61440: 48879, - 61441: 48879, - 61442: 48879, - 61443: 48879, - 61444: 48879, - 61445: 48879, - 61446: 48879, - 61447: 48879, - 61448: 48879, - 61449: 48879, - 61450: 48879, - 61451: 48879, - 61452: 48879, - 61453: 48879, - 61454: 48879, - 61455: 48879, - } - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 29, + 0, + 0, + id="callCreate2edInvalid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000013", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000000000" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 2989} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 30, + 0, + 0, + id="createAndCallValid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000013", # noqa: E501 - [ - AccessList( - address=Address( - "0x000000000000000000000000000000000000f113" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 2989} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 31, + 0, + 0, + id="createAndCallInvalid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0x00000000000000000000000000000000ead0c057" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 107} - ), - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 32, + 0, + 0, + id="create2AndCallValid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001003" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 - ), - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001003"): Account( - storage={0: 2107} - ), - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 33, + 0, + 0, + id="create2AndCallInvalid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - [ - AccessList( - address=Address( - "0x0000000000000000000000000000000000001014" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 2989} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 34, + 0, + 0, + id="callTwiceValid", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - [ - AccessList( - address=Address( - "0x000000000000000000000000000000000000f114" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ) - ], - ) - ], - { - Address("0x0000000000000000000000000000000000001010"): Account( - storage={24743: 48879} - ), - Address("0x0000000000000000000000000000000000001013"): Account( - storage={0: 24743} - ), - Address("0x0000000000000000000000000000000000001016"): Account( - storage={0: 15, 24743: 57005} - ), - Address("0x000000000000000000000000000000000000c057"): Account( - storage={24743: 57005} - ), - Address("0x000000000000000000000000000000000000f114"): Account( - storage={0: 24589} - ), - Address("0x000000000000000000000000000000000000f115"): Account( - storage={0: 2989, 24743: 57005} - ), - Address("0x00000000000000000000000000000000dead0112"): Account( - storage={0: 0xDEAD0060A7} - ), - Address("0x00000000000000000000000000000000ead0c057"): Account( - storage={24743: 57005} - ), - }, + pytest.param( + 35, + 0, + 0, + id="callTwiceInvalid", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - ], ) @pytest.mark.pre_alloc_mutable def test_varied_context( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_access_list: list | None, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x000000000000000000000000000000000000C057) + contract_4 = Address(0x0000000000000000000000000000000000001003) + contract_5 = Address(0x00000000000000000000000000000000EAD0C057) + contract_6 = Address(0x0000000000000000000000000000000000001010) + contract_7 = Address(0x0000000000000000000000000000000000001011) + contract_8 = Address(0x00000000000000000000000000000000DEAD0111) + contract_9 = Address(0x0000000000000000000000000000000000001012) + contract_10 = Address(0x00000000000000000000000000000000DEAD0112) + contract_11 = Address(0x0000000000000000000000000000000000001013) + contract_12 = Address(0x000000000000000000000000000000000000F113) + contract_13 = Address(0x0000000000000000000000000000000000001014) + contract_14 = Address(0x000000000000000000000000000000000000F114) + contract_15 = Address(0x0000000000000000000000000000000000001015) + contract_16 = Address(0x000000000000000000000000000000000000F115) + contract_17 = Address(0x0000000000000000000000000000000000001016) + contract_18 = Address(0x0000000000000000000000000000000000001020) + contract_19 = Address(0x0000000000000000000000000000000000001021) + contract_20 = Address(0x0000000000000000000000000000000000001022) + contract_21 = Address(0x0000000000000000000000000000000000001023) + contract_22 = Address(0x0000000000000000000000000000000000001024) + contract_23 = Address(0x0000000000000000000000000000000000001025) + contract_24 = Address(0x0000000000000000000000000000000000001026) + contract_25 = Address(0x000000000000000000000000000000000000F126) + contract_26 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -1987,737 +305,995 @@ def test_varied_context( gas_limit=71794957647893862, ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xC057, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALL( - gas=Op.GAS, - address=0xC057, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { + # ; DELEGATE_VALID DELEGATE_INVALID + # + # (delegatecall (gas) 0xC057 0 0 0 0) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=0xC057, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=Op.GAS, - address=0xC057, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { + # ; CALL_VALID CALL_INVALID + # (call (gas) 0xC057 0 0 0 0 0) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=0xC057, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xEAD0C057, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: lll + # { + # ; CALLCODE_VALID CALLCODE_INVALID + # (callcode (gas) 0xC057 0 0 0 0 0) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.GAS, + address=0xC057, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0x2) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.MSTORE(offset=0x40, value=Op.SLOAD(key=0x60A7)) - + Op.MSTORE( - offset=0x20, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x20), Op.GAS), 0x1A), - ) - + Op.REVERT(offset=0x0, size=0x40) - + Op.STOP - ), - storage={0x60A7: 0xBEEF}, + # Source: lll + # { + # ; 0xC057: DELEGATE_VALID DELEGATE_INVALID + # ; CALL_INVALID CALL_VALID + # ; CALLCODE_VALID CALLCODE_INVALID + # + # + # ; Write to [[0]], and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [[0]] 0x02 + # [0] (- @0 (gas) 17) + # [[1]] @0 + # + # ; The 17 is the cost of the extra opcodes: + # ; PUSH1 0x00, MSTORE + # ; PUSH1 0x02, PUSH1 0x00, (and then comes the SSTORE we are measuring) + # ; GAS + # + # ; Read [[0x60A7]], and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [0x20] @@0x60A7 + # [0] (- @0 (gas) 16) + # [[2]] @0 + # + # ; The 16 is the cost of the extra opcodes + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0x2) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.MSTORE(offset=0x20, value=Op.SLOAD(key=0x60A7)) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x10), + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={24743: 57005}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001010"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000C057), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD0111, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x7FE8), + # Source: lll + # { + # ; STATICCALL_VALID STATICCALL_INVALID + # + # ; Need to store the result here, because static call is, well, static + # (staticcall (gas) 0xEAD0C057 0 0 0 0x20) + # [[0]] @0 + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0xEAD0C057, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001011"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD0112, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x7FE8), - ) - + Op.STOP - ), + # Source: lll + # { + # ; STATICCALL_VALID STATICCALL_INVALID + # + # + # ; Read [[0x60A7]], and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [0x20] @@0x60A7 + # [0] (- @0 (gas) 19) + # ; The 19 is the cost of the extra opcodes + # + # (return 0x00 0x20) ; a.k.a. @0 + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.MSTORE(offset=0x20, value=Op.SLOAD(key=0x60A7)) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x13), + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, + storage={24743: 57005}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001012"), # noqa: E501 + address=Address(0x00000000000000000000000000000000EAD0C057), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xBAD) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xF113, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x60A7}, + # Source: lll + # { + # ; CALL_REVERT_VALID CALL_REVERT_INVALID + # + # ; Write to [[0]], and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [[0]] 0x02 + # [0] (- @0 (gas) 17) + # + # ; The 17 is the cost of the extra opcodes: + # ; PUSH1 0x00, MSTORE + # ; PUSH1 0x02, PUSH1 0x00, (and then comes the SSTORE we are measuring) + # ; GAS + # + # ; Read [[0x60A7]], and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0x20] (gas) + # [0x40] @@0x60A7 + # [0x20] (- @0x20 (gas) 26) + # + # ; The 29 is the cost of the extra opcodes + # + # ; Send the results the only way we can + # + # (revert 0 0x40) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0x2) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.MSTORE(offset=0x40, value=Op.SLOAD(key=0x60A7)) + + Op.MSTORE( + offset=0x20, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x20), Op.GAS), 0x1A), + ) + + Op.REVERT(offset=0x0, size=0x40) + + Op.STOP, + storage={24743: 48879}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001013"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001010), # noqa: E501 ) - pre.deploy_contract( - code=( + # Source: lll + # { + # ; CALL_WRITE_SUICIDE_VALID CALL_WRITE_SUICIDE_INVALID + # [0] (gas) + # (call (gas) 0xDEAD0111 0 0 0 0 0) + # [[0]] (- @0 (gas) 0x7fe8) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( Op.CALL( - gas=0xB65, - address=0xF114, + gas=Op.GAS, + address=0xDEAD0111, value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, - ret_size=0x20, + ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.SSTORE( + key=0x0, value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x7FE8) + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x0000000000000000000000000000000000001011), # noqa: E501 + ) + # Source: lll + # { + # ; CALL_WRITE_SUICIDE_VALID CALL_WRITE_SUICIDE_INVALID + # [[0]] 0xDEAD + # + # (selfdestruct 0) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0xDEAD) + + Op.SELFDESTRUCT(address=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001014"), # noqa: E501 + address=Address(0x00000000000000000000000000000000DEAD0111), # noqa: E501 ) - pre.deploy_contract( - code=( + # Source: lll + # { + # ; CALL_READ_SUICIDE_VALID CALL_READ_SUICIDE_INVALID + # [0] (gas) + # (call (gas) 0xDEAD0112 0 0 0 0 0) + # [[0]] (- @0 (gas) 0x7fe8) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( Op.CALL( - gas=0x1800, - address=0xF115, + gas=Op.GAS, + address=0xDEAD0112, value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, - ret_size=0x20, + ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.SSTORE( + key=0x0, value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x7FE8) + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001015"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001012), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP(Op.SLOAD(key=0x0)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0xBEEF, value=0x2) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.MSTORE(offset=0xA0, value=Op.SLOAD(key=0x60A7)) - + Op.MSTORE( - offset=0x20, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x20), Op.GAS), 0x23), - ) - + Op.MSTORE(offset=0x40, value=Op.GAS) - + Op.SSTORE(key=Op.ADD(0xF000, Op.SLOAD(key=0x0)), value=0xBEEF) - + Op.MSTORE( - offset=0x40, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x40), Op.GAS), 0x78), - ) - + Op.MSTORE(offset=0x60, value=Op.GAS) - + Op.POP(Op.SLOAD(key=Op.ADD(0xF010, Op.SLOAD(key=0x0)))) - + Op.MSTORE( - offset=0x60, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x60), Op.GAS), 0x7A), - ) - + Op.SSTORE( - key=Op.ADD(0x100, Op.SLOAD(key=0x0)), - value=Op.MLOAD(offset=0x0), - ) - + Op.SSTORE( - key=Op.ADD(0x200, Op.SLOAD(key=0x0)), - value=Op.MLOAD(offset=0x20), - ) - + Op.SSTORE( - key=Op.ADD(0x300, Op.SLOAD(key=0x0)), - value=Op.MLOAD(offset=0x40), - ) - + Op.SSTORE( - key=Op.ADD(0x400, Op.SLOAD(key=0x0)), - value=Op.MLOAD(offset=0x60), - ) - + Op.JUMPI(pc=0x9B, condition=Op.GT(Op.SLOAD(key=0x0), 0x0)) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0xB4) - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=Op.SUB(Op.SLOAD(key=0x0), 0x1)) - + Op.CALL( + # Source: lll + # { + # ; CALL_READ_SUICIDE_VALID CALL_READ_SUICIDE_INVALID + # @@0 + # + # (selfdestruct 0) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SLOAD(key=0x0)) + + Op.SELFDESTRUCT(address=0x0) + + Op.STOP, + storage={0: 0xDEAD0060A7}, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x00000000000000000000000000000000DEAD0112), # noqa: E501 + ) + # Source: lll + # { ; STATIC_WRITE_VALID STATIC_WRITE_INVALID + # + # [0x00] 0x0BAD + # + # ; If the call is successful @0 becomes 0x600D + # (staticcall (gas) 0xF113 0 0 0 0x20) + # + # [[0]] @0x00 + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xBAD) + + Op.POP( + Op.STATICCALL( gas=Op.GAS, - address=0x1016, - value=0x0, + address=0xF113, args_offset=0x0, args_size=0x0, ret_offset=0x0, - ret_size=0x0, + ret_size=0x20, ) - + Op.JUMPDEST - + Op.STOP - ), - storage={0x0: 0xF, 0x60A7: 0xDEAD}, + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 24743}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001016"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001013), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.PUSH1[0x6] - + Op.CODECOPY(dest_offset=0x100, offset=0x33, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.MSTORE - + Op.PUSH1[0x21] - + Op.CODECOPY(dest_offset=0x0, offset=0x39, size=Op.DUP1) - + Op.PUSH2[0x220] - + Op.MSTORE - + Op.MSTORE( - offset=0x240, - value=Op.CREATE( - value=0x0, - offset=0x0, - size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=0xFF) - + Op.STOP - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0xFFFF) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) - + Op.RETURN(offset=0x0, size=0x10) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, + # Source: lll + # { ; STATIC_WRITE_VALID STATIC_WRITE_INVALID + # [[0]] 0xDEAD60A7 + # + # ; If we get here, GOOD + # [0] 0x600D + # (return 0 0x20) + # } + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0xDEAD60A7) + + Op.MSTORE(offset=0x0, value=0x600D) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001020"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000F113), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.PUSH1[0x6] - + Op.CODECOPY(dest_offset=0x100, offset=0x36, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.MSTORE - + Op.PUSH1[0x21] - + Op.CODECOPY(dest_offset=0x0, offset=0x3C, size=Op.DUP1) - + Op.PUSH2[0x220] - + Op.MSTORE - + Op.MSTORE( - offset=0x240, - value=Op.CREATE2( - value=0x0, - offset=0x0, - size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), - salt=0x5A17, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=0xFF) - + Op.STOP - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0xFFFF) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) - + Op.RETURN(offset=0x0, size=0x10) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, + # Source: lll + # { ; WRITE_INVALID_OOG WRITE_VALID_NO_OOG + # (call 0x0B65 0xF114 0 0 0 0 0x20) + # } + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xB65, + address=0xF114, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001021"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001014), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.PUSH1[0x13] - + Op.CODECOPY(dest_offset=0x100, offset=0x44, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.MSTORE - + Op.PUSH1[0xF] - + Op.CODECOPY(dest_offset=0x0, offset=0x57, size=Op.DUP1) - + Op.PUSH2[0x220] - + Op.MSTORE - + Op.MSTORE( - offset=0x240, - value=Op.CREATE( - value=0x0, - offset=0x0, - size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), - ), - ) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=Op.MLOAD(offset=0x240), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0xFFFF) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) - + Op.RETURN(offset=0x0, size=0x80) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, + # Source: lll + # { ; WRITE_INVALID_OOG WRITE_VALID_NO_OOG + # + # [[0]] 0x600D + # } + contract_14 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + Op.STOP, + storage={0: 2989}, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001022"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000F114), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.PUSH1[0x13] - + Op.CODECOPY(dest_offset=0x100, offset=0x47, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.MSTORE - + Op.PUSH1[0xF] - + Op.CODECOPY(dest_offset=0x0, offset=0x5A, size=Op.DUP1) - + Op.PUSH2[0x220] - + Op.MSTORE - + Op.MSTORE( - offset=0x240, - value=Op.CREATE2( - value=0x0, - offset=0x0, - size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), - salt=0x5A17, - ), - ) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=Op.MLOAD(offset=0x240), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0xFFFF) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) - + Op.RETURN(offset=0x0, size=0x80) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, + # Source: lll + # { ; READ_INVALID_OOG READ_VALID_NO_OOG + # (call 0x1800 0xF115 0 0 0 0 0x20) + # } + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x1800, + address=0xF115, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0000000000000000000000000000000000001023"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001015), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.PUSH1[0x13] - + Op.CODECOPY(dest_offset=0x100, offset=0x44, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.MSTORE - + Op.PUSH1[0x21] - + Op.CODECOPY(dest_offset=0x0, offset=0x57, size=Op.DUP1) - + Op.PUSH2[0x220] - + Op.MSTORE - + Op.MSTORE( - offset=0x240, - value=Op.CREATE( - value=0x0, - offset=0x0, - size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), - ), - ) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=Op.MLOAD(offset=0x240), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0xFFFF) - + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0xFFFF) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) - + Op.RETURN(offset=0x0, size=0x80) - + Op.STOP - ), + # Source: lll + # { ; READ_INVALID_OOG READ_VALID_NO_OOG + # [0] @@0x60A7 + # [[0]] 0x600D + # } + contract_16 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.SLOAD(key=0x60A7)) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + storage={0: 2989, 24743: 57005}, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x000000000000000000000000000000000000F115), # noqa: E501 + ) + # Source: lll + # { ; RECURSE_VALID RECURSE_INVALID + # (def 'NOP 0) + # + # ; Read storage cell zero, so the first time we read it to won't + # ; be added to the cost + # @@0 + # + # ; Write to [[0xBEEF]], and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0] (gas) + # [[0xBEEF]] 0x02 + # [0] (- @0 (gas) 17) + # + # ; Read [[0x60A7]], and see how much gas that cost. It should + # ; cost more when it is not declared storage + # [0x20] (gas) + # [0xA0] @@0x60A7 + # [0x20] (- @0x20 (gas) 35) + # + # ; Write to a different cell each time + # [0x40] (gas) + # [[(+ 0xF000 @@0)]] 0xBEEF + # [0x40] (- @0x40 (gas) 0x78) + # + # ; Read from a different cell each time + # [0x60] (gas) + # @@(+ 0xF010 @@0) + # [0x60] (- @0x60 (gas) 0x7a) + # + # + # ... (13 more lines) + contract_17 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SLOAD(key=0x0)) + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0xBEEF, value=0x2) + + Op.MSTORE( + offset=0x0, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.MSTORE(offset=0xA0, value=Op.SLOAD(key=0x60A7)) + + Op.MSTORE( + offset=0x20, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x20), Op.GAS), 0x23), + ) + + Op.MSTORE(offset=0x40, value=Op.GAS) + + Op.SSTORE(key=Op.ADD(0xF000, Op.SLOAD(key=0x0)), value=0xBEEF) + + Op.MSTORE( + offset=0x40, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x40), Op.GAS), 0x78), + ) + + Op.MSTORE(offset=0x60, value=Op.GAS) + + Op.POP(Op.SLOAD(key=Op.ADD(0xF010, Op.SLOAD(key=0x0)))) + + Op.MSTORE( + offset=0x60, + value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x60), Op.GAS), 0x7A), + ) + + Op.SSTORE( + key=Op.ADD(0x100, Op.SLOAD(key=0x0)), value=Op.MLOAD(offset=0x0) + ) + + Op.SSTORE( + key=Op.ADD(0x200, Op.SLOAD(key=0x0)), value=Op.MLOAD(offset=0x20) + ) + + Op.SSTORE( + key=Op.ADD(0x300, Op.SLOAD(key=0x0)), value=Op.MLOAD(offset=0x40) + ) + + Op.SSTORE( + key=Op.ADD(0x400, Op.SLOAD(key=0x0)), value=Op.MLOAD(offset=0x60) + ) + + Op.JUMPI(pc=0x9B, condition=Op.GT(Op.SLOAD(key=0x0), 0x0)) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0xB4) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.SUB(Op.SLOAD(key=0x0), 0x1)) + + Op.CALL( + gas=Op.GAS, + address=0x1016, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.STOP, + storage={0: 15, 24743: 57005}, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x0000000000000000000000000000000000001016), # noqa: E501 + ) + # Source: lll + # { + # ; CREATE_VALID CREATE_INVALID + # + # ; Variables are 0x20 bytes (= 256 bits) apart, except for + # ; code buffers that get 0x100 (256 bytes) + # (def 'constructorCode 0x000) + # (def 'contractCode 0x100) + # (def 'contractLength 0x200) + # (def 'constructorLength 0x220) + # (def 'addr 0x240) + # + # (def 'bufLength 0x100) + # + # ; Create the contract code + # [contractLength] + # (lll + # { + # [[0]] 0xFF + # } contractCode + # ) ; contract lll + # + # ; Create the constructor code, which runs with the contract address + # ; of the newly created contract. If we declare that address in the + # ; transaction's access list we get the discount + # [constructorLength] + # (lll + # { + # ; write to storage + # [0] (gas) + # [[0]] 0xFFFF + # ... (14 more lines) + contract_18 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x6] + + Op.CODECOPY(dest_offset=0x100, offset=0x33, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.MSTORE + + Op.PUSH1[0x21] + + Op.CODECOPY(dest_offset=0x0, offset=0x39, size=Op.DUP1) + + Op.PUSH2[0x220] + + Op.MSTORE + + Op.MSTORE( + offset=0x240, + value=Op.CREATE( + value=0x0, + offset=0x0, + size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) + + Op.STOP + + Op.INVALID + + Op.SSTORE(key=0x0, value=0xFF) + + Op.STOP + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0xFFFF) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) + + Op.RETURN(offset=0x0, size=0x10) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001024"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001020), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.PUSH1[0x13] - + Op.CODECOPY(dest_offset=0x100, offset=0x47, size=Op.DUP1) - + Op.PUSH2[0x200] - + Op.MSTORE - + Op.PUSH1[0x21] - + Op.CODECOPY(dest_offset=0x0, offset=0x5A, size=Op.DUP1) - + Op.PUSH2[0x220] - + Op.MSTORE - + Op.MSTORE( - offset=0x240, - value=Op.CREATE2( - value=0x0, - offset=0x0, - size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), - salt=0x5A17, - ), - ) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=Op.MLOAD(offset=0x240), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0xFFFF) - + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0xFFFF) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) - + Op.RETURN(offset=0x0, size=0x80) - + Op.STOP - ), + # Source: lll + # { + # ; CREATE2_VALID CREATE2_INVALID + # + # ; Variables are 0x20 bytes (= 256 bits) apart, except for + # ; code buffers that get 0x100 (256 bytes) + # (def 'constructorCode 0x000) + # (def 'contractCode 0x100) + # (def 'contractLength 0x200) + # (def 'constructorLength 0x220) + # (def 'addr 0x240) + # + # (def 'bufLength 0x100) + # + # ; Create the contract code + # [contractLength] + # (lll + # { + # [[0]] 0xFF + # } contractCode + # ) ; contract lll + # + # ; Create the constructor code, which runs with the contract address + # ; of the newly created contract. If we declare that address in the + # ; transaction's access list we get the discount + # [constructorLength] + # (lll + # { + # ; write to storage + # [0] (gas) + # [[0]] 0xFFFF + # ... (14 more lines) + contract_19 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x6] + + Op.CODECOPY(dest_offset=0x100, offset=0x36, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.MSTORE + + Op.PUSH1[0x21] + + Op.CODECOPY(dest_offset=0x0, offset=0x3C, size=Op.DUP1) + + Op.PUSH2[0x220] + + Op.MSTORE + + Op.MSTORE( + offset=0x240, + value=Op.CREATE2( + value=0x0, + offset=0x0, + size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), + salt=0x5A17, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) + + Op.STOP + + Op.INVALID + + Op.SSTORE(key=0x0, value=0xFF) + + Op.STOP + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0xFFFF) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) + + Op.RETURN(offset=0x0, size=0x10) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001025"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001021), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xF126, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.CALL( + # Source: lll + # { + # ; CALL_CREATED_VALID CALL_CREATED_INVALID + # + # + # ; Variables are 0x20 bytes (= 256 bits) apart, except for + # ; code buffers that get 0x100 (256 bytes) + # (def 'constructorCode 0x000) + # (def 'contractCode 0x100) + # (def 'contractLength 0x200) + # (def 'constructorLength 0x220) + # (def 'addr 0x240) + # + # (def 'bufLength 0x100) + # + # ; Create the contract code + # [contractLength] + # (lll + # { + # ; write to storage + # [0] (gas) + # [[0]] 0xFFFF + # [[1]] (- @0 (gas)) + # } contractCode + # ) ; contract lll + # + # + # ; Create the constructor code + # [constructorLength] + # (lll + # { + # ... (13 more lines) + contract_20 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x13] + + Op.CODECOPY(dest_offset=0x100, offset=0x44, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.MSTORE + + Op.PUSH1[0xF] + + Op.CODECOPY(dest_offset=0x0, offset=0x57, size=Op.DUP1) + + Op.PUSH2[0x220] + + Op.MSTORE + + Op.MSTORE( + offset=0x240, + value=Op.CREATE( + value=0x0, + offset=0x0, + size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), + ), + ) + + Op.POP( + Op.CALL( gas=Op.GAS, - address=0xF126, + address=Op.MLOAD(offset=0x240), value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) + + Op.STOP + + Op.INVALID + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0xFFFF) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP + + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) + + Op.RETURN(offset=0x0, size=0x80) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001026"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001022), # noqa: E501 ) - # Source: LLL + # Source: lll # { - # ; 0xC057: DELEGATE_VALID DELEGATE_INVALID - # ; CALL_INVALID CALL_VALID - # ; CALLCODE_VALID CALLCODE_INVALID + # ; CALL_CREATE2_ED_VALID CALL_CREATE2_ED_INVALID # # - # ; Write to [[0]], and see how much gas that cost. It should - # ; cost more when it is not declared storage - # [0] (gas) - # [[0]] 0x02 - # [0] (- @0 (gas) 17) - # [[1]] @0 + # ; Variables are 0x20 bytes (= 256 bits) apart, except for + # ; code buffers that get 0x100 (256 bytes) + # (def 'constructorCode 0x000) + # (def 'contractCode 0x100) + # (def 'contractLength 0x200) + # (def 'constructorLength 0x220) + # (def 'addr 0x240) # - # ; The 17 is the cost of the extra opcodes: - # ; PUSH1 0x00, MSTORE - # ; PUSH1 0x02, PUSH1 0x00, (and then comes the SSTORE we are measuring) - # ; GAS + # (def 'bufLength 0x100) # - # ; Read [[0x60A7]], and see how much gas that cost. It should - # ; cost more when it is not declared storage - # [0] (gas) - # [0x20] @@0x60A7 - # [0] (- @0 (gas) 16) - # [[2]] @0 + # ; Create the contract code + # [contractLength] + # (lll + # { + # ; write to storage + # [0] (gas) + # [[0]] 0xFFFF + # [[1]] (- @0 (gas)) + # } contractCode + # ) ; contract lll # - # ; The 16 is the cost of the extra opcodes - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0x2) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x11), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.MSTORE(offset=0x20, value=Op.SLOAD(key=0x60A7)) - + Op.MSTORE( + # + # ; Create the constructor code + # [constructorLength] + # (lll + # { + # ... (13 more lines) + contract_21 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x13] + + Op.CODECOPY(dest_offset=0x100, offset=0x47, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.MSTORE + + Op.PUSH1[0xF] + + Op.CODECOPY(dest_offset=0x0, offset=0x5A, size=Op.DUP1) + + Op.PUSH2[0x220] + + Op.MSTORE + + Op.MSTORE( + offset=0x240, + value=Op.CREATE2( + value=0x0, offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x10), + size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), + salt=0x5A17, + ), + ) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=Op.MLOAD(offset=0x240), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x60A7: 0xDEAD}, - balance=0xDE0B6B3A7640000, + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) + + Op.STOP + + Op.INVALID + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0xFFFF) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP + + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) + + Op.RETURN(offset=0x0, size=0x80) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000000c057"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001023), # noqa: E501 ) - # Source: LLL - # { ; STATIC_WRITE_VALID STATIC_WRITE_INVALID - # [[0]] 0xDEAD60A7 + # Source: lll + # { + # ; CREATE_&_CALL_VALID CREATE_&_CALL_INVALID # - # ; If we get here, GOOD - # [0] 0x600D - # (return 0 0x20) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0xDEAD60A7) - + Op.MSTORE(offset=0x0, value=0x600D) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x000000000000000000000000000000000000f113"), # noqa: E501 - ) - # Source: LLL - # { ; WRITE_INVALID_OOG WRITE_VALID_NO_OOG + # ; Variables are 0x20 bytes (= 256 bits) apart, except for + # ; code buffers that get 0x100 (256 bytes) + # (def 'constructorCode 0x000) + # (def 'contractCode 0x100) + # (def 'contractLength 0x200) + # (def 'constructorLength 0x220) + # (def 'addr 0x240) # - # [[0]] 0x600D - # } - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=0x600D) + Op.STOP, - storage={0x0: 0xBAD}, - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x000000000000000000000000000000000000f114"), # noqa: E501 - ) - # Source: LLL - # { ; READ_INVALID_OOG READ_VALID_NO_OOG - # [0] @@0x60A7 - # [[0]] 0x600D - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.SLOAD(key=0x60A7)) - + Op.SSTORE(key=0x0, value=0x600D) - + Op.STOP - ), - storage={0x0: 0xBAD, 0x60A7: 0xDEAD}, - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x000000000000000000000000000000000000f115"), # noqa: E501 - ) - # Source: LLL - # { - # ; CALL_TWICE_VALID CALL_TWICE_INVALID - # [0] (gas) - # [[0x00]] 0x60A7 - # [0] (- @0 (gas)) + # (def 'bufLength 0x100) # - # ; If @@1 is empty, write to it. Otherwise, write to @@2 - # (if (= @@1 0) {[[1]] @0} {[[2]] @0}) + # ; Create the contract code + # [contractLength] + # (lll + # { + # ; write to storage + # [0] (gas) + # [[0]] 0xFFFF + # [[2]] (- @0 (gas)) + # } contractCode + # ) ; contract lll # - # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE(key=0x0, value=0x60A7) - + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.JUMPI(pc=0x24, condition=Op.EQ(Op.SLOAD(key=0x1), 0x0)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.JUMP(pc=0x2B) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.JUMPDEST - + Op.STOP - ), + # + # ; Create the constructor code + # [constructorLength] + # (lll + # { + # ; write to storage + # ... (18 more lines) + contract_22 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x13] + + Op.CODECOPY(dest_offset=0x100, offset=0x44, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.MSTORE + + Op.PUSH1[0x21] + + Op.CODECOPY(dest_offset=0x0, offset=0x57, size=Op.DUP1) + + Op.PUSH2[0x220] + + Op.MSTORE + + Op.MSTORE( + offset=0x240, + value=Op.CREATE( + value=0x0, + offset=0x0, + size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), + ), + ) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=Op.MLOAD(offset=0x240), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) + + Op.STOP + + Op.INVALID + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0xFFFF) + + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0xFFFF) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) + + Op.RETURN(offset=0x0, size=0x80) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000000f126"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001024), # noqa: E501 ) - # Source: LLL + # Source: lll # { - # ; CALL_WRITE_SUICIDE_VALID CALL_WRITE_SUICIDE_INVALID - # [[0]] 0xDEAD + # ; CREATE2_&_CALL_VALID CREATE2_&_CALL_INVALID # - # (selfdestruct 0) - # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0xDEAD) - + Op.SELFDESTRUCT(address=0x0) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # ; Variables are 0x20 bytes (= 256 bits) apart, except for + # ; code buffers that get 0x100 (256 bytes) + # (def 'constructorCode 0x000) + # (def 'contractCode 0x100) + # (def 'contractLength 0x200) + # (def 'constructorLength 0x220) + # (def 'addr 0x240) + # + # (def 'bufLength 0x100) + # + # ; Create the contract code + # [contractLength] + # (lll + # { + # ; write to storage + # [0] (gas) + # [[0]] 0xFFFF + # [[2]] (- @0 (gas)) + # } contractCode + # ) ; contract lll + # + # + # ; Create the constructor code + # [constructorLength] + # (lll + # { + # ; write to storage + # ... (18 more lines) + contract_23 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x13] + + Op.CODECOPY(dest_offset=0x100, offset=0x47, size=Op.DUP1) + + Op.PUSH2[0x200] + + Op.MSTORE + + Op.PUSH1[0x21] + + Op.CODECOPY(dest_offset=0x0, offset=0x5A, size=Op.DUP1) + + Op.PUSH2[0x220] + + Op.MSTORE + + Op.MSTORE( + offset=0x240, + value=Op.CREATE2( + value=0x0, + offset=0x0, + size=Op.ADD(0x100, Op.MLOAD(offset=0x200)), + salt=0x5A17, + ), + ) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=Op.MLOAD(offset=0x240), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x240)) + + Op.STOP + + Op.INVALID + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0xFFFF) + + Op.SSTORE(key=0x2, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0xFFFF) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.CODECOPY(dest_offset=0x0, offset=0x100, size=0x100) + + Op.RETURN(offset=0x0, size=0x80) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x00000000000000000000000000000000dead0111"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001025), # noqa: E501 ) - # Source: LLL + # Source: lll # { - # ; CALL_READ_SUICIDE_VALID CALL_READ_SUICIDE_INVALID - # @@0 - # - # (selfdestruct 0) + # ; CALL_TWICE_VALID CALL_TWICE_INVALID + # (call (gas) 0xF126 0 0 0 0 0) + # (call (gas) 0xF126 0 0 0 0 0) # } - pre.deploy_contract( - code=( - Op.POP(Op.SLOAD(key=0x0)) + Op.SELFDESTRUCT(address=0x0) + Op.STOP - ), - storage={0x0: 0xDEAD0060A7}, - balance=0xDE0B6B3A7640000, + contract_24 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xF126, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=Op.GAS, + address=0xF126, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x00000000000000000000000000000000dead0112"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001026), # noqa: E501 ) - # Source: LLL + # Source: lll # { - # ; STATICCALL_VALID STATICCALL_INVALID - # + # ; CALL_TWICE_VALID CALL_TWICE_INVALID + # [0] (gas) + # [[0x00]] 0x60A7 + # [0] (- @0 (gas)) # - # ; Read [[0x60A7]], and see how much gas that cost. It should - # ; cost more when it is not declared storage - # [0] (gas) - # [0x20] @@0x60A7 - # [0] (- @0 (gas) 19) - # ; The 19 is the cost of the extra opcodes + # ; If @@1 is empty, write to it. Otherwise, write to @@2 + # (if (= @@1 0) {[[1]] @0} {[[2]] @0}) # - # (return 0x00 0x20) ; a.k.a. @0 # } - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.MSTORE(offset=0x20, value=Op.SLOAD(key=0x60A7)) - + Op.MSTORE( - offset=0x0, - value=Op.SUB(Op.SUB(Op.MLOAD(offset=0x0), Op.GAS), 0x13), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - storage={0x60A7: 0xDEAD}, - balance=0xDE0B6B3A7640000, + contract_25 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE(key=0x0, value=0x60A7) + + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.JUMPI(pc=0x24, condition=Op.EQ(Op.SLOAD(key=0x1), 0x0)) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.JUMP(pc=0x2B) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x00000000000000000000000000000000ead0c057"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000F126), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # ; ccc...ccc revert and suicide contract # (call (gas) (+ 0x1000 $4) 0 0 0 0 0x40) @@ -2726,38 +1302,985 @@ def test_varied_context( # [[0]] @0x00 # [[1]] @0x20 # } - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), + contract_26 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.STOP, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 2, 1: 20003, 2: 107})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 2, 1: 22103, 2: 2107})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 2, 1: 20003, 2: 107})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 2, 1: 22103, 2: 2107})}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={0: 2, 1: 22103, 2: 2107, 24743: 57005} + ) + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={0: 2, 1: 20003, 2: 107, 24743: 57005} + ) + }, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={0: 2107})}, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={0: 107})}, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_26: Account(storage={0: 20003, 1: 100})}, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_26: Account(storage={0: 22103, 1: 2100})}, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_7: Account(storage={0: 20001})}, + }, + { + "indexes": {"data": [11], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_7: Account(storage={0: 24601})}, + }, + { + "indexes": {"data": [12], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_9: Account(storage={0: 100})}, + }, + { + "indexes": {"data": [13], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_9: Account(storage={0: 4600})}, + }, + { + "indexes": {"data": [14, 15], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_11: Account(storage={0: 2989})}, + }, + { + "indexes": {"data": [16], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_14: Account(storage={0: 24589})}, + }, + { + "indexes": {"data": [17], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_14: Account(storage={0: 2989})}, + }, + { + "indexes": {"data": [18], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_16: Account(storage={0: 24589, 24743: 57005})}, + }, + { + "indexes": {"data": [19], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_16: Account(storage={0: 2989, 24743: 57005})}, + }, + { + "indexes": {"data": [20], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_17: Account( + storage={ + 0: 0, + 256: 103, + 257: 103, + 258: 103, + 259: 103, + 260: 103, + 261: 103, + 262: 103, + 263: 103, + 264: 103, + 265: 103, + 266: 103, + 267: 103, + 268: 103, + 269: 103, + 270: 103, + 271: 20003, + 512: 100, + 513: 100, + 514: 100, + 515: 100, + 516: 100, + 517: 100, + 518: 100, + 519: 100, + 520: 100, + 521: 100, + 522: 100, + 523: 100, + 524: 100, + 525: 100, + 526: 100, + 527: 100, + 768: 20003, + 769: 20003, + 770: 20003, + 771: 20003, + 772: 20003, + 773: 20003, + 774: 20003, + 775: 20003, + 776: 20003, + 777: 20003, + 778: 20003, + 779: 20003, + 780: 20003, + 781: 20003, + 782: 20003, + 783: 20003, + 1024: 100, + 1025: 100, + 1026: 100, + 1027: 100, + 1028: 100, + 1029: 100, + 1030: 100, + 1031: 100, + 1032: 100, + 1033: 100, + 1034: 100, + 1035: 100, + 1036: 100, + 1037: 100, + 1038: 100, + 1039: 100, + 24743: 57005, + 48879: 2, + 61440: 48879, + 61441: 48879, + 61442: 48879, + 61443: 48879, + 61444: 48879, + 61445: 48879, + 61446: 48879, + 61447: 48879, + 61448: 48879, + 61449: 48879, + 61450: 48879, + 61451: 48879, + 61452: 48879, + 61453: 48879, + 61454: 48879, + 61455: 48879, + }, + ), + }, + }, + { + "indexes": {"data": [21], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_17: Account( + storage={ + 0: 0, + 256: 103, + 257: 103, + 258: 103, + 259: 103, + 260: 103, + 261: 103, + 262: 103, + 263: 103, + 264: 103, + 265: 103, + 266: 103, + 267: 103, + 268: 103, + 269: 103, + 270: 103, + 271: 22103, + 512: 100, + 513: 100, + 514: 100, + 515: 100, + 516: 100, + 517: 100, + 518: 100, + 519: 100, + 520: 100, + 521: 100, + 522: 100, + 523: 100, + 524: 100, + 525: 100, + 526: 100, + 527: 2100, + 768: 22103, + 769: 22103, + 770: 22103, + 771: 22103, + 772: 22103, + 773: 22103, + 774: 22103, + 775: 22103, + 776: 22103, + 777: 22103, + 778: 22103, + 779: 22103, + 780: 22103, + 781: 22103, + 782: 22103, + 783: 22103, + 1024: 2100, + 1025: 2100, + 1026: 2100, + 1027: 2100, + 1028: 2100, + 1029: 2100, + 1030: 2100, + 1031: 2100, + 1032: 2100, + 1033: 2100, + 1034: 2100, + 1035: 2100, + 1036: 2100, + 1037: 2100, + 1038: 2100, + 1039: 2100, + 24743: 57005, + 48879: 2, + 61440: 48879, + 61441: 48879, + 61442: 48879, + 61443: 48879, + 61444: 48879, + 61445: 48879, + 61446: 48879, + 61447: 48879, + 61448: 48879, + 61449: 48879, + 61450: 48879, + 61451: 48879, + 61452: 48879, + 61453: 48879, + 61454: 48879, + 61455: 48879, + }, + ), + }, + }, + { + "indexes": {"data": [22], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_18, nonce=0): Account( + storage={0: 65535, 1: 20017} + ), + }, + }, + { + "indexes": {"data": [23], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_18, nonce=0): Account( + storage={0: 65535, 1: 22117} + ), + }, + }, + { + "indexes": {"data": [24], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xD82F21135ED7D7D833A9F2A0F1CF6C3DA214B8E3): Account( + storage={0: 65535, 1: 20017} + ), + }, + }, + { + "indexes": {"data": [25], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xD82F21135ED7D7D833A9F2A0F1CF6C3DA214B8E3): Account( + storage={0: 65535, 1: 22117} + ), + }, + }, + { + "indexes": {"data": [26], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_20, nonce=0): Account( + storage={0: 65535, 1: 20017} + ), + }, + }, + { + "indexes": {"data": [27], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_20, nonce=0): Account( + storage={0: 65535, 1: 22117} + ), + }, + }, + { + "indexes": {"data": [28], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x530508498D2AA75D8E591612809FEC3D37A45615): Account( + storage={0: 65535, 1: 20017} + ), + }, + }, + { + "indexes": {"data": [29], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x530508498D2AA75D8E591612809FEC3D37A45615): Account( + storage={0: 65535, 1: 22117} + ), + }, + }, + { + "indexes": {"data": [30], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_22, nonce=0): Account( + storage={0: 65535, 1: 20017, 2: 117} + ), + }, + }, + { + "indexes": {"data": [31], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_22, nonce=0): Account( + storage={0: 65535, 1: 22117, 2: 117} + ), + }, + }, + { + "indexes": {"data": [32], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x83FBDAE70258AC0FA837B701CC63CEDF48D4B6BF): Account( + storage={0: 65535, 1: 20017, 2: 117} + ), + }, + }, + { + "indexes": {"data": [33], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x83FBDAE70258AC0FA837B701CC63CEDF48D4B6BF): Account( + storage={0: 65535, 1: 22117, 2: 117} + ), + }, + }, + { + "indexes": {"data": [34], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_25: Account(storage={0: 24743, 1: 20017, 2: 117}) + }, + }, + { + "indexes": {"data": [35], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_25: Account(storage={0: 24743, 1: 22117, 2: 117}) + }, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x10), + Bytes("693c6139") + Hash(0x10), + Bytes("693c6139") + Hash(0x11), + Bytes("693c6139") + Hash(0x11), + Bytes("693c6139") + Hash(0x12), + Bytes("693c6139") + Hash(0x12), + Bytes("693c6139") + Hash(0x13), + Bytes("693c6139") + Hash(0x13), + Bytes("693c6139") + Hash(0x14), + Bytes("693c6139") + Hash(0x14), + Bytes("693c6139") + Hash(0x15), + Bytes("693c6139") + Hash(0x15), + Bytes("693c6139") + Hash(0x16), + Bytes("693c6139") + Hash(0x16), + Bytes("693c6139") + Hash(0x20), + Bytes("693c6139") + Hash(0x20), + Bytes("693c6139") + Hash(0x21), + Bytes("693c6139") + Hash(0x21), + Bytes("693c6139") + Hash(0x22), + Bytes("693c6139") + Hash(0x22), + Bytes("693c6139") + Hash(0x23), + Bytes("693c6139") + Hash(0x23), + Bytes("693c6139") + Hash(0x24), + Bytes("693c6139") + Hash(0x24), + Bytes("693c6139") + Hash(0x25), + Bytes("693c6139") + Hash(0x25), + Bytes("693c6139") + Hash(0x26), + Bytes("693c6139") + Hash(0x26), + ] + tx_gas = [16777216] + tx_value = [100000] + tx_access_lists: dict[int, list] = { + 0: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001000), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 1: [ + AccessList( + address=Address(0x000000000000000000000000000000000000C057), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 2: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001002), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 3: [ + AccessList( + address=Address(0x000000000000000000000000000000000000C057), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 4: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001001), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 5: [ + AccessList( + address=Address(0x000000000000000000000000000000000000C057), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 6: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001003), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 7: [ + AccessList( + address=Address(0x00000000000000000000000000000000EAD0C057), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 8: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001010), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 9: [ + AccessList( + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 10: [ + AccessList( + address=Address(0x00000000000000000000000000000000DEAD0111), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 11: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001011), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 12: [ + AccessList( + address=Address(0x00000000000000000000000000000000DEAD0112), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 13: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001012), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 14: [ + AccessList( + address=Address(0x0000000000000000000000000000000000000000), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 15: [ + AccessList( + address=Address(0x000000000000000000000000000000000000F113), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 16: [ + AccessList( + address=Address(0x000000000000000000000000000000000000F114), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 17: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001014), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 18: [ + AccessList( + address=Address(0x000000000000000000000000000000000000F115), + storage_keys=[ + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 19: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001015), + storage_keys=[ + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 20: [ + AccessList( + address=Address(0x0000000000000000000000000000000000001016), + storage_keys=[ + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000beef" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f000" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f001" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f002" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f003" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f004" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f005" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f006" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f007" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f008" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f009" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f00a" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f00b" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f00c" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f00d" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f00e" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f00f" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f010" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f011" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f012" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f013" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f014" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f015" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f016" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f017" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f018" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f019" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f01a" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f01b" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f01c" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f01d" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f01e" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000f01f" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 21: [ + AccessList( + address=Address(0xF000000000000000000000000000000000000116), + storage_keys=[ + Hash( + "0x00000000000000000000000000000000000000000000000000000000000060a7" # noqa: E501 + ), # noqa: E501 + Hash( + "0x000000000000000000000000000000000000000000000000000000000000beef" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 22: [ + AccessList( + address=Address(0xF342E57F24E0333F3AF34AF08FDBBE9C72CBD37C), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 23: [ + AccessList( + address=Address(0xF342E57F24E0333F3AF34AF08FDBBE9C72CBD37C), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 24: [ + AccessList( + address=Address(0xD82F21135ED7D7D833A9F2A0F1CF6C3DA214B8E3), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 25: [ + AccessList( + address=Address(0xF342E57F24E0333F3AF34AF08FDBBE9C72CBD37C), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 26: [ + AccessList( + address=Address(0x58FD03A2D731B2FB751E4A0F593D373EE77D39E6), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 27: [ + AccessList( + address=Address(0x58FD03A2D731B2FB751E4A0F593D373EE77D39E6), + storage_keys=[ + Hash( + "0x000000000000000000000000000000000000000000000000000000000000ffff" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 28: [ + AccessList( + address=Address(0x530508498D2AA75D8E591612809FEC3D37A45615), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 29: [ + AccessList( + address=Address(0x58FD03A2D731B2FB751E4A0F593D373EE77D39E6), + storage_keys=[ + Hash( + "0x000000000000000000000000000000000000000000000000000000000000ffff" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 30: [ + AccessList( + address=Address(0xB76AB2D646C4DF221EDD345957D0A396A2AB1B6D), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 31: [ + AccessList( + address=Address(0x58FD03A2D731B2FB751E4A0F593D373EE77D39E6), + storage_keys=[ + Hash( + "0x000000000000000000000000000000000000000000000000000000000000ffff" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 32: [ + AccessList( + address=Address(0x83FBDAE70258AC0FA837B701CC63CEDF48D4B6BF), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 33: [ + AccessList( + address=Address(0x58FD03A2D731B2FB751E4A0F593D373EE77D39E6), + storage_keys=[ + Hash( + "0x000000000000000000000000000000000000000000000000000000000000ffff" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 34: [ + AccessList( + address=Address(0x000000000000000000000000000000000000F126), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + 35: [ + AccessList( + address=Address(0x000000000000000000000000000000000000F126), + storage_keys=[ + Hash( + "0x0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 + ), # noqa: E501 + ], + ), + ], + } tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=100000, - access_list=tx_access_list, + to=contract_26, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + access_list=tx_access_lists.get(d), + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP3607/__init__.py b/tests/ported_static/stEIP3607/__init__.py index fdf6a395294..295c5919689 100644 --- a/tests/ported_static/stEIP3607/__init__.py +++ b/tests/ported_static/stEIP3607/__init__.py @@ -1 +1 @@ -"""Tests ported from stEIP3607.""" +"""Ported static tests: stEIP3607.""" # noqa: N999 diff --git a/tests/ported_static/stEIP3607/test_init_colliding_with_non_empty_account.py b/tests/ported_static/stEIP3607/test_init_colliding_with_non_empty_account.py index 92c410b9f51..6e40d5dac89 100644 --- a/tests/ported_static/stEIP3607/test_init_colliding_with_non_empty_account.py +++ b/tests/ported_static/stEIP3607/test_init_colliding_with_non_empty_account.py @@ -2,7 +2,7 @@ Account attempts to send tx to create a contract on a non-empty address. Ported from: -tests/static/state_tests/stEIP3607/initCollidingWithNonEmptyAccountFiller.yml +state_tests/stEIP3607/initCollidingWithNonEmptyAccountFiller.yml """ import pytest @@ -14,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,30 +24,57 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stEIP3607/initCollidingWithNonEmptyAccountFiller.yml", # noqa: E501 - ], + ["state_tests/stEIP3607/initCollidingWithNonEmptyAccountFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "60206000f3", - "6001600055600080808061271073d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d05af100", # noqa: E501 - "60016000556000602081612710f500", - "600160005560206000612710f000", - "6001600055600080808073d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d05af400", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), ], - ids=["case0", "case1", "case2", "case3", "case4"], ) @pytest.mark.pre_alloc_mutable def test_init_colliding_with_non_empty_account( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Account attempts to send tx to create a contract on a non-empty...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) + contract_1 = Address(0xD0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -60,31 +89,79 @@ def test_init_colliding_with_non_empty_account( ) pre[coinbase] = Account(balance=0, nonce=1) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6000600155 + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=bytes.fromhex("00"), + # Source: raw + # 0x00 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.STOP, nonce=0, - address=Address("0xd0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0"), # noqa: E501 + address=Address(0xD0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.RETURN(offset=0x0, size=0x20), + Op.SSTORE(key=0x0, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=contract_1, + value=0x2710, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, + Op.SSTORE(key=0x0, value=0x1) + + Op.CREATE2(value=0x2710, offset=Op.DUP2, size=0x20, salt=0x0) + + Op.STOP, + Op.SSTORE(key=0x0, value=0x1) + + Op.CREATE(value=0x2710, offset=0x0, size=0x20) + + Op.STOP, + Op.SSTORE(key=0x0, value=0x1) + + Op.DELEGATECALL( + gas=Op.GAS, + address=contract_1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [400000] + tx_value = [100000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, - value=100000, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post: dict = {} + post = { + contract_0: Account( + storage={}, + code=bytes.fromhex("6000600155"), + balance=0xDE0B6B3A7640000, + nonce=0, + ), + contract_1: Account(balance=0), + Address( + 0x05CD8493115C3299094A269E839E2F5F25691785 + ): Account.NONEXISTENT, + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_calls.py b/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_calls.py index f4eb9703f62..89535daf33f 100644 --- a/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_calls.py +++ b/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_calls.py @@ -2,8 +2,7 @@ Account with non-empty code attempts to send tx to call a contract. Ported from: -tests/static/state_tests/stEIP3607 -transactionCollidingWithNonEmptyAccount_callsFiller.yml +state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_callsFiller.yml """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -25,18 +25,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_callsFiller.yml", # noqa: E501 + "state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_callsFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.exception_test +@pytest.mark.pre_alloc_mutable def test_transaction_colliding_with_non_empty_account_calls( state_test: StateTestFiller, pre: Alloc, ) -> None: """Account with non-empty code attempts to send tx to call a contract.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0x402790500EA083A617EC567407D9EC3BBB3A5C8B812547D9F66E8D7878B8A75D ) @@ -50,26 +50,24 @@ def test_transaction_colliding_with_non_empty_account_calls( gas_limit=71794957647893862, ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x0), - balance=0xDE0B6B3A7640000, - nonce=0, - address=sender, # noqa: E501 + pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account( + balance=0xDE0B6B3A7640000, code=Op.SSTORE(key=0x1, value=0x0) ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x6000600155 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0), nonce=0, - address=Address("0xd857dad5866e190fd86b79f027fb8ee8e60fbda7"), # noqa: E501 + address=Address(0xD857DAD5866E190FD86B79F027FB8EE8E60FBDA7), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, error=TransactionException.SENDER_NOT_EOA, ) diff --git a/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_calls_itself.py b/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_calls_itself.py index f35f82a01ae..7e86eabc8e6 100644 --- a/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_calls_itself.py +++ b/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_calls_itself.py @@ -2,8 +2,7 @@ Account with non-empty code attempts to send tx to call itself. Ported from: -tests/static/state_tests/stEIP3607 -transactionCollidingWithNonEmptyAccount_callsItselfFiller.yml +state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_callsItselfFiller.yml """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -25,18 +25,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_callsItselfFiller.yml", # noqa: E501 + "state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_callsItselfFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.exception_test +@pytest.mark.pre_alloc_mutable def test_transaction_colliding_with_non_empty_account_calls_itself( state_test: StateTestFiller, pre: Alloc, ) -> None: """Account with non-empty code attempts to send tx to call itself.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0x402790500EA083A617EC567407D9EC3BBB3A5C8B812547D9F66E8D7878B8A75D ) @@ -50,20 +50,17 @@ def test_transaction_colliding_with_non_empty_account_calls_itself( gas_limit=71794957647893862, ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x0), - balance=0xDE0B6B3A7640000, - nonce=0, - address=sender, # noqa: E501 - ) pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account( + balance=0xDE0B6B3A7640000, code=Op.SSTORE(key=0x1, value=0x0) + ) tx = Transaction( sender=sender, to=sender, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, error=TransactionException.SENDER_NOT_EOA, ) diff --git a/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_init_paris.py b/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_init_paris.py index f8c2587675b..2428bbb10d9 100644 --- a/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_init_paris.py +++ b/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_init_paris.py @@ -2,8 +2,7 @@ Account with non-empty code attempts to send tx to create a contract. Ported from: -tests/static/state_tests/stEIP3607 -transactionCollidingWithNonEmptyAccount_init_ParisFiller.yml +state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_init_ParisFiller.yml """ import pytest @@ -17,6 +16,11 @@ Transaction, TransactionException, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @@ -24,30 +28,55 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_init_ParisFiller.yml", # noqa: E501 + "state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_init_ParisFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "00", - "60206000f3", - "600080808061271073cc7c3c64708397216f5f8aeb34a43f1749693fa95af100", - "600080808073cc7c3c64708397216f5f8aeb34a43f1749693fa95af400", + pytest.param( + 0, + 0, + 0, + id="d0", + marks=pytest.mark.exception_test, + ), + pytest.param( + 1, + 0, + 0, + id="d1", + marks=pytest.mark.exception_test, + ), + pytest.param( + 2, + 0, + 0, + id="d2", + marks=pytest.mark.exception_test, + ), + pytest.param( + 3, + 0, + 0, + id="d3", + marks=pytest.mark.exception_test, + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.exception_test def test_transaction_colliding_with_non_empty_account_init_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Account with non-empty code attempts to send tx to create a contract.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") - contract = Address("0x76fae819612a29489a1a43208613d8f8557b8898") + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x3696BFBDBC65B14F4DC76D7762E0567E1DD55F053314276E47969D22E70A554E ) @@ -61,34 +90,64 @@ def test_transaction_colliding_with_non_empty_account_init_paris( gas_limit=71794957647893862, ) - pre[contract] = Account(balance=10, nonce=0) - # Source: raw bytecode - pre.deploy_contract( - code=bytes.fromhex("00"), - balance=0xDE0B6B3A7640000, - nonce=0, - address=sender, # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=bytes.fromhex("00"), + pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0xDE0B6B3A7640000, code=Op.STOP) + pre[addr] = Account(balance=10) + # Source: raw + # 0x00 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STOP, balance=10, nonce=0, - address=Address("0xcc7c3c64708397216f5f8aeb34a43f1749693fa9"), # noqa: E501 + address=Address(0xCC7C3C64708397216F5F8AEB34A43F1749693FA9), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Frontier": TransactionException.SENDER_NOT_EOA + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.STOP, + Op.RETURN(offset=0x0, size=0x20), + Op.CALL( + gas=Op.GAS, + address=addr_2, + value=0x2710, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, + Op.DELEGATECALL( + gas=Op.GAS, + address=addr_2, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [400000] + tx_value = [100000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, - value=100000, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], error=TransactionException.SENDER_NOT_EOA, ) - post: dict = {} - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_send_paris.py b/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_send_paris.py index c369ce8469d..da4feb61952 100644 --- a/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_send_paris.py +++ b/tests/ported_static/stEIP3607/test_transaction_colliding_with_non_empty_account_send_paris.py @@ -2,8 +2,7 @@ Account with non-empty code attempts to send tx to another account with... Ported from: -tests/static/state_tests/stEIP3607 -transactionCollidingWithNonEmptyAccount_send_ParisFiller.yml +state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_send_ParisFiller.yml """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -25,19 +25,19 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_send_ParisFiller.yml", # noqa: E501 + "state_tests/stEIP3607/transactionCollidingWithNonEmptyAccount_send_ParisFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.exception_test +@pytest.mark.pre_alloc_mutable def test_transaction_colliding_with_non_empty_account_send_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Account with non-empty code attempts to send tx to another...""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") - contract = Address("0x76fae819612a29489a1a43208613d8f8557b8898") + """Account with non-empty code attempts to send tx to another account...""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x402790500EA083A617EC567407D9EC3BBB3A5C8B812547D9F66E8D7878B8A75D ) @@ -51,21 +51,18 @@ def test_transaction_colliding_with_non_empty_account_send_paris( gas_limit=71794957647893862, ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x0), - balance=0xDE0B6B3A7640000, - nonce=0, - address=sender, # noqa: E501 - ) - pre[contract] = Account(balance=10, nonce=0) pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account( + balance=0xDE0B6B3A7640000, code=Op.SSTORE(key=0x1, value=0x0) + ) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=addr, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, error=TransactionException.SENDER_NOT_EOA, ) diff --git a/tests/ported_static/stEIP3651_warmcoinbase/__init__.py b/tests/ported_static/stEIP3651_warmcoinbase/__init__.py new file mode 100644 index 00000000000..645cecd5aff --- /dev/null +++ b/tests/ported_static/stEIP3651_warmcoinbase/__init__.py @@ -0,0 +1 @@ +"""Ported static tests: stEIP3651_warmcoinbase.""" # noqa: N999 diff --git a/tests/ported_static/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas.py b/tests/ported_static/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas.py new file mode 100644 index 00000000000..a07f84bf4e4 --- /dev/null +++ b/tests/ported_static/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas.py @@ -0,0 +1,285 @@ +""" +Test_coinbase_warm_account_call_gas. + +Ported from: +state_tests/Shanghai/stEIP3651_warmcoinbase/coinbaseWarmAccountCallGasFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + [ + "state_tests/Shanghai/stEIP3651_warmcoinbase/coinbaseWarmAccountCallGasFiller.yml" # noqa: E501 + ], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_coinbase_warm_account_call_gas( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test_coinbase_warm_account_call_gas.""" + coinbase = Address(0x50228C44ED92561D94511E8518A75AA463BD444B) + sender = EOA( + key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: yul + # berlin + # { + # // Save the coinbase value + # let cb := coinbase() + # + # // Minimum gas spent on the measurement, which changes depending on + # // the tested opcode + # // + # // Note that this value can change (mostly down) when Yul rolls out new # noqa: E501 + # // optimizations + # let measureGas + # + # let gas0, gas1 + # let retVal + # + # // We can only check the gas of one opcode per transaction, + # // because the first check adds the account to the + # // 'accessed_addresses' list. + # switch calldataload(4) + # case 0 { + # // EXTCODESIZE + # measureGas := 8 + # gas0 := gas() + # retVal := extcodesize(cb) + # gas1 := gas() + # } + # case 1 { + # // EXTCODECOPY + # measureGas := 5 + # gas0 := gas() + # ... (54 more lines) + target = pre.deploy_contract( # noqa: F841 + code=Op.COINBASE + + Op.CALLDATALOAD(offset=0x4) + + Op.PUSH1[0x0] + + Op.JUMPI(pc=0xCC, condition=Op.ISZERO(Op.DUP2)) + + Op.JUMPI(pc=0xBA, condition=Op.EQ(0x1, Op.DUP2)) + + Op.POP + + Op.JUMPI(pc=0xAD, condition=Op.EQ(0x2, Op.DUP1)) + + Op.JUMPI(pc=0xA0, condition=Op.EQ(0x3, Op.DUP1)) + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x4, Op.DUP1)) + + Op.JUMPI(pc=0x74, condition=Op.EQ(0x5, Op.DUP1)) + + Op.JUMPI(pc=0x5F, condition=Op.EQ(0x6, Op.DUP1)) + + Op.PUSH1[0x7] + + Op.JUMPI(pc=0x40, condition=Op.EQ) + + Op.REVERT(offset=Op.DUP1, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0xB] + + Op.PUSH1[0x0] + + Op.DUP1 * 3 + + Op.GAS + + Op.SWAP6 + + Op.PUSH2[0x2710] + + Op.STATICCALL + + Op.SWAP2 + + Op.GAS + + Op.SWAP1 + + Op.JUMPDEST + + Op.SUB + + Op.SSTORE(key=0x0, value=Op.SUB) + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0xB] + + Op.PUSH1[0x0] + + Op.DUP1 * 3 + + Op.GAS + + Op.SWAP6 + + Op.PUSH2[0x2710] + + Op.DELEGATECALL + + Op.SWAP2 + + Op.GAS + + Op.SWAP1 + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0xB] + + Op.PUSH1[0x0] + + Op.DUP1 * 4 + + Op.GAS + + Op.SWAP7 + + Op.PUSH2[0x2710] + + Op.CALLCODE + + Op.SWAP2 + + Op.GAS + + Op.SWAP1 + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0xB] + + Op.PUSH1[0x0] + + Op.DUP1 * 4 + + Op.GAS + + Op.SWAP7 + + Op.PUSH2[0x2710] + + Op.CALL + + Op.SWAP2 + + Op.GAS + + Op.SWAP1 + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x8] + + Op.GAS + + Op.SWAP2 + + Op.BALANCE + + Op.SWAP2 + + Op.GAS + + Op.SWAP1 + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x8] + + Op.GAS + + Op.SWAP2 + + Op.EXTCODEHASH + + Op.SWAP2 + + Op.GAS + + Op.SWAP1 + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.SWAP2 + + Op.PUSH1[0x5] + + Op.SWAP2 + + Op.POP + + Op.PUSH1[0x0] + + Op.DUP1 * 2 + + Op.GAS + + Op.SWAP4 + + Op.EXTCODECOPY + + Op.GAS + + Op.SWAP1 + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.POP * 2 + + Op.PUSH1[0x8] + + Op.GAS + + Op.SWAP2 + + Op.EXTCODESIZE + + Op.SWAP2 + + Op.GAS + + Op.SWAP1 + + Op.JUMP(pc=0x51), + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0xA4A48FC5F3526A9BC06A0136AB0BA1D9574D15BA), # noqa: E501 + ) + pre[coinbase] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + ] + tx_gas = [80000] + + tx = Transaction( + sender=sender, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + nonce=1, + ) + + post = {target: Account(storage={0: 100})} + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas_fail.py b/tests/ported_static/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas_fail.py new file mode 100644 index 00000000000..39144c983eb --- /dev/null +++ b/tests/ported_static/stEIP3651_warmcoinbase/test_coinbase_warm_account_call_gas_fail.py @@ -0,0 +1,266 @@ +""" +Test_coinbase_warm_account_call_gas_fail. + +Ported from: +state_tests/Shanghai/stEIP3651_warmcoinbase/coinbaseWarmAccountCallGasFailFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + [ + "state_tests/Shanghai/stEIP3651_warmcoinbase/coinbaseWarmAccountCallGasFailFiller.yml" # noqa: E501 + ], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_coinbase_warm_account_call_gas_fail( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test_coinbase_warm_account_call_gas_fail.""" + coinbase = Address(0x50228C44ED92561D94511E8518A75AA463BD444B) + sender = EOA( + key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: yul + # berlin + # { + # // Depending on the called contract here, the subcall will perform + # // another call/delegatecall/staticcall/callcode that will only succeed # noqa: E501 + # // if coinbase is considered warm by default (post-Shanghai). + # let calladdr := calldataload(4) + # + # let callgas := 100 + # switch calladdr + # case { + # // Extra: COINBASE + 6xPUSH1 + DUP6 + 2xPOP + # callgas := add(callgas, 27) + # } + # case { + # // Extra: COINBASE + 6xPUSH1 + DUP6 + 2xPOP + # callgas := add(callgas, 27) + # } + # case { + # // Extra: COINBASE + 5xPUSH1 + DUP6 + 2xPOP + # callgas := add(callgas, 24) + # } + # case { + # // Extra: COINBASE + 5xPUSH1 + DUP6 + 2xPOP + # callgas := add(callgas, 24) + # } + # // Call and save result + # sstore(0, call(callgas, calladdr, 0, 0, 0, 0, 0)) + # + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.DUP1 * 4 + + Op.CALLDATALOAD(offset=0x4) + + Op.PUSH1[0x64] + + Op.DUP2 + + Op.JUMPI( + pc=0x88, + condition=Op.EQ( + 0x8DDF5D9A5251C41EFD2949F53DB0A464116C7C6E, Op.DUP1 + ), + ) + + Op.JUMPI( + pc=0x88, + condition=Op.EQ( + 0x498516B6B2F25CB6A8E011A7C37A617B77E7D500, Op.DUP1 + ), + ) + + Op.JUMPI( + pc=0x80, + condition=Op.EQ( + 0x8873820BB96DAA39DB93AE64A9D6397E4C6A48D7, Op.DUP1 + ), + ) + + Op.PUSH20[0x303B6790D019874A107418EB549E4E7766A64728] + + Op.JUMPI(pc=0x79, condition=Op.EQ) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x18] + + Op.ADD + + Op.JUMP(pc=0x73) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x18] + + Op.ADD + + Op.JUMP(pc=0x73) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x1B] + + Op.ADD + + Op.JUMP(pc=0x73), + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0x0A92FC97BB4C47B3D5E9E96FBB1C3FC2F07DBA81), # noqa: E501 + ) + # Source: yul + # berlin + # { + # let cb := coinbase() + # pop(call(0, cb, 0, 0, 0, 0, 0)) + # } + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.DUP2, + address=Op.COINBASE, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0x8DDF5D9A5251C41EFD2949F53DB0A464116C7C6E), # noqa: E501 + ) + # Source: yul + # berlin + # { + # let cb := coinbase() + # pop(callcode(0, cb, 0, 0, 0, 0, 0)) + # } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.DUP2, + address=Op.COINBASE, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0x498516B6B2F25CB6A8E011A7C37A617B77E7D500), # noqa: E501 + ) + # Source: yul + # berlin + # { + # let cb := coinbase() + # pop(delegatecall(0, cb, 0, 0, 0, 0)) + # } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.DUP2, + address=Op.COINBASE, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0x8873820BB96DAA39DB93AE64A9D6397E4C6A48D7), # noqa: E501 + ) + # Source: yul + # berlin + # { + # let cb := coinbase() + # pop(staticcall(0, cb, 0, 0, 0, 0)) + # } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=Op.DUP2, + address=Op.COINBASE, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0x303B6790D019874A107418EB549E4E7766A64728), # noqa: E501 + ) + pre[coinbase] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) + + tx_data = [ + Bytes("693c6139") + Hash(addr, left_padding=True), + Bytes("693c6139") + Hash(addr_2, left_padding=True), + Bytes("693c6139") + Hash(addr_3, left_padding=True), + Bytes("693c6139") + Hash(addr_4, left_padding=True), + ] + tx_gas = [80000] + + tx = Transaction( + sender=sender, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + nonce=1, + ) + + post = {target: Account(storage={0: 1})} + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP3855_push0/__init__.py b/tests/ported_static/stEIP3855_push0/__init__.py new file mode 100644 index 00000000000..8dc8522ac41 --- /dev/null +++ b/tests/ported_static/stEIP3855_push0/__init__.py @@ -0,0 +1 @@ +"""Ported static tests: stEIP3855_push0.""" # noqa: N999 diff --git a/tests/ported_static/stEIP3855_push0/test_push0.py b/tests/ported_static/stEIP3855_push0/test_push0.py new file mode 100644 index 00000000000..06c9b25f0ae --- /dev/null +++ b/tests/ported_static/stEIP3855_push0/test_push0.py @@ -0,0 +1,279 @@ +""" +Test_push0. + +Ported from: +state_tests/Shanghai/stEIP3855_push0/push0Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Environment, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/Shanghai/stEIP3855_push0/push0Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="single_push0", + ), + pytest.param( + 1, + 0, + 0, + id="1024_push0", + ), + pytest.param( + 2, + 0, + 0, + id="1025_push0", + ), + pytest.param( + 3, + 0, + 0, + id="push0_upd_storage", + ), + pytest.param( + 4, + 0, + 0, + id="push0_upd_storage_sc", + ), + pytest.param( + 5, + 0, + 0, + id="jumpdest", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_push0( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test_push0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0x0000000000000000000000000000000000001000) + contract_2 = Address(0x0000000000000000000000000000000000000200) + contract_3 = Address(0x0000000000000000000000000000000000000300) + contract_4 = Address(0x0000000000000000000000000000000000000400) + contract_5 = Address(0x0000000000000000000000000000000000000500) + contract_6 = Address(0x0000000000000000000000000000000000000600) + contract_7 = Address(0x0000000000000000000000000000000000000700) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=89128960, + ) + + pre[sender] = Account(balance=0x100000000000) + # Source: yul + # berlin + # { + # sstore(0, call(100000, shr(96, calldataload(0)), 0, 0, 0, 0, 0)) + # sstore(1, 1) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x186A0, + address=Op.SHR(0x60, Op.CALLDATALOAD(offset=Op.DUP1)), + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: raw + # 0x60015f55 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=Op.PUSH0, value=0x1), + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: raw + # 0x5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f17171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171760019055 # noqa: E501 + contract_2 = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f17171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171760019055" # noqa: E501 + ), + nonce=0, + address=Address(0x0000000000000000000000000000000000000200), # noqa: E501 + ) + # Source: raw + # 0x5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f # noqa: E501 + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH0 * 1025, + nonce=0, + address=Address(0x0000000000000000000000000000000000000300), # noqa: E501 + ) + # Source: raw + # 0x60025f556000600155 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=Op.PUSH0, value=0x2) + + Op.SSTORE(key=0x1, value=0x0), + storage={0: 10, 1: 10}, + nonce=0, + address=Address(0x0000000000000000000000000000000000000400), # noqa: E501 + ) + # Source: yul + # berlin + # { + # sstore(0, + # staticcall(100000, 0x0000000000000000000000000000000000000600, 0, 0, 0, 0)) # noqa: E501 + # sstore(1, 1) + # returndatacopy(0x1f, 0x0, 0x1) + # sstore(0x2, mload(0x00)) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x186A0, + address=0x600, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.RETURNDATACOPY(dest_offset=0x1F, offset=0x0, size=0x1) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + nonce=0, + address=Address(0x0000000000000000000000000000000000000500), # noqa: E501 + ) + # Source: raw + # 0x60ff5f5360016000f3 + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=Op.PUSH0, value=0xFF) + + Op.RETURN(offset=0x0, size=0x1), + nonce=0, + address=Address(0x0000000000000000000000000000000000000600), # noqa: E501 + ) + # Source: raw + # 0x6004565f5b60015f5500 + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0x4) + + Op.PUSH0 + + Op.JUMPDEST + + Op.SSTORE(key=Op.PUSH0, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0x0000000000000000000000000000000000000700), # noqa: E501 + ) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account(storage={0: 1}), + contract_0: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account(storage={0: 1}), + contract_0: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={1: 1})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account(storage={0: 2, 1: 0}), + contract_0: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account(storage={0: 1, 1: 1, 2: 255}), + contract_6: Account(storage={}), + contract_0: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_7: Account(storage={0: 1}), + contract_0: Account(storage={0: 1, 1: 1}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + contract_1, + contract_2, + contract_3, + contract_4, + contract_5, + contract_7, + ] + tx_gas = [700000] + + tx = Transaction( + sender=sender, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Shanghai/stEIP3855_push0/test_push0_gas.py b/tests/ported_static/stEIP3855_push0/test_push0_gas.py similarity index 56% rename from tests/ported_static/Shanghai/stEIP3855_push0/test_push0_gas.py rename to tests/ported_static/stEIP3855_push0/test_push0_gas.py index 0302da5144c..8ca1722597c 100644 --- a/tests/ported_static/Shanghai/stEIP3855_push0/test_push0_gas.py +++ b/tests/ported_static/stEIP3855_push0/test_push0_gas.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_push0_gas. Ported from: -tests/static/state_tests/Shanghai/stEIP3855_push0/push0GasFiller.yml +state_tests/Shanghai/stEIP3855_push0/push0GasFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/Shanghai/stEIP3855_push0/push0GasFiller.yml"], + ["state_tests/Shanghai/stEIP3855_push0/push0GasFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_push0_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_push0_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xDC4EFA209AECDD4C2D5201A419EA27506151B4EC687F14A613229E310932491B ) @@ -46,26 +47,24 @@ def test_push0_gas( ) pre[sender] = Account(balance=0x989680) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.PUSH0 - + Op.SSTORE(key=0x1, value=Op.SUB(Op.SLOAD(key=0x0), Op.GAS)) - + Op.STOP - ), + # Source: raw + # 0x5a6000555f5a6000540360015500 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.PUSH0 + + Op.SSTORE(key=0x1, value=Op.SUB(Op.SLOAD(key=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0xc1aca9da71f5ea8db94b3428d8cbe5d544472ff7"), # noqa: E501 + address=Address(0xC1ACA9DA71F5EA8DB94B3428D8CBE5D544472FF7), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 0x13496, 1: 22107}), - } + post = {target: Account(storage={0: 0x13496, 1: 22107})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP3855_push0/test_push0_gas2.py b/tests/ported_static/stEIP3855_push0/test_push0_gas2.py new file mode 100644 index 00000000000..7405bce15a3 --- /dev/null +++ b/tests/ported_static/stEIP3855_push0/test_push0_gas2.py @@ -0,0 +1,165 @@ +""" +Test_push0_gas2. + +Ported from: +state_tests/Shanghai/stEIP3855_push0/push0Gas2Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Environment, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/Shanghai/stEIP3855_push0/push0Gas2Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="use_push0", + ), + pytest.param( + 1, + 0, + 0, + id="use_push1_00", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_push0_gas2( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test_push0_gas2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0x0000000000000000000000000000000000001000) + contract_2 = Address(0x0000000000000000000000000000000000000200) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=89128960, + ) + + pre[sender] = Account(balance=0x989680) + # Source: yul + # berlin + # { + # sstore(0, call(100000, shr(96, calldataload(0)), 0, 0, 0, 0, 0)) + # sstore(1, 1) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x186A0, + address=Op.SHR(0x60, Op.CALLDATALOAD(offset=Op.DUP1)), + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: raw + # 0x5a5f5a9091039055 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.GAS + + Op.PUSH0 + + Op.GAS + + Op.SWAP1 + + Op.SWAP2 + + Op.SUB + + Op.SWAP1 + + Op.SSTORE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: raw + # 0x5a60005a9091039055 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.GAS + + Op.PUSH1[0x0] + + Op.GAS + + Op.SWAP1 + + Op.SWAP2 + + Op.SUB + + Op.SWAP1 + + Op.SSTORE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000200), # noqa: E501 + ) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account(storage={0: 4}, balance=0), + contract_0: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account(storage={0: 5}, balance=0), + contract_0: Account(storage={0: 1, 1: 1}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + contract_1, + contract_2, + ] + tx_gas = [300000] + + tx = Transaction( + sender=sender, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP3860_limitmeterinitcode/__init__.py b/tests/ported_static/stEIP3860_limitmeterinitcode/__init__.py new file mode 100644 index 00000000000..e38f7d5eb67 --- /dev/null +++ b/tests/ported_static/stEIP3860_limitmeterinitcode/__init__.py @@ -0,0 +1 @@ +"""Ported static tests: stEIP3860_limitmeterinitcode.""" # noqa: N999 diff --git a/tests/ported_static/stEIP3860_limitmeterinitcode/test_create2_init_code_size_limit.py b/tests/ported_static/stEIP3860_limitmeterinitcode/test_create2_init_code_size_limit.py new file mode 100644 index 00000000000..d1c6d456398 --- /dev/null +++ b/tests/ported_static/stEIP3860_limitmeterinitcode/test_create2_init_code_size_limit.py @@ -0,0 +1,193 @@ +""" +Test_create2_init_code_size_limit. + +Ported from: +state_tests/Shanghai/stEIP3860_limitmeterinitcode/create2InitCodeSizeLimitFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + [ + "state_tests/Shanghai/stEIP3860_limitmeterinitcode/create2InitCodeSizeLimitFiller.yml" # noqa: E501 + ], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="valid", + ), + pytest.param( + 1, + 0, + 0, + id="invalid", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_create2_init_code_size_limit( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test_create2_init_code_size_limit.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=20000000, + ) + + pre[sender] = Account(balance=0xBEBC200) + # Source: yul + # berlin + # { + # mstore(0, calldataload(0)) + # let call_result := call(10000000, 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b, 0, 0, calldatasize(), 0, 0) # noqa: E501 + # sstore(0, call_result) + # sstore(1, 1) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x989680, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.CALLDATASIZE, + ret_offset=Op.DUP1, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: yul + # berlin + # { + # // :yul { codecopy(0x00, 0x00, 0x0a) return(0x00, 0x0a) } + # mstore(0, 0x600a80600080396000f300000000000000000000000000000000000000000000) # noqa: E501 + # // get initcode size from calldata + # let initcode_size := calldataload(0) + # let gas_before := gas() + # let create_result := create2(0, 0, initcode_size, 0xdeadbeef) + # sstore(10, sub(gas_before, gas())) + # sstore(0, create_result) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SHL(0xB0, 0x600A80600080396000F3) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.CALLDATALOAD + + Op.PUSH4[0xDEADBEEF] + + Op.GAS + + Op.SWAP2 + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.CREATE2 + + Op.SWAP1 + + Op.GAS + + Op.SWAP1 + + Op.SSTORE(key=0xA, value=Op.SUB) + + Op.PUSH1[0x0] + + Op.SSTORE + + Op.STOP, + nonce=0, + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(storage={0: 1, 1: 1}), + contract_1: Account( + storage={ + 0: 0x9E7A3337D18C31FE4C1FE51AB2DA6CFD3629923D, + 10: 55539, + }, + ), + Address(0x9E7A3337D18C31FE4C1FE51AB2DA6CFD3629923D): Account( + storage={}, + code=bytes.fromhex("600a80600080396000f3"), + balance=0, + nonce=1, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(storage={0: 0, 1: 1}, nonce=0), + contract_1: Account(storage={}), + Address( + 0x67D49AE27E912B3B508D62CE1E463298DB6EDF32 + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0xC000), + Hash(0xC001), + ] + tx_gas = [15000000] + + tx = Transaction( + sender=sender, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP3860_limitmeterinitcode/test_create_init_code_size_limit.py b/tests/ported_static/stEIP3860_limitmeterinitcode/test_create_init_code_size_limit.py new file mode 100644 index 00000000000..0c8d60ecd47 --- /dev/null +++ b/tests/ported_static/stEIP3860_limitmeterinitcode/test_create_init_code_size_limit.py @@ -0,0 +1,194 @@ +""" +Test_create_init_code_size_limit. + +Ported from: +state_tests/Shanghai/stEIP3860_limitmeterinitcode/createInitCodeSizeLimitFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Environment, + Hash, + StateTestFiller, + Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + [ + "state_tests/Shanghai/stEIP3860_limitmeterinitcode/createInitCodeSizeLimitFiller.yml" # noqa: E501 + ], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="valid", + ), + pytest.param( + 1, + 0, + 0, + id="invalid", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_create_init_code_size_limit( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test_create_init_code_size_limit.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB) + contract_1 = Address(0x000000000000000000000000000000000000C0DE) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=20000000, + ) + + pre[sender] = Account(balance=0xBEBC200, nonce=1) + # Source: yul + # berlin + # { + # mstore(0, calldataload(0)) + # let call_result := call(10000000, 0xc0de, 0, 0, calldatasize(), 0, 0) + # sstore(0, call_result) + # sstore(1, 1) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x989680, + address=0xC0DE, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.CALLDATASIZE, + ret_offset=Op.DUP1, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=Op.DUP1, value=0x1) + + Op.STOP, + nonce=1, + address=Address(0xBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB), # noqa: E501 + ) + # Source: yul + # berlin + # { + # // :yul { codecopy(0x00, 0x00, 0x0a) return(0x00, 0x0a) } + # mstore(0, 0x600a80600080396000f300000000000000000000000000000000000000000000) # noqa: E501 + # // get initcode size from calldata + # let initcode_size := calldataload(0) + # let gas_before := gas() + # let create_result := create(0, 0, initcode_size) + # sstore(10, sub(gas_before, gas())) + # sstore(0, create_result) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SHL(0xB0, 0x600A80600080396000F3) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.CALLDATALOAD + + Op.GAS + + Op.SWAP1 + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.CREATE + + Op.SWAP1 + + Op.GAS + + Op.SWAP1 + + Op.SSTORE(key=0xA, value=Op.SUB) + + Op.PUSH1[0x0] + + Op.SSTORE + + Op.STOP, + nonce=1, + address=Address(0x000000000000000000000000000000000000C0DE), # noqa: E501 + ) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + contract_0: Account(storage={0: 1, 1: 1}), + contract_1: Account( + storage={ + 0: 0x5F6BAAEB5B7C97725F84D1569C4ABC85135F4716, + 10: 46323, + }, + ), + compute_create_address(address=contract_1, nonce=1): Account( + storage={}, + code=bytes.fromhex("600a80600080396000f3"), + balance=0, + nonce=1, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=2), + contract_0: Account(storage={0: 0, 1: 1}, nonce=1), + contract_1: Account(storage={}), + Address( + 0x682327124C5D2DC0CD2158BA65D37AC3D2140C91 + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0xC000), + Hash(0xC001), + ] + tx_gas = [15000000] + + tx = Transaction( + sender=sender, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + nonce=1, + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP3860_limitmeterinitcode/test_creation_tx_init_code_size_limit.py b/tests/ported_static/stEIP3860_limitmeterinitcode/test_creation_tx_init_code_size_limit.py new file mode 100644 index 00000000000..5b2b0b9a600 --- /dev/null +++ b/tests/ported_static/stEIP3860_limitmeterinitcode/test_creation_tx_init_code_size_limit.py @@ -0,0 +1,2660 @@ +""" +Test_creation_tx_init_code_size_limit. + +Ported from: +state_tests/Shanghai/stEIP3860_limitmeterinitcode/creationTxInitCodeSizeLimitFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, + TransactionException, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + [ + "state_tests/Shanghai/stEIP3860_limitmeterinitcode/creationTxInitCodeSizeLimitFiller.yml" # noqa: E501 + ], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="valid", + ), + pytest.param( + 1, + 0, + 0, + id="invalid", + marks=pytest.mark.exception_test, + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_creation_tx_init_code_size_limit( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test_creation_tx_init_code_size_limit.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=20000000, + ) + + pre[sender] = Account(balance=0xBEBC200) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": ["Cancun"], + "result": { + sender: Account(balance=0xBA82720, nonce=1), + compute_create_address(address=sender, nonce=0): Account( + storage={}, + code=bytes.fromhex("60606040523615610074576000357c01"), + balance=0, + nonce=1, + ), + }, + }, + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Prague"], + "result": { + sender: Account(balance=0xB562920, nonce=1), + compute_create_address(address=sender, nonce=0): Account( + storage={}, + code=bytes.fromhex("60606040523615610074576000357c01"), + balance=0, + nonce=1, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=0), + compute_create_address( + address=sender, nonce=0 + ): Account.NONEXISTENT, + }, + "expect_exception": { + ">=Cancun": TransactionException.INITCODE_SIZE_EXCEEDED + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash( + 0x601080600B6000396000F360606040523615610074576000357C010000000000 + ) + + Hash(0x90048063A3B9F3E514) + + Hash( + 0x610079578063B50345B61461008D578063D4F639EA146100A1578063D9BB316F + ) + + Hash( + 0x146100B5578063E22A5D5B146100C9578063F983C0FA146100DD57610074565B + ) + + Hash( + 0x610002565B346100025761008B60048050506100F1565B005B34610002576100 + ) + + Hash( + 0x9F6004805050611097565B005B34610002576100B3600480505061203D565B00 + ) + + Hash( + 0x5B34610002576100C76004805050612FE3565B005B34610002576100DB600480 + ) + + Hash( + 0x5050613F89565B005B34610002576100EF6004805050614F2F565B005B600073 + ) + + Hash( + 0x1000000000000000000000000000000000000001905080507310000000000000 + ) + + Hash(0x190508050731000000000000000000000000000) + + Hash(0x29050805073100000000000000000000000000000000000000290) + + Hash( + 0x5080507310000000000000000000000000000000000000039050805073100000 + ) + + Hash(0x3905080507310000000000000000000) + + Hash(0x490508050731000000000000000000000000000000000) + + Hash(0x49050805073100000000000000000000000000000000000000590508050) + + Hash( + 0x7310000000000000000000000000000000000000059050805073100000000000 + ) + + Hash(0x6905080507310000000000000000000000000) + + Hash(0x690508050731000000000000000000000000000000000000007) + + Hash( + 0x9050805073100000000000000000000000000000000000000790508050731000 + ) + + Hash(0x89050805073100000000000000000) + + Hash(0x8905080507310000000000000000000000000000000) + + Hash(0x990508050731000000000000000000000000000000000000009905080) + + Hash( + 0x5073100000000000000000000000000000000000001090508050731000000000 + ) + + Hash(0x109050805073100000000000000000000000) + + Hash(0x101905080507310000000000000000000000000000000000001) + + Hash( + 0x190508050731000000000000000000000000000000000000102905080507310 + ) + + Hash(0x10290508050731000000000000000) + + Hash(0x1039050805073100000000000000000000000000000) + + Hash(0x103905080507310000000000000000000000000000000000001049050) + + Hash( + 0x8050731000000000000000000000000000000000000104905080507310000000 + ) + + Hash(0x10590508050731000000000000000000000) + + Hash(0x1059050805073100000000000000000000000000000000000) + + Hash( + 0x106905080507310000000000000000000000000000000000001069050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000107905080507310000000000000 + ) + + Hash(0x10790508050731000000000000000000000000000) + + Hash(0x1089050805073100000000000000000000000000000000000010890) + + Hash( + 0x5080507310000000000000000000000000000000000001099050805073100000 + ) + + Hash(0x109905080507310000000000000000000) + + Hash(0x11090508050731000000000000000000000000000000000) + + Hash(0x1109050805073100000000000000000000000000000000000020190508050) + + Hash( + 0x7310000000000000000000000000000000000002019050805073100000000000 + ) + + Hash(0x202905080507310000000000000000000000000) + + Hash(0x20290508050731000000000000000000000000000000000000203) + + Hash( + 0x9050805073100000000000000000000000000000000000020390508050731000 + ) + + Hash(0x2049050805073100000000000000000) + + Hash(0x204905080507310000000000000000000000000000000) + + Hash(0x20590508050731000000000000000000000000000000000000204905080) + + Hash( + 0x5073100000000000000000000000000000000000020690508050731000000000 + ) + + Hash(0x2069050805073100000000000000000000000) + + Hash(0x207905080507310000000000000000000000000000000000002) + + Hash( + 0x790508050731000000000000000000000000000000000000208905080507310 + ) + + Hash(0x20890508050731000000000000000) + + Hash(0x2099050805073100000000000000000000000000000) + + Hash(0x209905080507310000000000000000000000000000000000002109050) + + Hash( + 0x8050731000000000000000000000000000000000000210905080507310000000 + ) + + Hash(0x30190508050731000000000000000000000) + + Hash(0x3019050805073100000000000000000000000000000000000) + + Hash( + 0x302905080507310000000000000000000000000000000000003029050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000303905080507310000000000000 + ) + + Hash(0x30390508050731000000000000000000000000000) + + Hash(0x3049050805073100000000000000000000000000000000000030490) + + Hash( + 0x5080507310000000000000000000000000000000000003059050805073100000 + ) + + Hash(0x305905080507310000000000000000000) + + Hash(0x30690508050731000000000000000000000000000000000) + + Hash(0x3069050805073100000000000000000000000000000000000030790508050) + + Hash( + 0x7310000000000000000000000000000000000003079050805073100000000000 + ) + + Hash(0x308905080507310000000000000000000000000) + + Hash(0x30890508050731000000000000000000000000000000000000309) + + Hash( + 0x9050805073100000000000000000000000000000000000030990508050731000 + ) + + Hash(0x3109050805073100000000000000000) + + Hash(0x310905080507310000000000000000000000000000000) + + Hash(0x190508050731000000000000000000000000000000000000001905080) + + Hash( + 0x5073100000000000000000000000000000000000000290508050731000000000 + ) + + Hash(0x29050805073100000000000000000000000) + + Hash(0x3905080507310000000000000000000000000000000000000) + + Hash( + 0x390508050731000000000000000000000000000000000000004905080507310 + ) + + Hash(0x490508050731000000000000000) + + Hash(0x59050805073100000000000000000000000000000) + + Hash(0x5905080507310000000000000000000000000000000000000069050) + + Hash( + 0x8050731000000000000000000000000000000000000006905080507310000000 + ) + + Hash(0x790508050731000000000000000000000) + + Hash(0x79050805073100000000000000000000000000000000000) + + Hash(0x8905080507310000000000000000000000000000000000000089050805073) + + Hash( + 0x1000000000000000000000000000000000000009905080507310000000000000 + ) + + Hash(0x990508050731000000000000000000000000000) + + Hash(0x109050805073100000000000000000000000000000000000001090) + + Hash( + 0x5080507310000000000000000000000000000000000001019050805073100000 + ) + + Hash(0x101905080507310000000000000000000) + + Hash(0x10290508050731000000000000000000000000000000000) + + Hash(0x1029050805073100000000000000000000000000000000000010390508050) + + Hash( + 0x7310000000000000000000000000000000000001039050805073100000000000 + ) + + Hash(0x104905080507310000000000000000000000000) + + Hash(0x10490508050731000000000000000000000000000000000000105) + + Hash( + 0x9050805073100000000000000000000000000000000000010590508050731000 + ) + + Hash(0x1069050805073100000000000000000) + + Hash(0x106905080507310000000000000000000000000000000) + + Hash(0x10790508050731000000000000000000000000000000000000107905080) + + Hash( + 0x5073100000000000000000000000000000000000010890508050731000000000 + ) + + Hash(0x1089050805073100000000000000000000000) + + Hash(0x109905080507310000000000000000000000000000000000001) + + Hash( + 0x990508050731000000000000000000000000000000000000110905080507310 + ) + + Hash(0x11090508050731000000000000000) + + Hash(0x2019050805073100000000000000000000000000000) + + Hash(0x201905080507310000000000000000000000000000000000002029050) + + Hash( + 0x8050731000000000000000000000000000000000000202905080507310000000 + ) + + Hash(0x20390508050731000000000000000000000) + + Hash(0x2039050805073100000000000000000000000000000000000) + + Hash( + 0x204905080507310000000000000000000000000000000000002049050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000205905080507310000000000000 + ) + + Hash(0x20490508050731000000000000000000000000000) + + Hash(0x2069050805073100000000000000000000000000000000000020690) + + Hash( + 0x5080507310000000000000000000000000000000000002079050805073100000 + ) + + Hash(0x207905080507310000000000000000000) + + Hash(0x20890508050731000000000000000000000000000000000) + + Hash(0x2089050805073100000000000000000000000000000000000020990508050) + + Hash( + 0x7310000000000000000000000000000000000002099050805073100000000000 + ) + + Hash(0x210905080507310000000000000000000000000) + + Hash(0x21090508050731000000000000000000000000000000000000301) + + Hash( + 0x9050805073100000000000000000000000000000000000030190508050731000 + ) + + Hash(0x3029050805073100000000000000000) + + Hash(0x302905080507310000000000000000000000000000000) + + Hash(0x30390508050731000000000000000000000000000000000000303905080) + + Hash( + 0x5073100000000000000000000000000000000000030490508050731000000000 + ) + + Hash(0x3049050805073100000000000000000000000) + + Hash(0x305905080507310000000000000000000000000000000000003) + + Hash( + 0x590508050731000000000000000000000000000000000000306905080507310 + ) + + Hash(0x30690508050731000000000000000) + + Hash(0x3079050805073100000000000000000000000000000) + + Hash(0x307905080507310000000000000000000000000000000000003089050) + + Hash( + 0x8050731000000000000000000000000000000000000308905080507310000000 + ) + + Hash(0x30990508050731000000000000000000000) + + Hash(0x3099050805073100000000000000000000000000000000000) + + Hash( + 0x31090508050731000000000000000000000000000000000000310905080505B + ) + + Hash( + 0x50565B6000731000000000000000000000000000000000000001905080507310 + ) + + Hash(0x190508050731000000000000000) + + Hash(0x29050805073100000000000000000000000000000) + + Hash(0x2905080507310000000000000000000000000000000000000039050) + + Hash( + 0x8050731000000000000000000000000000000000000003905080507310000000 + ) + + Hash(0x490508050731000000000000000000000) + + Hash(0x49050805073100000000000000000000000000000000000) + + Hash(0x5905080507310000000000000000000000000000000000000059050805073) + + Hash( + 0x1000000000000000000000000000000000000006905080507310000000000000 + ) + + Hash(0x690508050731000000000000000000000000000) + + Hash(0x79050805073100000000000000000000000000000000000000790) + + Hash( + 0x5080507310000000000000000000000000000000000000089050805073100000 + ) + + Hash(0x8905080507310000000000000000000) + + Hash(0x990508050731000000000000000000000000000000000) + + Hash(0x99050805073100000000000000000000000000000000000001090508050) + + Hash( + 0x7310000000000000000000000000000000000000109050805073100000000000 + ) + + Hash(0x101905080507310000000000000000000000000) + + Hash(0x10190508050731000000000000000000000000000000000000102) + + Hash( + 0x9050805073100000000000000000000000000000000000010290508050731000 + ) + + Hash(0x1039050805073100000000000000000) + + Hash(0x103905080507310000000000000000000000000000000) + + Hash(0x10490508050731000000000000000000000000000000000000104905080) + + Hash( + 0x5073100000000000000000000000000000000000010590508050731000000000 + ) + + Hash(0x1059050805073100000000000000000000000) + + Hash(0x106905080507310000000000000000000000000000000000001) + + Hash( + 0x690508050731000000000000000000000000000000000000107905080507310 + ) + + Hash(0x10790508050731000000000000000) + + Hash(0x1089050805073100000000000000000000000000000) + + Hash(0x108905080507310000000000000000000000000000000000001099050) + + Hash( + 0x8050731000000000000000000000000000000000000109905080507310000000 + ) + + Hash(0x11090508050731000000000000000000000) + + Hash(0x1109050805073100000000000000000000000000000000000) + + Hash( + 0x201905080507310000000000000000000000000000000000002019050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000202905080507310000000000000 + ) + + Hash(0x20290508050731000000000000000000000000000) + + Hash(0x2039050805073100000000000000000000000000000000000020390) + + Hash( + 0x5080507310000000000000000000000000000000000002049050805073100000 + ) + + Hash(0x204905080507310000000000000000000) + + Hash(0x20590508050731000000000000000000000000000000000) + + Hash(0x2049050805073100000000000000000000000000000000000020690508050) + + Hash( + 0x7310000000000000000000000000000000000002069050805073100000000000 + ) + + Hash(0x207905080507310000000000000000000000000) + + Hash(0x20790508050731000000000000000000000000000000000000208) + + Hash( + 0x9050805073100000000000000000000000000000000000020890508050731000 + ) + + Hash(0x2099050805073100000000000000000) + + Hash(0x209905080507310000000000000000000000000000000) + + Hash(0x21090508050731000000000000000000000000000000000000210905080) + + Hash( + 0x5073100000000000000000000000000000000000030190508050731000000000 + ) + + Hash(0x3019050805073100000000000000000000000) + + Hash(0x302905080507310000000000000000000000000000000000003) + + Hash( + 0x290508050731000000000000000000000000000000000000303905080507310 + ) + + Hash(0x30390508050731000000000000000) + + Hash(0x3049050805073100000000000000000000000000000) + + Hash(0x304905080507310000000000000000000000000000000000003059050) + + Hash( + 0x8050731000000000000000000000000000000000000305905080507310000000 + ) + + Hash(0x30690508050731000000000000000000000) + + Hash(0x3069050805073100000000000000000000000000000000000) + + Hash( + 0x307905080507310000000000000000000000000000000000003079050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000308905080507310000000000000 + ) + + Hash(0x30890508050731000000000000000000000000000) + + Hash(0x3099050805073100000000000000000000000000000000000030990) + + Hash( + 0x5080507310000000000000000000000000000000000003109050805073100000 + ) + + Hash(0x310905080507310000000000000000000) + + Hash(0x190508050731000000000000000000000000000000000) + + Hash(0x19050805073100000000000000000000000000000000000000290508050) + + Hash( + 0x7310000000000000000000000000000000000000029050805073100000000000 + ) + + Hash(0x3905080507310000000000000000000000000) + + Hash(0x390508050731000000000000000000000000000000000000004) + + Hash( + 0x9050805073100000000000000000000000000000000000000490508050731000 + ) + + Hash(0x59050805073100000000000000000) + + Hash(0x5905080507310000000000000000000000000000000) + + Hash(0x690508050731000000000000000000000000000000000000006905080) + + Hash( + 0x5073100000000000000000000000000000000000000790508050731000000000 + ) + + Hash(0x79050805073100000000000000000000000) + + Hash(0x8905080507310000000000000000000000000000000000000) + + Hash( + 0x890508050731000000000000000000000000000000000000009905080507310 + ) + + Hash(0x990508050731000000000000000) + + Hash(0x109050805073100000000000000000000000000000) + + Hash(0x10905080507310000000000000000000000000000000000001019050) + + Hash( + 0x8050731000000000000000000000000000000000000101905080507310000000 + ) + + Hash(0x10290508050731000000000000000000000) + + Hash(0x1029050805073100000000000000000000000000000000000) + + Hash( + 0x103905080507310000000000000000000000000000000000001039050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000104905080507310000000000000 + ) + + Hash(0x10490508050731000000000000000000000000000) + + Hash(0x1059050805073100000000000000000000000000000000000010590) + + Hash( + 0x5080507310000000000000000000000000000000000001069050805073100000 + ) + + Hash(0x106905080507310000000000000000000) + + Hash(0x10790508050731000000000000000000000000000000000) + + Hash(0x1079050805073100000000000000000000000000000000000010890508050) + + Hash( + 0x7310000000000000000000000000000000000001089050805073100000000000 + ) + + Hash(0x109905080507310000000000000000000000000) + + Hash(0x10990508050731000000000000000000000000000000000000110) + + Hash( + 0x9050805073100000000000000000000000000000000000011090508050731000 + ) + + Hash(0x2019050805073100000000000000000) + + Hash(0x201905080507310000000000000000000000000000000) + + Hash(0x20290508050731000000000000000000000000000000000000202905080) + + Hash( + 0x5073100000000000000000000000000000000000020390508050731000000000 + ) + + Hash(0x2039050805073100000000000000000000000) + + Hash(0x204905080507310000000000000000000000000000000000002) + + Hash( + 0x490508050731000000000000000000000000000000000000205905080507310 + ) + + Hash(0x20490508050731000000000000000) + + Hash(0x2069050805073100000000000000000000000000000) + + Hash(0x206905080507310000000000000000000000000000000000002079050) + + Hash( + 0x8050731000000000000000000000000000000000000207905080507310000000 + ) + + Hash(0x20890508050731000000000000000000000) + + Hash(0x2089050805073100000000000000000000000000000000000) + + Hash( + 0x209905080507310000000000000000000000000000000000002099050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000210905080507310000000000000 + ) + + Hash(0x21090508050731000000000000000000000000000) + + Hash(0x3019050805073100000000000000000000000000000000000030190) + + Hash( + 0x5080507310000000000000000000000000000000000003029050805073100000 + ) + + Hash(0x302905080507310000000000000000000) + + Hash(0x30390508050731000000000000000000000000000000000) + + Hash(0x3039050805073100000000000000000000000000000000000030490508050) + + Hash( + 0x7310000000000000000000000000000000000003049050805073100000000000 + ) + + Hash(0x305905080507310000000000000000000000000) + + Hash(0x30590508050731000000000000000000000000000000000000306) + + Hash( + 0x9050805073100000000000000000000000000000000000030690508050731000 + ) + + Hash(0x3079050805073100000000000000000) + + Hash(0x307905080507310000000000000000000000000000000) + + Hash(0x30890508050731000000000000000000000000000000000000308905080) + + Hash( + 0x5073100000000000000000000000000000000000030990508050731000000000 + ) + + Hash(0x3099050805073100000000000000000000000) + + Hash(0x310905080507310000000000000000000000000000000000003) + + Hash( + 0x10905080505B50565B6000731000000000000000000000000000000000000001 + ) + + Hash( + 0x9050805073100000000000000000000000000000000000000190508050731000 + ) + + Hash(0x29050805073100000000000000000) + + Hash(0x2905080507310000000000000000000000000000000) + + Hash(0x390508050731000000000000000000000000000000000000003905080) + + Hash( + 0x5073100000000000000000000000000000000000000490508050731000000000 + ) + + Hash(0x49050805073100000000000000000000000) + + Hash(0x5905080507310000000000000000000000000000000000000) + + Hash( + 0x590508050731000000000000000000000000000000000000006905080507310 + ) + + Hash(0x690508050731000000000000000) + + Hash(0x79050805073100000000000000000000000000000) + + Hash(0x7905080507310000000000000000000000000000000000000089050) + + Hash( + 0x8050731000000000000000000000000000000000000008905080507310000000 + ) + + Hash(0x990508050731000000000000000000000) + + Hash(0x99050805073100000000000000000000000000000000000) + + Hash( + 0x10905080507310000000000000000000000000000000000000109050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000101905080507310000000000000 + ) + + Hash(0x10190508050731000000000000000000000000000) + + Hash(0x1029050805073100000000000000000000000000000000000010290) + + Hash( + 0x5080507310000000000000000000000000000000000001039050805073100000 + ) + + Hash(0x103905080507310000000000000000000) + + Hash(0x10490508050731000000000000000000000000000000000) + + Hash(0x1049050805073100000000000000000000000000000000000010590508050) + + Hash( + 0x7310000000000000000000000000000000000001059050805073100000000000 + ) + + Hash(0x106905080507310000000000000000000000000) + + Hash(0x10690508050731000000000000000000000000000000000000107) + + Hash( + 0x9050805073100000000000000000000000000000000000010790508050731000 + ) + + Hash(0x1089050805073100000000000000000) + + Hash(0x108905080507310000000000000000000000000000000) + + Hash(0x10990508050731000000000000000000000000000000000000109905080) + + Hash( + 0x5073100000000000000000000000000000000000011090508050731000000000 + ) + + Hash(0x1109050805073100000000000000000000000) + + Hash(0x201905080507310000000000000000000000000000000000002) + + Hash( + 0x190508050731000000000000000000000000000000000000202905080507310 + ) + + Hash(0x20290508050731000000000000000) + + Hash(0x2039050805073100000000000000000000000000000) + + Hash(0x203905080507310000000000000000000000000000000000002049050) + + Hash( + 0x8050731000000000000000000000000000000000000204905080507310000000 + ) + + Hash(0x20590508050731000000000000000000000) + + Hash(0x2049050805073100000000000000000000000000000000000) + + Hash( + 0x206905080507310000000000000000000000000000000000002069050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000207905080507310000000000000 + ) + + Hash(0x20790508050731000000000000000000000000000) + + Hash(0x2089050805073100000000000000000000000000000000000020890) + + Hash( + 0x5080507310000000000000000000000000000000000002099050805073100000 + ) + + Hash(0x209905080507310000000000000000000) + + Hash(0x21090508050731000000000000000000000000000000000) + + Hash(0x2109050805073100000000000000000000000000000000000030190508050) + + Hash( + 0x7310000000000000000000000000000000000003019050805073100000000000 + ) + + Hash(0x302905080507310000000000000000000000000) + + Hash(0x30290508050731000000000000000000000000000000000000303) + + Hash( + 0x9050805073100000000000000000000000000000000000030390508050731000 + ) + + Hash(0x3049050805073100000000000000000) + + Hash(0x304905080507310000000000000000000000000000000) + + Hash(0x30590508050731000000000000000000000000000000000000305905080) + + Hash( + 0x5073100000000000000000000000000000000000030690508050731000000000 + ) + + Hash(0x3069050805073100000000000000000000000) + + Hash(0x307905080507310000000000000000000000000000000000003) + + Hash( + 0x790508050731000000000000000000000000000000000000308905080507310 + ) + + Hash(0x30890508050731000000000000000) + + Hash(0x3099050805073100000000000000000000000000000) + + Hash(0x309905080507310000000000000000000000000000000000003109050) + + Hash( + 0x8050731000000000000000000000000000000000000310905080507310000000 + ) + + Hash(0x190508050731000000000000000000000) + + Hash(0x19050805073100000000000000000000000000000000000) + + Hash(0x2905080507310000000000000000000000000000000000000029050805073) + + Hash( + 0x1000000000000000000000000000000000000003905080507310000000000000 + ) + + Hash(0x390508050731000000000000000000000000000) + + Hash(0x49050805073100000000000000000000000000000000000000490) + + Hash( + 0x5080507310000000000000000000000000000000000000059050805073100000 + ) + + Hash(0x5905080507310000000000000000000) + + Hash(0x690508050731000000000000000000000000000000000) + + Hash(0x69050805073100000000000000000000000000000000000000790508050) + + Hash( + 0x7310000000000000000000000000000000000000079050805073100000000000 + ) + + Hash(0x8905080507310000000000000000000000000) + + Hash(0x890508050731000000000000000000000000000000000000009) + + Hash( + 0x9050805073100000000000000000000000000000000000000990508050731000 + ) + + Hash(0x109050805073100000000000000000) + + Hash(0x10905080507310000000000000000000000000000000) + + Hash(0x10190508050731000000000000000000000000000000000000101905080) + + Hash( + 0x5073100000000000000000000000000000000000010290508050731000000000 + ) + + Hash(0x1029050805073100000000000000000000000) + + Hash(0x103905080507310000000000000000000000000000000000001) + + Hash( + 0x390508050731000000000000000000000000000000000000104905080507310 + ) + + Hash(0x10490508050731000000000000000) + + Hash(0x1059050805073100000000000000000000000000000) + + Hash(0x105905080507310000000000000000000000000000000000001069050) + + Hash( + 0x8050731000000000000000000000000000000000000106905080507310000000 + ) + + Hash(0x10790508050731000000000000000000000) + + Hash(0x1079050805073100000000000000000000000000000000000) + + Hash( + 0x108905080507310000000000000000000000000000000000001089050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000109905080507310000000000000 + ) + + Hash(0x10990508050731000000000000000000000000000) + + Hash(0x1109050805073100000000000000000000000000000000000011090) + + Hash( + 0x5080507310000000000000000000000000000000000002019050805073100000 + ) + + Hash(0x201905080507310000000000000000000) + + Hash(0x20290508050731000000000000000000000000000000000) + + Hash(0x2029050805073100000000000000000000000000000000000020390508050) + + Hash( + 0x7310000000000000000000000000000000000002039050805073100000000000 + ) + + Hash(0x204905080507310000000000000000000000000) + + Hash(0x20490508050731000000000000000000000000000000000000205) + + Hash( + 0x9050805073100000000000000000000000000000000000020490508050731000 + ) + + Hash(0x2069050805073100000000000000000) + + Hash(0x206905080507310000000000000000000000000000000) + + Hash(0x20790508050731000000000000000000000000000000000000207905080) + + Hash( + 0x5073100000000000000000000000000000000000020890508050731000000000 + ) + + Hash(0x2089050805073100000000000000000000000) + + Hash(0x209905080507310000000000000000000000000000000000002) + + Hash( + 0x990508050731000000000000000000000000000000000000210905080507310 + ) + + Hash(0x21090508050731000000000000000) + + Hash(0x3019050805073100000000000000000000000000000) + + Hash(0x301905080507310000000000000000000000000000000000003029050) + + Hash( + 0x8050731000000000000000000000000000000000000302905080507310000000 + ) + + Hash(0x30390508050731000000000000000000000) + + Hash(0x3039050805073100000000000000000000000000000000000) + + Hash( + 0x304905080507310000000000000000000000000000000000003049050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000305905080507310000000000000 + ) + + Hash(0x30590508050731000000000000000000000000000) + + Hash(0x3069050805073100000000000000000000000000000000000030690) + + Hash( + 0x5080507310000000000000000000000000000000000003079050805073100000 + ) + + Hash(0x307905080507310000000000000000000) + + Hash(0x30890508050731000000000000000000000000000000000) + + Hash(0x3089050805073100000000000000000000000000000000000030990508050) + + Hash( + 0x7310000000000000000000000000000000000003099050805073100000000000 + ) + + Hash(0x310905080507310000000000000000000000000) + + Hash(0x310905080505B50565B6000731000000000000000000000000000) + + Hash(0x19050805073100000000000000000000000000000000000000190) + + Hash( + 0x5080507310000000000000000000000000000000000000029050805073100000 + ) + + Hash(0x2905080507310000000000000000000) + + Hash(0x390508050731000000000000000000000000000000000) + + Hash(0x39050805073100000000000000000000000000000000000000490508050) + + Hash( + 0x7310000000000000000000000000000000000000049050805073100000000000 + ) + + Hash(0x5905080507310000000000000000000000000) + + Hash(0x590508050731000000000000000000000000000000000000006) + + Hash( + 0x9050805073100000000000000000000000000000000000000690508050731000 + ) + + Hash(0x79050805073100000000000000000) + + Hash(0x7905080507310000000000000000000000000000000) + + Hash(0x890508050731000000000000000000000000000000000000008905080) + + Hash( + 0x5073100000000000000000000000000000000000000990508050731000000000 + ) + + Hash(0x99050805073100000000000000000000000) + + Hash(0x10905080507310000000000000000000000000000000000000) + + Hash( + 0x1090508050731000000000000000000000000000000000000101905080507310 + ) + + Hash(0x10190508050731000000000000000) + + Hash(0x1029050805073100000000000000000000000000000) + + Hash(0x102905080507310000000000000000000000000000000000001039050) + + Hash( + 0x8050731000000000000000000000000000000000000103905080507310000000 + ) + + Hash(0x10490508050731000000000000000000000) + + Hash(0x1049050805073100000000000000000000000000000000000) + + Hash( + 0x105905080507310000000000000000000000000000000000001059050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000106905080507310000000000000 + ) + + Hash(0x10690508050731000000000000000000000000000) + + Hash(0x1079050805073100000000000000000000000000000000000010790) + + Hash( + 0x5080507310000000000000000000000000000000000001089050805073100000 + ) + + Hash(0x108905080507310000000000000000000) + + Hash(0x10990508050731000000000000000000000000000000000) + + Hash(0x1099050805073100000000000000000000000000000000000011090508050) + + Hash( + 0x7310000000000000000000000000000000000001109050805073100000000000 + ) + + Hash(0x201905080507310000000000000000000000000) + + Hash(0x20190508050731000000000000000000000000000000000000202) + + Hash( + 0x9050805073100000000000000000000000000000000000020290508050731000 + ) + + Hash(0x2039050805073100000000000000000) + + Hash(0x203905080507310000000000000000000000000000000) + + Hash(0x20490508050731000000000000000000000000000000000000204905080) + + Hash( + 0x5073100000000000000000000000000000000000020590508050731000000000 + ) + + Hash(0x2049050805073100000000000000000000000) + + Hash(0x206905080507310000000000000000000000000000000000002) + + Hash( + 0x690508050731000000000000000000000000000000000000207905080507310 + ) + + Hash(0x20790508050731000000000000000) + + Hash(0x2089050805073100000000000000000000000000000) + + Hash(0x208905080507310000000000000000000000000000000000002099050) + + Hash( + 0x8050731000000000000000000000000000000000000209905080507310000000 + ) + + Hash(0x21090508050731000000000000000000000) + + Hash(0x2109050805073100000000000000000000000000000000000) + + Hash( + 0x301905080507310000000000000000000000000000000000003019050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000302905080507310000000000000 + ) + + Hash(0x30290508050731000000000000000000000000000) + + Hash(0x3039050805073100000000000000000000000000000000000030390) + + Hash( + 0x5080507310000000000000000000000000000000000003049050805073100000 + ) + + Hash(0x304905080507310000000000000000000) + + Hash(0x30590508050731000000000000000000000000000000000) + + Hash(0x3059050805073100000000000000000000000000000000000030690508050) + + Hash( + 0x7310000000000000000000000000000000000003069050805073100000000000 + ) + + Hash(0x307905080507310000000000000000000000000) + + Hash(0x30790508050731000000000000000000000000000000000000308) + + Hash( + 0x9050805073100000000000000000000000000000000000030890508050731000 + ) + + Hash(0x3099050805073100000000000000000) + + Hash(0x309905080507310000000000000000000000000000000) + + Hash(0x31090508050731000000000000000000000000000000000000310905080) + + Hash( + 0x5073100000000000000000000000000000000000000190508050731000000000 + ) + + Hash(0x19050805073100000000000000000000000) + + Hash(0x2905080507310000000000000000000000000000000000000) + + Hash( + 0x290508050731000000000000000000000000000000000000003905080507310 + ) + + Hash(0x390508050731000000000000000) + + Hash(0x49050805073100000000000000000000000000000) + + Hash(0x4905080507310000000000000000000000000000000000000059050) + + Hash( + 0x8050731000000000000000000000000000000000000005905080507310000000 + ) + + Hash(0x690508050731000000000000000000000) + + Hash(0x69050805073100000000000000000000000000000000000) + + Hash(0x7905080507310000000000000000000000000000000000000079050805073) + + Hash( + 0x1000000000000000000000000000000000000008905080507310000000000000 + ) + + Hash(0x890508050731000000000000000000000000000) + + Hash(0x99050805073100000000000000000000000000000000000000990) + + Hash( + 0x5080507310000000000000000000000000000000000000109050805073100000 + ) + + Hash(0x10905080507310000000000000000000) + + Hash(0x10190508050731000000000000000000000000000000000) + + Hash(0x1019050805073100000000000000000000000000000000000010290508050) + + Hash( + 0x7310000000000000000000000000000000000001029050805073100000000000 + ) + + Hash(0x103905080507310000000000000000000000000) + + Hash(0x10390508050731000000000000000000000000000000000000104) + + Hash( + 0x9050805073100000000000000000000000000000000000010490508050731000 + ) + + Hash(0x1059050805073100000000000000000) + + Hash(0x105905080507310000000000000000000000000000000) + + Hash(0x10690508050731000000000000000000000000000000000000106905080) + + Hash( + 0x5073100000000000000000000000000000000000010790508050731000000000 + ) + + Hash(0x1079050805073100000000000000000000000) + + Hash(0x108905080507310000000000000000000000000000000000001) + + Hash( + 0x890508050731000000000000000000000000000000000000109905080507310 + ) + + Hash(0x10990508050731000000000000000) + + Hash(0x1109050805073100000000000000000000000000000) + + Hash(0x110905080507310000000000000000000000000000000000002019050) + + Hash( + 0x8050731000000000000000000000000000000000000201905080507310000000 + ) + + Hash(0x20290508050731000000000000000000000) + + Hash(0x2029050805073100000000000000000000000000000000000) + + Hash( + 0x203905080507310000000000000000000000000000000000002039050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000204905080507310000000000000 + ) + + Hash(0x20490508050731000000000000000000000000000) + + Hash(0x2059050805073100000000000000000000000000000000000020490) + + Hash( + 0x5080507310000000000000000000000000000000000002069050805073100000 + ) + + Hash(0x206905080507310000000000000000000) + + Hash(0x20790508050731000000000000000000000000000000000) + + Hash(0x2079050805073100000000000000000000000000000000000020890508050) + + Hash( + 0x7310000000000000000000000000000000000002089050805073100000000000 + ) + + Hash(0x209905080507310000000000000000000000000) + + Hash(0x20990508050731000000000000000000000000000000000000210) + + Hash( + 0x9050805073100000000000000000000000000000000000021090508050731000 + ) + + Hash(0x3019050805073100000000000000000) + + Hash(0x301905080507310000000000000000000000000000000) + + Hash(0x30290508050731000000000000000000000000000000000000302905080) + + Hash( + 0x5073100000000000000000000000000000000000030390508050731000000000 + ) + + Hash(0x3039050805073100000000000000000000000) + + Hash(0x304905080507310000000000000000000000000000000000003) + + Hash( + 0x490508050731000000000000000000000000000000000000305905080507310 + ) + + Hash(0x30590508050731000000000000000) + + Hash(0x3069050805073100000000000000000000000000000) + + Hash(0x306905080507310000000000000000000000000000000000003079050) + + Hash( + 0x8050731000000000000000000000000000000000000307905080507310000000 + ) + + Hash(0x30890508050731000000000000000000000) + + Hash(0x3089050805073100000000000000000000000000000000000) + + Hash( + 0x309905080507310000000000000000000000000000000000003099050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000310905080507310000000000000 + ) + + Hash(0x310905080505B50565B6000731000000000000000) + + Hash(0x19050805073100000000000000000000000000000) + + Hash(0x1905080507310000000000000000000000000000000000000029050) + + Hash( + 0x8050731000000000000000000000000000000000000002905080507310000000 + ) + + Hash(0x390508050731000000000000000000000) + + Hash(0x39050805073100000000000000000000000000000000000) + + Hash(0x4905080507310000000000000000000000000000000000000049050805073) + + Hash( + 0x1000000000000000000000000000000000000005905080507310000000000000 + ) + + Hash(0x590508050731000000000000000000000000000) + + Hash(0x69050805073100000000000000000000000000000000000000690) + + Hash( + 0x5080507310000000000000000000000000000000000000079050805073100000 + ) + + Hash(0x7905080507310000000000000000000) + + Hash(0x890508050731000000000000000000000000000000000) + + Hash(0x89050805073100000000000000000000000000000000000000990508050) + + Hash( + 0x7310000000000000000000000000000000000000099050805073100000000000 + ) + + Hash(0x10905080507310000000000000000000000000) + + Hash(0x1090508050731000000000000000000000000000000000000101) + + Hash( + 0x9050805073100000000000000000000000000000000000010190508050731000 + ) + + Hash(0x1029050805073100000000000000000) + + Hash(0x102905080507310000000000000000000000000000000) + + Hash(0x10390508050731000000000000000000000000000000000000103905080) + + Hash( + 0x5073100000000000000000000000000000000000010490508050731000000000 + ) + + Hash(0x1049050805073100000000000000000000000) + + Hash(0x105905080507310000000000000000000000000000000000001) + + Hash( + 0x590508050731000000000000000000000000000000000000106905080507310 + ) + + Hash(0x10690508050731000000000000000) + + Hash(0x1079050805073100000000000000000000000000000) + + Hash(0x107905080507310000000000000000000000000000000000001089050) + + Hash( + 0x8050731000000000000000000000000000000000000108905080507310000000 + ) + + Hash(0x10990508050731000000000000000000000) + + Hash(0x1099050805073100000000000000000000000000000000000) + + Hash( + 0x110905080507310000000000000000000000000000000000001109050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000201905080507310000000000000 + ) + + Hash(0x20190508050731000000000000000000000000000) + + Hash(0x2029050805073100000000000000000000000000000000000020290) + + Hash( + 0x5080507310000000000000000000000000000000000002039050805073100000 + ) + + Hash(0x203905080507310000000000000000000) + + Hash(0x20490508050731000000000000000000000000000000000) + + Hash(0x2049050805073100000000000000000000000000000000000020590508050) + + Hash( + 0x7310000000000000000000000000000000000002049050805073100000000000 + ) + + Hash(0x206905080507310000000000000000000000000) + + Hash(0x20690508050731000000000000000000000000000000000000207) + + Hash( + 0x9050805073100000000000000000000000000000000000020790508050731000 + ) + + Hash(0x2089050805073100000000000000000) + + Hash(0x208905080507310000000000000000000000000000000) + + Hash(0x20990508050731000000000000000000000000000000000000209905080) + + Hash( + 0x5073100000000000000000000000000000000000021090508050731000000000 + ) + + Hash(0x2109050805073100000000000000000000000) + + Hash(0x301905080507310000000000000000000000000000000000003) + + Hash( + 0x190508050731000000000000000000000000000000000000302905080507310 + ) + + Hash(0x30290508050731000000000000000) + + Hash(0x3039050805073100000000000000000000000000000) + + Hash(0x303905080507310000000000000000000000000000000000003049050) + + Hash( + 0x8050731000000000000000000000000000000000000304905080507310000000 + ) + + Hash(0x30590508050731000000000000000000000) + + Hash(0x3059050805073100000000000000000000000000000000000) + + Hash( + 0x306905080507310000000000000000000000000000000000003069050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000307905080507310000000000000 + ) + + Hash(0x30790508050731000000000000000000000000000) + + Hash(0x3089050805073100000000000000000000000000000000000030890) + + Hash( + 0x5080507310000000000000000000000000000000000003099050805073100000 + ) + + Hash(0x309905080507310000000000000000000) + + Hash(0x31090508050731000000000000000000000000000000000) + + Hash(0x3109050805073100000000000000000000000000000000000000190508050) + + Hash( + 0x7310000000000000000000000000000000000000019050805073100000000000 + ) + + Hash(0x2905080507310000000000000000000000000) + + Hash(0x290508050731000000000000000000000000000000000000003) + + Hash( + 0x9050805073100000000000000000000000000000000000000390508050731000 + ) + + Hash(0x49050805073100000000000000000) + + Hash(0x4905080507310000000000000000000000000000000) + + Hash(0x590508050731000000000000000000000000000000000000005905080) + + Hash( + 0x5073100000000000000000000000000000000000000690508050731000000000 + ) + + Hash(0x69050805073100000000000000000000000) + + Hash(0x7905080507310000000000000000000000000000000000000) + + Hash( + 0x790508050731000000000000000000000000000000000000008905080507310 + ) + + Hash(0x890508050731000000000000000) + + Hash(0x99050805073100000000000000000000000000000) + + Hash(0x9905080507310000000000000000000000000000000000000109050) + + Hash( + 0x8050731000000000000000000000000000000000000010905080507310000000 + ) + + Hash(0x10190508050731000000000000000000000) + + Hash(0x1019050805073100000000000000000000000000000000000) + + Hash( + 0x102905080507310000000000000000000000000000000000001029050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000103905080507310000000000000 + ) + + Hash(0x10390508050731000000000000000000000000000) + + Hash(0x1049050805073100000000000000000000000000000000000010490) + + Hash( + 0x5080507310000000000000000000000000000000000001059050805073100000 + ) + + Hash(0x105905080507310000000000000000000) + + Hash(0x10690508050731000000000000000000000000000000000) + + Hash(0x1069050805073100000000000000000000000000000000000010790508050) + + Hash( + 0x7310000000000000000000000000000000000001079050805073100000000000 + ) + + Hash(0x108905080507310000000000000000000000000) + + Hash(0x10890508050731000000000000000000000000000000000000109) + + Hash( + 0x9050805073100000000000000000000000000000000000010990508050731000 + ) + + Hash(0x1109050805073100000000000000000) + + Hash(0x110905080507310000000000000000000000000000000) + + Hash(0x20190508050731000000000000000000000000000000000000201905080) + + Hash( + 0x5073100000000000000000000000000000000000020290508050731000000000 + ) + + Hash(0x2029050805073100000000000000000000000) + + Hash(0x203905080507310000000000000000000000000000000000002) + + Hash( + 0x390508050731000000000000000000000000000000000000204905080507310 + ) + + Hash(0x20490508050731000000000000000) + + Hash(0x2059050805073100000000000000000000000000000) + + Hash(0x204905080507310000000000000000000000000000000000002069050) + + Hash( + 0x8050731000000000000000000000000000000000000206905080507310000000 + ) + + Hash(0x20790508050731000000000000000000000) + + Hash(0x2079050805073100000000000000000000000000000000000) + + Hash( + 0x208905080507310000000000000000000000000000000000002089050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000209905080507310000000000000 + ) + + Hash(0x20990508050731000000000000000000000000000) + + Hash(0x2109050805073100000000000000000000000000000000000021090) + + Hash( + 0x5080507310000000000000000000000000000000000003019050805073100000 + ) + + Hash(0x301905080507310000000000000000000) + + Hash(0x30290508050731000000000000000000000000000000000) + + Hash(0x3029050805073100000000000000000000000000000000000030390508050) + + Hash( + 0x7310000000000000000000000000000000000003039050805073100000000000 + ) + + Hash(0x304905080507310000000000000000000000000) + + Hash(0x30490508050731000000000000000000000000000000000000305) + + Hash( + 0x9050805073100000000000000000000000000000000000030590508050731000 + ) + + Hash(0x3069050805073100000000000000000) + + Hash(0x306905080507310000000000000000000000000000000) + + Hash(0x30790508050731000000000000000000000000000000000000307905080) + + Hash( + 0x5073100000000000000000000000000000000000030890508050731000000000 + ) + + Hash(0x3089050805073100000000000000000000000) + + Hash(0x309905080507310000000000000000000000000000000000003) + + Hash( + 0x990508050731000000000000000000000000000000000000310905080507310 + ) + + Hash(0x310905080505B50565B6000731000) + + Hash(0x19050805073100000000000000000) + + Hash(0x1905080507310000000000000000000000000000000) + + Hash(0x290508050731000000000000000000000000000000000000002905080) + + Hash( + 0x5073100000000000000000000000000000000000000390508050731000000000 + ) + + Hash(0x39050805073100000000000000000000000) + + Hash(0x4905080507310000000000000000000000000000000000000) + + Hash( + 0x490508050731000000000000000000000000000000000000005905080507310 + ) + + Hash(0x590508050731000000000000000) + + Hash(0x69050805073100000000000000000000000000000) + + Hash(0x6905080507310000000000000000000000000000000000000079050) + + Hash( + 0x8050731000000000000000000000000000000000000007905080507310000000 + ) + + Hash(0x890508050731000000000000000000000) + + Hash(0x89050805073100000000000000000000000000000000000) + + Hash(0x9905080507310000000000000000000000000000000000000099050805073) + + Hash( + 0x1000000000000000000000000000000000000010905080507310000000000000 + ) + + Hash(0x1090508050731000000000000000000000000000) + + Hash(0x1019050805073100000000000000000000000000000000000010190) + + Hash( + 0x5080507310000000000000000000000000000000000001029050805073100000 + ) + + Hash(0x102905080507310000000000000000000) + + Hash(0x10390508050731000000000000000000000000000000000) + + Hash(0x1039050805073100000000000000000000000000000000000010490508050) + + Hash( + 0x7310000000000000000000000000000000000001049050805073100000000000 + ) + + Hash(0x105905080507310000000000000000000000000) + + Hash(0x10590508050731000000000000000000000000000000000000106) + + Hash( + 0x9050805073100000000000000000000000000000000000010690508050731000 + ) + + Hash(0x1079050805073100000000000000000) + + Hash(0x107905080507310000000000000000000000000000000) + + Hash(0x10890508050731000000000000000000000000000000000000108905080) + + Hash( + 0x5073100000000000000000000000000000000000010990508050731000000000 + ) + + Hash(0x1099050805073100000000000000000000000) + + Hash(0x110905080507310000000000000000000000000000000000001) + + Hash( + 0x1090508050731000000000000000000000000000000000000201905080507310 + ) + + Hash(0x20190508050731000000000000000) + + Hash(0x2029050805073100000000000000000000000000000) + + Hash(0x202905080507310000000000000000000000000000000000002039050) + + Hash( + 0x8050731000000000000000000000000000000000000203905080507310000000 + ) + + Hash(0x20490508050731000000000000000000000) + + Hash(0x2049050805073100000000000000000000000000000000000) + + Hash( + 0x205905080507310000000000000000000000000000000000002049050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000206905080507310000000000000 + ) + + Hash(0x20690508050731000000000000000000000000000) + + Hash(0x2079050805073100000000000000000000000000000000000020790) + + Hash( + 0x5080507310000000000000000000000000000000000002089050805073100000 + ) + + Hash(0x208905080507310000000000000000000) + + Hash(0x20990508050731000000000000000000000000000000000) + + Hash(0x2099050805073100000000000000000000000000000000000021090508050) + + Hash( + 0x7310000000000000000000000000000000000002109050805073100000000000 + ) + + Hash(0x301905080507310000000000000000000000000) + + Hash(0x30190508050731000000000000000000000000000000000000302) + + Hash( + 0x9050805073100000000000000000000000000000000000030290508050731000 + ) + + Hash(0x3039050805073100000000000000000) + + Hash(0x303905080507310000000000000000000000000000000) + + Hash(0x30490508050731000000000000000000000000000000000000304905080) + + Hash( + 0x5073100000000000000000000000000000000000030590508050731000000000 + ) + + Hash(0x3059050805073100000000000000000000000) + + Hash(0x306905080507310000000000000000000000000000000000003) + + Hash( + 0x690508050731000000000000000000000000000000000000307905080507310 + ) + + Hash(0x30790508050731000000000000000) + + Hash(0x3089050805073100000000000000000000000000000) + + Hash(0x308905080507310000000000000000000000000000000000003099050) + + Hash( + 0x8050731000000000000000000000000000000000000309905080507310000000 + ) + + Hash(0x31090508050731000000000000000000000) + + Hash(0x3109050805073100000000000000000000000000000000000) + + Hash(0x1905080507310000000000000000000000000000000000000019050805073) + + Hash( + 0x1000000000000000000000000000000000000002905080507310000000000000 + ) + + Hash(0x290508050731000000000000000000000000000) + + Hash(0x39050805073100000000000000000000000000000000000000390) + + Hash( + 0x5080507310000000000000000000000000000000000000049050805073100000 + ) + + Hash(0x4905080507310000000000000000000) + + Hash(0x590508050731000000000000000000000000000000000) + + Hash(0x59050805073100000000000000000000000000000000000000690508050) + + Hash( + 0x7310000000000000000000000000000000000000069050805073100000000000 + ) + + Hash(0x7905080507310000000000000000000000000) + + Hash(0x790508050731000000000000000000000000000000000000008) + + Hash( + 0x9050805073100000000000000000000000000000000000000890508050731000 + ) + + Hash(0x99050805073100000000000000000) + + Hash(0x9905080507310000000000000000000000000000000) + + Hash(0x1090508050731000000000000000000000000000000000000010905080) + + Hash( + 0x5073100000000000000000000000000000000000010190508050731000000000 + ) + + Hash(0x1019050805073100000000000000000000000) + + Hash(0x102905080507310000000000000000000000000000000000001) + + Hash( + 0x290508050731000000000000000000000000000000000000103905080507310 + ) + + Hash(0x10390508050731000000000000000) + + Hash(0x1049050805073100000000000000000000000000000) + + Hash(0x104905080507310000000000000000000000000000000000001059050) + + Hash( + 0x8050731000000000000000000000000000000000000105905080507310000000 + ) + + Hash(0x10690508050731000000000000000000000) + + Hash(0x1069050805073100000000000000000000000000000000000) + + Hash( + 0x107905080507310000000000000000000000000000000000001079050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000108905080507310000000000000 + ) + + Hash(0x10890508050731000000000000000000000000000) + + Hash(0x1099050805073100000000000000000000000000000000000010990) + + Hash( + 0x5080507310000000000000000000000000000000000001109050805073100000 + ) + + Hash(0x110905080507310000000000000000000) + + Hash(0x20190508050731000000000000000000000000000000000) + + Hash(0x2019050805073100000000000000000000000000000000000020290508050) + + Hash( + 0x7310000000000000000000000000000000000002029050805073100000000000 + ) + + Hash(0x203905080507310000000000000000000000000) + + Hash(0x20390508050731000000000000000000000000000000000000204) + + Hash( + 0x9050805073100000000000000000000000000000000000020490508050731000 + ) + + Hash(0x2059050805073100000000000000000) + + Hash(0x204905080507310000000000000000000000000000000) + + Hash(0x20690508050731000000000000000000000000000000000000206905080) + + Hash( + 0x5073100000000000000000000000000000000000020790508050731000000000 + ) + + Hash(0x2079050805073100000000000000000000000) + + Hash(0x208905080507310000000000000000000000000000000000002) + + Hash( + 0x890508050731000000000000000000000000000000000000209905080507310 + ) + + Hash(0x20990508050731000000000000000) + + Hash(0x2109050805073100000000000000000000000000000) + + Hash(0x210905080507310000000000000000000000000000000000003019050) + + Hash( + 0x8050731000000000000000000000000000000000000301905080507310000000 + ) + + Hash(0x30290508050731000000000000000000000) + + Hash(0x3029050805073100000000000000000000000000000000000) + + Hash( + 0x303905080507310000000000000000000000000000000000003039050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000304905080507310000000000000 + ) + + Hash(0x30490508050731000000000000000000000000000) + + Hash(0x3059050805073100000000000000000000000000000000000030590) + + Hash( + 0x5080507310000000000000000000000000000000000003069050805073100000 + ) + + Hash(0x306905080507310000000000000000000) + + Hash(0x30790508050731000000000000000000000000000000000) + + Hash(0x3079050805073100000000000000000000000000000000000030890508050) + + Hash( + 0x7310000000000000000000000000000000000003089050805073100000000000 + ) + + Hash(0x309905080507310000000000000000000000000) + + Hash(0x30990508050731000000000000000000000000000000000000310) + + Hash( + 0x90508050731000000000000000000000000000000000000310905080505B5056 + ) + + Hash( + 0x60606040523615610074576000357C0100000000000000000000000000000000 + ) + + Hash(0x90048063A3B9F3E514610079578063B50345B614) + + Hash( + 0x61008D578063D4F639EA146100A1578063D9BB316F146100B5578063E22A5D5B + ) + + Hash( + 0x146100C9578063F983C0FA146100DD57610074565B610002565B346100025761 + ) + + Hash( + 0x8B60048050506100F1565B005B346100025761009F6004805050611097565B + ) + + Hash( + 0x5B34610002576100B3600480505061203D565B005B34610002576100C76004 + ) + + Hash( + 0x805050612FE3565B005B34610002576100DB6004805050613F89565B005B3461 + ) + + Hash(0x2576100EF6004805050614F2F565B005B6000731000000000000000000000) + + Hash(0x19050805073100000000000000000000000000000000000) + + Hash(0x1905080507310000000000000000000000000000000000000029050805073) + + Hash( + 0x1000000000000000000000000000000000000002905080507310000000000000 + ) + + Hash(0x390508050731000000000000000000000000000) + + Hash(0x39050805073100000000000000000000000000000000000000490) + + Hash( + 0x5080507310000000000000000000000000000000000000049050805073100000 + ) + + Hash(0x5905080507310000000000000000000) + + Hash(0x590508050731000000000000000000000000000000000) + + Hash(0x69050805073100000000000000000000000000000000000000690508050) + + Hash( + 0x7310000000000000000000000000000000000000079050805073100000000000 + ) + + Hash(0x7905080507310000000000000000000000000) + + Hash(0x890508050731000000000000000000000000000000000000008) + + Hash( + 0x9050805073100000000000000000000000000000000000000990508050731000 + ) + + Hash(0x99050805073100000000000000000) + + Hash(0x10905080507310000000000000000000000000000000) + + Hash(0x1090508050731000000000000000000000000000000000000101905080) + + Hash( + 0x5073100000000000000000000000000000000000010190508050731000000000 + ) + + Hash(0x1029050805073100000000000000000000000) + + Hash(0x102905080507310000000000000000000000000000000000001) + + Hash( + 0x390508050731000000000000000000000000000000000000103905080507310 + ) + + Hash(0x10490508050731000000000000000) + + Hash(0x1049050805073100000000000000000000000000000) + + Hash(0x105905080507310000000000000000000000000000000000001059050) + + Hash( + 0x8050731000000000000000000000000000000000000106905080507310000000 + ) + + Hash(0x10690508050731000000000000000000000) + + Hash(0x1079050805073100000000000000000000000000000000000) + + Hash( + 0x107905080507310000000000000000000000000000000000001089050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000108905080507310000000000000 + ) + + Hash(0x10990508050731000000000000000000000000000) + + Hash(0x1099050805073100000000000000000000000000000000000011090) + + Hash( + 0x5080507310000000000000000000000000000000000001109050805073100000 + ) + + Hash(0x201905080507310000000000000000000) + + Hash(0x20190508050731000000000000000000000000000000000) + + Hash(0x2029050805073100000000000000000000000000000000000020290508050) + + Hash( + 0x7310000000000000000000000000000000000002039050805073100000000000 + ) + + Hash(0x203905080507310000000000000000000000000) + + Hash(0x20490508050731000000000000000000000000000000000000204) + + Hash( + 0x9050805073100000000000000000000000000000000000020590508050731000 + ) + + Hash(0x2049050805073100000000000000000) + + Hash(0x206905080507310000000000000000000000000000000) + + Hash(0x20690508050731000000000000000000000000000000000000207905080) + + Hash( + 0x5073100000000000000000000000000000000000020790508050731000000000 + ) + + Hash(0x2089050805073100000000000000000000000) + + Hash(0x208905080507310000000000000000000000000000000000002) + + Hash( + 0x990508050731000000000000000000000000000000000000209905080507310 + ) + + Hash(0x21090508050731000000000000000) + + Hash(0x2109050805073100000000000000000000000000000) + + Hash(0x301905080507310000000000000000000000000000000000003019050) + + Hash( + 0x8050731000000000000000000000000000000000000302905080507310000000 + ) + + Hash(0x30290508050731000000000000000000000) + + Hash(0x3039050805073100000000000000000000000000000000000) + + Hash( + 0x303905080507310000000000000000000000000000000000003049050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000304905080507310000000000000 + ) + + Hash(0x30590508050731000000000000000000000000000) + + Hash(0x3059050805073100000000000000000000000000000000000030690) + + Hash( + 0x5080507310000000000000000000000000000000000003069050805073100000 + ) + + Hash(0x307905080507310000000000000000000) + + Hash(0x30790508050731000000000000000000000000000000000) + + Hash(0x3089050805073100000000000000000000000000000000000030890508050) + + Hash( + 0x7310000000000000000000000000000000000003099050805073100000000000 + ) + + Hash(0x309905080507310000000000000000000000000) + + Hash(0x31090508050731000000000000000000000000000000000000310) + + Hash( + 0x9050805073100000000000000000000000000000000000000190508050731000 + ) + + Hash(0x19050805073100000000000000000) + + Hash(0x2905080507310000000000000000000000000000000) + + Hash(0x290508050731000000000000000000000000000000000000003905080) + + Hash( + 0x5073100000000000000000000000000000000000000390508050731000000000 + ) + + Hash(0x49050805073100000000000000000000000) + + Hash(0x4905080507310000000000000000000000000000000000000) + + Hash( + 0x590508050731000000000000000000000000000000000000005905080507310 + ) + + Hash(0x690508050731000000000000000) + + Hash(0x69050805073100000000000000000000000000000) + + Hash(0x7905080507310000000000000000000000000000000000000079050) + + Hash( + 0x8050731000000000000000000000000000000000000008905080507310000000 + ) + + Hash(0x890508050731000000000000000000000) + + Hash(0x99050805073100000000000000000000000000000000000) + + Hash(0x9905080507310000000000000000000000000000000000000109050805073) + + Hash( + 0x1000000000000000000000000000000000000010905080507310000000000000 + ) + + Hash(0x10190508050731000000000000000000000000000) + + Hash(0x1019050805073100000000000000000000000000000000000010290) + + Hash( + 0x5080507310000000000000000000000000000000000001029050805073100000 + ) + + Hash(0x103905080507310000000000000000000) + + Hash(0x10390508050731000000000000000000000000000000000) + + Hash(0x1049050805073100000000000000000000000000000000000010490508050) + + Hash( + 0x7310000000000000000000000000000000000001059050805073100000000000 + ) + + Hash(0x105905080507310000000000000000000000000) + + Hash(0x10690508050731000000000000000000000000000000000000106) + + Hash( + 0x9050805073100000000000000000000000000000000000010790508050731000 + ) + + Hash(0x1079050805073100000000000000000) + + Hash(0x108905080507310000000000000000000000000000000) + + Hash(0x10890508050731000000000000000000000000000000000000109905080) + + Hash( + 0x5073100000000000000000000000000000000000010990508050731000000000 + ) + + Hash(0x1109050805073100000000000000000000000) + + Hash(0x110905080507310000000000000000000000000000000000002) + + Hash( + 0x190508050731000000000000000000000000000000000000201905080507310 + ) + + Hash(0x20290508050731000000000000000) + + Hash(0x2029050805073100000000000000000000000000000) + + Hash(0x203905080507310000000000000000000000000000000000002039050) + + Hash( + 0x8050731000000000000000000000000000000000000204905080507310000000 + ) + + Hash(0x20490508050731000000000000000000000) + + Hash(0x2059050805073100000000000000000000000000000000000) + + Hash( + 0x204905080507310000000000000000000000000000000000002069050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000206905080507310000000000000 + ) + + Hash(0x20790508050731000000000000000000000000000) + + Hash(0x2079050805073100000000000000000000000000000000000020890) + + Hash( + 0x5080507310000000000000000000000000000000000002089050805073100000 + ) + + Hash(0x209905080507310000000000000000000) + + Hash(0x20990508050731000000000000000000000000000000000) + + Hash(0x2109050805073100000000000000000000000000000000000021090508050) + + Hash( + 0x7310000000000000000000000000000000000003019050805073100000000000 + ) + + Hash(0x301905080507310000000000000000000000000) + + Hash(0x30290508050731000000000000000000000000000000000000302) + + Hash( + 0x9050805073100000000000000000000000000000000000030390508050731000 + ) + + Hash(0x3039050805073100000000000000000) + + Hash(0x304905080507310000000000000000000000000000000) + + Hash(0x30490508050731000000000000000000000000000000000000305905080) + + Hash( + 0x5073100000000000000000000000000000000000030590508050731000000000 + ) + + Hash(0x3069050805073100000000000000000000000) + + Hash(0x306905080507310000000000000000000000000000000000003) + + Hash( + 0x790508050731000000000000000000000000000000000000307905080507310 + ) + + Hash(0x30890508050731000000000000000) + + Hash(0x3089050805073100000000000000000000000000000) + + Hash(0x309905080507310000000000000000000000000000000000003099050) + + Hash( + 0x8050731000000000000000000000000000000000000310905080507310000000 + ) + + Hash(0x310905080505B50565B6000731000000000) + + Hash(0x19050805073100000000000000000000000) + + Hash(0x1905080507310000000000000000000000000000000000000) + + Hash( + 0x290508050731000000000000000000000000000000000000002905080507310 + ) + + Hash(0x390508050731000000000000000) + + Hash(0x39050805073100000000000000000000000000000) + + Hash(0x4905080507310000000000000000000000000000000000000049050) + + Hash( + 0x8050731000000000000000000000000000000000000005905080507310000000 + ) + + Hash(0x590508050731000000000000000000000) + + Hash(0x69050805073100000000000000000000000000000000000) + + Hash(0x6905080507310000000000000000000000000000000000000079050805073) + + Hash( + 0x1000000000000000000000000000000000000007905080507310000000000000 + ) + + Hash(0x890508050731000000000000000000000000000) + + Hash(0x89050805073100000000000000000000000000000000000000990) + + Hash( + 0x5080507310000000000000000000000000000000000000099050805073100000 + ) + + Hash(0x10905080507310000000000000000000) + + Hash(0x1090508050731000000000000000000000000000000000) + + Hash(0x1019050805073100000000000000000000000000000000000010190508050) + + Hash( + 0x7310000000000000000000000000000000000001029050805073100000000000 + ) + + Hash(0x102905080507310000000000000000000000000) + + Hash(0x10390508050731000000000000000000000000000000000000103) + + Hash( + 0x9050805073100000000000000000000000000000000000010490508050731000 + ) + + Hash(0x1049050805073100000000000000000) + + Hash(0x105905080507310000000000000000000000000000000) + + Hash(0x10590508050731000000000000000000000000000000000000106905080) + + Hash( + 0x5073100000000000000000000000000000000000010690508050731000000000 + ) + + Hash(0x1079050805073100000000000000000000000) + + Hash(0x107905080507310000000000000000000000000000000000001) + + Hash( + 0x890508050731000000000000000000000000000000000000108905080507310 + ) + + Hash(0x10990508050731000000000000000) + + Hash(0x1099050805073100000000000000000000000000000) + + Hash(0x110905080507310000000000000000000000000000000000001109050) + + Hash( + 0x8050731000000000000000000000000000000000000201905080507310000000 + ) + + Hash(0x20190508050731000000000000000000000) + + Hash(0x2029050805073100000000000000000000000000000000000) + + Hash( + 0x202905080507310000000000000000000000000000000000002039050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000203905080507310000000000000 + ) + + Hash(0x20490508050731000000000000000000000000000) + + Hash(0x2049050805073100000000000000000000000000000000000020590) + + Hash( + 0x5080507310000000000000000000000000000000000002049050805073100000 + ) + + Hash(0x206905080507310000000000000000000) + + Hash(0x20690508050731000000000000000000000000000000000) + + Hash(0x2079050805073100000000000000000000000000000000000020790508050) + + Hash( + 0x7310000000000000000000000000000000000002089050805073100000000000 + ) + + Hash(0x208905080507310000000000000000000000000) + + Hash(0x20990508050731000000000000000000000000000000000000209) + + Hash( + 0x9050805073100000000000000000000000000000000000021090508050731000 + ) + + Hash(0x2109050805073100000000000000000) + + Hash(0x301905080507310000000000000000000000000000000) + + Hash(0x30190508050731000000000000000000000000000000000000302905080) + + Hash( + 0x5073100000000000000000000000000000000000030290508050731000000000 + ) + + Hash(0x3039050805073100000000000000000000000) + + Hash(0x303905080507310000000000000000000000000000000000003) + + Hash( + 0x490508050731000000000000000000000000000000000000304905080507310 + ) + + Hash(0x30590508050731000000000000000) + + Hash(0x3059050805073100000000000000000000000000000) + + Hash(0x306905080507310000000000000000000000000000000000003069050) + + Hash( + 0x8050731000000000000000000000000000000000000307905080507310000000 + ) + + Hash(0x30790508050731000000000000000000000) + + Hash(0x3089050805073100000000000000000000000000000000000) + + Hash( + 0x308905080507310000000000000000000000000000000000003099050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000309905080507310000000000000 + ) + + Hash(0x31090508050731000000000000000000000000000) + + Hash(0x3109050805073100000000000000000000000000000000000000190) + + Hash( + 0x5080507310000000000000000000000000000000000000019050805073100000 + ) + + Hash(0x2905080507310000000000000000000) + + Hash(0x290508050731000000000000000000000000000000000) + + Hash(0x39050805073100000000000000000000000000000000000000390508050) + + Hash( + 0x7310000000000000000000000000000000000000049050805073100000000000 + ) + + Hash(0x4905080507310000000000000000000000000) + + Hash(0x590508050731000000000000000000000000000000000000005) + + Hash( + 0x9050805073100000000000000000000000000000000000000690508050731000 + ) + + Hash(0x69050805073100000000000000000) + + Hash(0x7905080507310000000000000000000000000000000) + + Hash(0x790508050731000000000000000000000000000000000000008905080) + + Hash( + 0x5073100000000000000000000000000000000000000890508050731000000000 + ) + + Hash(0x99050805073100000000000000000000000) + + Hash(0x9905080507310000000000000000000000000000000000000) + + Hash( + 0x1090508050731000000000000000000000000000000000000010905080507310 + ) + + Hash(0x10190508050731000000000000000) + + Hash(0x1019050805073100000000000000000000000000000) + + Hash(0x102905080507310000000000000000000000000000000000001029050) + + Hash( + 0x8050731000000000000000000000000000000000000103905080507310000000 + ) + + Hash(0x10390508050731000000000000000000000) + + Hash(0x1049050805073100000000000000000000000000000000000) + + Hash( + 0x104905080507310000000000000000000000000000000000001059050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000105905080507310000000000000 + ) + + Hash(0x10690508050731000000000000000000000000000) + + Hash(0x1069050805073100000000000000000000000000000000000010790) + + Hash( + 0x5080507310000000000000000000000000000000000001079050805073100000 + ) + + Hash(0x108905080507310000000000000000000) + + Hash(0x10890508050731000000000000000000000000000000000) + + Hash(0x1099050805073100000000000000000000000000000000000010990508050) + + Hash( + 0x7310000000000000000000000000000000000001109050805073100000000000 + ) + + Hash(0x110905080507310000000000000000000000000) + + Hash(0x20190508050731000000000000000000000000000000000000201) + + Hash( + 0x9050805073100000000000000000000000000000000000020290508050731000 + ) + + Hash(0x2029050805073100000000000000000) + + Hash(0x203905080507310000000000000000000000000000000) + + Hash(0x20390508050731000000000000000000000000000000000000204905080) + + Hash( + 0x5073100000000000000000000000000000000000020490508050731000000000 + ) + + Hash(0x2059050805073100000000000000000000000) + + Hash(0x204905080507310000000000000000000000000000000000002) + + Hash( + 0x690508050731000000000000000000000000000000000000206905080507310 + ) + + Hash(0x20790508050731000000000000000) + + Hash(0x2079050805073100000000000000000000000000000) + + Hash(0x208905080507310000000000000000000000000000000000002089050) + + Hash( + 0x8050731000000000000000000000000000000000000209905080507310000000 + ) + + Hash(0x20990508050731000000000000000000000) + + Hash(0x2109050805073100000000000000000000000000000000000) + + Hash( + 0x210905080507310000000000000000000000000000000000003019050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000301905080507310000000000000 + ) + + Hash(0x30290508050731000000000000000000000000000) + + Hash(0x3029050805073100000000000000000000000000000000000030390) + + Hash( + 0x5080507310000000000000000000000000000000000003039050805073100000 + ) + + Hash(0x304905080507310000000000000000000) + + Hash(0x30490508050731000000000000000000000000000000000) + + Hash(0x3059050805073100000000000000000000000000000000000030590508050) + + Hash( + 0x7310000000000000000000000000000000000003069050805073100000000000 + ) + + Hash(0x306905080507310000000000000000000000000) + + Hash(0x30790508050731000000000000000000000000000000000000307) + + Hash( + 0x9050805073100000000000000000000000000000000000030890508050731000 + ) + + Hash(0x3089050805073100000000000000000) + + Hash(0x309905080507310000000000000000000000000000000) + + Hash(0x30990508050731000000000000000000000000000000000000310905080) + + Hash( + 0x50731000000000000000000000000000000000000310905080505B50565B6000 + ) + + Hash( + 0x7310000000000000000000000000000000000000019050805073100000000000 + ) + + Hash(0x1905080507310000000000000000000000000) + + Hash(0x290508050731000000000000000000000000000000000000002) + + Hash( + 0x9050805073100000000000000000000000000000000000000390508050731000 + ) + + Hash(0x39050805073100000000000000000) + + Hash(0x4905080507310000000000000000000000000000000) + + Hash(0x490508050731000000000000000000000000000000000000005905080) + + Hash( + 0x5073100000000000000000000000000000000000000590508050731000000000 + ) + + Hash(0x69050805073100000000000000000000000) + + Hash(0x6905080507310000000000000000000000000000000000000) + + Hash( + 0x790508050731000000000000000000000000000000000000007905080507310 + ) + + Hash(0x890508050731000000000000000) + + Hash(0x89050805073100000000000000000000000000000) + + Hash(0x9905080507310000000000000000000000000000000000000099050) + + Hash( + 0x8050731000000000000000000000000000000000000010905080507310000000 + ) + + Hash(0x1090508050731000000000000000000000) + + Hash(0x1019050805073100000000000000000000000000000000000) + + Hash( + 0x101905080507310000000000000000000000000000000000001029050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000102905080507310000000000000 + ) + + Hash(0x10390508050731000000000000000000000000000) + + Hash(0x1039050805073100000000000000000000000000000000000010490) + + Hash( + 0x5080507310000000000000000000000000000000000001049050805073100000 + ) + + Hash(0x105905080507310000000000000000000) + + Hash(0x10590508050731000000000000000000000000000000000) + + Hash(0x1069050805073100000000000000000000000000000000000010690508050) + + Hash( + 0x7310000000000000000000000000000000000001079050805073100000000000 + ) + + Hash(0x107905080507310000000000000000000000000) + + Hash(0x10890508050731000000000000000000000000000000000000108) + + Hash( + 0x9050805073100000000000000000000000000000000000010990508050731000 + ) + + Hash(0x1099050805073100000000000000000) + + Hash(0x110905080507310000000000000000000000000000000) + + Hash(0x11090508050731000000000000000000000000000000000000201905080) + + Hash( + 0x5073100000000000000000000000000000000000020190508050731000000000 + ) + + Hash(0x2029050805073100000000000000000000000) + + Hash(0x202905080507310000000000000000000000000000000000002) + + Hash( + 0x390508050731000000000000000000000000000000000000203905080507310 + ) + + Hash(0x20490508050731000000000000000) + + Hash(0x2049050805073100000000000000000000000000000) + + Hash(0x205905080507310000000000000000000000000000000000002049050) + + Hash( + 0x8050731000000000000000000000000000000000000206905080507310000000 + ) + + Hash(0x20690508050731000000000000000000000) + + Hash(0x2079050805073100000000000000000000000000000000000) + + Hash( + 0x207905080507310000000000000000000000000000000000002089050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000208905080507310000000000000 + ) + + Hash(0x20990508050731000000000000000000000000000) + + Hash(0x2099050805073100000000000000000000000000000000000021090) + + Hash( + 0x5080507310000000000000000000000000000000000002109050805073100000 + ) + + Hash(0x301905080507310000000000000000000) + + Hash(0x30190508050731000000000000000000000000000000000) + + Hash(0x3029050805073100000000000000000000000000000000000030290508050) + + Hash( + 0x7310000000000000000000000000000000000003039050805073100000000000 + ) + + Hash(0x303905080507310000000000000000000000000) + + Hash(0x30490508050731000000000000000000000000000000000000304) + + Hash( + 0x9050805073100000000000000000000000000000000000030590508050731000 + ) + + Hash(0x3059050805073100000000000000000) + + Hash(0x306905080507310000000000000000000000000000000) + + Hash(0x30690508050731000000000000000000000000000000000000307905080) + + Hash( + 0x5073100000000000000000000000000000000000030790508050731000000000 + ) + + Hash(0x3089050805073100000000000000000000000) + + Hash(0x308905080507310000000000000000000000000000000000003) + + Hash( + 0x990508050731000000000000000000000000000000000000309905080507310 + ) + + Hash(0x31090508050731000000000000000) + + Hash(0x3109050805073100000000000000000000000000000) + + Hash(0x1905080507310000000000000000000000000000000000000019050) + + Hash( + 0x8050731000000000000000000000000000000000000002905080507310000000 + ) + + Hash(0x290508050731000000000000000000000) + + Hash(0x39050805073100000000000000000000000000000000000) + + Hash(0x3905080507310000000000000000000000000000000000000049050805073) + + Hash( + 0x1000000000000000000000000000000000000004905080507310000000000000 + ) + + Hash(0x590508050731000000000000000000000000000) + + Hash(0x59050805073100000000000000000000000000000000000000690) + + Hash( + 0x5080507310000000000000000000000000000000000000069050805073100000 + ) + + Hash(0x7905080507310000000000000000000) + + Hash(0x790508050731000000000000000000000000000000000) + + Hash(0x89050805073100000000000000000000000000000000000000890508050) + + Hash( + 0x7310000000000000000000000000000000000000099050805073100000000000 + ) + + Hash(0x9905080507310000000000000000000000000) + + Hash(0x1090508050731000000000000000000000000000000000000010) + + Hash( + 0x9050805073100000000000000000000000000000000000010190508050731000 + ) + + Hash(0x1019050805073100000000000000000) + + Hash(0x102905080507310000000000000000000000000000000) + + Hash(0x10290508050731000000000000000000000000000000000000103905080) + + Hash( + 0x5073100000000000000000000000000000000000010390508050731000000000 + ) + + Hash(0x1049050805073100000000000000000000000) + + Hash(0x104905080507310000000000000000000000000000000000001) + + Hash( + 0x590508050731000000000000000000000000000000000000105905080507310 + ) + + Hash(0x10690508050731000000000000000) + + Hash(0x1069050805073100000000000000000000000000000) + + Hash(0x107905080507310000000000000000000000000000000000001079050) + + Hash( + 0x8050731000000000000000000000000000000000000108905080507310000000 + ) + + Hash(0x10890508050731000000000000000000000) + + Hash(0x1099050805073100000000000000000000000000000000000) + + Hash( + 0x109905080507310000000000000000000000000000000000001109050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000110905080507310000000000000 + ) + + Hash(0x20190508050731000000000000000000000000000) + + Hash(0x2019050805073100000000000000000000000000000000000020290) + + Hash( + 0x5080507310000000000000000000000000000000000002029050805073100000 + ) + + Hash(0x203905080507310000000000000000000) + + Hash(0x20390508050731000000000000000000000000000000000) + + Hash(0x2049050805073100000000000000000000000000000000000020490508050) + + Hash( + 0x7310000000000000000000000000000000000002059050805073100000000000 + ) + + Hash(0x204905080507310000000000000000000000000) + + Hash(0x20690508050731000000000000000000000000000000000000206) + + Hash( + 0x9050805073100000000000000000000000000000000000020790508050731000 + ) + + Hash(0x2079050805073100000000000000000) + + Hash(0x208905080507310000000000000000000000000000000) + + Hash(0x20890508050731000000000000000000000000000000000000209905080) + + Hash( + 0x5073100000000000000000000000000000000000020990508050731000000000 + ) + + Hash(0x2109050805073100000000000000000000000) + + Hash(0x210905080507310000000000000000000000000000000000003) + + Hash( + 0x190508050731000000000000000000000000000000000000301905080507310 + ) + + Hash(0x30290508050731000000000000000) + + Hash(0x3029050805073100000000000000000000000000000) + + Hash(0x303905080507310000000000000000000000000000000000003039050) + + Hash( + 0x8050731000000000000000000000000000000000000304905080507310000000 + ) + + Hash(0x30490508050731000000000000000000000) + + Hash(0x3059050805073100000000000000000000000000000000000) + + Hash( + 0x305905080507310000000000000000000000000000000000003069050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000306905080507310000000000000 + ) + + Hash(0x30790508050731000000000000000000000000000) + + Hash(0x3079050805073100000000000000000000000000000000000030890) + + Hash( + 0x5080507310000000000000000000000000000000000003089050805073100000 + ) + + Hash(0x309905080507310000000000000000000) + + Hash(0x30990508050731000000000000000000000000000000000) + + Hash(0x3109050805073100000000000000000000000000000000000031090508050) + + Hash( + 0x5B50565B60007310000000000000000000000000000000000000019050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000001905080507310000000000000 + ) + + Hash(0x290508050731000000000000000000000000000) + + Hash(0x29050805073100000000000000000000000000000000000000390) + + Hash( + 0x5080507310000000000000000000000000000000000000039050805073100000 + ) + + Hash(0x4905080507310000000000000000000) + + Hash(0x490508050731000000000000000000000000000000000) + + Hash(0x59050805073100000000000000000000000000000000000000590508050) + + Hash( + 0x7310000000000000000000000000000000000000069050805073100000000000 + ) + + Hash(0x6905080507310000000000000000000000000) + + Hash(0x790508050731000000000000000000000000000000000000007) + + Hash( + 0x9050805073100000000000000000000000000000000000000890508050731000 + ) + + Hash(0x89050805073100000000000000000) + + Hash(0x9905080507310000000000000000000000000000000) + + Hash(0x990508050731000000000000000000000000000000000000010905080) + + Hash( + 0x5073100000000000000000000000000000000000001090508050731000000000 + ) + + Hash(0x1019050805073100000000000000000000000) + + Hash(0x101905080507310000000000000000000000000000000000001) + + Hash( + 0x290508050731000000000000000000000000000000000000102905080507310 + ) + + Hash(0x10390508050731000000000000000) + + Hash(0x1039050805073100000000000000000000000000000) + + Hash(0x104905080507310000000000000000000000000000000000001049050) + + Hash( + 0x8050731000000000000000000000000000000000000105905080507310000000 + ) + + Hash(0x10590508050731000000000000000000000) + + Hash(0x1069050805073100000000000000000000000000000000000) + + Hash( + 0x106905080507310000000000000000000000000000000000001079050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000107905080507310000000000000 + ) + + Hash(0x10890508050731000000000000000000000000000) + + Hash(0x1089050805073100000000000000000000000000000000000010990) + + Hash( + 0x5080507310000000000000000000000000000000000001099050805073100000 + ) + + Hash(0x110905080507310000000000000000000) + + Hash(0x11090508050731000000000000000000000000000000000) + + Hash(0x2019050805073100000000000000000000000000000000000020190508050) + + Hash( + 0x7310000000000000000000000000000000000002029050805073100000000000 + ) + + Hash(0x202905080507310000000000000000000000000) + + Hash(0x20390508050731000000000000000000000000000000000000203) + + Hash( + 0x9050805073100000000000000000000000000000000000020490508050731000 + ) + + Hash(0x2049050805073100000000000000000) + + Hash(0x205905080507310000000000000000000000000000000) + + Hash(0x20490508050731000000000000000000000000000000000000206905080) + + Hash( + 0x5073100000000000000000000000000000000000020690508050731000000000 + ) + + Hash(0x2079050805073100000000000000000000000) + + Hash(0x207905080507310000000000000000000000000000000000002) + + Hash( + 0x890508050731000000000000000000000000000000000000208905080507310 + ) + + Hash(0x20990508050731000000000000000) + + Hash(0x2099050805073100000000000000000000000000000) + + Hash(0x210905080507310000000000000000000000000000000000002109050) + + Hash( + 0x8050731000000000000000000000000000000000000301905080507310000000 + ) + + Hash(0x30190508050731000000000000000000000) + + Hash(0x3029050805073100000000000000000000000000000000000) + + Hash( + 0x302905080507310000000000000000000000000000000000003039050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000303905080507310000000000000 + ) + + Hash(0x30490508050731000000000000000000000000000) + + Hash(0x3049050805073100000000000000000000000000000000000030590) + + Hash( + 0x5080507310000000000000000000000000000000000003059050805073100000 + ) + + Hash(0x306905080507310000000000000000000) + + Hash(0x30690508050731000000000000000000000000000000000) + + Hash(0x3079050805073100000000000000000000000000000000000030790508050) + + Hash( + 0x7310000000000000000000000000000000000003089050805073100000000000 + ) + + Hash(0x308905080507310000000000000000000000000) + + Hash(0x30990508050731000000000000000000000000000000000000309) + + Hash( + 0x9050805073100000000000000000000000000000000000031090508050731000 + ) + + Hash(0x3109050805073100000000000000000) + + Hash(0x1905080507310000000000000000000000000000000) + + Hash(0x190508050731000000000000000000000000000000000000002905080) + + Hash( + 0x5073100000000000000000000000000000000000000290508050731000000000 + ) + + Hash(0x39050805073100000000000000000000000) + + Hash(0x3905080507310000000000000000000000000000000000000) + + Hash( + 0x490508050731000000000000000000000000000000000000004905080507310 + ) + + Hash(0x590508050731000000000000000) + + Hash(0x59050805073100000000000000000000000000000) + + Hash(0x6905080507310000000000000000000000000000000000000069050) + + Hash( + 0x8050731000000000000000000000000000000000000007905080507310000000 + ) + + Hash(0x790508050731000000000000000000000) + + Hash(0x89050805073100000000000000000000000000000000000) + + Hash(0x8905080507310000000000000000000000000000000000000099050805073) + + Hash( + 0x1000000000000000000000000000000000000009905080507310000000000000 + ) + + Hash(0x1090508050731000000000000000000000000000) + + Hash(0x109050805073100000000000000000000000000000000000010190) + + Hash( + 0x5080507310000000000000000000000000000000000001019050805073100000 + ) + + Hash(0x102905080507310000000000000000000) + + Hash(0x10290508050731000000000000000000000000000000000) + + Hash(0x1039050805073100000000000000000000000000000000000010390508050) + + Hash( + 0x7310000000000000000000000000000000000001049050805073100000000000 + ) + + Hash(0x104905080507310000000000000000000000000) + + Hash(0x10590508050731000000000000000000000000000000000000105) + + Hash( + 0x9050805073100000000000000000000000000000000000010690508050731000 + ) + + Hash(0x1069050805073100000000000000000) + + Hash(0x107905080507310000000000000000000000000000000) + + Hash(0x10790508050731000000000000000000000000000000000000108905080) + + Hash( + 0x5073100000000000000000000000000000000000010890508050731000000000 + ) + + Hash(0x1099050805073100000000000000000000000) + + Hash(0x109905080507310000000000000000000000000000000000001) + + Hash( + 0x1090508050731000000000000000000000000000000000000110905080507310 + ) + + Hash(0x20190508050731000000000000000) + + Hash(0x2019050805073100000000000000000000000000000) + + Hash(0x202905080507310000000000000000000000000000000000002029050) + + Hash( + 0x8050731000000000000000000000000000000000000203905080507310000000 + ) + + Hash(0x20390508050731000000000000000000000) + + Hash(0x2049050805073100000000000000000000000000000000000) + + Hash( + 0x204905080507310000000000000000000000000000000000002059050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000204905080507310000000000000 + ) + + Hash(0x20690508050731000000000000000000000000000) + + Hash(0x2069050805073100000000000000000000000000000000000020790) + + Hash( + 0x5080507310000000000000000000000000000000000002079050805073100000 + ) + + Hash(0x208905080507310000000000000000000) + + Hash(0x20890508050731000000000000000000000000000000000) + + Hash(0x2099050805073100000000000000000000000000000000000020990508050) + + Hash( + 0x7310000000000000000000000000000000000002109050805073100000000000 + ) + + Hash(0x210905080507310000000000000000000000000) + + Hash(0x30190508050731000000000000000000000000000000000000301) + + Hash( + 0x9050805073100000000000000000000000000000000000030290508050731000 + ) + + Hash(0x3029050805073100000000000000000) + + Hash(0x303905080507310000000000000000000000000000000) + + Hash(0x30390508050731000000000000000000000000000000000000304905080) + + Hash( + 0x5073100000000000000000000000000000000000030490508050731000000000 + ) + + Hash(0x3059050805073100000000000000000000000) + + Hash(0x305905080507310000000000000000000000000000000000003) + + Hash( + 0x690508050731000000000000000000000000000000000000306905080507310 + ) + + Hash(0x30790508050731000000000000000) + + Hash(0x3079050805073100000000000000000000000000000) + + Hash(0x308905080507310000000000000000000000000000000000003089050) + + Hash( + 0x8050731000000000000000000000000000000000000309905080507310000000 + ) + + Hash(0x30990508050731000000000000000000000) + + Hash(0x3109050805073100000000000000000000000000000000000) + + Hash( + 0x310905080505B50565B60007310000000000000000000000000000000000000 + ) + + Hash( + 0x190508050731000000000000000000000000000000000000001905080507310 + ) + + Hash(0x290508050731000000000000000) + + Hash(0x29050805073100000000000000000000000000000) + + Hash(0x3905080507310000000000000000000000000000000000000039050) + + Hash( + 0x8050731000000000000000000000000000000000000004905080507310000000 + ) + + Hash(0x490508050731000000000000000000000) + + Hash(0x59050805073100000000000000000000000000000000000) + + Hash(0x5905080507310000000000000000000000000000000000000069050805073) + + Hash( + 0x1000000000000000000000000000000000000006905080507310000000000000 + ) + + Hash(0x790508050731000000000000000000000000000) + + Hash(0x79050805073100000000000000000000000000000000000000890) + + Hash( + 0x5080507310000000000000000000000000000000000000089050805073100000 + ) + + Hash(0x9905080507310000000000000000000) + + Hash(0x990508050731000000000000000000000000000000000) + + Hash(0x109050805073100000000000000000000000000000000000001090508050) + + Hash( + 0x7310000000000000000000000000000000000001019050805073100000000000 + ) + + Hash(0x101905080507310000000000000000000000000) + + Hash(0x10290508050731000000000000000000000000000000000000102) + + Hash( + 0x9050805073100000000000000000000000000000000000010390508050731000 + ) + + Hash(0x1039050805073100000000000000000) + + Hash(0x104905080507310000000000000000000000000000000) + + Hash(0x10490508050731000000000000000000000000000000000000105905080) + + Hash( + 0x5073100000000000000000000000000000000000010590508050731000000000 + ) + + Hash(0x1069050805073100000000000000000000000) + + Hash(0x106905080507310000000000000000000000000000000000001) + + Hash( + 0x790508050731000000000000000000000000000000000000107905080507310 + ) + + Hash(0x10890508050731000000000000000) + + Hash(0x1089050805073100000000000000000000000000000) + + Hash(0x109905080507310000000000000000000000000000000000001099050) + + Hash( + 0x8050731000000000000000000000000000000000000110905080507310000000 + ) + + Hash(0x11090508050731000000000000000000000) + + Hash(0x2019050805073100000000000000000000000000000000000) + + Hash( + 0x201905080507310000000000000000000000000000000000002029050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000202905080507310000000000000 + ) + + Hash(0x20390508050731000000000000000000000000000) + + Hash(0x2039050805073100000000000000000000000000000000000020490) + + Hash( + 0x5080507310000000000000000000000000000000000002049050805073100000 + ) + + Hash(0x205905080507310000000000000000000) + + Hash(0x20490508050731000000000000000000000000000000000) + + Hash(0x2069050805073100000000000000000000000000000000000020690508050) + + Hash( + 0x7310000000000000000000000000000000000002079050805073100000000000 + ) + + Hash(0x207905080507310000000000000000000000000) + + Hash(0x20890508050731000000000000000000000000000000000000208) + + Hash( + 0x9050805073100000000000000000000000000000000000020990508050731000 + ) + + Hash(0x2099050805073100000000000000000) + + Hash(0x210905080507310000000000000000000000000000000) + + Hash(0x21090508050731000000000000000000000000000000000000301905080) + + Hash( + 0x5073100000000000000000000000000000000000030190508050731000000000 + ) + + Hash(0x3029050805073100000000000000000000000) + + Hash(0x302905080507310000000000000000000000000000000000003) + + Hash( + 0x390508050731000000000000000000000000000000000000303905080507310 + ) + + Hash(0x30490508050731000000000000000) + + Hash(0x3049050805073100000000000000000000000000000) + + Hash(0x305905080507310000000000000000000000000000000000003059050) + + Hash( + 0x8050731000000000000000000000000000000000000306905080507310000000 + ) + + Hash(0x30690508050731000000000000000000000) + + Hash(0x3079050805073100000000000000000000000000000000000) + + Hash( + 0x307905080507310000000000000000000000000000000000003089050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000308905080507310000000000000 + ) + + Hash(0x30990508050731000000000000000000000000000) + + Hash(0x3099050805073100000000000000000000000000000000000031090) + + Hash( + 0x5080507310000000000000000000000000000000000003109050805073100000 + ) + + Hash(0x1905080507310000000000000000000) + + Hash(0x190508050731000000000000000000000000000000000) + + Hash(0x29050805073100000000000000000000000000000000000000290508050) + + Hash( + 0x7310000000000000000000000000000000000000039050805073100000000000 + ) + + Hash(0x3905080507310000000000000000000000000) + + Hash(0x490508050731000000000000000000000000000000000000004) + + Hash( + 0x9050805073100000000000000000000000000000000000000590508050731000 + ) + + Hash(0x59050805073100000000000000000) + + Hash(0x6905080507310000000000000000000000000000000) + + Hash(0x690508050731000000000000000000000000000000000000007905080) + + Hash( + 0x5073100000000000000000000000000000000000000790508050731000000000 + ) + + Hash(0x89050805073100000000000000000000000) + + Hash(0x8905080507310000000000000000000000000000000000000) + + Hash( + 0x990508050731000000000000000000000000000000000000009905080507310 + ) + + Hash(0x1090508050731000000000000000) + + Hash(0x109050805073100000000000000000000000000000) + + Hash(0x101905080507310000000000000000000000000000000000001019050) + + Hash( + 0x8050731000000000000000000000000000000000000102905080507310000000 + ) + + Hash(0x10290508050731000000000000000000000) + + Hash(0x1039050805073100000000000000000000000000000000000) + + Hash( + 0x103905080507310000000000000000000000000000000000001049050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000104905080507310000000000000 + ) + + Hash(0x10590508050731000000000000000000000000000) + + Hash(0x1059050805073100000000000000000000000000000000000010690) + + Hash( + 0x5080507310000000000000000000000000000000000001069050805073100000 + ) + + Hash(0x107905080507310000000000000000000) + + Hash(0x10790508050731000000000000000000000000000000000) + + Hash(0x1089050805073100000000000000000000000000000000000010890508050) + + Hash( + 0x7310000000000000000000000000000000000001099050805073100000000000 + ) + + Hash(0x109905080507310000000000000000000000000) + + Hash(0x11090508050731000000000000000000000000000000000000110) + + Hash( + 0x9050805073100000000000000000000000000000000000020190508050731000 + ) + + Hash(0x2019050805073100000000000000000) + + Hash(0x202905080507310000000000000000000000000000000) + + Hash(0x20290508050731000000000000000000000000000000000000203905080) + + Hash( + 0x5073100000000000000000000000000000000000020390508050731000000000 + ) + + Hash(0x2049050805073100000000000000000000000) + + Hash(0x204905080507310000000000000000000000000000000000002) + + Hash( + 0x590508050731000000000000000000000000000000000000204905080507310 + ) + + Hash(0x20690508050731000000000000000) + + Hash(0x2069050805073100000000000000000000000000000) + + Hash(0x207905080507310000000000000000000000000000000000002079050) + + Hash( + 0x8050731000000000000000000000000000000000000208905080507310000000 + ) + + Hash(0x20890508050731000000000000000000000) + + Hash(0x2099050805073100000000000000000000000000000000000) + + Hash( + 0x209905080507310000000000000000000000000000000000002109050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000210905080507310000000000000 + ) + + Hash(0x30190508050731000000000000000000000000000) + + Hash(0x3019050805073100000000000000000000000000000000000030290) + + Hash( + 0x5080507310000000000000000000000000000000000003029050805073100000 + ) + + Hash(0x303905080507310000000000000000000) + + Hash(0x30390508050731000000000000000000000000000000000) + + Hash(0x3049050805073100000000000000000000000000000000000030490508050) + + Hash( + 0x7310000000000000000000000000000000000003059050805073100000000000 + ) + + Hash(0x305905080507310000000000000000000000000) + + Hash(0x30690508050731000000000000000000000000000000000000306) + + Hash( + 0x9050805073100000000000000000000000000000000000030790508050731000 + ) + + Hash(0x3079050805073100000000000000000) + + Hash(0x308905080507310000000000000000000000000000000) + + Hash(0x30890508050731000000000000000000000000000000000000309905080) + + Hash( + 0x5073100000000000000000000000000000000000030990508050731000000000 + ) + + Hash(0x3109050805073100000000000000000000000) + + Hash(0x310905080505B50565B60007310000000000000000000000000) + + Hash(0x190508050731000000000000000000000000000000000000001) + + Hash( + 0x9050805073100000000000000000000000000000000000000290508050731000 + ) + + Hash(0x29050805073100000000000000000) + + Hash(0x3905080507310000000000000000000000000000000) + + Hash(0x390508050731000000000000000000000000000000000000004905080) + + Hash( + 0x5073100000000000000000000000000000000000000490508050731000000000 + ) + + Hash(0x59050805073100000000000000000000000) + + Hash(0x5905080507310000000000000000000000000000000000000) + + Hash( + 0x690508050731000000000000000000000000000000000000006905080507310 + ) + + Hash(0x790508050731000000000000000) + + Hash(0x79050805073100000000000000000000000000000) + + Hash(0x8905080507310000000000000000000000000000000000000089050) + + Hash( + 0x8050731000000000000000000000000000000000000009905080507310000000 + ) + + Hash(0x990508050731000000000000000000000) + + Hash(0x109050805073100000000000000000000000000000000000) + + Hash( + 0x10905080507310000000000000000000000000000000000001019050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000101905080507310000000000000 + ) + + Hash(0x10290508050731000000000000000000000000000) + + Hash(0x1029050805073100000000000000000000000000000000000010390) + + Hash( + 0x5080507310000000000000000000000000000000000001039050805073100000 + ) + + Hash(0x104905080507310000000000000000000) + + Hash(0x10490508050731000000000000000000000000000000000) + + Hash(0x1059050805073100000000000000000000000000000000000010590508050) + + Hash( + 0x7310000000000000000000000000000000000001069050805073100000000000 + ) + + Hash(0x106905080507310000000000000000000000000) + + Hash(0x10790508050731000000000000000000000000000000000000107) + + Hash( + 0x9050805073100000000000000000000000000000000000010890508050731000 + ) + + Hash(0x1089050805073100000000000000000) + + Hash(0x109905080507310000000000000000000000000000000) + + Hash(0x10990508050731000000000000000000000000000000000000110905080) + + Hash( + 0x5073100000000000000000000000000000000000011090508050731000000000 + ) + + Hash(0x2019050805073100000000000000000000000) + + Hash(0x201905080507310000000000000000000000000000000000002) + + Hash( + 0x290508050731000000000000000000000000000000000000202905080507310 + ) + + Hash(0x20390508050731000000000000000) + + Hash(0x2039050805073100000000000000000000000000000) + + Hash(0x204905080507310000000000000000000000000000000000002049050) + + Hash( + 0x8050731000000000000000000000000000000000000205905080507310000000 + ) + + Hash(0x20490508050731000000000000000000000) + + Hash(0x2069050805073100000000000000000000000000000000000) + + Hash( + 0x206905080507310000000000000000000000000000000000002079050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000207905080507310000000000000 + ) + + Hash(0x20890508050731000000000000000000000000000) + + Hash(0x2089050805073100000000000000000000000000000000000020990) + + Hash( + 0x5080507310000000000000000000000000000000000002099050805073100000 + ) + + Hash(0x210905080507310000000000000000000) + + Hash(0x21090508050731000000000000000000000000000000000) + + Hash(0x3019050805073100000000000000000000000000000000000030190508050) + + Hash( + 0x7310000000000000000000000000000000000003029050805073100000000000 + ) + + Hash(0x302905080507310000000000000000000000000) + + Hash(0x30390508050731000000000000000000000000000000000000303) + + Hash( + 0x9050805073100000000000000000000000000000000000030490508050731000 + ) + + Hash(0x3049050805073100000000000000000) + + Hash(0x305905080507310000000000000000000000000000000) + + Hash(0x30590508050731000000000000000000000000000000000000306905080) + + Hash( + 0x5073100000000000000000000000000000000000030690508050731000000000 + ) + + Hash(0x3079050805073100000000000000000000000) + + Hash(0x307905080507310000000000000000000000000000000000003) + + Hash( + 0x890508050731000000000000000000000000000000000000308905080507310 + ) + + Hash(0x30990508050731000000000000000) + + Hash(0x3099050805073100000000000000000000000000000) + + Hash(0x310905080507310000000000000000000000000000000000003109050) + + Hash( + 0x8050731000000000000000000000000000000000000001905080507310000000 + ) + + Hash(0x190508050731000000000000000000000) + + Hash(0x29050805073100000000000000000000000000000000000) + + Hash(0x2905080507310000000000000000000000000000000000000039050805073) + + Hash( + 0x1000000000000000000000000000000000000003905080507310000000000000 + ) + + Hash(0x490508050731000000000000000000000000000) + + Hash(0x49050805073100000000000000000000000000000000000000590) + + Hash( + 0x5080507310000000000000000000000000000000000000059050805073100000 + ) + + Hash(0x6905080507310000000000000000000) + + Hash(0x690508050731000000000000000000000000000000000) + + Hash(0x79050805073100000000000000000000000000000000000000790508050) + + Hash( + 0x7310000000000000000000000000000000000000089050805073100000000000 + ) + + Hash(0x8905080507310000000000000000000000000) + + Hash(0x990508050731000000000000000000000000000000000000009) + + Hash( + 0x9050805073100000000000000000000000000000000000001090508050731000 + ) + + Hash(0x109050805073100000000000000000) + + Hash(0x101905080507310000000000000000000000000000000) + + Hash(0x10190508050731000000000000000000000000000000000000102905080) + + Hash( + 0x5073100000000000000000000000000000000000010290508050731000000000 + ) + + Hash(0x1039050805073100000000000000000000000) + + Hash(0x103905080507310000000000000000000000000000000000001) + + Hash( + 0x490508050731000000000000000000000000000000000000104905080507310 + ) + + Hash(0x10590508050731000000000000000) + + Hash(0x1059050805073100000000000000000000000000000) + + Hash(0x106905080507310000000000000000000000000000000000001069050) + + Hash( + 0x8050731000000000000000000000000000000000000107905080507310000000 + ) + + Hash(0x10790508050731000000000000000000000) + + Hash(0x1089050805073100000000000000000000000000000000000) + + Hash( + 0x108905080507310000000000000000000000000000000000001099050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000109905080507310000000000000 + ) + + Hash(0x11090508050731000000000000000000000000000) + + Hash(0x1109050805073100000000000000000000000000000000000020190) + + Hash( + 0x5080507310000000000000000000000000000000000002019050805073100000 + ) + + Hash(0x202905080507310000000000000000000) + + Hash(0x20290508050731000000000000000000000000000000000) + + Hash(0x2039050805073100000000000000000000000000000000000020390508050) + + Hash( + 0x7310000000000000000000000000000000000002049050805073100000000000 + ) + + Hash(0x204905080507310000000000000000000000000) + + Hash(0x20590508050731000000000000000000000000000000000000204) + + Hash( + 0x9050805073100000000000000000000000000000000000020690508050731000 + ) + + Hash(0x2069050805073100000000000000000) + + Hash(0x207905080507310000000000000000000000000000000) + + Hash(0x20790508050731000000000000000000000000000000000000208905080) + + Hash( + 0x5073100000000000000000000000000000000000020890508050731000000000 + ) + + Hash(0x2099050805073100000000000000000000000) + + Hash(0x209905080507310000000000000000000000000000000000002) + + Hash( + 0x1090508050731000000000000000000000000000000000000210905080507310 + ) + + Hash(0x30190508050731000000000000000) + + Hash(0x3019050805073100000000000000000000000000000) + + Hash(0x302905080507310000000000000000000000000000000000003029050) + + Hash( + 0x8050731000000000000000000000000000000000000303905080507310000000 + ) + + Hash(0x30390508050731000000000000000000000) + + Hash(0x3049050805073100000000000000000000000000000000000) + + Hash( + 0x304905080507310000000000000000000000000000000000003059050805073 + ) + + Hash( + 0x1000000000000000000000000000000000000305905080507310000000000000 + ) + + Hash(0x30690508050731000000000000000000000000000) + + Hash(0x3069050805073100000000000000000000000000000000000030790) + + Hash( + 0x5080507310000000000000000000000000000000000003079050805073100000 + ) + + Hash(0x308905080507310000000000000000000) + + Hash(0x30890508050731000000000000000000000000000000000) + + Hash(0x3099050805073100000000000000000000000000000000000030990508050) + + Hash( + 0x7310000000000000000000000000000000000003109050805073100000000000 + ) + + Hash(0x310905080505B50566060604052361561007457) + + Hash( + 0x6000357C01000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x90048063A3B9F3E514610079578063B50345B61461008D578063D4F639EA14 + ) + + Hash( + 0x6100A1578063D9BB316F146100B5578063E22A5D5B146100C9578063F983C0FA + ) + + Hash( + 0x146100DD57610074565B610002565B346100025761008B60048050506100F156 + ) + + Hash( + 0x5B005B346100025761009F6004805050611097565B005B34610002576100B360 + ) + + Hash( + 0x480505061203D565B005B34610002576100C76004805050612FE3565B005B34 + ) + + Hash( + 0x610002576100DB6004805050613F89565B005B34610002576100EF6004805050 + ) + + Hash( + 0x614F2F565B005B60007310000000000000000000000000000000000000019050 + ) + + Hash( + 0x8050731000000000000000000000000000000000000001905080507310000000 + ) + + Hash(0x290508050731000000000000000000000) + + Hash(0x29050805073100000000000000000000000000000000000) + + Hash(0x3905080507310000000000000000000000000000000000000039050805073) + + Hash( + 0x1000000000000000000000000000000000000004905080507310000000000000 + ) + + Hash(0x490508050731000000000000000000000000000) + + Hash(0x59050805073100000000000000000000000000000000000000590) + + Hash( + 0x5080507310000000000000000000000000000000000000069050805073100000 + ) + + Hash(0x6905080507310000000000000000000) + + Hash(0x790508050731000000000000000000000000000000000), + Bytes( + "601080600b6000396000f360606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b505660606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b50565b6000731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000008905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000000990508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000000109050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000101905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010290508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001039050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000104905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010590508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001069050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000107905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010890508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001099050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000110905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020190508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002029050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000203905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020490508050731000000000000000000000000000000000000205905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000206905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020790508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002089050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000209905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000021090508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003019050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000302905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030390508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003049050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000305905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030690508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003079050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000308905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000030990508050731000000000000000000000000000000000000310905080507310000000000000000000000000000000000003109050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000001905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000290508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000039050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000004905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000590508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000069050805073100000000000000000000000000000000000000790508050731000000000000000000000000000000000000007905080507310000000000000000000000000000000000000089050805073100000000000000000000000000000000000000890508050731000000000000000000000000000000000000009905080507310000000000000000000000000000000000000099050805073100000000000000000000000000000000000001090508050731000000000000000000000000000000000000010905080507310000000000000000000000000000000000001019050805073100000000000000000000000000000000000010190508050731000000000000000000000000000000000000102905080507310000000000000000000000000000000000001029050805073100000000000000000000000000000000000010390508050731000000000000000000000000000000000000103905080507310000000000000000000000000000000000001049050805073100000000000000000000000000000000000010490508050731000000000000000000000000000000000000105905080507310000000000000000000000000000000000001059050805073100000000000000000000000000000000000010690508050731000000000000000000000000000000000000106905080507310000000000000000000000000000000000001079050805073100000000000000000000000000000000000010790508050731000000000000000000000000000000000000108905080507310000000000000000000000000000000000001089050805073100000000000000000000000000000000000010990508050731000000000000000000000000000000000000109905080507310000000000000000000000000000000000001109050805073100000000000000000000000000000000000011090508050731000000000000000000000000000000000000201905080507310000000000000000000000000000000000002019050805073100000000000000000000000000000000000020290508050731000000000000000000000000000000000000202905080507310000000000000000000000000000000000002039050805073100000000000000000000000000000000000020390508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002049050805073100000000000000000000000000000000000020590508050731000000000000000000000000000000000000204905080507310000000000000000000000000000000000002069050805073100000000000000000000000000000000000020690508050731000000000000000000000000000000000000207905080507310000000000000000000000000000000000002079050805073100000000000000000000000000000000000020890508050731000000000000000000000000000000000000208905080507310000000000000000000000000000000000002099050805073100000000000000000000000000000000000020990508050731000000000000000000000000000000000000210905080507310000000000000000000000000000000000002109050805073100000000000000000000000000000000000030190508050731000000000000000000000000000000000000301905080507310000000000000000000000000000000000003029050805073100000000000000000000000000000000000030290508050731000000000000000000000000000000000000303905080507310000000000000000000000000000000000003039050805073100000000000000000000000000000000000030490508050731000000000000000000000000000000000000304905080507310000000000000000000000000000000000003059050805073100000000000000000000000000000000000030590508050731000000000000000000000000000000000000306905080507310000000000000000000000000000000000003069050805073100000000000000000000000000000000000030790508050731000000000000000000000000000000000000307905080507310000000000000000000000000000000000003089050805073100000000000000000000000000000000000030890508050731000000000000000000000000000000000000309905080507310000000000000000000000000000000000003099050805073100000000000000000000000000000000000031090508050731000000000000000000000000000000000000310905080505b505660606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063a3b9f3e514610079578063b50345b61461008d578063d4f639ea146100a1578063d9bb316f146100b5578063e22a5d5b146100c9578063f983c0fa146100dd57610074565b610002565b346100025761008b60048050506100f1565b005b346100025761009f6004805050611097565b005b34610002576100b3600480505061203d565b005b34610002576100c76004805050612fe3565b005b34610002576100db6004805050613f89565b005b34610002576100ef6004805050614f2f565b005b60007310000000000000000000000000000000000000019050805073100000000000000000000000000000000000000190508050731000000000000000000000000000000000000002905080507310000000000000000000000000000000000000029050805073100000000000000000000000000000000000000390508050731000000000000000000000000000000000000003905080507310000000000000000000000000000000000000049050805073100000000000000000000000000000000000000490508050731000000000000000000000000000000000000005905080507310000000000000000000000000000000000000059050805073100000000000000000000000000000000000000690508050731000000000000000000000000000000000000006905080507310000000000000000000000000000000000000079050805073100000000000000000000000000000000000" # noqa: E501 + ), + ] + tx_gas = [15000000] + + tx = Transaction( + sender=sender, + to=None, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP4844_blobtransactions/__init__.py b/tests/ported_static/stEIP4844_blobtransactions/__init__.py new file mode 100644 index 00000000000..d0128b23c12 --- /dev/null +++ b/tests/ported_static/stEIP4844_blobtransactions/__init__.py @@ -0,0 +1 @@ +"""Ported static tests: stEIP4844_blobtransactions.""" # noqa: N999 diff --git a/tests/ported_static/Cancun/stEIP4844_blobtransactions/test_create_blobhash_tx.py b/tests/ported_static/stEIP4844_blobtransactions/test_create_blobhash_tx.py similarity index 74% rename from tests/ported_static/Cancun/stEIP4844_blobtransactions/test_create_blobhash_tx.py rename to tests/ported_static/stEIP4844_blobtransactions/test_create_blobhash_tx.py index 9f2720d00ad..e236d084a7b 100644 --- a/tests/ported_static/Cancun/stEIP4844_blobtransactions/test_create_blobhash_tx.py +++ b/tests/ported_static/stEIP4844_blobtransactions/test_create_blobhash_tx.py @@ -2,8 +2,7 @@ BLOB002. Ported from: -tests/static/state_tests/Cancun/stEIP4844_blobtransactions -createBlobhashTxFiller.yml +state_tests/Cancun/stEIP4844_blobtransactions/createBlobhashTxFiller.yml """ import pytest @@ -27,18 +26,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/Cancun/stEIP4844_blobtransactions/createBlobhashTxFiller.yml", # noqa: E501 + "state_tests/Cancun/stEIP4844_blobtransactions/createBlobhashTxFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.exception_test +@pytest.mark.pre_alloc_mutable def test_create_blobhash_tx( state_test: StateTestFiller, pre: Alloc, ) -> None: """BLOB002.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -49,22 +48,29 @@ def test_create_blobhash_tx( timestamp=1000, prev_randao=0x20000, base_fee_per_gas=7, + excess_blob_gas=0, gas_limit=68719476736, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( + # Source: lll + # { + # ; Can also add lll style comments here + # [[0]] (BLOBHASH 0) + # } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.BLOBHASH(index=0x0)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc4dcf66bd4cdefe4ce7fba4951be4e9f580122c5"), # noqa: E501 + address=Address(0xC4DCF66BD4CDEFE4CE7FBA4951BE4E9F580122C5), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("00"), + data=Op.STOP, gas_limit=4000000, + value=0x186A0, max_fee_per_gas=5000000000, max_priority_fee_per_gas=2, max_fee_per_blob_gas=10, @@ -73,10 +79,9 @@ def test_create_blobhash_tx( "0x01a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" # noqa: E501 ), ], - value=100000, access_list=[ AccessList( - address=Address("0xc4dcf66bd4cdefe4ce7fba4951be4e9f580122c5"), + address=Address(0xC4DCF66BD4CDEFE4CE7FBA4951BE4E9F580122C5), storage_keys=[ Hash( "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 @@ -90,6 +95,6 @@ def test_create_blobhash_tx( error=TransactionException.TYPE_3_TX_CONTRACT_CREATION, ) - post: dict = {} + post = {addr: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Cancun/stEIP4844_blobtransactions/test_empty_blobhash_list.py b/tests/ported_static/stEIP4844_blobtransactions/test_empty_blobhash_list.py similarity index 75% rename from tests/ported_static/Cancun/stEIP4844_blobtransactions/test_empty_blobhash_list.py rename to tests/ported_static/stEIP4844_blobtransactions/test_empty_blobhash_list.py index a5116edc9d4..bb690f34429 100644 --- a/tests/ported_static/Cancun/stEIP4844_blobtransactions/test_empty_blobhash_list.py +++ b/tests/ported_static/stEIP4844_blobtransactions/test_empty_blobhash_list.py @@ -2,8 +2,7 @@ BLOB000. Ported from: -tests/static/state_tests/Cancun/stEIP4844_blobtransactions -emptyBlobhashListFiller.yml +state_tests/Cancun/stEIP4844_blobtransactions/emptyBlobhashListFiller.yml """ import pytest @@ -13,6 +12,7 @@ Account, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, @@ -27,18 +27,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/Cancun/stEIP4844_blobtransactions/emptyBlobhashListFiller.yml", # noqa: E501 + "state_tests/Cancun/stEIP4844_blobtransactions/emptyBlobhashListFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.exception_test +@pytest.mark.pre_alloc_mutable def test_empty_blobhash_list( state_test: StateTestFiller, pre: Alloc, ) -> None: """BLOB000.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -49,35 +49,36 @@ def test_empty_blobhash_list( timestamp=1000, prev_randao=0x20000, base_fee_per_gas=7, + excess_blob_gas=0, gas_limit=68719476736, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # ; Can also add lll style comments here # [[0]] (BLOBHASH 0) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.BLOBHASH(index=0x0)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc4dcf66bd4cdefe4ce7fba4951be4e9f580122c5"), # noqa: E501 + address=Address(0xC4DCF66BD4CDEFE4CE7FBA4951BE4E9F580122C5), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=4000000, + value=0x186A0, max_fee_per_gas=5000000000, max_priority_fee_per_gas=2, max_fee_per_blob_gas=10, blob_versioned_hashes=[], - value=100000, access_list=[ AccessList( - address=Address("0xc4dcf66bd4cdefe4ce7fba4951be4e9f580122c5"), + address=Address(0xC4DCF66BD4CDEFE4CE7FBA4951BE4E9F580122C5), storage_keys=[ Hash( "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 @@ -91,6 +92,6 @@ def test_empty_blobhash_list( error=TransactionException.TYPE_3_TX_ZERO_BLOBS, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/Cancun/stEIP4844_blobtransactions/test_opcode_blobh_bounds.py b/tests/ported_static/stEIP4844_blobtransactions/test_opcode_blobh_bounds.py similarity index 63% rename from tests/ported_static/Cancun/stEIP4844_blobtransactions/test_opcode_blobh_bounds.py rename to tests/ported_static/stEIP4844_blobtransactions/test_opcode_blobh_bounds.py index 46d0a237089..133cbc915d7 100644 --- a/tests/ported_static/Cancun/stEIP4844_blobtransactions/test_opcode_blobh_bounds.py +++ b/tests/ported_static/stEIP4844_blobtransactions/test_opcode_blobh_bounds.py @@ -2,8 +2,7 @@ BLOB005. Ported from: -tests/static/state_tests/Cancun/stEIP4844_blobtransactions -opcodeBlobhBoundsFiller.yml +state_tests/Cancun/stEIP4844_blobtransactions/opcodeBlobhBoundsFiller.yml """ import pytest @@ -13,6 +12,7 @@ Account, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, @@ -26,7 +26,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/Cancun/stEIP4844_blobtransactions/opcodeBlobhBoundsFiller.yml", # noqa: E501 + "state_tests/Cancun/stEIP4844_blobtransactions/opcodeBlobhBoundsFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -36,7 +36,7 @@ def test_opcode_blobh_bounds( pre: Alloc, ) -> None: """BLOB005.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,11 +47,11 @@ def test_opcode_blobh_bounds( timestamp=1000, prev_randao=0x20000, base_fee_per_gas=1, + excess_blob_gas=0, gas_limit=68719476736, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # ; Can also add lll style comments here # [[0]] (BLOBHASH 0) @@ -61,42 +61,35 @@ def test_opcode_blobh_bounds( # [[4]] (BLOBHASH 0xffffffffffffffffffffffffffffffff) ; 128 # [[5]] (BLOBHASH 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) ; 256 # noqa: E501 # } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.BLOBHASH(index=0x0)) - + Op.SSTORE(key=0x1, value=Op.BLOBHASH(index=0xA)) - + Op.SSTORE(key=0x2, value=Op.BLOBHASH(index=0xFFFFFFFF)) - + Op.SSTORE(key=0x3, value=Op.BLOBHASH(index=0xFFFFFFFFFFFFFFFF)) - + Op.SSTORE( - key=0x4, - value=Op.BLOBHASH(index=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), - ) - + Op.SSTORE( - key=0x5, - value=Op.BLOBHASH( - index=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x2: 0x1, - 0x3: 0x1, - 0x4: 0x1, - 0x5: 0x1, - }, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.BLOBHASH(index=0x0)) + + Op.SSTORE(key=0x1, value=Op.BLOBHASH(index=0xA)) + + Op.SSTORE(key=0x2, value=Op.BLOBHASH(index=0xFFFFFFFF)) + + Op.SSTORE(key=0x3, value=Op.BLOBHASH(index=0xFFFFFFFFFFFFFFFF)) + + Op.SSTORE( + key=0x4, + value=Op.BLOBHASH(index=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), + ) + + Op.SSTORE( + key=0x5, + value=Op.BLOBHASH( + index=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 + ), + ) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc8126e943c569c35df09619f8e1e67460acff695"), # noqa: E501 + address=Address(0xC8126E943C569C35DF09619F8E1E67460ACFF695), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=4000000, + value=0x186A0, max_fee_per_gas=5000000000, max_priority_fee_per_gas=2, max_fee_per_blob_gas=10, @@ -108,10 +101,9 @@ def test_opcode_blobh_bounds( "0x01a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" # noqa: E501 ), ], - value=100000, access_list=[ AccessList( - address=Address("0xc8126e943c569c35df09619f8e1e67460acff695"), + address=Address(0xC8126E943C569C35DF09619F8E1E67460ACFF695), storage_keys=[ Hash( "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 @@ -125,7 +117,7 @@ def test_opcode_blobh_bounds( ) post = { - contract: Account( + target: Account( storage={ 0: 0x1A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8, # noqa: E501 }, diff --git a/tests/ported_static/Cancun/stEIP4844_blobtransactions/test_opcode_blobhash_out_of_range.py b/tests/ported_static/stEIP4844_blobtransactions/test_opcode_blobhash_out_of_range.py similarity index 73% rename from tests/ported_static/Cancun/stEIP4844_blobtransactions/test_opcode_blobhash_out_of_range.py rename to tests/ported_static/stEIP4844_blobtransactions/test_opcode_blobhash_out_of_range.py index acb3e2d0966..826156302d4 100644 --- a/tests/ported_static/Cancun/stEIP4844_blobtransactions/test_opcode_blobhash_out_of_range.py +++ b/tests/ported_static/stEIP4844_blobtransactions/test_opcode_blobhash_out_of_range.py @@ -2,8 +2,7 @@ BLOB003, BLOB004. Ported from: -tests/static/state_tests/Cancun/stEIP4844_blobtransactions -opcodeBlobhashOutOfRangeFiller.yml +state_tests/Cancun/stEIP4844_blobtransactions/opcodeBlobhashOutOfRangeFiller.yml """ import pytest @@ -13,6 +12,7 @@ Account, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, @@ -26,7 +26,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/Cancun/stEIP4844_blobtransactions/opcodeBlobhashOutOfRangeFiller.yml", # noqa: E501 + "state_tests/Cancun/stEIP4844_blobtransactions/opcodeBlobhashOutOfRangeFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -36,7 +36,7 @@ def test_opcode_blobhash_out_of_range( pre: Alloc, ) -> None: """BLOB003, BLOB004.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,33 +47,33 @@ def test_opcode_blobhash_out_of_range( timestamp=1000, prev_randao=0x20000, base_fee_per_gas=7, + excess_blob_gas=0, gas_limit=68719476736, ) - # Source: LLL + # Source: lll # { # ; Can also add lll style comments here # [[0]] (BLOBHASH 0) # [[1]] (BLOBHASH 10) # } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.BLOBHASH(index=0x0)) - + Op.SSTORE(key=0x1, value=Op.BLOBHASH(index=0xA)) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.BLOBHASH(index=0x0)) + + Op.SSTORE(key=0x1, value=Op.BLOBHASH(index=0xA)) + + Op.STOP, + storage={0: 1, 1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0c4d6f62d3c85069cea2411284bd520ac87fb7eb"), # noqa: E501 + address=Address(0x0C4D6F62D3C85069CEA2411284BD520AC87FB7EB), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=4000000, + value=0x186A0, max_fee_per_gas=5000000000, max_priority_fee_per_gas=2, max_fee_per_blob_gas=10, @@ -85,10 +85,9 @@ def test_opcode_blobhash_out_of_range( "0x01a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" # noqa: E501 ), ], - value=100000, access_list=[ AccessList( - address=Address("0x0c4d6f62d3c85069cea2411284bd520ac87fb7eb"), + address=Address(0x0C4D6F62D3C85069CEA2411284BD520AC87FB7EB), storage_keys=[ Hash( "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 @@ -102,7 +101,7 @@ def test_opcode_blobhash_out_of_range( ) post = { - contract: Account( + target: Account( storage={ 0: 0x1A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8, # noqa: E501 }, diff --git a/tests/ported_static/Cancun/stEIP4844_blobtransactions/test_wrong_blobhash_version.py b/tests/ported_static/stEIP4844_blobtransactions/test_wrong_blobhash_version.py similarity index 77% rename from tests/ported_static/Cancun/stEIP4844_blobtransactions/test_wrong_blobhash_version.py rename to tests/ported_static/stEIP4844_blobtransactions/test_wrong_blobhash_version.py index 41129e070be..eedcbcc90d4 100644 --- a/tests/ported_static/Cancun/stEIP4844_blobtransactions/test_wrong_blobhash_version.py +++ b/tests/ported_static/stEIP4844_blobtransactions/test_wrong_blobhash_version.py @@ -2,8 +2,7 @@ BLOB001. Ported from: -tests/static/state_tests/Cancun/stEIP4844_blobtransactions -wrongBlobhashVersionFiller.yml +state_tests/Cancun/stEIP4844_blobtransactions/wrongBlobhashVersionFiller.yml """ import pytest @@ -13,6 +12,7 @@ Account, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, @@ -27,18 +27,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/Cancun/stEIP4844_blobtransactions/wrongBlobhashVersionFiller.yml", # noqa: E501 + "state_tests/Cancun/stEIP4844_blobtransactions/wrongBlobhashVersionFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.exception_test +@pytest.mark.pre_alloc_mutable def test_wrong_blobhash_version( state_test: StateTestFiller, pre: Alloc, ) -> None: """BLOB001.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -49,27 +49,29 @@ def test_wrong_blobhash_version( timestamp=1000, prev_randao=0x20000, base_fee_per_gas=7, + excess_blob_gas=0, gas_limit=68719476736, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # ; Can also add lll style comments here # [[0]] (BLOBHASH 0) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.BLOBHASH(index=0x0)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc4dcf66bd4cdefe4ce7fba4951be4e9f580122c5"), # noqa: E501 + address=Address(0xC4DCF66BD4CDEFE4CE7FBA4951BE4E9F580122C5), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=4000000, + value=0x186A0, max_fee_per_gas=5000000000, max_priority_fee_per_gas=2, max_fee_per_blob_gas=10, @@ -81,10 +83,9 @@ def test_wrong_blobhash_version( "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" # noqa: E501 ), ], - value=100000, access_list=[ AccessList( - address=Address("0xc4dcf66bd4cdefe4ce7fba4951be4e9f580122c5"), + address=Address(0xC4DCF66BD4CDEFE4CE7FBA4951BE4E9F580122C5), storage_keys=[ Hash( "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 @@ -98,6 +99,6 @@ def test_wrong_blobhash_version( error=TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP5656_MCOPY/__init__.py b/tests/ported_static/stEIP5656_MCOPY/__init__.py new file mode 100644 index 00000000000..203b87176d2 --- /dev/null +++ b/tests/ported_static/stEIP5656_MCOPY/__init__.py @@ -0,0 +1 @@ +"""Ported static tests: stEIP5656_MCOPY.""" # noqa: N999 diff --git a/tests/ported_static/stEIP5656_MCOPY/test_mcopy.py b/tests/ported_static/stEIP5656_MCOPY/test_mcopy.py new file mode 100644 index 00000000000..7104590b343 --- /dev/null +++ b/tests/ported_static/stEIP5656_MCOPY/test_mcopy.py @@ -0,0 +1,434 @@ +""" +MCOPY memory copy test cases. + +Ported from: +state_tests/Cancun/stEIP5656_MCOPY/MCOPYFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/Cancun/stEIP5656_MCOPY/MCOPYFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="forward_size0_0", + ), + pytest.param( + 1, + 0, + 0, + id="forward_size0_1", + ), + pytest.param( + 2, + 0, + 0, + id="backward_size0_0", + ), + pytest.param( + 3, + 0, + 0, + id="backward_size0_1", + ), + pytest.param( + 4, + 0, + 0, + id="inplace_size0_0", + ), + pytest.param( + 5, + 0, + 0, + id="inplace_size0_1", + ), + pytest.param( + 6, + 0, + 0, + id="forward_overlapped_0", + ), + pytest.param( + 7, + 0, + 0, + id="forward_overlapped_1", + ), + pytest.param( + 8, + 0, + 0, + id="forward_disjoint_0", + ), + pytest.param( + 9, + 0, + 0, + id="forward_disjoint_1", + ), + pytest.param( + 10, + 0, + 0, + id="forward_adjacent_0", + ), + pytest.param( + 11, + 0, + 0, + id="forward_adjacent_1", + ), + pytest.param( + 12, + 0, + 0, + id="backward_overlapped_0", + ), + pytest.param( + 13, + 0, + 0, + id="backward_overlapped_1", + ), + pytest.param( + 14, + 0, + 0, + id="backward_disjoint_0", + ), + pytest.param( + 15, + 0, + 0, + id="backward_disjoint_1", + ), + pytest.param( + 16, + 0, + 0, + id="backward_adjacent_0", + ), + pytest.param( + 17, + 0, + 0, + id="backward_adjacent_1", + ), + pytest.param( + 18, + 0, + 0, + id="inplace_0", + ), + pytest.param( + 19, + 0, + 0, + id="inplace_1", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_mcopy( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """MCOPY memory copy test cases.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1687174231, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=1000000, + ) + + # Source: yul + # cancun { + # // Fill memory at [0-96] (3x32) with the pattern of unique bytes. + # mstore( 0, 0xa0a1a2a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbF) # noqa: E501 + # mstore(32, 0xc0c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF) # noqa: E501 + # mstore(64, 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF) # noqa: E501 + # + # // MCOPY using parameters from CALLDATA. + # mcopy(calldataload(0), calldataload(32), calldataload(64)) + # + # // Dump memory at [0-96] to 3 storage slots. + # sstore(0, mload( 0)) + # sstore(1, mload(32)) + # sstore(2, mload(64)) + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=Op.PUSH0, + value=0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + ) + + Op.MCOPY( + dest_offset=Op.CALLDATALOAD(offset=Op.PUSH0), + offset=Op.CALLDATALOAD(offset=0x20), + size=Op.CALLDATALOAD(offset=0x40), + ) + + Op.SSTORE(key=Op.PUSH0, value=Op.MLOAD(offset=Op.PUSH0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x40)) + + Op.STOP, + nonce=1, + address=Address(0xBFD584EC9DC8FBADCEA812C707E1765B4DF8FA6C), # noqa: E501 + ) + pre[sender] = Account(balance=0x3B9ACA00) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [0, 1, 2, 3, 4, 5, 18, 19], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 + 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xA0A0A1A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 + 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xA0A1A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE, # noqa: E501 + 1: 0xBFC1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 + 1: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 + 1: 0xA1A2C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xA0A1A0A1A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 + 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [11], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 + 1: 0xBFC1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [12], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE, # noqa: E501 + 1: 0xDFC1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [13], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xA0A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0, # noqa: E501 + 1: 0xC1C2C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [14], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xC1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0, # noqa: E501 + 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [15], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xA0A1C1A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 + 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [16], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 1: 0xC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [17], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF, # noqa: E501 + 1: 0xC1C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF, # noqa: E501 + 2: 0xE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x2) + Hash(0x0) + Hash(0x0), + Hash(0x20) + Hash(0x1) + Hash(0x0), + Hash(0x0) + Hash(0x1) + Hash(0x0), + Hash(0x20) + Hash(0x21) + Hash(0x0), + Hash(0x0) + Hash(0x0) + Hash(0x0), + Hash(0x1F) + Hash(0x1F) + Hash(0x0), + Hash(0x1) + Hash(0x0) + Hash(0x2), + Hash(0x2) + Hash(0x1) + Hash(0x1F), + Hash(0x20) + Hash(0x0) + Hash(0x1F), + Hash(0x20) + Hash(0x1) + Hash(0x2), + Hash(0x2) + Hash(0x0) + Hash(0x2), + Hash(0x20) + Hash(0x1F) + Hash(0x1), + Hash(0x0) + Hash(0x1F) + Hash(0x21), + Hash(0x1) + Hash(0x2) + Hash(0x21), + Hash(0x0) + Hash(0x21) + Hash(0x20), + Hash(0x2) + Hash(0x21) + Hash(0x1), + Hash(0x0) + Hash(0x20) + Hash(0x20), + Hash(0x20) + Hash(0x21) + Hash(0x1), + Hash(0x0) + Hash(0x0) + Hash(0x1), + Hash(0x2) + Hash(0x2) + Hash(0x33), + ] + tx_gas = [1000000] + + tx = Transaction( + sender=sender, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP5656_MCOPY/test_mcopy_copy_cost.py b/tests/ported_static/stEIP5656_MCOPY/test_mcopy_copy_cost.py new file mode 100644 index 00000000000..cb768f45489 --- /dev/null +++ b/tests/ported_static/stEIP5656_MCOPY/test_mcopy_copy_cost.py @@ -0,0 +1,613 @@ +""" +Test cases for the cost of memory copy in the MCOPY instruction. + +Ported from: +state_tests/Cancun/stEIP5656_MCOPY/MCOPY_copy_costFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/Cancun/stEIP5656_MCOPY/MCOPY_copy_costFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="src0_size0-g0", + ), + pytest.param( + 0, + 1, + 0, + id="src0_size0-g1", + ), + pytest.param( + 1, + 0, + 0, + id="src0_size1-g0", + ), + pytest.param( + 1, + 1, + 0, + id="src0_size1-g1", + ), + pytest.param( + 2, + 0, + 0, + id="src0_size31-g0", + ), + pytest.param( + 2, + 1, + 0, + id="src0_size31-g1", + ), + pytest.param( + 3, + 0, + 0, + id="src0_size32-g0", + ), + pytest.param( + 3, + 1, + 0, + id="src0_size32-g1", + ), + pytest.param( + 4, + 0, + 0, + id="src0_size33-g0", + ), + pytest.param( + 4, + 1, + 0, + id="src0_size33-g1", + ), + pytest.param( + 5, + 0, + 0, + id="src0_size44767-g0", + ), + pytest.param( + 5, + 1, + 0, + id="src0_size44767-g1", + ), + pytest.param( + 6, + 0, + 0, + id="src0_size44768-g0", + ), + pytest.param( + 6, + 1, + 0, + id="src0_size44768-g1", + ), + pytest.param( + 7, + 0, + 0, + id="src0_size44769-g0", + ), + pytest.param( + 7, + 1, + 0, + id="src0_size44769-g1", + ), + pytest.param( + 8, + 0, + 0, + id="src1_size0-g0", + ), + pytest.param( + 8, + 1, + 0, + id="src1_size0-g1", + ), + pytest.param( + 9, + 0, + 0, + id="src1_size1-g0", + ), + pytest.param( + 9, + 1, + 0, + id="src1_size1-g1", + ), + pytest.param( + 10, + 0, + 0, + id="src1_size31-g0", + ), + pytest.param( + 10, + 1, + 0, + id="src1_size31-g1", + ), + pytest.param( + 11, + 0, + 0, + id="src1_size32-g0", + ), + pytest.param( + 11, + 1, + 0, + id="src1_size32-g1", + ), + pytest.param( + 12, + 0, + 0, + id="src1_size33-g0", + ), + pytest.param( + 12, + 1, + 0, + id="src1_size33-g1", + ), + pytest.param( + 13, + 0, + 0, + id="src1_size44767-g0", + ), + pytest.param( + 13, + 1, + 0, + id="src1_size44767-g1", + ), + pytest.param( + 14, + 0, + 0, + id="src1_size44768-g0", + ), + pytest.param( + 14, + 1, + 0, + id="src1_size44768-g1", + ), + pytest.param( + 15, + 0, + 0, + id="src1_size44769-g0", + ), + pytest.param( + 15, + 1, + 0, + id="src1_size44769-g1", + ), + pytest.param( + 16, + 0, + 0, + id="src31_size0-g0", + ), + pytest.param( + 16, + 1, + 0, + id="src31_size0-g1", + ), + pytest.param( + 17, + 0, + 0, + id="src31_size1-g0", + ), + pytest.param( + 17, + 1, + 0, + id="src31_size1-g1", + ), + pytest.param( + 18, + 0, + 0, + id="src31_size31-g0", + ), + pytest.param( + 18, + 1, + 0, + id="src31_size31-g1", + ), + pytest.param( + 19, + 0, + 0, + id="src31_size32-g0", + ), + pytest.param( + 19, + 1, + 0, + id="src31_size32-g1", + ), + pytest.param( + 20, + 0, + 0, + id="src31_size33-g0", + ), + pytest.param( + 20, + 1, + 0, + id="src31_size33-g1", + ), + pytest.param( + 21, + 0, + 0, + id="src31_size44767-g0", + ), + pytest.param( + 21, + 1, + 0, + id="src31_size44767-g1", + ), + pytest.param( + 22, + 0, + 0, + id="src31_size44768-g0", + ), + pytest.param( + 22, + 1, + 0, + id="src31_size44768-g1", + ), + pytest.param( + 23, + 0, + 0, + id="src31_size44769-g0", + ), + pytest.param( + 23, + 1, + 0, + id="src31_size44769-g1", + ), + pytest.param( + 24, + 0, + 0, + id="src32_size0-g0", + ), + pytest.param( + 24, + 1, + 0, + id="src32_size0-g1", + ), + pytest.param( + 25, + 0, + 0, + id="src32_size1-g0", + ), + pytest.param( + 25, + 1, + 0, + id="src32_size1-g1", + ), + pytest.param( + 26, + 0, + 0, + id="src32_size31-g0", + ), + pytest.param( + 26, + 1, + 0, + id="src32_size31-g1", + ), + pytest.param( + 27, + 0, + 0, + id="src32_size32-g0", + ), + pytest.param( + 27, + 1, + 0, + id="src32_size32-g1", + ), + pytest.param( + 28, + 0, + 0, + id="src32_size33-g0", + ), + pytest.param( + 28, + 1, + 0, + id="src32_size33-g1", + ), + pytest.param( + 29, + 0, + 0, + id="src32_size44767-g0", + ), + pytest.param( + 29, + 1, + 0, + id="src32_size44767-g1", + ), + pytest.param( + 30, + 0, + 0, + id="src32_size44768-g0", + ), + pytest.param( + 30, + 1, + 0, + id="src32_size44768-g1", + ), + pytest.param( + 31, + 0, + 0, + id="src32_size44769-g0", + ), + pytest.param( + 31, + 1, + 0, + id="src32_size44769-g1", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_mcopy_copy_cost( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test cases for the cost of memory copy in the MCOPY instruction.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1687174231, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=1000000, + ) + + # Source: yul + # shanghai optimise { + # function mcopy(dst, src, size) { verbatim_3i_0o(hex"5e", dst, src, size) } # noqa: E501 + # + # // Put a flag in storage indicating successful execution (will be reverted in case of OOG). # noqa: E501 + # sstore(0, 1) + # + # // Expand memory to cover memory expansion cost before MCOPY. + # // The test uses up to 1400 memory words. + # mstore(44800, 1) + # + # // MCOPY using src and size from CALLDATA to 0 destination. + # mcopy(0, calldataload(0), calldataload(32)) + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0xC) + + Op.JUMPDEST + + Op.MCOPY(dest_offset=Op.DUP3, offset=Op.DUP3, size=Op.DUP3) + + Op.POP * 3 + + Op.JUMP + + Op.JUMPDEST + + Op.SSTORE(key=Op.PUSH0, value=0x1) + + Op.MSTORE(offset=0xAF00, value=0x1) + + Op.PUSH1[0x22] + + Op.CALLDATALOAD(offset=0x20) + + Op.CALLDATALOAD(offset=Op.PUSH0) + + Op.PUSH0 + + Op.JUMP(pc=0x3) + + Op.JUMPDEST, + nonce=1, + address=Address(0x9F1A7B52BB2D016223285964CB0876DFF8C9C9F8), # noqa: E501 + ) + pre[sender] = Account(balance=0x3B9ACA00) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + ], + "gas": 0, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + { + "indexes": { + "data": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 16, + 17, + 18, + 19, + 20, + 24, + 25, + 26, + 27, + 28, + ], + "gas": 1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + { + "indexes": { + "data": [13, 14, 15, 21, 22, 23, 29, 30, 31], + "gas": 1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x0) + Hash(0x0), + Hash(0x0) + Hash(0x1), + Hash(0x0) + Hash(0x1F), + Hash(0x0) + Hash(0x20), + Hash(0x0) + Hash(0x21), + Hash(0x0) + Hash(0xAEDF), + Hash(0x0) + Hash(0xAEE0), + Hash(0x0) + Hash(0xAEE1), + Hash(0x1) + Hash(0x0), + Hash(0x1) + Hash(0x1), + Hash(0x1) + Hash(0x1F), + Hash(0x1) + Hash(0x20), + Hash(0x1) + Hash(0x21), + Hash(0x1) + Hash(0xAEDF), + Hash(0x1) + Hash(0xAEE0), + Hash(0x1) + Hash(0xAEE1), + Hash(0x1F) + Hash(0x0), + Hash(0x1F) + Hash(0x1), + Hash(0x1F) + Hash(0x1F), + Hash(0x1F) + Hash(0x20), + Hash(0x1F) + Hash(0x21), + Hash(0x1F) + Hash(0xAEDF), + Hash(0x1F) + Hash(0xAEE0), + Hash(0x1F) + Hash(0xAEE1), + Hash(0x20) + Hash(0x0), + Hash(0x20) + Hash(0x1), + Hash(0x20) + Hash(0x1F), + Hash(0x20) + Hash(0x20), + Hash(0x20) + Hash(0x21), + Hash(0x20) + Hash(0xAEDF), + Hash(0x20) + Hash(0xAEE0), + Hash(0x20) + Hash(0xAEE1), + ] + tx_gas = [100000, 55697] + + tx = Transaction( + sender=sender, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stEIP5656_MCOPY/test_mcopy_memory_expansion_cost.py b/tests/ported_static/stEIP5656_MCOPY/test_mcopy_memory_expansion_cost.py new file mode 100644 index 00000000000..0cd3770cd3a --- /dev/null +++ b/tests/ported_static/stEIP5656_MCOPY/test_mcopy_memory_expansion_cost.py @@ -0,0 +1,315 @@ +""" +Test cases for the memory expansion cost in the MCOPY instruction. + +Ported from: +state_tests/Cancun/stEIP5656_MCOPY/MCOPY_memory_expansion_costFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + [ + "state_tests/Cancun/stEIP5656_MCOPY/MCOPY_memory_expansion_costFiller.yml" # noqa: E501 + ], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="dst0_src0_size0", + ), + pytest.param( + 1, + 0, + 0, + id="dst0_src31_size706", + ), + pytest.param( + 2, + 0, + 0, + id="dst31_src0_size706", + ), + pytest.param( + 3, + 0, + 0, + id="dst62_src31_size706", + ), + pytest.param( + 4, + 0, + 0, + id="dst31_src62_size706", + ), + pytest.param( + 5, + 0, + 0, + id="dst62_src62_size706", + ), + pytest.param( + 6, + 0, + 0, + id="dst64_src0_size1344", + ), + pytest.param( + 7, + 0, + 0, + id="dst0_src64_size1344", + ), + pytest.param( + 8, + 0, + 0, + id="dst64_src33_size1344", + ), + pytest.param( + 9, + 0, + 0, + id="dst33_src64_size1344", + ), + pytest.param( + 10, + 0, + 0, + id="dst1_src33_size1344", + ), + pytest.param( + 11, + 0, + 0, + id="dst33_src1_size1344", + ), + pytest.param( + 12, + 0, + 0, + id="dst33_src33_size1344", + ), + pytest.param( + 13, + 0, + 0, + id="dst64_src64_size1344", + ), + pytest.param( + 14, + 0, + 0, + id="huge_size0", + ), + pytest.param( + 15, + 0, + 0, + id="huge_src0_size1", + ), + pytest.param( + 16, + 0, + 0, + id="huge_dst0_size1", + ), + pytest.param( + 17, + 0, + 0, + id="huge_size_n255", + ), + pytest.param( + 18, + 0, + 0, + id="huge_dst0_size_n256", + ), + pytest.param( + 19, + 0, + 0, + id="huge_src0_size_n256", + ), + pytest.param( + 20, + 0, + 0, + id="huge_size_n63", + ), + pytest.param( + 21, + 0, + 0, + id="huge_size_n64", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_mcopy_memory_expansion_cost( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test cases for the memory expansion cost in the MCOPY instruction.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1687174231, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=1000000, + ) + + # Source: yul + # cancun { + # // Take most of the SSTORE cost before MCOPY. + # sstore(0, 1) + # + # // MCOPY using parameters from CALLDATA. + # mcopy(calldataload(0), calldataload(32), calldataload(64)) + # + # // Put MSIZE in storage. + # sstore(0, msize()) + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=Op.PUSH0, value=0x1) + + Op.MCOPY( + dest_offset=Op.CALLDATALOAD(offset=Op.PUSH0), + offset=Op.CALLDATALOAD(offset=0x20), + size=Op.CALLDATALOAD(offset=0x40), + ) + + Op.SSTORE(key=Op.PUSH0, value=Op.MSIZE) + + Op.STOP, + storage={0: 0xFA11ED}, + nonce=1, + address=Address(0x147DAECF943FA4FB48D1B7287571525B0BAEFEB9), # noqa: E501 + ) + pre[sender] = Account(balance=0x3B9ACA00) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 14], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [1, 2, 3, 4, 5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 768})}, + }, + { + "indexes": { + "data": [6, 7, 8, 9, 10, 11, 12, 13], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1408})}, + }, + { + "indexes": { + "data": [15, 16, 17, 18, 19, 20, 21], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0xFA11ED})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x0) + Hash(0x0) + Hash(0x0), + Hash(0x0) + Hash(0x1F) + Hash(0x2C2), + Hash(0x1F) + Hash(0x0) + Hash(0x2C2), + Hash(0x3E) + Hash(0x1F) + Hash(0x2C2), + Hash(0x1F) + Hash(0x3E) + Hash(0x2C2), + Hash(0x3E) + Hash(0x3E) + Hash(0x2C2), + Hash(0x40) + Hash(0x0) + Hash(0x540), + Hash(0x0) + Hash(0x40) + Hash(0x540), + Hash(0x40) + Hash(0x21) + Hash(0x540), + Hash(0x21) + Hash(0x40) + Hash(0x540), + Hash(0x1) + Hash(0x21) + Hash(0x540), + Hash(0x21) + Hash(0x1) + Hash(0x540), + Hash(0x21) + Hash(0x21) + Hash(0x540), + Hash(0x40) + Hash(0x40) + Hash(0x540), + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash(0x0), + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash(0x0) + + Hash(0x1), + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash(0x1), + Hash(0x0) + + Hash(0x0) + + Hash( + 0x8000000000000000000000000000000000000000000000000000000000000000 + ), + Hash(0x0) + + Hash(0x1) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Hash(0x1) + + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Hash(0x0) + Hash(0x0) + Hash(0x8000000000000000), + Hash(0x1) + Hash(0x1) + Hash(0xFFFFFFFFFFFFFFFF), + ] + tx_gas = [100000] + + tx = Transaction( + sender=sender, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExample/__init__.py b/tests/ported_static/stExample/__init__.py index 41bbedc9768..241c882ddf7 100644 --- a/tests/ported_static/stExample/__init__.py +++ b/tests/ported_static/stExample/__init__.py @@ -1 +1 @@ -"""Tests ported from stExample.""" +"""Ported static tests: stExample.""" # noqa: N999 diff --git a/tests/ported_static/stExample/test_add11.py b/tests/ported_static/stExample/test_add11.py index 9c5ef61cc3d..1e3e8e2f503 100644 --- a/tests/ported_static/stExample/test_add11.py +++ b/tests/ported_static/stExample/test_add11.py @@ -2,7 +2,7 @@ A test for (add 1 1) opcode result. Ported from: -tests/static/state_tests/stExample/add11Filler.json +state_tests/stExample/add11Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stExample/add11Filler.json"], + ["state_tests/stExample/add11Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,8 @@ def test_add11( pre: Alloc, ) -> None: """A test for (add 1 1) opcode result.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,26 +47,41 @@ def test_add11( gas_limit=71794957647893862, ) - # Source: LLL + # Source: hex + # 0x + coinbase = pre.deploy_contract( # noqa: F841 + code="", + nonce=1, + address=Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA), # noqa: E501 + ) + # Source: lll # { [[0]] (ADD 1 1) } - contract = pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 2}), + contract_0: Account( + storage={0: 2}, + code=bytes.fromhex("600160010160005500"), + ), + coinbase: Account(nonce=1), + sender: Account(storage={}, code=b"", nonce=1), + Address( + 0xE94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExample/test_add11_yml.py b/tests/ported_static/stExample/test_add11_yml.py index f13de3dab10..6953ecc03c5 100644 --- a/tests/ported_static/stExample/test_add11_yml.py +++ b/tests/ported_static/stExample/test_add11_yml.py @@ -2,7 +2,7 @@ A test for (add 1 1) opcode result. Ported from: -tests/static/state_tests/stExample/add11_ymlFiller.yml +state_tests/stExample/add11_ymlFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stExample/add11_ymlFiller.yml"], + ["state_tests/stExample/add11_ymlFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,8 @@ def test_add11_yml( pre: Alloc, ) -> None: """A test for (add 1 1) opcode result.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,29 +47,38 @@ def test_add11_yml( gas_limit=71794957647893862, ) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll # { # ; Can also add lll style comments here # [[0]] (ADD 1 1) # } - contract = pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 2}), + contract_0: Account( + storage={0: 2}, + code=bytes.fromhex("600160010160005500"), + ), + coinbase: Account(nonce=1), + sender: Account(storage={}, code=b"", nonce=1), + Address( + 0xE94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExample/test_basefee_example.py b/tests/ported_static/stExample/test_basefee_example.py index 2d505165523..ef1a0573572 100644 --- a/tests/ported_static/stExample/test_basefee_example.py +++ b/tests/ported_static/stExample/test_basefee_example.py @@ -2,7 +2,7 @@ A test shows basefee transaction example. Ported from: -tests/static/state_tests/stExample/basefeeExampleFiller.yml +state_tests/stExample/basefeeExampleFiller.yml """ import pytest @@ -12,6 +12,7 @@ Account, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, @@ -24,7 +25,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stExample/basefeeExampleFiller.yml"], + ["state_tests/stExample/basefeeExampleFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +34,7 @@ def test_basefee_example( pre: Alloc, ) -> None: """A test shows basefee transaction example.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,30 +48,30 @@ def test_basefee_example( gas_limit=68719476736, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # ; Can also add lll style comments here # [[0]] (ADD 1 1) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xad21eb96c7a254c810474f7b1e1e66ca449a3426"), # noqa: E501 + address=Address(0xAD21EB96C7A254C810474F7B1E1E66CA449A3426), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=4000000, + value=0x186A0, max_fee_per_gas=5000000000, max_priority_fee_per_gas=2, - value=100000, access_list=[ AccessList( - address=Address("0xad21eb96c7a254c810474f7b1e1e66ca449a3426"), + address=Address(0xAD21EB96C7A254C810474F7B1E1E66CA449A3426), storage_keys=[ Hash( "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 @@ -83,8 +84,6 @@ def test_basefee_example( ], ) - post = { - contract: Account(storage={0: 2}), - } + post = {target: Account(storage={0: 2})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExample/test_eip1559.py b/tests/ported_static/stExample/test_eip1559.py index 5ae8a2435e7..91874978154 100644 --- a/tests/ported_static/stExample/test_eip1559.py +++ b/tests/ported_static/stExample/test_eip1559.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stExample/eip1559Filler.yml +state_tests/stExample/eip1559Filler.yml """ import pytest @@ -12,6 +12,7 @@ Account, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, @@ -24,7 +25,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stExample/eip1559Filler.yml"], + ["state_tests/stExample/eip1559Filler.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +33,8 @@ def test_eip1559( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xDE0C95357363DA5C1C5A73BD7C2781CA5C9FECC1014103B5E1D1E990AE8208EC ) @@ -47,33 +48,32 @@ def test_eip1559( gas_limit=16777216, ) - # Source: LLL + # Source: lll # { # (sstore 0 (gasprice)) # (sstore 1 (basefee)) # } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GASPRICE) - + Op.SSTORE(key=0x1, value=Op.BASEFEE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GASPRICE) + + Op.SSTORE(key=0x1, value=Op.BASEFEE) + + Op.STOP, balance=0xDE0B6B3A7640000, - address=Address("0x38dc047054d46298a5bb7ed3a0bad84bf69090d4"), # noqa: E501 + nonce=1, + address=Address(0x38DC047054D46298A5BB7ED3A0BAD84BF69090D4), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=4000000, max_fee_per_gas=2000, max_priority_fee_per_gas=10, nonce=1, access_list=[ AccessList( - address=Address("0x38dc047054d46298a5bb7ed3a0bad84bf69090d4"), + address=Address(0x38DC047054D46298A5BB7ED3A0BAD84BF69090D4), storage_keys=[ Hash( "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 @@ -86,8 +86,6 @@ def test_eip1559( ], ) - post = { - contract: Account(storage={0: 1010, 1: 1000}), - } + post = {target: Account(storage={0: 1010, 1: 1000})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExample/test_indexes_omit_example.py b/tests/ported_static/stExample/test_indexes_omit_example.py index 35ba99a4bf8..1ef6e8e0012 100644 --- a/tests/ported_static/stExample/test_indexes_omit_example.py +++ b/tests/ported_static/stExample/test_indexes_omit_example.py @@ -1,8 +1,8 @@ """ -expect section set -indexes field by default equal to -1. +Expect section set -indexes field by default equal to -1. Ported from: -tests/static/state_tests/stExample/indexesOmitExampleFiller.yml +state_tests/stExample/indexesOmitExampleFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stExample/indexesOmitExampleFiller.yml"], + ["state_tests/stExample/indexesOmitExampleFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_indexes_omit_example( pre: Alloc, ) -> None: """Expect section set -indexes field by default equal to -1.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,29 +46,33 @@ def test_indexes_omit_example( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll # { # ; Can also add lll style comments here # [[0]] (ADD 1 1) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xad21eb96c7a254c810474f7b1e1e66ca449a3426"), # noqa: E501 + address=Address(0xAD21EB96C7A254C810474F7B1E1E66CA449A3426), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 2}), + target: Account( + storage={0: 2}, + code=bytes.fromhex("600160010160005500"), + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExample/test_invalid_tr.py b/tests/ported_static/stExample/test_invalid_tr.py index c1a01913796..cb30f1f7e18 100644 --- a/tests/ported_static/stExample/test_invalid_tr.py +++ b/tests/ported_static/stExample/test_invalid_tr.py @@ -2,7 +2,7 @@ A state test with invalid transaction example filler. Ported from: -tests/static/state_tests/stExample/invalidTrFiller.json +state_tests/stExample/invalidTrFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,17 +24,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stExample/invalidTrFiller.json"], + ["state_tests/stExample/invalidTrFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.exception_test +@pytest.mark.pre_alloc_mutable def test_invalid_tr( state_test: StateTestFiller, pre: Alloc, ) -> None: """A state test with invalid transaction example filler.""" - coinbase = Address("0x7704d8a022a1ba8f3539fc82c7d7fb065abc0df3") + coinbase = Address(0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -47,25 +48,29 @@ def test_invalid_tr( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll # { [[0]] (ADD 1 1) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4567f627abb612a28ed0a355e3fa9bf1e455677a"), # noqa: E501 + address=Address(0x4567F627ABB612A28ED0A355E3FA9BF1E455677A), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000, - value=100000, + value=0x186A0, error=TransactionException.INTRINSIC_GAS_TOO_LOW, ) - post: dict = {} + post = { + target: Account(storage={0: 0}), + sender: Account(nonce=0), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExample/test_labels_example.py b/tests/ported_static/stExample/test_labels_example.py index fe491db2a86..229f449668a 100644 --- a/tests/ported_static/stExample/test_labels_example.py +++ b/tests/ported_static/stExample/test_labels_example.py @@ -2,7 +2,7 @@ An example how to use labels in expect section. Ported from: -tests/static/state_tests/stExample/labelsExampleFiller.yml +state_tests/stExample/labelsExampleFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,64 +27,49 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stExample/labelsExampleFiller.yml"], + ["state_tests/stExample/labelsExampleFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "01", - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="transaction1", ), - ( - "02", - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x200000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 1, + 0, + 0, + id="transaction2", ), - ( - "03", - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x300000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 2, + 0, + 0, + id="transaction3", ), - ( - "03", - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x300000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 3, + 0, + 0, + id="transaction3", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_labels_example( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """An example how to use labels in expect section.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -93,28 +83,72 @@ def test_labels_example( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # [[0]] (CALLDATALOAD 0) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.CALLDATALOAD(offset=0x0)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"), # noqa: E501 + address=Address(0xA054BC58F204030CBC0EC558A5B88AC9BD5ADED2), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x100000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [1], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x200000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [2, 3], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x300000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("01"), + Bytes("02"), + Bytes("03"), + Bytes("03"), + ] + tx_gas = [400000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=400000, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExample/test_merge_test.py b/tests/ported_static/stExample/test_merge_test.py index 13ee74f42e1..e494566df93 100644 --- a/tests/ported_static/stExample/test_merge_test.py +++ b/tests/ported_static/stExample/test_merge_test.py @@ -2,7 +2,7 @@ Example of PoS merge state test. Ported from: -tests/static/state_tests/stExample/mergeTestFiller.yml +state_tests/stExample/mergeTestFiller.yml """ import pytest @@ -12,6 +12,7 @@ Account, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, @@ -24,7 +25,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stExample/mergeTestFiller.yml"], + ["state_tests/stExample/mergeTestFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +34,7 @@ def test_merge_test( pre: Alloc, ) -> None: """Example of PoS merge state test.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xDE0C95357363DA5C1C5A73BD7C2781CA5C9FECC1014103B5E1D1E990AE8208EC ) @@ -47,35 +48,34 @@ def test_merge_test( gas_limit=16777216, ) - # Source: LLL + # Source: lll # { # (sstore 0 (gasprice)) # (sstore 1 (basefee)) # (sstore 2 (difficulty)) # } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GASPRICE) - + Op.SSTORE(key=0x1, value=Op.BASEFEE) - + Op.SSTORE(key=0x2, value=Op.PREVRANDAO) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GASPRICE) + + Op.SSTORE(key=0x1, value=Op.BASEFEE) + + Op.SSTORE(key=0x2, value=Op.PREVRANDAO) + + Op.STOP, balance=0xDE0B6B3A7640000, - address=Address("0x49a0fe79e28d1d65e16cdf53acafeae7baccac0e"), # noqa: E501 + nonce=1, + address=Address(0x49A0FE79E28D1D65E16CDF53ACAFEAE7BACCAC0E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=4000000, max_fee_per_gas=2000, max_priority_fee_per_gas=10, nonce=1, access_list=[ AccessList( - address=Address("0x49a0fe79e28d1d65e16cdf53acafeae7baccac0e"), + address=Address(0x49A0FE79E28D1D65E16CDF53ACAFEAE7BACCAC0E), storage_keys=[ Hash( "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 @@ -89,12 +89,13 @@ def test_merge_test( ) post = { - contract: Account( + target: Account( storage={ 0: 1010, 1: 1000, 2: 0x1500000000000000000000000000000000000000000000000000000000000000, # noqa: E501 }, + nonce=1, ), } diff --git a/tests/ported_static/stExample/test_ranges_example.py b/tests/ported_static/stExample/test_ranges_example.py index e7ac2defadd..bd18ff3b028 100644 --- a/tests/ported_static/stExample/test_ranges_example.py +++ b/tests/ported_static/stExample/test_ranges_example.py @@ -2,7 +2,7 @@ An example how to use ranges in expect section. Ported from: -tests/static/state_tests/stExample/rangesExampleFiller.yml +state_tests/stExample/rangesExampleFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,339 +27,169 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stExample/rangesExampleFiller.yml"], + ["state_tests/stExample/rangesExampleFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - "01", - 400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="transaction1-g0-v0", ), - ( - "01", - 400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 0, + 0, + 1, + id="transaction1-g0-v1", ), - ( - "01", - 1400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 0, + 1, + 0, + id="transaction1-g1-v0", ), - ( - "01", - 1400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 0, + 1, + 1, + id="transaction1-g1-v1", ), - ( - "01", - 2400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 0, + 2, + 0, + id="transaction1-g2-v0", ), - ( - "01", - 2400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 0, + 2, + 1, + id="transaction1-g2-v1", ), - ( - "01", - 400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0-v0", ), - ( - "01", - 400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 1, + 0, + 1, + id="d1-g0-v1", ), - ( - "01", - 1400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1-v0", ), - ( - "01", - 1400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 1, + 1, + 1, + id="d1-g1-v1", ), - ( - "01", - 2400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 1, + 2, + 0, + id="d1-g2-v0", ), - ( - "01", - 2400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 1, + 2, + 1, + id="d1-g2-v1", ), - ( - "04", - 400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x400000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0-v0", ), - ( - "04", - 400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x400000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 2, + 0, + 1, + id="d2-g0-v1", ), - ( - "04", - 1400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x400000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1-v0", ), - ( - "04", - 1400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x400000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 2, + 1, + 1, + id="d2-g1-v1", ), - ( - "04", - 2400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x400000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 2, + 2, + 0, + id="d2-g2-v0", ), - ( - "04", - 2400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x400000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 2, + 2, + 1, + id="d2-g2-v1", ), - ( - "01", - 400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0-v0", ), - ( - "01", - 400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 3, + 0, + 1, + id="d3-g0-v1", ), - ( - "01", - 1400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1-v0", ), - ( - "01", - 1400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 3, + 1, + 1, + id="d3-g1-v1", ), - ( - "01", - 2400000, - 100000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 3, + 2, + 0, + id="d3-g2-v0", ), - ( - "01", - 2400000, - 200000, - { - Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"): Account( - storage={ - 0: 0x100000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 3, + 2, + 1, + id="d3-g2-v1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - ], ) @pytest.mark.pre_alloc_mutable def test_ranges_example( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """An example how to use ranges in expect section.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -368,28 +203,72 @@ def test_ranges_example( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # [[0]] (CALLDATALOAD 0) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.CALLDATALOAD(offset=0x0)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa054bc58f204030cbc0ec558a5b88ac9bd5aded2"), # noqa: E501 + address=Address(0xA054BC58F204030CBC0EC558A5B88AC9BD5ADED2), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x100000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [0, 1, 2], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x100000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": 3, "gas": [0, 1, 2], "value": [0, 1]}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0x400000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("01"), + Bytes("01"), + Bytes("01"), + Bytes("04"), + ] + tx_gas = [400000, 1400000, 2400000] + tx_value = [100000, 200000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExample/test_yul_example.py b/tests/ported_static/stExample/test_yul_example.py index 95ed26a3144..b942b283782 100644 --- a/tests/ported_static/stExample/test_yul_example.py +++ b/tests/ported_static/stExample/test_yul_example.py @@ -2,7 +2,7 @@ An example test for using simple yul contracts in the test. Ported from: -tests/static/state_tests/stExample/yulExampleFiller.yml +state_tests/stExample/yulExampleFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stExample/yulExampleFiller.yml"], + ["state_tests/stExample/yulExampleFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_yul_example( pre: Alloc, ) -> None: """An example test for using simple yul contracts in the test.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E ) @@ -45,8 +46,8 @@ def test_yul_example( gas_limit=100000000, ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: Yul + # Source: yul + # berlin # { # function f(a, b) -> c { # c := add(a, b) @@ -55,21 +56,21 @@ def test_yul_example( # sstore(0, f(1, 2)) # return(0, 32) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x3) + Op.RETURN(offset=0x0, size=0x20), balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xf30c160326a04ecb32e7651c0a8f373468bea269"), # noqa: E501 + address=Address(0xF30C160326A04ECB32E7651C0A8F373468BEA269), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=16777216, ) - post = { - contract: Account(storage={0: 3}), - } + post = {target: Account(storage={0: 3})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExtCodeHash/__init__.py b/tests/ported_static/stExtCodeHash/__init__.py deleted file mode 100644 index 4e064332cf5..00000000000 --- a/tests/ported_static/stExtCodeHash/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from stExtCodeHash.""" diff --git a/tests/ported_static/stExtCodeHash/test_code_copy_zero_paris.py b/tests/ported_static/stExtCodeHash/test_code_copy_zero_paris.py deleted file mode 100644 index e3fe9051b9e..00000000000 --- a/tests/ported_static/stExtCodeHash/test_code_copy_zero_paris.py +++ /dev/null @@ -1,286 +0,0 @@ -""" -https://github.com/ethereum/tests/issues/493, CODECOPY and EXTCODECOPY... - -Ported from: -tests/static/state_tests/stExtCodeHash/codeCopyZero_ParisFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stExtCodeHash/codeCopyZero_ParisFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_code_copy_zero_paris( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Https://github.com/ethereum/tests/issues/493, CODECOPY and...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - callee_1 = Address("0xa200000000000000000000000000000000000000") - callee_2 = Address("0xa300000000000000000000000000000000000000") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL - # { - # - # ;; EXTCODECOPY of nonexistent account - # (EXTCODECOPY 0xa222000000000000000000000000000000000000 0 0 32) - # (SSTORE 0x10 (MLOAD 0)) - # (SSTORE 0x11 (EXTCODESIZE 0xa222000000000000000000000000000000000000)) - # (SSTORE 0x12 (EXTCODEHASH 0xa222000000000000000000000000000000000000)) - # (SSTORE 0x13 (CALLCODE 50000 0xa222000000000000000000000000000000000000 0 0 0 0 0)) # noqa: E501 - # - # - # ;; EXTCODECOPY of account with empty code - # (EXTCODECOPY 0xa200000000000000000000000000000000000000 0 0 32) - # (SSTORE 0x20 (MLOAD 0)) - # (SSTORE 0x21 (EXTCODESIZE 0xa200000000000000000000000000000000000000)) - # (SSTORE 0x22 (EXTCODEHASH 0xa200000000000000000000000000000000000000)) - # (SSTORE 0x23 (CALLCODE 50000 0xa200000000000000000000000000000000000000 0 0 0 0 0)) # noqa: E501 - # - # - # ;; EXTCODECOPY of empty account with empty code - # (EXTCODECOPY 0xa300000000000000000000000000000000000000 0 0 32) - # (SSTORE 0x30 (MLOAD 0)) - # (SSTORE 0x31 (EXTCODESIZE 0xa300000000000000000000000000000000000000)) - # (SSTORE 0x32 (EXTCODEHASH 0xa300000000000000000000000000000000000000)) - # (SSTORE 0x33 (CALLCODE 50000 0xa300000000000000000000000000000000000000 0 0 0 0 0)) # noqa: E501 - # - # ;; CODECOPY of dynamic account which has empty code - # (CALL 550000 0xa100000000000000000000000000000000000000 0 0 0 0 32) - # (SSTORE 0x40 (MLOAD 0)) - # } - contract = pre.deploy_contract( - code=( - Op.EXTCODECOPY( - address=0xA222000000000000000000000000000000000000, - dest_offset=0x0, - offset=0x0, - size=0x20, - ) - + Op.SSTORE(key=0x10, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE( - key=0x11, - value=Op.EXTCODESIZE( - address=0xA222000000000000000000000000000000000000, - ), - ) - + Op.SSTORE( - key=0x12, - value=Op.EXTCODEHASH( - address=0xA222000000000000000000000000000000000000, - ), - ) - + Op.SSTORE( - key=0x13, - value=Op.CALLCODE( - gas=0xC350, - address=0xA222000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.EXTCODECOPY( - address=0xA200000000000000000000000000000000000000, - dest_offset=0x0, - offset=0x0, - size=0x20, - ) - + Op.SSTORE(key=0x20, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE( - key=0x21, - value=Op.EXTCODESIZE( - address=0xA200000000000000000000000000000000000000, - ), - ) - + Op.SSTORE( - key=0x22, - value=Op.EXTCODEHASH( - address=0xA200000000000000000000000000000000000000, - ), - ) - + Op.SSTORE( - key=0x23, - value=Op.CALLCODE( - gas=0xC350, - address=0xA200000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.EXTCODECOPY( - address=0xA300000000000000000000000000000000000000, - dest_offset=0x0, - offset=0x0, - size=0x20, - ) - + Op.SSTORE(key=0x30, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE( - key=0x31, - value=Op.EXTCODESIZE( - address=0xA300000000000000000000000000000000000000, - ), - ) - + Op.SSTORE( - key=0x32, - value=Op.EXTCODEHASH( - address=0xA300000000000000000000000000000000000000, - ), - ) - + Op.SSTORE( - key=0x33, - value=Op.CALLCODE( - gas=0xC350, - address=0xA300000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0x86470, - address=0xA100000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x40, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { - # (MSTORE 0 - # (CREATE2 0 0 - # (lll - # { - # ;; codecopy of empty code - # (CODECOPY 0 0 32) - # [[0x50]] (MLOAD 0) - # [[0x51]] (EXTCODESIZE (ADDRESS)) - # [[0x52]] (EXTCODEHASH (ADDRESS)) - # [[0x53]] (EXTCODESIZE (CALLCODE 50000 (ADDRESS) 0 0 0 0 0)) - # (EXTCODECOPY (ADDRESS) 0 0 32) - # (SSTORE 0x54 (MLOAD 0)) - # } - # 0) - # 0)) - # (RETURN 0 32) - # (STOP) - # } - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0x39] - + Op.CODECOPY(dest_offset=0x0, offset=0x1A, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x0, value=Op.CREATE2) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x50, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x51, value=Op.EXTCODESIZE(address=Op.ADDRESS)) - + Op.SSTORE(key=0x52, value=Op.EXTCODEHASH(address=Op.ADDRESS)) - + Op.SSTORE( - key=0x53, - value=Op.EXTCODESIZE( - address=Op.CALLCODE( - gas=0xC350, - address=Op.ADDRESS, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ), - ) - + Op.EXTCODECOPY( - address=Op.ADDRESS, - dest_offset=0x0, - offset=0x0, - size=0x20, - ) - + Op.SSTORE(key=0x54, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xa100000000000000000000000000000000000000"), # noqa: E501 - ) - pre[callee_1] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_2] = Account(balance=10, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=1400000, - value=1, - ) - - post = { - Address("0x64bc50092fd622c9cc47d658b99c1af75aaa3d68"): Account( - storage={ - 80: 0x60206000600039600051605055303B605155303F605255600060006000600060, # noqa: E501 - 82: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - }, - ), - contract: Account( - storage={ - 19: 1, - 34: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 35: 1, - 50: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 51: 1, - 64: 0x64BC50092FD622C9CC47D658B99C1AF75AAA3D68, - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExtCodeHash/test_ext_code_hash_created_and_deleted_account_recheck_in_outer_call.py b/tests/ported_static/stExtCodeHash/test_ext_code_hash_created_and_deleted_account_recheck_in_outer_call.py deleted file mode 100644 index d99f0169103..00000000000 --- a/tests/ported_static/stExtCodeHash/test_ext_code_hash_created_and_deleted_account_recheck_in_outer_call.py +++ /dev/null @@ -1,164 +0,0 @@ -""" -EXTCODEHASH/EXTCODESIZE of an account created then deleted in a CALL,... - -Ported from: -tests/static/state_tests/stExtCodeHash -extCodeHashCreatedAndDeletedAccountRecheckInOuterCallFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stExtCodeHash/extCodeHashCreatedAndDeletedAccountRecheckInOuterCallFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_ext_code_hash_created_and_deleted_account_recheck_in_outer_call( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """EXTCODEHASH/EXTCODESIZE of an account created then deleted in a...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=1000000, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { (MSTORE 0 (CREATE2 0 128 (lll { (RETURN 0 (lll { (SELFDESTRUCT 0x0) } 0)) } 128) 0x10)) [[0]] (EXTCODEHASH (MLOAD 0)) [[1]] (EXTCODESIZE (MLOAD 0)) (CALL 0x10000 (MLOAD 0) 0 0 0 0 0) [[2]] (EXTCODEHASH (MLOAD 0)) [[3]] (EXTCODESIZE (MLOAD 0)) (STOP) } # noqa: E501 - callee = pre.deploy_contract( - code=( - Op.PUSH1[0x10] - + Op.PUSH1[0x11] - + Op.CODECOPY(dest_offset=0x80, offset=0x44, size=Op.DUP1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x0, value=Op.CREATE2) - + Op.SSTORE( - key=0x0, - value=Op.EXTCODEHASH(address=Op.MLOAD(offset=0x0)), - ) - + Op.SSTORE( - key=0x1, - value=Op.EXTCODESIZE(address=Op.MLOAD(offset=0x0)), - ) - + Op.POP( - Op.CALL( - gas=0x10000, - address=Op.MLOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.EXTCODEHASH(address=Op.MLOAD(offset=0x0)), - ) - + Op.SSTORE( - key=0x3, - value=Op.EXTCODESIZE(address=Op.MLOAD(offset=0x0)), - ) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.PUSH1[0x4] - + Op.CODECOPY(dest_offset=0x0, offset=0xD, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.SELFDESTRUCT(address=0x0) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xdeadbeef00000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { (CALL 0x20000 0xdeadbeef00000000000000000000000000000000 0 0 0 0 0) [[0]] (EXTCODEHASH 0x123f4c415171383dcf6f3ac6c3b70fe321e11b5e) [[1]] (EXTCODESIZE 0x123f4c415171383dcf6f3ac6c3b70fe321e11b5e) (STOP) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x20000, - address=0xDEADBEEF00000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.EXTCODEHASH( - address=0x123F4C415171383DCF6F3AC6C3B70FE321E11B5E, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.EXTCODESIZE( - address=0x123F4C415171383DCF6F3AC6C3B70FE321E11B5E, - ), - ) - + Op.STOP - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xdeadbeef00000000000000000000000000000001"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=400000, - value=1, - ) - - post = { - callee: Account( - storage={ - 0: 0x73C5F15B1290FD9E66722596C2FA1E1C9341F7ACB185530DCE0BF0E0FEC7DFC6, # noqa: E501 - 1: 4, - 2: 0x73C5F15B1290FD9E66722596C2FA1E1C9341F7ACB185530DCE0BF0E0FEC7DFC6, # noqa: E501 - 3: 4, - }, - ), - contract: Account( - storage={ - 0: 0x73C5F15B1290FD9E66722596C2FA1E1C9341F7ACB185530DCE0BF0E0FEC7DFC6, # noqa: E501 - 1: 4, - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_oog.py b/tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_oog.py deleted file mode 100644 index 6e939b7f247..00000000000 --- a/tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_oog.py +++ /dev/null @@ -1,402 +0,0 @@ -""" -create contract A in a subcall. go OOG in a subcall (revert happens) check... - -Ported from: -tests/static/state_tests/stExtCodeHash/extCodeHashSubcallOOGFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stExtCodeHash/extCodeHashSubcallOOGFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "0000000000000000000000002000000000000000000000000000000000000000", - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={ - 1: 0x9FF1F274B33E3B56EDD7734520CBCDF2699FC1DC78B51644CDC56CA65BEBEEAE, # noqa: E501 - 2: 5, - 3: 0x6020602055000000000000000000000000000000000000000000000000000000, # noqa: E501 - 4: 1, - } - ) - }, - ), - ( - "0000000000000000000000002100000000000000000000000000000000000000", - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={ - 1: 0x9FF1F274B33E3B56EDD7734520CBCDF2699FC1DC78B51644CDC56CA65BEBEEAE, # noqa: E501 - 2: 5, - 3: 0x6020602055000000000000000000000000000000000000000000000000000000, # noqa: E501 - 4: 1, - } - ) - }, - ), - ( - "0000000000000000000000002200000000000000000000000000000000000000", - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={ - 1: 0x9FF1F274B33E3B56EDD7734520CBCDF2699FC1DC78B51644CDC56CA65BEBEEAE, # noqa: E501 - 2: 5, - 3: 0x6020602055000000000000000000000000000000000000000000000000000000, # noqa: E501 - 4: 1, - } - ) - }, - ), - ( - "0000000000000000000000003000000000000000000000000000000000000000", - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={4: 1} - ) - }, - ), - ( - "0000000000000000000000003100000000000000000000000000000000000000", - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={4: 1} - ) - }, - ), - ( - "0000000000000000000000003200000000000000000000000000000000000000", - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={4: 1} - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], -) -@pytest.mark.pre_alloc_mutable -def test_ext_code_hash_subcall_oog( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Create contract A in a subcall. go OOG in a subcall (revert...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL - # { - # (CALLCODE 350000 (CALLDATALOAD 0) 0 0 0 0 32) - # (SSTORE 1 (EXTCODEHASH (MLOAD 0))) - # (SSTORE 2 (EXTCODESIZE (MLOAD 0))) - # (EXTCODECOPY (MLOAD 0) 0 0 32) - # (SSTORE 3 (MLOAD 0)) - # (SSTORE 4 (CALLCODE 50000 (MLOAD 0) 0 0 0 0 0)) - # } - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x55730, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.EXTCODEHASH(address=Op.MLOAD(offset=0x0)), - ) - + Op.SSTORE( - key=0x2, - value=Op.EXTCODESIZE(address=Op.MLOAD(offset=0x0)), - ) - + Op.EXTCODECOPY( - address=Op.MLOAD(offset=0x0), - dest_offset=0x0, - offset=0x0, - size=0x20, - ) - + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE( - key=0x4, - value=Op.CALLCODE( - gas=0xC350, - address=Op.MLOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { (CALL 150000 0xa000000000000000000000000000000000000000 0 0 0 0 32) (RETURN 0 32)} # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x249F0, - address=0xA000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { (CALLCODE 150000 0xa000000000000000000000000000000000000000 0 0 0 0 32) (RETURN 0 32)} # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x249F0, - address=0xA000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x2100000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { (DELEGATECALL 150000 0xa000000000000000000000000000000000000000 0 0 0 32) (RETURN 0 32)} # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x249F0, - address=0xA000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x2200000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { (CALL 150000 0xa100000000000000000000000000000000000000 0 0 0 0 32) (RETURN 0 32)} # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x249F0, - address=0xA100000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { (CALLCODE 250000 0xa100000000000000000000000000000000000000 0 0 0 0 32) (RETURN 0 32)} # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x3D090, - address=0xA100000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x3100000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { (DELEGATECALL 150000 0xa100000000000000000000000000000000000000 0 0 0 32) (RETURN 0 32)} # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x249F0, - address=0xA100000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x3200000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { - # (MSTORE 0 - # (CREATE2 0 0 - # (lll - # { - # (MSTORE 0 0x6020602055) - # (RETURN 27 5) - # } - # 0) - # 0)) - # (RETURN 0 32) - # (STOP) - # } - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0xF] - + Op.CODECOPY(dest_offset=0x0, offset=0x1A, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x0, value=Op.CREATE2) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=0x6020602055) - + Op.RETURN(offset=0x1B, size=0x5) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { - # (MSTORE 0 - # (CREATE2 0 0 - # (lll - # { - # (MSTORE 0 0x6020602055) - # (RETURN 27 5) - # } - # 0) - # 0)) - # (SSTORE 1 1) (SSTORE 2 1) (SSTORE 3 1) (SSTORE 4 1) (SSTORE 5 1) (SSTORE 6 1) (SSTORE 7 1) # noqa: E501 - # (SSTORE 8 1) (SSTORE 9 1) (SSTORE 10 1) (SSTORE 11 1) (SSTORE 12 1) (SSTORE 13 1) (SSTORE 14 1) # noqa: E501 - # (RETURN 0 32) - # (STOP) - # } - pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.PUSH1[0xF] - + Op.CODECOPY(dest_offset=0x0, offset=0x60, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x0, value=Op.CREATE2) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xE, value=0x1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=0x6020602055) - + Op.RETURN(offset=0x1B, size=0x5) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xa100000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=400000, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_suicide.py b/tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_suicide.py deleted file mode 100644 index 73a1caf3ae8..00000000000 --- a/tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_suicide.py +++ /dev/null @@ -1,192 +0,0 @@ -""" -transaction to B | B call to A | A delegatecall/callcode to C (C has... - -Ported from: -tests/static/state_tests/stExtCodeHash/extCodeHashSubcallSuicideFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stExtCodeHash/extCodeHashSubcallSuicideFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_ext_code_hash_subcall_suicide( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Transaction to B | B call to A | A delegatecall/callcode to C (C...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL - # { - # (CALLCODE 350000 0xc000000000000000000000000000000000000000 0 0 0 0 32) - # } - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x55730, - address=0xC000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { - # (SSTORE 1 (EXTCODEHASH 0xa000000000000000000000000000000000000000)) - # (SSTORE 2 (EXTCODESIZE 0xa000000000000000000000000000000000000000)) - # (EXTCODECOPY 0xa000000000000000000000000000000000000000 0 0 32) - # (SSTORE 3 (MLOAD 0)) - # - # (CALL 350000 0xa000000000000000000000000000000000000000 0 0 0 0 32) - # - # (SSTORE 4 (EXTCODEHASH 0xa000000000000000000000000000000000000000)) - # (SSTORE 5 (EXTCODESIZE 0xa000000000000000000000000000000000000000)) - # (EXTCODECOPY 0xa000000000000000000000000000000000000000 0 0 32) - # (SSTORE 6 (MLOAD 0)) - # - # [[7]] (CALL 350000 0xa000000000000000000000000000000000000000 0 0 0 0 32) # noqa: E501 - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.EXTCODEHASH( - address=0xA000000000000000000000000000000000000000, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.EXTCODESIZE( - address=0xA000000000000000000000000000000000000000, - ), - ) - + Op.EXTCODECOPY( - address=0xA000000000000000000000000000000000000000, - dest_offset=0x0, - offset=0x0, - size=0x20, - ) - + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x0)) - + Op.POP( - Op.CALL( - gas=0x55730, - address=0xA000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x4, - value=Op.EXTCODEHASH( - address=0xA000000000000000000000000000000000000000, - ), - ) - + Op.SSTORE( - key=0x5, - value=Op.EXTCODESIZE( - address=0xA000000000000000000000000000000000000000, - ), - ) - + Op.EXTCODECOPY( - address=0xA000000000000000000000000000000000000000, - dest_offset=0x0, - offset=0x0, - size=0x20, - ) - + Op.SSTORE(key=0x6, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE( - key=0x7, - value=Op.CALL( - gas=0x55730, - address=0xA000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { - # (SELFDESTRUCT 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b) - # } - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=500000, - value=1, - ) - - post = { - contract: Account( - storage={ - 1: 0x367D3C0E810BBDEBC72C25E80DCB9A337C7C87E3A36E6FAE87D1D51B3C745D24, # noqa: E501 - 2: 37, - 3: 0x6020600060006000600073C00000000000000000000000000000000000000062, # noqa: E501 - 4: 0x367D3C0E810BBDEBC72C25E80DCB9A337C7C87E3A36E6FAE87D1D51B3C745D24, # noqa: E501 - 5: 37, - 6: 0x6020600060006000600073C00000000000000000000000000000000000000062, # noqa: E501 - 7: 1, - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_suicide_cancun.py b/tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_suicide_cancun.py deleted file mode 100644 index 27c0e673e31..00000000000 --- a/tests/ported_static/stExtCodeHash/test_ext_code_hash_subcall_suicide_cancun.py +++ /dev/null @@ -1,230 +0,0 @@ -""" -transaction to B | B call to A | A delegatecall/callcode to C (C has... - -Ported from: -tests/static/state_tests/stExtCodeHash -extCodeHashSubcallSuicideCancunFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stExtCodeHash/extCodeHashSubcallSuicideCancunFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_ext_code_hash_subcall_suicide_cancun( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Transaction to B | B call to A | A delegatecall/callcode to C (C...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL - # { - # (CALLCODE 350000 0x3e180b1862f9d158abb5e519a6d8605540c23682 0 0 0 0 32) - # } - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x55730, - address=0x3E180B1862F9D158ABB5E519A6D8605540C23682, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { - # ;; create 0x3e180b1862f9d158abb5e519a6d8605540c23682 (Account A) - # (CREATE 1000000000000000000 0 (lll - # { - # (CALL 100000 0xd000000000000000000000000000000000000000 0 0 0 0 0) # noqa: E501 - # (RETURN 0 (lll - # { - # (SELFDESTRUCT 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b) # noqa: E501 - # } - # 0)) - # } - # 0)) - # - # (SSTORE 1 (EXTCODEHASH 0xa000000000000000000000000000000000000000)) - # (SSTORE 2 (EXTCODESIZE 0xa000000000000000000000000000000000000000)) - # (EXTCODECOPY 0xa000000000000000000000000000000000000000 0 0 32) - # (SSTORE 3 (MLOAD 0)) - # - # (CALL 350000 0xa000000000000000000000000000000000000000 0 0 0 0 32) - # - # (SSTORE 4 (EXTCODEHASH 0xa000000000000000000000000000000000000000)) - # (SSTORE 5 (EXTCODESIZE 0xa000000000000000000000000000000000000000)) - # (EXTCODECOPY 0xa000000000000000000000000000000000000000 0 0 32) - # (SSTORE 6 (MLOAD 0)) - # - # [[7]] (CALL 350000 0xa000000000000000000000000000000000000000 0 0 0 0 32) # noqa: E501 - # } - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x49] - + Op.CODECOPY(dest_offset=0x0, offset=0x10C, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH8[0xDE0B6B3A7640000] - + Op.POP(Op.CREATE) - + Op.SSTORE( - key=0x1, - value=Op.EXTCODEHASH( - address=0xA000000000000000000000000000000000000000, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.EXTCODESIZE( - address=0xA000000000000000000000000000000000000000, - ), - ) - + Op.EXTCODECOPY( - address=0xA000000000000000000000000000000000000000, - dest_offset=0x0, - offset=0x0, - size=0x20, - ) - + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x0)) - + Op.POP( - Op.CALL( - gas=0x55730, - address=0xA000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x4, - value=Op.EXTCODEHASH( - address=0xA000000000000000000000000000000000000000, - ), - ) - + Op.SSTORE( - key=0x5, - value=Op.EXTCODESIZE( - address=0xA000000000000000000000000000000000000000, - ), - ) - + Op.EXTCODECOPY( - address=0xA000000000000000000000000000000000000000, - dest_offset=0x0, - offset=0x0, - size=0x20, - ) - + Op.SSTORE(key=0x6, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE( - key=0x7, - value=Op.CALL( - gas=0x55730, - address=0xA000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.STOP - + Op.INVALID - + Op.POP( - Op.CALL( - gas=0x186A0, - address=0xD000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x17] - + Op.CODECOPY(dest_offset=0x0, offset=0x32, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.INVALID - + Op.SELFDESTRUCT( - address=0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { - # [[1]] 1 - # } - callee_1 = pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xd000000000000000000000000000000000000000"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=500000, - value=1, - ) - - post = { - contract: Account( - storage={ - 1: 0x807D478BD0D0173122F5531D4C43781631444232A0816DD35578747C7D67AF0D, # noqa: E501 - 2: 37, - 3: 0x60206000600060006000733E180B1862F9D158ABB5E519A6D8605540C2368262, # noqa: E501 - 4: 0x807D478BD0D0173122F5531D4C43781631444232A0816DD35578747C7D67AF0D, # noqa: E501 - 5: 37, - 6: 0x60206000600060006000733E180B1862F9D158ABB5E519A6D8605540C2368262, # noqa: E501 - 7: 1, - }, - ), - callee_1: Account(storage={1: 1}), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stHomesteadSpecific/__init__.py b/tests/ported_static/stHomesteadSpecific/__init__.py index 2a44512e2b5..a536effb1d6 100644 --- a/tests/ported_static/stHomesteadSpecific/__init__.py +++ b/tests/ported_static/stHomesteadSpecific/__init__.py @@ -1 +1 @@ -"""Tests ported from stHomesteadSpecific.""" +"""Ported static tests: stHomesteadSpecific.""" # noqa: N999 diff --git a/tests/ported_static/stHomesteadSpecific/test_contract_creation_oo_gdont_leave_empty_contract.py b/tests/ported_static/stHomesteadSpecific/test_contract_creation_oo_gdont_leave_empty_contract.py index 814c00059ec..90ca11896e0 100644 --- a/tests/ported_static/stHomesteadSpecific/test_contract_creation_oo_gdont_leave_empty_contract.py +++ b/tests/ported_static/stHomesteadSpecific/test_contract_creation_oo_gdont_leave_empty_contract.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_contract_creation_oo_gdont_leave_empty_contract. Ported from: -tests/static/state_tests/stHomesteadSpecific -contractCreationOOGdontLeaveEmptyContractFiller.json +state_tests/stHomesteadSpecific/contractCreationOOGdontLeaveEmptyContractFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stHomesteadSpecific/contractCreationOOGdontLeaveEmptyContractFiller.json", # noqa: E501 + "state_tests/stHomesteadSpecific/contractCreationOOGdontLeaveEmptyContractFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_contract_creation_oo_gdont_leave_empty_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_contract_creation_oo_gdont_leave_empty_contract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000001) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,31 +50,32 @@ def test_contract_creation_oo_gdont_leave_empty_contract( gas_limit=1000000, ) - # Source: LLL + pre[sender] = Account(balance=0xF4240) + # Source: lll # { (SSTORE 1 0x10) (MSTORE 0 0x6001600155601080600c6000396000f3006000355415600957005b6020356000 ) (CREATE 0 0 32)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x10) - + Op.MSTORE( - offset=0x0, - value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 - ) - + Op.CREATE(value=0x0, offset=0x0, size=0x20) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x10) + + Op.MSTORE( + offset=0x0, + value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 + ) + + Op.CREATE(value=0x0, offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - pre[sender] = Account(balance=0xF4240) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=93056, ) post = { - contract: Account(storage={1: 16}), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stHomesteadSpecific/test_contract_creation_oo_gdont_leave_empty_contract_via_transaction.py b/tests/ported_static/stHomesteadSpecific/test_contract_creation_oo_gdont_leave_empty_contract_via_transaction.py index 42982660a3c..2c3ffd26dc8 100644 --- a/tests/ported_static/stHomesteadSpecific/test_contract_creation_oo_gdont_leave_empty_contract_via_transaction.py +++ b/tests/ported_static/stHomesteadSpecific/test_contract_creation_oo_gdont_leave_empty_contract_via_transaction.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_contract_creation_oo_gdont_leave_empty_contract_via_transaction. Ported from: -tests/static/state_tests/stHomesteadSpecific -contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json +state_tests/stHomesteadSpecific/contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json """ import pytest @@ -15,6 +14,7 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stHomesteadSpecific/contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json", # noqa: E501 + "state_tests/stHomesteadSpecific/contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,10 @@ def test_contract_creation_oo_gdont_leave_empty_contract_via_transaction( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_contract_creation_oo_gdont_leave_empty_contract_via_transaction.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0x1000000000000000000000000000000000000001) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,45 +50,49 @@ def test_contract_creation_oo_gdont_leave_empty_contract_via_transaction( gas_limit=1000000, ) - # Source: LLL - # {(SSTORE 1 1)} - contract = pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 - ) pre[sender] = Account(balance=0x10C8E0) - # Source: LLL + # Source: lll # {(CALL 50000 0x1000000000000000000000000000000000000001 0 0 64 0 64)} - pre.deploy_contract( - code=( - Op.CALL( - gas=0xC350, - address=0x1000000000000000000000000000000000000001, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xC350, + address=0x1000000000000000000000000000000000000001, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll + # {(SSTORE 1 1)} + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6040600060406000600073100000000000000000000000000000000000000161c350f1" # noqa: E501 + data=Op.CALL( + gas=0xC350, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ), gas_limit=96000, ) post = { - contract: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(balance=0) } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stHomesteadSpecific/test_create_contract_via_contract.py b/tests/ported_static/stHomesteadSpecific/test_create_contract_via_contract.py index 84e3aa82d65..1311ab5ae55 100644 --- a/tests/ported_static/stHomesteadSpecific/test_create_contract_via_contract.py +++ b/tests/ported_static/stHomesteadSpecific/test_create_contract_via_contract.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_contract_via_contract. Ported from: -tests/static/state_tests/stHomesteadSpecific -createContractViaContractFiller.json +state_tests/stHomesteadSpecific/createContractViaContractFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stHomesteadSpecific/createContractViaContractFiller.json", # noqa: E501 - ], + ["state_tests/stHomesteadSpecific/createContractViaContractFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,9 @@ def test_create_contract_via_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_contract_via_contract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000001) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,21 +47,22 @@ def test_create_contract_via_contract( gas_limit=1000000, ) - # Source: LLL + pre[sender] = Account(balance=0xF4240) + # Source: lll # { (CREATE 0 0 0)} - contract = pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.CREATE(value=0x0, offset=0x0, size=0x0) + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - pre[sender] = Account(balance=0xF4240) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stHomesteadSpecific/test_create_contract_via_contract_oog_init_code.py b/tests/ported_static/stHomesteadSpecific/test_create_contract_via_contract_oog_init_code.py index 89ef673db39..f29201b4c80 100644 --- a/tests/ported_static/stHomesteadSpecific/test_create_contract_via_contract_oog_init_code.py +++ b/tests/ported_static/stHomesteadSpecific/test_create_contract_via_contract_oog_init_code.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_contract_via_contract_oog_init_code. Ported from: -tests/static/state_tests/stHomesteadSpecific -createContractViaContractOOGInitCodeFiller.json +state_tests/stHomesteadSpecific/createContractViaContractOOGInitCodeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stHomesteadSpecific/createContractViaContractOOGInitCodeFiller.json", # noqa: E501 + "state_tests/stHomesteadSpecific/createContractViaContractOOGInitCodeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_create_contract_via_contract_oog_init_code( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_contract_via_contract_oog_init_code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000001) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,25 +49,28 @@ def test_create_contract_via_contract_oog_init_code( gas_limit=1000000, ) - # Source: LLL + pre[sender] = Account(balance=0x10C8E0) + # Source: lll # { (MSTORE 0 0x602060406000f0600c600055)(CREATE 0 20 12)} - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x602060406000F0600C600055) - + Op.CREATE(value=0x0, offset=0x14, size=0xC) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x602060406000F0600C600055) + + Op.CREATE(value=0x0, offset=0x14, size=0xC) + + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - pre[sender] = Account(balance=0x10C8E0) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=105044, ) - post: dict = {} + post = { + Address( + 0x4FF884BFFC83E888AE11B32B1D94BF9BC8D1732F + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stHomesteadSpecific/test_create_contract_via_transaction_cost53000.py b/tests/ported_static/stHomesteadSpecific/test_create_contract_via_transaction_cost53000.py index 7e0e9a7f4d9..2a3844b3d4f 100644 --- a/tests/ported_static/stHomesteadSpecific/test_create_contract_via_transaction_cost53000.py +++ b/tests/ported_static/stHomesteadSpecific/test_create_contract_via_transaction_cost53000.py @@ -1,9 +1,8 @@ """ -trigger transaction creating gasPrice in the state. +Trigger transaction creating gasPrice in the state. Ported from: -tests/static/state_tests/stHomesteadSpecific -createContractViaTransactionCost53000Filler.json +state_tests/stHomesteadSpecific/createContractViaTransactionCost53000Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,7 +23,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stHomesteadSpecific/createContractViaTransactionCost53000Filler.json", # noqa: E501 + "state_tests/stHomesteadSpecific/createContractViaTransactionCost53000Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,7 +33,7 @@ def test_create_contract_via_transaction_cost53000( pre: Alloc, ) -> None: """Trigger transaction creating gasPrice in the state.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,9 +52,10 @@ def test_create_contract_via_transaction_cost53000( tx = Transaction( sender=sender, to=None, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/__init__.py b/tests/ported_static/stInitCodeTest/__init__.py index 4cdee0eddc4..a2898a67a06 100644 --- a/tests/ported_static/stInitCodeTest/__init__.py +++ b/tests/ported_static/stInitCodeTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stInitCodeTest.""" +"""Ported static tests: stInitCodeTest.""" # noqa: N999 diff --git a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_and_call_it_oog.py b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_and_call_it_oog.py index bab4cd48758..52e65943d83 100644 --- a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_and_call_it_oog.py +++ b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_and_call_it_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_contract_to_create_contract_and_call_it_oog. Ported from: -tests/static/state_tests/stInitCodeTest -CallContractToCreateContractAndCallItOOGFiller.json +state_tests/stInitCodeTest/CallContractToCreateContractAndCallItOOGFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stInitCodeTest/CallContractToCreateContractAndCallItOOGFiller.json", # noqa: E501 + "state_tests/stInitCodeTest/CallContractToCreateContractAndCallItOOGFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_call_contract_to_create_contract_and_call_it_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_contract_to_create_contract_and_call_it_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,47 +50,44 @@ def test_call_contract_to_create_contract_and_call_it_oog( gas_limit=100000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 1 11 21)(CALL 1000 (SLOAD 0) 0 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600C60005566602060406000F060205260076039F3, - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15) - ) - + Op.CALL( - gas=0x3E8, - address=Op.SLOAD(key=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x600C60005566602060406000F060205260076039F3 + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15)) + + Op.CALL( + gas=0x3E8, + address=Op.SLOAD(key=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=1000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=contract_0, + data=Bytes("00"), gas_limit=203000, ) post = { - contract: Account( + contract_0: Account( storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + nonce=1, ), - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={0: 12}, + sender: Account(nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 12}, balance=1, nonce=1 ), } diff --git a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_no_cash.py b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_no_cash.py index 573526d9449..16dde5285eb 100644 --- a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_no_cash.py +++ b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_no_cash.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_contract_to_create_contract_no_cash. Ported from: -tests/static/state_tests/stInitCodeTest -CallContractToCreateContractNoCashFiller.json +state_tests/stInitCodeTest/CallContractToCreateContractNoCashFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stInitCodeTest/CallContractToCreateContractNoCashFiller.json", # noqa: E501 + "state_tests/stInitCodeTest/CallContractToCreateContractNoCashFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_contract_to_create_contract_no_cash( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_contract_to_create_contract_no_cash.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -48,33 +48,32 @@ def test_call_contract_to_create_contract_no_cash( gas_limit=100000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 100000 11 21)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600C60005566602060406000F060205260076039F3, - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE(value=0x186A0, offset=0xB, size=0x15), - ) - + Op.STOP - ), - balance=0x2710, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x600C60005566602060406000F060205260076039F3 + ) + + Op.SSTORE( + key=0x0, value=Op.CREATE(value=0x186A0, offset=0xB, size=0x15) + ) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0x985aca92559c5b1b9cd7897fec0f7c7993ad0d60"), # noqa: E501 + address=Address(0x985ACA92559C5B1B9CD7897FEC0F7C7993AD0D60), # noqa: E501 ) pre[sender] = Account(balance=0x3B9ACA00) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=100000, ) - post: dict = {} + post = { + target: Account(nonce=0), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_oog.py b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_oog.py index 2aa7496c0fd..e62d3575c99 100644 --- a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_oog.py +++ b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_contract_to_create_contract_oog. Ported from: -tests/static/state_tests/stInitCodeTest -CallContractToCreateContractOOGFiller.json +state_tests/stInitCodeTest/CallContractToCreateContractOOGFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stInitCodeTest/CallContractToCreateContractOOGFiller.json", # noqa: E501 - ], + ["state_tests/stInitCodeTest/CallContractToCreateContractOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_call_contract_to_create_contract_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_contract_to_create_contract_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -48,40 +46,38 @@ def test_call_contract_to_create_contract_oog( gas_limit=1000000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 1 11 21)(CALL 0 (SLOAD 0) 0 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600C60005566602060406000F060205260076039F3, - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15) - ) - + Op.CALL( - gas=0x0, - address=Op.SLOAD(key=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x600C60005566602060406000F060205260076039F3 + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15)) + + Op.CALL( + gas=0x0, + address=Op.SLOAD(key=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x1bc6342e077e772b0f4cc48116bc171f9a35d09e"), # noqa: E501 + address=Address(0x1BC6342E077E772B0F4CC48116BC171F9A35D09E), # noqa: E501 ) pre[sender] = Account(balance=0x3B9ACA00) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=100000, ) - post: dict = {} + post = { + target: Account(nonce=0), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_oog_bonus_gas.py b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_oog_bonus_gas.py index ff2061aaacf..dd64b3173ee 100644 --- a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_oog_bonus_gas.py +++ b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_oog_bonus_gas.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_contract_to_create_contract_oog_bonus_gas. Ported from: -tests/static/state_tests/stInitCodeTest -CallContractToCreateContractOOGBonusGasFiller.json +state_tests/stInitCodeTest/CallContractToCreateContractOOGBonusGasFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stInitCodeTest/CallContractToCreateContractOOGBonusGasFiller.json", # noqa: E501 + "state_tests/stInitCodeTest/CallContractToCreateContractOOGBonusGasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_call_contract_to_create_contract_oog_bonus_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_contract_to_create_contract_oog_bonus_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,47 +50,44 @@ def test_call_contract_to_create_contract_oog_bonus_gas( gas_limit=1000000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 1 11 21)(CALL 0 (SLOAD 0) 12 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600C60005566602060406000F060205260076039F3, - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15) - ) - + Op.CALL( - gas=0x0, - address=Op.SLOAD(key=0x0), - value=0xC, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x600C60005566602060406000F060205260076039F3 + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15)) + + Op.CALL( + gas=0x0, + address=Op.SLOAD(key=0x0), + value=0xC, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=112, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x3B9ACA00) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=contract_0, + data=Bytes("00"), gas_limit=200000, ) post = { - contract: Account( + contract_0: Account( storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + nonce=1, ), - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={0: 12}, + sender: Account(nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 12}, balance=1, nonce=1 ), } diff --git a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_which_would_create_contract_if_called.py b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_which_would_create_contract_if_called.py index 5b89c8bea44..0f968466a78 100644 --- a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_which_would_create_contract_if_called.py +++ b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_which_would_create_contract_if_called.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_contract_to_create_contract_which_would_create_contract_if_cal... Ported from: -tests/static/state_tests/stInitCodeTest -CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json +state_tests/stInitCodeTest/CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stInitCodeTest/CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json", # noqa: E501 + "state_tests/stInitCodeTest/CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_call_contract_to_create_contract_which_would_create_contract_if_called( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_contract_to_create_contract_which_would_create_contract_i...""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,47 +50,47 @@ def test_call_contract_to_create_contract_which_would_create_contract_if_called( gas_limit=1000000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 1 11 21)(CALL 50000 (SLOAD 0) 1 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600C60005566602060406000F060205260076039F3, - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15) - ) - + Op.CALL( - gas=0xC350, - address=Op.SLOAD(key=0x0), - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x600C60005566602060406000F060205260076039F3 + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15)) + + Op.CALL( + gas=0xC350, + address=Op.SLOAD(key=0x0), + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=1000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x3B9ACA00) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=contract_0, + data=Bytes("00"), gas_limit=200000, ) post = { - contract: Account( + contract_0: Account( storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + nonce=1, ), - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={0: 12}, + Address( + 0x62C01474F089B07DAE603491675DC5B5748F7049 + ): Account.NONEXISTENT, + sender: Account(nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 12}, balance=2, nonce=2 ), } diff --git a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_which_would_create_contract_in_init_code.py b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_which_would_create_contract_in_init_code.py index 9a1c5324c57..57f2c8b40b6 100644 --- a/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_which_would_create_contract_in_init_code.py +++ b/tests/ported_static/stInitCodeTest/test_call_contract_to_create_contract_which_would_create_contract_in_init_code.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_contract_to_create_contract_which_would_create_contract_in_ini... Ported from: -tests/static/state_tests/stInitCodeTest -CallContractToCreateContractWhichWouldCreateContractInInitCodeFiller.json +state_tests/stInitCodeTest/CallContractToCreateContractWhichWouldCreateContractInInitCodeFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stInitCodeTest/CallContractToCreateContractWhichWouldCreateContractInInitCodeFiller.json", # noqa: E501 + "state_tests/stInitCodeTest/CallContractToCreateContractWhichWouldCreateContractInInitCodeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_call_contract_to_create_contract_which_would_create_contract_in_init_co state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_contract_to_create_contract_which_would_create_contract_i...""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,30 +50,33 @@ def test_call_contract_to_create_contract_which_would_create_contract_in_init_co gas_limit=1000000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x600c600055602060406000f0)(CREATE 0 20 12)} - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x600C600055602060406000F0) - + Op.CREATE(value=0x0, offset=0x14, size=0xC) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x600C600055602060406000F0) + + Op.CREATE(value=0x0, offset=0x14, size=0xC) + + Op.STOP, balance=1, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x3B9ACA00) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=contract_0, + data=Bytes("00"), gas_limit=200000, ) post = { - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={0: 12}, + contract_0: Account(balance=1, nonce=1), + Address( + 0x62C01474F089B07DAE603491675DC5B5748F7049 + ): Account.NONEXISTENT, + sender: Account(nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 12}, nonce=2 ), } diff --git a/tests/ported_static/stInitCodeTest/test_call_recursive_contract.py b/tests/ported_static/stInitCodeTest/test_call_recursive_contract.py index e8e5fe5786c..3735404acc9 100644 --- a/tests/ported_static/stInitCodeTest/test_call_recursive_contract.py +++ b/tests/ported_static/stInitCodeTest/test_call_recursive_contract.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_recursive_contract. Ported from: -tests/static/state_tests/stInitCodeTest/CallRecursiveContractFiller.json +state_tests/stInitCodeTest/CallRecursiveContractFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stInitCodeTest/CallRecursiveContractFiller.json", # noqa: E501 - ], + ["state_tests/stInitCodeTest/CallRecursiveContractFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_call_recursive_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_recursive_contract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,47 +47,38 @@ def test_call_recursive_contract( gas_limit=100000000, ) - # Source: LLL + # Source: lll # {[[ 2 ]](ADDRESS)(CODECOPY 0 0 32)(CREATE 0 0 32)} - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=Op.ADDRESS) - + Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.CREATE(value=0x0, offset=0x0, size=0x20) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=Op.ADDRESS) + + Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.CREATE(value=0x0, offset=0x0, size=0x20) + + Op.STOP, nonce=40, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x989680) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=contract_0, + data=Bytes("00"), gas_limit=400000, value=1, ) post = { - contract: Account( + contract_0: Account( storage={2: 0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87}, + balance=1, + nonce=41, ), - Address("0x4b0b4b3c7fd3dd5cea1d04dcf027dea29f84acb1"): Account( - storage={2: 0x4B0B4B3C7FD3DD5CEA1D04DCF027DEA29F84ACB1}, - ), - Address("0x60f971aa65f7e520dcb750823e2c239e61c3736b"): Account( - storage={2: 0x60F971AA65F7E520DCB750823E2C239E61C3736B}, - ), - Address("0x6fc9df08d2206eff4f4c378aeb2a1f8c570952b9"): Account( - storage={2: 0x6FC9DF08D2206EFF4F4C378AEB2A1F8C570952B9}, - ), - Address("0x74a77e95f3228f0b4d116d5a12e09aaf99ce54ae"): Account( - storage={2: 0x74A77E95F3228F0B4D116D5A12E09AAF99CE54AE}, - ), - Address("0xf0064be0919341a45680ec0d592eaee47df671ac"): Account( - storage={2: 0xF0064BE0919341A45680EC0D592EAEE47DF671AC}, - ), + Address( + 0x1A4C83E1A9834CDC7E4A905FF7F0CF44AED73180 + ): Account.NONEXISTENT, + Address( + 0x8E3411C91D5DD4081B4846FA2F93808F5AD19686 + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_call_the_contract_to_create_empty_contract.py b/tests/ported_static/stInitCodeTest/test_call_the_contract_to_create_empty_contract.py index 235d1e09063..dfb3de3012d 100644 --- a/tests/ported_static/stInitCodeTest/test_call_the_contract_to_create_empty_contract.py +++ b/tests/ported_static/stInitCodeTest/test_call_the_contract_to_create_empty_contract.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_the_contract_to_create_empty_contract. Ported from: -tests/static/state_tests/stInitCodeTest -CallTheContractToCreateEmptyContractFiller.json +state_tests/stInitCodeTest/CallTheContractToCreateEmptyContractFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stInitCodeTest/CallTheContractToCreateEmptyContractFiller.json", # noqa: E501 + "state_tests/stInitCodeTest/CallTheContractToCreateEmptyContractFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_call_the_contract_to_create_empty_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_the_contract_to_create_empty_contract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,23 +50,29 @@ def test_call_the_contract_to_create_empty_contract( gas_limit=100000000, ) - # Source: LLL + # Source: lll # {(CREATE 0 0 32)} - contract = pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.CREATE(value=0x0, offset=0x0, size=0x20) + Op.STOP, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x989680) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=contract_0, + data=Bytes("00"), gas_limit=100000, value=1, ) - post: dict = {} + post = { + contract_0: Account(balance=1, nonce=1), + sender: Account(nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + storage={}, code=b"", balance=0, nonce=1 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_out_of_gas_contract_creation.py b/tests/ported_static/stInitCodeTest/test_out_of_gas_contract_creation.py index 04a098b8b2b..2911e3a4d69 100644 --- a/tests/ported_static/stInitCodeTest/test_out_of_gas_contract_creation.py +++ b/tests/ported_static/stInitCodeTest/test_out_of_gas_contract_creation.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_out_of_gas_contract_creation. Ported from: -tests/static/state_tests/stInitCodeTest/OutOfGasContractCreationFiller.json +state_tests/stInitCodeTest/OutOfGasContractCreationFiller.json """ import pytest @@ -14,50 +14,62 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stInitCodeTest/OutOfGasContractCreationFiller.json", # noqa: E501 - ], + ["state_tests/stInitCodeTest/OutOfGasContractCreationFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ("600a80600c6000396000f200600160008035811a8100", 56000, {}), - ("600a80600c6000396000f200600160008035811a8100", 150000, {}), - ( - "600160015560026001556003600155600460015560056001556006600155", - 56000, - {}, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "600160015560026001556003600155600460015560056001556006600155", - 150000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 6} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", + ), + pytest.param( + 1, + 0, + 0, + id="d1-g0", + ), + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_out_of_gas_contract_creation( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_out_of_gas_contract_creation.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -72,19 +84,72 @@ def test_out_of_gas_contract_creation( ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address( + address=sender, nonce=0 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": 1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ), + }, + }, + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address( + address=sender, nonce=0 + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.PUSH1[0xA] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.CALLCODE + + Op.STOP + + Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.BYTE(Op.DUP2, Op.CALLDATALOAD(offset=Op.DUP1)) + + Op.DUP2 + + Op.STOP, + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x2) + + Op.SSTORE(key=0x1, value=0x3) + + Op.SSTORE(key=0x1, value=0x4) + + Op.SSTORE(key=0x1, value=0x5) + + Op.SSTORE(key=0x1, value=0x6), + ] + tx_gas = [56000, 150000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_out_of_gas_prefunded_contract_creation.py b/tests/ported_static/stInitCodeTest/test_out_of_gas_prefunded_contract_creation.py index 9ae0a5f05b6..51dd0b6725e 100644 --- a/tests/ported_static/stInitCodeTest/test_out_of_gas_prefunded_contract_creation.py +++ b/tests/ported_static/stInitCodeTest/test_out_of_gas_prefunded_contract_creation.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_out_of_gas_prefunded_contract_creation. Ported from: -tests/static/state_tests/stInitCodeTest -OutOfGasPrefundedContractCreationFiller.json +state_tests/stInitCodeTest/OutOfGasPrefundedContractCreationFiller.json """ import pytest @@ -16,6 +15,11 @@ StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @@ -23,39 +27,48 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stInitCodeTest/OutOfGasPrefundedContractCreationFiller.json", # noqa: E501 + "state_tests/stInitCodeTest/OutOfGasPrefundedContractCreationFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 154000, - { - Address("0x64e2ebd6405af8cb348aec519084d3fff42ebba6"): Account( - storage={0: 0x112233} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", ), - (65000, {}), - (95000, {}), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_out_of_gas_prefunded_contract_creation( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_out_of_gas_prefunded_contract_creation.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f") env = Environment( fee_recipient=coinbase, @@ -66,19 +79,58 @@ def test_out_of_gas_prefunded_contract_creation( gas_limit=1000000000, ) - pre[contract] = Account(balance=1, nonce=0) pre[sender] = Account(balance=0xF424000) + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 + ) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": [0, 1], "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(balance=1), + }, + }, + { + "indexes": {"data": -1, "gas": [2], "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(balance=2), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.PUSH1[0x9] + + Op.CODECOPY(dest_offset=0x0, offset=0x11, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.PUSH1[0x1] + + Op.POP(Op.CREATE) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x112233) + + Op.STOP * 2, + ] + tx_gas = [154000, 65000, 95000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "600980601160003960006001f0500000fe621122336000550000" - ), - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_return_test.py b/tests/ported_static/stInitCodeTest/test_return_test.py index 54874b4d29b..ec66c49dd59 100644 --- a/tests/ported_static/stInitCodeTest/test_return_test.py +++ b/tests/ported_static/stInitCodeTest/test_return_test.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_return_test. Ported from: -tests/static/state_tests/stInitCodeTest/ReturnTestFiller.json +state_tests/stInitCodeTest/ReturnTestFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stInitCodeTest/ReturnTestFiller.json"], + ["state_tests/stInitCodeTest/ReturnTestFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,10 @@ def test_return_test( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_return_test.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x194F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,50 +48,45 @@ def test_return_test( gas_limit=10000000, ) - # Source: LLL + # Source: lll # {(CALL 2000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 30 1 31 1) [[0]](MLOAD 0) (RETURN 30 2)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x7D0, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x1E, - args_size=0x1, - ret_offset=0x1F, - ret_size=0x1, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x7D0, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x1E, + args_size=0x1, + ret_offset=0x1F, + ret_size=0x1, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.RETURN(offset=0x1E, size=0x2) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.RETURN(offset=0x1E, size=0x2) + + Op.STOP, nonce=0, - address=Address("0x194f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0x194F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) pre[sender] = Account(balance=0x989680) - # Source: LLL + # Source: lll # {(MSTORE 0 0x15) (RETURN 31 1)} - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x15) - + Op.RETURN(offset=0x1F, size=0x1) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x15) + + Op.RETURN(offset=0x1F, size=0x1) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=300000, ) - post = { - contract: Account(storage={0: 21}), - } + post = {contract_0: Account(storage={0: 21})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_return_test2.py b/tests/ported_static/stInitCodeTest/test_return_test2.py index 9bdd465dba3..fc4b408d63a 100644 --- a/tests/ported_static/stInitCodeTest/test_return_test2.py +++ b/tests/ported_static/stInitCodeTest/test_return_test2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_return_test2. Ported from: -tests/static/state_tests/stInitCodeTest/ReturnTest2Filler.json +state_tests/stInitCodeTest/ReturnTest2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stInitCodeTest/ReturnTest2Filler.json"], + ["state_tests/stInitCodeTest/ReturnTest2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,10 @@ def test_return_test2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_return_test2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x194F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,54 +48,49 @@ def test_return_test2( gas_limit=1000000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x15)(CALL 7000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 32 32 32) [[0]](MLOAD 0) [[1]](MLOAD 32) (RETURN 0 64)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x15) - + Op.POP( - Op.CALL( - gas=0x1B58, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x20, - ret_size=0x20, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x15) + + Op.POP( + Op.CALL( + gas=0x1B58, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x20, + ret_size=0x20, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.RETURN(offset=0x0, size=0x40) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.RETURN(offset=0x0, size=0x40) + + Op.STOP, nonce=0, - address=Address("0x194f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0x194F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) pre[sender] = Account(balance=0x989680) - # Source: LLL + # Source: lll # {(MSTORE 0 (MUL 3 (CALLDATALOAD 0)))(RETURN 0 32)} - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, value=Op.MUL(0x3, Op.CALLDATALOAD(offset=0x0)) - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=Op.MUL(0x3, Op.CALLDATALOAD(offset=0x0)) + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=250000, ) - post = { - contract: Account(storage={0: 21, 1: 63}), - } + post = {contract_0: Account(storage={0: 21, 1: 63})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_stack_under_flow_contract_creation.py b/tests/ported_static/stInitCodeTest/test_stack_under_flow_contract_creation.py index 3df1e234c14..60af424269a 100644 --- a/tests/ported_static/stInitCodeTest/test_stack_under_flow_contract_creation.py +++ b/tests/ported_static/stInitCodeTest/test_stack_under_flow_contract_creation.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_stack_under_flow_contract_creation. Ported from: -tests/static/state_tests/stInitCodeTest -StackUnderFlowContractCreationFiller.json +state_tests/stInitCodeTest/StackUnderFlowContractCreationFiller.json """ import pytest @@ -15,16 +14,16 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stInitCodeTest/StackUnderFlowContractCreationFiller.json", # noqa: E501 - ], + ["state_tests/stInitCodeTest/StackUnderFlowContractCreationFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_stack_under_flow_contract_creation( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_under_flow_contract_creation.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -53,10 +52,13 @@ def test_stack_under_flow_contract_creation( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("6000f1"), + data=Op.PUSH1[0x0] + Op.CALL, gas_limit=72000, ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_transaction_create_auto_suicide_contract.py b/tests/ported_static/stInitCodeTest/test_transaction_create_auto_suicide_contract.py index a970caf6251..271a5a75705 100644 --- a/tests/ported_static/stInitCodeTest/test_transaction_create_auto_suicide_contract.py +++ b/tests/ported_static/stInitCodeTest/test_transaction_create_auto_suicide_contract.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_transaction_create_auto_suicide_contract. Ported from: -tests/static/state_tests/stInitCodeTest -TransactionCreateAutoSuicideContractFiller.json +state_tests/stInitCodeTest/TransactionCreateAutoSuicideContractFiller.json """ import pytest @@ -16,6 +15,7 @@ StateTestFiller, Transaction, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @@ -23,7 +23,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stInitCodeTest/TransactionCreateAutoSuicideContractFiller.json", # noqa: E501 + "state_tests/stInitCodeTest/TransactionCreateAutoSuicideContractFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,8 +32,8 @@ def test_transaction_create_auto_suicide_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction_create_auto_suicide_contract.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,11 +52,23 @@ def test_transaction_create_auto_suicide_contract( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("600a80600c6000396000fff2ffff600160008035811a81"), + data=Op.PUSH1[0xA] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.SELFDESTRUCT(address=0x0) + + Op.SELFDESTRUCT(address=Op.CALLCODE) + + Op.SELFDESTRUCT + + Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.BYTE(Op.DUP2, Op.CALLDATALOAD(offset=Op.DUP1)) + + Op.DUP2, gas_limit=55000, value=15, ) - post: dict = {} + post = { + Address( + 0x0000000000000000000000000000000000000000 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_transaction_create_random_init_code.py b/tests/ported_static/stInitCodeTest/test_transaction_create_random_init_code.py index a064da8a615..860a00e375d 100644 --- a/tests/ported_static/stInitCodeTest/test_transaction_create_random_init_code.py +++ b/tests/ported_static/stInitCodeTest/test_transaction_create_random_init_code.py @@ -1,9 +1,8 @@ """ -stack underflow in init code. +Stack underflow in init code. Ported from: -tests/static/state_tests/stInitCodeTest -TransactionCreateRandomInitCodeFiller.json +state_tests/stInitCodeTest/TransactionCreateRandomInitCodeFiller.json """ import pytest @@ -15,16 +14,16 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stInitCodeTest/TransactionCreateRandomInitCodeFiller.json", # noqa: E501 - ], + ["state_tests/stInitCodeTest/TransactionCreateRandomInitCodeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_transaction_create_random_init_code( pre: Alloc, ) -> None: """Stack underflow in init code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -53,11 +52,23 @@ def test_transaction_create_random_init_code( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("600a80600c6000396000f200600160008035811a8100"), + data=Op.PUSH1[0xA] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.CALLCODE + + Op.STOP + + Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.BYTE(Op.DUP2, Op.CALLDATALOAD(offset=Op.DUP1)) + + Op.DUP2 + + Op.STOP, gas_limit=64599, value=1, ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_transaction_create_stop_in_initcode.py b/tests/ported_static/stInitCodeTest/test_transaction_create_stop_in_initcode.py index 20fe26ef8c1..e4e8f335ae2 100644 --- a/tests/ported_static/stInitCodeTest/test_transaction_create_stop_in_initcode.py +++ b/tests/ported_static/stInitCodeTest/test_transaction_create_stop_in_initcode.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_transaction_create_stop_in_initcode. Ported from: -tests/static/state_tests/stInitCodeTest -TransactionCreateStopInInitcodeFiller.json +state_tests/stInitCodeTest/TransactionCreateStopInInitcodeFiller.json """ import pytest @@ -15,16 +14,16 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stInitCodeTest/TransactionCreateStopInInitcodeFiller.json", # noqa: E501 - ], + ["state_tests/stInitCodeTest/TransactionCreateStopInInitcodeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_transaction_create_stop_in_initcode( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction_create_stop_in_initcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,11 +51,23 @@ def test_transaction_create_stop_in_initcode( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("600a80600c600039600000f20000600160008035811a81"), + data=Op.PUSH1[0xA] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.STOP + + Op.CALLCODE + + Op.STOP * 2 + + Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.BYTE(Op.DUP2, Op.CALLDATALOAD(offset=Op.DUP1)) + + Op.DUP2, gas_limit=55000, value=1, ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account(balance=1), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stInitCodeTest/test_transaction_create_suicide_in_initcode.py b/tests/ported_static/stInitCodeTest/test_transaction_create_suicide_in_initcode.py index d78d7a13757..dd53ae55822 100644 --- a/tests/ported_static/stInitCodeTest/test_transaction_create_suicide_in_initcode.py +++ b/tests/ported_static/stInitCodeTest/test_transaction_create_suicide_in_initcode.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_transaction_create_suicide_in_initcode. Ported from: -tests/static/state_tests/stInitCodeTest -TransactionCreateSuicideInInitcodeFiller.json +state_tests/stInitCodeTest/TransactionCreateSuicideInInitcodeFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stInitCodeTest/TransactionCreateSuicideInInitcodeFiller.json", # noqa: E501 + "state_tests/stInitCodeTest/TransactionCreateSuicideInInitcodeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,8 +33,8 @@ def test_transaction_create_suicide_in_initcode( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction_create_suicide_in_initcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -53,11 +54,14 @@ def test_transaction_create_suicide_in_initcode( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("30ff00"), + data=Op.SELFDESTRUCT(address=Op.ADDRESS) + Op.STOP, gas_limit=155000, value=1, ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/__init__.py b/tests/ported_static/stLogTests/__init__.py index ec7e9210bcf..663df0591dd 100644 --- a/tests/ported_static/stLogTests/__init__.py +++ b/tests/ported_static/stLogTests/__init__.py @@ -1 +1 @@ -"""Tests ported from stLogTests.""" +"""Ported static tests: stLogTests.""" # noqa: N999 diff --git a/tests/ported_static/stLogTests/test_log0_empty_mem.py b/tests/ported_static/stLogTests/test_log0_empty_mem.py index 4d326580550..9fb9491d611 100644 --- a/tests/ported_static/stLogTests/test_log0_empty_mem.py +++ b/tests/ported_static/stLogTests/test_log0_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log0_empty_mem. Ported from: -tests/static/state_tests/stLogTests/log0_emptyMemFiller.json +state_tests/stLogTests/log0_emptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log0_emptyMemFiller.json"], + ["state_tests/stLogTests/log0_emptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log0_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log0_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,45 +46,44 @@ def test_log0_empty_mem( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xC2A943E837808399D9C1B946C6188739D4D4475E, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xC2A943E837808399D9C1B946C6188739D4D4475E, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (LOG0 0 0) } + addr = pre.deploy_contract( # noqa: F841 code=Op.LOG0(offset=0x0, size=0x0) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc2a943e837808399d9c1b946c6188739d4d4475e"), # noqa: E501 + address=Address(0xC2A943E837808399D9C1B946C6188739D4D4475E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log0_log_mem_start_too_high.py b/tests/ported_static/stLogTests/test_log0_log_mem_start_too_high.py index fc32371223f..836c248590b 100644 --- a/tests/ported_static/stLogTests/test_log0_log_mem_start_too_high.py +++ b/tests/ported_static/stLogTests/test_log0_log_mem_start_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log0_log_mem_start_too_high. Ported from: -tests/static/state_tests/stLogTests/log0_logMemStartTooHighFiller.json +state_tests/stLogTests/log0_logMemStartTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log0_logMemStartTooHighFiller.json"], + ["state_tests/stLogTests/log0_logMemStartTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log0_log_mem_start_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log0_log_mem_start_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,53 +46,52 @@ def test_log0_log_mem_start_too_high( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x4E46DD6CCD823BBE05D8CEAF0CA778101F8D8E6B, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x4E46DD6CCD823BBE05D8CEAF0CA778101F8D8E6B, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x1, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x1, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4e46dd6ccd823bbe05d8ceaf0ca778101f8d8e6b"), # noqa: E501 + address=Address(0x4E46DD6CCD823BBE05D8CEAF0CA778101F8D8E6B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log0_log_memsize_too_high.py b/tests/ported_static/stLogTests/test_log0_log_memsize_too_high.py index 1882820fd8d..3ae97a5aa54 100644 --- a/tests/ported_static/stLogTests/test_log0_log_memsize_too_high.py +++ b/tests/ported_static/stLogTests/test_log0_log_memsize_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log0_log_memsize_too_high. Ported from: -tests/static/state_tests/stLogTests/log0_logMemsizeTooHighFiller.json +state_tests/stLogTests/log0_logMemsizeTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log0_logMemsizeTooHighFiller.json"], + ["state_tests/stLogTests/log0_logMemsizeTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log0_log_memsize_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log0_log_memsize_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,53 +46,52 @@ def test_log0_log_memsize_too_high( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x6573BB447199FC94C98AD0F26068653C70DA4044, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x6573BB447199FC94C98AD0F26068653C70DA4044, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0( - offset=0x1, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0( + offset=0x1, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6573bb447199fc94c98ad0f26068653c70da4044"), # noqa: E501 + address=Address(0x6573BB447199FC94C98AD0F26068653C70DA4044), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log0_log_memsize_zero.py b/tests/ported_static/stLogTests/test_log0_log_memsize_zero.py index 316978b9c28..84c0ed789bf 100644 --- a/tests/ported_static/stLogTests/test_log0_log_memsize_zero.py +++ b/tests/ported_static/stLogTests/test_log0_log_memsize_zero.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log0_log_memsize_zero. Ported from: -tests/static/state_tests/stLogTests/log0_logMemsizeZeroFiller.json +state_tests/stLogTests/log0_logMemsizeZeroFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log0_logMemsizeZeroFiller.json"], + ["state_tests/stLogTests/log0_logMemsizeZeroFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log0_log_memsize_zero( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log0_log_memsize_zero.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,52 +46,49 @@ def test_log0_log_memsize_zero( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x2F70A6BCEE18358A07F12FF4630E0A802D8C293A, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x2F70A6BCEE18358A07F12FF4630E0A802D8C293A, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0(offset=0x1, size=0x0) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 1 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0(offset=0x1, size=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2f70a6bcee18358a07f12ff4630e0a802d8c293a"), # noqa: E501 + address=Address(0x2F70A6BCEE18358A07F12FF4630E0A802D8C293A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log0_non_empty_mem.py b/tests/ported_static/stLogTests/test_log0_non_empty_mem.py index 8cb2277b354..b4bbb933d39 100644 --- a/tests/ported_static/stLogTests/test_log0_non_empty_mem.py +++ b/tests/ported_static/stLogTests/test_log0_non_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log0_non_empty_mem. Ported from: -tests/static/state_tests/stLogTests/log0_nonEmptyMemFiller.json +state_tests/stLogTests/log0_nonEmptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log0_nonEmptyMemFiller.json"], + ["state_tests/stLogTests/log0_nonEmptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log0_non_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log0_non_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,52 +46,49 @@ def test_log0_non_empty_mem( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x86BB6680BEC59591FA113B66365D1BF87A4C6910, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x86BB6680BEC59591FA113B66365D1BF87A4C6910, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG0(offset=0x0, size=0x20) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG0(offset=0x0, size=0x20) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x86bb6680bec59591fa113b66365d1bf87a4c6910"), # noqa: E501 + address=Address(0x86BB6680BEC59591FA113B66365D1BF87A4C6910), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log0_non_empty_mem_log_mem_size1.py b/tests/ported_static/stLogTests/test_log0_non_empty_mem_log_mem_size1.py index b905b343ffb..84e1cb5e27e 100644 --- a/tests/ported_static/stLogTests/test_log0_non_empty_mem_log_mem_size1.py +++ b/tests/ported_static/stLogTests/test_log0_non_empty_mem_log_mem_size1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log0_non_empty_mem_log_mem_size1. Ported from: -tests/static/state_tests/stLogTests/log0_nonEmptyMem_logMemSize1Filler.json +state_tests/stLogTests/log0_nonEmptyMem_logMemSize1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stLogTests/log0_nonEmptyMem_logMemSize1Filler.json", # noqa: E501 - ], + ["state_tests/stLogTests/log0_nonEmptyMem_logMemSize1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_log0_non_empty_mem_log_mem_size1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log0_non_empty_mem_log_mem_size1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,52 +46,49 @@ def test_log0_non_empty_mem_log_mem_size1( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0(offset=0x0, size=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x2DA68E115CD98F7D70E0B7CFABE76581FD2D667, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x02da68e115cd98f7d70e0b7cfabe76581fd2d667"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x2DA68E115CD98F7D70E0B7CFABE76581FD2D667, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 0 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0(offset=0x0, size=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x02DA68E115CD98F7D70E0B7CFABE76581FD2D667), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=2100000, + value=0x200B20, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log0_non_empty_mem_log_mem_size1_log_mem_start31.py b/tests/ported_static/stLogTests/test_log0_non_empty_mem_log_mem_size1_log_mem_start31.py index dd55d2cf86b..0a97323c3b7 100644 --- a/tests/ported_static/stLogTests/test_log0_non_empty_mem_log_mem_size1_log_mem_start31.py +++ b/tests/ported_static/stLogTests/test_log0_non_empty_mem_log_mem_size1_log_mem_start31.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_log0_non_empty_mem_log_mem_size1_log_mem_start31. Ported from: -tests/static/state_tests/stLogTests -log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json +state_tests/stLogTests/log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stLogTests/log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json", # noqa: E501 + "state_tests/stLogTests/log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_log0_non_empty_mem_log_mem_size1_log_mem_start31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log0_non_empty_mem_log_mem_size1_log_mem_start31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,52 +48,49 @@ def test_log0_non_empty_mem_log_mem_size1_log_mem_start31( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x897FEE72AFB437BE678EE00C486726DA08ADB887, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x897FEE72AFB437BE678EE00C486726DA08ADB887, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0(offset=0x1F, size=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 31 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0(offset=0x1F, size=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x897fee72afb437be678ee00c486726da08adb887"), # noqa: E501 + address=Address(0x897FEE72AFB437BE678EE00C486726DA08ADB887), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log1_caller.py b/tests/ported_static/stLogTests/test_log1_caller.py index 426941af6db..28c4c58fe0d 100644 --- a/tests/ported_static/stLogTests/test_log1_caller.py +++ b/tests/ported_static/stLogTests/test_log1_caller.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log1_caller. Ported from: -tests/static/state_tests/stLogTests/log1_CallerFiller.json +state_tests/stLogTests/log1_CallerFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log1_CallerFiller.json"], + ["state_tests/stLogTests/log1_CallerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log1_caller( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log1_caller.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,49 +46,46 @@ def test_log1_caller( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x488E90E8584A9B411FD53CFBB85544DE674BB24F, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x488E90E8584A9B411FD53CFBB85544DE674BB24F, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG1(offset=0x0, size=0x20, topic_1=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { (MSTORE8 0 0xff) (LOG1 0 32 (CALLER)) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG1(offset=0x0, size=0x20, topic_1=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x488e90e8584a9b411fd53cfbb85544de674bb24f"), # noqa: E501 + address=Address(0x488E90E8584A9B411FD53CFBB85544DE674BB24F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log1_empty_mem.py b/tests/ported_static/stLogTests/test_log1_empty_mem.py index 0833332a746..09d975a868f 100644 --- a/tests/ported_static/stLogTests/test_log1_empty_mem.py +++ b/tests/ported_static/stLogTests/test_log1_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log1_empty_mem. Ported from: -tests/static/state_tests/stLogTests/log1_emptyMemFiller.json +state_tests/stLogTests/log1_emptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log1_emptyMemFiller.json"], + ["state_tests/stLogTests/log1_emptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log1_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log1_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,45 +46,44 @@ def test_log1_empty_mem( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xA86CBC14A38774A22B21CC067FF70DD74CC18E7F, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xA86CBC14A38774A22B21CC067FF70DD74CC18E7F, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (LOG1 0 0 0) } + addr = pre.deploy_contract( # noqa: F841 code=Op.LOG1(offset=0x0, size=0x0, topic_1=0x0) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa86cbc14a38774a22b21cc067ff70dd74cc18e7f"), # noqa: E501 + address=Address(0xA86CBC14A38774A22B21CC067FF70DD74CC18E7F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log1_log_mem_start_too_high.py b/tests/ported_static/stLogTests/test_log1_log_mem_start_too_high.py index 1e91badcd90..480acfd7a72 100644 --- a/tests/ported_static/stLogTests/test_log1_log_mem_start_too_high.py +++ b/tests/ported_static/stLogTests/test_log1_log_mem_start_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log1_log_mem_start_too_high. Ported from: -tests/static/state_tests/stLogTests/log1_logMemStartTooHighFiller.json +state_tests/stLogTests/log1_logMemStartTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log1_logMemStartTooHighFiller.json"], + ["state_tests/stLogTests/log1_logMemStartTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log1_log_mem_start_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log1_log_mem_start_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,54 +46,53 @@ def test_log1_log_mem_start_too_high( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x2884BD4A36D3BF28249C493EEFC971380A638684, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x2884BD4A36D3BF28249C493EEFC971380A638684, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x1, - topic_1=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x1, + topic_1=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2884bd4a36d3bf28249c493eefc971380a638684"), # noqa: E501 + address=Address(0x2884BD4A36D3BF28249C493EEFC971380A638684), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log1_log_memsize_too_high.py b/tests/ported_static/stLogTests/test_log1_log_memsize_too_high.py index ed6da905a5d..5a65ba8f2fa 100644 --- a/tests/ported_static/stLogTests/test_log1_log_memsize_too_high.py +++ b/tests/ported_static/stLogTests/test_log1_log_memsize_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log1_log_memsize_too_high. Ported from: -tests/static/state_tests/stLogTests/log1_logMemsizeTooHighFiller.json +state_tests/stLogTests/log1_logMemsizeTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log1_logMemsizeTooHighFiller.json"], + ["state_tests/stLogTests/log1_logMemsizeTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log1_log_memsize_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log1_log_memsize_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,54 +46,53 @@ def test_log1_log_memsize_too_high( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x232172C10FC2B2CB5CCBC4349B5D177EB640EDC0, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x232172C10FC2B2CB5CCBC4349B5D177EB640EDC0, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1( - offset=0x1, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_1=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1( + offset=0x1, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_1=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x232172c10fc2b2cb5ccbc4349b5d177eb640edc0"), # noqa: E501 + address=Address(0x232172C10FC2B2CB5CCBC4349B5D177EB640EDC0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log1_log_memsize_zero.py b/tests/ported_static/stLogTests/test_log1_log_memsize_zero.py index 0d504e5fafa..f325df6918c 100644 --- a/tests/ported_static/stLogTests/test_log1_log_memsize_zero.py +++ b/tests/ported_static/stLogTests/test_log1_log_memsize_zero.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log1_log_memsize_zero. Ported from: -tests/static/state_tests/stLogTests/log1_logMemsizeZeroFiller.json +state_tests/stLogTests/log1_logMemsizeZeroFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log1_logMemsizeZeroFiller.json"], + ["state_tests/stLogTests/log1_logMemsizeZeroFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log1_log_memsize_zero( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log1_log_memsize_zero.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,52 +46,49 @@ def test_log1_log_memsize_zero( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xC1F290174E61D4F7F40C5E11677591C31E0F63C7, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xC1F290174E61D4F7F40C5E11677591C31E0F63C7, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1(offset=0x1, size=0x0, topic_1=0x0) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 1 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1(offset=0x1, size=0x0, topic_1=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc1f290174e61d4f7f40c5e11677591c31e0f63c7"), # noqa: E501 + address=Address(0xC1F290174E61D4F7F40C5E11677591C31E0F63C7), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log1_max_topic.py b/tests/ported_static/stLogTests/test_log1_max_topic.py index 284c5295e75..e029f52403d 100644 --- a/tests/ported_static/stLogTests/test_log1_max_topic.py +++ b/tests/ported_static/stLogTests/test_log1_max_topic.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log1_max_topic. Ported from: -tests/static/state_tests/stLogTests/log1_MaxTopicFiller.json +state_tests/stLogTests/log1_MaxTopicFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log1_MaxTopicFiller.json"], + ["state_tests/stLogTests/log1_MaxTopicFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log1_max_topic( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log1_max_topic.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,56 +46,53 @@ def test_log1_max_topic( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xFAA3ACCE157A3DEDD9D750DD925F6067D252752E, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xFAA3ACCE157A3DEDD9D750DD925F6067D252752E, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1( - offset=0x0, - size=0x20, - topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1( + offset=0x0, + size=0x20, + topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfaa3acce157a3dedd9d750dd925f6067d252752e"), # noqa: E501 + address=Address(0xFAA3ACCE157A3DEDD9D750DD925F6067D252752E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log1_non_empty_mem.py b/tests/ported_static/stLogTests/test_log1_non_empty_mem.py index b38d929018d..9a34219bd54 100644 --- a/tests/ported_static/stLogTests/test_log1_non_empty_mem.py +++ b/tests/ported_static/stLogTests/test_log1_non_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log1_non_empty_mem. Ported from: -tests/static/state_tests/stLogTests/log1_nonEmptyMemFiller.json +state_tests/stLogTests/log1_nonEmptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log1_nonEmptyMemFiller.json"], + ["state_tests/stLogTests/log1_nonEmptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log1_non_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log1_non_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,52 +46,49 @@ def test_log1_non_empty_mem( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x6727EA02222B905F7708C2B4CB20898F34DFF1DD, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x6727EA02222B905F7708C2B4CB20898F34DFF1DD, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG1(offset=0x0, size=0x20, topic_1=0x0) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG1(offset=0x0, size=0x20, topic_1=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6727ea02222b905f7708c2b4cb20898f34dff1dd"), # noqa: E501 + address=Address(0x6727EA02222B905F7708C2B4CB20898F34DFF1DD), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log1_non_empty_mem_log_mem_size1.py b/tests/ported_static/stLogTests/test_log1_non_empty_mem_log_mem_size1.py index cd0ce79ab19..1ca4825fbb6 100644 --- a/tests/ported_static/stLogTests/test_log1_non_empty_mem_log_mem_size1.py +++ b/tests/ported_static/stLogTests/test_log1_non_empty_mem_log_mem_size1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log1_non_empty_mem_log_mem_size1. Ported from: -tests/static/state_tests/stLogTests/log1_nonEmptyMem_logMemSize1Filler.json +state_tests/stLogTests/log1_nonEmptyMem_logMemSize1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stLogTests/log1_nonEmptyMem_logMemSize1Filler.json", # noqa: E501 - ], + ["state_tests/stLogTests/log1_nonEmptyMem_logMemSize1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_log1_non_empty_mem_log_mem_size1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log1_non_empty_mem_log_mem_size1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,52 +46,49 @@ def test_log1_non_empty_mem_log_mem_size1( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xAA71C9D8F626B8430A90ADE1BC39F086C51A2E13, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xAA71C9D8F626B8430A90ADE1BC39F086C51A2E13, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1(offset=0x0, size=0x1, topic_1=0x0) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0 1 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1(offset=0x0, size=0x1, topic_1=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xaa71c9d8f626b8430a90ade1bc39f086c51a2e13"), # noqa: E501 + address=Address(0xAA71C9D8F626B8430A90ADE1BC39F086C51A2E13), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log1_non_empty_mem_log_mem_size1_log_mem_start31.py b/tests/ported_static/stLogTests/test_log1_non_empty_mem_log_mem_size1_log_mem_start31.py index 23b6d7e431d..abf92753a06 100644 --- a/tests/ported_static/stLogTests/test_log1_non_empty_mem_log_mem_size1_log_mem_start31.py +++ b/tests/ported_static/stLogTests/test_log1_non_empty_mem_log_mem_size1_log_mem_start31.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_log1_non_empty_mem_log_mem_size1_log_mem_start31. Ported from: -tests/static/state_tests/stLogTests -log1_nonEmptyMem_logMemSize1_logMemStart31Filler.json +state_tests/stLogTests/log1_nonEmptyMem_logMemSize1_logMemStart31Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stLogTests/log1_nonEmptyMem_logMemSize1_logMemStart31Filler.json", # noqa: E501 + "state_tests/stLogTests/log1_nonEmptyMem_logMemSize1_logMemStart31Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_log1_non_empty_mem_log_mem_size1_log_mem_start31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log1_non_empty_mem_log_mem_size1_log_mem_start31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,52 +48,49 @@ def test_log1_non_empty_mem_log_mem_size1_log_mem_start31( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xB0C981060788593ED6C8A538DE7CBDC696D8D76C, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xB0C981060788593ED6C8A538DE7CBDC696D8D76C, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1(offset=0x1F, size=0x1, topic_1=0x0) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 31 1 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1(offset=0x1F, size=0x1, topic_1=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb0c981060788593ed6c8a538de7cbdc696d8d76c"), # noqa: E501 + address=Address(0xB0C981060788593ED6C8A538DE7CBDC696D8D76C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log2_caller.py b/tests/ported_static/stLogTests/test_log2_caller.py index 150c16fa601..a953a227c99 100644 --- a/tests/ported_static/stLogTests/test_log2_caller.py +++ b/tests/ported_static/stLogTests/test_log2_caller.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log2_caller. Ported from: -tests/static/state_tests/stLogTests/log2_CallerFiller.json +state_tests/stLogTests/log2_CallerFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log2_CallerFiller.json"], + ["state_tests/stLogTests/log2_CallerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log2_caller( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log2_caller.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,49 +46,46 @@ def test_log2_caller( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x861CCCBD560D81A33AAC05190E986540663C6BBA, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x861CCCBD560D81A33AAC05190E986540663C6BBA, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG2(offset=0x0, size=0x20, topic_1=0x0, topic_2=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { (MSTORE8 0 0xff) (LOG2 0 32 0 (CALLER) ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG2(offset=0x0, size=0x20, topic_1=0x0, topic_2=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x861cccbd560d81a33aac05190e986540663c6bba"), # noqa: E501 + address=Address(0x861CCCBD560D81A33AAC05190E986540663C6BBA), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log2_empty_mem.py b/tests/ported_static/stLogTests/test_log2_empty_mem.py index 5ce625d4a3a..b2f67b628b0 100644 --- a/tests/ported_static/stLogTests/test_log2_empty_mem.py +++ b/tests/ported_static/stLogTests/test_log2_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log2_empty_mem. Ported from: -tests/static/state_tests/stLogTests/log2_emptyMemFiller.json +state_tests/stLogTests/log2_emptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log2_emptyMemFiller.json"], + ["state_tests/stLogTests/log2_emptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log2_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log2_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,45 +46,44 @@ def test_log2_empty_mem( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xE0A9386910935A6148822DDB2A8361DF15EF268F, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xE0A9386910935A6148822DDB2A8361DF15EF268F, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (LOG2 0 0 0 0) } + addr = pre.deploy_contract( # noqa: F841 code=Op.LOG2(offset=0x0, size=0x0, topic_1=0x0, topic_2=0x0) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe0a9386910935a6148822ddb2a8361df15ef268f"), # noqa: E501 + address=Address(0xE0A9386910935A6148822DDB2A8361DF15EF268F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log2_log_mem_start_too_high.py b/tests/ported_static/stLogTests/test_log2_log_mem_start_too_high.py index 6b2fdd17e70..67855b705af 100644 --- a/tests/ported_static/stLogTests/test_log2_log_mem_start_too_high.py +++ b/tests/ported_static/stLogTests/test_log2_log_mem_start_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log2_log_mem_start_too_high. Ported from: -tests/static/state_tests/stLogTests/log2_logMemStartTooHighFiller.json +state_tests/stLogTests/log2_logMemStartTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log2_logMemStartTooHighFiller.json"], + ["state_tests/stLogTests/log2_logMemStartTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log2_log_mem_start_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log2_log_mem_start_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,55 +46,54 @@ def test_log2_log_mem_start_too_high( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x9C6A28DAEC9E2AF2FA5C362EEDC028ACD207E63B, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x9C6A28DAEC9E2AF2FA5C362EEDC028ACD207E63B, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x1, - topic_1=0x0, - topic_2=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x1, + topic_1=0x0, + topic_2=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9c6a28daec9e2af2fa5c362eedc028acd207e63b"), # noqa: E501 + address=Address(0x9C6A28DAEC9E2AF2FA5C362EEDC028ACD207E63B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log2_log_memsize_too_high.py b/tests/ported_static/stLogTests/test_log2_log_memsize_too_high.py index aab2189a2f3..4a2ef34539d 100644 --- a/tests/ported_static/stLogTests/test_log2_log_memsize_too_high.py +++ b/tests/ported_static/stLogTests/test_log2_log_memsize_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log2_log_memsize_too_high. Ported from: -tests/static/state_tests/stLogTests/log2_logMemsizeTooHighFiller.json +state_tests/stLogTests/log2_logMemsizeTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log2_logMemsizeTooHighFiller.json"], + ["state_tests/stLogTests/log2_logMemsizeTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log2_log_memsize_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log2_log_memsize_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,55 +46,54 @@ def test_log2_log_memsize_too_high( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x3BAD71F49AD0CABDA27D388877A6CF157E9A3471, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x3BAD71F49AD0CABDA27D388877A6CF157E9A3471, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2( - offset=0x1, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_1=0x0, - topic_2=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2( + offset=0x1, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_1=0x0, + topic_2=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3bad71f49ad0cabda27d388877a6cf157e9a3471"), # noqa: E501 + address=Address(0x3BAD71F49AD0CABDA27D388877A6CF157E9A3471), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log2_log_memsize_zero.py b/tests/ported_static/stLogTests/test_log2_log_memsize_zero.py index 7301b8369f6..e59a0f8f026 100644 --- a/tests/ported_static/stLogTests/test_log2_log_memsize_zero.py +++ b/tests/ported_static/stLogTests/test_log2_log_memsize_zero.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log2_log_memsize_zero. Ported from: -tests/static/state_tests/stLogTests/log2_logMemsizeZeroFiller.json +state_tests/stLogTests/log2_logMemsizeZeroFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log2_logMemsizeZeroFiller.json"], + ["state_tests/stLogTests/log2_logMemsizeZeroFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log2_log_memsize_zero( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log2_log_memsize_zero.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,52 +46,49 @@ def test_log2_log_memsize_zero( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x5FE859FD0650FAB879E19018F55B76BE2E4C6391, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x5FE859FD0650FAB879E19018F55B76BE2E4C6391, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2(offset=0x1, size=0x0, topic_1=0x0, topic_2=0x0) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 1 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2(offset=0x1, size=0x0, topic_1=0x0, topic_2=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5fe859fd0650fab879e19018f55b76be2e4c6391"), # noqa: E501 + address=Address(0x5FE859FD0650FAB879E19018F55B76BE2E4C6391), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log2_max_topic.py b/tests/ported_static/stLogTests/test_log2_max_topic.py index 346a48cd66c..53adc2e753f 100644 --- a/tests/ported_static/stLogTests/test_log2_max_topic.py +++ b/tests/ported_static/stLogTests/test_log2_max_topic.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log2_max_topic. Ported from: -tests/static/state_tests/stLogTests/log2_MaxTopicFiller.json +state_tests/stLogTests/log2_MaxTopicFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log2_MaxTopicFiller.json"], + ["state_tests/stLogTests/log2_MaxTopicFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log2_max_topic( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log2_max_topic.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,57 +46,54 @@ def test_log2_max_topic( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x317504258A7AACAC178DA9B86E047C40C8A0A15B, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x317504258A7AACAC178DA9B86E047C40C8A0A15B, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2( - offset=0x0, - size=0x20, - topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_2=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2( + offset=0x0, + size=0x20, + topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_2=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x317504258a7aacac178da9b86e047c40c8a0a15b"), # noqa: E501 + address=Address(0x317504258A7AACAC178DA9B86E047C40C8A0A15B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log2_non_empty_mem.py b/tests/ported_static/stLogTests/test_log2_non_empty_mem.py index 710341c2f1e..b92d47ce8aa 100644 --- a/tests/ported_static/stLogTests/test_log2_non_empty_mem.py +++ b/tests/ported_static/stLogTests/test_log2_non_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log2_non_empty_mem. Ported from: -tests/static/state_tests/stLogTests/log2_nonEmptyMemFiller.json +state_tests/stLogTests/log2_nonEmptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log2_nonEmptyMemFiller.json"], + ["state_tests/stLogTests/log2_nonEmptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log2_non_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log2_non_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,52 +46,49 @@ def test_log2_non_empty_mem( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xFD7C64173AC47172BBAED3CC40C7ECCEE3BBE114, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xFD7C64173AC47172BBAED3CC40C7ECCEE3BBE114, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG2(offset=0x0, size=0x20, topic_1=0x0, topic_2=0x0) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG2 0 32 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG2(offset=0x0, size=0x20, topic_1=0x0, topic_2=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfd7c64173ac47172bbaed3cc40c7eccee3bbe114"), # noqa: E501 + address=Address(0xFD7C64173AC47172BBAED3CC40C7ECCEE3BBE114), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log2_non_empty_mem_log_mem_size1.py b/tests/ported_static/stLogTests/test_log2_non_empty_mem_log_mem_size1.py index d723bc6433e..509c5c59fd9 100644 --- a/tests/ported_static/stLogTests/test_log2_non_empty_mem_log_mem_size1.py +++ b/tests/ported_static/stLogTests/test_log2_non_empty_mem_log_mem_size1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log2_non_empty_mem_log_mem_size1. Ported from: -tests/static/state_tests/stLogTests/log2_nonEmptyMem_logMemSize1Filler.json +state_tests/stLogTests/log2_nonEmptyMem_logMemSize1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stLogTests/log2_nonEmptyMem_logMemSize1Filler.json", # noqa: E501 - ], + ["state_tests/stLogTests/log2_nonEmptyMem_logMemSize1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_log2_non_empty_mem_log_mem_size1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log2_non_empty_mem_log_mem_size1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,52 +46,49 @@ def test_log2_non_empty_mem_log_mem_size1( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x9B06D70A66BB79592EDCFA38DA878F8610EBC1A8, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x9B06D70A66BB79592EDCFA38DA878F8610EBC1A8, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2(offset=0x0, size=0x1, topic_1=0x0, topic_2=0x0) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 0 1 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2(offset=0x0, size=0x1, topic_1=0x0, topic_2=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9b06d70a66bb79592edcfa38da878f8610ebc1a8"), # noqa: E501 + address=Address(0x9B06D70A66BB79592EDCFA38DA878F8610EBC1A8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log2_non_empty_mem_log_mem_size1_log_mem_start31.py b/tests/ported_static/stLogTests/test_log2_non_empty_mem_log_mem_size1_log_mem_start31.py index 76f07953d99..cc8cc5478a2 100644 --- a/tests/ported_static/stLogTests/test_log2_non_empty_mem_log_mem_size1_log_mem_start31.py +++ b/tests/ported_static/stLogTests/test_log2_non_empty_mem_log_mem_size1_log_mem_start31.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_log2_non_empty_mem_log_mem_size1_log_mem_start31. Ported from: -tests/static/state_tests/stLogTests -log2_nonEmptyMem_logMemSize1_logMemStart31Filler.json +state_tests/stLogTests/log2_nonEmptyMem_logMemSize1_logMemStart31Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stLogTests/log2_nonEmptyMem_logMemSize1_logMemStart31Filler.json", # noqa: E501 + "state_tests/stLogTests/log2_nonEmptyMem_logMemSize1_logMemStart31Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_log2_non_empty_mem_log_mem_size1_log_mem_start31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log2_non_empty_mem_log_mem_size1_log_mem_start31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,52 +48,49 @@ def test_log2_non_empty_mem_log_mem_size1_log_mem_start31( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x54972C7257A6C4CDC7C3C144E8CCB3D8EB7AFE19, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x54972C7257A6C4CDC7C3C144E8CCB3D8EB7AFE19, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG2(offset=0x1F, size=0x1, topic_1=0x0, topic_2=0x0) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 31 1 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2(offset=0x1F, size=0x1, topic_1=0x0, topic_2=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x54972c7257a6c4cdc7c3c144e8ccb3d8eb7afe19"), # noqa: E501 + address=Address(0x54972C7257A6C4CDC7C3C144E8CCB3D8EB7AFE19), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log3_caller.py b/tests/ported_static/stLogTests/test_log3_caller.py index 427203d4300..60eb43c854c 100644 --- a/tests/ported_static/stLogTests/test_log3_caller.py +++ b/tests/ported_static/stLogTests/test_log3_caller.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log3_caller. Ported from: -tests/static/state_tests/stLogTests/log3_CallerFiller.json +state_tests/stLogTests/log3_CallerFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log3_CallerFiller.json"], + ["state_tests/stLogTests/log3_CallerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log3_caller( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_caller.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,55 +46,48 @@ def test_log3_caller( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x6C5DA6457F756A77C392C72FE884F7F650428AEF, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x6C5DA6457F756A77C392C72FE884F7F650428AEF, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG3( - offset=0x0, - size=0x20, - topic_1=0x0, - topic_2=0x0, - topic_3=Op.CALLER, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE8 0 0xff) (LOG3 0 32 0 0 (CALLER) ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG3( + offset=0x0, size=0x20, topic_1=0x0, topic_2=0x0, topic_3=Op.CALLER + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6c5da6457f756a77c392c72fe884f7f650428aef"), # noqa: E501 + address=Address(0x6C5DA6457F756A77C392C72FE884F7F650428AEF), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log3_empty_mem.py b/tests/ported_static/stLogTests/test_log3_empty_mem.py index ec29bc10bcc..6553322b8ff 100644 --- a/tests/ported_static/stLogTests/test_log3_empty_mem.py +++ b/tests/ported_static/stLogTests/test_log3_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log3_empty_mem. Ported from: -tests/static/state_tests/stLogTests/log3_emptyMemFiller.json +state_tests/stLogTests/log3_emptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log3_emptyMemFiller.json"], + ["state_tests/stLogTests/log3_emptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log3_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,50 +46,47 @@ def test_log3_empty_mem( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x7314CC13D5F8CF58DB63F7C590A16C8CA956B249, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x7314CC13D5F8CF58DB63F7C590A16C8CA956B249, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.LOG3( - offset=0x0, size=0x0, topic_1=0x0, topic_2=0x0, topic_3=0x0 - ) - + Op.STOP - ), + # Source: lll + # { (LOG3 0 0 0 0 0) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.LOG3( + offset=0x0, size=0x0, topic_1=0x0, topic_2=0x0, topic_3=0x0 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7314cc13d5f8cf58db63f7c590a16c8ca956b249"), # noqa: E501 + address=Address(0x7314CC13D5F8CF58DB63F7C590A16C8CA956B249), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log3_log_mem_start_too_high.py b/tests/ported_static/stLogTests/test_log3_log_mem_start_too_high.py index acb6c5ea478..cd4ea28c61b 100644 --- a/tests/ported_static/stLogTests/test_log3_log_mem_start_too_high.py +++ b/tests/ported_static/stLogTests/test_log3_log_mem_start_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log3_log_mem_start_too_high. Ported from: -tests/static/state_tests/stLogTests/log3_logMemStartTooHighFiller.json +state_tests/stLogTests/log3_logMemStartTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log3_logMemStartTooHighFiller.json"], + ["state_tests/stLogTests/log3_logMemStartTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log3_log_mem_start_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_log_mem_start_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,56 +46,55 @@ def test_log3_log_mem_start_too_high( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x1, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x1034F91C93DA34534EFF3F8EFA3A807A417E2496, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1034f91c93da34534eff3f8efa3a807a417e2496"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x1034F91C93DA34534EFF3F8EFA3A807A417E2496, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x1, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1034F91C93DA34534EFF3F8EFA3A807A417E2496), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log3_log_memsize_too_high.py b/tests/ported_static/stLogTests/test_log3_log_memsize_too_high.py index 31e12f95d54..cc560713c0e 100644 --- a/tests/ported_static/stLogTests/test_log3_log_memsize_too_high.py +++ b/tests/ported_static/stLogTests/test_log3_log_memsize_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log3_log_memsize_too_high. Ported from: -tests/static/state_tests/stLogTests/log3_logMemsizeTooHighFiller.json +state_tests/stLogTests/log3_logMemsizeTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log3_logMemsizeTooHighFiller.json"], + ["state_tests/stLogTests/log3_logMemsizeTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log3_log_memsize_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_log_memsize_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,56 +46,55 @@ def test_log3_log_memsize_too_high( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x9C9665291C53FC348FC97C4ACA92EA13459C8367, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x9C9665291C53FC348FC97C4ACA92EA13459C8367, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0x1, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3( + offset=0x1, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9c9665291c53fc348fc97c4aca92ea13459c8367"), # noqa: E501 + address=Address(0x9C9665291C53FC348FC97C4ACA92EA13459C8367), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log3_log_memsize_zero.py b/tests/ported_static/stLogTests/test_log3_log_memsize_zero.py index 81c24a5fbed..ff468b4db18 100644 --- a/tests/ported_static/stLogTests/test_log3_log_memsize_zero.py +++ b/tests/ported_static/stLogTests/test_log3_log_memsize_zero.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log3_log_memsize_zero. Ported from: -tests/static/state_tests/stLogTests/log3_logMemsizeZeroFiller.json +state_tests/stLogTests/log3_logMemsizeZeroFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log3_logMemsizeZeroFiller.json"], + ["state_tests/stLogTests/log3_logMemsizeZeroFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log3_log_memsize_zero( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_log_memsize_zero.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,54 +46,49 @@ def test_log3_log_memsize_zero( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x561CEB099A0D44D31649D7270095033C4003881F, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x561CEB099A0D44D31649D7270095033C4003881F, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0x1, size=0x0, topic_1=0x0, topic_2=0x0, topic_3=0x0 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 1 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3(offset=0x1, size=0x0, topic_1=0x0, topic_2=0x0, topic_3=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x561ceb099a0d44d31649d7270095033c4003881f"), # noqa: E501 + address=Address(0x561CEB099A0D44D31649D7270095033C4003881F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log3_max_topic.py b/tests/ported_static/stLogTests/test_log3_max_topic.py index a0455dd42c7..62ca782a779 100644 --- a/tests/ported_static/stLogTests/test_log3_max_topic.py +++ b/tests/ported_static/stLogTests/test_log3_max_topic.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log3_max_topic. Ported from: -tests/static/state_tests/stLogTests/log3_MaxTopicFiller.json +state_tests/stLogTests/log3_MaxTopicFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log3_MaxTopicFiller.json"], + ["state_tests/stLogTests/log3_MaxTopicFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log3_max_topic( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_max_topic.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,58 +46,55 @@ def test_log3_max_topic( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x3105241BE1236A8BD2D48B82BDD4DA7C7FCEC2D7, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x3105241BE1236A8BD2D48B82BDD4DA7C7FCEC2D7, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0x0, - size=0x20, - topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_2=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_3=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3( + offset=0x0, + size=0x20, + topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_2=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_3=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3105241be1236a8bd2d48b82bdd4da7c7fcec2d7"), # noqa: E501 + address=Address(0x3105241BE1236A8BD2D48B82BDD4DA7C7FCEC2D7), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log3_non_empty_mem.py b/tests/ported_static/stLogTests/test_log3_non_empty_mem.py index a6dcdcc9c9b..1572af57abc 100644 --- a/tests/ported_static/stLogTests/test_log3_non_empty_mem.py +++ b/tests/ported_static/stLogTests/test_log3_non_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log3_non_empty_mem. Ported from: -tests/static/state_tests/stLogTests/log3_nonEmptyMemFiller.json +state_tests/stLogTests/log3_nonEmptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log3_nonEmptyMemFiller.json"], + ["state_tests/stLogTests/log3_nonEmptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log3_non_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_non_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,54 +46,49 @@ def test_log3_non_empty_mem( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xF9578A6384BFFF36932A673BB3B0A9B92290E65C, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xF9578A6384BFFF36932A673BB3B0A9B92290E65C, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG3( - offset=0x0, size=0x20, topic_1=0x0, topic_2=0x0, topic_3=0x0 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG3 0 32 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG3(offset=0x0, size=0x20, topic_1=0x0, topic_2=0x0, topic_3=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf9578a6384bfff36932a673bb3b0a9b92290e65c"), # noqa: E501 + address=Address(0xF9578A6384BFFF36932A673BB3B0A9B92290E65C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log3_non_empty_mem_log_mem_size1.py b/tests/ported_static/stLogTests/test_log3_non_empty_mem_log_mem_size1.py index 853e10c4e24..69099c0d2f5 100644 --- a/tests/ported_static/stLogTests/test_log3_non_empty_mem_log_mem_size1.py +++ b/tests/ported_static/stLogTests/test_log3_non_empty_mem_log_mem_size1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log3_non_empty_mem_log_mem_size1. Ported from: -tests/static/state_tests/stLogTests/log3_nonEmptyMem_logMemSize1Filler.json +state_tests/stLogTests/log3_nonEmptyMem_logMemSize1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stLogTests/log3_nonEmptyMem_logMemSize1Filler.json", # noqa: E501 - ], + ["state_tests/stLogTests/log3_nonEmptyMem_logMemSize1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_log3_non_empty_mem_log_mem_size1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_non_empty_mem_log_mem_size1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,54 +46,49 @@ def test_log3_non_empty_mem_log_mem_size1( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xE0885D29735CC94D2CF68DA45B9EC5079C7102CC, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xE0885D29735CC94D2CF68DA45B9EC5079C7102CC, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0x0, size=0x1, topic_1=0x0, topic_2=0x0, topic_3=0x0 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 0 1 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3(offset=0x0, size=0x1, topic_1=0x0, topic_2=0x0, topic_3=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe0885d29735cc94d2cf68da45b9ec5079c7102cc"), # noqa: E501 + address=Address(0xE0885D29735CC94D2CF68DA45B9EC5079C7102CC), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log3_non_empty_mem_log_mem_size1_log_mem_start31.py b/tests/ported_static/stLogTests/test_log3_non_empty_mem_log_mem_size1_log_mem_start31.py index 5ed4848cfdf..80181418fc2 100644 --- a/tests/ported_static/stLogTests/test_log3_non_empty_mem_log_mem_size1_log_mem_start31.py +++ b/tests/ported_static/stLogTests/test_log3_non_empty_mem_log_mem_size1_log_mem_start31.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_log3_non_empty_mem_log_mem_size1_log_mem_start31. Ported from: -tests/static/state_tests/stLogTests -log3_nonEmptyMem_logMemSize1_logMemStart31Filler.json +state_tests/stLogTests/log3_nonEmptyMem_logMemSize1_logMemStart31Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stLogTests/log3_nonEmptyMem_logMemSize1_logMemStart31Filler.json", # noqa: E501 + "state_tests/stLogTests/log3_nonEmptyMem_logMemSize1_logMemStart31Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_log3_non_empty_mem_log_mem_size1_log_mem_start31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_non_empty_mem_log_mem_size1_log_mem_start31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,54 +48,49 @@ def test_log3_non_empty_mem_log_mem_size1_log_mem_start31( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG3( - offset=0x1F, size=0x1, topic_1=0x0, topic_2=0x0, topic_3=0x0 - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x14FA8BBD322A53AD4DAB974AEF0DF9EAA219F627, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x14fa8bbd322a53ad4dab974aef0df9eaa219f627"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x14FA8BBD322A53AD4DAB974AEF0DF9EAA219F627, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 31 1 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3(offset=0x1F, size=0x1, topic_1=0x0, topic_2=0x0, topic_3=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x14FA8BBD322A53AD4DAB974AEF0DF9EAA219F627), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log3_pc.py b/tests/ported_static/stLogTests/test_log3_pc.py index 94bed1e469f..c3c0a87b4b0 100644 --- a/tests/ported_static/stLogTests/test_log3_pc.py +++ b/tests/ported_static/stLogTests/test_log3_pc.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log3_pc. Ported from: -tests/static/state_tests/stLogTests/log3_PCFiller.json +state_tests/stLogTests/log3_PCFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log3_PCFiller.json"], + ["state_tests/stLogTests/log3_PCFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log3_pc( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_pc.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,55 +46,48 @@ def test_log3_pc( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x2D74CBAE3F7951CF201441F09537705A05E5290C, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x2D74CBAE3F7951CF201441F09537705A05E5290C, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG3( - offset=0x0, - size=0x20, - topic_1=Op.PC, - topic_2=Op.PC, - topic_3=Op.PC, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE8 0 0xff) (LOG3 0 32 (PC) (PC) (PC) ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG3( + offset=0x0, size=0x20, topic_1=Op.PC, topic_2=Op.PC, topic_3=Op.PC + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2d74cbae3f7951cf201441f09537705a05e5290c"), # noqa: E501 + address=Address(0x2D74CBAE3F7951CF201441F09537705A05E5290C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log4_caller.py b/tests/ported_static/stLogTests/test_log4_caller.py index 6ab3419b408..9480c345aa9 100644 --- a/tests/ported_static/stLogTests/test_log4_caller.py +++ b/tests/ported_static/stLogTests/test_log4_caller.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log4_caller. Ported from: -tests/static/state_tests/stLogTests/log4_CallerFiller.json +state_tests/stLogTests/log4_CallerFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log4_CallerFiller.json"], + ["state_tests/stLogTests/log4_CallerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log4_caller( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log4_caller.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,56 +46,53 @@ def test_log4_caller( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x3AAC40E63F4E85B4F222671FB5691C8A4FDFB3DE, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x3AAC40E63F4E85B4F222671FB5691C8A4FDFB3DE, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG4( - offset=0x0, - size=0x20, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=Op.CALLER, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE8 0 0xff) (LOG4 0 32 0 0 0 (CALLER) ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG4( + offset=0x0, + size=0x20, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=Op.CALLER, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3aac40e63f4e85b4f222671fb5691c8a4fdfb3de"), # noqa: E501 + address=Address(0x3AAC40E63F4E85B4F222671FB5691C8A4FDFB3DE), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log4_empty_mem.py b/tests/ported_static/stLogTests/test_log4_empty_mem.py index 83b4c8d463d..a110aeb8fd2 100644 --- a/tests/ported_static/stLogTests/test_log4_empty_mem.py +++ b/tests/ported_static/stLogTests/test_log4_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log4_empty_mem. Ported from: -tests/static/state_tests/stLogTests/log4_emptyMemFiller.json +state_tests/stLogTests/log4_emptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log4_emptyMemFiller.json"], + ["state_tests/stLogTests/log4_emptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log4_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log4_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,55 +46,52 @@ def test_log4_empty_mem( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x4D1560AF4D4E7F6B2B987D349D4B631048EBB581, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x4D1560AF4D4E7F6B2B987D349D4B631048EBB581, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.LOG4( - offset=0x0, - size=0x0, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (LOG4 0 0 0 0 0 0) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.LOG4( + offset=0x0, + size=0x0, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4d1560af4d4e7f6b2b987d349d4b631048ebb581"), # noqa: E501 + address=Address(0x4D1560AF4D4E7F6B2B987D349D4B631048EBB581), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log4_log_mem_start_too_high.py b/tests/ported_static/stLogTests/test_log4_log_mem_start_too_high.py index bc98c950725..b98f38fcc27 100644 --- a/tests/ported_static/stLogTests/test_log4_log_mem_start_too_high.py +++ b/tests/ported_static/stLogTests/test_log4_log_mem_start_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log4_log_mem_start_too_high. Ported from: -tests/static/state_tests/stLogTests/log4_logMemStartTooHighFiller.json +state_tests/stLogTests/log4_logMemStartTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log4_logMemStartTooHighFiller.json"], + ["state_tests/stLogTests/log4_logMemStartTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log4_log_mem_start_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log4_log_mem_start_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,57 +46,56 @@ def test_log4_log_mem_start_too_high( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x57D85807540DA11B345D5909E74550D27E116302, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x57D85807540DA11B345D5909E74550D27E116302, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x1, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x1, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x57d85807540da11b345d5909e74550d27e116302"), # noqa: E501 + address=Address(0x57D85807540DA11B345D5909E74550D27E116302), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log4_log_memsize_too_high.py b/tests/ported_static/stLogTests/test_log4_log_memsize_too_high.py index 391481d3fe0..c2696841314 100644 --- a/tests/ported_static/stLogTests/test_log4_log_memsize_too_high.py +++ b/tests/ported_static/stLogTests/test_log4_log_memsize_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log4_log_memsize_too_high. Ported from: -tests/static/state_tests/stLogTests/log4_logMemsizeTooHighFiller.json +state_tests/stLogTests/log4_logMemsizeTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log4_logMemsizeTooHighFiller.json"], + ["state_tests/stLogTests/log4_logMemsizeTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log4_log_memsize_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log4_log_memsize_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,57 +46,56 @@ def test_log4_log_memsize_too_high( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x59E2F8FDF907D6E627FCAFD97606824CE1FE1E2A, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x59E2F8FDF907D6E627FCAFD97606824CE1FE1E2A, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0x1, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0x1, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x59e2f8fdf907d6e627fcafd97606824ce1fe1e2a"), # noqa: E501 + address=Address(0x59E2F8FDF907D6E627FCAFD97606824CE1FE1E2A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log4_log_memsize_zero.py b/tests/ported_static/stLogTests/test_log4_log_memsize_zero.py index a5e67b14e83..2ab42b2d386 100644 --- a/tests/ported_static/stLogTests/test_log4_log_memsize_zero.py +++ b/tests/ported_static/stLogTests/test_log4_log_memsize_zero.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log4_log_memsize_zero. Ported from: -tests/static/state_tests/stLogTests/log4_logMemsizeZeroFiller.json +state_tests/stLogTests/log4_logMemsizeZeroFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log4_logMemsizeZeroFiller.json"], + ["state_tests/stLogTests/log4_logMemsizeZeroFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log4_log_memsize_zero( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log4_log_memsize_zero.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,59 +46,56 @@ def test_log4_log_memsize_zero( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xB03FD6E714A14074A17E2ECFD412E35B1DDB21E5, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xB03FD6E714A14074A17E2ECFD412E35B1DDB21E5, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0x1, - size=0x0, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 1 0 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0x1, + size=0x0, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb03fd6e714a14074a17e2ecfd412e35b1ddb21e5"), # noqa: E501 + address=Address(0xB03FD6E714A14074A17E2ECFD412E35B1DDB21E5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log4_max_topic.py b/tests/ported_static/stLogTests/test_log4_max_topic.py index e2d6bb3859b..45f2eadd24c 100644 --- a/tests/ported_static/stLogTests/test_log4_max_topic.py +++ b/tests/ported_static/stLogTests/test_log4_max_topic.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log4_max_topic. Ported from: -tests/static/state_tests/stLogTests/log4_MaxTopicFiller.json +state_tests/stLogTests/log4_MaxTopicFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log4_MaxTopicFiller.json"], + ["state_tests/stLogTests/log4_MaxTopicFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log4_max_topic( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log4_max_topic.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,59 +46,56 @@ def test_log4_max_topic( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xCCB217083DF3658F7F5BB3325D2368AC932ED83B, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xCCB217083DF3658F7F5BB3325D2368AC932ED83B, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0x0, - size=0x20, - topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_2=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_3=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_4=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0x0, + size=0x20, + topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_2=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_3=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_4=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xccb217083df3658f7f5bb3325d2368ac932ed83b"), # noqa: E501 + address=Address(0xCCB217083DF3658F7F5BB3325D2368AC932ED83B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log4_non_empty_mem.py b/tests/ported_static/stLogTests/test_log4_non_empty_mem.py index 5dc4139a23c..89e93ff070e 100644 --- a/tests/ported_static/stLogTests/test_log4_non_empty_mem.py +++ b/tests/ported_static/stLogTests/test_log4_non_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log4_non_empty_mem. Ported from: -tests/static/state_tests/stLogTests/log4_nonEmptyMemFiller.json +state_tests/stLogTests/log4_nonEmptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log4_nonEmptyMemFiller.json"], + ["state_tests/stLogTests/log4_nonEmptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log4_non_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log4_non_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,59 +46,56 @@ def test_log4_non_empty_mem( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xD78CA74FB91DC10B6315B23141F23FCE8317AB9A, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xD78CA74FB91DC10B6315B23141F23FCE8317AB9A, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG4( - offset=0x0, - size=0x20, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG4 0 32 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG4( + offset=0x0, + size=0x20, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd78ca74fb91dc10b6315b23141f23fce8317ab9a"), # noqa: E501 + address=Address(0xD78CA74FB91DC10B6315B23141F23FCE8317AB9A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log4_non_empty_mem_log_mem_size1.py b/tests/ported_static/stLogTests/test_log4_non_empty_mem_log_mem_size1.py index bb086fe0399..bdb4fdf5dea 100644 --- a/tests/ported_static/stLogTests/test_log4_non_empty_mem_log_mem_size1.py +++ b/tests/ported_static/stLogTests/test_log4_non_empty_mem_log_mem_size1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log4_non_empty_mem_log_mem_size1. Ported from: -tests/static/state_tests/stLogTests/log4_nonEmptyMem_logMemSize1Filler.json +state_tests/stLogTests/log4_nonEmptyMem_logMemSize1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stLogTests/log4_nonEmptyMem_logMemSize1Filler.json", # noqa: E501 - ], + ["state_tests/stLogTests/log4_nonEmptyMem_logMemSize1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_log4_non_empty_mem_log_mem_size1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log4_non_empty_mem_log_mem_size1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,59 +46,56 @@ def test_log4_non_empty_mem_log_mem_size1( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xA1BA9EDCB02902136B7A79A5C49409E244BC01C5, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xA1BA9EDCB02902136B7A79A5C49409E244BC01C5, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0x0, - size=0x1, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 0 1 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0x0, + size=0x1, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa1ba9edcb02902136b7a79a5c49409e244bc01c5"), # noqa: E501 + address=Address(0xA1BA9EDCB02902136B7A79A5C49409E244BC01C5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log4_non_empty_mem_log_mem_size1_log_mem_start31.py b/tests/ported_static/stLogTests/test_log4_non_empty_mem_log_mem_size1_log_mem_start31.py index f8c5be8cf34..4ca21e7a71c 100644 --- a/tests/ported_static/stLogTests/test_log4_non_empty_mem_log_mem_size1_log_mem_start31.py +++ b/tests/ported_static/stLogTests/test_log4_non_empty_mem_log_mem_size1_log_mem_start31.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_log4_non_empty_mem_log_mem_size1_log_mem_start31. Ported from: -tests/static/state_tests/stLogTests -log4_nonEmptyMem_logMemSize1_logMemStart31Filler.json +state_tests/stLogTests/log4_nonEmptyMem_logMemSize1_logMemStart31Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stLogTests/log4_nonEmptyMem_logMemSize1_logMemStart31Filler.json", # noqa: E501 + "state_tests/stLogTests/log4_nonEmptyMem_logMemSize1_logMemStart31Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_log4_non_empty_mem_log_mem_size1_log_mem_start31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log4_non_empty_mem_log_mem_size1_log_mem_start31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,59 +48,56 @@ def test_log4_non_empty_mem_log_mem_size1_log_mem_start31( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x23886789BD30D62944A3475276B774A785CB3329, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x23886789BD30D62944A3475276B774A785CB3329, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG4( - offset=0x1F, - size=0x1, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 31 1 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0x1F, + size=0x1, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x23886789bd30d62944a3475276b774a785cb3329"), # noqa: E501 + address=Address(0x23886789BD30D62944A3475276B774A785CB3329), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log4_pc.py b/tests/ported_static/stLogTests/test_log4_pc.py index da1a93ff8d6..6448e008a77 100644 --- a/tests/ported_static/stLogTests/test_log4_pc.py +++ b/tests/ported_static/stLogTests/test_log4_pc.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log4_pc. Ported from: -tests/static/state_tests/stLogTests/log4_PCFiller.json +state_tests/stLogTests/log4_PCFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/log4_PCFiller.json"], + ["state_tests/stLogTests/log4_PCFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log4_pc( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log4_pc.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,56 +46,53 @@ def test_log4_pc( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x84861F45AE3E1AA4792A50F336696EFA9902C95B, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x84861F45AE3E1AA4792A50F336696EFA9902C95B, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e5597b6168fe79952cb2de7af91c3449bc95bd4"), # noqa: E501 + address=Address(0x1E5597B6168FE79952CB2DE7AF91C3449BC95BD4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG4( - offset=0x0, - size=0x20, - topic_1=Op.PC, - topic_2=Op.PC, - topic_3=Op.PC, - topic_4=Op.PC, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE8 0 0xff) (LOG4 0 32 (PC) (PC) (PC) (PC) ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG4( + offset=0x0, + size=0x20, + topic_1=Op.PC, + topic_2=Op.PC, + topic_3=Op.PC, + topic_4=Op.PC, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x84861f45ae3e1aa4792a50f336696efa9902c95b"), # noqa: E501 + address=Address(0x84861F45AE3E1AA4792A50F336696EFA9902C95B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stLogTests/test_log_in_oog_call.py b/tests/ported_static/stLogTests/test_log_in_oog_call.py index 112910254e4..28be25e5bb7 100644 --- a/tests/ported_static/stLogTests/test_log_in_oog_call.py +++ b/tests/ported_static/stLogTests/test_log_in_oog_call.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log_in_oog_call. Ported from: -tests/static/state_tests/stLogTests/logInOOG_CallFiller.json +state_tests/stLogTests/logInOOG_CallFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stLogTests/logInOOG_CallFiller.json"], + ["state_tests/stLogTests/logInOOG_CallFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log_in_oog_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log_in_oog_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,47 +46,46 @@ def test_log_in_oog_call( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.LOG0(offset=0x0, size=0x20) - + Op.MLOAD(offset=0xFFFFFFFFFFFFFFFF) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 100000 23 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x186A0, + address=0x69B6134B97E638B919A7089DF82AF74961E71FF8, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x69b6134b97e638b919a7089df82af74961e71ff8"), # noqa: E501 + address=Address(0x825DCC9FBF5CFF44E688BAE15B79E8E11951BE2A), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL 100000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x186A0, - address=0x69B6134B97E638B919A7089DF82AF74961E71FF8, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (LOG0 0 32) (MLOAD 0xffffffffffffffff) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.LOG0(offset=0x0, size=0x20) + + Op.MLOAD(offset=0xFFFFFFFFFFFFFFFF) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x825dcc9fbf5cff44e688bae15b79e8e11951be2a"), # noqa: E501 + address=Address(0x69B6134B97E638B919A7089DF82AF74961E71FF8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemExpandingEIP150Calls/__init__.py b/tests/ported_static/stMemExpandingEIP150Calls/__init__.py index 9457e5b4c62..2bfff1f8f58 100644 --- a/tests/ported_static/stMemExpandingEIP150Calls/__init__.py +++ b/tests/ported_static/stMemExpandingEIP150Calls/__init__.py @@ -1 +1 @@ -"""Tests ported from stMemExpandingEIP150Calls.""" +"""Ported static tests: stMemExpandingEIP150Calls.""" # noqa: N999 diff --git a/tests/ported_static/stMemExpandingEIP150Calls/test_call_and_callcode_consume_more_gas_then_transaction_has_with_mem_expanding_calls.py b/tests/ported_static/stMemExpandingEIP150Calls/test_call_and_callcode_consume_more_gas_then_transaction_has_with_mem_expanding_calls.py index e4709bc1d9a..e40f6d2ceb0 100644 --- a/tests/ported_static/stMemExpandingEIP150Calls/test_call_and_callcode_consume_more_gas_then_transaction_has_with_mem_expanding_calls.py +++ b/tests/ported_static/stMemExpandingEIP150Calls/test_call_and_callcode_consume_more_gas_then_transaction_has_with_mem_expanding_calls.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_and_callcode_consume_more_gas_then_transaction_has_with_mem_ex... Ported from: -tests/static/state_tests/stMemExpandingEIP150Calls -CallAndCallcodeConsumeMoreGasThenTransactionHasWithMemExpandingCallsFiller.json +state_tests/stMemExpandingEIP150Calls/CallAndCallcodeConsumeMoreGasThenTransactionHasWithMemExpandingCallsFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stMemExpandingEIP150Calls/CallAndCallcodeConsumeMoreGasThenTransactionHasWithMemExpandingCallsFiller.json", # noqa: E501 + "state_tests/stMemExpandingEIP150Calls/CallAndCallcodeConsumeMoreGasThenTransactionHasWithMemExpandingCallsFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_and_callcode_consume_more_gas_then_transaction_has_with_mem_expand state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_and_callcode_consume_more_gas_then_transaction_has_with_m...""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x8D19F2B0D2F5689C1771FBCA70476CA6E877A81EE15C3733DE87FAE38E5ABCEF ) @@ -48,55 +48,57 @@ def test_call_and_callcode_consume_more_gas_then_transaction_has_with_mem_expand gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x927C0, - address=0xA1F6E75A455896613053D45331763A07F4718969, - value=0x0, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) - + Op.SSTORE( - key=0xA, - value=Op.CALLCODE( - gas=0x927C0, - address=0xA1F6E75A455896613053D45331763A07F4718969, - value=0x0, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) - ), - nonce=0, - address=Address("0x346e4c3e54a808e0cad66173de0d81ff4d06babf"), # noqa: E501 - ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: raw bytecode - callee = pre.deploy_contract( + # Source: hex + # 0x6012600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x12), nonce=0, - address=Address("0xa1f6e75a455896613053d45331763a07f4718969"), # noqa: E501 + address=Address(0xA1F6E75A455896613053D45331763A07F4718969), # noqa: E501 + ) + # Source: hex + # 0x5a60085560ff60ff60ff60ff600073620927c0f160095560ff60ff60ff60ff600073620927c0f2600a55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x927C0, + address=0xA1F6E75A455896613053D45331763A07F4718969, + value=0x0, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), + ) + + Op.SSTORE( + key=0xA, + value=Op.CALLCODE( + gas=0x927C0, + address=0xA1F6E75A455896613053D45331763A07F4718969, + value=0x0, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), + ), + nonce=0, + address=Address(0x346E4C3E54A808E0CAD66173DE0D81FF4D06BABF), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 18, 8: 0x8D5B6, 9: 1, 10: 1}), - callee: Account(storage={0: 18}), + sender: Account(nonce=1), + target: Account(storage={0: 18, 8: 0x8D5B6, 9: 1, 10: 1}), + addr: Account(storage={0: 18}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemExpandingEIP150Calls/test_call_ask_more_gas_on_depth2_then_transaction_has_with_mem_expanding_calls.py b/tests/ported_static/stMemExpandingEIP150Calls/test_call_ask_more_gas_on_depth2_then_transaction_has_with_mem_expanding_calls.py index 7f43b4aef84..549f63f546d 100644 --- a/tests/ported_static/stMemExpandingEIP150Calls/test_call_ask_more_gas_on_depth2_then_transaction_has_with_mem_expanding_calls.py +++ b/tests/ported_static/stMemExpandingEIP150Calls/test_call_ask_more_gas_on_depth2_then_transaction_has_with_mem_expanding_calls.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ask_more_gas_on_depth2_then_transaction_has_with_mem_expanding... Ported from: -tests/static/state_tests/stMemExpandingEIP150Calls -CallAskMoreGasOnDepth2ThenTransactionHasWithMemExpandingCallsFiller.json +state_tests/stMemExpandingEIP150Calls/CallAskMoreGasOnDepth2ThenTransactionHasWithMemExpandingCallsFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stMemExpandingEIP150Calls/CallAskMoreGasOnDepth2ThenTransactionHasWithMemExpandingCallsFiller.json", # noqa: E501 + "state_tests/stMemExpandingEIP150Calls/CallAskMoreGasOnDepth2ThenTransactionHasWithMemExpandingCallsFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_ask_more_gas_on_depth2_then_transaction_has_with_mem_expanding_cal state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ask_more_gas_on_depth2_then_transaction_has_with_mem_expa...""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x8D19F2B0D2F5689C1771FBCA70476CA6E877A81EE15C3733DE87FAE38E5ABCEF ) @@ -49,62 +49,64 @@ def test_call_ask_more_gas_on_depth2_then_transaction_has_with_mem_expanding_cal ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x30D40, - address=0xA229D9EFD075227ED1E0EA0427045B5EE24DC40A, - value=0x0, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) + # Source: hex + # 0x5a60085560ff60ff60ff60ff60007362030d40f1600955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x30D40, + address=0xA229D9EFD075227ED1E0EA0427045B5EE24DC40A, + value=0x0, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), ), nonce=0, - address=Address("0x97442da68a5f2b1be1728c655c0f395cffb999cf"), # noqa: E501 + address=Address(0x97442DA68A5F2B1BE1728C655C0F395CFFB999CF), # noqa: E501 ) - # Source: raw bytecode - callee = pre.deploy_contract( + # Source: hex + # 0x5a600855 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x8, value=Op.GAS), nonce=0, - address=Address("0x9edefdfb5a11a6b30dba1bff8726f94f9d9e1232"), # noqa: E501 + address=Address(0x9EDEFDFB5A11A6B30DBA1BFF8726F94F9D9E1232), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x927C0, - address=0x9EDEFDFB5A11A6B30DBA1BFF8726F94F9D9E1232, - value=0x0, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) + # Source: hex + # 0x5a60085560ff60ff60ff60ff600073620927c0f1600955 # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x927C0, + address=0x9EDEFDFB5A11A6B30DBA1BFF8726F94F9D9E1232, + value=0x0, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), ), nonce=0, - address=Address("0xa229d9efd075227ed1e0ea0427045b5ee24dc40a"), # noqa: E501 + address=Address(0xA229D9EFD075227ED1E0EA0427045B5EE24DC40A), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={8: 0x8D5B6, 9: 1}), - callee: Account(storage={8: 0x2A1C7}), - callee_1: Account(storage={8: 0x30D3E, 9: 1}), + sender: Account(nonce=1), + target: Account(storage={8: 0x8D5B6, 9: 1}), + addr: Account(storage={8: 0x2A1C7}), + addr_2: Account(storage={8: 0x30D3E, 9: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemExpandingEIP150Calls/test_call_goes_oog_on_second_level2_with_mem_expanding_calls.py b/tests/ported_static/stMemExpandingEIP150Calls/test_call_goes_oog_on_second_level2_with_mem_expanding_calls.py index 2e7cc8864f5..a80c621df0b 100644 --- a/tests/ported_static/stMemExpandingEIP150Calls/test_call_goes_oog_on_second_level2_with_mem_expanding_calls.py +++ b/tests/ported_static/stMemExpandingEIP150Calls/test_call_goes_oog_on_second_level2_with_mem_expanding_calls.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_goes_oog_on_second_level2_with_mem_expanding_calls. Ported from: -tests/static/state_tests/stMemExpandingEIP150Calls -CallGoesOOGOnSecondLevel2WithMemExpandingCallsFiller.json +state_tests/stMemExpandingEIP150Calls/CallGoesOOGOnSecondLevel2WithMemExpandingCallsFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stMemExpandingEIP150Calls/CallGoesOOGOnSecondLevel2WithMemExpandingCallsFiller.json", # noqa: E501 + "state_tests/stMemExpandingEIP150Calls/CallGoesOOGOnSecondLevel2WithMemExpandingCallsFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,10 +33,10 @@ def test_call_goes_oog_on_second_level2_with_mem_expanding_calls( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_goes_oog_on_second_level2_with_mem_expanding_calls.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( - key=0x0B51075BB33D347A23B516E327E1B71C54F63FAA192D1D94B62C76E0C26CF98A + key=0xB51075BB33D347A23B516E327E1B71C54F63FAA192D1D94B62C76E0C26CF98A ) env = Environment( @@ -48,63 +48,67 @@ def test_call_goes_oog_on_second_level2_with_mem_expanding_calls( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x927C0, - address=0xC10A98222464B07008CEB5A0EC44ED49920ADDDA, - value=0x0, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) - ), + pre[sender] = Account(balance=0xE8D4A510000) + # Source: hex + # 0x5a6008555a6009555a600a55 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE(key=0x9, value=Op.GAS) + + Op.SSTORE(key=0xA, value=Op.GAS), nonce=0, - address=Address("0x0700bb425d7d4c412ac658014015bd6c98652dc4"), # noqa: E501 + address=Address(0x96983DE02BFBCB5D0F4E0EE98FDDE6D6F0C75FE0), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE(key=0x9, value=Op.GAS) - + Op.SSTORE(key=0xA, value=Op.GAS) + # Source: hex + # 0x5a60085560ff60ff60ff60ff600073620927c0f1600955 # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x927C0, + address=0x96983DE02BFBCB5D0F4E0EE98FDDE6D6F0C75FE0, + value=0x0, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), ), nonce=0, - address=Address("0x96983de02bfbcb5d0f4e0ee98fdde6d6f0c75fe0"), # noqa: E501 + address=Address(0xC10A98222464B07008CEB5A0EC44ED49920ADDDA), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A510000) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x927C0, - address=0x96983DE02BFBCB5D0F4E0EE98FDDE6D6F0C75FE0, - value=0x0, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) + # Source: hex + # 0x5a60085560ff60ff60ff60ff600073620927c0f1600955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x927C0, + address=0xC10A98222464B07008CEB5A0EC44ED49920ADDDA, + value=0x0, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), ), nonce=0, - address=Address("0xc10a98222464b07008ceb5a0ec44ed49920addda"), # noqa: E501 + address=Address(0x0700BB425D7D4C412AC658014015BD6C98652DC4), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=160000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + target: Account(storage={}), + addr_2: Account(storage={}), + addr: Account(storage={}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemExpandingEIP150Calls/test_call_goes_oog_on_second_level_with_mem_expanding_calls.py b/tests/ported_static/stMemExpandingEIP150Calls/test_call_goes_oog_on_second_level_with_mem_expanding_calls.py index b7d38caf03d..c8a6b1d87ad 100644 --- a/tests/ported_static/stMemExpandingEIP150Calls/test_call_goes_oog_on_second_level_with_mem_expanding_calls.py +++ b/tests/ported_static/stMemExpandingEIP150Calls/test_call_goes_oog_on_second_level_with_mem_expanding_calls.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_goes_oog_on_second_level_with_mem_expanding_calls. Ported from: -tests/static/state_tests/stMemExpandingEIP150Calls -CallGoesOOGOnSecondLevelWithMemExpandingCallsFiller.json +state_tests/stMemExpandingEIP150Calls/CallGoesOOGOnSecondLevelWithMemExpandingCallsFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stMemExpandingEIP150Calls/CallGoesOOGOnSecondLevelWithMemExpandingCallsFiller.json", # noqa: E501 + "state_tests/stMemExpandingEIP150Calls/CallGoesOOGOnSecondLevelWithMemExpandingCallsFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_goes_oog_on_second_level_with_mem_expanding_calls( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_goes_oog_on_second_level_with_mem_expanding_calls.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x8D19F2B0D2F5689C1771FBCA70476CA6E877A81EE15C3733DE87FAE38E5ABCEF ) @@ -48,67 +48,68 @@ def test_call_goes_oog_on_second_level_with_mem_expanding_calls( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=0x0)) - + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=0x0)) - + Op.SSTORE(key=0x9, value=Op.GAS) - + Op.SSTORE(key=0xA, value=Op.GAS) + pre[sender] = Account(balance=0xE8D4A51000) + # Source: hex + # 0x5a60085560ff60ff60ff60ff600073620927c0f1600955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x927C0, + address=0xA27E20572430916B3D6772B27329CC460224904D, + value=0x0, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), ), nonce=0, - address=Address("0x2ef686162bebf2542147767d5be471976860cceb"), # noqa: E501 + address=Address(0xAF229807016A538DFCDAB92A53337DE38178D40F), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x927C0, - address=0x2EF686162BEBF2542147767D5BE471976860CCEB, - value=0x0, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) - ), + # Source: hex + # 0x5a600855600060006000f050600060006000f0505a6009555a600a55 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=0x0)) * 2 + + Op.SSTORE(key=0x9, value=Op.GAS) + + Op.SSTORE(key=0xA, value=Op.GAS), nonce=0, - address=Address("0xa27e20572430916b3d6772b27329cc460224904d"), # noqa: E501 + address=Address(0x2EF686162BEBF2542147767D5BE471976860CCEB), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x927C0, - address=0xA27E20572430916B3D6772B27329CC460224904D, - value=0x0, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) + # Source: hex + # 0x5a60085560ff60ff60ff60ff600073620927c0f1600955 # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x927C0, + address=0x2EF686162BEBF2542147767D5BE471976860CCEB, + value=0x0, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), ), nonce=0, - address=Address("0xaf229807016a538dfcdab92a53337de38178d40f"), # noqa: E501 + address=Address(0xA27E20572430916B3D6772B27329CC460224904D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=220000, ) post = { - contract: Account(storage={8: 0x30956}), + sender: Account(nonce=1), + target: Account(storage={8: 0x30956}), + addr_2: Account(storage={}), + addr: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemExpandingEIP150Calls/test_create_and_gas_inside_create_with_mem_expanding_calls.py b/tests/ported_static/stMemExpandingEIP150Calls/test_create_and_gas_inside_create_with_mem_expanding_calls.py index 5ce7ca3c991..2b549a7bac4 100644 --- a/tests/ported_static/stMemExpandingEIP150Calls/test_create_and_gas_inside_create_with_mem_expanding_calls.py +++ b/tests/ported_static/stMemExpandingEIP150Calls/test_create_and_gas_inside_create_with_mem_expanding_calls.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_and_gas_inside_create_with_mem_expanding_calls. Ported from: -tests/static/state_tests/stMemExpandingEIP150Calls -CreateAndGasInsideCreateWithMemExpandingCallsFiller.json +state_tests/stMemExpandingEIP150Calls/CreateAndGasInsideCreateWithMemExpandingCallsFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stMemExpandingEIP150Calls/CreateAndGasInsideCreateWithMemExpandingCallsFiller.json", # noqa: E501 + "state_tests/stMemExpandingEIP150Calls/CreateAndGasInsideCreateWithMemExpandingCallsFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_create_and_gas_inside_create_with_mem_expanding_calls( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_and_gas_inside_create_with_mem_expanding_calls.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,36 +51,36 @@ def test_create_and_gas_inside_create_with_mem_expanding_calls( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0xA, value=Op.GAS) - + Op.MSTORE(offset=0x0, value=0x5A60FD55) - + Op.SSTORE( - key=0xB, value=Op.CREATE(value=0x0, offset=0x1C, size=0x4) - ) - + Op.SSTORE(key=0x9, value=Op.GAS) - ), + # Source: hex + # 0x5a600a55635a60fd556000526004601c6000f0600b555a600955 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0xA, value=Op.GAS) + + Op.MSTORE(offset=0x0, value=0x5A60FD55) + + Op.SSTORE(key=0xB, value=Op.CREATE(value=0x0, offset=0x1C, size=0x4)) + + Op.SSTORE(key=0x9, value=Op.GAS), nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + sender: Account(nonce=1), + contract_0: Account( storage={ 9: 0x75596, 10: 0x8D5B6, 11: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, }, + nonce=1, ), - Address("0xf1ecf98489fa9ed60a664fc4998db699cfa39d40"): Account( - storage={253: 0x7E23D}, + compute_create_address(address=contract_0, nonce=0): Account( + storage={253: 0x7E23D} ), } diff --git a/tests/ported_static/stMemExpandingEIP150Calls/test_delegate_call_on_eip_with_mem_expanding_calls.py b/tests/ported_static/stMemExpandingEIP150Calls/test_delegate_call_on_eip_with_mem_expanding_calls.py index 9dcd7f71063..b68c050df27 100644 --- a/tests/ported_static/stMemExpandingEIP150Calls/test_delegate_call_on_eip_with_mem_expanding_calls.py +++ b/tests/ported_static/stMemExpandingEIP150Calls/test_delegate_call_on_eip_with_mem_expanding_calls.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegate_call_on_eip_with_mem_expanding_calls. Ported from: -tests/static/state_tests/stMemExpandingEIP150Calls -DelegateCallOnEIPWithMemExpandingCallsFiller.json +state_tests/stMemExpandingEIP150Calls/DelegateCallOnEIPWithMemExpandingCallsFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stMemExpandingEIP150Calls/DelegateCallOnEIPWithMemExpandingCallsFiller.json", # noqa: E501 + "state_tests/stMemExpandingEIP150Calls/DelegateCallOnEIPWithMemExpandingCallsFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_delegate_call_on_eip_with_mem_expanding_calls( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegate_call_on_eip_with_mem_expanding_calls.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x8D19F2B0D2F5689C1771FBCA70476CA6E877A81EE15C3733DE87FAE38E5ABCEF ) @@ -48,41 +48,44 @@ def test_delegate_call_on_eip_with_mem_expanding_calls( gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=Op.GAS) - + Op.SSTORE( - key=0x9, - value=Op.DELEGATECALL( - gas=0x927C0, - address=0xA1F6E75A455896613053D45331763A07F4718969, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) + pre[sender] = Account(balance=0xE8D4A51000) + # Source: hex + # 0x5a60085560ff60ff60ff60ff73620927c0f4600955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=Op.GAS) + + Op.SSTORE( + key=0x9, + value=Op.DELEGATECALL( + gas=0x927C0, + address=0xA1F6E75A455896613053D45331763A07F4718969, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), ), nonce=0, - address=Address("0x3fc906a124d4054023be5dd8666ce29aa3712ccb"), # noqa: E501 + address=Address(0x3FC906A124D4054023BE5DD8666CE29AA3712CCB), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: raw bytecode - pre.deploy_contract( + # Source: hex + # 0x6012600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x12), nonce=0, - address=Address("0xa1f6e75a455896613053d45331763a07f4718969"), # noqa: E501 + address=Address(0xA1F6E75A455896613053D45331763A07F4718969), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 18, 8: 0x8D5B6, 9: 1}), + sender: Account(nonce=1), + target: Account(storage={0: 18, 8: 0x8D5B6, 9: 1}), + addr: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemExpandingEIP150Calls/test_execute_call_that_ask_more_gas_then_transaction_has_with_mem_expanding_calls.py b/tests/ported_static/stMemExpandingEIP150Calls/test_execute_call_that_ask_more_gas_then_transaction_has_with_mem_expanding_calls.py index 1309a676307..34fffbc11f2 100644 --- a/tests/ported_static/stMemExpandingEIP150Calls/test_execute_call_that_ask_more_gas_then_transaction_has_with_mem_expanding_calls.py +++ b/tests/ported_static/stMemExpandingEIP150Calls/test_execute_call_that_ask_more_gas_then_transaction_has_with_mem_expanding_calls.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_execute_call_that_ask_more_gas_then_transaction_has_with_mem_expand... Ported from: -tests/static/state_tests/stMemExpandingEIP150Calls -ExecuteCallThatAskMoreGasThenTransactionHasWithMemExpandingCallsFiller.json +state_tests/stMemExpandingEIP150Calls/ExecuteCallThatAskMoreGasThenTransactionHasWithMemExpandingCallsFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stMemExpandingEIP150Calls/ExecuteCallThatAskMoreGasThenTransactionHasWithMemExpandingCallsFiller.json", # noqa: E501 + "state_tests/stMemExpandingEIP150Calls/ExecuteCallThatAskMoreGasThenTransactionHasWithMemExpandingCallsFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_execute_call_that_ask_more_gas_then_transaction_has_with_mem_expanding_ state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_execute_call_that_ask_more_gas_then_transaction_has_with_mem_e...""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x6A3A7E4100E459734759453F3AEBB7F5FE9B806BAA83232CD5C42FE0A359CA67 ) @@ -48,43 +48,45 @@ def test_execute_call_that_ask_more_gas_then_transaction_has_with_mem_expanding_ gas_limit=10000000, ) - # Source: raw bytecode - callee = pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0xC), - balance=0x186A0, + pre[sender] = Account(balance=0x186A000) + # Source: hex + # 0x60ff60ff60ff60ff600073620927c0f1600155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x927C0, + address=0x73D01F7D28C5A55520CD80D2C3F0938C1834CCFF, + value=0x0, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), + ), nonce=0, - address=Address("0x73d01f7d28c5a55520cd80d2c3f0938c1834ccff"), # noqa: E501 + address=Address(0xBDBACB5FB8222511832EB176B990CD8AD511C271), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x927C0, - address=0x73D01F7D28C5A55520CD80D2C3F0938C1834CCFF, - value=0x0, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) - ), + # Source: hex + # 0x600c600155 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0xC), + balance=0x186A0, nonce=0, - address=Address("0xbdbacb5fb8222511832eb176b990cd8ad511c271"), # noqa: E501 + address=Address(0x73D01F7D28C5A55520CD80D2C3F0938C1834CCFF), # noqa: E501 ) - pre[sender] = Account(balance=0x186A000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - callee: Account(storage={1: 12}), - contract: Account(storage={1: 1}), + sender: Account(nonce=1), + target: Account(storage={1: 1}), + addr: Account(storage={1: 12}, balance=0x186A0), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemExpandingEIP150Calls/test_new_gas_price_for_codes_with_mem_expanding_calls.py b/tests/ported_static/stMemExpandingEIP150Calls/test_new_gas_price_for_codes_with_mem_expanding_calls.py index cdcab869618..005c5297574 100644 --- a/tests/ported_static/stMemExpandingEIP150Calls/test_new_gas_price_for_codes_with_mem_expanding_calls.py +++ b/tests/ported_static/stMemExpandingEIP150Calls/test_new_gas_price_for_codes_with_mem_expanding_calls.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_new_gas_price_for_codes_with_mem_expanding_calls. Ported from: -tests/static/state_tests/stMemExpandingEIP150Calls -NewGasPriceForCodesWithMemExpandingCallsFiller.json +state_tests/stMemExpandingEIP150Calls/NewGasPriceForCodesWithMemExpandingCallsFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stMemExpandingEIP150Calls/NewGasPriceForCodesWithMemExpandingCallsFiller.json", # noqa: E501 + "state_tests/stMemExpandingEIP150Calls/NewGasPriceForCodesWithMemExpandingCallsFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,10 +33,10 @@ def test_new_gas_price_for_codes_with_mem_expanding_calls( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_new_gas_price_for_codes_with_mem_expanding_calls.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( - key=0x03956FC06BD55836ACDB92DA0E38A15F2E568C088022CF2278180477F3F7702A + key=0x3956FC06BD55836ACDB92DA0E38A15F2E568C088022CF2278180477F3F7702A ) env = Environment( @@ -48,107 +48,110 @@ def test_new_gas_price_for_codes_with_mem_expanding_calls( gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.EXTCODESIZE( - address=0x6B6AF3C6E1714081C8C3085ACBAC8C2B21FADF0B, - ), - ) - + Op.EXTCODECOPY( - address=0x6B6AF3C6E1714081C8C3085ACBAC8C2B21FADF0B, - dest_offset=0x0, - offset=0x0, - size=0x14, - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x4, value=Op.SLOAD(key=0x0)) - + Op.SSTORE( - key=0x5, - value=Op.CALL( - gas=0x7530, - address=0x7B8C83E74CC8DFADB03138C2743C70588ACE4222, - value=0x1, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) - + Op.SSTORE( - key=0x6, - value=Op.CALLCODE( - gas=0x7530, - address=0x7B8C83E74CC8DFADB03138C2743C70588ACE4222, - value=0x1, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) - + Op.SSTORE( - key=0x7, - value=Op.DELEGATECALL( - gas=0x7530, - address=0x7B8C83E74CC8DFADB03138C2743C70588ACE4222, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) - + Op.SSTORE( - key=0x8, - value=Op.CALL( - gas=0x7530, - address=0x1000000000000000000000000000000000000013, - value=0x0, - args_offset=0xFF, - args_size=0xFF, - ret_offset=0xFF, - ret_size=0xFF, - ), - ) - + Op.SSTORE( - key=0x3, - value=Op.BALANCE( - address=0xF1100237A29F570CBF8B107BA3CB5BF2DB42BD3F, - ), - ) - + Op.SSTORE(key=0xA, value=Op.GAS) - ), - storage={0x0: 0x12}, - nonce=0, - address=Address("0x23a2ec54f5f8589778da7c2199caf3b179a24cb9"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( + # Source: hex + # 0x1122334455667788991011121314151617181920212223242526272829303132 + addr = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( "1122334455667788991011121314151617181920212223242526272829303132" ), balance=111, nonce=0, - address=Address("0x6b6af3c6e1714081c8c3085acbac8c2b21fadf0b"), # noqa: E501 + address=Address(0x6B6AF3C6E1714081C8C3085ACBAC8C2B21FADF0B), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: hex + # 0x6011606455 + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x64, value=0x11), nonce=0, - address=Address("0x7b8c83e74cc8dfadb03138c2743c70588ace4222"), # noqa: E501 + address=Address(0x7B8C83E74CC8DFADB03138C2743C70588ACE4222), # noqa: E501 ) pre[sender] = Account(balance=0xE8D4A5100000) + # Source: hex + # 0x733b600155601460006000733c60005160025560005460045560ff60ff60ff60ff600173617530f160055560ff60ff60ff60ff600173617530f260065560ff60ff60ff60ff73617530f460075560ff60ff60ff60ff6000731000000000000000000000000000000000000013617530f160085573316003555a600a55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.EXTCODESIZE( + address=0x6B6AF3C6E1714081C8C3085ACBAC8C2B21FADF0B + ), + ) + + Op.EXTCODECOPY( + address=0x6B6AF3C6E1714081C8C3085ACBAC8C2B21FADF0B, + dest_offset=0x0, + offset=0x0, + size=0x14, + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x4, value=Op.SLOAD(key=0x0)) + + Op.SSTORE( + key=0x5, + value=Op.CALL( + gas=0x7530, + address=0x7B8C83E74CC8DFADB03138C2743C70588ACE4222, + value=0x1, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), + ) + + Op.SSTORE( + key=0x6, + value=Op.CALLCODE( + gas=0x7530, + address=0x7B8C83E74CC8DFADB03138C2743C70588ACE4222, + value=0x1, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), + ) + + Op.SSTORE( + key=0x7, + value=Op.DELEGATECALL( + gas=0x7530, + address=0x7B8C83E74CC8DFADB03138C2743C70588ACE4222, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), + ) + + Op.SSTORE( + key=0x8, + value=Op.CALL( + gas=0x7530, + address=0x1000000000000000000000000000000000000013, + value=0x0, + args_offset=0xFF, + args_size=0xFF, + ret_offset=0xFF, + ret_size=0xFF, + ), + ) + + Op.SSTORE( + key=0x3, + value=Op.BALANCE( + address=0xF1100237A29F570CBF8B107BA3CB5BF2DB42BD3F + ), + ) + + Op.SSTORE(key=0xA, value=Op.GAS), + storage={0: 18}, + nonce=0, + address=Address(0x23A2EC54F5F8589778DA7C2199CAF3B179A24CB9), # noqa: E501 + ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + addr: Account(balance=111), + target: Account( storage={ 0: 18, 1: 32, @@ -161,6 +164,7 @@ def test_new_gas_price_for_codes_with_mem_expanding_calls( 100: 17, }, ), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemExpandingEIP150Calls/test_oo_gin_return.py b/tests/ported_static/stMemExpandingEIP150Calls/test_oo_gin_return.py index 1eb430120cd..fdc89fe7e7d 100644 --- a/tests/ported_static/stMemExpandingEIP150Calls/test_oo_gin_return.py +++ b/tests/ported_static/stMemExpandingEIP150Calls/test_oo_gin_return.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stMemExpandingEIP150Calls/OOGinReturnFiller.yml +state_tests/stMemExpandingEIP150Calls/OOGinReturnFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,74 +28,61 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemExpandingEIP150Calls/OOGinReturnFiller.yml", # noqa: E501 - ], + ["state_tests/stMemExpandingEIP150Calls/OOGinReturnFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "1a8451e60000000000000000000000009f5c4c430e37b429d18f8aba147e2302af08f2100000000000000000000000000000000000000000000000000000000000000036", # noqa: E501 - { - Address("0xebd3191dd8150f47e30f87927db4592163ee9224"): Account( - storage={0: 0xDEAD60A7, 1: 0xDEAD60A7} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "1a8451e6000000000000000000000000cee9f0c6117cc881ad7b4c378c2bebee8fcd04a90000000000000000000000000000000000000000000000000000000000000036", # noqa: E501 - { - Address("0xebd3191dd8150f47e30f87927db4592163ee9224"): Account( - storage={0: 0xDEAD60A7, 1: 0xDEAD60A7} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "1a8451e60000000000000000000000009f5c4c430e37b429d18f8aba147e2302af08f2100000000000000000000000000000000000000000000000000000000000000025", # noqa: E501 - { - Address("0xebd3191dd8150f47e30f87927db4592163ee9224"): Account( - storage={0: 0x60A760A7} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "1a8451e6000000000000000000000000cee9f0c6117cc881ad7b4c378c2bebee8fcd04a90000000000000000000000000000000000000000000000000000000000000025", # noqa: E501 - { - Address("0xebd3191dd8150f47e30f87927db4592163ee9224"): Account( - storage={0: 0x60A760A7} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "1a8451e60000000000000000000000009f5c4c430e37b429d18f8aba147e2302af08f2100000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0xebd3191dd8150f47e30f87927db4592163ee9224"): Account( - storage={0: 0x60A760A7} - ) - }, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ( - "1a8451e6000000000000000000000000cee9f0c6117cc881ad7b4c378c2bebee8fcd04a90000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0xebd3191dd8150f47e30f87927db4592163ee9224"): Account( - storage={0: 0x60A760A7} - ) - }, + pytest.param( + 5, + 0, + 0, + id="d5", ), ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], ) @pytest.mark.pre_alloc_mutable def test_oo_gin_return( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E ) @@ -103,28 +96,33 @@ def test_oo_gin_return( gas_limit=4294967296, ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xDEAD60A7) - + Op.RETURN(offset=0x0, size=0x100) - + Op.STOP - ), + # Source: lll + # { + # [0] 0xDEAD60A7 + # (return 0 0x100) + # } + return_ = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xDEAD60A7) + + Op.RETURN(offset=0x0, size=0x100) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x9f5c4c430e37b429d18f8aba147e2302af08f210"), # noqa: E501 + address=Address(0x9F5C4C430E37B429D18F8ABA147E2302AF08F210), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xDEAD60A7) - + Op.REVERT(offset=0x0, size=0x100) - + Op.STOP - ), + # Source: lll + # { + # [0] 0xDEAD60A7 + # (revert 0 0x100) + # } + revert = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xDEAD60A7) + + Op.REVERT(offset=0x0, size=0x100) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcee9f0c6117cc881ad7b4c378c2bebee8fcd04a9"), # noqa: E501 + address=Address(0xCEE9F0C6117CC881AD7B4C378C2BEBEE8FCD04A9), # noqa: E501 ) - # Source: LLL + # Source: lll # { # ; Variables are 0x20 bytes (= 256 bits) apart, except for # ; code buffers that get 0x100 (256 bytes) @@ -148,47 +146,70 @@ def test_oo_gin_return( # (if (> (returndatasize) 0) (returndatacopy retVal 0 0x20) NOP) # [[1]] @retVal # } ; end of LLL code - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x0, value=0x60A760A7) - + Op.MSTORE( - offset=0x100, - value=Op.CALL( - gas=Op.MLOAD(offset=0x140), - address=Op.MLOAD(offset=0x120), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x100, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.JUMPI(pc=0x41, condition=Op.GT(Op.RETURNDATASIZE, 0x0)) - + Op.POP(0x0) - + Op.JUMP(pc=0x4A) - + Op.JUMPDEST - + Op.RETURNDATACOPY(dest_offset=0x160, offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x160)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x0, value=0x60A760A7) + + Op.MSTORE( + offset=0x100, + value=Op.CALL( + gas=Op.MLOAD(offset=0x140), + address=Op.MLOAD(offset=0x120), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x100, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.JUMPI(pc=0x41, condition=Op.GT(Op.RETURNDATASIZE, 0x0)) + + Op.POP(0x0) + + Op.JUMP(pc=0x4A) + + Op.JUMPDEST + + Op.RETURNDATACOPY(dest_offset=0x160, offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x160)) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xebd3191dd8150f47e30f87927db4592163ee9224"), # noqa: E501 + address=Address(0xEBD3191DD8150F47E30F87927DB4592163EE9224), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1], "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 0xDEAD60A7, 1: 0xDEAD60A7}) + }, + }, + { + "indexes": {"data": [2, 3, 4, 5], "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0x60A760A7})}, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("1a8451e6") + Hash(return_, left_padding=True) + Hash(0x36), + Bytes("1a8451e6") + Hash(revert, left_padding=True) + Hash(0x36), + Bytes("1a8451e6") + Hash(return_, left_padding=True) + Hash(0x25), + Bytes("1a8451e6") + Hash(revert, left_padding=True) + Hash(0x25), + Bytes("1a8451e6") + Hash(return_, left_padding=True) + Hash(0x10), + Bytes("1a8451e6") + Hash(revert, left_padding=True) + Hash(0x10), + ] + tx_gas = [9437184] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=9437184, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/__init__.py b/tests/ported_static/stMemoryStressTest/__init__.py index 14e44ed86ae..4ba56a46334 100644 --- a/tests/ported_static/stMemoryStressTest/__init__.py +++ b/tests/ported_static/stMemoryStressTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stMemoryStressTest.""" +"""Ported static tests: stMemoryStressTest.""" # noqa: N999 diff --git a/tests/ported_static/stMemoryStressTest/test_call_bounds.py b/tests/ported_static/stMemoryStressTest/test_call_bounds.py index 3e207f08bfc..4b1122057f9 100644 --- a/tests/ported_static/stMemoryStressTest/test_call_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_call_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/CALL_BoundsFiller.json +state_tests/stMemoryStressTest/CALL_BoundsFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/CALL_BoundsFiller.json"], + ["state_tests/stMemoryStressTest/CALL_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_call_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xEF111BBDAB3A1622936AFDFC9BBEC4B5BC05B4FA4B1EF0CE2A55CEF552F7650E ) @@ -55,119 +68,128 @@ def test_call_bounds( gas_limit=9223372036854775807, ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ) - # Source: LLL + # Source: lll # { (CALL 0x7ffffffffffffff 0 0 0 0 0) (CALL 0x7ffffffffffffff 0 0 0xfffffff 0 0xfffffff) (CALL 0x7ffffffffffffff 0 0 0xffffffff 0 0xffffffff) (CALL 0x7ffffffffffffff 0 0xfffffff 0 0xfffffff 0) (CALL 0x7ffffffffffffff 0 0xffffffff 0 0xffffffff 0) (CALL 0x7ffffffffffffff 0 0xffffffffffffffff 0 0xffffffffffffffff 0) (CALL 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffff 0) (CALL 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0xFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFF, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0xFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFF, - ), + ) + + Op.POP( + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0xFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFF, ) - + Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0xFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFF, ) - + Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFF, + ret_size=0x0, ) - + Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFFFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFFF, + ret_size=0x0, ) - + Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFFFFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFFFFFFFFFFF, + ret_size=0x0, ) - + Op.CALL( + ) + + Op.POP( + Op.CALL( gas=0x7FFFFFFFFFFFFFF, address=0x849F53126ADE5F72469029537296F2B6644D4D41, value=0x0, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_size=0x0, + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x5f620f2ea7307fd66700749255ade959893706ff"), # noqa: E501 + address=Address(0x5F620F2EA7307FD66700749255ADE959893706FF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 + ) + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account(balance=0), + addr: Account(storage={0: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_call_bounds2.py b/tests/ported_static/stMemoryStressTest/test_call_bounds2.py index 6fafbe31a41..d3014037e9a 100644 --- a/tests/ported_static/stMemoryStressTest/test_call_bounds2.py +++ b/tests/ported_static/stMemoryStressTest/test_call_bounds2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_bounds2. Ported from: -tests/static/state_tests/stMemoryStressTest/CALL_Bounds2Filler.json +state_tests/stMemoryStressTest/CALL_Bounds2Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/CALL_Bounds2Filler.json"], + ["state_tests/stMemoryStressTest/CALL_Bounds2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_call_bounds2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_bounds2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xEF111BBDAB3A1622936AFDFC9BBEC4B5BC05B4FA4B1EF0CE2A55CEF552F7650E ) @@ -55,42 +68,51 @@ def test_call_bounds2( gas_limit=9223372036854775807, ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (CALL 0x7ffffffffffffff 0 0xfffffff 0xfffffff 0xfffffff 0xfffffff) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFF, + args_size=0xFFFFFFF, + ret_offset=0xFFFFFFF, + ret_size=0xFFFFFFF, + ) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0xB6055EE15F692591C71B50A7BDA55180B78F6EF9), # noqa: E501 ) - # Source: LLL - # { (CALL 0x7ffffffffffffff 0 0xfffffff 0xfffffff 0xfffffff 0xfffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFF, - args_size=0xFFFFFFF, - ret_offset=0xFFFFFFF, - ret_size=0xFFFFFFF, - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0xb6055ee15f692591c71b50a7bda55180b78f6ef9"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 ) + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account(balance=0), + addr: Account(storage={0: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_call_bounds2a.py b/tests/ported_static/stMemoryStressTest/test_call_bounds2a.py index 861d1b5de4d..4824d8563f1 100644 --- a/tests/ported_static/stMemoryStressTest/test_call_bounds2a.py +++ b/tests/ported_static/stMemoryStressTest/test_call_bounds2a.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_bounds2a. Ported from: -tests/static/state_tests/stMemoryStressTest/CALL_Bounds2aFiller.json +state_tests/stMemoryStressTest/CALL_Bounds2aFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/CALL_Bounds2aFiller.json"], + ["state_tests/stMemoryStressTest/CALL_Bounds2aFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_call_bounds2a( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_bounds2a.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xEF111BBDAB3A1622936AFDFC9BBEC4B5BC05B4FA4B1EF0CE2A55CEF552F7650E ) @@ -55,42 +68,51 @@ def test_call_bounds2a( gas_limit=9223372036854775807, ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ) - # Source: LLL + # Source: lll # { (CALL 0x7ffffffffffffff 0 0xffffffff 0xffffffff 0xffffffff 0xffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFF, - args_size=0xFFFFFFFF, - ret_offset=0xFFFFFFFF, - ret_size=0xFFFFFFFF, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFF, + args_size=0xFFFFFFFF, + ret_offset=0xFFFFFFFF, + ret_size=0xFFFFFFFF, + ) + + Op.STOP, nonce=0, - address=Address("0x6c184e7e792470e474b189a511b48f06f0643d4b"), # noqa: E501 + address=Address(0x6C184E7E792470E474B189A511B48F06F0643D4B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 + ) + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account(balance=0), + addr: Account(storage={0: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_call_bounds3.py b/tests/ported_static/stMemoryStressTest/test_call_bounds3.py index c588d78ab9d..85af0b5ba31 100644 --- a/tests/ported_static/stMemoryStressTest/test_call_bounds3.py +++ b/tests/ported_static/stMemoryStressTest/test_call_bounds3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_bounds3. Ported from: -tests/static/state_tests/stMemoryStressTest/CALL_Bounds3Filler.json +state_tests/stMemoryStressTest/CALL_Bounds3Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,27 +24,43 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/CALL_Bounds3Filler.json"], + ["state_tests/stMemoryStressTest/CALL_Bounds3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (1000000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_call_bounds3( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_bounds3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xEF111BBDAB3A1622936AFDFC9BBEC4B5BC05B4FA4B1EF0CE2A55CEF552F7650E ) @@ -56,108 +74,117 @@ def test_call_bounds3( gas_limit=9223372036854775807, ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ) - # Source: LLL + # Source: lll # { (CALL 0x7ffffffffffffff 0 0 0xffffffffffffffff 0 0xffffffffffffffff) (CALL 0x7ffffffffffffff 0 0 0xffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffff) (CALL 0x7ffffffffffffff 0 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (CALL 0x7ffffffffffffff 0 0xffffffff 0xffffffff 0xffffffff 0xffffffff) (CALL 0x7ffffffffffffff 0 0xffffffffffffffff 0xffffffffffffffff 0xffffffffffffffff 0xffffffffffffffff) (CALL 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff) (CALL 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFF, - ), - ) - + Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0xFFFFFFFFFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFFFFFFFFFF, ) - + Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), + ) + + Op.POP( + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, ) - + Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFF, - args_size=0xFFFFFFFF, - ret_offset=0xFFFFFFFF, - ret_size=0xFFFFFFFF, - ), + ) + + Op.POP( + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_offset=0x0, + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 ) - + Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFFFFFFFFFF, - args_size=0xFFFFFFFFFFFFFFFF, - ret_offset=0xFFFFFFFFFFFFFFFF, - ret_size=0xFFFFFFFFFFFFFFFF, - ), + ) + + Op.POP( + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFF, + args_size=0xFFFFFFFF, + ret_offset=0xFFFFFFFF, + ret_size=0xFFFFFFFF, ) - + Op.POP( - Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ), + ) + + Op.POP( + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFFFFFFFFFF, + args_size=0xFFFFFFFFFFFFFFFF, + ret_offset=0xFFFFFFFFFFFFFFFF, + ret_size=0xFFFFFFFFFFFFFFFF, ) - + Op.CALL( + ) + + Op.POP( + Op.CALL( gas=0x7FFFFFFFFFFFFFF, address=0x849F53126ADE5F72469029537296F2B6644D4D41, value=0x0, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, ) - + Op.STOP - ), + ) + + Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0x82475c10fea2425b322d1f97fcef265c5dc7c8c9"), # noqa: E501 + address=Address(0x82475C10FEA2425B322D1F97FCEF265C5DC7C8C9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 ) + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 1000000, 16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account(balance=0), + addr: Account(storage={0: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_callcode_bounds.py b/tests/ported_static/stMemoryStressTest/test_callcode_bounds.py index 05774af6151..e39eb09e713 100644 --- a/tests/ported_static/stMemoryStressTest/test_callcode_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_callcode_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/CALLCODE_BoundsFiller.json +state_tests/stMemoryStressTest/CALLCODE_BoundsFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/CALLCODE_BoundsFiller.json"], + ["state_tests/stMemoryStressTest/CALLCODE_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_callcode_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -55,119 +68,125 @@ def test_callcode_bounds( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (CALLCODE 0x7ffffffffffffff 0 0 0 0 0) (CALLCODE 0x7ffffffffffffff 0 0 0xfffffff 0 0xfffffff) (CALLCODE 0x7ffffffffffffff 0 0 0xffffffff 0 0xffffffff) (CALLCODE 0x7ffffffffffffff 0 0xfffffff 0 0xfffffff 0) (CALLCODE 0x7ffffffffffffff 0 0xffffffff 0 0xffffffff 0) (CALLCODE 0x7ffffffffffffff 0 0xffffffffffffffff 0 0xffffffffffffffff 0) (CALLCODE 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffff 0) (CALLCODE 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0xFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFF, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0xFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFF, - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0xFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFF, ) - + Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0xFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFF, ) - + Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFF, + ret_size=0x0, ) - + Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFFFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFFF, + ret_size=0x0, ) - + Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFFFFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFFFFFFFFFFF, + ret_size=0x0, ) - + Op.CALLCODE( + ) + + Op.POP( + Op.CALLCODE( gas=0x7FFFFFFFFFFFFFF, address=0x849F53126ADE5F72469029537296F2B6644D4D41, value=0x0, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_size=0x0, + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x3f4ed7c54cd8a44e2d6b4d967e8e070a8c4a4f34"), # noqa: E501 + address=Address(0x3F4ED7C54CD8A44E2D6B4D967E8E070A8C4A4F34), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 0}, balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_callcode_bounds2.py b/tests/ported_static/stMemoryStressTest/test_callcode_bounds2.py index 5552ddc8ad4..df3ea69f7d7 100644 --- a/tests/ported_static/stMemoryStressTest/test_callcode_bounds2.py +++ b/tests/ported_static/stMemoryStressTest/test_callcode_bounds2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_bounds2. Ported from: -tests/static/state_tests/stMemoryStressTest/CALLCODE_Bounds2Filler.json +state_tests/stMemoryStressTest/CALLCODE_Bounds2Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/CALLCODE_Bounds2Filler.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/CALLCODE_Bounds2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_callcode_bounds2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_bounds2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -57,42 +68,48 @@ def test_callcode_bounds2( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (CALLCODE 0x7ffffffffffffff 0 0xfffffff 0xfffffff 0xfffffff 0xfffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFF, - args_size=0xFFFFFFF, - ret_offset=0xFFFFFFF, - ret_size=0xFFFFFFF, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFF, + args_size=0xFFFFFFF, + ret_offset=0xFFFFFFF, + ret_size=0xFFFFFFF, + ) + + Op.STOP, nonce=0, - address=Address("0x814cc86eb9caa0e43cfea934fbb77c7917f5cc0e"), # noqa: E501 + address=Address(0x814CC86EB9CAA0E43CFEA934FBB77C7917F5CC0E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 0}, balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_callcode_bounds3.py b/tests/ported_static/stMemoryStressTest/test_callcode_bounds3.py index 59083761670..6a2ea1945e0 100644 --- a/tests/ported_static/stMemoryStressTest/test_callcode_bounds3.py +++ b/tests/ported_static/stMemoryStressTest/test_callcode_bounds3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_bounds3. Ported from: -tests/static/state_tests/stMemoryStressTest/CALLCODE_Bounds3Filler.json +state_tests/stMemoryStressTest/CALLCODE_Bounds3Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/CALLCODE_Bounds3Filler.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/CALLCODE_Bounds3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_callcode_bounds3( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_bounds3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -57,42 +68,48 @@ def test_callcode_bounds3( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (CALLCODE 0x7ffffffffffffff 0 0xffffffff 0xffffffff 0xffffffff 0xffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFF, - args_size=0xFFFFFFFF, - ret_offset=0xFFFFFFFF, - ret_size=0xFFFFFFFF, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFF, + args_size=0xFFFFFFFF, + ret_offset=0xFFFFFFFF, + ret_size=0xFFFFFFFF, + ) + + Op.STOP, nonce=0, - address=Address("0x206c40e47a57c530785338bcd7f38a6197bee97b"), # noqa: E501 + address=Address(0x206C40E47A57C530785338BCD7F38A6197BEE97B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 0}, balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_callcode_bounds4.py b/tests/ported_static/stMemoryStressTest/test_callcode_bounds4.py index 5f0e02adaf3..9607bc07420 100644 --- a/tests/ported_static/stMemoryStressTest/test_callcode_bounds4.py +++ b/tests/ported_static/stMemoryStressTest/test_callcode_bounds4.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_bounds4. Ported from: -tests/static/state_tests/stMemoryStressTest/CALLCODE_Bounds4Filler.json +state_tests/stMemoryStressTest/CALLCODE_Bounds4Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,29 +24,43 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/CALLCODE_Bounds4Filler.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/CALLCODE_Bounds4Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (1000000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_callcode_bounds4( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_bounds4.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -58,108 +74,104 @@ def test_callcode_bounds4( gas_limit=9223372036854775807, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), - nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 - ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - # Source: LLL + # Source: lll # { (CALLCODE 0x7ffffffffffffff 0 0 0xffffffffffffffff 0 0xffffffffffffffff) (CALLCODE 0x7ffffffffffffff 0 0 0xffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffff) (CALLCODE 0x7ffffffffffffff 0 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (CALLCODE 0x7ffffffffffffff 0 0xffffffffffffffff 0xffffffffffffffff 0xffffffffffffffff 0xffffffffffffffff) (CALLCODE 0x7ffffffffffffff 0 0xffffffffffffffff 0xffffffffffffffff 0xffffffffffffffff 0xffffffffffffffff) (CALLCODE 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (CALLCODE 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFF, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0xFFFFFFFFFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFFFFFFFFFF, ) - + Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFFFFFFFFFF, - args_size=0xFFFFFFFFFFFFFFFF, - ret_offset=0xFFFFFFFFFFFFFFFF, - ret_size=0xFFFFFFFFFFFFFFFF, - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, ) - + Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFFFFFFFFFF, - args_size=0xFFFFFFFFFFFFFFFF, - ret_offset=0xFFFFFFFFFFFFFFFF, - ret_size=0xFFFFFFFFFFFFFFFF, - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0x0, + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_offset=0x0, + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 ) - + Op.POP( - Op.CALLCODE( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - value=0x0, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFFFFFFFFFF, + args_size=0xFFFFFFFFFFFFFFFF, + ret_offset=0xFFFFFFFFFFFFFFFF, + ret_size=0xFFFFFFFFFFFFFFFF, ) - + Op.CALLCODE( + ) + * 2 + + Op.POP( + Op.CALLCODE( gas=0x7FFFFFFFFFFFFFF, address=0x849F53126ADE5F72469029537296F2B6644D4D41, value=0x0, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 ) - + Op.STOP - ), + ) + + Op.CALLCODE( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + value=0x0, + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ) + + Op.STOP, + nonce=0, + address=Address(0xC0479FBAC15CB575E66DED014FD60CEB98749B04), # noqa: E501 + ) + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0xc0479fbac15cb575e66ded014fd60ceb98749b04"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 + ) + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 1000000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 0}, balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_create_bounds.py b/tests/ported_static/stMemoryStressTest/test_create_bounds.py index a643a926708..82eceb0f60e 100644 --- a/tests/ported_static/stMemoryStressTest/test_create_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_create_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/CREATE_BoundsFiller.json +state_tests/stMemoryStressTest/CREATE_BoundsFiller.json """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +25,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/CREATE_BoundsFiller.json"], + ["state_tests/stMemoryStressTest/CREATE_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -55,34 +70,46 @@ def test_create_bounds( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6001600155601080600c6000396000f3006000355415600957005b6020356000 ) (MSTORE8 32 0x35) (MSTORE8 33 0x55) (CREATE 1 0 0) (CREATE 1 0 0xfffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 - ) - + Op.MSTORE8(offset=0x20, value=0x35) - + Op.MSTORE8(offset=0x21, value=0x55) - + Op.POP(Op.CREATE(value=0x1, offset=0x0, size=0x0)) - + Op.CREATE(value=0x1, offset=0x0, size=0xFFFFFFF) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 + ) + + Op.MSTORE8(offset=0x20, value=0x35) + + Op.MSTORE8(offset=0x21, value=0x55) + + Op.POP(Op.CREATE(value=0x1, offset=0x0, size=0x0)) + + Op.CREATE(value=0x1, offset=0x0, size=0xFFFFFFF) + + Op.STOP, balance=100, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = { + contract_0: Account(balance=100), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + compute_create_address( + address=contract_0, nonce=1 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_create_bounds2.py b/tests/ported_static/stMemoryStressTest/test_create_bounds2.py index 2555d72306a..23c78763d23 100644 --- a/tests/ported_static/stMemoryStressTest/test_create_bounds2.py +++ b/tests/ported_static/stMemoryStressTest/test_create_bounds2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_bounds2. Ported from: -tests/static/state_tests/stMemoryStressTest/CREATE_Bounds2Filler.json +state_tests/stMemoryStressTest/CREATE_Bounds2Filler.json """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +25,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/CREATE_Bounds2Filler.json"], + ["state_tests/stMemoryStressTest/CREATE_Bounds2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_create_bounds2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_bounds2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -55,33 +70,42 @@ def test_create_bounds2( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6001600155601080600c6000396000f3006000355415600957005b6020356000 ) (MSTORE8 32 0x35) (MSTORE8 33 0x55) (CREATE 1 0 0xffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 - ) - + Op.MSTORE8(offset=0x20, value=0x35) - + Op.MSTORE8(offset=0x21, value=0x55) - + Op.CREATE(value=0x1, offset=0x0, size=0xFFFFFFFF) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 + ) + + Op.MSTORE8(offset=0x20, value=0x35) + + Op.MSTORE8(offset=0x21, value=0x55) + + Op.CREATE(value=0x1, offset=0x0, size=0xFFFFFFFF) + + Op.STOP, balance=100, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = { + contract_0: Account(balance=100), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_create_bounds3.py b/tests/ported_static/stMemoryStressTest/test_create_bounds3.py index 9b2d1f9107d..db1768045c0 100644 --- a/tests/ported_static/stMemoryStressTest/test_create_bounds3.py +++ b/tests/ported_static/stMemoryStressTest/test_create_bounds3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_bounds3. Ported from: -tests/static/state_tests/stMemoryStressTest/CREATE_Bounds3Filler.json +state_tests/stMemoryStressTest/CREATE_Bounds3Filler.json """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,27 +25,44 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/CREATE_Bounds3Filler.json"], + ["state_tests/stMemoryStressTest/CREATE_Bounds3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (1000000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_create_bounds3( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_bounds3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -56,85 +76,88 @@ def test_create_bounds3( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x6001600155601080600c6000396000f3006000355415600957005b6020356000 ) (MSTORE8 32 0x35) (MSTORE8 33 0x55) (CREATE 1 0 0xffffffffffffffff) (CREATE 1 0 0xffffffffffffffffffffffffffffffff) (CREATE 1 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (CREATE 1 0xfffffff 0) (CREATE 1 0xffffffff 0) (CREATE 1 0xffffffffffffffff 0) (CREATE 1 0xffffffffffffffffffffffffffffffff 0) (CREATE 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) (CREATE 1 0xfffffff 0xfffffff) (CREATE 1 0xffffffff 0xffffffff) (CREATE 1 0xffffffffffffffff 0xffffffffffffffff) (CREATE 1 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff) (CREATE 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x6001600155601080600C6000396000F3006000355415600957005B6020356000, # noqa: E501 + ) + + Op.MSTORE8(offset=0x20, value=0x35) + + Op.MSTORE8(offset=0x21, value=0x55) + + Op.POP(Op.CREATE(value=0x1, offset=0x0, size=0xFFFFFFFFFFFFFFFF)) + + Op.POP( + Op.CREATE( + value=0x1, offset=0x0, size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ) - + Op.MSTORE8(offset=0x20, value=0x35) - + Op.MSTORE8(offset=0x21, value=0x55) - + Op.POP(Op.CREATE(value=0x1, offset=0x0, size=0xFFFFFFFFFFFFFFFF)) - + Op.POP( - Op.CREATE( - value=0x1, - offset=0x0, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ), - ) - + Op.POP( - Op.CREATE( - value=0x1, - offset=0x0, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.POP(Op.CREATE(value=0x1, offset=0xFFFFFFF, size=0x0)) - + Op.POP(Op.CREATE(value=0x1, offset=0xFFFFFFFF, size=0x0)) - + Op.POP(Op.CREATE(value=0x1, offset=0xFFFFFFFFFFFFFFFF, size=0x0)) - + Op.POP( - Op.CREATE( - value=0x1, - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - size=0x0, - ), + ) + + Op.POP( + Op.CREATE( + value=0x1, + offset=0x0, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 ) - + Op.POP( - Op.CREATE( - value=0x1, - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x0, - ), + ) + + Op.POP(Op.CREATE(value=0x1, offset=0xFFFFFFF, size=0x0)) + + Op.POP(Op.CREATE(value=0x1, offset=0xFFFFFFFF, size=0x0)) + + Op.POP(Op.CREATE(value=0x1, offset=0xFFFFFFFFFFFFFFFF, size=0x0)) + + Op.POP( + Op.CREATE( + value=0x1, offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, size=0x0 ) - + Op.POP(Op.CREATE(value=0x1, offset=0xFFFFFFF, size=0xFFFFFFF)) - + Op.POP(Op.CREATE(value=0x1, offset=0xFFFFFFFF, size=0xFFFFFFFF)) - + Op.POP( - Op.CREATE( - value=0x1, - offset=0xFFFFFFFFFFFFFFFF, - size=0xFFFFFFFFFFFFFFFF, - ), + ) + + Op.POP( + Op.CREATE( + value=0x1, + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x0, ) - + Op.POP( - Op.CREATE( - value=0x1, - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ), + ) + + Op.POP(Op.CREATE(value=0x1, offset=0xFFFFFFF, size=0xFFFFFFF)) + + Op.POP(Op.CREATE(value=0x1, offset=0xFFFFFFFF, size=0xFFFFFFFF)) + + Op.POP( + Op.CREATE( + value=0x1, offset=0xFFFFFFFFFFFFFFFF, size=0xFFFFFFFFFFFFFFFF ) - + Op.CREATE( + ) + + Op.POP( + Op.CREATE( value=0x1, - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, ) - + Op.STOP - ), + ) + + Op.CREATE( + value=0x1, + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, balance=100, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 1000000, 16777216] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = { + contract_0: Account(balance=100), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds.py b/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds.py index bf9f0fbb822..e4a4356ae1e 100644 --- a/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/DELEGATECALL_BoundsFiller.json +state_tests/stMemoryStressTest/DELEGATECALL_BoundsFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/DELEGATECALL_BoundsFiller.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/DELEGATECALL_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_delegatecall_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -57,121 +68,127 @@ def test_delegatecall_bounds( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # {(DELEGATECALL 0x7ffffffffffffff 0 0 0 0) (DELEGATECALL 0x7ffffffffffffff 0 0xfffffff 0 0xfffffff) (DELEGATECALL 0x7ffffffffffffff 0 0xffffffff 0 0xffffffff) (DELEGATECALL 0x7ffffffffffffff 0xfffffff 0 0xfffffff 0) (DELEGATECALL 0x7ffffffffffffff 0xffffffff 0 0xffffffff 0) (DELEGATECALL 0x7ffffffffffffff 0xffffffffffffffff 0 0xffffffffffffffff 0) (DELEGATECALL 0x7ffffffffffffff 0xffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffff 0) (DELEGATECALL 0x7ffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) (DELEGATECALL 0x7ffffffffffffff 0xfffffff 0xfffffff 0xfffffff 0xfffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0x0, - args_size=0xFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFF, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0x0, - args_size=0xFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFF, - ), + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0x0, + args_size=0xFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFF, ) - + Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0x0, + args_size=0xFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFF, ) - + Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0xFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFF, + ret_size=0x0, ) - + Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFFFFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0xFFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFFF, + ret_size=0x0, ) - + Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0xFFFFFFFFFFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFFFFFFFFFFF, + ret_size=0x0, ) - + Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_size=0x0, - ), + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_size=0x0, ) - + Op.DELEGATECALL( + ) + + Op.POP( + Op.DELEGATECALL( gas=0x7FFFFFFFFFFFFFF, address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFF, - args_size=0xFFFFFFF, - ret_offset=0xFFFFFFF, - ret_size=0xFFFFFFF, + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_size=0x0, + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0xFFFFFFF, + args_size=0xFFFFFFF, + ret_offset=0xFFFFFFF, + ret_size=0xFFFFFFF, + ) + + Op.STOP, nonce=0, - address=Address("0x75bc6dcef9bdda4e2eb511e92ed4815699f32b4f"), # noqa: E501 + address=Address(0x75BC6DCEF9BDDA4E2EB511E92ED4815699F32B4F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 0}, balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds2.py b/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds2.py index 5641612a4b4..7d35a713b94 100644 --- a/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds2.py +++ b/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_bounds2. Ported from: -tests/static/state_tests/stMemoryStressTest/DELEGATECALL_Bounds2Filler.json +state_tests/stMemoryStressTest/DELEGATECALL_Bounds2Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/DELEGATECALL_Bounds2Filler.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/DELEGATECALL_Bounds2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_delegatecall_bounds2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_bounds2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -57,41 +68,47 @@ def test_delegatecall_bounds2( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (DELEGATECALL 0x7ffffffffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFFF, - args_size=0xFFFFFFFF, - ret_offset=0xFFFFFFFF, - ret_size=0xFFFFFFFF, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0xFFFFFFFF, + args_size=0xFFFFFFFF, + ret_offset=0xFFFFFFFF, + ret_size=0xFFFFFFFF, + ) + + Op.STOP, nonce=0, - address=Address("0x7b7e1fed40d6cb2420c7f2718725badb76616d4d"), # noqa: E501 + address=Address(0x7B7E1FED40D6CB2420C7F2718725BADB76616D4D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={}, balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds3.py b/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds3.py index 77526007a45..cf48a071112 100644 --- a/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds3.py +++ b/tests/ported_static/stMemoryStressTest/test_delegatecall_bounds3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_bounds3. Ported from: -tests/static/state_tests/stMemoryStressTest/DELEGATECALL_Bounds3Filler.json +state_tests/stMemoryStressTest/DELEGATECALL_Bounds3Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,29 +24,43 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/DELEGATECALL_Bounds3Filler.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/DELEGATECALL_Bounds3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (1000000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_delegatecall_bounds3( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_bounds3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -58,91 +74,97 @@ def test_delegatecall_bounds3( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (DELEGATECALL 0x7ffffffffffffff 0 0xffffffffffffffff 0 0xffffffffffffffff) (DELEGATECALL 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffff) (DELEGATECALL 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (DELEGATECALL 0x7ffffffffffffff 0xffffffffffffffff 0xffffffffffffffff 0xffffffffffffffff 0xffffffffffffffff) (DELEGATECALL 0x7ffffffffffffff 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff) (DELEGATECALL 0x7ffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFF, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFFFFFFFFFFF, - args_size=0xFFFFFFFFFFFFFFFF, - ret_offset=0xFFFFFFFFFFFFFFFF, - ret_size=0xFFFFFFFFFFFFFFFF, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0x0, + args_size=0xFFFFFFFFFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFFFFFFFFFF, ) - + Op.POP( - Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ), + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0x0, + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, ) - + Op.DELEGATECALL( + ) + + Op.POP( + Op.DELEGATECALL( gas=0x7FFFFFFFFFFFFFF, address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_offset=0x0, args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_offset=0x0, ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 ) - + Op.STOP - ), + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0xFFFFFFFFFFFFFFFF, + args_size=0xFFFFFFFFFFFFFFFF, + ret_offset=0xFFFFFFFFFFFFFFFF, + ret_size=0xFFFFFFFFFFFFFFFF, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ) + ) + + Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0x5a6cc254b318bb5f7539fcc10cfb01c517154c5c"), # noqa: E501 + address=Address(0x5A6CC254B318BB5F7539FCC10CFB01C517154C5C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 1000000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 0}, balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_dup_bounds.py b/tests/ported_static/stMemoryStressTest/test_dup_bounds.py index 1e47ba7cc36..1996ca05c2e 100644 --- a/tests/ported_static/stMemoryStressTest/test_dup_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_dup_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_dup_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/DUP_BoundsFiller.json +state_tests/stMemoryStressTest/DUP_BoundsFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,43 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/DUP_BoundsFiller.json"], + ["state_tests/stMemoryStressTest/DUP_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit", + "d, g, v", [ - 150000, - 1000000, - 16777216, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_dup_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_dup_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x31B5AF02B012484AE954B3A43943242EDE546A2E76FC0A6ACC17435107C385EB ) @@ -55,486 +74,170 @@ def test_dup_bounds( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.POP(Op.DUP1) - + Op.POP - + Op.PUSH4[0xFFFFFFFF] - + Op.POP(Op.DUP1) - + Op.POP - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP1) - + Op.POP - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP1) - + Op.POP - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.POP(Op.DUP1) - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.DUP2) - + Op.POP - + Op.POP - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.POP(Op.DUP2) - + Op.POP - + Op.POP - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP2) - + Op.POP - + Op.POP - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP2) - + Op.POP - + Op.POP - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.POP(Op.DUP2) - + Op.POP - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.DUP3) - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.POP(Op.DUP3) - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP3) - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP3) - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.POP(Op.DUP3) - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.DUP4) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.POP(Op.DUP4) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP4) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP4) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.POP(Op.DUP4) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.DUP5) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.POP(Op.DUP5) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP5) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP5) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.POP(Op.DUP5) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.DUP6) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.POP(Op.DUP6) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP6) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP6) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.POP(Op.DUP6) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.DUP7) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.POP(Op.DUP7) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP7) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP7) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.POP(Op.DUP7) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.DUP8) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.PUSH4[0xFFFFFFFF] - + Op.POP(Op.DUP8) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP8) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.POP(Op.DUP8) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.DUP8 - ), + # Source: raw + # 0x600080505063ffffffff80505067ffffffffffffffff8050506fffffffffffffffffffffffffffffffff8050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff805050600060008150505063ffffffff63ffffffff8150505067ffffffffffffffff67ffffffffffffffff815050506fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff815050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81505050600060006000825050505063ffffffff63ffffffff63ffffffff825050505067ffffffffffffffff67ffffffffffffffff67ffffffffffffffff82505050506fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff82505050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8250505050600060006000600083505050505063ffffffff63ffffffff63ffffffff63ffffffff83505050505067ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff8350505050506fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff8350505050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff835050505050600060006000600060008450505050505063ffffffff63ffffffff63ffffffff63ffffffff63ffffffff8450505050505067ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff845050505050506fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff845050505050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84505050505050600060006000600060006000855050505050505063ffffffff63ffffffff63ffffffff63ffffffff63ffffffff63ffffffff855050505050505067ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff85505050505050506fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff85505050505050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8550505050505050600060006000600060006000600086505050505050505063ffffffff63ffffffff63ffffffff63ffffffff63ffffffff63ffffffff63ffffffff86505050505050505067ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff8650505050505050506fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff8650505050505050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff865050505050505050600060006000600060006000600060008750505050505050505063ffffffff63ffffffff63ffffffff63ffffffff63ffffffff63ffffffff63ffffffff63ffffffff8750505050505050505067ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff67ffffffffffffffff875050505050505050506fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff875050505050505050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff87 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.POP(Op.DUP1) + + Op.POP + + Op.PUSH4[0xFFFFFFFF] + + Op.POP(Op.DUP1) + + Op.POP + + Op.PUSH8[0xFFFFFFFFFFFFFFFF] + + Op.POP(Op.DUP1) + + Op.POP + + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.POP(Op.DUP1) + + Op.POP + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.POP(Op.DUP1) + + Op.POP + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.DUP2) + + Op.POP * 2 + + Op.PUSH4[0xFFFFFFFF] * 2 + + Op.POP(Op.DUP2) + + Op.POP * 2 + + Op.PUSH8[0xFFFFFFFFFFFFFFFF] * 2 + + Op.POP(Op.DUP2) + + Op.POP * 2 + + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.POP(Op.DUP2) + + Op.POP * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.POP(Op.DUP2) + + Op.POP * 2 + + Op.PUSH1[0x0] * 3 + + Op.POP(Op.DUP3) + + Op.POP * 3 + + Op.PUSH4[0xFFFFFFFF] * 3 + + Op.POP(Op.DUP3) + + Op.POP * 3 + + Op.PUSH8[0xFFFFFFFFFFFFFFFF] * 3 + + Op.POP(Op.DUP3) + + Op.POP * 3 + + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 3 + + Op.POP(Op.DUP3) + + Op.POP * 3 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 3 + + Op.POP(Op.DUP3) + + Op.POP * 3 + + Op.PUSH1[0x0] * 4 + + Op.POP(Op.DUP4) + + Op.POP * 4 + + Op.PUSH4[0xFFFFFFFF] * 4 + + Op.POP(Op.DUP4) + + Op.POP * 4 + + Op.PUSH8[0xFFFFFFFFFFFFFFFF] * 4 + + Op.POP(Op.DUP4) + + Op.POP * 4 + + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 4 + + Op.POP(Op.DUP4) + + Op.POP * 4 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 4 + + Op.POP(Op.DUP4) + + Op.POP * 4 + + Op.PUSH1[0x0] * 5 + + Op.POP(Op.DUP5) + + Op.POP * 5 + + Op.PUSH4[0xFFFFFFFF] * 5 + + Op.POP(Op.DUP5) + + Op.POP * 5 + + Op.PUSH8[0xFFFFFFFFFFFFFFFF] * 5 + + Op.POP(Op.DUP5) + + Op.POP * 5 + + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 5 + + Op.POP(Op.DUP5) + + Op.POP * 5 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 5 + + Op.POP(Op.DUP5) + + Op.POP * 5 + + Op.PUSH1[0x0] * 6 + + Op.POP(Op.DUP6) + + Op.POP * 6 + + Op.PUSH4[0xFFFFFFFF] * 6 + + Op.POP(Op.DUP6) + + Op.POP * 6 + + Op.PUSH8[0xFFFFFFFFFFFFFFFF] * 6 + + Op.POP(Op.DUP6) + + Op.POP * 6 + + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 6 + + Op.POP(Op.DUP6) + + Op.POP * 6 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 6 + + Op.POP(Op.DUP6) + + Op.POP * 6 + + Op.PUSH1[0x0] * 7 + + Op.POP(Op.DUP7) + + Op.POP * 7 + + Op.PUSH4[0xFFFFFFFF] * 7 + + Op.POP(Op.DUP7) + + Op.POP * 7 + + Op.PUSH8[0xFFFFFFFFFFFFFFFF] * 7 + + Op.POP(Op.DUP7) + + Op.POP * 7 + + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 7 + + Op.POP(Op.DUP7) + + Op.POP * 7 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 7 + + Op.POP(Op.DUP7) + + Op.POP * 7 + + Op.PUSH1[0x0] * 8 + + Op.POP(Op.DUP8) + + Op.POP * 8 + + Op.PUSH4[0xFFFFFFFF] * 8 + + Op.POP(Op.DUP8) + + Op.POP * 8 + + Op.PUSH8[0xFFFFFFFFFFFFFFFF] * 8 + + Op.POP(Op.DUP8) + + Op.POP * 8 + + Op.PUSH16[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 8 + + Op.POP(Op.DUP8) + + Op.POP * 8 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 8 + + Op.DUP8, nonce=0, - address=Address("0xe860bd7bf0474923e526cbe86fa5b5f76aee36ed"), # noqa: E501 + address=Address(0xE860BD7BF0474923E526CBE86FA5B5F76AEE36ED), # noqa: E501 ) pre[sender] = Account(balance=0x7FFFFFFFFFFFFFFF) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 1000000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post: dict = {} + post = {target: Account(balance=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_fill_stack.py b/tests/ported_static/stMemoryStressTest/test_fill_stack.py index 5ea3d5e0bb4..1813133b035 100644 --- a/tests/ported_static/stMemoryStressTest/test_fill_stack.py +++ b/tests/ported_static/stMemoryStressTest/test_fill_stack.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_fill_stack. Ported from: -tests/static/state_tests/stMemoryStressTest/FillStackFiller.json +state_tests/stMemoryStressTest/FillStackFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/FillStackFiller.json"], + ["state_tests/stMemoryStressTest/FillStackFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (3141592, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_fill_stack( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_fill_stack.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0x23000FE3D08CDEBA75EB2E2E2909F842DBF48AA0C566F49101E8285C8DEC62D6 ) @@ -55,67 +71,110 @@ def test_fill_stack( gas_limit=9223372036854775807, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3504357155320803a975560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.GASLIMIT + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.JUMPI(pc=Op.NUMBER, condition=Op.PUSH32[0xC350]) + + Op.ISZERO + + Op.MSTORE8 + + Op.SHA3 + + Op.DUP1 + + Op.GASPRICE + + Op.SWAP8 + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x709EE68118AB00CE0BAB659C9AA89744B35703FA), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.GASLIMIT - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.JUMPI(pc=Op.NUMBER, condition=Op.PUSH32[0xC350]) - + Op.ISZERO - + Op.MSTORE8 - + Op.SHA3 - + Op.DUP1 - + Op.GASPRICE - + Op.SWAP8 - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x709ee68118ab00ce0bab659c9aa89744b35703fa"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) pre[sender] = Account(balance=0x152D02C7E14AF6800000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={}, + code=bytes.fromhex( + "5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3504357155320803a975560005155" # noqa: E501 + ), + balance=0, + nonce=0, + ), + coinbase: Account( + storage={}, + code=bytes.fromhex("6000355415600957005b60203560003555"), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={}, + code=bytes.fromhex( + "5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3504357155320803a975560005155" # noqa: E501 + ), + balance=0, + nonce=0, + ), + coinbase: Account( + storage={}, + code=bytes.fromhex("6000355415600957005b60203560003555"), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes( + "5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3504357155320803a97" # noqa: E501 + ), + ] + tx_gas = [3141592, 16777216] + tx_value = [264050067] + tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457f000000" # noqa: E501 - "00000000000000000100000000000000000000000000000000000000007f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000017f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3504357155320803a97" - ), - gas_limit=tx_gas_limit, - value=264050067, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_jump_bounds.py b/tests/ported_static/stMemoryStressTest/test_jump_bounds.py index f8e8615ec3f..8a89ac36082 100644 --- a/tests/ported_static/stMemoryStressTest/test_jump_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_jump_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_jump_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/JUMP_BoundsFiller.json +state_tests/stMemoryStressTest/JUMP_BoundsFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/JUMP_BoundsFiller.json"], + ["state_tests/stMemoryStressTest/JUMP_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_jump_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_jump_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x31B5AF02B012484AE954B3A43943242EDE546A2E76FC0A6ACC17435107C385EB ) @@ -55,22 +68,29 @@ def test_jump_bounds( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (JUMP 0) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.JUMP(pc=0x0) + Op.STOP, nonce=0, - address=Address("0xb2448deb71e9fd31ed854e3b856f729adbc0c288"), # noqa: E501 + address=Address(0xB2448DEB71E9FD31ED854E3B856F729ADBC0C288), # noqa: E501 ) pre[sender] = Account(balance=0x7FFFFFFFFFFFFFFF) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_jump_bounds2.py b/tests/ported_static/stMemoryStressTest/test_jump_bounds2.py index 6280e26c56c..1e39ba7a289 100644 --- a/tests/ported_static/stMemoryStressTest/test_jump_bounds2.py +++ b/tests/ported_static/stMemoryStressTest/test_jump_bounds2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_jump_bounds2. Ported from: -tests/static/state_tests/stMemoryStressTest/JUMP_Bounds2Filler.json +state_tests/stMemoryStressTest/JUMP_Bounds2Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/JUMP_Bounds2Filler.json"], + ["state_tests/stMemoryStressTest/JUMP_Bounds2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_jump_bounds2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_jump_bounds2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x31B5AF02B012484AE954B3A43943242EDE546A2E76FC0A6ACC17435107C385EB ) @@ -55,28 +68,41 @@ def test_jump_bounds2( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMP(pc=0xFFFFFFFF) - + Op.JUMP(pc=0xFFFFFFFFFFFFFFFF) - + Op.JUMP(pc=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.JUMP( - pc=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) + # Source: raw + # 0x63ffffffff5667ffffffffffffffff566fffffffffffffffffffffffffffffffff567fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff56 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0xFFFFFFFF) + + Op.JUMP(pc=0xFFFFFFFFFFFFFFFF) + + Op.JUMP(pc=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.JUMP( + pc=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ), nonce=0, - address=Address("0xde573d26b8c4a55fd9daa17e8f93347c269ee4f6"), # noqa: E501 + address=Address(0xDE573D26B8C4A55FD9DAA17E8F93347C269EE4F6), # noqa: E501 ) pre[sender] = Account(balance=0x7FFFFFFFFFFFFFFF) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account( + code=bytes.fromhex( + "63ffffffff5667ffffffffffffffff566fffffffffffffffffffffffffffffffff567fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff56" # noqa: E501 + ), + balance=0, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_jumpi_bounds.py b/tests/ported_static/stMemoryStressTest/test_jumpi_bounds.py index 516e8c8d190..a29444e3f49 100644 --- a/tests/ported_static/stMemoryStressTest/test_jumpi_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_jumpi_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_jumpi_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/JUMPI_BoundsFiller.json +state_tests/stMemoryStressTest/JUMPI_BoundsFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/JUMPI_BoundsFiller.json"], + ["state_tests/stMemoryStressTest/JUMPI_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_jumpi_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_jumpi_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x31B5AF02B012484AE954B3A43943242EDE546A2E76FC0A6ACC17435107C385EB ) @@ -55,31 +68,43 @@ def test_jumpi_bounds( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (JUMPI 0xffffffff 1) (JUMPI 0xffffffffffffffff 1) (JUMPI 0xffffffffffffffffffffffffffffffff 1) (JUMPI 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPI(pc=0xFFFFFFFF, condition=0x1) - + Op.JUMPI(pc=0xFFFFFFFFFFFFFFFF, condition=0x1) - + Op.JUMPI(pc=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, condition=0x1) - + Op.JUMPI( - pc=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - condition=0x1, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0xFFFFFFFF, condition=0x1) + + Op.JUMPI(pc=0xFFFFFFFFFFFFFFFF, condition=0x1) + + Op.JUMPI(pc=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, condition=0x1) + + Op.JUMPI( + pc=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + condition=0x1, + ) + + Op.STOP, nonce=0, - address=Address("0x147f3300e29f2f09880e97b81f7b3ebcf78863e9"), # noqa: E501 + address=Address(0x147F3300E29F2F09880E97B81F7B3EBCF78863E9), # noqa: E501 ) pre[sender] = Account(balance=0x7FFFFFFFFFFFFFFF) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account( + code=bytes.fromhex( + "600163ffffffff57600167ffffffffffffffff5760016fffffffffffffffffffffffffffffffff5760017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5700" # noqa: E501 + ), + balance=0, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_mload32bit_bound.py b/tests/ported_static/stMemoryStressTest/test_mload32bit_bound.py index 7a3d29a32c2..629438d5d7b 100644 --- a/tests/ported_static/stMemoryStressTest/test_mload32bit_bound.py +++ b/tests/ported_static/stMemoryStressTest/test_mload32bit_bound.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload32bit_bound. Ported from: -tests/static/state_tests/stMemoryStressTest/mload32bitBoundFiller.json +state_tests/stMemoryStressTest/mload32bitBoundFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/mload32bitBoundFiller.json"], + ["state_tests/stMemoryStressTest/mload32bitBoundFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mload32bit_bound( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload32bit_bound.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA3A3360EDACC183E5D6D28657FC0A09CD4819B2C73A02881B04471F81BE35A5A ) @@ -55,23 +71,58 @@ def test_mload32bit_bound( gas_limit=17592320524892, ) - pre[sender] = Account(balance=0x3E801F4FA93760) - # Source: LLL + # Source: lll # { [[ 1 ]] (MLOAD 4294967296) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x100000000)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x74639acdfe345f749d595381961dac48c3c5e56a"), # noqa: E501 + address=Address(0x74639ACDFE345F749D595381961DAC48C3C5E56A), # noqa: E501 ) + pre[sender] = Account(balance=0x3E801F4FA93760) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={}, + code=bytes.fromhex("6401000000005160015500"), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + }, + }, + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={}, + code=bytes.fromhex("6401000000005160015500"), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_mload32bit_bound2.py b/tests/ported_static/stMemoryStressTest/test_mload32bit_bound2.py index a64fa5fc6e6..c166e7919da 100644 --- a/tests/ported_static/stMemoryStressTest/test_mload32bit_bound2.py +++ b/tests/ported_static/stMemoryStressTest/test_mload32bit_bound2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload32bit_bound2. Ported from: -tests/static/state_tests/stMemoryStressTest/mload32bitBound2Filler.json +state_tests/stMemoryStressTest/mload32bitBound2Filler.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/mload32bitBound2Filler.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/mload32bitBound2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mload32bit_bound2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload32bit_bound2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xD566533F0CCAB46749AC8725E15DA8CE513758257002A8B481F6F5F96484C5ED ) @@ -57,23 +71,58 @@ def test_mload32bit_bound2( gas_limit=37791080412587, ) - pre[sender] = Account(balance=0x157B5373E07CA) - # Source: LLL + # Source: lll # { [[ 1 ]] (MLOAD 6294967296) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x177359400)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc287e277d2163771e55d630bdd96c6405a6fe251"), # noqa: E501 + address=Address(0xC287E277D2163771E55D630BDD96C6405A6FE251), # noqa: E501 ) + pre[sender] = Account(balance=0x157B5373E07CA) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={}, + code=bytes.fromhex("6401773594005160015500"), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={}, + code=bytes.fromhex("6401773594005160015500"), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_msize.py b/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_msize.py index 560259ff6ba..87978c1736d 100644 --- a/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_msize.py +++ b/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_msize.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload32bit_bound_msize. Ported from: -tests/static/state_tests/stMemoryStressTest/mload32bitBound_MsizeFiller.json +state_tests/stMemoryStressTest/mload32bitBound_MsizeFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/mload32bitBound_MsizeFiller.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/mload32bitBound_MsizeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mload32bit_bound_msize( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload32bit_bound_msize.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD14755C573E37C1F649B0C53B9815F76AEBD636DF7CCFA97F4579F33BA59A0 ) @@ -57,26 +71,58 @@ def test_mload32bit_bound_msize( gas_limit=175923205248920000, ) - # Source: LLL + # Source: lll # { [4294967295] 1 [[ 0 ]] (MSIZE)} - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0xFFFFFFFF, value=0x1) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xFFFFFFFF, value=0x1) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15d5a32351458ff3dca214bd202c21f066031ae1"), # noqa: E501 + address=Address(0x15D5A32351458FF3DCA214BD202C21F066031AE1), # noqa: E501 ) pre[sender] = Account(balance=0x186A0C3B1E19A180) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 0}, + code=bytes.fromhex("600163ffffffff525960005500"), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + }, + }, + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 0}, + code=bytes.fromhex("600163ffffffff525960005500"), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_return.py b/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_return.py index e80435e785f..ce5d14212ed 100644 --- a/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_return.py +++ b/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_return.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload32bit_bound_return. Ported from: -tests/static/state_tests/stMemoryStressTest/mload32bitBound_returnFiller.json +state_tests/stMemoryStressTest/mload32bitBound_returnFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/mload32bitBound_returnFiller.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/mload32bitBound_returnFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mload32bit_bound_return( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload32bit_bound_return.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD14755C573E37C1F649B0C53B9815F76AEBD636DF7CCFA97F4579F33BA59A0 ) @@ -57,22 +68,28 @@ def test_mload32bit_bound_return( gas_limit=17592320524892, ) - pre[sender] = Account(balance=0x186A0C3B1E19A180) - # Source: LLL + # Source: lll # { (RETURN 0 4294967295) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.RETURN(offset=0x0, size=0xFFFFFFFF) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd9cba08b7a9695800f57e226045176cf420ca0c1"), # noqa: E501 + address=Address(0xD9CBA08B7A9695800F57E226045176CF420CA0C1), # noqa: E501 ) + pre[sender] = Account(balance=0x186A0C3B1E19A180) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_return2.py b/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_return2.py index 27278373a8a..7dfd0fd7b2c 100644 --- a/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_return2.py +++ b/tests/ported_static/stMemoryStressTest/test_mload32bit_bound_return2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload32bit_bound_return2. Ported from: -tests/static/state_tests/stMemoryStressTest/mload32bitBound_return2Filler.json +state_tests/stMemoryStressTest/mload32bitBound_return2Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/mload32bitBound_return2Filler.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/mload32bitBound_return2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mload32bit_bound_return2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload32bit_bound_return2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD14755C573E37C1F649B0C53B9815F76AEBD636DF7CCFA97F4579F33BA59A0 ) @@ -57,26 +68,30 @@ def test_mload32bit_bound_return2( gas_limit=175923205248920000, ) - pre[sender] = Account(balance=0x186A0C3B1E19A180) - # Source: LLL + # Source: lll # { [ 0 ] 1 (RETURN 0 4294967295) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x1) - + Op.RETURN(offset=0x0, size=0xFFFFFFFF) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x1) + + Op.RETURN(offset=0x0, size=0xFFFFFFFF) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x48c46c265c6883f765eea264f561fe7637968b4e"), # noqa: E501 + address=Address(0x48C46C265C6883F765EEA264F561FE7637968B4E), # noqa: E501 ) + pre[sender] = Account(balance=0x186A0C3B1E19A180) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_mload_bounds.py b/tests/ported_static/stMemoryStressTest/test_mload_bounds.py index 3f5d21262ed..576951a18c8 100644 --- a/tests/ported_static/stMemoryStressTest/test_mload_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_mload_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/MLOAD_BoundsFiller.json +state_tests/stMemoryStressTest/MLOAD_BoundsFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/MLOAD_BoundsFiller.json"], + ["state_tests/stMemoryStressTest/MLOAD_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mload_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xFE5BE118AD5955E30E0FFC4E1F1BBDCAA7F5A67CB1426C4AC19E32C80ECCDC06 ) @@ -55,26 +68,31 @@ def test_mload_bounds( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (MLOAD 0) (MLOAD 0xffffffff) } - contract = pre.deploy_contract( - code=( - Op.POP(Op.MLOAD(offset=0x0)) - + Op.MLOAD(offset=0xFFFFFFFF) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.MLOAD(offset=0x0)) + + Op.MLOAD(offset=0xFFFFFFFF) + + Op.STOP, nonce=0, - address=Address("0x8b0647e983082e6923f7b20e38972690fce91e9b"), # noqa: E501 + address=Address(0x8B0647E983082E6923F7B20E38972690FCE91E9B), # noqa: E501 ) pre[sender] = Account(balance=0x7FFFFFFFFFFFFFFFFFF) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_mload_bounds2.py b/tests/ported_static/stMemoryStressTest/test_mload_bounds2.py index d1ff7ab931e..cca60078e35 100644 --- a/tests/ported_static/stMemoryStressTest/test_mload_bounds2.py +++ b/tests/ported_static/stMemoryStressTest/test_mload_bounds2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload_bounds2. Ported from: -tests/static/state_tests/stMemoryStressTest/MLOAD_Bounds2Filler.json +state_tests/stMemoryStressTest/MLOAD_Bounds2Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/MLOAD_Bounds2Filler.json"], + ["state_tests/stMemoryStressTest/MLOAD_Bounds2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mload_bounds2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload_bounds2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xFE5BE118AD5955E30E0FFC4E1F1BBDCAA7F5A67CB1426C4AC19E32C80ECCDC06 ) @@ -55,29 +68,34 @@ def test_mload_bounds2( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (MLOAD 0xffffffffffffffff) (MLOAD 0xffffffffffffffffffffffffffffffff) (MLOAD 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP(Op.MLOAD(offset=0xFFFFFFFFFFFFFFFF)) - + Op.POP(Op.MLOAD(offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)) - + Op.MLOAD( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.MLOAD(offset=0xFFFFFFFFFFFFFFFF)) + + Op.POP(Op.MLOAD(offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)) + + Op.MLOAD( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0xb581f1a0f5810ad50a1f96713df63eb8cb0ebf8a"), # noqa: E501 + address=Address(0xB581F1A0F5810AD50A1F96713DF63EB8CB0EBF8A), # noqa: E501 ) pre[sender] = Account(balance=0x7FFFFFFFFFFFFFFFFFF) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_mload_bounds3.py b/tests/ported_static/stMemoryStressTest/test_mload_bounds3.py index ed5ac7a00ed..b34def49c4f 100644 --- a/tests/ported_static/stMemoryStressTest/test_mload_bounds3.py +++ b/tests/ported_static/stMemoryStressTest/test_mload_bounds3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload_bounds3. Ported from: -tests/static/state_tests/stMemoryStressTest/MLOAD_Bounds3Filler.json +state_tests/stMemoryStressTest/MLOAD_Bounds3Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/MLOAD_Bounds3Filler.json"], + ["state_tests/stMemoryStressTest/MLOAD_Bounds3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_gas_limit", + "d, g, v", [ - 35000000, - 250000000, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mload_bounds3( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload_bounds3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xFE5BE118AD5955E30E0FFC4E1F1BBDCAA7F5A67CB1426C4AC19E32C80ECCDC06 ) @@ -55,22 +69,29 @@ def test_mload_bounds3( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (MLOAD 0x400000) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.MLOAD(offset=0x400000) + Op.STOP, nonce=0, - address=Address("0xb4b66eef4a593bfd61289ec192af659c68266259"), # noqa: E501 + address=Address(0xB4B66EEF4A593BFD61289EC192AF659C68266259), # noqa: E501 ) pre[sender] = Account(balance=0x7FFFFFFFFFFFFFFFFFF) + tx_data = [ + Bytes(""), + ] + tx_gas = [35000000, 250000000] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post: dict = {} + post = {target: Account(balance=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_mstore_bounds.py b/tests/ported_static/stMemoryStressTest/test_mstore_bounds.py index cb006ee3323..c764c3a97d7 100644 --- a/tests/ported_static/stMemoryStressTest/test_mstore_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_mstore_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mstore_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/MSTORE_BoundsFiller.json +state_tests/stMemoryStressTest/MSTORE_BoundsFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/MSTORE_BoundsFiller.json"], + ["state_tests/stMemoryStressTest/MSTORE_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mstore_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mstore_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -55,24 +68,31 @@ def test_mstore_bounds( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (MSTORE 0xffffffffffffffff 1)} - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0xFFFFFFFFFFFFFFFF, value=0x1) + Op.STOP, nonce=0, - address=Address("0x3634c48093587d5dab61c69ee815d8e8752e9312"), # noqa: E501 + address=Address(0x3634C48093587D5DAB61C69EE815D8E8752E9312), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_mstore_bounds2.py b/tests/ported_static/stMemoryStressTest/test_mstore_bounds2.py index 7b933dd4b27..1f8ff32dd6f 100644 --- a/tests/ported_static/stMemoryStressTest/test_mstore_bounds2.py +++ b/tests/ported_static/stMemoryStressTest/test_mstore_bounds2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mstore_bounds2. Ported from: -tests/static/state_tests/stMemoryStressTest/MSTORE_Bounds2Filler.json +state_tests/stMemoryStressTest/MSTORE_Bounds2Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/MSTORE_Bounds2Filler.json"], + ["state_tests/stMemoryStressTest/MSTORE_Bounds2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mstore_bounds2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mstore_bounds2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -55,24 +68,31 @@ def test_mstore_bounds2( gas_limit=9223372036854775807, ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - # Source: LLL + # Source: lll # { (MSTORE 0xffffffffff 1)} - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0xFFFFFFFFFF, value=0x1) + Op.STOP, nonce=0, - address=Address("0xdd1868b8341812c23c84da08446bc70919a815df"), # noqa: E501 + address=Address(0xDD1868B8341812C23C84DA08446BC70919A815DF), # noqa: E501 ) + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 + ) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_mstore_bounds2a.py b/tests/ported_static/stMemoryStressTest/test_mstore_bounds2a.py index 189c46c2e4f..001c9bb8b43 100644 --- a/tests/ported_static/stMemoryStressTest/test_mstore_bounds2a.py +++ b/tests/ported_static/stMemoryStressTest/test_mstore_bounds2a.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mstore_bounds2a. Ported from: -tests/static/state_tests/stMemoryStressTest/MSTORE_Bounds2aFiller.json +state_tests/stMemoryStressTest/MSTORE_Bounds2aFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,27 +27,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/MSTORE_Bounds2aFiller.json"], + ["state_tests/stMemoryStressTest/MSTORE_Bounds2aFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (250000000, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_mstore_bounds2a( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mstore_bounds2a.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -56,24 +72,45 @@ def test_mstore_bounds2a( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (MSTORE 0x3fffff 1)} - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x3FFFFF, value=0x1) + Op.STOP, nonce=0, - address=Address("0x10da52cbd00939aebe8218a1dd2eda0bffe93f30"), # noqa: E501 + address=Address(0x10DA52CBD00939AEBE8218A1DD2EDA0BFFE93F30), # noqa: E501 ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_pop_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xFE5BE118AD5955E30E0FFC4E1F1BBDCAA7F5A67CB1426C4AC19E32C80ECCDC06 ) @@ -54,31 +68,36 @@ def test_pop_bounds( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (POP 0) (POP 0xffffffff) (POP 0xffffffffffffffff) (POP 0xffffffffffffffffffffffffffffffff) (POP 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP(0x0) - + Op.POP(0xFFFFFFFF) - + Op.POP(0xFFFFFFFFFFFFFFFF) - + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.POP( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP(0x0) + + Op.POP(0xFFFFFFFF) + + Op.POP(0xFFFFFFFFFFFFFFFF) + + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.POP( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Op.STOP, nonce=0, - address=Address("0x5bd3610afcec3b0c20466ca011b505497b0009f0"), # noqa: E501 + address=Address(0x5BD3610AFCEC3B0C20466CA011B505497B0009F0), # noqa: E501 ) pre[sender] = Account(balance=0x7FFFFFFFFFFFFFFFFFF) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post: dict = {} + post = {target: Account(balance=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_return_bounds.py b/tests/ported_static/stMemoryStressTest/test_return_bounds.py index 7fbf88a4244..9a65ef00795 100644 --- a/tests/ported_static/stMemoryStressTest/test_return_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_return_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_return_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/RETURN_BoundsFiller.json +state_tests/stMemoryStressTest/RETURN_BoundsFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,75 +27,43 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/RETURN_BoundsFiller.json"], + ["state_tests/stMemoryStressTest/RETURN_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - ( - 500000, - { - Address("0xd66a0237ee5d25106fc05bc767734bddba1fab35"): Account( - storage={ - 1: 1, - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 6: 1, - 7: 1, - 8: 1, - 9: 1, - 10: 1, - 11: 1, - 12: 1, - 13: 1, - 14: 1, - 15: 1, - 16: 1, - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", ), - ( - 15000000, - { - Address("0xd66a0237ee5d25106fc05bc767734bddba1fab35"): Account( - storage={ - 1: 1, - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 6: 1, - 7: 1, - 8: 1, - 9: 1, - 10: 1, - 11: 1, - 12: 1, - 13: 1, - 14: 1, - 15: 1, - 16: 1, - } - ) - }, + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_return_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_return_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -104,329 +77,390 @@ def test_return_bounds( gas_limit=9223372036854775807, ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFF, size=0xFFFFFFF) + Op.STOP, + # Source: lll + # { [[1]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[2]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[3]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[4]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[5]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[6]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[7]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[8]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[9]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[10]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[11]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[12]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[13]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[14]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[15]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[16]] (CALL 0x7ffffffffffffff 0 0 0 0 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x5EFBF04D8E1CC5B6B3719B16B5744A09BACFC18B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xC7AA750FE05C7E38475A49FE98A301024D0C1D54, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x3, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xFF6B6D23BE161344E86EB7B174ACEDD4B1DC6DC7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x4, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x7BBCF24C83493C4E733CB54079B51873D3211AD2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x5, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x7A4461AC9F9CD13F40F9514A7C60E23A71C1DFF3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x6, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x7, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x8, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x9, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xA, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xB, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xC, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xD, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xE, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xF, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x10, + value=Op.CALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x07084994c5891b1467d74bedb0477da4909e4c0e"), # noqa: E501 + address=Address(0xD66A0237EE5D25106FC05BC767734BDDBA1FAB35), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFF) + Op.STOP, + # Source: lll + # { (RETURN 0 0) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0x0) + Op.STOP, nonce=0, - address=Address("0x0b09ca4308585f026b8d02be147fea0739ec463a"), # noqa: E501 + address=Address(0x5EFBF04D8E1CC5B6B3719B16B5744A09BACFC18B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xfffffff 0) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFF, size=0x0) + Op.STOP, nonce=0, - address=Address("0x2548bda95a3831abcd613f4d24e4634615a71cca"), # noqa: E501 + address=Address(0xC7AA750FE05C7E38475A49FE98A301024D0C1D54), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0x0, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xffffffff 0) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFF, size=0x0) + Op.STOP, nonce=0, - address=Address("0x28463490948d21efc49949b4d394989bf52c57f1"), # noqa: E501 + address=Address(0xFF6B6D23BE161344E86EB7B174ACEDD4B1DC6DC7), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0xFFFFFFFF) + Op.STOP, + # Source: lll + # { (RETURN 0xffffffffffffffff 0) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0x0) + Op.STOP, nonce=0, - address=Address("0x2ceb88d6c420e5c65593d9ebed9a25600ab9e113"), # noqa: E501 + address=Address(0x7BBCF24C83493C4E733CB54079B51873D3211AD2), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0xFFFFFFFFFFFFFFFF) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xfffffffffffffffffffffffffff 0) } + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, size=0x0) + + Op.STOP, nonce=0, - address=Address("0x416408c1d7fda274ddeb45ffe4817068808121ca"), # noqa: E501 + address=Address(0x7A4461AC9F9CD13F40F9514A7C60E23A71C1DFF3), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x4912bc7b66a3bf27adfa54ab049e90e8c9c4dc63"), # noqa: E501 + address=Address(0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0x0) + Op.STOP, + # Source: lll + # { (RETURN 0 0xfffffff) } + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFF) + Op.STOP, nonce=0, - address=Address("0x5efbf04d8e1cc5b6b3719b16b5744a09bacfc18b"), # noqa: E501 + address=Address(0x7266F1C07958D55CE36DE0592604F1A915BDF1C2), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0xFFFFFFF) + Op.STOP, + # Source: lll + # { (RETURN 0 0xffffffff) } + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFFF) + Op.STOP, nonce=0, - address=Address("0x7266f1c07958d55ce36de0592604f1a915bdf1c2"), # noqa: E501 + address=Address(0x2CEB88D6C420E5C65593D9EBED9A25600AB9E113), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0 0xffffffffffffffff) } + addr_9 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFF) + Op.STOP, nonce=0, - address=Address("0x76006c948f3a0529479c6d18a6f95908426e8092"), # noqa: E501 + address=Address(0x0B09CA4308585F026B8D02BE147FEA0739EC463A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN(offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, size=0x0) + Op.STOP - ), + # Source: lll + # { (RETURN 0 0xfffffffffffffffffffffffffff) } + addr_10 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.STOP, nonce=0, - address=Address("0x7a4461ac9f9cd13f40f9514a7c60e23a71c1dff3"), # noqa: E501 + address=Address(0xF519DE4DCB9AAA53F8F0DB9B18C715C928CAADE8), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0x0) + Op.STOP, + # Source: lll + # { (RETURN 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr_11 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0x0, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0x7bbcf24c83493c4e733cb54079b51873d3211ad2"), # noqa: E501 + address=Address(0x28463490948D21EFC49949B4D394989BF52C57F1), # noqa: E501 ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + # Source: lll + # { (RETURN 0xfffffff 0xfffffff) } + addr_12 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFF, size=0xFFFFFFF) + Op.STOP, + nonce=0, + address=Address(0x07084994C5891B1467D74BEDB0477DA4909E4C0E), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (RETURN 0xffffffff 0xffffffff) } + addr_13 = pre.deploy_contract( # noqa: F841 code=Op.RETURN(offset=0xFFFFFFFF, size=0xFFFFFFFF) + Op.STOP, nonce=0, - address=Address("0xad7754a8a56cc5ad4e319fa94194e435628dee67"), # noqa: E501 + address=Address(0xAD7754A8A56CC5AD4E319FA94194E435628DEE67), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFF, size=0x0) + Op.STOP, + # Source: lll + # { (RETURN 0xffffffffffffffff 0xffffffffffffffff) } + addr_14 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0xFFFFFFFFFFFFFFFF) + + Op.STOP, nonce=0, - address=Address("0xc7aa750fe05c7e38475a49fe98a301024d0c1d54"), # noqa: E501 + address=Address(0x416408C1D7FDA274DDEB45FFE4817068808121CA), # noqa: E501 ) - # Source: LLL - # { [[1]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[2]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[3]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[4]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[5]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[6]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[7]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[8]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[9]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[10]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[11]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[12]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[13]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[14]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[15]] (CALL 0x7ffffffffffffff 0 0 0 0 0) [[16]] (CALL 0x7ffffffffffffff 0 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x5EFBF04D8E1CC5B6B3719B16B5744A09BACFC18B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xC7AA750FE05C7E38475A49FE98A301024D0C1D54, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x3, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xFF6B6D23BE161344E86EB7B174ACEDD4B1DC6DC7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x4, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x7BBCF24C83493C4E733CB54079B51873D3211AD2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x5, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x7A4461AC9F9CD13F40F9514A7C60E23A71C1DFF3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x6, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x7, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x8, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x9, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xA, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xB, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xC, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xD, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xE, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xF, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x10, - value=Op.CALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xfffffffffffffffffffffffffff 0xfffffffffffffffffffffffffff) } + addr_15 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ) + + Op.STOP, nonce=0, - address=Address("0xd66a0237ee5d25106fc05bc767734bddba1fab35"), # noqa: E501 + address=Address(0x2548BDA95A3831ABCD613F4D24E4634615A71CCA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF) + Op.STOP - ), + # Source: lll + # { (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr_16 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0xf519de4dcb9aaa53f8f0db9b18c715c928caade8"), # noqa: E501 + address=Address(0x76006C948F3A0529479C6D18A6F95908426E8092), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFFF, size=0x0) + Op.STOP, - nonce=0, - address=Address("0xff6b6d23be161344e86eb7b174acedd4b1dc6dc7"), # noqa: E501 + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={}, balance=0)}, + }, + { + "indexes": {"data": -1, "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 1: 1, + 2: 1, + 3: 1, + 4: 1, + 5: 1, + 6: 1, + 7: 1, + 8: 1, + 9: 1, + 10: 1, + 11: 1, + 12: 1, + 13: 1, + 14: 1, + 15: 1, + 16: 1, + }, + balance=1, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 500000, 15000000] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_sload_bounds.py b/tests/ported_static/stMemoryStressTest/test_sload_bounds.py index ad4d4e5ea11..9681a7f4ba1 100644 --- a/tests/ported_static/stMemoryStressTest/test_sload_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_sload_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sload_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/SLOAD_BoundsFiller.json +state_tests/stMemoryStressTest/SLOAD_BoundsFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,25 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/SLOAD_BoundsFiller.json"], + ["state_tests/stMemoryStressTest/SLOAD_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit", + "d, g, v", [ - 150000, - 16777216, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_sload_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sload_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xFE5BE118AD5955E30E0FFC4E1F1BBDCAA7F5A67CB1426C4AC19E32C80ECCDC06 ) @@ -54,31 +68,36 @@ def test_sload_bounds( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (SLOAD 0) (SLOAD 0xffffffff) (SLOAD 0xffffffffffffffff) (SLOAD 0xffffffffffffffffffffffffffffffff) (SLOAD 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP(Op.SLOAD(key=0x0)) - + Op.POP(Op.SLOAD(key=0xFFFFFFFF)) - + Op.POP(Op.SLOAD(key=0xFFFFFFFFFFFFFFFF)) - + Op.POP(Op.SLOAD(key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)) - + Op.SLOAD( - key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SLOAD(key=0x0)) + + Op.POP(Op.SLOAD(key=0xFFFFFFFF)) + + Op.POP(Op.SLOAD(key=0xFFFFFFFFFFFFFFFF)) + + Op.POP(Op.SLOAD(key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)) + + Op.SLOAD( + key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0x1b71c198ea09541afb8301905a0a80d026ebfa17"), # noqa: E501 + address=Address(0x1B71C198EA09541AFB8301905A0A80D026EBFA17), # noqa: E501 ) pre[sender] = Account(balance=0x7FFFFFFFFFFFFFFFFFF) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post: dict = {} + post = {target: Account(balance=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_sstore_bounds.py b/tests/ported_static/stMemoryStressTest/test_sstore_bounds.py index 7965ba0d7da..6f7fd2d5bb3 100644 --- a/tests/ported_static/stMemoryStressTest/test_sstore_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_sstore_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sstore_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/SSTORE_BoundsFiller.json +state_tests/stMemoryStressTest/SSTORE_BoundsFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,42 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryStressTest/SSTORE_BoundsFiller.json"], + ["state_tests/stMemoryStressTest/SSTORE_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - ( - 16777216, - { - Address("0x1f2aee312c3c47bdeb27ff5275fddb33c543e394"): Account( - storage={ - 32: 0xFFFFFFFF, - 64: 0xFFFFFFFFFFFFFFFF, - 128: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - 256: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFF: 1, - 0xFFFFFFFFFFFFFFFF: 1, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 1, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 1, # noqa: E501 - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_sstore_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sstore_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xFE5BE118AD5955E30E0FFC4E1F1BBDCAA7F5A67CB1426C4AC19E32C80ECCDC06 ) @@ -71,38 +71,71 @@ def test_sstore_bounds( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (SSTORE 0xffffffff 1) (SSTORE 0xffffffffffffffff 1) (SSTORE 0xffffffffffffffffffffffffffffffff 1) (SSTORE 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1) (SSTORE 32 0xffffffff) (SSTORE 64 0xffffffffffffffff) (SSTORE 128 0xffffffffffffffffffffffffffffffff) (SSTORE 256 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0xFFFFFFFF, value=0x1) - + Op.SSTORE(key=0xFFFFFFFFFFFFFFFF, value=0x1) - + Op.SSTORE(key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, value=0x1) - + Op.SSTORE( - key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - value=0x1, - ) - + Op.SSTORE(key=0x20, value=0xFFFFFFFF) - + Op.SSTORE(key=0x40, value=0xFFFFFFFFFFFFFFFF) - + Op.SSTORE(key=0x80, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.SSTORE( - key=0x100, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0xFFFFFFFF, value=0x1) + + Op.SSTORE(key=0xFFFFFFFFFFFFFFFF, value=0x1) + + Op.SSTORE(key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, value=0x1) + + Op.SSTORE( + key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + value=0x1, + ) + + Op.SSTORE(key=0x20, value=0xFFFFFFFF) + + Op.SSTORE(key=0x40, value=0xFFFFFFFFFFFFFFFF) + + Op.SSTORE(key=0x80, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.SSTORE( + key=0x100, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0x1f2aee312c3c47bdeb27ff5275fddb33c543e394"), # noqa: E501 + address=Address(0x1F2AEE312C3C47BDEB27FF5275FDDB33C543E394), # noqa: E501 ) pre[sender] = Account(balance=0x7FFFFFFFFFFFFFFFFFF) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 32: 0xFFFFFFFF, + 64: 0xFFFFFFFFFFFFFFFF, + 128: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + 256: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFF: 1, + 0xFFFFFFFFFFFFFFFF: 1, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 1, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 1, # noqa: E501 + }, + balance=1, + ), + }, + }, + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={}, balance=0)}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_static_call_bounds.py b/tests/ported_static/stMemoryStressTest/test_static_call_bounds.py index d305b26fa37..63e769b4b73 100644 --- a/tests/ported_static/stMemoryStressTest/test_static_call_bounds.py +++ b/tests/ported_static/stMemoryStressTest/test_static_call_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_bounds. Ported from: -tests/static/state_tests/stMemoryStressTest/static_CALL_BoundsFiller.json +state_tests/stMemoryStressTest/static_CALL_BoundsFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/static_CALL_BoundsFiller.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/static_CALL_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_static_call_bounds( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xEF111BBDAB3A1622936AFDFC9BBEC4B5BC05B4FA4B1EF0CE2A55CEF552F7650E ) @@ -57,112 +68,120 @@ def test_static_call_bounds( gas_limit=9223372036854775807, ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ) - # Source: LLL + # Source: lll # { (STATICCALL 0x7ffffffffffffff 0 0 0 0) (STATICCALL 0x7ffffffffffffff 0 0xfffffff 0 0xfffffff) (STATICCALL 0x7ffffffffffffff 0 0xffffffff 0 0xffffffff) (STATICCALL 0x7ffffffffffffff 0xfffffff 0 0xfffffff 0) (STATICCALL 0x7ffffffffffffff 0xffffffff 0 0xffffffff 0) (STATICCALL 0x7ffffffffffffff 0xffffffffffffffff 0 0xffffffffffffffff 0) (STATICCALL 0x7ffffffffffffff 0xffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffff 0) (STATICCALL 0x7ffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0x0, - args_size=0xFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFF, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0x0, - args_size=0xFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFF, - ), + ) + + Op.POP( + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0x0, + args_size=0xFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFF, ) - + Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0xFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0x0, + args_size=0xFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFF, ) - + Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0xFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0xFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFF, + ret_size=0x0, ) - + Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0xFFFFFFFFFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0xFFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFFF, + ret_size=0x0, ) - + Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_size=0x0, - ), + ) + + Op.POP( + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0xFFFFFFFFFFFFFFFF, + args_size=0x0, + ret_offset=0xFFFFFFFFFFFFFFFF, + ret_size=0x0, ) - + Op.STATICCALL( + ) + + Op.POP( + Op.STATICCALL( gas=0x7FFFFFFFFFFFFFF, address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, args_size=0x0, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_size=0x0, + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x7f91c742985ac295da40f3771a1be98f99f6a357"), # noqa: E501 + address=Address(0x7F91C742985AC295DA40F3771A1BE98F99F6A357), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0xcc704d60c46b9c08aab4d15281184441ac7ed35c"), # noqa: E501 + address=Address(0xCC704D60C46B9C08AAB4D15281184441AC7ED35C), # noqa: E501 + ) + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account(balance=0), + addr: Account(storage={0: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_static_call_bounds2.py b/tests/ported_static/stMemoryStressTest/test_static_call_bounds2.py index 83dc6bc1538..d9c6d90404b 100644 --- a/tests/ported_static/stMemoryStressTest/test_static_call_bounds2.py +++ b/tests/ported_static/stMemoryStressTest/test_static_call_bounds2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_bounds2. Ported from: -tests/static/state_tests/stMemoryStressTest/static_CALL_Bounds2Filler.json +state_tests/stMemoryStressTest/static_CALL_Bounds2Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/static_CALL_Bounds2Filler.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/static_CALL_Bounds2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_static_call_bounds2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_bounds2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xEF111BBDAB3A1622936AFDFC9BBEC4B5BC05B4FA4B1EF0CE2A55CEF552F7650E ) @@ -57,41 +68,50 @@ def test_static_call_bounds2( gas_limit=9223372036854775807, ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (STATICCALL 0x7ffffffffffffff 0xfffffff 0xfffffff 0xfffffff 0xfffffff) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0xFFFFFFF, + args_size=0xFFFFFFF, + ret_offset=0xFFFFFFF, + ret_size=0xFFFFFFF, + ) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0x897C36DFFCE5CC08EB13170A6C308AB09FA72E65), # noqa: E501 ) - # Source: LLL - # { (STATICCALL 0x7ffffffffffffff 0xfffffff 0xfffffff 0xfffffff 0xfffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFF, - args_size=0xFFFFFFF, - ret_offset=0xFFFFFFF, - ret_size=0xFFFFFFF, - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x897c36dffce5cc08eb13170a6c308ab09fa72e65"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 ) + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account(balance=0), + addr: Account(storage={0: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_static_call_bounds2a.py b/tests/ported_static/stMemoryStressTest/test_static_call_bounds2a.py index 7f3efd0ef29..1247a29948e 100644 --- a/tests/ported_static/stMemoryStressTest/test_static_call_bounds2a.py +++ b/tests/ported_static/stMemoryStressTest/test_static_call_bounds2a.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_bounds2a. Ported from: -tests/static/state_tests/stMemoryStressTest/static_CALL_Bounds2aFiller.json +state_tests/stMemoryStressTest/static_CALL_Bounds2aFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/static_CALL_Bounds2aFiller.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/static_CALL_Bounds2aFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_static_call_bounds2a( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_bounds2a.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xEF111BBDAB3A1622936AFDFC9BBEC4B5BC05B4FA4B1EF0CE2A55CEF552F7650E ) @@ -57,41 +68,50 @@ def test_static_call_bounds2a( gas_limit=9223372036854775807, ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { (STATICCALL 0x7ffffffffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x849F53126ADE5F72469029537296F2B6644D4D41, + args_offset=0xFFFFFFFF, + args_size=0xFFFFFFFF, + ret_offset=0xFFFFFFFF, + ret_size=0xFFFFFFFF, + ) + + Op.STOP, nonce=0, - address=Address("0x849f53126ade5f72469029537296f2b6644d4d41"), # noqa: E501 + address=Address(0x9EDF5834C8B457164C7D203E17DF72D92D384DBA), # noqa: E501 ) - # Source: LLL - # { (STATICCALL 0x7ffffffffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x849F53126ADE5F72469029537296F2B6644D4D41, - args_offset=0xFFFFFFFF, - args_size=0xFFFFFFFF, - ret_offset=0xFFFFFFFF, - ret_size=0xFFFFFFFF, - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x9edf5834c8b457164c7d203e17df72d92d384dba"), # noqa: E501 + address=Address(0x849F53126ADE5F72469029537296F2B6644D4D41), # noqa: E501 ) + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account(balance=0), + addr: Account(storage={}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryStressTest/test_static_call_bounds3.py b/tests/ported_static/stMemoryStressTest/test_static_call_bounds3.py index ded52d83dd4..8a2b2e5a3e5 100644 --- a/tests/ported_static/stMemoryStressTest/test_static_call_bounds3.py +++ b/tests/ported_static/stMemoryStressTest/test_static_call_bounds3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_bounds3. Ported from: -tests/static/state_tests/stMemoryStressTest/static_CALL_Bounds3Filler.json +state_tests/stMemoryStressTest/static_CALL_Bounds3Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stMemoryStressTest/static_CALL_Bounds3Filler.json", # noqa: E501 - ], + ["state_tests/stMemoryStressTest/static_CALL_Bounds3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - (16777216, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_static_call_bounds3( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_bounds3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xEF111BBDAB3A1622936AFDFC9BBEC4B5BC05B4FA4B1EF0CE2A55CEF552F7650E ) @@ -57,102 +68,110 @@ def test_static_call_bounds3( gas_limit=9223372036854775807, ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ) - # Source: LLL + # Source: lll # { (STATICCALL 0x7ffffffffffffff 0 0xffffffffffffffff 0 0xffffffffffffffff) (STATICCALL 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffff) (STATICCALL 0x7ffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (STATICCALL 0x7ffffffffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff) (STATICCALL 0x7ffffffffffffff 0xffffffffffffffff 0xffffffffffffffff 0xffffffffffffffff 0xffffffffffffffff) (STATICCALL 0x7ffffffffffffff 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffff) (STATICCALL 0x7ffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFF, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0x0, + args_size=0xFFFFFFFFFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFFFFFFFFFF, ) - + Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0x0, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_offset=0x0, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), + ) + + Op.POP( + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0x0, + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_offset=0x0, + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, ) - + Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0xFFFFFFFF, - args_size=0xFFFFFFFF, - ret_offset=0xFFFFFFFF, - ret_size=0xFFFFFFFF, - ), + ) + + Op.POP( + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0x0, + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_offset=0x0, + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 ) - + Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0xFFFFFFFFFFFFFFFF, - args_size=0xFFFFFFFFFFFFFFFF, - ret_offset=0xFFFFFFFFFFFFFFFF, - ret_size=0xFFFFFFFFFFFFFFFF, - ), + ) + + Op.POP( + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0xFFFFFFFF, + args_size=0xFFFFFFFF, + ret_offset=0xFFFFFFFF, + ret_size=0xFFFFFFFF, ) - + Op.POP( - Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ), + ) + + Op.POP( + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0xFFFFFFFFFFFFFFFF, + args_size=0xFFFFFFFFFFFFFFFF, + ret_offset=0xFFFFFFFFFFFFFFFF, + ret_size=0xFFFFFFFFFFFFFFFF, ) - + Op.STATICCALL( + ) + + Op.POP( + Op.STATICCALL( gas=0x7FFFFFFFFFFFFFF, address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, - args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, ) - + Op.STOP - ), + ) + + Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xCC704D60C46B9C08AAB4D15281184441AC7ED35C, + args_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0x83143406093d1f3560dd269416596d3406f1c991"), # noqa: E501 + address=Address(0x83143406093D1F3560DD269416596D3406F1C991), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (ADD 1 (SLOAD 0))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0xcc704d60c46b9c08aab4d15281184441ac7ed35c"), # noqa: E501 + address=Address(0xCC704D60C46B9C08AAB4D15281184441AC7ED35C), # noqa: E501 ) + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account(balance=0), + addr: Account(storage={0: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/__init__.py b/tests/ported_static/stMemoryTest/__init__.py index 80462934f5d..0e288c7aa24 100644 --- a/tests/ported_static/stMemoryTest/__init__.py +++ b/tests/ported_static/stMemoryTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stMemoryTest.""" +"""Ported static tests: stMemoryTest.""" # noqa: N999 diff --git a/tests/ported_static/stMemoryTest/test_buffer.py b/tests/ported_static/stMemoryTest/test_buffer.py index d37fe34ae4f..52ded431cbb 100644 --- a/tests/ported_static/stMemoryTest/test_buffer.py +++ b/tests/ported_static/stMemoryTest/test_buffer.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stMemoryTest/bufferFiller.yml +state_tests/stMemoryTest/bufferFiller.yml """ import pytest @@ -11,3863 +11,2134 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/bufferFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a2000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a2000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a2000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a30000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a3000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a30000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a30000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a30000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a30000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a30000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a30000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a3000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a3000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a3000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a4000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a4000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a4000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a4000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000037000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f10000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f1000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f10000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f10000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f10000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f10000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f10000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f10000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f1000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f1000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f1000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f20000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f2000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f20000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f20000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f20000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f20000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f20000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f20000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f2000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f2000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f2000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000037000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000037000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa0000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa0000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa0000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000037000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa0000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa0000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa0000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e0000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e0000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e0000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e0000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e0000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e0000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e0000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a1000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a1000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a1000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a1000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a2000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f3000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f3000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f3000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f3000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ), - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 10} - ), - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000019", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000001a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000001b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000001c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000000c", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000014", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000015", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000016", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000017", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000018", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000013e000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a10000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a1000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a1000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a20000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a2000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a2000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a30000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a3000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a3000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a40000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a4000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a4000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f10000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f10000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f1000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f1000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f20000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f20000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f2000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f2000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000001fa000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000037000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000037000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f3000000000000000000000000000000000000000000000000000000000000000a", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f3000000000000000000000000000000000000000000000000000000000000000b", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000f30c0de"): Account( - storage={0: 24743} - ) - }, +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/stMemoryTest/bufferFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="ok", + ), + pytest.param( + 1, + 0, + 0, + id="ok", + ), + pytest.param( + 2, + 0, + 0, + id="fail", + ), + pytest.param( + 3, + 0, + 0, + id="ok", + ), + pytest.param( + 4, + 0, + 0, + id="ok", + ), + pytest.param( + 5, + 0, + 0, + id="fail", + ), + pytest.param( + 6, + 0, + 0, + id="ok", + ), + pytest.param( + 7, + 0, + 0, + id="fail", + ), + pytest.param( + 8, + 0, + 0, + id="fail", + ), + pytest.param( + 9, + 0, + 0, + id="fail", + ), + pytest.param( + 10, + 0, + 0, + id="fail", + ), + pytest.param( + 11, + 0, + 0, + id="fail", + ), + pytest.param( + 12, + 0, + 0, + id="fail", + ), + pytest.param( + 13, + 0, + 0, + id="fail", + ), + pytest.param( + 14, + 0, + 0, + id="fail", + ), + pytest.param( + 15, + 0, + 0, + id="fail", + ), + pytest.param( + 16, + 0, + 0, + id="ok", + ), + pytest.param( + 17, + 0, + 0, + id="ok", + ), + pytest.param( + 18, + 0, + 0, + id="fail", + ), + pytest.param( + 19, + 0, + 0, + id="ok", + ), + pytest.param( + 20, + 0, + 0, + id="ok", + ), + pytest.param( + 21, + 0, + 0, + id="fail", + ), + pytest.param( + 22, + 0, + 0, + id="fail", + ), + pytest.param( + 23, + 0, + 0, + id="fail", + ), + pytest.param( + 24, + 0, + 0, + id="fail", + ), + pytest.param( + 25, + 0, + 0, + id="fail", + ), + pytest.param( + 26, + 0, + 0, + id="fail", + ), + pytest.param( + 27, + 0, + 0, + id="fail", + ), + pytest.param( + 28, + 0, + 0, + id="fail", + ), + pytest.param( + 29, + 0, + 0, + id="fail", + ), + pytest.param( + 30, + 0, + 0, + id="fail", + ), + pytest.param( + 31, + 0, + 0, + id="ok", + ), + pytest.param( + 32, + 0, + 0, + id="ok", + ), + pytest.param( + 33, + 0, + 0, + id="fail", + ), + pytest.param( + 34, + 0, + 0, + id="ok", + ), + pytest.param( + 35, + 0, + 0, + id="ok", + ), + pytest.param( + 36, + 0, + 0, + id="fail", + ), + pytest.param( + 37, + 0, + 0, + id="fail", + ), + pytest.param( + 38, + 0, + 0, + id="fail", + ), + pytest.param( + 39, + 0, + 0, + id="fail", + ), + pytest.param( + 40, + 0, + 0, + id="fail", + ), + pytest.param( + 41, + 0, + 0, + id="fail", + ), + pytest.param( + 42, + 0, + 0, + id="fail", + ), + pytest.param( + 43, + 0, + 0, + id="fail", + ), + pytest.param( + 44, + 0, + 0, + id="fail", + ), + pytest.param( + 45, + 0, + 0, + id="fail", + ), + pytest.param( + 46, + 0, + 0, + id="ok", + ), + pytest.param( + 47, + 0, + 0, + id="ok", + ), + pytest.param( + 48, + 0, + 0, + id="fail", + ), + pytest.param( + 49, + 0, + 0, + id="ok", + ), + pytest.param( + 50, + 0, + 0, + id="ok", + ), + pytest.param( + 51, + 0, + 0, + id="fail", + ), + pytest.param( + 52, + 0, + 0, + id="fail", + ), + pytest.param( + 53, + 0, + 0, + id="fail", + ), + pytest.param( + 54, + 0, + 0, + id="fail", + ), + pytest.param( + 55, + 0, + 0, + id="fail", + ), + pytest.param( + 56, + 0, + 0, + id="fail", + ), + pytest.param( + 57, + 0, + 0, + id="fail", + ), + pytest.param( + 58, + 0, + 0, + id="fail", + ), + pytest.param( + 59, + 0, + 0, + id="fail", + ), + pytest.param( + 60, + 0, + 0, + id="fail", + ), + pytest.param( + 61, + 0, + 0, + id="fail", + ), + pytest.param( + 62, + 0, + 0, + id="ok", + ), + pytest.param( + 63, + 0, + 0, + id="fail", + ), + pytest.param( + 64, + 0, + 0, + id="fail", + ), + pytest.param( + 65, + 0, + 0, + id="ok", + ), + pytest.param( + 66, + 0, + 0, + id="fail", + ), + pytest.param( + 67, + 0, + 0, + id="fail", + ), + pytest.param( + 68, + 0, + 0, + id="fail", + ), + pytest.param( + 69, + 0, + 0, + id="fail", + ), + pytest.param( + 70, + 0, + 0, + id="fail", + ), + pytest.param( + 71, + 0, + 0, + id="fail", + ), + pytest.param( + 72, + 0, + 0, + id="fail", + ), + pytest.param( + 73, + 0, + 0, + id="fail", + ), + pytest.param( + 74, + 0, + 0, + id="fail", + ), + pytest.param( + 75, + 0, + 0, + id="fail", + ), + pytest.param( + 76, + 0, + 0, + id="ok", + ), + pytest.param( + 77, + 0, + 0, + id="ok", + ), + pytest.param( + 78, + 0, + 0, + id="fail", + ), + pytest.param( + 79, + 0, + 0, + id="ok", + ), + pytest.param( + 80, + 0, + 0, + id="ok", + ), + pytest.param( + 81, + 0, + 0, + id="fail", + ), + pytest.param( + 82, + 0, + 0, + id="fail", + ), + pytest.param( + 83, + 0, + 0, + id="fail", + ), + pytest.param( + 84, + 0, + 0, + id="fail", + ), + pytest.param( + 85, + 0, + 0, + id="fail", + ), + pytest.param( + 86, + 0, + 0, + id="fail", + ), + pytest.param( + 87, + 0, + 0, + id="fail", + ), + pytest.param( + 88, + 0, + 0, + id="fail", + ), + pytest.param( + 89, + 0, + 0, + id="fail", + ), + pytest.param( + 90, + 0, + 0, + id="fail", + ), + pytest.param( + 91, + 0, + 0, + id="fail", + ), + pytest.param( + 92, + 0, + 0, + id="fail", + ), + pytest.param( + 93, + 0, + 0, + id="ok", + ), + pytest.param( + 94, + 0, + 0, + id="ok", + ), + pytest.param( + 95, + 0, + 0, + id="fail", + ), + pytest.param( + 96, + 0, + 0, + id="ok", + ), + pytest.param( + 97, + 0, + 0, + id="ok", + ), + pytest.param( + 98, + 0, + 0, + id="fail", + ), + pytest.param( + 99, + 0, + 0, + id="fail", + ), + pytest.param( + 100, + 0, + 0, + id="fail", + ), + pytest.param( + 101, + 0, + 0, + id="fail", + ), + pytest.param( + 102, + 0, + 0, + id="fail", + ), + pytest.param( + 103, + 0, + 0, + id="fail", + ), + pytest.param( + 104, + 0, + 0, + id="fail", + ), + pytest.param( + 105, + 0, + 0, + id="fail", + ), + pytest.param( + 106, + 0, + 0, + id="fail", + ), + pytest.param( + 107, + 0, + 0, + id="fail", + ), + pytest.param( + 108, + 0, + 0, + id="ok", + ), + pytest.param( + 109, + 0, + 0, + id="ok", + ), + pytest.param( + 110, + 0, + 0, + id="fail", + ), + pytest.param( + 111, + 0, + 0, + id="ok", + ), + pytest.param( + 112, + 0, + 0, + id="ok", + ), + pytest.param( + 113, + 0, + 0, + id="fail", + ), + pytest.param( + 114, + 0, + 0, + id="fail", + ), + pytest.param( + 115, + 0, + 0, + id="fail", + ), + pytest.param( + 116, + 0, + 0, + id="fail", + ), + pytest.param( + 117, + 0, + 0, + id="fail", + ), + pytest.param( + 118, + 0, + 0, + id="fail", + ), + pytest.param( + 119, + 0, + 0, + id="fail", + ), + pytest.param( + 120, + 0, + 0, + id="fail", + ), + pytest.param( + 121, + 0, + 0, + id="fail", + ), + pytest.param( + 122, + 0, + 0, + id="fail", + ), + pytest.param( + 123, + 0, + 0, + id="ok", + ), + pytest.param( + 124, + 0, + 0, + id="ok", + ), + pytest.param( + 125, + 0, + 0, + id="fail", + ), + pytest.param( + 126, + 0, + 0, + id="ok", + ), + pytest.param( + 127, + 0, + 0, + id="ok", + ), + pytest.param( + 128, + 0, + 0, + id="fail", + ), + pytest.param( + 129, + 0, + 0, + id="fail", + ), + pytest.param( + 130, + 0, + 0, + id="fail", + ), + pytest.param( + 131, + 0, + 0, + id="fail", + ), + pytest.param( + 132, + 0, + 0, + id="fail", + ), + pytest.param( + 133, + 0, + 0, + id="fail", + ), + pytest.param( + 134, + 0, + 0, + id="fail", + ), + pytest.param( + 135, + 0, + 0, + id="fail", + ), + pytest.param( + 136, + 0, + 0, + id="fail", + ), + pytest.param( + 137, + 0, + 0, + id="fail", + ), + pytest.param( + 138, + 0, + 0, + id="ok", + ), + pytest.param( + 139, + 0, + 0, + id="ok", + ), + pytest.param( + 140, + 0, + 0, + id="fail", + ), + pytest.param( + 141, + 0, + 0, + id="ok", + ), + pytest.param( + 142, + 0, + 0, + id="ok", + ), + pytest.param( + 143, + 0, + 0, + id="fail", + ), + pytest.param( + 144, + 0, + 0, + id="fail", + ), + pytest.param( + 145, + 0, + 0, + id="fail", + ), + pytest.param( + 146, + 0, + 0, + id="fail", + ), + pytest.param( + 147, + 0, + 0, + id="fail", + ), + pytest.param( + 148, + 0, + 0, + id="fail", + ), + pytest.param( + 149, + 0, + 0, + id="fail", + ), + pytest.param( + 150, + 0, + 0, + id="fail", + ), + pytest.param( + 151, + 0, + 0, + id="fail", + ), + pytest.param( + 152, + 0, + 0, + id="fail", + ), + pytest.param( + 153, + 0, + 0, + id="ok", + ), + pytest.param( + 154, + 0, + 0, + id="ok", + ), + pytest.param( + 155, + 0, + 0, + id="fail", + ), + pytest.param( + 156, + 0, + 0, + id="ok", + ), + pytest.param( + 157, + 0, + 0, + id="ok", + ), + pytest.param( + 158, + 0, + 0, + id="fail", + ), + pytest.param( + 159, + 0, + 0, + id="fail", + ), + pytest.param( + 160, + 0, + 0, + id="fail", + ), + pytest.param( + 161, + 0, + 0, + id="fail", + ), + pytest.param( + 162, + 0, + 0, + id="fail", + ), + pytest.param( + 163, + 0, + 0, + id="fail", + ), + pytest.param( + 164, + 0, + 0, + id="fail", + ), + pytest.param( + 165, + 0, + 0, + id="fail", + ), + pytest.param( + 166, + 0, + 0, + id="fail", + ), + pytest.param( + 167, + 0, + 0, + id="fail", + ), + pytest.param( + 168, + 0, + 0, + id="ok", + ), + pytest.param( + 169, + 0, + 0, + id="ok", + ), + pytest.param( + 170, + 0, + 0, + id="fail", + ), + pytest.param( + 171, + 0, + 0, + id="ok", + ), + pytest.param( + 172, + 0, + 0, + id="ok", + ), + pytest.param( + 173, + 0, + 0, + id="fail", + ), + pytest.param( + 174, + 0, + 0, + id="fail", + ), + pytest.param( + 175, + 0, + 0, + id="fail", + ), + pytest.param( + 176, + 0, + 0, + id="fail", + ), + pytest.param( + 177, + 0, + 0, + id="fail", + ), + pytest.param( + 178, + 0, + 0, + id="fail", + ), + pytest.param( + 179, + 0, + 0, + id="fail", + ), + pytest.param( + 180, + 0, + 0, + id="fail", + ), + pytest.param( + 181, + 0, + 0, + id="fail", + ), + pytest.param( + 182, + 0, + 0, + id="fail", + ), + pytest.param( + 183, + 0, + 0, + id="ok", + ), + pytest.param( + 184, + 0, + 0, + id="ok", + ), + pytest.param( + 185, + 0, + 0, + id="fail", + ), + pytest.param( + 186, + 0, + 0, + id="ok", + ), + pytest.param( + 187, + 0, + 0, + id="ok", + ), + pytest.param( + 188, + 0, + 0, + id="fail", + ), + pytest.param( + 189, + 0, + 0, + id="fail", + ), + pytest.param( + 190, + 0, + 0, + id="fail", + ), + pytest.param( + 191, + 0, + 0, + id="fail", + ), + pytest.param( + 192, + 0, + 0, + id="fail", + ), + pytest.param( + 193, + 0, + 0, + id="fail", + ), + pytest.param( + 194, + 0, + 0, + id="fail", + ), + pytest.param( + 195, + 0, + 0, + id="fail", + ), + pytest.param( + 196, + 0, + 0, + id="fail", + ), + pytest.param( + 197, + 0, + 0, + id="fail", + ), + pytest.param( + 198, + 0, + 0, + id="ok", + ), + pytest.param( + 199, + 0, + 0, + id="ok", + ), + pytest.param( + 200, + 0, + 0, + id="fail", + ), + pytest.param( + 201, + 0, + 0, + id="ok", + ), + pytest.param( + 202, + 0, + 0, + id="ok", + ), + pytest.param( + 203, + 0, + 0, + id="fail", + ), + pytest.param( + 204, + 0, + 0, + id="fail", + ), + pytest.param( + 205, + 0, + 0, + id="fail", + ), + pytest.param( + 206, + 0, + 0, + id="fail", + ), + pytest.param( + 207, + 0, + 0, + id="fail", + ), + pytest.param( + 208, + 0, + 0, + id="fail", + ), + pytest.param( + 209, + 0, + 0, + id="fail", + ), + pytest.param( + 210, + 0, + 0, + id="fail", + ), + pytest.param( + 211, + 0, + 0, + id="fail", + ), + pytest.param( + 212, + 0, + 0, + id="fail", + ), + pytest.param( + 213, + 0, + 0, + id="ok", + ), + pytest.param( + 214, + 0, + 0, + id="ok", + ), + pytest.param( + 215, + 0, + 0, + id="fail", + ), + pytest.param( + 216, + 0, + 0, + id="ok", + ), + pytest.param( + 217, + 0, + 0, + id="ok", + ), + pytest.param( + 218, + 0, + 0, + id="fail", + ), + pytest.param( + 219, + 0, + 0, + id="fail", + ), + pytest.param( + 220, + 0, + 0, + id="fail", + ), + pytest.param( + 221, + 0, + 0, + id="fail", + ), + pytest.param( + 222, + 0, + 0, + id="fail", + ), + pytest.param( + 223, + 0, + 0, + id="fail", + ), + pytest.param( + 224, + 0, + 0, + id="fail", + ), + pytest.param( + 225, + 0, + 0, + id="fail", + ), + pytest.param( + 226, + 0, + 0, + id="fail", + ), + pytest.param( + 227, + 0, + 0, + id="fail", + ), + pytest.param( + 228, + 0, + 0, + id="ok", + ), + pytest.param( + 229, + 0, + 0, + id="ok", + ), + pytest.param( + 230, + 0, + 0, + id="fail", + ), + pytest.param( + 231, + 0, + 0, + id="ok", + ), + pytest.param( + 232, + 0, + 0, + id="ok", + ), + pytest.param( + 233, + 0, + 0, + id="fail", + ), + pytest.param( + 234, + 0, + 0, + id="fail", + ), + pytest.param( + 235, + 0, + 0, + id="fail", + ), + pytest.param( + 236, + 0, + 0, + id="fail", + ), + pytest.param( + 237, + 0, + 0, + id="fail", + ), + pytest.param( + 238, + 0, + 0, + id="fail", + ), + pytest.param( + 239, + 0, + 0, + id="fail", + ), + pytest.param( + 240, + 0, + 0, + id="fail", + ), + pytest.param( + 241, + 0, + 0, + id="fail", + ), + pytest.param( + 242, + 0, + 0, + id="fail", + ), + pytest.param( + 243, + 0, + 0, + id="ok", + ), + pytest.param( + 244, + 0, + 0, + id="ok", + ), + pytest.param( + 245, + 0, + 0, + id="fail", + ), + pytest.param( + 246, + 0, + 0, + id="ok", + ), + pytest.param( + 247, + 0, + 0, + id="ok", + ), + pytest.param( + 248, + 0, + 0, + id="fail", + ), + pytest.param( + 249, + 0, + 0, + id="fail", + ), + pytest.param( + 250, + 0, + 0, + id="fail", + ), + pytest.param( + 251, + 0, + 0, + id="fail", + ), + pytest.param( + 252, + 0, + 0, + id="fail", + ), + pytest.param( + 253, + 0, + 0, + id="fail", + ), + pytest.param( + 254, + 0, + 0, + id="fail", + ), + pytest.param( + 255, + 0, + 0, + id="fail", + ), + pytest.param( + 256, + 0, + 0, + id="fail", + ), + pytest.param( + 257, + 0, + 0, + id="fail", + ), + pytest.param( + 258, + 0, + 0, + id="ok", + ), + pytest.param( + 259, + 0, + 0, + id="ok", + ), + pytest.param( + 260, + 0, + 0, + id="fail", + ), + pytest.param( + 261, + 0, + 0, + id="ok", + ), + pytest.param( + 262, + 0, + 0, + id="ok", + ), + pytest.param( + 263, + 0, + 0, + id="fail", + ), + pytest.param( + 264, + 0, + 0, + id="fail", + ), + pytest.param( + 265, + 0, + 0, + id="fail", + ), + pytest.param( + 266, + 0, + 0, + id="fail", + ), + pytest.param( + 267, + 0, + 0, + id="fail", + ), + pytest.param( + 268, + 0, + 0, + id="fail", + ), + pytest.param( + 269, + 0, + 0, + id="fail", + ), + pytest.param( + 270, + 0, + 0, + id="fail", + ), + pytest.param( + 271, + 0, + 0, + id="fail", + ), + pytest.param( + 272, + 0, + 0, + id="fail", + ), + pytest.param( + 273, + 0, + 0, + id="ok", + ), + pytest.param( + 274, + 0, + 0, + id="ok", + ), + pytest.param( + 275, + 0, + 0, + id="fail", + ), + pytest.param( + 276, + 0, + 0, + id="ok", + ), + pytest.param( + 277, + 0, + 0, + id="ok", + ), + pytest.param( + 278, + 0, + 0, + id="fail", + ), + pytest.param( + 279, + 0, + 0, + id="fail", + ), + pytest.param( + 280, + 0, + 0, + id="fail", + ), + pytest.param( + 281, + 0, + 0, + id="fail", + ), + pytest.param( + 282, + 0, + 0, + id="fail", + ), + pytest.param( + 283, + 0, + 0, + id="fail", + ), + pytest.param( + 284, + 0, + 0, + id="fail", + ), + pytest.param( + 285, + 0, + 0, + id="fail", + ), + pytest.param( + 286, + 0, + 0, + id="fail", + ), + pytest.param( + 287, + 0, + 0, + id="fail", + ), + pytest.param( + 288, + 0, + 0, + id="ok", + ), + pytest.param( + 289, + 0, + 0, + id="ok", + ), + pytest.param( + 290, + 0, + 0, + id="fail", + ), + pytest.param( + 291, + 0, + 0, + id="ok", + ), + pytest.param( + 292, + 0, + 0, + id="ok", + ), + pytest.param( + 293, + 0, + 0, + id="fail", + ), + pytest.param( + 294, + 0, + 0, + id="fail", + ), + pytest.param( + 295, + 0, + 0, + id="fail", + ), + pytest.param( + 296, + 0, + 0, + id="fail", + ), + pytest.param( + 297, + 0, + 0, + id="fail", + ), + pytest.param( + 298, + 0, + 0, + id="fail", + ), + pytest.param( + 299, + 0, + 0, + id="fail", + ), + pytest.param( + 300, + 0, + 0, + id="fail", + ), + pytest.param( + 301, + 0, + 0, + id="fail", + ), + pytest.param( + 302, + 0, + 0, + id="fail", + ), + pytest.param( + 303, + 0, + 0, + id="ok", + ), + pytest.param( + 304, + 0, + 0, + id="ok", + ), + pytest.param( + 305, + 0, + 0, + id="fail", + ), + pytest.param( + 306, + 0, + 0, + id="ok", + ), + pytest.param( + 307, + 0, + 0, + id="ok", + ), + pytest.param( + 308, + 0, + 0, + id="fail", + ), + pytest.param( + 309, + 0, + 0, + id="fail", + ), + pytest.param( + 310, + 0, + 0, + id="fail", + ), + pytest.param( + 311, + 0, + 0, + id="fail", + ), + pytest.param( + 312, + 0, + 0, + id="fail", + ), + pytest.param( + 313, + 0, + 0, + id="fail", + ), + pytest.param( + 314, + 0, + 0, + id="fail", + ), + pytest.param( + 315, + 0, + 0, + id="fail", + ), + pytest.param( + 316, + 0, + 0, + id="fail", + ), + pytest.param( + 317, + 0, + 0, + id="fail", + ), + pytest.param( + 318, + 0, + 0, + id="ok-f3", + ), + pytest.param( + 319, + 0, + 0, + id="ok-f3", + ), + pytest.param( + 320, + 0, + 0, + id="fail-f3", + ), + pytest.param( + 321, + 0, + 0, + id="ok-f3", + ), + pytest.param( + 322, + 0, + 0, + id="ok-f3", + ), + pytest.param( + 323, + 0, + 0, + id="fail-f3", + ), + pytest.param( + 324, + 0, + 0, + id="fail-f3", + ), + pytest.param( + 325, + 0, + 0, + id="fail-f3", + ), + pytest.param( + 326, + 0, + 0, + id="fail-f3", + ), + pytest.param( + 327, + 0, + 0, + id="fail-f3", + ), + pytest.param( + 328, + 0, + 0, + id="fail-f3", + ), + pytest.param( + 329, + 0, + 0, + id="fail-f3", + ), + pytest.param( + 330, + 0, + 0, + id="fail-f3", + ), + pytest.param( + 331, + 0, + 0, + id="fail-f3", + ), + pytest.param( + 332, + 0, + 0, + id="fail-f3", + ), + pytest.param( + 333, + 0, + 0, + id="ff-valid", + ), + pytest.param( + 334, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 335, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 336, + 0, + 0, + id="ff-valid", + ), + pytest.param( + 337, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 338, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 339, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 340, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 341, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 342, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 343, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 344, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 345, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 346, + 0, + 0, + id="ff-zero", + ), + pytest.param( + 347, + 0, + 0, + id="ff-zero", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - ], ) @pytest.mark.pre_alloc_mutable def test_buffer( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000C0DE) + contract_1 = Address(0x000000000000000000000000000000000F30C0DE) + contract_2 = Address(0x000000000000000000000000000000000FF0C0DE) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -3881,17 +2152,17 @@ def test_buffer( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { # (return 0 0x120) # } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.RETURN(offset=0x0, size=0x120) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000000c0de"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000C0DE), # noqa: E501 ) - # Source: LLL + # Source: lll # { # ; We get length from the caller # (def 'length $0) @@ -3900,21 +2171,19 @@ def test_buffer( # [[0]] 0 ; capricide # (return offset length) # } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.RETURN( - offset=Op.CALLDATALOAD(offset=0x20), - size=Op.CALLDATALOAD(offset=0x0), - ) - + Op.STOP - ), - storage={0x0: 0x60A7}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.RETURN( + offset=Op.CALLDATALOAD(offset=0x20), + size=Op.CALLDATALOAD(offset=0x0), + ) + + Op.STOP, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000f30c0de"), # noqa: E501 + address=Address(0x000000000000000000000000000000000F30C0DE), # noqa: E501 ) - # Source: LLL + # Source: lll # { # ; We get length from the caller # (def 'length $0) @@ -3922,20 +2191,17 @@ def test_buffer( # # (revert offset length) # } - pre.deploy_contract( - code=( - Op.REVERT( - offset=Op.CALLDATALOAD(offset=0x20), - size=Op.CALLDATALOAD(offset=0x0), - ) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT( + offset=Op.CALLDATALOAD(offset=0x20), + size=Op.CALLDATALOAD(offset=0x0), + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000ff0c0de"), # noqa: E501 + address=Address(0x000000000000000000000000000000000FF0C0DE), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL + # Source: lll # { # (def 'opcode $4) # (def 'bufferType $36) @@ -3967,562 +2233,1272 @@ def test_buffer( # [length] 0 # [offset] 0x100 # ... (113 more lines) - contract = pre.deploy_contract( - code=( - Op.JUMPI( - pc=Op.PUSH2[0x11], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x1F]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0xA) - + Op.MSTORE(offset=0x2040, value=0x100) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x31], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x3F]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE(offset=0x2040, value=0x100) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x51], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x62]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=Op.SUB(0x0, 0xA)) - + Op.MSTORE(offset=0x2040, value=0x100) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x74], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x83]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x1000) - + Op.MSTORE(offset=0x2040, value=0x100) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x95], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xA), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xA2]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0xA) - + Op.MSTORE(offset=0x2040, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xB4], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xB), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xC1]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE(offset=0x2040, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xD3], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xC), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xE3]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=Op.SUB(0x0, 0xA)) - + Op.MSTORE(offset=0x2040, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xF5], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xD), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x103) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x1000) - + Op.MSTORE(offset=0x2040, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x115, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x14), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x125) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x5) - + Op.MSTORE(offset=0x2040, value=Op.SUB(0x0, 0xA)) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x137, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x15), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x147) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x5) - + Op.MSTORE(offset=0x2040, value=0x7FFFFFFF) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x159, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x16), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x169) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x5) - + Op.MSTORE(offset=0x2040, value=0x80000000) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x17B, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x17), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x18B) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x5) - + Op.MSTORE(offset=0x2040, value=0xFFFFFFFF) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x19D, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x18), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x1AE) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x5) - + Op.MSTORE(offset=0x2040, value=0x100000000) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1C0, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x19), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x1D4) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x5) - + Op.MSTORE(offset=0x2040, value=0x7FFFFFFFFFFFFFFF) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1E6, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1A), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x1FA) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x5) - + Op.MSTORE(offset=0x2040, value=0x8000000000000000) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x20C, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1B), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x220) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x5) - + Op.MSTORE(offset=0x2040, value=0xFFFFFFFFFFFFFFFF) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x232, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1C), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x247) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x5) - + Op.MSTORE(offset=0x2040, value=0x10000000000000000) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x258, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x20), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x262) - + Op.JUMPDEST - + Op.SHA3( - offset=Op.MLOAD(offset=0x2040), size=Op.MLOAD(offset=0x2020) - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x275, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x37), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x281) - + Op.JUMPDEST - + Op.CALLDATACOPY( - dest_offset=Op.MLOAD(offset=0x2040), - offset=0x0, - size=Op.MLOAD(offset=0x2020), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x293, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x39), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x29F) - + Op.JUMPDEST - + Op.CODECOPY( - dest_offset=Op.MLOAD(offset=0x2040), - offset=0x0, - size=Op.MLOAD(offset=0x2020), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2B1, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3C), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x2C0) - + Op.JUMPDEST - + Op.EXTCODECOPY( - address=0xC0DE, - dest_offset=Op.MLOAD(offset=0x2040), - offset=0x0, - size=Op.MLOAD(offset=0x2020), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2D2, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3E), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x2DE) - + Op.JUMPDEST - + Op.RETURNDATACOPY( - dest_offset=Op.MLOAD(offset=0x2040), - offset=0x0, - size=Op.MLOAD(offset=0x2020), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2F0, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x2FA) - + Op.JUMPDEST - + Op.LOG0( - offset=Op.MLOAD(offset=0x2040), size=Op.MLOAD(offset=0x2020) - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x30C, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x318) - + Op.JUMPDEST - + Op.LOG1( - offset=Op.MLOAD(offset=0x2040), - size=Op.MLOAD(offset=0x2020), - topic_1=0x1, - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x32A, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x338) - + Op.JUMPDEST - + Op.LOG2( - offset=Op.MLOAD(offset=0x2040), - size=Op.MLOAD(offset=0x2020), - topic_1=0x1, - topic_2=0x2, - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x34A, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x35A) - + Op.JUMPDEST - + Op.LOG3( - offset=Op.MLOAD(offset=0x2040), - size=Op.MLOAD(offset=0x2020), - topic_1=0x1, - topic_2=0x2, - topic_3=0x3, - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x36C, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA4), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x37E) - + Op.JUMPDEST - + Op.LOG4( - offset=Op.MLOAD(offset=0x2040), - size=Op.MLOAD(offset=0x2020), - topic_1=0x1, - topic_2=0x2, - topic_3=0x3, - topic_4=0x4, - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x38F, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF0), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x39B) - + Op.JUMPDEST - + Op.CREATE( - value=0x0, - offset=Op.MLOAD(offset=0x2040), - size=Op.MLOAD(offset=0x2020), - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x3AD, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF1), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x3C3) - + Op.JUMPDEST - + Op.CALL( - gas=0x1000, - address=0xC0DE, - value=0x0, - args_offset=Op.MLOAD(offset=0x2040), - args_size=Op.MLOAD(offset=0x2020), - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x3D6, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1F1), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x3EC) - + Op.JUMPDEST - + Op.CALL( - gas=0x1000, - address=0xC0DE, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=Op.MLOAD(offset=0x2040), - ret_size=Op.MLOAD(offset=0x2020), - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x3FE, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF2), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x414) - + Op.JUMPDEST - + Op.CALLCODE( - gas=0x1000, - address=0xC0DE, - value=0x0, - args_offset=Op.MLOAD(offset=0x2040), - args_size=Op.MLOAD(offset=0x2020), - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x427, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1F2), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x43D) - + Op.JUMPDEST - + Op.CALLCODE( + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=Op.PUSH2[0x11], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x1F]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0xA) + + Op.MSTORE(offset=0x2040, value=0x100) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x31], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x3F]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE(offset=0x2040, value=0x100) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x51], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x2), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x62]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=Op.SUB(0x0, 0xA)) + + Op.MSTORE(offset=0x2040, value=0x100) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x74], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x3), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x83]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x1000) + + Op.MSTORE(offset=0x2040, value=0x100) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x95], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xA), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xA2]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0xA) + + Op.MSTORE(offset=0x2040, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xB4], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xB), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xC1]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE(offset=0x2040, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xD3], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xC), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xE3]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=Op.SUB(0x0, 0xA)) + + Op.MSTORE(offset=0x2040, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xF5], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xD), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x103) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x1000) + + Op.MSTORE(offset=0x2040, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x115, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x14) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x125) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x5) + + Op.MSTORE(offset=0x2040, value=Op.SUB(0x0, 0xA)) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x137, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x15) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x147) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x5) + + Op.MSTORE(offset=0x2040, value=0x7FFFFFFF) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x159, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x16) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x169) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x5) + + Op.MSTORE(offset=0x2040, value=0x80000000) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x17B, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x17) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x18B) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x5) + + Op.MSTORE(offset=0x2040, value=0xFFFFFFFF) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x19D, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x18) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x1AE) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x5) + + Op.MSTORE(offset=0x2040, value=0x100000000) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1C0, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x19) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x1D4) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x5) + + Op.MSTORE(offset=0x2040, value=0x7FFFFFFFFFFFFFFF) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1E6, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1A) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x1FA) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x5) + + Op.MSTORE(offset=0x2040, value=0x8000000000000000) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x20C, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1B) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x220) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x5) + + Op.MSTORE(offset=0x2040, value=0xFFFFFFFFFFFFFFFF) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x232, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1C) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x247) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x5) + + Op.MSTORE(offset=0x2040, value=0x10000000000000000) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x258, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x20) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x262) + + Op.JUMPDEST + + Op.SHA3(offset=Op.MLOAD(offset=0x2040), size=Op.MLOAD(offset=0x2020)) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x275, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x37) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x281) + + Op.JUMPDEST + + Op.CALLDATACOPY( + dest_offset=Op.MLOAD(offset=0x2040), + offset=0x0, + size=Op.MLOAD(offset=0x2020), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x293, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x39) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x29F) + + Op.JUMPDEST + + Op.CODECOPY( + dest_offset=Op.MLOAD(offset=0x2040), + offset=0x0, + size=Op.MLOAD(offset=0x2020), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x2B1, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3C) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x2C0) + + Op.JUMPDEST + + Op.EXTCODECOPY( + address=0xC0DE, + dest_offset=Op.MLOAD(offset=0x2040), + offset=0x0, + size=Op.MLOAD(offset=0x2020), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x2D2, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3E) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x2DE) + + Op.JUMPDEST + + Op.RETURNDATACOPY( + dest_offset=Op.MLOAD(offset=0x2040), + offset=0x0, + size=Op.MLOAD(offset=0x2020), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x2F0, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA0) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x2FA) + + Op.JUMPDEST + + Op.LOG0(offset=Op.MLOAD(offset=0x2040), size=Op.MLOAD(offset=0x2020)) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x30C, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA1) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x318) + + Op.JUMPDEST + + Op.LOG1( + offset=Op.MLOAD(offset=0x2040), + size=Op.MLOAD(offset=0x2020), + topic_1=0x1, + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x32A, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA2) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x338) + + Op.JUMPDEST + + Op.LOG2( + offset=Op.MLOAD(offset=0x2040), + size=Op.MLOAD(offset=0x2020), + topic_1=0x1, + topic_2=0x2, + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x34A, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA3) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x35A) + + Op.JUMPDEST + + Op.LOG3( + offset=Op.MLOAD(offset=0x2040), + size=Op.MLOAD(offset=0x2020), + topic_1=0x1, + topic_2=0x2, + topic_3=0x3, + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x36C, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xA4) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x37E) + + Op.JUMPDEST + + Op.LOG4( + offset=Op.MLOAD(offset=0x2040), + size=Op.MLOAD(offset=0x2020), + topic_1=0x1, + topic_2=0x2, + topic_3=0x3, + topic_4=0x4, + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x38F, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF0) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x39B) + + Op.JUMPDEST + + Op.CREATE( + value=0x0, + offset=Op.MLOAD(offset=0x2040), + size=Op.MLOAD(offset=0x2020), + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x3AD, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF1) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x3C3) + + Op.JUMPDEST + + Op.CALL( + gas=0x1000, + address=0xC0DE, + value=0x0, + args_offset=Op.MLOAD(offset=0x2040), + args_size=Op.MLOAD(offset=0x2020), + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x3D6, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1F1) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x3EC) + + Op.JUMPDEST + + Op.CALL( + gas=0x1000, + address=0xC0DE, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=Op.MLOAD(offset=0x2040), + ret_size=Op.MLOAD(offset=0x2020), + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x3FE, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF2) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x414) + + Op.JUMPDEST + + Op.CALLCODE( + gas=0x1000, + address=0xC0DE, + value=0x0, + args_offset=Op.MLOAD(offset=0x2040), + args_size=Op.MLOAD(offset=0x2020), + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x427, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1F2) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x43D) + + Op.JUMPDEST + + Op.CALLCODE( + gas=0x1000, + address=0xC0DE, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=Op.MLOAD(offset=0x2040), + ret_size=Op.MLOAD(offset=0x2020), + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x44F, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF4) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x464) + + Op.JUMPDEST + + Op.DELEGATECALL( + gas=0x100000, + address=0xC0DE, + args_offset=Op.MLOAD(offset=0x2040), + args_size=Op.MLOAD(offset=0x2020), + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x477, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1F4) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x48C) + + Op.JUMPDEST + + Op.DELEGATECALL( + gas=0x100000, + address=0xC0DE, + args_offset=0x0, + args_size=0x0, + ret_offset=Op.MLOAD(offset=0x2040), + ret_size=Op.MLOAD(offset=0x2020), + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x49E, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF5) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x4AD) + + Op.JUMPDEST + + Op.CREATE2( + value=0x0, + offset=Op.MLOAD(offset=0x2040), + size=Op.MLOAD(offset=0x2020), + salt=0x5A17, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x4BF, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFA) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x4D4) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x100000, + address=0xC0DE, + args_offset=Op.MLOAD(offset=0x2040), + args_size=Op.MLOAD(offset=0x2020), + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x4E7, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1FA) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x4FC) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x100000, + address=0xC0DE, + args_offset=0x0, + args_size=0x0, + ret_offset=Op.MLOAD(offset=0x2040), + ret_size=Op.MLOAD(offset=0x2020), + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x510, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x13E) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x530) + + Op.JUMPDEST + + Op.POP( + Op.CALL( gas=0x1000, address=0xC0DE, value=0x0, args_offset=0x0, args_size=0x0, - ret_offset=Op.MLOAD(offset=0x2040), - ret_size=Op.MLOAD(offset=0x2020), - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x44F, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF4), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x464) - + Op.JUMPDEST - + Op.DELEGATECALL( - gas=0x100000, - address=0xC0DE, - args_offset=Op.MLOAD(offset=0x2040), - args_size=Op.MLOAD(offset=0x2020), - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x477, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1F4), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x48C) - + Op.JUMPDEST - + Op.DELEGATECALL( - gas=0x100000, - address=0xC0DE, - args_offset=0x0, - args_size=0x0, - ret_offset=Op.MLOAD(offset=0x2040), - ret_size=Op.MLOAD(offset=0x2020), - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x49E, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF5), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x4AD) - + Op.JUMPDEST - + Op.CREATE2( - value=0x0, - offset=Op.MLOAD(offset=0x2040), - size=Op.MLOAD(offset=0x2020), - salt=0x5A17, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x4BF, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFA), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x4D4) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x100000, - address=0xC0DE, - args_offset=Op.MLOAD(offset=0x2040), - args_size=Op.MLOAD(offset=0x2020), - ret_offset=0x0, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x4E7, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x1FA), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x4FC) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x100000, - address=0xC0DE, - args_offset=0x0, - args_size=0x0, - ret_offset=Op.MLOAD(offset=0x2040), - ret_size=Op.MLOAD(offset=0x2020), - ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x510, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x13E), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x530) - + Op.JUMPDEST - + Op.POP( - Op.CALL( - gas=0x1000, - address=0xC0DE, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x100, - ret_size=0x100, - ), - ) - + Op.RETURNDATACOPY( - dest_offset=Op.MLOAD(offset=0x2040), - offset=0x0, - size=Op.MLOAD(offset=0x2020), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x541, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF3), - ) - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x557) - + Op.JUMPDEST - + Op.CALL( + ret_offset=0x100, + ret_size=0x100, + ) + ) + + Op.RETURNDATACOPY( + dest_offset=Op.MLOAD(offset=0x2040), + offset=0x0, + size=Op.MLOAD(offset=0x2020), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x541, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF3) + ) + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x557) + + Op.JUMPDEST + + Op.CALL( + gas=0x100000, + address=0xF30C0DE, + value=0x0, + args_offset=0x2020, + args_size=0x40, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.POP + + Op.JUMPI( + pc=0x56A, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFF) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x585) + + Op.JUMPDEST + + Op.POP( + Op.CALL( gas=0x100000, - address=0xF30C0DE, + address=0xFF0C0DE, value=0x0, args_offset=0x2020, args_size=0x40, ret_offset=0x0, ret_size=0x0, ) - + Op.JUMPDEST - + Op.POP - + Op.JUMPI( - pc=0x56A, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFF), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x585) - + Op.JUMPDEST - + Op.POP( - Op.CALL( - gas=0x100000, - address=0xFF0C0DE, - value=0x0, - args_offset=0x2020, - args_size=0x40, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.SSTORE(key=0x100, value=0x0) - + Op.STOP - ), - storage={0x100: 0x60A7}, + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.SSTORE(key=0x100, value=0x0) + + Op.STOP, + storage={256: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [ + 0, + 1, + 3, + 4, + 6, + 16, + 17, + 19, + 20, + 31, + 32, + 34, + 35, + 46, + 47, + 49, + 50, + 62, + 65, + 76, + 77, + 79, + 80, + 93, + 94, + 96, + 97, + 108, + 109, + 111, + 112, + 123, + 124, + 126, + 127, + 138, + 139, + 141, + 142, + 153, + 154, + 156, + 157, + 168, + 169, + 171, + 172, + 183, + 184, + 186, + 187, + 198, + 199, + 201, + 202, + 213, + 214, + 216, + 217, + 228, + 229, + 231, + 232, + 243, + 244, + 246, + 247, + 258, + 259, + 261, + 262, + 273, + 274, + 276, + 277, + 288, + 289, + 291, + 292, + 303, + 304, + 306, + 307, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={256: 0})}, + }, + { + "indexes": { + "data": [ + 2, + 5, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 18, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 33, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 48, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 63, + 64, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 78, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 95, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 110, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 125, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 140, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 155, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 170, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 185, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 200, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 215, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 230, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 245, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 260, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 275, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 290, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 305, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={256: 24743})}, + }, + { + "indexes": {"data": [318, 319, 321, 322], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 0})}, + }, + { + "indexes": { + "data": [ + 320, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 24743})}, + }, + { + "indexes": {"data": [333, 336], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 10})}, + }, + { + "indexes": { + "data": [ + 334, + 335, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 0})}, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("1a8451e6") + Hash(0x20) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x20) + Hash(0xA), + Bytes("1a8451e6") + Hash(0x20) + Hash(0xB), + Bytes("1a8451e6") + Hash(0x20) + Hash(0xC), + Bytes("1a8451e6") + Hash(0x20) + Hash(0xD), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x14), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x15), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x16), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x17), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x18), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x19), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x37) + Hash(0xA), + Bytes("1a8451e6") + Hash(0x37) + Hash(0xB), + Bytes("1a8451e6") + Hash(0x37) + Hash(0xC), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x14), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x15), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x16), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x17), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x18), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x19), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x39) + Hash(0xA), + Bytes("1a8451e6") + Hash(0x39) + Hash(0xB), + Bytes("1a8451e6") + Hash(0x39) + Hash(0xC), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x14), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x15), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x16), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x17), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x18), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x19), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0xA), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0xB), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0xC), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x14), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x15), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x16), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x17), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x18), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x19), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0xA), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0xB), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0xC), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x14), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x15), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x16), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x17), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x18), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x19), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0xA), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0xB), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0xC), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x14), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x15), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x16), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x17), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x18), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x19), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0x3), + Bytes("1a8451e6") + Hash(0x13E) + Hash(0xD), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0xA), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0xB), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0xC), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x14), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x15), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x16), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x17), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x18), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x19), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0x1F1) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0xA), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0xB), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0xC), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x14), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x15), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x16), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x17), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x18), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x19), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0x1F2) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0xA), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0xB), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0xC), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x14), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x15), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x16), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x17), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x18), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x19), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0x1F4) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x0), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0xA), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0xB), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0xC), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x14), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x15), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x16), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x17), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x18), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x19), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0x1FA) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x1C), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x1), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x2), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0xA), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0xB), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0xC), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x14), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x15), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x16), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x17), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x18), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x19), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x1A), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x1B), + Bytes("1a8451e6") + Hash(0xFF) + Hash(0x1C), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_buffer_src_offset.py b/tests/ported_static/stMemoryTest/test_buffer_src_offset.py index 7d8a1efaf76..c95f7c6c8e8 100644 --- a/tests/ported_static/stMemoryTest/test_buffer_src_offset.py +++ b/tests/ported_static/stMemoryTest/test_buffer_src_offset.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stMemoryTest/bufferSrcOffsetFiller.yml +state_tests/stMemoryTest/bufferSrcOffsetFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,845 +28,747 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/bufferSrcOffsetFiller.yml"], + ["state_tests/stMemoryTest/bufferSrcOffsetFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={256: 24743} - ) - }, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000037000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000037000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003900000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d30000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000013e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - {}, - ), - ( - "048071d3000000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="ok", + ), + pytest.param( + 1, + 0, + 0, + id="ok", + ), + pytest.param( + 2, + 0, + 0, + id="ok", + ), + pytest.param( + 3, + 0, + 0, + id="fail", + ), + pytest.param( + 4, + 0, + 0, + id="ok", + ), + pytest.param( + 5, + 0, + 0, + id="ok", + ), + pytest.param( + 6, + 0, + 0, + id="ok", + ), + pytest.param( + 7, + 0, + 0, + id="fail", + ), + pytest.param( + 8, + 0, + 0, + id="ok", + ), + pytest.param( + 9, + 0, + 0, + id="ok", + ), + pytest.param( + 10, + 0, + 0, + id="ok", + ), + pytest.param( + 11, + 0, + 0, + id="fail", + ), + pytest.param( + 12, + 0, + 0, + id="ok", + ), + pytest.param( + 13, + 0, + 0, + id="ok", + ), + pytest.param( + 14, + 0, + 0, + id="ok", + ), + pytest.param( + 15, + 0, + 0, + id="fail", + ), + pytest.param( + 16, + 0, + 0, + id="ok", + ), + pytest.param( + 17, + 0, + 0, + id="ok", + ), + pytest.param( + 18, + 0, + 0, + id="ok", + ), + pytest.param( + 19, + 0, + 0, + id="ok", + ), + pytest.param( + 20, + 0, + 0, + id="ok", + ), + pytest.param( + 21, + 0, + 0, + id="ok", + ), + pytest.param( + 22, + 0, + 0, + id="ok", + ), + pytest.param( + 23, + 0, + 0, + id="ok", + ), + pytest.param( + 24, + 0, + 0, + id="ok", + ), + pytest.param( + 25, + 0, + 0, + id="ok", + ), + pytest.param( + 26, + 0, + 0, + id="ok", + ), + pytest.param( + 27, + 0, + 0, + id="fail", + ), + pytest.param( + 28, + 0, + 0, + id="ok", + ), + pytest.param( + 29, + 0, + 0, + id="ok", + ), + pytest.param( + 30, + 0, + 0, + id="ok", + ), + pytest.param( + 31, + 0, + 0, + id="fail", + ), + pytest.param( + 32, + 0, + 0, + id="ok", + ), + pytest.param( + 33, + 0, + 0, + id="ok", + ), + pytest.param( + 34, + 0, + 0, + id="ok", + ), + pytest.param( + 35, + 0, + 0, + id="fail", + ), + pytest.param( + 36, + 0, + 0, + id="ok", + ), + pytest.param( + 37, + 0, + 0, + id="ok", + ), + pytest.param( + 38, + 0, + 0, + id="ok", + ), + pytest.param( + 39, + 0, + 0, + id="fail", + ), + pytest.param( + 40, + 0, + 0, + id="ok", + ), + pytest.param( + 41, + 0, + 0, + id="ok", + ), + pytest.param( + 42, + 0, + 0, + id="ok", + ), + pytest.param( + 43, + 0, + 0, + id="ok", + ), + pytest.param( + 44, + 0, + 0, + id="ok", + ), + pytest.param( + 45, + 0, + 0, + id="ok", + ), + pytest.param( + 46, + 0, + 0, + id="ok", + ), + pytest.param( + 47, + 0, + 0, + id="ok", + ), + pytest.param( + 48, + 0, + 0, + id="ok", + ), + pytest.param( + 49, + 0, + 0, + id="ok", + ), + pytest.param( + 50, + 0, + 0, + id="ok", + ), + pytest.param( + 51, + 0, + 0, + id="fail", + ), + pytest.param( + 52, + 0, + 0, + id="ok", + ), + pytest.param( + 53, + 0, + 0, + id="ok", + ), + pytest.param( + 54, + 0, + 0, + id="ok", + ), + pytest.param( + 55, + 0, + 0, + id="fail", + ), + pytest.param( + 56, + 0, + 0, + id="ok", + ), + pytest.param( + 57, + 0, + 0, + id="ok", + ), + pytest.param( + 58, + 0, + 0, + id="ok", + ), + pytest.param( + 59, + 0, + 0, + id="fail", + ), + pytest.param( + 60, + 0, + 0, + id="ok", + ), + pytest.param( + 61, + 0, + 0, + id="ok", + ), + pytest.param( + 62, + 0, + 0, + id="ok", + ), + pytest.param( + 63, + 0, + 0, + id="fail", + ), + pytest.param( + 64, + 0, + 0, + id="ok", + ), + pytest.param( + 65, + 0, + 0, + id="ok", + ), + pytest.param( + 66, + 0, + 0, + id="ok", + ), + pytest.param( + 67, + 0, + 0, + id="ok", + ), + pytest.param( + 68, + 0, + 0, + id="ok", + ), + pytest.param( + 69, + 0, + 0, + id="ok", + ), + pytest.param( + 70, + 0, + 0, + id="ok", + ), + pytest.param( + 71, + 0, + 0, + id="ok", + ), + pytest.param( + 72, + 0, + 0, + id="ok", + ), + pytest.param( + 73, + 0, + 0, + id="fail", + ), + pytest.param( + 74, + 0, + 0, + id="fail", + ), + pytest.param( + 75, + 0, + 0, + id="fail", + ), + pytest.param( + 76, + 0, + 0, + id="fail", + ), + pytest.param( + 77, + 0, + 0, + id="fail", + ), + pytest.param( + 78, + 0, + 0, + id="fail", + ), + pytest.param( + 79, + 0, + 0, + id="fail", + ), + pytest.param( + 80, + 0, + 0, + id="fail", + ), + pytest.param( + 81, + 0, + 0, + id="fail", + ), + pytest.param( + 82, + 0, + 0, + id="fail", + ), + pytest.param( + 83, + 0, + 0, + id="fail", + ), + pytest.param( + 84, + 0, + 0, + id="fail", + ), + pytest.param( + 85, + 0, + 0, + id="fail", + ), + pytest.param( + 86, + 0, + 0, + id="fail", + ), + pytest.param( + 87, + 0, + 0, + id="fail", + ), + pytest.param( + 88, + 0, + 0, + id="fail", + ), + pytest.param( + 89, + 0, + 0, + id="fail", + ), + pytest.param( + 90, + 0, + 0, + id="fail", + ), + pytest.param( + 91, + 0, + 0, + id="fail", + ), + pytest.param( + 92, + 0, + 0, + id="fail", + ), + pytest.param( + 93, + 0, + 0, + id="fail", + ), + pytest.param( + 94, + 0, + 0, + id="fail", + ), + pytest.param( + 95, + 0, + 0, + id="fail", + ), + pytest.param( + 96, + 0, + 0, + id="ok", + ), + pytest.param( + 97, + 0, + 0, + id="ok", + ), + pytest.param( + 98, + 0, + 0, + id="fail", + ), + pytest.param( + 99, + 0, + 0, + id="fail", + ), + pytest.param( + 100, + 0, + 0, + id="ok", + ), + pytest.param( + 101, + 0, + 0, + id="ok", + ), + pytest.param( + 102, + 0, + 0, + id="fail", + ), + pytest.param( + 103, + 0, + 0, + id="fail", + ), + pytest.param( + 104, + 0, + 0, + id="fail", + ), + pytest.param( + 105, + 0, + 0, + id="fail", + ), + pytest.param( + 106, + 0, + 0, + id="fail", + ), + pytest.param( + 107, + 0, + 0, + id="fail", + ), + pytest.param( + 108, + 0, + 0, + id="fail", + ), + pytest.param( + 109, + 0, + 0, + id="fail", + ), + pytest.param( + 110, + 0, + 0, + id="fail", + ), + pytest.param( + 111, + 0, + 0, + id="fail", + ), + pytest.param( + 112, + 0, + 0, + id="fail", + ), + pytest.param( + 113, + 0, + 0, + id="fail", + ), + pytest.param( + 114, + 0, + 0, + id="fail", + ), + pytest.param( + 115, + 0, + 0, + id="fail", + ), + pytest.param( + 116, + 0, + 0, + id="fail", + ), + pytest.param( + 117, + 0, + 0, + id="fail", + ), + pytest.param( + 118, + 0, + 0, + id="fail", + ), + pytest.param( + 119, + 0, + 0, + id="fail", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - ], ) @pytest.mark.pre_alloc_mutable def test_buffer_src_offset( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000C0DE) + contract_1 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -874,18 +782,17 @@ def test_buffer_src_offset( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { # (return 0 0x120) # } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.RETURN(offset=0x0, size=0x120) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x000000000000000000000000000000000000c0de"), # noqa: E501 + address=Address(0x000000000000000000000000000000000000C0DE), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL + # Source: lll # { # (def 'opcode $4) # (def 'bufferType $36) @@ -917,259 +824,513 @@ def test_buffer_src_offset( # (if (= bufferType 3) [srcOffset] (- 0 0x10) NOP) # (if (= bufferType 4) [srcOffset] 0x7FFFFFFF NOP) # ... (40 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x2040, value=0x0) - + Op.JUMPI( - pc=Op.PUSH2[0x17], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x1E]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x30], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x37]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x10) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x49], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x51]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x8000) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x63], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x6D]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=Op.SUB(0x0, 0x10)) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x7F], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x4), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x89]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x7FFFFFFF) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x9B], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x5), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xA5]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x80000000) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xB7], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x6), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xC1]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0xFFFFFFFF) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xD3], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x7), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xDE]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x100000000) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xF0], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x8), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xFE]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x7FFFFFFFFFFFFFFF) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x110, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x9), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x11E) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x8000000000000000) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x130, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xA), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x13E) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0xFFFFFFFFFFFFFFFF) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x150, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xB), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x15F) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2020, value=0x10000000000000000) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x171, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x178) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2060, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x18A, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x191) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2060, value=0x10) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1A3, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x2), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x1AB) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2060, value=0x8000) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1BD, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x1C7) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2060, value=Op.SUB(0x0, 0x10)) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1D9, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x37), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x1E7) - + Op.JUMPDEST - + Op.CALLDATACOPY( - dest_offset=Op.MLOAD(offset=0x2040), - offset=Op.MLOAD(offset=0x2020), - size=Op.MLOAD(offset=0x2060), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1F9, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x39), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x207) - + Op.JUMPDEST - + Op.CODECOPY( - dest_offset=Op.MLOAD(offset=0x2040), - offset=Op.MLOAD(offset=0x2020), - size=Op.MLOAD(offset=0x2060), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x219, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3C), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x22A) - + Op.JUMPDEST - + Op.EXTCODECOPY( + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x2040, value=0x0) + + Op.JUMPI( + pc=Op.PUSH2[0x17], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x1E]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x30], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x37]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x10) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x49], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x2), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x51]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x8000) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x63], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x3), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x6D]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=Op.SUB(0x0, 0x10)) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x7F], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x4), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x89]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x7FFFFFFF) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x9B], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x5), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xA5]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x80000000) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xB7], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x6), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xC1]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0xFFFFFFFF) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xD3], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x7), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xDE]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x100000000) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xF0], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x8), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xFE]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x7FFFFFFFFFFFFFFF) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x110, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x9) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x11E) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x8000000000000000) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x130, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xA) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x13E) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0xFFFFFFFFFFFFFFFF) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x150, condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xB) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x15F) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2020, value=0x10000000000000000) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x171, condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x0) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x178) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2060, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x18A, condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x1) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x191) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2060, value=0x10) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1A3, condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x2) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x1AB) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2060, value=0x8000) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1BD, condition=Op.EQ(Op.CALLDATALOAD(offset=0x44), 0x3) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x1C7) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2060, value=Op.SUB(0x0, 0x10)) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1D9, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x37) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x1E7) + + Op.JUMPDEST + + Op.CALLDATACOPY( + dest_offset=Op.MLOAD(offset=0x2040), + offset=Op.MLOAD(offset=0x2020), + size=Op.MLOAD(offset=0x2060), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1F9, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x39) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x207) + + Op.JUMPDEST + + Op.CODECOPY( + dest_offset=Op.MLOAD(offset=0x2040), + offset=Op.MLOAD(offset=0x2020), + size=Op.MLOAD(offset=0x2060), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x219, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3C) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x22A) + + Op.JUMPDEST + + Op.EXTCODECOPY( + address=0xC0DE, + dest_offset=Op.MLOAD(offset=0x2040), + offset=Op.MLOAD(offset=0x2020), + size=Op.MLOAD(offset=0x2060), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x23C, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3E) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x24A) + + Op.JUMPDEST + + Op.RETURNDATACOPY( + dest_offset=Op.MLOAD(offset=0x2040), + offset=Op.MLOAD(offset=0x2020), + size=Op.MLOAD(offset=0x2060), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x25D, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x13E) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x27F) + + Op.JUMPDEST + + Op.POP( + Op.CALL( + gas=0x1000, address=0xC0DE, - dest_offset=Op.MLOAD(offset=0x2040), - offset=Op.MLOAD(offset=0x2020), - size=Op.MLOAD(offset=0x2060), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x23C, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x3E), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x24A) - + Op.JUMPDEST - + Op.RETURNDATACOPY( - dest_offset=Op.MLOAD(offset=0x2040), - offset=Op.MLOAD(offset=0x2020), - size=Op.MLOAD(offset=0x2060), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x25D, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x13E), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x27F) - + Op.JUMPDEST - + Op.POP( - Op.CALL( - gas=0x1000, - address=0xC0DE, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x100, - ret_size=0x100, - ), - ) - + Op.RETURNDATACOPY( - dest_offset=Op.MLOAD(offset=0x2040), - offset=Op.MLOAD(offset=0x2020), - size=Op.MLOAD(offset=0x2060), - ) - + Op.JUMPDEST - + Op.SSTORE(key=0x100, value=0x0) - + Op.JUMPI( - pc=0x298, - condition=Op.ISZERO(Op.LT(Op.CALLDATALOAD(offset=0x24), 0x3)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x100, + ret_size=0x100, ) - + Op.POP(0x0) - + Op.JUMP(pc=0x2A5) - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.JUMPDEST - + Op.STOP - ), - storage={0x100: 0x60A7}, + ) + + Op.RETURNDATACOPY( + dest_offset=Op.MLOAD(offset=0x2040), + offset=Op.MLOAD(offset=0x2020), + size=Op.MLOAD(offset=0x2060), + ) + + Op.JUMPDEST + + Op.SSTORE(key=0x100, value=0x0) + + Op.JUMPI( + pc=0x298, + condition=Op.ISZERO(Op.LT(Op.CALLDATALOAD(offset=0x24), 0x3)), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x2A5) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.JUMPDEST + + Op.STOP, + storage={256: 24743}, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [ + 0, + 1, + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 12, + 13, + 14, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 28, + 29, + 30, + 32, + 33, + 34, + 36, + 37, + 38, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 52, + 53, + 54, + 56, + 57, + 58, + 60, + 61, + 62, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 96, + 97, + 100, + 101, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 0, 1: 0, 256: 0})}, + }, + { + "indexes": { + "data": [ + 3, + 7, + 11, + 15, + 27, + 31, + 35, + 39, + 51, + 55, + 59, + 63, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 98, + 99, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={256: 24743})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("048071d3") + Hash(0x37) + Hash(0x0) + Hash(0x0), + Bytes("048071d3") + Hash(0x37) + Hash(0x0) + Hash(0x1), + Bytes("048071d3") + Hash(0x37) + Hash(0x0) + Hash(0x2), + Bytes("048071d3") + Hash(0x37) + Hash(0x0) + Hash(0x3), + Bytes("048071d3") + Hash(0x37) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x37) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x37) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0x37) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0x37) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x37) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x37) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0x37) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0x37) + Hash(0x3) + Hash(0x0), + Bytes("048071d3") + Hash(0x37) + Hash(0x3) + Hash(0x1), + Bytes("048071d3") + Hash(0x37) + Hash(0x3) + Hash(0x2), + Bytes("048071d3") + Hash(0x37) + Hash(0x3) + Hash(0x3), + Bytes("048071d3") + Hash(0x37) + Hash(0x4) + Hash(0x1), + Bytes("048071d3") + Hash(0x37) + Hash(0x5) + Hash(0x1), + Bytes("048071d3") + Hash(0x37) + Hash(0x6) + Hash(0x1), + Bytes("048071d3") + Hash(0x37) + Hash(0x7) + Hash(0x1), + Bytes("048071d3") + Hash(0x37) + Hash(0x8) + Hash(0x1), + Bytes("048071d3") + Hash(0x37) + Hash(0x9) + Hash(0x1), + Bytes("048071d3") + Hash(0x37) + Hash(0xA) + Hash(0x1), + Bytes("048071d3") + Hash(0x37) + Hash(0xB) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0x0) + Hash(0x0), + Bytes("048071d3") + Hash(0x39) + Hash(0x0) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0x0) + Hash(0x2), + Bytes("048071d3") + Hash(0x39) + Hash(0x0) + Hash(0x3), + Bytes("048071d3") + Hash(0x39) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x39) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0x39) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0x39) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x39) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0x39) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0x39) + Hash(0x3) + Hash(0x0), + Bytes("048071d3") + Hash(0x39) + Hash(0x3) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0x3) + Hash(0x2), + Bytes("048071d3") + Hash(0x39) + Hash(0x3) + Hash(0x3), + Bytes("048071d3") + Hash(0x39) + Hash(0x4) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0x5) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0x6) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0x7) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0x8) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0x9) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0xA) + Hash(0x1), + Bytes("048071d3") + Hash(0x39) + Hash(0xB) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x0) + Hash(0x0), + Bytes("048071d3") + Hash(0x3C) + Hash(0x0) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x0) + Hash(0x2), + Bytes("048071d3") + Hash(0x3C) + Hash(0x0) + Hash(0x3), + Bytes("048071d3") + Hash(0x3C) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x3C) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0x3C) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0x3C) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x3C) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0x3C) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0x3C) + Hash(0x3) + Hash(0x0), + Bytes("048071d3") + Hash(0x3C) + Hash(0x3) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x3) + Hash(0x2), + Bytes("048071d3") + Hash(0x3C) + Hash(0x3) + Hash(0x3), + Bytes("048071d3") + Hash(0x3C) + Hash(0x4) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x5) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x6) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x7) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x8) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0x9) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0xA) + Hash(0x1), + Bytes("048071d3") + Hash(0x3C) + Hash(0xB) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0x0) + Hash(0x0), + Bytes("048071d3") + Hash(0x3E) + Hash(0x0) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0x0) + Hash(0x2), + Bytes("048071d3") + Hash(0x3E) + Hash(0x0) + Hash(0x3), + Bytes("048071d3") + Hash(0x3E) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x3E) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0x3E) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0x3E) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x3E) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0x3E) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0x3E) + Hash(0x3) + Hash(0x0), + Bytes("048071d3") + Hash(0x3E) + Hash(0x3) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0x3) + Hash(0x2), + Bytes("048071d3") + Hash(0x3E) + Hash(0x3) + Hash(0x3), + Bytes("048071d3") + Hash(0x3E) + Hash(0x4) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0x5) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0x6) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0x7) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0x8) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0x9) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0xA) + Hash(0x1), + Bytes("048071d3") + Hash(0x3E) + Hash(0xB) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0x0) + Hash(0x0), + Bytes("048071d3") + Hash(0x13E) + Hash(0x0) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0x0) + Hash(0x2), + Bytes("048071d3") + Hash(0x13E) + Hash(0x0) + Hash(0x3), + Bytes("048071d3") + Hash(0x13E) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x13E) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0x13E) + Hash(0x1) + Hash(0x3), + Bytes("048071d3") + Hash(0x13E) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x13E) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0x13E) + Hash(0x2) + Hash(0x3), + Bytes("048071d3") + Hash(0x13E) + Hash(0x3) + Hash(0x0), + Bytes("048071d3") + Hash(0x13E) + Hash(0x3) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0x3) + Hash(0x2), + Bytes("048071d3") + Hash(0x13E) + Hash(0x3) + Hash(0x3), + Bytes("048071d3") + Hash(0x13E) + Hash(0x4) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0x5) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0x6) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0x7) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0x8) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0x9) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0xA) + Hash(0x1), + Bytes("048071d3") + Hash(0x13E) + Hash(0xB) + Hash(0x1), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=contract_1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_call_data_copy_offset.py b/tests/ported_static/stMemoryTest/test_call_data_copy_offset.py index 938647019f1..808fb053b47 100644 --- a/tests/ported_static/stMemoryTest/test_call_data_copy_offset.py +++ b/tests/ported_static/stMemoryTest/test_call_data_copy_offset.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_data_copy_offset. Ported from: -tests/static/state_tests/stMemoryTest/callDataCopyOffsetFiller.json +state_tests/stMemoryTest/callDataCopyOffsetFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/callDataCopyOffsetFiller.json"], + ["state_tests/stMemoryTest/callDataCopyOffsetFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,10 @@ def test_call_data_copy_offset( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_data_copy_offset.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE) + contract_1 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,51 +48,50 @@ def test_call_data_copy_offset( gas_limit=1000000, ) - # Source: Yul - # { mstore(0, 0x0123456789abcdef) pop(call(0xffff,0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,0, 0,0x0f, 0,0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x123456789ABCDEF) - + Op.CALL( - gas=0xFFFF, - address=0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0xF, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0x00 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (CALLDATACOPY 0x00 0xffff 0x10) (SSTORE 0x00 (MLOAD 0x00)) } # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.CALLDATACOPY(dest_offset=0x0, offset=0xFFFF, size=0x10) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + nonce=1, + address=Address(0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { (MSTORE 0x00 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (CALLDATACOPY 0x00 0xffff 0x10) (SSTORE 0x00 (MLOAD 0x00)) } # noqa: E501 - callee = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.CALLDATACOPY(dest_offset=0x0, offset=0xFFFF, size=0x10) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: yul + # berlin { mstore(0, 0x0123456789abcdef) pop(call(0xffff,0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,0, 0,0x0f, 0,0)) } # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x123456789ABCDEF) + + Op.CALL( + gas=0xFFFF, + address=0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0xF, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, - address=Address("0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"), # noqa: E501 + nonce=1, + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_1, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - callee: Account(storage={0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}), + contract_0: Account(storage={0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}) } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_calldatacopy_dejavu.py b/tests/ported_static/stMemoryTest/test_calldatacopy_dejavu.py index d47fd1f4cea..bc80056ad0e 100644 --- a/tests/ported_static/stMemoryTest/test_calldatacopy_dejavu.py +++ b/tests/ported_static/stMemoryTest/test_calldatacopy_dejavu.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_calldatacopy_dejavu. Ported from: -tests/static/state_tests/stMemoryTest/calldatacopy_dejavuFiller.json +state_tests/stMemoryTest/calldatacopy_dejavuFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/calldatacopy_dejavuFiller.json"], + ["state_tests/stMemoryTest/calldatacopy_dejavuFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_calldatacopy_dejavu( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_calldatacopy_dejavu.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,27 +46,28 @@ def test_calldatacopy_dejavu( gas_limit=52949672960, ) - pre[sender] = Account(balance=0x271000000000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH1[0xFF] - + Op.CALLDATACOPY( - dest_offset=0xFFFFFFF, offset=0xFFFFFFF, size=0xFF - ) - ), + # Source: raw + # 0x60FF60FF630FFFFFFF630FFFFFFF37 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0xFF] + + Op.CALLDATACOPY(dest_offset=0xFFFFFFF, offset=0xFFFFFFF, size=0xFF), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcb76ef53a4eb6ccf604daed675e91df8a0b544f8"), # noqa: E501 + address=Address(0xCB76EF53A4EB6CCF604DAED675E91DF8A0B544F8), # noqa: E501 ) + pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_calldatacopy_dejavu2.py b/tests/ported_static/stMemoryTest/test_calldatacopy_dejavu2.py index 074c69ab933..e2652c917cc 100644 --- a/tests/ported_static/stMemoryTest/test_calldatacopy_dejavu2.py +++ b/tests/ported_static/stMemoryTest/test_calldatacopy_dejavu2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_calldatacopy_dejavu2. Ported from: -tests/static/state_tests/stMemoryTest/calldatacopy_dejavu2Filler.json +state_tests/stMemoryTest/calldatacopy_dejavu2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/calldatacopy_dejavu2Filler.json"], + ["state_tests/stMemoryTest/calldatacopy_dejavu2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_calldatacopy_dejavu2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_calldatacopy_dejavu2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,33 +46,32 @@ def test_calldatacopy_dejavu2( gas_limit=52949672960, ) - pre[sender] = Account(balance=0x271000000000) - # Source: Yul - # { mstore8(0x1f, 0x42) calldatacopy(0x1f, 0, 0x0103) let mem := mload(0) if eq(mem,0x60) { stop() } sstore(0xff, 0x0badc0ffee) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x1F, value=0x42) - + Op.CALLDATACOPY(dest_offset=0x1F, offset=0x0, size=0x103) - + Op.JUMPI(pc=0x20, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x60)) - + Op.SSTORE(key=0xFF, value=0xBADC0FFEE) - + Op.STOP - + Op.JUMPDEST - + Op.STOP - ), + # Source: yul + # berlin { mstore8(0x1f, 0x42) calldatacopy(0x1f, 0, 0x0103) let mem := mload(0) if eq(mem,0x60) { stop() } sstore(0xff, 0x0badc0ffee) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x1F, value=0x42) + + Op.CALLDATACOPY(dest_offset=0x1F, offset=0x0, size=0x103) + + Op.JUMPI(pc=0x1F, condition=Op.EQ(Op.MLOAD(offset=0x0), 0x60)) + + Op.SSTORE(key=0xFF, value=0xBADC0FFEE) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd6a7f80046f7576fa76ee5198426097f149e60ff"), # noqa: E501 + address=Address(0xD6A7F80046F7576FA76EE5198426097F149E60FF), # noqa: E501 ) + pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={255: 0xBADC0FFEE}), + target: Account(storage={255: 0xBADC0FFEE}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_code_copy_offset.py b/tests/ported_static/stMemoryTest/test_code_copy_offset.py index c3cbe689ba4..4157cc3c343 100644 --- a/tests/ported_static/stMemoryTest/test_code_copy_offset.py +++ b/tests/ported_static/stMemoryTest/test_code_copy_offset.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_code_copy_offset. Ported from: -tests/static/state_tests/stMemoryTest/codeCopyOffsetFiller.json +state_tests/stMemoryTest/codeCopyOffsetFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/codeCopyOffsetFiller.json"], + ["state_tests/stMemoryTest/codeCopyOffsetFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_code_copy_offset( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_code_copy_offset.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,49 +46,48 @@ def test_code_copy_offset( gas_limit=1000000, ) - callee = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.CODECOPY(dest_offset=0x0, offset=0xFFFF, size=0x10) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0x00 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (CODECOPY 0x00 0xffff 0x10) (SSTORE 0x00 (MLOAD 0x00)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.CODECOPY(dest_offset=0x0, offset=0xFFFF, size=0x10) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, - address=Address("0x27d16e1d3cc862149f1e7162e612635fcaef9ff4"), # noqa: E501 + nonce=1, + address=Address(0x27D16E1D3CC862149F1E7162E612635FCAEF9FF4), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: Yul - # { mstore(0, 0x0123456789abcdef) pop(call(0xffff, , 0, 0, 0x0f, 0, 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x123456789ABCDEF) - + Op.CALL( - gas=0xFFFF, - address=0x27D16E1D3CC862149F1E7162E612635FCAEF9FF4, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0xF, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: yul + # berlin { mstore(0, 0x0123456789abcdef) pop(call(0xffff, , 0, 0, 0x0f, 0, 0)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x123456789ABCDEF) + + Op.CALL( + gas=0xFFFF, + address=0x27D16E1D3CC862149F1E7162E612635FCAEF9FF4, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0xF, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, - address=Address("0xaf89a7504341a87e1cfdffd483a00a4688469b3d"), # noqa: E501 + nonce=1, + address=Address(0xAF89A7504341A87E1CFDFFD483A00A4688469B3D), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post = { - callee: Account(storage={0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}), - } + post = {addr: Account(storage={0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_codecopy_dejavu.py b/tests/ported_static/stMemoryTest/test_codecopy_dejavu.py index 6e4b0dcd96c..ed7f3b2985a 100644 --- a/tests/ported_static/stMemoryTest/test_codecopy_dejavu.py +++ b/tests/ported_static/stMemoryTest/test_codecopy_dejavu.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_codecopy_dejavu. Ported from: -tests/static/state_tests/stMemoryTest/codecopy_dejavuFiller.json +state_tests/stMemoryTest/codecopy_dejavuFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/codecopy_dejavuFiller.json"], + ["state_tests/stMemoryTest/codecopy_dejavuFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_codecopy_dejavu( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_codecopy_dejavu.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,25 +46,28 @@ def test_codecopy_dejavu( gas_limit=52949672960, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH1[0xFF] - + Op.CODECOPY(dest_offset=0xFFFFFFF, offset=0xFFFFFFF, size=0xFF) - ), + # Source: raw + # 0x60FF60FF630FFFFFFF630FFFFFFF39 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0xFF] + + Op.CODECOPY(dest_offset=0xFFFFFFF, offset=0xFFFFFFF, size=0xFF), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8719757d888e6b73b95b8873672380186ff72d55"), # noqa: E501 + address=Address(0x8719757D888E6B73B95B8873672380186FF72D55), # noqa: E501 ) pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_codecopy_dejavu2.py b/tests/ported_static/stMemoryTest/test_codecopy_dejavu2.py index 10ab885e738..ce6082b30e3 100644 --- a/tests/ported_static/stMemoryTest/test_codecopy_dejavu2.py +++ b/tests/ported_static/stMemoryTest/test_codecopy_dejavu2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_codecopy_dejavu2. Ported from: -tests/static/state_tests/stMemoryTest/codecopy_dejavu2Filler.json +state_tests/stMemoryTest/codecopy_dejavu2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/codecopy_dejavu2Filler.json"], + ["state_tests/stMemoryTest/codecopy_dejavu2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_codecopy_dejavu2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_codecopy_dejavu2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,29 +46,30 @@ def test_codecopy_dejavu2( gas_limit=52949672960, ) - pre[sender] = Account(balance=0x271000000000) - # Source: Yul - # { codecopy(0x1f, 0x010000000000000001, 0x0a) let mem := mload(0) if eq(mem, 0) {stop()} } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=0x1F, offset=0x10000000000000001, size=0xA) - + Op.JUMPI(pc=0x17, condition=Op.ISZERO(Op.MLOAD(offset=0x0))) - + Op.STOP - + Op.JUMPDEST - + Op.STOP - ), + # Source: yul + # berlin { codecopy(0x1f, 0x010000000000000001, 0x0a) let mem := mload(0) if eq(mem, 0) {stop()} } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY( + dest_offset=0x1F, offset=0x10000000000000001, size=0xA + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc165257d26f9435cbd00d8e2825ff173393d3b31"), # noqa: E501 + address=Address(0xC165257D26F9435CBD00D8E2825FF173393D3B31), # noqa: E501 ) + pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_extcodecopy_dejavu.py b/tests/ported_static/stMemoryTest/test_extcodecopy_dejavu.py index 596f22b303f..31a783644ec 100644 --- a/tests/ported_static/stMemoryTest/test_extcodecopy_dejavu.py +++ b/tests/ported_static/stMemoryTest/test_extcodecopy_dejavu.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_extcodecopy_dejavu. Ported from: -tests/static/state_tests/stMemoryTest/extcodecopy_dejavuFiller.json +state_tests/stMemoryTest/extcodecopy_dejavuFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/extcodecopy_dejavuFiller.json"], + ["state_tests/stMemoryTest/extcodecopy_dejavuFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_extcodecopy_dejavu( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_extcodecopy_dejavu.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,29 +46,29 @@ def test_extcodecopy_dejavu( gas_limit=52949672960, ) - pre[sender] = Account(balance=0x271000000000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.EXTCODECOPY( - address=0xFFFFFFF, - dest_offset=0xFFFFFFF, - offset=0xFF, - size=0xFF, - ) + # Source: raw + # 0x60FF60FF630FFFFFFF630FFFFFFF3C + target = pre.deploy_contract( # noqa: F841 + code=Op.EXTCODECOPY( + address=0xFFFFFFF, dest_offset=0xFFFFFFF, offset=0xFF, size=0xFF ), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe15245403ddc4d3674436cf955358a73d67e226a"), # noqa: E501 + address=Address(0xE15245403DDC4D3674436CF955358A73D67E226A), # noqa: E501 ) + pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_log1_dejavu.py b/tests/ported_static/stMemoryTest/test_log1_dejavu.py index 7b91eeaad4a..835aeab49ca 100644 --- a/tests/ported_static/stMemoryTest/test_log1_dejavu.py +++ b/tests/ported_static/stMemoryTest/test_log1_dejavu.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log1_dejavu. Ported from: -tests/static/state_tests/stMemoryTest/log1_dejavuFiller.json +state_tests/stMemoryTest/log1_dejavuFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/log1_dejavuFiller.json"], + ["state_tests/stMemoryTest/log1_dejavuFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log1_dejavu( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log1_dejavu.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,22 +46,27 @@ def test_log1_dejavu( gas_limit=52949672960, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x60FF60FF630FFFFFFFA1 + target = pre.deploy_contract( # noqa: F841 code=Op.LOG1(offset=0xFFFFFFF, size=0xFF, topic_1=0xFF), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2e5dd28ace62cb4fc05fc800ded494a6275107ac"), # noqa: E501 + address=Address(0x2E5DD28ACE62CB4FC05FC800DED494A6275107AC), # noqa: E501 ) pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_log2_dejavu.py b/tests/ported_static/stMemoryTest/test_log2_dejavu.py index 9abf5f9f751..76ed2629490 100644 --- a/tests/ported_static/stMemoryTest/test_log2_dejavu.py +++ b/tests/ported_static/stMemoryTest/test_log2_dejavu.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log2_dejavu. Ported from: -tests/static/state_tests/stMemoryTest/log2_dejavuFiller.json +state_tests/stMemoryTest/log2_dejavuFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/log2_dejavuFiller.json"], + ["state_tests/stMemoryTest/log2_dejavuFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log2_dejavu( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log2_dejavu.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,22 +46,27 @@ def test_log2_dejavu( gas_limit=52949672960, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=Op.PUSH1[0xFF] + Op.PUSH1[0xFF] + Op.PUSH4[0xFFFFFFF] + Op.LOG2, + # Source: raw + # 0x60FF60FF630FFFFFFFA2 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0xFF] * 2 + Op.PUSH4[0xFFFFFFF] + Op.LOG2, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x38ac6ccffb48040475cf67e7040adebb1dd11dec"), # noqa: E501 + address=Address(0x38AC6CCFFB48040475CF67E7040ADEBB1DD11DEC), # noqa: E501 ) pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_log3_dejavu.py b/tests/ported_static/stMemoryTest/test_log3_dejavu.py index 7b2de846778..fc1d2fae01e 100644 --- a/tests/ported_static/stMemoryTest/test_log3_dejavu.py +++ b/tests/ported_static/stMemoryTest/test_log3_dejavu.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log3_dejavu. Ported from: -tests/static/state_tests/stMemoryTest/log3_dejavuFiller.json +state_tests/stMemoryTest/log3_dejavuFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/log3_dejavuFiller.json"], + ["state_tests/stMemoryTest/log3_dejavuFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log3_dejavu( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log3_dejavu.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,22 +46,27 @@ def test_log3_dejavu( gas_limit=52949672960, ) - pre[sender] = Account(balance=0x271000000000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x60FF60FF60FF630FFFFFFFA2 + target = pre.deploy_contract( # noqa: F841 code=Op.LOG2(offset=0xFFFFFFF, size=0xFF, topic_1=0xFF, topic_2=0xFF), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd1d57042b5af54c18e8ad98b2756c1c30c08d5c1"), # noqa: E501 + address=Address(0xD1D57042B5AF54C18E8AD98B2756C1C30C08D5C1), # noqa: E501 ) + pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_log4_dejavu.py b/tests/ported_static/stMemoryTest/test_log4_dejavu.py index 3d23f1558d5..844f5bf40ff 100644 --- a/tests/ported_static/stMemoryTest/test_log4_dejavu.py +++ b/tests/ported_static/stMemoryTest/test_log4_dejavu.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_log4_dejavu. Ported from: -tests/static/state_tests/stMemoryTest/log4_dejavuFiller.json +state_tests/stMemoryTest/log4_dejavuFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/log4_dejavuFiller.json"], + ["state_tests/stMemoryTest/log4_dejavuFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_log4_dejavu( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_log4_dejavu.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,22 +46,27 @@ def test_log4_dejavu( gas_limit=52949672960, ) - pre[sender] = Account(balance=0x271000000000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x60FF60FF60FF630FFFFFFFA2 + target = pre.deploy_contract( # noqa: F841 code=Op.LOG2(offset=0xFFFFFFF, size=0xFF, topic_1=0xFF, topic_2=0xFF), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd1d57042b5af54c18e8ad98b2756c1c30c08d5c1"), # noqa: E501 + address=Address(0xD1D57042B5AF54C18E8AD98B2756C1C30C08D5C1), # noqa: E501 ) + pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem0b_single_byte.py b/tests/ported_static/stMemoryTest/test_mem0b_single_byte.py index 6fcd5173d9b..73200b18818 100644 --- a/tests/ported_static/stMemoryTest/test_mem0b_single_byte.py +++ b/tests/ported_static/stMemoryTest/test_mem0b_single_byte.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem0b_single_byte. Ported from: -tests/static/state_tests/stMemoryTest/mem0b_singleByteFiller.json +state_tests/stMemoryTest/mem0b_singleByteFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem0b_singleByteFiller.json"], + ["state_tests/stMemoryTest/mem0b_singleByteFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem0b_single_byte( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem0b_single_byte.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem0b_single_byte( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 0 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1c10357a4309c879b65e6a761586a2d2762f4510"), # noqa: E501 + address=Address(0x1C10357A4309C879B65E6A761586A2D2762F4510), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32}), + target: Account(storage={0: 32}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem31b_single_byte.py b/tests/ported_static/stMemoryTest/test_mem31b_single_byte.py index 9697d7a0478..c05ccf2b724 100644 --- a/tests/ported_static/stMemoryTest/test_mem31b_single_byte.py +++ b/tests/ported_static/stMemoryTest/test_mem31b_single_byte.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem31b_single_byte. Ported from: -tests/static/state_tests/stMemoryTest/mem31b_singleByteFiller.json +state_tests/stMemoryTest/mem31b_singleByteFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem31b_singleByteFiller.json"], + ["state_tests/stMemoryTest/mem31b_singleByteFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem31b_single_byte( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem31b_single_byte.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem31b_single_byte( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 30 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x1E, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x1E, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xab348fdb607ae2689a4738d1161dde14f01b206b"), # noqa: E501 + address=Address(0xAB348FDB607AE2689A4738D1161DDE14F01B206B), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32}), + target: Account(storage={0: 32}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32b_single_byte.py b/tests/ported_static/stMemoryTest/test_mem32b_single_byte.py index 4e9c58ba7ff..8d346a01797 100644 --- a/tests/ported_static/stMemoryTest/test_mem32b_single_byte.py +++ b/tests/ported_static/stMemoryTest/test_mem32b_single_byte.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32b_single_byte. Ported from: -tests/static/state_tests/stMemoryTest/mem32b_singleByteFiller.json +state_tests/stMemoryTest/mem32b_singleByteFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32b_singleByteFiller.json"], + ["state_tests/stMemoryTest/mem32b_singleByteFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32b_single_byte( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32b_single_byte.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem32b_single_byte( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 31 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x1F, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x1F, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5f920d21d87930a31d9f34e893e46f9d24ae98bf"), # noqa: E501 + address=Address(0x5F920D21D87930A31D9F34E893E46F9D24AE98BF), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32}), + target: Account(storage={0: 32}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb.py b/tests/ported_static/stMemoryTest/test_mem32kb.py index 53415fb2a62..59af8049672 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb. Ported from: -tests/static/state_tests/stMemoryTest/mem32kbFiller.json +state_tests/stMemoryTest/mem32kbFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kbFiller.json"], + ["state_tests/stMemoryTest/mem32kbFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem32kb( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 31968 42) [[ 1 ]] (MLOAD 31968) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x7CE0, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CE0)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x7CE0, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CE0)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x61ee8fdb26ddfd9f99f1089a4196985009f1c2b5"), # noqa: E501 + address=Address(0x61EE8FDB26DDFD9F99F1089A4196985009F1C2B5), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32000, 1: 42}), + target: Account(storage={0: 32000, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_minus_1.py b/tests/ported_static/stMemoryTest/test_mem32kb_minus_1.py index 7d2768afce5..417ad97e39f 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_minus_1.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_minus_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_minus_1. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb-1Filler.json +state_tests/stMemoryTest/mem32kb-1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb-1Filler.json"], + ["state_tests/stMemoryTest/mem32kb-1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_minus_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_minus_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem32kb_minus_1( gas_limit=42949672960, ) - pre[sender] = Account(balance=0x6400000000) - # Source: LLL + # Source: lll # { (MSTORE 31967 42) [[ 1 ]] (MLOAD 31967) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x7CDF, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CDF)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x7CDF, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CDF)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcdb6a2db045d5f57d702f7f2b31b763a48e93012"), # noqa: E501 + address=Address(0xCDB6A2DB045D5F57D702F7F2B31B763A48E93012), # noqa: E501 ) + pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32000, 1: 42}), + target: Account(storage={0: 32000, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_minus_31.py b/tests/ported_static/stMemoryTest/test_mem32kb_minus_31.py index 99065bf0573..578163a878a 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_minus_31.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_minus_31.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_minus_31. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb-31Filler.json +state_tests/stMemoryTest/mem32kb-31Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb-31Filler.json"], + ["state_tests/stMemoryTest/mem32kb-31Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_minus_31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_minus_31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem32kb_minus_31( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 31937 42) [[ 1 ]] (MLOAD 31937) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x7CC1, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CC1)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x7CC1, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CC1)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb46476112be03a9d0ea0e5c2d87fd734ee2c2687"), # noqa: E501 + address=Address(0xB46476112BE03A9D0EA0E5C2D87FD734EE2C2687), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32000, 1: 42}), + target: Account(storage={0: 32000, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_minus_32.py b/tests/ported_static/stMemoryTest/test_mem32kb_minus_32.py index 5c9ea50b8ec..c03ea765aef 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_minus_32.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_minus_32.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_minus_32. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb-32Filler.json +state_tests/stMemoryTest/mem32kb-32Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb-32Filler.json"], + ["state_tests/stMemoryTest/mem32kb-32Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_minus_32( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_minus_32.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem32kb_minus_32( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 31936 42) [[ 1 ]] (MLOAD 31936) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x7CC0, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CC0)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x7CC0, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CC0)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6486aa041ff3591199ac99568935ecaee0b3acfa"), # noqa: E501 + address=Address(0x6486AA041FF3591199AC99568935ECAEE0B3ACFA), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 31968, 1: 42}), + target: Account(storage={0: 31968, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_minus_33.py b/tests/ported_static/stMemoryTest/test_mem32kb_minus_33.py index d9f48e98c5e..11f30ef4685 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_minus_33.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_minus_33.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_minus_33. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb-33Filler.json +state_tests/stMemoryTest/mem32kb-33Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb-33Filler.json"], + ["state_tests/stMemoryTest/mem32kb-33Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_minus_33( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_minus_33.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem32kb_minus_33( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 31935 42) [[ 1 ]] (MLOAD 31935) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x7CBF, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CBF)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x7CBF, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CBF)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4fd3d54f0b8734358798f93f9206e3d2ca5642a5"), # noqa: E501 + address=Address(0x4FD3D54F0B8734358798F93F9206E3D2CA5642A5), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 31968, 1: 42}), + target: Account(storage={0: 31968, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_plus_1.py b/tests/ported_static/stMemoryTest/test_mem32kb_plus_1.py index ac4e5bcabf5..a2157ea5d05 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_plus_1.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_plus_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_plus_1. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb+1Filler.json +state_tests/stMemoryTest/mem32kb+1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb+1Filler.json"], + ["state_tests/stMemoryTest/mem32kb+1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_plus_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_plus_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem32kb_plus_1( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 31969 42) [[ 1 ]] (MLOAD 31969) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x7CE1, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CE1)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x7CE1, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CE1)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x458bb38ff5220db011d56827c1346b799c1c409d"), # noqa: E501 + address=Address(0x458BB38FF5220DB011D56827C1346B799C1C409D), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32032, 1: 42}), + target: Account(storage={0: 32032, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_plus_31.py b/tests/ported_static/stMemoryTest/test_mem32kb_plus_31.py index 977b3d45285..f42a12f4a21 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_plus_31.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_plus_31.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_plus_31. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb+31Filler.json +state_tests/stMemoryTest/mem32kb+31Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb+31Filler.json"], + ["state_tests/stMemoryTest/mem32kb+31Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_plus_31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_plus_31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem32kb_plus_31( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 31999 42) [[ 1 ]] (MLOAD 31999) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x7CFF, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CFF)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x7CFF, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7CFF)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xac6d4cb03fbb766035268aaf36604a5bf6eb5d04"), # noqa: E501 + address=Address(0xAC6D4CB03FBB766035268AAF36604A5BF6EB5D04), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32032, 1: 42}), + target: Account(storage={0: 32032, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_plus_32.py b/tests/ported_static/stMemoryTest/test_mem32kb_plus_32.py index 7f82ba3fb3e..08b768dbecd 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_plus_32.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_plus_32.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_plus_32. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb+32Filler.json +state_tests/stMemoryTest/mem32kb+32Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb+32Filler.json"], + ["state_tests/stMemoryTest/mem32kb+32Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_plus_32( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_plus_32.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem32kb_plus_32( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 32000 42) [[ 1 ]] (MLOAD 32000) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x7D00, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7D00)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x7D00, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7D00)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb73f7199ef3863783b117a38dbd30d67e44f29e7"), # noqa: E501 + address=Address(0xB73F7199EF3863783B117A38DBD30D67E44F29E7), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32032, 1: 42}), + target: Account(storage={0: 32032, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_plus_33.py b/tests/ported_static/stMemoryTest/test_mem32kb_plus_33.py index 9b457071aaf..34d100d09a9 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_plus_33.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_plus_33.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_plus_33. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb+33Filler.json +state_tests/stMemoryTest/mem32kb+33Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb+33Filler.json"], + ["state_tests/stMemoryTest/mem32kb+33Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_plus_33( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_plus_33.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem32kb_plus_33( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 32001 42) [[ 1 ]] (MLOAD 32001) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x7D01, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7D01)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x7D01, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x7D01)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x06b8c6bbda80245d64a2d903e0d864a6ee862270"), # noqa: E501 + address=Address(0x06B8C6BBDA80245D64A2D903E0D864A6EE862270), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32064, 1: 42}), + target: Account(storage={0: 32064, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte.py b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte.py index 0a59c684be3..cc9a9cebc71 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_single_byte. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb_singleByteFiller.json +state_tests/stMemoryTest/mem32kb_singleByteFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb_singleByteFiller.json"], + ["state_tests/stMemoryTest/mem32kb_singleByteFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_single_byte( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_single_byte.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem32kb_single_byte( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 31999 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x7CFF, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x7CFF, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x341d86929d1b27823501662866e6233246f72ecc"), # noqa: E501 + address=Address(0x341D86929D1B27823501662866E6233246F72ECC), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32000}), + target: Account(storage={0: 32000}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_1.py b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_1.py index 65a271b2e3c..4790033d442 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_1.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_single_byte_minus_1. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb_singleByte-1Filler.json +state_tests/stMemoryTest/mem32kb_singleByte-1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb_singleByte-1Filler.json"], + ["state_tests/stMemoryTest/mem32kb_singleByte-1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_single_byte_minus_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_single_byte_minus_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem32kb_single_byte_minus_1( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 31998 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x7CFE, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x7CFE, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4310553bbfdf1433d24739581d21601557c480f6"), # noqa: E501 + address=Address(0x4310553BBFDF1433D24739581D21601557C480F6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32000}), + target: Account(storage={0: 32000}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_31.py b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_31.py index c3d47512d93..b169fee89d2 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_31.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_31.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_single_byte_minus_31. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb_singleByte-31Filler.json +state_tests/stMemoryTest/mem32kb_singleByte-31Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb_singleByte-31Filler.json"], + ["state_tests/stMemoryTest/mem32kb_singleByte-31Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_single_byte_minus_31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_single_byte_minus_31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem32kb_single_byte_minus_31( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 31968 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x7CE0, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x7CE0, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa66b4a1cc854f0b1ac130e79071ca4d277abb87d"), # noqa: E501 + address=Address(0xA66B4A1CC854F0B1AC130E79071CA4D277ABB87D), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32000}), + target: Account(storage={0: 32000}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_32.py b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_32.py index 7f5b23c48fe..6f015e7922b 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_32.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_32.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_single_byte_minus_32. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb_singleByte-32Filler.json +state_tests/stMemoryTest/mem32kb_singleByte-32Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb_singleByte-32Filler.json"], + ["state_tests/stMemoryTest/mem32kb_singleByte-32Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_single_byte_minus_32( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_single_byte_minus_32.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem32kb_single_byte_minus_32( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 31967 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x7CDF, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x7CDF, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3efc5cdd351cc21217fa684a05526f34b6d79729"), # noqa: E501 + address=Address(0x3EFC5CDD351CC21217FA684A05526F34B6D79729), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 31968}), + target: Account(storage={0: 31968}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_33.py b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_33.py index 70a254ff69c..50d006c3125 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_33.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_minus_33.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_single_byte_minus_33. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb_singleByte-33Filler.json +state_tests/stMemoryTest/mem32kb_singleByte-33Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb_singleByte-33Filler.json"], + ["state_tests/stMemoryTest/mem32kb_singleByte-33Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_single_byte_minus_33( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_single_byte_minus_33.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem32kb_single_byte_minus_33( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 31966 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x7CDE, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x7CDE, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6d7e35221d9d5f6e4a2b09ed59e10f64ca3c2257"), # noqa: E501 + address=Address(0x6D7E35221D9D5F6E4A2B09ED59E10F64CA3C2257), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 31968}), + target: Account(storage={0: 31968}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_1.py b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_1.py index 73a8021dbd2..0649d3951a1 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_1.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_single_byte_plus_1. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb_singleByte+1Filler.json +state_tests/stMemoryTest/mem32kb_singleByte+1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb_singleByte+1Filler.json"], + ["state_tests/stMemoryTest/mem32kb_singleByte+1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_single_byte_plus_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_single_byte_plus_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem32kb_single_byte_plus_1( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 32000 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x7D00, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x7D00, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa6d38bb472a2b1a04cbcbd484ee16edc3f4062de"), # noqa: E501 + address=Address(0xA6D38BB472A2B1A04CBCBD484EE16EDC3F4062DE), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32032}), + target: Account(storage={0: 32032}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_31.py b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_31.py index 0a4b52aa58e..605c285179c 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_31.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_31.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_single_byte_plus_31. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb_singleByte+31Filler.json +state_tests/stMemoryTest/mem32kb_singleByte+31Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb_singleByte+31Filler.json"], + ["state_tests/stMemoryTest/mem32kb_singleByte+31Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_single_byte_plus_31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_single_byte_plus_31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem32kb_single_byte_plus_31( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 32030 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x7D1E, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x7D1E, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x924a0400505752c6dac9f040c259a232d60e5bb4"), # noqa: E501 + address=Address(0x924A0400505752C6DAC9F040C259A232D60E5BB4), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32032}), + target: Account(storage={0: 32032}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_32.py b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_32.py index 7229f833b0c..e4bf57c7438 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_32.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_32.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_single_byte_plus_32. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb_singleByte+32Filler.json +state_tests/stMemoryTest/mem32kb_singleByte+32Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb_singleByte+32Filler.json"], + ["state_tests/stMemoryTest/mem32kb_singleByte+32Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_single_byte_plus_32( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_single_byte_plus_32.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem32kb_single_byte_plus_32( gas_limit=42949672960, ) - pre[sender] = Account(balance=0x6400000000) - # Source: LLL + # Source: lll # { (MSTORE8 32031 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x7D1F, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x7D1F, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc7da3537800028df78d2869d4db3100e84387ed4"), # noqa: E501 + address=Address(0xC7DA3537800028DF78D2869D4DB3100E84387ED4), # noqa: E501 ) + pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32032}), + target: Account(storage={0: 32032}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_33.py b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_33.py index f83975fcde4..ab196e3db2a 100644 --- a/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_33.py +++ b/tests/ported_static/stMemoryTest/test_mem32kb_single_byte_plus_33.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem32kb_single_byte_plus_33. Ported from: -tests/static/state_tests/stMemoryTest/mem32kb_singleByte+33Filler.json +state_tests/stMemoryTest/mem32kb_singleByte+33Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem32kb_singleByte+33Filler.json"], + ["state_tests/stMemoryTest/mem32kb_singleByte+33Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem32kb_single_byte_plus_33( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem32kb_single_byte_plus_33.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem32kb_single_byte_plus_33( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 32032 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x7D20, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x7D20, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8c60eae101b125f477522d98de262b98ac2786f9"), # noqa: E501 + address=Address(0x8C60EAE101B125F477522D98DE262B98AC2786F9), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 32064}), + target: Account(storage={0: 32064}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem33b_single_byte.py b/tests/ported_static/stMemoryTest/test_mem33b_single_byte.py index e9ae956c016..09525b3a82f 100644 --- a/tests/ported_static/stMemoryTest/test_mem33b_single_byte.py +++ b/tests/ported_static/stMemoryTest/test_mem33b_single_byte.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem33b_single_byte. Ported from: -tests/static/state_tests/stMemoryTest/mem33b_singleByteFiller.json +state_tests/stMemoryTest/mem33b_singleByteFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem33b_singleByteFiller.json"], + ["state_tests/stMemoryTest/mem33b_singleByteFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem33b_single_byte( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem33b_single_byte.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem33b_single_byte( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 32 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x20, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x20, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3f4d3abb658b6063faae1d1515cff8a434104677"), # noqa: E501 + address=Address(0x3F4D3ABB658B6063FAAE1D1515CFF8A434104677), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64}), + target: Account(storage={0: 64}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb.py b/tests/ported_static/stMemoryTest/test_mem64kb.py index 8b30897acac..c89e8c120c9 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb. Ported from: -tests/static/state_tests/stMemoryTest/mem64kbFiller.json +state_tests/stMemoryTest/mem64kbFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kbFiller.json"], + ["state_tests/stMemoryTest/mem64kbFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem64kb( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 63968 42) [[ 1 ]] (MLOAD 63968) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0xF9E0, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9E0)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xF9E0, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9E0)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x723656b1f4a75e4c7e382335e836d393d8a9e8cf"), # noqa: E501 + address=Address(0x723656B1F4A75E4C7E382335E836D393D8A9E8CF), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64000, 1: 42}), + target: Account(storage={0: 64000, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_minus_1.py b/tests/ported_static/stMemoryTest/test_mem64kb_minus_1.py index 53037b75169..f9880640c9d 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_minus_1.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_minus_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_minus_1. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb-1Filler.json +state_tests/stMemoryTest/mem64kb-1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb-1Filler.json"], + ["state_tests/stMemoryTest/mem64kb-1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_minus_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_minus_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem64kb_minus_1( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 63967 42) [[ 1 ]] (MLOAD 63967) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0xF9DF, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9DF)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xF9DF, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9DF)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1aadc0c1dbda9e85f5829fdca5fda372982164b0"), # noqa: E501 + address=Address(0x1AADC0C1DBDA9E85F5829FDCA5FDA372982164B0), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64000, 1: 42}), + target: Account(storage={0: 64000, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_minus_31.py b/tests/ported_static/stMemoryTest/test_mem64kb_minus_31.py index 806de66127b..b302ef9fa93 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_minus_31.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_minus_31.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_minus_31. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb-31Filler.json +state_tests/stMemoryTest/mem64kb-31Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb-31Filler.json"], + ["state_tests/stMemoryTest/mem64kb-31Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_minus_31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_minus_31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem64kb_minus_31( gas_limit=42949672960, ) - pre[sender] = Account(balance=0x6400000000) - # Source: LLL + # Source: lll # { (MSTORE 63937 42) [[ 1 ]] (MLOAD 63937) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0xF9C1, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9C1)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xF9C1, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9C1)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc500d8b6a0ac6a677dbb818b03d5d596da40c315"), # noqa: E501 + address=Address(0xC500D8B6A0AC6A677DBB818B03D5D596DA40C315), # noqa: E501 ) + pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64000, 1: 42}), + target: Account(storage={0: 64000, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_minus_32.py b/tests/ported_static/stMemoryTest/test_mem64kb_minus_32.py index 6279e89953c..a7417aa3e97 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_minus_32.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_minus_32.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_minus_32. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb-32Filler.json +state_tests/stMemoryTest/mem64kb-32Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb-32Filler.json"], + ["state_tests/stMemoryTest/mem64kb-32Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_minus_32( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_minus_32.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem64kb_minus_32( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 63936 42) [[ 1 ]] (MLOAD 63936) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0xF9C0, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9C0)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xF9C0, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9C0)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x243cb187ea7a138cc5a6344c376d789c066a89c8"), # noqa: E501 + address=Address(0x243CB187EA7A138CC5A6344C376D789C066A89C8), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 63968, 1: 42}), + target: Account(storage={0: 63968, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_minus_33.py b/tests/ported_static/stMemoryTest/test_mem64kb_minus_33.py index 2dce9fc7d6e..59589fd43c3 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_minus_33.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_minus_33.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_minus_33. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb-33Filler.json +state_tests/stMemoryTest/mem64kb-33Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb-33Filler.json"], + ["state_tests/stMemoryTest/mem64kb-33Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_minus_33( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_minus_33.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem64kb_minus_33( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 63935 42) [[ 1 ]] (MLOAD 63935) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0xF9BF, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9BF)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xF9BF, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9BF)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3d7b73d4373952117fd84e96937007f34f914dad"), # noqa: E501 + address=Address(0x3D7B73D4373952117FD84E96937007F34F914DAD), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 63968, 1: 42}), + target: Account(storage={0: 63968, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_plus_1.py b/tests/ported_static/stMemoryTest/test_mem64kb_plus_1.py index 8332c78c63a..d2d317a222f 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_plus_1.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_plus_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_plus_1. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb+1Filler.json +state_tests/stMemoryTest/mem64kb+1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb+1Filler.json"], + ["state_tests/stMemoryTest/mem64kb+1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_plus_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_plus_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem64kb_plus_1( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 63969 42) [[ 1 ]] (MLOAD 63969) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0xF9E1, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9E1)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xF9E1, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9E1)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x079111606e69dd3101ac45527bcde41fb2c251e2"), # noqa: E501 + address=Address(0x079111606E69DD3101AC45527BCDE41FB2C251E2), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64032, 1: 42}), + target: Account(storage={0: 64032, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_plus_31.py b/tests/ported_static/stMemoryTest/test_mem64kb_plus_31.py index b017c606bb7..7a71faaf8f8 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_plus_31.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_plus_31.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_plus_31. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb+31Filler.json +state_tests/stMemoryTest/mem64kb+31Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb+31Filler.json"], + ["state_tests/stMemoryTest/mem64kb+31Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_plus_31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_plus_31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem64kb_plus_31( gas_limit=42949672960, ) - pre[sender] = Account(balance=0x6400000000) - # Source: LLL + # Source: lll # { (MSTORE 63999 42) [[ 1 ]] (MLOAD 63999) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0xF9FF, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9FF)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xF9FF, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xF9FF)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf3c68586ee37cb1c2d59da9ba004dbeef51f5ca6"), # noqa: E501 + address=Address(0xF3C68586EE37CB1C2D59DA9BA004DBEEF51F5CA6), # noqa: E501 ) + pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64032, 1: 42}), + target: Account(storage={0: 64032, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_plus_32.py b/tests/ported_static/stMemoryTest/test_mem64kb_plus_32.py index 9d033407fc0..c3e690395d8 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_plus_32.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_plus_32.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_plus_32. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb+32Filler.json +state_tests/stMemoryTest/mem64kb+32Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb+32Filler.json"], + ["state_tests/stMemoryTest/mem64kb+32Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_plus_32( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_plus_32.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem64kb_plus_32( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 64000 42) [[ 1 ]] (MLOAD 64000) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0xFA00, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xFA00)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xFA00, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xFA00)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x72a9ffc9e1ea4e32148240ccb6816ec75795c3e2"), # noqa: E501 + address=Address(0x72A9FFC9E1EA4E32148240CCB6816EC75795C3E2), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64032, 1: 42}), + target: Account(storage={0: 64032, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_plus_33.py b/tests/ported_static/stMemoryTest/test_mem64kb_plus_33.py index 1664f363e54..1c63e52731b 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_plus_33.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_plus_33.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_plus_33. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb+33Filler.json +state_tests/stMemoryTest/mem64kb+33Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb+33Filler.json"], + ["state_tests/stMemoryTest/mem64kb+33Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_plus_33( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_plus_33.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,30 +46,30 @@ def test_mem64kb_plus_33( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE 64001 42) [[ 1 ]] (MLOAD 64001) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0xFA01, value=0x2A) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xFA01)) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xFA01, value=0x2A) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xFA01)) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6dff7c00a64065ef56eb10f2e51ea77eafc75ba3"), # noqa: E501 + address=Address(0x6DFF7C00A64065EF56EB10F2E51EA77EAFC75BA3), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64064, 1: 42}), + target: Account(storage={0: 64064, 1: 42}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte.py b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte.py index fa212e550ea..73c1ee4d9ad 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_single_byte. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb_singleByteFiller.json +state_tests/stMemoryTest/mem64kb_singleByteFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb_singleByteFiller.json"], + ["state_tests/stMemoryTest/mem64kb_singleByteFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_single_byte( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_single_byte.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem64kb_single_byte( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 63999 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0xF9FF, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xF9FF, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6c0cf9e7fba0563117dbf01f9126777d60bc54b4"), # noqa: E501 + address=Address(0x6C0CF9E7FBA0563117DBF01F9126777D60BC54B4), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64000}), + target: Account(storage={0: 64000}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_1.py b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_1.py index fde4d639a46..b18bd0e5826 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_1.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_single_byte_minus_1. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb_singleByte-1Filler.json +state_tests/stMemoryTest/mem64kb_singleByte-1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb_singleByte-1Filler.json"], + ["state_tests/stMemoryTest/mem64kb_singleByte-1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_single_byte_minus_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_single_byte_minus_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem64kb_single_byte_minus_1( gas_limit=42949672960, ) - pre[sender] = Account(balance=0x6400000000) - # Source: LLL + # Source: lll # { (MSTORE8 63998 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0xF9FE, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xF9FE, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe6e541eed2e0e281fcd02d4130c5fbeb077e1147"), # noqa: E501 + address=Address(0xE6E541EED2E0E281FCD02D4130C5FBEB077E1147), # noqa: E501 ) + pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64000}), + target: Account(storage={0: 64000}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_31.py b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_31.py index 5af3366609d..8ea3ed36850 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_31.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_31.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_single_byte_minus_31. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb_singleByte-31Filler.json +state_tests/stMemoryTest/mem64kb_singleByte-31Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb_singleByte-31Filler.json"], + ["state_tests/stMemoryTest/mem64kb_singleByte-31Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_single_byte_minus_31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_single_byte_minus_31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem64kb_single_byte_minus_31( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 63968 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0xF9E0, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xF9E0, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4926e43cce3c8681c244e6e6768d3e74995a5faf"), # noqa: E501 + address=Address(0x4926E43CCE3C8681C244E6E6768D3E74995A5FAF), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64000}), + target: Account(storage={0: 64000}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_32.py b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_32.py index 6295867638f..d97e0c82175 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_32.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_32.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_single_byte_minus_32. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb_singleByte-32Filler.json +state_tests/stMemoryTest/mem64kb_singleByte-32Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb_singleByte-32Filler.json"], + ["state_tests/stMemoryTest/mem64kb_singleByte-32Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_single_byte_minus_32( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_single_byte_minus_32.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem64kb_single_byte_minus_32( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 63967 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0xF9DF, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xF9DF, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x901876228e9ba4f968788b6e9eba80e7ec7d91f9"), # noqa: E501 + address=Address(0x901876228E9BA4F968788B6E9EBA80E7EC7D91F9), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 63968}), + target: Account(storage={0: 63968}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_33.py b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_33.py index dad3c1e8dbb..9acd0ff2274 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_33.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_minus_33.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_single_byte_minus_33. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb_singleByte-33Filler.json +state_tests/stMemoryTest/mem64kb_singleByte-33Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb_singleByte-33Filler.json"], + ["state_tests/stMemoryTest/mem64kb_singleByte-33Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_single_byte_minus_33( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_single_byte_minus_33.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem64kb_single_byte_minus_33( gas_limit=42949672960, ) - pre[sender] = Account(balance=0x6400000000) - # Source: LLL + # Source: lll # { (MSTORE8 63966 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0xF9DE, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xF9DE, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfb3508c998cc4f73516f89af816422663ee3c87a"), # noqa: E501 + address=Address(0xFB3508C998CC4F73516F89AF816422663EE3C87A), # noqa: E501 ) + pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 63968}), + target: Account(storage={0: 63968}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_1.py b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_1.py index 3c6dcd8f6f3..d83c54ab8e4 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_1.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_single_byte_plus_1. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb_singleByte+1Filler.json +state_tests/stMemoryTest/mem64kb_singleByte+1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb_singleByte+1Filler.json"], + ["state_tests/stMemoryTest/mem64kb_singleByte+1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_single_byte_plus_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_single_byte_plus_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem64kb_single_byte_plus_1( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 64000 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0xFA00, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xFA00, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9c7b05f885f77026b10380ea29d2214b1a0daddb"), # noqa: E501 + address=Address(0x9C7B05F885F77026B10380EA29D2214B1A0DADDB), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64032}), + target: Account(storage={0: 64032}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_31.py b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_31.py index e7feaa3bae5..bd6b0b75629 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_31.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_31.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_single_byte_plus_31. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb_singleByte+31Filler.json +state_tests/stMemoryTest/mem64kb_singleByte+31Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb_singleByte+31Filler.json"], + ["state_tests/stMemoryTest/mem64kb_singleByte+31Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_single_byte_plus_31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_single_byte_plus_31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem64kb_single_byte_plus_31( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 64030 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0xFA1E, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xFA1E, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xae623ecfafd38d21b0994049c19f434543c942c7"), # noqa: E501 + address=Address(0xAE623ECFAFD38D21B0994049C19F434543C942C7), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64032}), + target: Account(storage={0: 64032}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_32.py b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_32.py index 7e8a8600f09..460afe8beb5 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_32.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_32.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_single_byte_plus_32. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb_singleByte+32Filler.json +state_tests/stMemoryTest/mem64kb_singleByte+32Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb_singleByte+32Filler.json"], + ["state_tests/stMemoryTest/mem64kb_singleByte+32Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_single_byte_plus_32( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_single_byte_plus_32.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem64kb_single_byte_plus_32( gas_limit=42949672960, ) - pre[sender] = Account(balance=0x6400000000) - # Source: LLL + # Source: lll # { (MSTORE8 64031 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0xFA1F, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xFA1F, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xdb97d5421507f0363f22c3e3f307d51d0d6d0db0"), # noqa: E501 + address=Address(0xDB97D5421507F0363F22C3E3F307D51D0D6D0DB0), # noqa: E501 ) + pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64032}), + target: Account(storage={0: 64032}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_33.py b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_33.py index da91a0894d8..f882f465dc2 100644 --- a/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_33.py +++ b/tests/ported_static/stMemoryTest/test_mem64kb_single_byte_plus_33.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem64kb_single_byte_plus_33. Ported from: -tests/static/state_tests/stMemoryTest/mem64kb_singleByte+33Filler.json +state_tests/stMemoryTest/mem64kb_singleByte+33Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mem64kb_singleByte+33Filler.json"], + ["state_tests/stMemoryTest/mem64kb_singleByte+33Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem64kb_single_byte_plus_33( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem64kb_single_byte_plus_33.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,29 +46,29 @@ def test_mem64kb_single_byte_plus_33( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (MSTORE8 64032 42) [[ 0 ]] (MSIZE) } - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0xFA20, value=0x2A) - + Op.SSTORE(key=0x0, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xFA20, value=0x2A) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa251d3c4b8e301cc8690335bfb85c771220191c6"), # noqa: E501 + address=Address(0xA251D3C4B8E301CC8690335BFB85C771220191C6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) post = { - contract: Account(storage={0: 64064}), + target: Account(storage={0: 64064}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mem_copy_self.py b/tests/ported_static/stMemoryTest/test_mem_copy_self.py index c32b3bf9989..1f8656c59e0 100644 --- a/tests/ported_static/stMemoryTest/test_mem_copy_self.py +++ b/tests/ported_static/stMemoryTest/test_mem_copy_self.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stMemoryTest/memCopySelfFiller.yml +state_tests/stMemoryTest/memCopySelfFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/memCopySelfFiller.yml"], + ["state_tests/stMemoryTest/memCopySelfFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mem_copy_self( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 ) @@ -45,8 +46,8 @@ def test_mem_copy_self( gas_limit=100000000, ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: Yul + # Source: yul + # berlin # { # let idPrecomp := 0x04 # @@ -71,50 +72,51 @@ def test_mem_copy_self( # returndatacopy(0x20, 0, 10) # sstore(2, mload(0x20)) # } - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x4] - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x30, condition=Op.LT(Op.DUP2, 0xF)) - + Op.PUSH1[0xA] - + Op.PUSH1[0x2] - + Op.DUP2 - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP7 - + Op.SSTORE(key=Op.DUP3, value=Op.MLOAD(offset=Op.DUP2)) - + Op.GAS - + Op.POP(Op.CALL) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.RETURNDATACOPY(dest_offset=0x20, offset=0x0, size=0xA) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x20)) - + Op.STOP - + Op.JUMPDEST - + Op.DUP1 - + Op.PUSH1[0x11] - + Op.PUSH1[0x1] - + Op.DUP1 - + Op.SWAP4 - + Op.ADD - + Op.MSTORE8(offset=Op.DUP2, value=Op.MUL) - + Op.ADD - + Op.JUMP(pc=0x4) - ), - storage={0x0: 0x60A7}, + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x4] + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x30, condition=Op.LT(Op.DUP2, 0xF)) + + Op.PUSH1[0xA] + + Op.PUSH1[0x2] + + Op.DUP2 + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.DUP7 + + Op.SSTORE(key=Op.DUP3, value=Op.MLOAD(offset=Op.DUP2)) + + Op.GAS + + Op.POP(Op.CALL) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.RETURNDATACOPY(dest_offset=0x20, offset=0x0, size=0xA) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x20)) + + Op.STOP + + Op.JUMPDEST + + Op.DUP1 + + Op.PUSH1[0x11] + + Op.PUSH1[0x1] + + Op.DUP1 + + Op.SWAP4 + + Op.ADD + + Op.MSTORE8(offset=Op.DUP2, value=Op.MUL) + + Op.ADD + + Op.JUMP(pc=0x4), + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, - address=Address("0xb595300ac049b84c5277c7ca68a96d74ae377b85"), # noqa: E501 + nonce=1, + address=Address(0xB595300AC049B84C5277C7CA68A96D74AE377B85), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=16777216, nonce=1, ) post = { - contract: Account( + target: Account( storage={ 0: 0x112233445566778899AABBCCDDEEFF0000000000000000000000000000000000, # noqa: E501 1: 0x1122112233445566778899AADDEEFF0000000000000000000000000000000000, # noqa: E501 diff --git a/tests/ported_static/stMemoryTest/test_mem_return.py b/tests/ported_static/stMemoryTest/test_mem_return.py index f1f84ca9dfe..2230c7b0776 100644 --- a/tests/ported_static/stMemoryTest/test_mem_return.py +++ b/tests/ported_static/stMemoryTest/test_mem_return.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mem_return. Ported from: -tests/static/state_tests/stMemoryTest/memReturnFiller.json +state_tests/stMemoryTest/memReturnFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/memReturnFiller.json"], + ["state_tests/stMemoryTest/memReturnFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_mem_return( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mem_return.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -46,87 +46,31 @@ def test_mem_return( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (CALLDATACOPY 0 0 (CALLDATASIZE)) (RETURN 0 (MSIZE)) } - contract = pre.deploy_contract( - code=( - Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) - + Op.RETURN(offset=0x0, size=Op.MSIZE) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x80349881d6a01127ffe2a32d172ee0599d94c87e"), # noqa: E501 - ) - pre[sender] = Account(balance=0x6400000000) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "ff55883355001144bbccddffeeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # noqa: E501 - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # noqa: E501 - "aaaaaaaaaaaaaaaa" - ), - gas_limit=100000, - value=10, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/memReturnFiller.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_mem_return_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=42949672960, - ) - - # Source: LLL - # { (CALLDATACOPY 0 0 (CALLDATASIZE)) (RETURN 0 (MSIZE)) } - contract = pre.deploy_contract( - code=( - Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) - + Op.RETURN(offset=0x0, size=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) + + Op.RETURN(offset=0x0, size=Op.MSIZE) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x80349881d6a01127ffe2a32d172ee0599d94c87e"), # noqa: E501 + address=Address(0x80349881D6A01127FFE2A32D172EE0599D94C87E), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "ff55883355001144bbccddffeeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # noqa: E501 - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # noqa: E501 - "aaaaaaaaaaaaaaaa" + to=target, + data=Bytes( + "ff55883355001144bbccddffeeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # noqa: E501 ), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mload16bit_bound.py b/tests/ported_static/stMemoryTest/test_mload16bit_bound.py index a4045a8a551..65e59615f5a 100644 --- a/tests/ported_static/stMemoryTest/test_mload16bit_bound.py +++ b/tests/ported_static/stMemoryTest/test_mload16bit_bound.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload16bit_bound. Ported from: -tests/static/state_tests/stMemoryTest/mload16bitBoundFiller.json +state_tests/stMemoryTest/mload16bitBoundFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mload16bitBoundFiller.json"], + ["state_tests/stMemoryTest/mload16bitBoundFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mload16bit_bound( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload16bit_bound.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA9DF11BD92FC8535FFCA3AE0A2133C80D5F4ECC5D31D100B94FF03E63F7E74FF ) @@ -45,23 +46,27 @@ def test_mload16bit_bound( gas_limit=17592320524892, ) - pre[sender] = Account(balance=0xA00050281798) - # Source: LLL + # Source: lll # { [[ 1 ]] (MLOAD 65536) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x10000)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x85eaa01ac6288c06360d431d62cd865c92b74a28"), # noqa: E501 + address=Address(0x85EAA01AC6288C06360D431D62CD865C92B74A28), # noqa: E501 ) + pre[sender] = Account(balance=0xA00050281798) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mload8bit_bound.py b/tests/ported_static/stMemoryTest/test_mload8bit_bound.py index 988362ee4ff..24054d9d614 100644 --- a/tests/ported_static/stMemoryTest/test_mload8bit_bound.py +++ b/tests/ported_static/stMemoryTest/test_mload8bit_bound.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload8bit_bound. Ported from: -tests/static/state_tests/stMemoryTest/mload8bitBoundFiller.json +state_tests/stMemoryTest/mload8bitBoundFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mload8bitBoundFiller.json"], + ["state_tests/stMemoryTest/mload8bitBoundFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mload8bit_bound( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload8bit_bound.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,23 +46,27 @@ def test_mload8bit_bound( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { [[ 1 ]] (MLOAD 256) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x100)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xadea3cdf2c1f0efd3db876810aa68cbcd58d7693"), # noqa: E501 + address=Address(0xADEA3CDF2C1F0EFD3DB876810AA68CBCD58D7693), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=220000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mload_dejavu.py b/tests/ported_static/stMemoryTest/test_mload_dejavu.py index 9caa66e5711..bfd2ef385bc 100644 --- a/tests/ported_static/stMemoryTest/test_mload_dejavu.py +++ b/tests/ported_static/stMemoryTest/test_mload_dejavu.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mload_dejavu. Ported from: -tests/static/state_tests/stMemoryTest/mload_dejavuFiller.json +state_tests/stMemoryTest/mload_dejavuFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mload_dejavuFiller.json"], + ["state_tests/stMemoryTest/mload_dejavuFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mload_dejavu( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mload_dejavu.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,22 +46,27 @@ def test_mload_dejavu( gas_limit=52949672960, ) - pre[sender] = Account(balance=0x271000000000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x630FFFFFFF51 + target = pre.deploy_contract( # noqa: F841 code=Op.MLOAD(offset=0xFFFFFFF), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xea3899b6a7db8734111af8b25f6d873e1d14870d"), # noqa: E501 + address=Address(0xEA3899B6A7DB8734111AF8B25F6D873E1D14870D), # noqa: E501 ) + pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mstore_dejavu.py b/tests/ported_static/stMemoryTest/test_mstore_dejavu.py index 8c2469d1f54..63430d68a1d 100644 --- a/tests/ported_static/stMemoryTest/test_mstore_dejavu.py +++ b/tests/ported_static/stMemoryTest/test_mstore_dejavu.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mstore_dejavu. Ported from: -tests/static/state_tests/stMemoryTest/mstore_dejavuFiller.json +state_tests/stMemoryTest/mstore_dejavuFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mstore_dejavuFiller.json"], + ["state_tests/stMemoryTest/mstore_dejavuFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mstore_dejavu( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mstore_dejavu.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,22 +46,27 @@ def test_mstore_dejavu( gas_limit=52949672960, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x60F1630FFFFFFF52 + target = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0xFFFFFFF, value=0xF1), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x31fe53a538f8d289fa848c04edc3664468340362"), # noqa: E501 + address=Address(0x31FE53A538F8D289FA848C04EDC3664468340362), # noqa: E501 ) pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_mstroe8_dejavu.py b/tests/ported_static/stMemoryTest/test_mstroe8_dejavu.py index 24dd0aee53c..45645a89e6a 100644 --- a/tests/ported_static/stMemoryTest/test_mstroe8_dejavu.py +++ b/tests/ported_static/stMemoryTest/test_mstroe8_dejavu.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_mstroe8_dejavu. Ported from: -tests/static/state_tests/stMemoryTest/mstroe8_dejavuFiller.json +state_tests/stMemoryTest/mstroe8_dejavuFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/mstroe8_dejavuFiller.json"], + ["state_tests/stMemoryTest/mstroe8_dejavuFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_mstroe8_dejavu( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_mstroe8_dejavu.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,22 +46,27 @@ def test_mstroe8_dejavu( gas_limit=52949672960, ) - pre[sender] = Account(balance=0x271000000000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x60F1630FFFFFFF53 + target = pre.deploy_contract( # noqa: F841 code=Op.MSTORE8(offset=0xFFFFFFF, value=0xF1), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xabf77e5b1365493306a9a197d08677715b84ca69"), # noqa: E501 + address=Address(0xABF77E5B1365493306A9A197D08677715B84CA69), # noqa: E501 ) + pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_oog.py b/tests/ported_static/stMemoryTest/test_oog.py index 23ec9424937..47be00cab5c 100644 --- a/tests/ported_static/stMemoryTest/test_oog.py +++ b/tests/ported_static/stMemoryTest/test_oog.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stMemoryTest/oogFiller.yml +state_tests/stMemoryTest/oogFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,319 +28,300 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/oogFiller.yml"], + ["state_tests/stMemoryTest/oogFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000039d0", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a100000000000000000000000000000000000000000000000000000000000039d0", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000039d0", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a300000000000000000000000000000000000000000000000000000000000039d0", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000039d0", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000007d00", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000007d00", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000036b0", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f100000000000000000000000000000000000000000000000000000000000002bc", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f200000000000000000000000000000000000000000000000000000000000002bc", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000002bc", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000002bc", # noqa: E501 - {}, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000037000000000000000000000000000000000000000000000000000000000000032a", # noqa: E501 - {}, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000000000000000032a", # noqa: E501 - {}, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000002bc", # noqa: E501 - {}, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000007d0", # noqa: E501 - {}, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000c01", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000510000000000000000000000000000000000000000000000000000000000000190", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000190", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000530000000000000000000000000000000000000000000000000000000000000190", # noqa: E501 - {}, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004ba", # noqa: E501 - {}, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a1000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a2000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a3000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000a4000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f3000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000037000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000c02", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000051000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000052000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="success", + ), + pytest.param( + 1, + 0, + 0, + id="failure", + ), + pytest.param( + 2, + 0, + 0, + id="success", + ), + pytest.param( + 3, + 0, + 0, + id="failure", + ), + pytest.param( + 4, + 0, + 0, + id="success", + ), + pytest.param( + 5, + 0, + 0, + id="failure", + ), + pytest.param( + 6, + 0, + 0, + id="success", + ), + pytest.param( + 7, + 0, + 0, + id="failure", + ), + pytest.param( + 8, + 0, + 0, + id="success", + ), + pytest.param( + 9, + 0, + 0, + id="success", + ), + pytest.param( + 10, + 0, + 0, + id="failure", + ), + pytest.param( + 11, + 0, + 0, + id="failure", + ), + pytest.param( + 12, + 0, + 0, + id="success", + ), + pytest.param( + 13, + 0, + 0, + id="failure", + ), + pytest.param( + 14, + 0, + 0, + id="success", + ), + pytest.param( + 15, + 0, + 0, + id="failure", + ), + pytest.param( + 16, + 0, + 0, + id="success", + ), + pytest.param( + 17, + 0, + 0, + id="failure", + ), + pytest.param( + 18, + 0, + 0, + id="success", + ), + pytest.param( + 19, + 0, + 0, + id="failure", + ), + pytest.param( + 20, + 0, + 0, + id="success", + ), + pytest.param( + 21, + 0, + 0, + id="failure", + ), + pytest.param( + 22, + 0, + 0, + id="success", + ), + pytest.param( + 23, + 0, + 0, + id="failure", + ), + pytest.param( + 24, + 0, + 0, + id="success", + ), + pytest.param( + 25, + 0, + 0, + id="failure", + ), + pytest.param( + 26, + 0, + 0, + id="success", + ), + pytest.param( + 27, + 0, + 0, + id="failure", + ), + pytest.param( + 28, + 0, + 0, + id="success", + ), + pytest.param( + 29, + 0, + 0, + id="failure", + ), + pytest.param( + 30, + 0, + 0, + id="success", + ), + pytest.param( + 31, + 0, + 0, + id="failure", + ), + pytest.param( + 32, + 0, + 0, + id="success", + ), + pytest.param( + 33, + 0, + 0, + id="failure", + ), + pytest.param( + 34, + 0, + 0, + id="success", + ), + pytest.param( + 35, + 0, + 0, + id="failure", + ), + pytest.param( + 36, + 0, + 0, + id="success", + ), + pytest.param( + 37, + 0, + 0, + id="failure", + ), + pytest.param( + 38, + 0, + 0, + id="success", + ), + pytest.param( + 39, + 0, + 0, + id="failure", + ), + pytest.param( + 40, + 0, + 0, + id="success", + ), + pytest.param( + 41, + 0, + 0, + id="failure", ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000053000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000ffff", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", ], ) @pytest.mark.pre_alloc_mutable def test_oog( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000010020) + contract_1 = Address(0x0000000000000000000000000000000000010037) + contract_2 = Address(0x0000000000000000000000000000000000010039) + contract_3 = Address(0x000000000000000000000000000000000001003C) + contract_4 = Address(0x000000000000000000000000000000000001003E) + contract_5 = Address(0x000000000000000000000000000000000001113E) + contract_6 = Address(0x0000000000000000000000000000000000010051) + contract_7 = Address(0x0000000000000000000000000000000000010052) + contract_8 = Address(0x0000000000000000000000000000000000010053) + contract_9 = Address(0x00000000000000000000000000000000000100A0) + contract_10 = Address(0x00000000000000000000000000000000000100A1) + contract_11 = Address(0x00000000000000000000000000000000000100A2) + contract_12 = Address(0x00000000000000000000000000000000000100A3) + contract_13 = Address(0x00000000000000000000000000000000000100A4) + contract_14 = Address(0x00000000000000000000000000000000000100F0) + contract_15 = Address(0x00000000000000000000000000000000000100F5) + contract_16 = Address(0x00000000000000000000000000000000000100F3) + contract_17 = Address(0x00000000000000000000000000000000000100F1) + contract_18 = Address(0x00000000000000000000000000000000000100F2) + contract_19 = Address(0x00000000000000000000000000000000000100F4) + contract_20 = Address(0x00000000000000000000000000000000000100FA) + contract_21 = Address(0x00000000000000000000000000000000000111F1) + contract_22 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -348,290 +335,324 @@ def test_oog( gas_limit=100000000, ) - pre.deploy_contract( + # Source: yul + # berlin + # { + # // Instead of keccak256, which seems to be optimized into + # // not happening + # pop(verbatim_2i_1o(hex"20", 0, 0x1000)) + # } + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SHA3(offset=0x0, size=0x1000) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000010020"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000010020), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLDATACOPY(dest_offset=Op.DUP1, offset=0x0, size=0x1000) - + Op.STOP - ), + # Source: yul + # berlin + # { + # calldatacopy(0,0,0x1000) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATACOPY(dest_offset=Op.DUP1, offset=0x0, size=0x1000) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000010037"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000010037), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # codecopy(0,0,0x1000) # } - pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=Op.DUP1, offset=0x0, size=0x1000) + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY(dest_offset=Op.DUP1, offset=0x0, size=0x1000) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000010039"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000010039), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # extcodecopy(address(),0,0,0x1000) # } - pre.deploy_contract( - code=( - Op.EXTCODECOPY( - address=Op.ADDRESS, - dest_offset=Op.DUP1, - offset=0x0, - size=0x1000, - ) - + Op.STOP - ), + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.EXTCODECOPY( + address=Op.ADDRESS, dest_offset=Op.DUP1, offset=0x0, size=0x1000 + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x000000000000000000000000000000000001003c"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000001003C), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # // Make sure there is return data to be copied # pop(call(gas(), 0x1113e, 0, 0, 0x20, 0, 0x20)) # # returndatacopy(0x1000,0,0x10) # } - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x1113E, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=Op.DUP2, - ret_offset=0x0, - ret_size=0x20, - ), + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x1113E, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=Op.DUP2, + ret_offset=0x0, + ret_size=0x20, ) - + Op.RETURNDATACOPY(dest_offset=0x1000, offset=0x0, size=0x10) - + Op.STOP - ), + ) + + Op.RETURNDATACOPY(dest_offset=0x1000, offset=0x0, size=0x10) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x000000000000000000000000000000000001003e"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000001003E), # noqa: E501 + ) + # Source: yul + # berlin + # { + # mstore(0, 0x0102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20) # noqa: E501 + # return(0,0x20) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20), + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0x000000000000000000000000000000000001113E), # noqa: E501 ) - pre.deploy_contract( + # Source: yul + # berlin + # { + # pop(verbatim_1i_1o(hex"51", 0x1000)) + # } + contract_6 = pre.deploy_contract( # noqa: F841 code=Op.MLOAD(offset=0x1000) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000010051"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000010051), # noqa: E501 ) - pre.deploy_contract( + # Source: yul + # berlin + # { + # mstore(0x1000, 0xFF) + # } + contract_7 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x1000, value=0xFF) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000010052"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000010052), # noqa: E501 ) - pre.deploy_contract( + # Source: yul + # berlin + # { + # mstore8(0x1000, 0xFF) + # } + contract_8 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE8(offset=0x1000, value=0xFF) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0000000000000000000000000000000000010053"), # noqa: E501 + nonce=1, + address=Address(0x0000000000000000000000000000000000010053), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # log0(0x10000, 0x20) # } - pre.deploy_contract( + contract_9 = pre.deploy_contract( # noqa: F841 code=Op.LOG0(offset=0x10000, size=0x20) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100a0"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100A0), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # log1(0x10000, 0x20, 0x1) # } - pre.deploy_contract( + contract_10 = pre.deploy_contract( # noqa: F841 code=Op.LOG1(offset=0x10000, size=0x20, topic_1=0x1) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100a1"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100A1), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # log2(0x10000, 0x20, 0x1, 0x2) # } - pre.deploy_contract( - code=( - Op.LOG2(offset=0x10000, size=0x20, topic_1=0x1, topic_2=0x2) - + Op.STOP - ), + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.LOG2(offset=0x10000, size=0x20, topic_1=0x1, topic_2=0x2) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100a2"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100A2), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # log3(0x10000, 0x20, 0x1, 0x2, 0x3) # } - pre.deploy_contract( - code=( - Op.LOG3( - offset=0x10000, - size=0x20, - topic_1=0x1, - topic_2=0x2, - topic_3=0x3, - ) - + Op.STOP - ), + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.LOG3( + offset=0x10000, size=0x20, topic_1=0x1, topic_2=0x2, topic_3=0x3 + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100a3"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100A3), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # log4(0x10000, 0x20, 0x1, 0x2, 0x3, 0x4) # } - pre.deploy_contract( - code=( - Op.LOG4( - offset=0x10000, - size=0x20, - topic_1=0x1, - topic_2=0x2, - topic_3=0x3, - topic_4=0x4, - ) - + Op.STOP - ), + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.LOG4( + offset=0x10000, + size=0x20, + topic_1=0x1, + topic_2=0x2, + topic_3=0x3, + topic_4=0x4, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100a4"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100A4), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # pop(create(0, 0x10000, 0x20)) # } - pre.deploy_contract( + contract_14 = pre.deploy_contract( # noqa: F841 code=Op.CREATE(value=0x0, offset=0x10000, size=0x20) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100f0"), # noqa: E501 - ) - # Source: Yul - # { - # pop(call(gas(), 0x111f1, 0, 0x10000, 0, 0, 0)) - # } - pre.deploy_contract( - code=( - Op.CALL( - gas=Op.GAS, - address=0x111F1, - value=Op.DUP2, - args_offset=0x10000, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100f1"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100F0), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { - # pop(callcode(gas(), 0x111f1, 0, 0x10000, 0, 0, 0)) + # pop(create2(0, 0x10000, 0x20, 0x5a17)) # } - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=Op.GAS, - address=0x111F1, - value=Op.DUP2, - args_offset=0x10000, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - ), + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.CREATE2(value=0x0, offset=0x10000, size=0x20, salt=0x5A17) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100f2"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100F5), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # return(0x10000, 0x20) # } - pre.deploy_contract( + contract_16 = pre.deploy_contract( # noqa: F841 code=Op.RETURN(offset=0x10000, size=0x20), balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100f3"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100F3), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { - # pop(delegatecall(gas(), 0x111f1, 0x10000, 0, 0, 0)) + # pop(call(gas(), 0x111f1, 0, 0x10000, 0, 0, 0)) # } - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=0x111F1, - args_offset=0x10000, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - ), + contract_17 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=0x111F1, + value=Op.DUP2, + args_offset=0x10000, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100f4"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100F1), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { - # pop(create2(0, 0x10000, 0x20, 0x5a17)) + # pop(callcode(gas(), 0x111f1, 0, 0x10000, 0, 0, 0)) # } - pre.deploy_contract( - code=( - Op.CREATE2(value=0x0, offset=0x10000, size=0x20, salt=0x5A17) - + Op.STOP - ), + contract_18 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.GAS, + address=0x111F1, + value=Op.DUP2, + args_offset=0x10000, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100f5"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100F2), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { - # pop(staticcall(gas(), 0x111f1, 0x10000, 0, 0, 0)) + # pop(delegatecall(gas(), 0x111f1, 0x10000, 0, 0, 0)) # } - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=Op.GAS, - address=0x111F1, - args_offset=0x10000, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - ), + contract_19 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=0x111F1, + args_offset=0x10000, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000100fa"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100F4), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { - # mstore(0, 0x0102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20) # noqa: E501 - # return(0,0x20) + # pop(staticcall(gas(), 0x111f1, 0x10000, 0, 0, 0)) # } - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20, # noqa: E501 - ) - + Op.RETURN(offset=0x0, size=0x20) - ), + contract_20 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=Op.GAS, + address=0x111F1, + args_offset=0x10000, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x000000000000000000000000000000000001113e"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000100FA), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # stop() # } - pre.deploy_contract( - code=bytes.fromhex("00"), + contract_21 = pre.deploy_contract( # noqa: F841 + code=Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x00000000000000000000000000000000000111f1"), # noqa: E501 + nonce=1, + address=Address(0x00000000000000000000000000000000000111F1), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: Yul + # Source: yul + # berlin # { # let op := calldataload(0x04) # let gasAmt := calldataload(0x24) @@ -639,36 +660,146 @@ def test_oog( # // Call the function that actually goes OOG (or not) # sstore(0, call(gasAmt, add(0x10000,op), 0, 0, 0, 0, 0)) # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x24), - address=Op.ADD(Op.CALLDATALOAD(offset=0x4), 0x10000), - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.STOP - ), + contract_22 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x24), + address=Op.ADD(Op.CALLDATALOAD(offset=0x4), 0x10000), + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [ + 0, + 2, + 4, + 6, + 8, + 9, + 12, + 14, + 16, + 18, + 20, + 22, + 24, + 26, + 28, + 30, + 32, + 34, + 36, + 38, + 40, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_22: Account(storage={0: 1})}, + }, + { + "indexes": { + "data": [ + 1, + 3, + 5, + 7, + 10, + 11, + 13, + 15, + 17, + 19, + 21, + 23, + 25, + 27, + 29, + 31, + 33, + 35, + 37, + 39, + 41, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_22: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("1a8451e6") + Hash(0x20) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0x20) + Hash(0x4BA), + Bytes("1a8451e6") + Hash(0x37) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0x37) + Hash(0x32A), + Bytes("1a8451e6") + Hash(0x39) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0x39) + Hash(0x32A), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0x3C) + Hash(0x2BC), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0xC02), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0x7D0), + Bytes("1a8451e6") + Hash(0x3E) + Hash(0xC01), + Bytes("1a8451e6") + Hash(0x51) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0x51) + Hash(0x190), + Bytes("1a8451e6") + Hash(0x52) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0x52) + Hash(0x190), + Bytes("1a8451e6") + Hash(0x53) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0x53) + Hash(0x190), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xA0) + Hash(0x39D0), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xA1) + Hash(0x39D0), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xA2) + Hash(0x39D0), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xA3) + Hash(0x39D0), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xA4) + Hash(0x39D0), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x7D00), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x7D00), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xF3) + Hash(0x36B0), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x2BC), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x2BC), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x2BC), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0xFFFF), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x2BC), + ] + tx_gas = [16777216] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, + to=contract_22, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_sha3_dejavu.py b/tests/ported_static/stMemoryTest/test_sha3_dejavu.py index 884e9d4a6f0..31969392158 100644 --- a/tests/ported_static/stMemoryTest/test_sha3_dejavu.py +++ b/tests/ported_static/stMemoryTest/test_sha3_dejavu.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sha3_dejavu. Ported from: -tests/static/state_tests/stMemoryTest/sha3_dejavuFiller.json +state_tests/stMemoryTest/sha3_dejavuFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/sha3_dejavuFiller.json"], + ["state_tests/stMemoryTest/sha3_dejavuFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sha3_dejavu( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sha3_dejavu.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x7DD1D0EC78FE936B0E88F8C21226F51F048579915C7BAFF1C5D7FD84B2139BF1 ) @@ -45,22 +46,27 @@ def test_sha3_dejavu( gas_limit=52949672960, ) - pre[sender] = Account(balance=0x271000000000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x60FF630FFFFFFF20 + target = pre.deploy_contract( # noqa: F841 code=Op.SHA3(offset=0xFFFFFFF, size=0xFF), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa9b85b894d15d75175ce20cc2d6810154894110c"), # noqa: E501 + address=Address(0xA9B85B894D15D75175CE20CC2D6810154894110C), # noqa: E501 ) + pre[sender] = Account(balance=0x271000000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_stack_limit_gas_1023.py b/tests/ported_static/stMemoryTest/test_stack_limit_gas_1023.py index 04c2ce333e3..2c8c21b2e1c 100644 --- a/tests/ported_static/stMemoryTest/test_stack_limit_gas_1023.py +++ b/tests/ported_static/stMemoryTest/test_stack_limit_gas_1023.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_limit_gas_1023. Ported from: -tests/static/state_tests/stMemoryTest/stackLimitGas_1023Filler.json +state_tests/stMemoryTest/stackLimitGas_1023Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/stackLimitGas_1023Filler.json"], + ["state_tests/stMemoryTest/stackLimitGas_1023Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_stack_limit_gas_1023( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_limit_gas_1023.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,31 +46,32 @@ def test_stack_limit_gas_1023( gas_limit=42949672960, ) - pre[sender] = Account(balance=0x6400000000) - # Source: asm + # Source: lll # (asm 1021 0x00 MSTORE JUMPDEST GAS 0x01 0x00 MLOAD SUB 0x00 MSTORE 0x00 MLOAD 0x06 JUMPI STOP ) # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x3FD) - + Op.JUMPDEST - + Op.GAS - + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) - + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x3FD) + + Op.JUMPDEST + + Op.GAS + + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) + + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xee5de953f398cd2615e0067f1071541730357ebf"), # noqa: E501 + address=Address(0xEE5DE953F398CD2615E0067F1071541730357EBF), # noqa: E501 ) + pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_stack_limit_gas_1024.py b/tests/ported_static/stMemoryTest/test_stack_limit_gas_1024.py index ae9ff08542d..78ec7171a20 100644 --- a/tests/ported_static/stMemoryTest/test_stack_limit_gas_1024.py +++ b/tests/ported_static/stMemoryTest/test_stack_limit_gas_1024.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_limit_gas_1024. Ported from: -tests/static/state_tests/stMemoryTest/stackLimitGas_1024Filler.json +state_tests/stMemoryTest/stackLimitGas_1024Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/stackLimitGas_1024Filler.json"], + ["state_tests/stMemoryTest/stackLimitGas_1024Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_stack_limit_gas_1024( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_limit_gas_1024.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,31 +46,38 @@ def test_stack_limit_gas_1024( gas_limit=42949672960, ) - # Source: asm + # Source: lll # (asm 1022 0x00 MSTORE JUMPDEST GAS 0x01 0x00 MLOAD SUB 0x00 MSTORE 0x00 MLOAD 0x06 JUMPI STOP ) # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x3FE) - + Op.JUMPDEST - + Op.GAS - + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) - + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x3FE) + + Op.JUMPDEST + + Op.GAS + + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) + + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb2b4442b80edd3930f9d8a8696794672fbeebfd0"), # noqa: E501 + address=Address(0xB2B4442B80EDD3930F9D8A8696794672FBEEBFD0), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "6103fe6000525b5a6001600051036000526000516006570000" + ), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_stack_limit_gas_1025.py b/tests/ported_static/stMemoryTest/test_stack_limit_gas_1025.py index b669c66ffb5..76007c44876 100644 --- a/tests/ported_static/stMemoryTest/test_stack_limit_gas_1025.py +++ b/tests/ported_static/stMemoryTest/test_stack_limit_gas_1025.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_limit_gas_1025. Ported from: -tests/static/state_tests/stMemoryTest/stackLimitGas_1025Filler.json +state_tests/stMemoryTest/stackLimitGas_1025Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/stackLimitGas_1025Filler.json"], + ["state_tests/stMemoryTest/stackLimitGas_1025Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_stack_limit_gas_1025( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_limit_gas_1025.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,31 +46,38 @@ def test_stack_limit_gas_1025( gas_limit=42949672960, ) - # Source: asm + # Source: lll # (asm 1023 0x00 MSTORE JUMPDEST GAS 0x01 0x00 MLOAD SUB 0x00 MSTORE 0x00 MLOAD 0x06 JUMPI STOP ) # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x3FF) - + Op.JUMPDEST - + Op.GAS - + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) - + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x3FF) + + Op.JUMPDEST + + Op.GAS + + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) + + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6498d2da4fc198b991f2214160a3ce0e5438f3e4"), # noqa: E501 + address=Address(0x6498D2DA4FC198B991F2214160A3CE0E5438F3E4), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "6103ff6000525b5a6001600051036000526000516006570000" + ), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_stack_limit_push31_1023.py b/tests/ported_static/stMemoryTest/test_stack_limit_push31_1023.py index cec4555f6c2..54666231af9 100644 --- a/tests/ported_static/stMemoryTest/test_stack_limit_push31_1023.py +++ b/tests/ported_static/stMemoryTest/test_stack_limit_push31_1023.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_limit_push31_1023. Ported from: -tests/static/state_tests/stMemoryTest/stackLimitPush31_1023Filler.json +state_tests/stMemoryTest/stackLimitPush31_1023Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/stackLimitPush31_1023Filler.json"], + ["state_tests/stMemoryTest/stackLimitPush31_1023Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_stack_limit_push31_1023( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_limit_push31_1023.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,33 +46,40 @@ def test_stack_limit_push31_1023( gas_limit=42949672960, ) - # Source: asm + # Source: lll # (asm 1021 0x00 MSTORE JUMPDEST 0x0102030405060708090a0102030405060708090a0102030405060708090a01 0x01 0x00 MLOAD SUB 0x00 MSTORE 0x00 MLOAD 0x06 JUMPI STOP ) # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x3FD) - + Op.JUMPDEST - + Op.PUSH31[ - 0x102030405060708090A0102030405060708090A0102030405060708090A01 - ] - + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) - + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x3FD) + + Op.JUMPDEST + + Op.PUSH31[ + 0x102030405060708090A0102030405060708090A0102030405060708090A01 + ] + + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) + + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x887fe5a55a7be422caf5816b6721c8bb9f8abbcb"), # noqa: E501 + address=Address(0x887FE5A55A7BE422CAF5816B6721C8BB9F8ABBCB), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "6103fd6000525b7e0102030405060708090a0102030405060708090a0102030405060708090a016001600051036000526000516006570000" # noqa: E501 + ), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_stack_limit_push31_1024.py b/tests/ported_static/stMemoryTest/test_stack_limit_push31_1024.py index 80d8bab6126..9e8c2657854 100644 --- a/tests/ported_static/stMemoryTest/test_stack_limit_push31_1024.py +++ b/tests/ported_static/stMemoryTest/test_stack_limit_push31_1024.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_limit_push31_1024. Ported from: -tests/static/state_tests/stMemoryTest/stackLimitPush31_1024Filler.json +state_tests/stMemoryTest/stackLimitPush31_1024Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/stackLimitPush31_1024Filler.json"], + ["state_tests/stMemoryTest/stackLimitPush31_1024Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_stack_limit_push31_1024( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_limit_push31_1024.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,33 +46,40 @@ def test_stack_limit_push31_1024( gas_limit=42949672960, ) - # Source: asm + # Source: lll # (asm 1022 0x00 MSTORE JUMPDEST 0x0102030405060708090a0102030405060708090a0102030405060708090a01 0x01 0x00 MLOAD SUB 0x00 MSTORE 0x00 MLOAD 0x06 JUMPI STOP ) # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x3FE) - + Op.JUMPDEST - + Op.PUSH31[ - 0x102030405060708090A0102030405060708090A0102030405060708090A01 - ] - + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) - + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x3FE) + + Op.JUMPDEST + + Op.PUSH31[ + 0x102030405060708090A0102030405060708090A0102030405060708090A01 + ] + + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) + + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc7ff917e8edb8dcb3f445b38e466370c684661"), # noqa: E501 + address=Address(0xBCC7FF917E8EDB8DCB3F445B38E466370C684661), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "6103fe6000525b7e0102030405060708090a0102030405060708090a0102030405060708090a016001600051036000526000516006570000" # noqa: E501 + ), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_stack_limit_push31_1025.py b/tests/ported_static/stMemoryTest/test_stack_limit_push31_1025.py index 675e01cd07f..ce5a47f2480 100644 --- a/tests/ported_static/stMemoryTest/test_stack_limit_push31_1025.py +++ b/tests/ported_static/stMemoryTest/test_stack_limit_push31_1025.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_limit_push31_1025. Ported from: -tests/static/state_tests/stMemoryTest/stackLimitPush31_1025Filler.json +state_tests/stMemoryTest/stackLimitPush31_1025Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/stackLimitPush31_1025Filler.json"], + ["state_tests/stMemoryTest/stackLimitPush31_1025Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_stack_limit_push31_1025( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_limit_push31_1025.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,33 +46,40 @@ def test_stack_limit_push31_1025( gas_limit=42949672960, ) - # Source: asm + # Source: lll # (asm 1023 0x00 MSTORE JUMPDEST 0x0102030405060708090a0102030405060708090a0102030405060708090a01 0x01 0x00 MLOAD SUB 0x00 MSTORE 0x00 MLOAD 0x06 JUMPI STOP ) # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x3FF) - + Op.JUMPDEST - + Op.PUSH31[ - 0x102030405060708090A0102030405060708090A0102030405060708090A01 - ] - + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) - + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x3FF) + + Op.JUMPDEST + + Op.PUSH31[ + 0x102030405060708090A0102030405060708090A0102030405060708090A01 + ] + + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) + + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x176570409b578ecdac49079aae3f1c743fe50853"), # noqa: E501 + address=Address(0x176570409B578ECDAC49079AAE3F1C743FE50853), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "6103ff6000525b7e0102030405060708090a0102030405060708090a0102030405060708090a016001600051036000526000516006570000" # noqa: E501 + ), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_stack_limit_push32_1023.py b/tests/ported_static/stMemoryTest/test_stack_limit_push32_1023.py index c538d720dc3..cd7ef1c2d56 100644 --- a/tests/ported_static/stMemoryTest/test_stack_limit_push32_1023.py +++ b/tests/ported_static/stMemoryTest/test_stack_limit_push32_1023.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_limit_push32_1023. Ported from: -tests/static/state_tests/stMemoryTest/stackLimitPush32_1023Filler.json +state_tests/stMemoryTest/stackLimitPush32_1023Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/stackLimitPush32_1023Filler.json"], + ["state_tests/stMemoryTest/stackLimitPush32_1023Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_stack_limit_push32_1023( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_limit_push32_1023.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,33 +46,40 @@ def test_stack_limit_push32_1023( gas_limit=42949672960, ) - # Source: asm + # Source: lll # (asm 1021 0x00 MSTORE JUMPDEST 0x0102030405060708090a0102030405060708090a0102030405060708090a0102 0x01 0x00 MLOAD SUB 0x00 MSTORE 0x00 MLOAD 0x06 JUMPI STOP ) # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x3FD) - + Op.JUMPDEST - + Op.PUSH32[ - 0x102030405060708090A0102030405060708090A0102030405060708090A0102 # noqa: E501 - ] - + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) - + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x3FD) + + Op.JUMPDEST + + Op.PUSH32[ + 0x102030405060708090A0102030405060708090A0102030405060708090A0102 + ] + + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) + + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x34b65badf9efca4febc588c255dcfbf8d256e1f0"), # noqa: E501 + address=Address(0x34B65BADF9EFCA4FEBC588C255DCFBF8D256E1F0), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "6103fd6000525b7f0102030405060708090a0102030405060708090a0102030405060708090a01026001600051036000526000516006570000" # noqa: E501 + ), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_stack_limit_push32_1024.py b/tests/ported_static/stMemoryTest/test_stack_limit_push32_1024.py index aa362874387..f5162482b22 100644 --- a/tests/ported_static/stMemoryTest/test_stack_limit_push32_1024.py +++ b/tests/ported_static/stMemoryTest/test_stack_limit_push32_1024.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_limit_push32_1024. Ported from: -tests/static/state_tests/stMemoryTest/stackLimitPush32_1024Filler.json +state_tests/stMemoryTest/stackLimitPush32_1024Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/stackLimitPush32_1024Filler.json"], + ["state_tests/stMemoryTest/stackLimitPush32_1024Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_stack_limit_push32_1024( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_limit_push32_1024.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,33 +46,34 @@ def test_stack_limit_push32_1024( gas_limit=42949672960, ) - # Source: asm + # Source: lll # (asm 1022 0x00 MSTORE JUMPDEST 0x0102030405060708090a0102030405060708090a0102030405060708090a0102 0x01 0x00 MLOAD SUB 0x00 MSTORE 0x00 MLOAD 0x06 JUMPI STOP ) # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x3FE) - + Op.JUMPDEST - + Op.PUSH32[ - 0x102030405060708090A0102030405060708090A0102030405060708090A0102 # noqa: E501 - ] - + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) - + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x3FE) + + Op.JUMPDEST + + Op.PUSH32[ + 0x102030405060708090A0102030405060708090A0102030405060708090A0102 + ] + + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) + + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6acb6452d5c01d94259fcc0138d1cb14977b5e7e"), # noqa: E501 + address=Address(0x6ACB6452D5C01D94259FCC0138D1CB14977B5E7E), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stMemoryTest/test_stack_limit_push32_1025.py b/tests/ported_static/stMemoryTest/test_stack_limit_push32_1025.py index f3a65ae10a8..ad03979b9a1 100644 --- a/tests/ported_static/stMemoryTest/test_stack_limit_push32_1025.py +++ b/tests/ported_static/stMemoryTest/test_stack_limit_push32_1025.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_limit_push32_1025. Ported from: -tests/static/state_tests/stMemoryTest/stackLimitPush32_1025Filler.json +state_tests/stMemoryTest/stackLimitPush32_1025Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stMemoryTest/stackLimitPush32_1025Filler.json"], + ["state_tests/stMemoryTest/stackLimitPush32_1025Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_stack_limit_push32_1025( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_limit_push32_1025.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -45,33 +46,40 @@ def test_stack_limit_push32_1025( gas_limit=42949672960, ) - # Source: asm + # Source: lll # (asm 1023 0x00 MSTORE JUMPDEST 0x0102030405060708090a0102030405060708090a0102030405060708090a0102 0x01 0x00 MLOAD SUB 0x00 MSTORE 0x00 MLOAD 0x06 JUMPI STOP ) # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x3FF) - + Op.JUMPDEST - + Op.PUSH32[ - 0x102030405060708090A0102030405060708090A0102030405060708090A0102 # noqa: E501 - ] - + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) - + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x3FF) + + Op.JUMPDEST + + Op.PUSH32[ + 0x102030405060708090A0102030405060708090A0102030405060708090A0102 + ] + + Op.MSTORE(offset=0x0, value=Op.SUB(Op.MLOAD(offset=0x0), 0x1)) + + Op.JUMPI(pc=0x6, condition=Op.MLOAD(offset=0x0)) + + Op.STOP * 2, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3a584dfb85485c7da4f7f6203d4aa78e8c40295a"), # noqa: E501 + address=Address(0x3A584DFB85485C7DA4F7F6203D4AA78E8C40295A), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, value=10, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "6103ff6000525b7f0102030405060708090a0102030405060708090a0102030405060708090a01026001600051036000526000516006570000" # noqa: E501 + ), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/__init__.py b/tests/ported_static/stNonZeroCallsTest/__init__.py index a9394f4be9b..0f61e59e2bb 100644 --- a/tests/ported_static/stNonZeroCallsTest/__init__.py +++ b/tests/ported_static/stNonZeroCallsTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stNonZeroCallsTest.""" +"""Ported static tests: stNonZeroCallsTest.""" # noqa: N999 diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call.py index a43576a39d3..aae4b4903c5 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_call. Ported from: -tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_CALLFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_CALLFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_CALLFiller.json", # noqa: E501 - ], + ["state_tests/stNonZeroCallsTest/NonZeroValue_CALLFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_non_zero_value_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,39 +48,41 @@ def test_non_zero_value_call( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [0](GAS) [[1]] (CALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, balance=100, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={1: 1, 100: 56435}), + contract_0: Account(storage={1: 1, 100: 56435}, balance=99), + Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B): Account( + balance=1 + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_empty_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_empty_paris.py index 38e919f9622..c0a9490e04a 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_empty_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_call_to_empty_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_CALL_ToEmpty_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_CALL_ToEmpty_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_CALL_ToEmpty_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_CALL_ToEmpty_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_call_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_call_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,41 +49,41 @@ def test_non_zero_value_call_to_empty_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) [[1]] (CALL 60000 1 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xf6029618cf51ca5236afc14ead1fbe0739573c23"), # noqa: E501 + address=Address(0xF6029618CF51CA5236AFC14EAD1FBE0739573C23), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={1: 1, 100: 31435}), + addr: Account(balance=11), + target: Account(storage={1: 1, 100: 31435}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_non_non_zero_balance.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_non_non_zero_balance.py index dec7342ef53..2e76021f28b 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_non_non_zero_balance.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_non_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_call_to_non_non_zero_balance. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_CALL_ToNonNonZeroBalanceFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_CALL_ToNonNonZeroBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_CALL_ToNonNonZeroBalanceFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_CALL_ToNonNonZeroBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_call_to_non_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_call_to_non_non_zero_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,40 +49,40 @@ def test_non_zero_value_call_to_non_non_zero_balance( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) [[1]] (CALL 60000 1 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0x9089DA66E8BBC08846842A301905501BC8525DC4, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0x9089DA66E8BBC08846842A301905501BC8525DC4, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x4abd26a4e64c75f89ef76de6649d66b4929919ec"), # noqa: E501 + address=Address(0x4ABD26A4E64C75F89EF76DE6649D66B4929919EC), # noqa: E501 ) - pre[callee] = Account(balance=100, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={100: 11535}), + addr: Account(balance=100), + target: Account(storage={100: 11535}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_one_storage_key_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_one_storage_key_paris.py index 4d40654ad81..5bf5653c0c8 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_one_storage_key_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_call_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_call_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_CALL_ToOneStorageKey_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_CALL_ToOneStorageKey_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_CALL_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_CALL_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_call_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_call_to_one_storage_key_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,42 +49,41 @@ def test_non_zero_value_call_to_one_storage_key_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) [[1]] (CALL 60000 1 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xf6029618cf51ca5236afc14ead1fbe0739573c23"), # noqa: E501 + address=Address(0xF6029618CF51CA5236AFC14EAD1FBE0739573C23), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - callee: Account(storage={0: 1}), - contract: Account(storage={1: 1, 100: 31435}), + addr: Account(storage={0: 1}, balance=11), + target: Account(storage={1: 1, 100: 31435}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode.py index 6c6ef7cc850..55b2e219e75 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_callcode. Ported from: -tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODEFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODEFiller.json", # noqa: E501 - ], + ["state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_non_zero_value_callcode( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_callcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,39 +48,41 @@ def test_non_zero_value_callcode( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [0](GAS) [[1]] (CALLCODE 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, balance=100, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={1: 1, 100: 31435}), + contract_0: Account(storage={1: 1, 100: 31435}), + Address( + 0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_empty_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_empty_paris.py index 0f0acabd1cb..71778a04ec9 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_empty_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_callcode_to_empty_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_CALLCODE_ToEmpty_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToEmpty_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToEmpty_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToEmpty_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_callcode_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_callcode_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x85B89DB0E2AEF2A23F50801209A3DE4C65C58D9D) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x85b89db0e2aef2a23f50801209a3de4c65c58d9d") env = Environment( fee_recipient=coinbase, @@ -49,41 +49,41 @@ def test_non_zero_value_callcode_to_empty_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) [[1]] (CALLCODE 60000 1 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0x85B89DB0E2AEF2A23F50801209A3DE4C65C58D9D, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0x85B89DB0E2AEF2A23F50801209A3DE4C65C58D9D, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, balance=100, nonce=0, - address=Address("0x6dcda83ca878dec588c8cc2adf0defbff1c589b9"), # noqa: E501 + address=Address(0x6DCDA83CA878DEC588C8CC2ADF0DEFBFF1C589B9), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={1: 1, 100: 31435}), + addr: Account(storage={}, code=b"", balance=10, nonce=0), + target: Account(storage={1: 1, 100: 31435}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_non_non_zero_balance.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_non_non_zero_balance.py index fe9b896b684..32f170670e3 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_non_non_zero_balance.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_non_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_callcode_to_non_non_zero_balance. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_CALLCODE_ToNonNonZeroBalanceFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToNonNonZeroBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToNonNonZeroBalanceFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToNonNonZeroBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_callcode_to_non_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_callcode_to_non_non_zero_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,40 +49,40 @@ def test_non_zero_value_callcode_to_non_non_zero_balance( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) [[1]] (CALLCODE 60000 1 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0x9089DA66E8BBC08846842A301905501BC8525DC4, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0x9089DA66E8BBC08846842A301905501BC8525DC4, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x082a0810da3f7a5b41a2d8291511fe800d7a021c"), # noqa: E501 + address=Address(0x082A0810DA3F7A5B41A2D8291511FE800D7A021C), # noqa: E501 ) - pre[callee] = Account(balance=100, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={100: 11535}), + addr: Account(balance=100), + target: Account(storage={100: 11535}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_one_storage_key_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_one_storage_key_paris.py index 89282588cb6..c4a9e058a2c 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_one_storage_key_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_callcode_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_callcode_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_callcode_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_callcode_to_one_storage_key_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,42 +49,41 @@ def test_non_zero_value_callcode_to_one_storage_key_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) [[1]] (CALLCODE 60000 1 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xb7bb61c75be691459cef9a8fd7ec074933fa1d1f"), # noqa: E501 + address=Address(0xB7BB61C75BE691459CEF9A8FD7EC074933FA1D1F), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - callee: Account(storage={0: 1}), - contract: Account(storage={1: 1, 100: 31435}), + addr: Account(storage={0: 1}, balance=10), + target: Account(storage={1: 1, 100: 31435}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall.py index a9285c52b50..ca0b9e66a79 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_delegatecall. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_DELEGATECALLFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALLFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALLFiller.json", # noqa: E501 - ], + ["state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALLFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,9 @@ def test_non_zero_value_delegatecall( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_delegatecall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,38 +48,40 @@ def test_non_zero_value_delegatecall( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [0](GAS) [[1]] (DELEGATECALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, balance=1, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={1: 1, 100: 24732}), + contract_0: Account(storage={1: 1, 100: 24732}), + Address( + 0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_empty_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_empty_paris.py index 337f5f6961e..be9986768fb 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_empty_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_delegatecall_to_empty_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_delegatecall_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_delegatecall_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,39 +49,39 @@ def test_non_zero_value_delegatecall_to_empty_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) [[1]] (DELEGATECALL 60000 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x9c1470e9f035f5d8f34d7c0ff2650f9f89de43fe"), # noqa: E501 + address=Address(0x9C1470E9F035F5D8F34D7C0FF2650F9F89DE43FE), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={1: 1, 100: 24732}), + addr: Account(storage={}, code=b"", balance=10, nonce=0), + target: Account(storage={1: 1, 100: 24732}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_non_non_zero_balance.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_non_non_zero_balance.py index bd07bbd5ff4..197f0ddb7e9 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_non_non_zero_balance.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_non_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_delegatecall_to_non_non_zero_balance. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_DELEGATECALL_ToNonNonZeroBalanceFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToNonNonZeroBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToNonNonZeroBalanceFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToNonNonZeroBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_delegatecall_to_non_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_delegatecall_to_non_non_zero_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,39 +49,39 @@ def test_non_zero_value_delegatecall_to_non_non_zero_balance( gas_limit=10000000, ) - pre[callee] = Account(balance=100, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) [[1]] (DELEGATECALL 60000 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0x9089DA66E8BBC08846842A301905501BC8525DC4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0x9089DA66E8BBC08846842A301905501BC8525DC4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x9c1470e9f035f5d8f34d7c0ff2650f9f89de43fe"), # noqa: E501 + address=Address(0x9C1470E9F035F5D8F34D7C0FF2650F9F89DE43FE), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={1: 1, 100: 24732}), + addr: Account(balance=100), + target: Account(storage={1: 1, 100: 24732}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_one_storage_key_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_one_storage_key_paris.py index 0795f3ced65..022c431b1e6 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_one_storage_key_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_delegatecall_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_delegatecall_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_delegatecall_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_delegatecall_to_one_storage_key_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,40 +49,39 @@ def test_non_zero_value_delegatecall_to_one_storage_key_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [0](GAS) [[1]] (DELEGATECALL 60000 0 0 0 0) [[100]] (SUB @0 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.SUB(Op.MLOAD(offset=0x0), Op.GAS)) + + Op.STOP, nonce=0, - address=Address("0x9c1470e9f035f5d8f34d7c0ff2650f9f89de43fe"), # noqa: E501 + address=Address(0x9C1470E9F035F5D8F34D7C0FF2650F9F89DE43FE), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - callee: Account(storage={0: 1}), - contract: Account(storage={1: 1, 100: 24732}), + addr: Account(storage={0: 1}, balance=10), + target: Account(storage={1: 1, 100: 24732}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide.py index 76ba30d2208..56fd5989444 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_suicide. Ported from: -tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDEFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDEFiller.json", # noqa: E501 - ], + ["state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_non_zero_value_suicide( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_suicide.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,24 +48,37 @@ def test_non_zero_value_suicide( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b) } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ) + + Op.STOP, balance=1, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = { + contract_0: Account( + storage={}, + code=bytes.fromhex( + "73c94f5374fce5edbc8e2a8697c15331677e6ebf0bff00" + ), + balance=0, + nonce=0, + ), + Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B): Account( + balance=1 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_empty_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_empty_paris.py index 9526b754b0b..75df7269787 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_empty_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_suicide_to_empty_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_SUICIDE_ToEmpty_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToEmpty_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToEmpty_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToEmpty_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_suicide_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_suicide_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,26 +49,37 @@ def test_non_zero_value_suicide_to_empty_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (SELFDESTRUCT ) } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x76FAE819612A29489A1A43208613D8F8557B8898) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x76FAE819612A29489A1A43208613D8F8557B8898 + ) + + Op.STOP, balance=1, nonce=0, - address=Address("0xeb9a4c7a191790631d13fc4927446f5ef9d201fc"), # noqa: E501 + address=Address(0xEB9A4C7A191790631D13FC4927446F5EF9D201FC), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "7376fae819612a29489a1a43208613d8f8557b8898ff00" + ), + balance=0, + nonce=0, + ), + addr: Account(balance=11), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_non_non_zero_balance.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_non_non_zero_balance.py index f352cef2245..ba77faa7fbc 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_non_non_zero_balance.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_non_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_suicide_to_non_non_zero_balance. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_SUICIDE_ToNonNonZeroBalanceFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToNonNonZeroBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToNonNonZeroBalanceFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToNonNonZeroBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_suicide_to_non_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_suicide_to_non_non_zero_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,26 +49,37 @@ def test_non_zero_value_suicide_to_non_non_zero_balance( gas_limit=10000000, ) - pre[callee] = Account(balance=100, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (SELFDESTRUCT ) } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x9089DA66E8BBC08846842A301905501BC8525DC4) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x9089DA66E8BBC08846842A301905501BC8525DC4 + ) + + Op.STOP, balance=1, nonce=0, - address=Address("0xeb9a4c7a191790631d13fc4927446f5ef9d201fc"), # noqa: E501 + address=Address(0xEB9A4C7A191790631D13FC4927446F5EF9D201FC), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "739089da66e8bbc08846842a301905501bc8525dc4ff00" + ), + balance=0, + nonce=0, + ), + addr: Account(balance=101), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_one_storage_key_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_one_storage_key_paris.py index ab3dd4e13dc..4ca8cbba6e0 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_one_storage_key_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_suicide_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_suicide_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_non_zero_value_suicide_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_suicide_to_one_storage_key_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,30 +49,38 @@ def test_non_zero_value_suicide_to_one_storage_key_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (SELFDESTRUCT ) } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x4757608F18B70777AE788DD4056EEED52F7AA68F) - + Op.STOP - ), - storage={0x0: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F + ) + + Op.STOP, + storage={0: 1}, balance=1, nonce=0, - address=Address("0xcf0486ce2acf393729249ba0f9b3cfbe450df9c3"), # noqa: E501 + address=Address(0xCF0486CE2ACF393729249BA0F9B3CFBE450DF9C3), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - callee: Account(storage={0: 1}), - contract: Account(storage={0: 1}), + target: Account( + storage={0: 1}, + code=bytes.fromhex( + "734757608f18b70777ae788dd4056eeed52f7aa68fff00" + ), + balance=0, + nonce=0, + ), + addr: Account(storage={0: 1}, balance=11), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data.py index 112590d2140..2718e3be688 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_transaction_cal_lwith_data. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_TransactionCALLwithDataFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithDataFiller.json """ import pytest @@ -23,22 +22,20 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithDataFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithDataFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_non_zero_value_transaction_cal_lwith_data( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_transaction_cal_lwith_data.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -53,54 +50,16 @@ def test_non_zero_value_transaction_cal_lwith_data( tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), + to=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + data=Address(0x1122334455667788991011121314151617181920), gas_limit=600000, value=1, ) - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithDataFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_non_zero_value_transaction_cal_lwith_data_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - pre[sender] = Account(balance=0xE8D4A51000) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), - gas_limit=600000, - value=1, - ) - - post: dict = {} + post = { + Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B): Account( + storage={}, balance=1 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_empty_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_empty_paris.py index 82d77de31e7..e3db6728ce0 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_empty_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_transaction_cal_lwith_data_to_empty_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json """ import pytest @@ -23,22 +22,21 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_non_zero_value_transaction_cal_lwith_data_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_transaction_cal_lwith_data_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,60 +47,17 @@ def test_non_zero_value_transaction_cal_lwith_data_to_empty_paris( gas_limit=10000000, ) - pre[contract] = Account(balance=10, nonce=0) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), + to=addr, + data=Address(0x1122334455667788991011121314151617181920), gas_limit=600000, value=1, ) - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_non_zero_value_transaction_cal_lwith_data_to_empty_paris_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 - ) - contract = Address("0x76fae819612a29489a1a43208613d8f8557b8898") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - pre[contract] = Account(balance=10, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), - gas_limit=600000, - value=1, - ) - - post: dict = {} + post = {addr: Account(balance=11)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_non_non_zero_balance.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_non_non_zero_balance.py index 92e072310e3..f82893cc030 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_non_non_zero_balance.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_non_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_transaction_cal_lwith_data_to_non_non_zero_balance. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_TransactionCALLwithData_ToNonNonZeroBalanceFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToNonNonZeroBalanceFiller.json """ import pytest @@ -23,22 +22,21 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToNonNonZeroBalanceFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToNonNonZeroBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_non_zero_value_transaction_cal_lwith_data_to_non_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_transaction_cal_lwith_data_to_non_non_zero_balance.""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,60 +47,17 @@ def test_non_zero_value_transaction_cal_lwith_data_to_non_non_zero_balance( gas_limit=10000000, ) - pre[contract] = Account(balance=100, nonce=0) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), + to=addr, + data=Address(0x1122334455667788991011121314151617181920), gas_limit=600000, value=1, ) - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToNonNonZeroBalanceFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_non_zero_value_transaction_cal_lwith_data_to_non_non_zero_balance_from_prague( # noqa: E501 - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 - ) - contract = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - pre[contract] = Account(balance=100, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), - gas_limit=600000, - value=1, - ) - - post: dict = {} + post = {addr: Account(balance=101)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris.py index 408b245c11d..5542a8c8745 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json """ import pytest @@ -23,22 +22,21 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_non_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_transaction_cal_lwith_data_to_one_storage_key_p...""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,64 +47,17 @@ def test_non_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris( gas_limit=10000000, ) - pre[contract] = Account(balance=10, nonce=0, storage={0x0: 0x1}) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), + to=addr, + data=Address(0x1122334455667788991011121314151617181920), gas_limit=600000, value=1, ) - post = { - contract: Account(storage={0: 1}), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_non_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris_from_prague( # noqa: E501 - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 - ) - contract = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - pre[contract] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre[sender] = Account(balance=0xE8D4A51000) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), - gas_limit=600000, - value=1, - ) - - post = { - contract: Account(storage={0: 1}), - } + post = {addr: Account(storage={0: 1}, balance=11)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call.py index d689787ad7e..d5f296b30ae 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_transaction_call. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_TransactionCALLFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLFiller.json", # noqa: E501 - ], + ["state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALLFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,12 +30,11 @@ def test_non_zero_value_transaction_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_transaction_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -52,11 +49,16 @@ def test_non_zero_value_transaction_call( tx = Transaction( sender=sender, - to=contract, + to=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + data=Bytes(""), gas_limit=600000, value=1, ) - post: dict = {} + post = { + Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B): Account( + storage={}, balance=1 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_empty_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_empty_paris.py index 7d05901e7cd..095040893c2 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_empty_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_transaction_call_to_empty_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_TransactionCALL_ToEmpty_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToEmpty_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,7 +23,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToEmpty_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToEmpty_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,12 +32,12 @@ def test_non_zero_value_transaction_call_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_transaction_call_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -48,16 +48,17 @@ def test_non_zero_value_transaction_call_to_empty_paris( gas_limit=10000000, ) - pre[contract] = Account(balance=10, nonce=0) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=addr, + data=Bytes(""), gas_limit=600000, value=1, ) - post: dict = {} + post = {addr: Account(balance=11)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_non_non_zero_balance.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_non_non_zero_balance.py index 3497c95f3bf..219911b6d67 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_non_non_zero_balance.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_non_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_transaction_call_to_non_non_zero_balance. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_TransactionCALL_ToNonNonZeroBalanceFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToNonNonZeroBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,7 +23,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToNonNonZeroBalanceFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToNonNonZeroBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,12 +32,12 @@ def test_non_zero_value_transaction_call_to_non_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_transaction_call_to_non_non_zero_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -48,16 +48,17 @@ def test_non_zero_value_transaction_call_to_non_non_zero_balance( gas_limit=10000000, ) - pre[contract] = Account(balance=100, nonce=0) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=addr, + data=Bytes(""), gas_limit=600000, value=1, ) - post: dict = {} + post = {addr: Account(balance=101)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_one_storage_key_paris.py b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_one_storage_key_paris.py index 5983fe829d7..8041fa0b6a2 100644 --- a/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_one_storage_key_paris.py +++ b/tests/ported_static/stNonZeroCallsTest/test_non_zero_value_transaction_call_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_non_zero_value_transaction_call_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stNonZeroCallsTest -NonZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json +state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,7 +23,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,12 +32,12 @@ def test_non_zero_value_transaction_call_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_non_zero_value_transaction_call_to_one_storage_key_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -48,18 +48,17 @@ def test_non_zero_value_transaction_call_to_one_storage_key_paris( gas_limit=10000000, ) - pre[contract] = Account(balance=10, nonce=0, storage={0x0: 0x1}) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=addr, + data=Bytes(""), gas_limit=600000, value=1, ) - post = { - contract: Account(storage={0: 1}), - } + post = {addr: Account(storage={0: 1}, balance=11)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts/__init__.py b/tests/ported_static/stPreCompiledContracts/__init__.py index e73d01e02cc..166ea0d484a 100644 --- a/tests/ported_static/stPreCompiledContracts/__init__.py +++ b/tests/ported_static/stPreCompiledContracts/__init__.py @@ -1 +1 @@ -"""Tests ported from stPreCompiledContracts.""" +"""Ported static tests: stPreCompiledContracts.""" # noqa: N999 diff --git a/tests/ported_static/stPreCompiledContracts/test_modexp.py b/tests/ported_static/stPreCompiledContracts/test_modexp.py index 9b8f9b3a2df..a4c9a100a7b 100644 --- a/tests/ported_static/stPreCompiledContracts/test_modexp.py +++ b/tests/ported_static/stPreCompiledContracts/test_modexp.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_modexp. Ported from: -tests/static/state_tests/stPreCompiledContracts/modexpFiller.json +state_tests/stPreCompiledContracts/modexpFiller.json """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,1674 +28,1277 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stPreCompiledContracts/modexpFiller.json"], + ["state_tests/stPreCompiledContracts/modexpFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002003fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", # noqa: E501 - 100000000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1, 2: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002003fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", # noqa: E501 - 90000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1, 2: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002003fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", # noqa: E501 - 110000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1, 2: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002003fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", # noqa: E501 - 200000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1, 2: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", # noqa: E501 - 100000000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", # noqa: E501 - 90000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", # noqa: E501 - 110000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f", # noqa: E501 - 200000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000304", # noqa: E501 - 100000000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000304", # noqa: E501 - 90000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000304", # noqa: E501 - 110000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000304", # noqa: E501 - 200000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001020004", # noqa: E501 - 100000000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={ - 1: 1, - 2: 0x100000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", + ), + pytest.param( + 0, + 1, + 0, + id="d0-g1", + ), + pytest.param( + 0, + 2, + 0, + id="d0-g2", + ), + pytest.param( + 0, + 3, + 0, + id="d0-g3", + ), + pytest.param( + 1, + 0, + 0, + id="d1-g0", + ), + pytest.param( + 1, + 1, + 0, + id="d1-g1", + ), + pytest.param( + 1, + 2, + 0, + id="d1-g2", + ), + pytest.param( + 1, + 3, + 0, + id="d1-g3", + ), + pytest.param( + 2, + 0, + 0, + id="d2-g0", + ), + pytest.param( + 2, + 1, + 0, + id="d2-g1", + ), + pytest.param( + 2, + 2, + 0, + id="d2-g2", + ), + pytest.param( + 2, + 3, + 0, + id="d2-g3", + ), + pytest.param( + 3, + 0, + 0, + id="d3-g0", + ), + pytest.param( + 3, + 1, + 0, + id="d3-g1", + ), + pytest.param( + 3, + 2, + 0, + id="d3-g2", + ), + pytest.param( + 3, + 3, + 0, + id="d3-g3", + ), + pytest.param( + 4, + 0, + 0, + id="d4-g0", + ), + pytest.param( + 4, + 1, + 0, + id="d4-g1", + ), + pytest.param( + 4, + 2, + 0, + id="d4-g2", + ), + pytest.param( + 4, + 3, + 0, + id="d4-g3", + ), + pytest.param( + 5, + 0, + 0, + id="d5-g0", + ), + pytest.param( + 5, + 1, + 0, + id="d5-g1", + ), + pytest.param( + 5, + 2, + 0, + id="d5-g2", + ), + pytest.param( + 5, + 3, + 0, + id="d5-g3", + ), + pytest.param( + 6, + 0, + 0, + id="d6-g0", + ), + pytest.param( + 6, + 1, + 0, + id="d6-g1", + ), + pytest.param( + 6, + 2, + 0, + id="d6-g2", + ), + pytest.param( + 6, + 3, + 0, + id="d6-g3", + ), + pytest.param( + 7, + 0, + 0, + id="d7-g0", + ), + pytest.param( + 7, + 1, + 0, + id="d7-g1", + ), + pytest.param( + 7, + 2, + 0, + id="d7-g2", + ), + pytest.param( + 7, + 3, + 0, + id="d7-g3", + ), + pytest.param( + 8, + 0, + 0, + id="d8-g0", + ), + pytest.param( + 8, + 1, + 0, + id="d8-g1", + ), + pytest.param( + 8, + 2, + 0, + id="d8-g2", + ), + pytest.param( + 8, + 3, + 0, + id="d8-g3", + ), + pytest.param( + 9, + 0, + 0, + id="d9-g0", + ), + pytest.param( + 9, + 1, + 0, + id="d9-g1", + ), + pytest.param( + 9, + 2, + 0, + id="d9-g2", + ), + pytest.param( + 9, + 3, + 0, + id="d9-g3", + ), + pytest.param( + 10, + 0, + 0, + id="d10-g0", + ), + pytest.param( + 10, + 1, + 0, + id="d10-g1", + ), + pytest.param( + 10, + 2, + 0, + id="d10-g2", + ), + pytest.param( + 10, + 3, + 0, + id="d10-g3", + ), + pytest.param( + 11, + 0, + 0, + id="d11-g0", + ), + pytest.param( + 11, + 1, + 0, + id="d11-g1", + ), + pytest.param( + 11, + 2, + 0, + id="d11-g2", + ), + pytest.param( + 11, + 3, + 0, + id="d11-g3", + ), + pytest.param( + 12, + 0, + 0, + id="d12-g0", + ), + pytest.param( + 12, + 1, + 0, + id="d12-g1", + ), + pytest.param( + 12, + 2, + 0, + id="d12-g2", + ), + pytest.param( + 12, + 3, + 0, + id="d12-g3", + ), + pytest.param( + 13, + 0, + 0, + id="d13-g0", + ), + pytest.param( + 13, + 1, + 0, + id="d13-g1", + ), + pytest.param( + 13, + 2, + 0, + id="d13-g2", + ), + pytest.param( + 13, + 3, + 0, + id="d13-g3", + ), + pytest.param( + 14, + 0, + 0, + id="d14-g0", + ), + pytest.param( + 14, + 1, + 0, + id="d14-g1", + ), + pytest.param( + 14, + 2, + 0, + id="d14-g2", + ), + pytest.param( + 14, + 3, + 0, + id="d14-g3", + ), + pytest.param( + 15, + 0, + 0, + id="d15-g0", + ), + pytest.param( + 15, + 1, + 0, + id="d15-g1", + ), + pytest.param( + 15, + 2, + 0, + id="d15-g2", + ), + pytest.param( + 15, + 3, + 0, + id="d15-g3", + ), + pytest.param( + 16, + 0, + 0, + id="d16-g0", + ), + pytest.param( + 16, + 1, + 0, + id="d16-g1", + ), + pytest.param( + 16, + 2, + 0, + id="d16-g2", + ), + pytest.param( + 16, + 3, + 0, + id="d16-g3", + ), + pytest.param( + 17, + 0, + 0, + id="d17-g0", + ), + pytest.param( + 17, + 1, + 0, + id="d17-g1", + ), + pytest.param( + 17, + 2, + 0, + id="d17-g2", + ), + pytest.param( + 17, + 3, + 0, + id="d17-g3", + ), + pytest.param( + 18, + 0, + 0, + id="d18-g0", + ), + pytest.param( + 18, + 1, + 0, + id="d18-g1", + ), + pytest.param( + 18, + 2, + 0, + id="d18-g2", + ), + pytest.param( + 18, + 3, + 0, + id="d18-g3", + ), + pytest.param( + 19, + 0, + 0, + id="d19-g0", + ), + pytest.param( + 19, + 1, + 0, + id="d19-g1", + ), + pytest.param( + 19, + 2, + 0, + id="d19-g2", + ), + pytest.param( + 19, + 3, + 0, + id="d19-g3", + ), + pytest.param( + 20, + 0, + 0, + id="d20-g0", + ), + pytest.param( + 20, + 1, + 0, + id="d20-g1", + ), + pytest.param( + 20, + 2, + 0, + id="d20-g2", + ), + pytest.param( + 20, + 3, + 0, + id="d20-g3", + ), + pytest.param( + 21, + 0, + 0, + id="d21-g0", + ), + pytest.param( + 21, + 1, + 0, + id="d21-g1", + ), + pytest.param( + 21, + 2, + 0, + id="d21-g2", + ), + pytest.param( + 21, + 3, + 0, + id="d21-g3", + ), + pytest.param( + 22, + 0, + 0, + id="d22-g0", + ), + pytest.param( + 22, + 1, + 0, + id="d22-g1", + ), + pytest.param( + 22, + 2, + 0, + id="d22-g2", + ), + pytest.param( + 22, + 3, + 0, + id="d22-g3", + ), + pytest.param( + 23, + 0, + 0, + id="d23-g0", + ), + pytest.param( + 23, + 1, + 0, + id="d23-g1", + ), + pytest.param( + 23, + 2, + 0, + id="d23-g2", + ), + pytest.param( + 23, + 3, + 0, + id="d23-g3", + ), + pytest.param( + 24, + 0, + 0, + id="d24-g0", + ), + pytest.param( + 24, + 1, + 0, + id="d24-g1", + ), + pytest.param( + 24, + 2, + 0, + id="d24-g2", + ), + pytest.param( + 24, + 3, + 0, + id="d24-g3", + ), + pytest.param( + 25, + 0, + 0, + id="d25-g0", + ), + pytest.param( + 25, + 1, + 0, + id="d25-g1", + ), + pytest.param( + 25, + 2, + 0, + id="d25-g2", + ), + pytest.param( + 25, + 3, + 0, + id="d25-g3", + ), + pytest.param( + 26, + 0, + 0, + id="d26-g0", + ), + pytest.param( + 26, + 1, + 0, + id="d26-g1", + ), + pytest.param( + 26, + 2, + 0, + id="d26-g2", + ), + pytest.param( + 26, + 3, + 0, + id="d26-g3", + ), + pytest.param( + 27, + 0, + 0, + id="d27-g0", + ), + pytest.param( + 27, + 1, + 0, + id="d27-g1", + ), + pytest.param( + 27, + 2, + 0, + id="d27-g2", + ), + pytest.param( + 27, + 3, + 0, + id="d27-g3", + ), + pytest.param( + 28, + 0, + 0, + id="d28-g0", + ), + pytest.param( + 28, + 1, + 0, + id="d28-g1", + ), + pytest.param( + 28, + 2, + 0, + id="d28-g2", + ), + pytest.param( + 28, + 3, + 0, + id="d28-g3", + ), + pytest.param( + 29, + 0, + 0, + id="d29-g0", + ), + pytest.param( + 29, + 1, + 0, + id="d29-g1", + ), + pytest.param( + 29, + 2, + 0, + id="d29-g2", + ), + pytest.param( + 29, + 3, + 0, + id="d29-g3", + ), + pytest.param( + 30, + 0, + 0, + id="d30-g0", + ), + pytest.param( + 30, + 1, + 0, + id="d30-g1", + ), + pytest.param( + 30, + 2, + 0, + id="d30-g2", + ), + pytest.param( + 30, + 3, + 0, + id="d30-g3", + ), + pytest.param( + 31, + 0, + 0, + id="d31-g0", + ), + pytest.param( + 31, + 1, + 0, + id="d31-g1", + ), + pytest.param( + 31, + 2, + 0, + id="d31-g2", + ), + pytest.param( + 31, + 3, + 0, + id="d31-g3", + ), + pytest.param( + 32, + 0, + 0, + id="d32-g0", + ), + pytest.param( + 32, + 1, + 0, + id="d32-g1", + ), + pytest.param( + 32, + 2, + 0, + id="d32-g2", + ), + pytest.param( + 32, + 3, + 0, + id="d32-g3", + ), + pytest.param( + 33, + 0, + 0, + id="d33-g0", + ), + pytest.param( + 33, + 1, + 0, + id="d33-g1", + ), + pytest.param( + 33, + 2, + 0, + id="d33-g2", + ), + pytest.param( + 33, + 3, + 0, + id="d33-g3", + ), + pytest.param( + 34, + 0, + 0, + id="d34-g0", + ), + pytest.param( + 34, + 1, + 0, + id="d34-g1", + ), + pytest.param( + 34, + 2, + 0, + id="d34-g2", + ), + pytest.param( + 34, + 3, + 0, + id="d34-g3", + ), + pytest.param( + 35, + 0, + 0, + id="d35-g0", + ), + pytest.param( + 35, + 1, + 0, + id="d35-g1", + ), + pytest.param( + 35, + 2, + 0, + id="d35-g2", + ), + pytest.param( + 35, + 3, + 0, + id="d35-g3", + ), + pytest.param( + 36, + 0, + 0, + id="d36-g0", + ), + pytest.param( + 36, + 1, + 0, + id="d36-g1", + ), + pytest.param( + 36, + 2, + 0, + id="d36-g2", + ), + pytest.param( + 36, + 3, + 0, + id="d36-g3", + ), + pytest.param( + 37, + 0, + 0, + id="d37-g0", + ), + pytest.param( + 37, + 1, + 0, + id="d37-g1", + ), + pytest.param( + 37, + 2, + 0, + id="d37-g2", + ), + pytest.param( + 37, + 3, + 0, + id="d37-g3", ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001020004", # noqa: E501 - 90000, - { - Address("0x2d06ad61919840e4e00f80782dedce12ada1e859"): Account( - storage={ - 1: 1, - 2: 0x100000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - } - ) + ], +) +@pytest.mark.pre_alloc_mutable +def test_modexp( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test_modexp.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=10000000000, + ) + + # Source: lll + # { (CALLDATACOPY 0 0 (CALLDATASIZE)) [[1]] (CALLCODE (GAS) 5 0 0 (CALLDATASIZE) 1000 32) [[2]](MLOAD 1000) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=Op.CALLDATASIZE, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x3E8)) + + Op.STOP, + nonce=0, + address=Address(0x2D06AD61919840E4E00F80782DEDCE12ADA1E859), # noqa: E501 + ) + pre[sender] = Account(balance=0x3635C9ADC5DEA00000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 6, 7], "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 - ) + }, + { + "indexes": {"data": [36, 37], "gas": -1, "value": -1}, + "network": [">=Cancun None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 ) @@ -1198,8 +823,8 @@ def test_modexp_tests( gas_limit=100000000, ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: Yul + # Source: yul + # berlin # { # // Our input values, 20 bytes each # // This is not the most efficient use of gas, but @@ -1222,55 +847,392 @@ def test_modexp_tests( # sstore(0, mload(0x100)) # sstore(1, sub(sub(gas0, gas1), 0x14c)) # } - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x4) - + Op.CALLDATALOAD(offset=0x24) - + Op.CALLDATALOAD(offset=0x44) - + Op.SWAP2 - + Op.MSTORE(offset=0x0, value=0x20) - + Op.MSTORE(offset=Op.DUP1, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.PUSH1[0x60] - + Op.MSTORE - + Op.PUSH1[0x80] - + Op.MSTORE - + Op.PUSH1[0xA0] - + Op.MSTORE - + Op.PUSH2[0x14C] - + Op.GAS - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x5, - value=Op.DUP1, - args_offset=0x0, - args_size=0xC0, - ret_offset=0x100, - ret_size=0x20, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x4) + + Op.CALLDATALOAD(offset=0x24) + + Op.CALLDATALOAD(offset=0x44) + + Op.SWAP2 + + Op.MSTORE(offset=0x0, value=0x20) + + Op.MSTORE(offset=Op.DUP1, value=0x20) + + Op.MSTORE(offset=0x40, value=0x20) + + Op.PUSH1[0x60] + + Op.MSTORE + + Op.PUSH1[0x80] + + Op.MSTORE + + Op.PUSH1[0xA0] + + Op.MSTORE + + Op.PUSH2[0x14C] + + Op.GAS + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x5, + value=Op.DUP1, + args_offset=0x0, + args_size=0xC0, + ret_offset=0x100, + ret_size=0x20, ) - + Op.GAS - + Op.SWAP1 - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x100)) - + Op.SUB - + Op.SSTORE(key=0x1, value=Op.SUB) - + Op.STOP - ), + ) + + Op.GAS + + Op.SWAP1 + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x100)) + + Op.SUB + + Op.SSTORE(key=0x1, value=Op.SUB) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x6082a22dbf403b1af4fe03a0ccbd9bb78defb44a"), # noqa: E501 + nonce=1, + address=Address(0x6082A22DBF403B1AF4FE03A0CCBD9BB78DEFB44A), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [ + 0, + 1, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 84, + 85, + 101, + 102, + 104, + 105, + 107, + 108, + 109, + 110, + 111, + 112, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun=Cancun None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=71794957647893862, - ) - - pre.deploy_contract( - code=Op.MSTORE(offset=0x0, value=0x3) + Op.STOP, - address=Address("0x1338f76642a7a19cc50bdff45172cb6c2a7d20c0"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=Op.MSTORE(offset=0x0, value=0x3) + Op.STOP, - address=Address("0x7be86ffab69b0af1ed862ae6d8e1efa3e8438b79"), # noqa: E501 - ) - # Source: Yul - # { - # let addrTest := calldataload(0x04) - # let action := calldataload(0x24) - # let gas0, gas1, gas2 - # - # // Not really needed, but otherwise Yul optimizes and - # // skips operations we need - # let useless0, useless1 - # - # // Touch the first word of memory here, so it - # // won't confuse the gas measurement - # mstore(0x100, 0xDEADBEEF) - # - # // Access (so it becomes warm and send it wei) # noqa: E501 - # pop(call(0x100000, , 1, 0, 0, 0, 0)) # noqa: E501 - # - # // Switch before measuring, so it won't affect - # // the gas costs - # switch action - # case 0xf100 { - # gas0 := gas() - # pop(call(0x100000, addrTest, 0, 0, 0, 0, 0)) - # gas1 := gas() - # pop(call(0x100000, addrTest, 0, 0, 0, 0, 0)) - # gas2 := gas() - # } - # case 0xf101 { - # gas0 := gas() - # pop(call(0x100000, addrTest, 1, 0, 0, 0, 0)) - # gas1 := gas() - # ... (155 more lines) - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x4) - + Op.CALLDATALOAD(offset=0x24) - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x100, value=0xDEADBEEF) - + Op.POP( - Op.CALL( - gas=0x100000, - address=0x7BE86FFAB69B0AF1ED862AE6D8E1EFA3E8438B79, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.DUP6 - + Op.JUMPI(pc=0x101, condition=Op.EQ(Op.DUP2, 0xF100)) - + Op.JUMPI(pc=0x12D, condition=Op.EQ(Op.DUP2, 0xF101)) - + Op.JUMPI(pc=0x159, condition=Op.EQ(Op.DUP2, 0xF102)) - + Op.JUMPI(pc=0x185, condition=Op.EQ(Op.DUP2, 0xF103)) - + Op.JUMPI(pc=0x1B3, condition=Op.EQ(Op.DUP2, 0xF104)) - + Op.JUMPI(pc=0x1DF, condition=Op.EQ(Op.DUP2, 0xF105)) - + Op.JUMPI(pc=0x20D, condition=Op.EQ(Op.DUP2, 0xF200)) - + Op.JUMPI(pc=0x239, condition=Op.EQ(Op.DUP2, 0xF201)) - + Op.JUMPI(pc=0x265, condition=Op.EQ(Op.DUP2, 0xF202)) - + Op.JUMPI(pc=0x291, condition=Op.EQ(Op.DUP2, 0xF203)) - + Op.JUMPI(pc=0x2BF, condition=Op.EQ(Op.DUP2, 0xF204)) - + Op.JUMPI(pc=0x2EB, condition=Op.EQ(Op.DUP2, 0xF205)) - + Op.JUMPI(pc=0x319, condition=Op.EQ(Op.DUP2, 0xF400)) - + Op.JUMPI(pc=0x341, condition=Op.EQ(Op.DUP2, 0xF402)) - + Op.JUMPI(pc=0x36B, condition=Op.EQ(Op.DUP2, 0xF404)) - + Op.JUMPI(pc=0x395, condition=Op.EQ(Op.DUP2, 0xFA00)) - + Op.JUMPI(pc=0x3BD, condition=Op.EQ(Op.DUP2, 0xFA02)) - + Op.JUMPI(pc=0x3E7, condition=Op.EQ(Op.DUP2, 0xFA04)) - + Op.JUMPI(pc=0x411, condition=Op.EQ(Op.DUP2, 0x31)) - + Op.JUMPI(pc=0x427, condition=Op.EQ(Op.DUP2, 0x3B)) - + Op.JUMPI(pc=0x43D, condition=Op.EQ(Op.DUP2, 0x3C)) - + Op.JUMPI(pc=0x45B, condition=Op.EQ(Op.DUP2, 0x3F)) - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.BALANCE(address=Op.DUP8) - + Op.SWAP3 - + Op.POP - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.BALANCE(address=Op.DUP8) - + Op.SWAP2 - + Op.POP - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.EXTCODESIZE(address=Op.DUP8) - + Op.SWAP3 - + Op.POP - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.EXTCODESIZE(address=Op.DUP8) - + Op.SWAP2 - + Op.POP - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.EXTCODECOPY( - address=Op.DUP11, - dest_offset=Op.DUP1, - offset=0x0, - size=0x100, - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.EXTCODECOPY( - address=Op.DUP11, - dest_offset=Op.DUP1, - offset=0x0, - size=0x100, - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.EXTCODEHASH(address=Op.DUP8) - + Op.SWAP3 - + Op.POP - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.EXTCODEHASH(address=Op.DUP8) - + Op.SWAP2 - + Op.POP - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.SUB(Op.DUP6, Op.DUP4) - + Op.SUB(Op.DUP6, Op.DUP4) - + Op.SSTORE(key=0x0, value=Op.EQ(Op.DUP3, Op.DUP1)) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.DUP3, Op.DUP1)) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - ), - storage={0x0: 0x60A7, 0x1: 0x60A7}, - address=Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=100000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts/precompsEIP2929CancunFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.valid_until("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c00000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b790000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - "case424", - "case425", - "case426", - "case427", - "case428", - "case429", - "case430", - "case431", - "case432", - "case433", - "case434", - "case435", - "case436", - "case437", - "case438", - "case439", - "case440", - "case441", - "case442", - "case443", - "case444", - "case445", - "case446", - "case447", - "case448", - "case449", - "case450", - "case451", - "case452", - "case453", - "case454", - "case455", - "case456", - "case457", - "case458", - "case459", - "case460", - "case461", - ], -) -@pytest.mark.pre_alloc_mutable -def test_precomps_eip2929_cancun_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=71794957647893862, - ) - - pre.deploy_contract( - code=Op.MSTORE(offset=0x0, value=0x3) + Op.STOP, - address=Address("0x1338f76642a7a19cc50bdff45172cb6c2a7d20c0"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=Op.MSTORE(offset=0x0, value=0x3) + Op.STOP, - address=Address("0x7be86ffab69b0af1ed862ae6d8e1efa3e8438b79"), # noqa: E501 - ) - # Source: Yul - # { - # let addrTest := calldataload(0x04) - # let action := calldataload(0x24) - # let gas0, gas1, gas2 - # - # // Not really needed, but otherwise Yul optimizes and - # // skips operations we need - # let useless0, useless1 - # - # // Touch the first word of memory here, so it - # // won't confuse the gas measurement - # mstore(0x100, 0xDEADBEEF) - # - # // Access (so it becomes warm and send it wei) # noqa: E501 - # pop(call(0x100000, , 1, 0, 0, 0, 0)) # noqa: E501 - # - # // Switch before measuring, so it won't affect - # // the gas costs - # switch action - # case 0xf100 { - # gas0 := gas() - # pop(call(0x100000, addrTest, 0, 0, 0, 0, 0)) - # gas1 := gas() - # pop(call(0x100000, addrTest, 0, 0, 0, 0, 0)) - # gas2 := gas() - # } - # case 0xf101 { - # gas0 := gas() - # pop(call(0x100000, addrTest, 1, 0, 0, 0, 0)) - # gas1 := gas() - # ... (155 more lines) - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x4) - + Op.CALLDATALOAD(offset=0x24) - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x100, value=0xDEADBEEF) - + Op.POP( - Op.CALL( - gas=0x100000, - address=0x7BE86FFAB69B0AF1ED862AE6D8E1EFA3E8438B79, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.DUP6 - + Op.JUMPI(pc=0x101, condition=Op.EQ(Op.DUP2, 0xF100)) - + Op.JUMPI(pc=0x12D, condition=Op.EQ(Op.DUP2, 0xF101)) - + Op.JUMPI(pc=0x159, condition=Op.EQ(Op.DUP2, 0xF102)) - + Op.JUMPI(pc=0x185, condition=Op.EQ(Op.DUP2, 0xF103)) - + Op.JUMPI(pc=0x1B3, condition=Op.EQ(Op.DUP2, 0xF104)) - + Op.JUMPI(pc=0x1DF, condition=Op.EQ(Op.DUP2, 0xF105)) - + Op.JUMPI(pc=0x20D, condition=Op.EQ(Op.DUP2, 0xF200)) - + Op.JUMPI(pc=0x239, condition=Op.EQ(Op.DUP2, 0xF201)) - + Op.JUMPI(pc=0x265, condition=Op.EQ(Op.DUP2, 0xF202)) - + Op.JUMPI(pc=0x291, condition=Op.EQ(Op.DUP2, 0xF203)) - + Op.JUMPI(pc=0x2BF, condition=Op.EQ(Op.DUP2, 0xF204)) - + Op.JUMPI(pc=0x2EB, condition=Op.EQ(Op.DUP2, 0xF205)) - + Op.JUMPI(pc=0x319, condition=Op.EQ(Op.DUP2, 0xF400)) - + Op.JUMPI(pc=0x341, condition=Op.EQ(Op.DUP2, 0xF402)) - + Op.JUMPI(pc=0x36B, condition=Op.EQ(Op.DUP2, 0xF404)) - + Op.JUMPI(pc=0x395, condition=Op.EQ(Op.DUP2, 0xFA00)) - + Op.JUMPI(pc=0x3BD, condition=Op.EQ(Op.DUP2, 0xFA02)) - + Op.JUMPI(pc=0x3E7, condition=Op.EQ(Op.DUP2, 0xFA04)) - + Op.JUMPI(pc=0x411, condition=Op.EQ(Op.DUP2, 0x31)) - + Op.JUMPI(pc=0x427, condition=Op.EQ(Op.DUP2, 0x3B)) - + Op.JUMPI(pc=0x43D, condition=Op.EQ(Op.DUP2, 0x3C)) - + Op.JUMPI(pc=0x45B, condition=Op.EQ(Op.DUP2, 0x3F)) - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.BALANCE(address=Op.DUP8) - + Op.SWAP3 - + Op.POP - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.BALANCE(address=Op.DUP8) - + Op.SWAP2 - + Op.POP - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.EXTCODESIZE(address=Op.DUP8) - + Op.SWAP3 - + Op.POP - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.EXTCODESIZE(address=Op.DUP8) - + Op.SWAP2 - + Op.POP - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.EXTCODECOPY( - address=Op.DUP11, - dest_offset=Op.DUP1, - offset=0x0, - size=0x100, - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.EXTCODECOPY( - address=Op.DUP11, - dest_offset=Op.DUP1, - offset=0x0, - size=0x100, - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.EXTCODEHASH(address=Op.DUP8) - + Op.SWAP3 - + Op.POP - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.EXTCODEHASH(address=Op.DUP8) - + Op.SWAP2 - + Op.POP - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.SUB(Op.DUP6, Op.DUP4) - + Op.SUB(Op.DUP6, Op.DUP4) - + Op.SSTORE(key=0x0, value=Op.EQ(Op.DUP3, Op.DUP1)) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.DUP3, Op.DUP1)) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - ), - storage={0x0: 0x60A7, 0x1: 0x60A7}, - address=Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=100000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts/precompsEIP2929CancunFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 27500} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 25000} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c00000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000001338f76642a7a19cc50bdff45172cb6c2a7d20c0000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={1: 2500} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f101", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b790000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f103", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f105", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000007be86ffab69b0af1ed862ae6d8e1efa3e8438b79000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000031", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000003f", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000003c", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000003b", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f104", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f200", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f201", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f202", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f203", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f204", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f205", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f400", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f402", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000f404", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000fa00", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e60000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000fa02", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000fa04", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f102", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, - ), - ( - "1a8451e6000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000f100", # noqa: E501 - { - Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"): Account( - storage={0: 1} - ) - }, +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/stPreCompiledContracts/precompsEIP2929CancunFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="no", + ), + pytest.param( + 1, + 0, + 0, + id="no", + ), + pytest.param( + 2, + 0, + 0, + id="yes", + ), + pytest.param( + 3, + 0, + 0, + id="yes", + ), + pytest.param( + 4, + 0, + 0, + id="yes", + ), + pytest.param( + 5, + 0, + 0, + id="yes", + ), + pytest.param( + 6, + 0, + 0, + id="yes", + ), + pytest.param( + 7, + 0, + 0, + id="yes", + ), + pytest.param( + 8, + 0, + 0, + id="yes", + ), + pytest.param( + 9, + 0, + 0, + id="yes", + ), + pytest.param( + 10, + 0, + 0, + id="yes", + ), + pytest.param( + 11, + 0, + 0, + id="yes", + ), + pytest.param( + 12, + 0, + 0, + id="yes", + ), + pytest.param( + 13, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 14, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 15, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 16, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 17, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 18, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 19, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 20, + 0, + 0, + id="no", + ), + pytest.param( + 21, + 0, + 0, + id="new", + ), + pytest.param( + 22, + 0, + 0, + id="new", + ), + pytest.param( + 23, + 0, + 0, + id="new", + ), + pytest.param( + 24, + 0, + 0, + id="new", + ), + pytest.param( + 25, + 0, + 0, + id="new", + ), + pytest.param( + 26, + 0, + 0, + id="new", + ), + pytest.param( + 27, + 0, + 0, + id="new", + ), + pytest.param( + 28, + 0, + 0, + id="new", + ), + pytest.param( + 29, + 0, + 0, + id="yes", + ), + pytest.param( + 30, + 0, + 0, + id="yes", + ), + pytest.param( + 31, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 32, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 33, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 34, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 35, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 36, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 37, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 38, + 0, + 0, + id="all", + ), + pytest.param( + 39, + 0, + 0, + id="all", + ), + pytest.param( + 40, + 0, + 0, + id="no", + ), + pytest.param( + 41, + 0, + 0, + id="yes", + ), + pytest.param( + 42, + 0, + 0, + id="yes", + ), + pytest.param( + 43, + 0, + 0, + id="yes", + ), + pytest.param( + 44, + 0, + 0, + id="yes", + ), + pytest.param( + 45, + 0, + 0, + id="yes", + ), + pytest.param( + 46, + 0, + 0, + id="yes", + ), + pytest.param( + 47, + 0, + 0, + id="yes", + ), + pytest.param( + 48, + 0, + 0, + id="yes", + ), + pytest.param( + 49, + 0, + 0, + id="yes", + ), + pytest.param( + 50, + 0, + 0, + id="yes", + ), + pytest.param( + 51, + 0, + 0, + id="yes", + ), + pytest.param( + 52, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 53, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 54, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 55, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 56, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 57, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 58, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 59, + 0, + 0, + id="no", + ), + pytest.param( + 60, + 0, + 0, + id="no", + ), + pytest.param( + 61, + 0, + 0, + id="no", + ), + pytest.param( + 62, + 0, + 0, + id="yes", + ), + pytest.param( + 63, + 0, + 0, + id="new", + ), + pytest.param( + 64, + 0, + 0, + id="new", + ), + pytest.param( + 65, + 0, + 0, + id="new", + ), + pytest.param( + 66, + 0, + 0, + id="new", + ), + pytest.param( + 67, + 0, + 0, + id="new", + ), + pytest.param( + 68, + 0, + 0, + id="new", + ), + pytest.param( + 69, + 0, + 0, + id="new", + ), + pytest.param( + 70, + 0, + 0, + id="yes", + ), + pytest.param( + 71, + 0, + 0, + id="yes", + ), + pytest.param( + 72, + 0, + 0, + id="yes", + ), + pytest.param( + 73, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 74, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 75, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 76, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 77, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 78, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 79, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 80, + 0, + 0, + id="all", + ), + pytest.param( + 81, + 0, + 0, + id="all", + ), + pytest.param( + 82, + 0, + 0, + id="no", + ), + pytest.param( + 83, + 0, + 0, + id="yes", + ), + pytest.param( + 84, + 0, + 0, + id="yes", + ), + pytest.param( + 85, + 0, + 0, + id="yes", + ), + pytest.param( + 86, + 0, + 0, + id="yes", + ), + pytest.param( + 87, + 0, + 0, + id="yes", + ), + pytest.param( + 88, + 0, + 0, + id="yes", + ), + pytest.param( + 89, + 0, + 0, + id="yes", + ), + pytest.param( + 90, + 0, + 0, + id="yes", + ), + pytest.param( + 91, + 0, + 0, + id="yes", + ), + pytest.param( + 92, + 0, + 0, + id="yes", + ), + pytest.param( + 93, + 0, + 0, + id="yes", + ), + pytest.param( + 94, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 95, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 96, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 97, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 98, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 99, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 100, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 101, + 0, + 0, + id="no", + ), + pytest.param( + 102, + 0, + 0, + id="no", + ), + pytest.param( + 103, + 0, + 0, + id="no", + ), + pytest.param( + 104, + 0, + 0, + id="yes", + ), + pytest.param( + 105, + 0, + 0, + id="new", + ), + pytest.param( + 106, + 0, + 0, + id="new", + ), + pytest.param( + 107, + 0, + 0, + id="new", + ), + pytest.param( + 108, + 0, + 0, + id="new", + ), + pytest.param( + 109, + 0, + 0, + id="new", + ), + pytest.param( + 110, + 0, + 0, + id="new", + ), + pytest.param( + 111, + 0, + 0, + id="new", + ), + pytest.param( + 112, + 0, + 0, + id="new", + ), + pytest.param( + 113, + 0, + 0, + id="yes", + ), + pytest.param( + 114, + 0, + 0, + id="yes", + ), + pytest.param( + 115, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 116, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 117, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 118, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 119, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 120, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 121, + 0, + 0, + id="all_then_yes_from_prague", + ), + pytest.param( + 122, + 0, + 0, + id="all", + ), + pytest.param( + 123, + 0, + 0, + id="all", + ), + pytest.param( + 124, + 0, + 0, + id="no", + ), + pytest.param( + 125, + 0, + 0, + id="yes", + ), + pytest.param( + 126, + 0, + 0, + id="yes", + ), + pytest.param( + 127, + 0, + 0, + id="yes", + ), + pytest.param( + 128, + 0, + 0, + id="yes", + ), + pytest.param( + 129, + 0, + 0, + id="yes", + ), + pytest.param( + 130, + 0, + 0, + id="yes", + ), + pytest.param( + 131, + 0, + 0, + id="yes", + ), + pytest.param( + 132, + 0, + 0, + id="yes", + ), + pytest.param( + 133, + 0, + 0, + id="yes", + ), + pytest.param( + 134, + 0, + 0, + id="yes", + ), + pytest.param( + 135, + 0, + 0, + id="yes", + ), + pytest.param( + 136, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 137, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 138, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 139, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 140, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 141, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 142, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 143, + 0, + 0, + id="no", + ), + pytest.param( + 144, + 0, + 0, + id="no", + ), + pytest.param( + 145, + 0, + 0, + id="no", + ), + pytest.param( + 146, + 0, + 0, + id="yes", + ), + pytest.param( + 147, + 0, + 0, + id="yes", + ), + pytest.param( + 148, + 0, + 0, + id="yes", + ), + pytest.param( + 149, + 0, + 0, + id="yes", + ), + pytest.param( + 150, + 0, + 0, + id="yes", + ), + pytest.param( + 151, + 0, + 0, + id="yes", + ), + pytest.param( + 152, + 0, + 0, + id="yes", + ), + pytest.param( + 153, + 0, + 0, + id="yes", + ), + pytest.param( + 154, + 0, + 0, + id="yes", + ), + pytest.param( + 155, + 0, + 0, + id="yes", + ), + pytest.param( + 156, + 0, + 0, + id="yes", + ), + pytest.param( + 157, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 158, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 159, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 160, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 161, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 162, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 163, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 164, + 0, + 0, + id="no", + ), + pytest.param( + 165, + 0, + 0, + id="no", + ), + pytest.param( + 166, + 0, + 0, + id="no", + ), + pytest.param( + 167, + 0, + 0, + id="yes", + ), + pytest.param( + 168, + 0, + 0, + id="yes", + ), + pytest.param( + 169, + 0, + 0, + id="yes", + ), + pytest.param( + 170, + 0, + 0, + id="yes", + ), + pytest.param( + 171, + 0, + 0, + id="yes", + ), + pytest.param( + 172, + 0, + 0, + id="yes", + ), + pytest.param( + 173, + 0, + 0, + id="yes", + ), + pytest.param( + 174, + 0, + 0, + id="yes", + ), + pytest.param( + 175, + 0, + 0, + id="yes", + ), + pytest.param( + 176, + 0, + 0, + id="yes", + ), + pytest.param( + 177, + 0, + 0, + id="yes", + ), + pytest.param( + 178, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 179, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 180, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 181, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 182, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 183, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 184, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 185, + 0, + 0, + id="no", + ), + pytest.param( + 186, + 0, + 0, + id="no", + ), + pytest.param( + 187, + 0, + 0, + id="no", + ), + pytest.param( + 188, + 0, + 0, + id="yes", + ), + pytest.param( + 189, + 0, + 0, + id="yes", + ), + pytest.param( + 190, + 0, + 0, + id="yes", + ), + pytest.param( + 191, + 0, + 0, + id="yes", + ), + pytest.param( + 192, + 0, + 0, + id="yes", + ), + pytest.param( + 193, + 0, + 0, + id="yes", + ), + pytest.param( + 194, + 0, + 0, + id="yes", + ), + pytest.param( + 195, + 0, + 0, + id="yes", + ), + pytest.param( + 196, + 0, + 0, + id="yes", + ), + pytest.param( + 197, + 0, + 0, + id="yes", + ), + pytest.param( + 198, + 0, + 0, + id="yes", + ), + pytest.param( + 199, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 200, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 201, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 202, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 203, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 204, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 205, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 206, + 0, + 0, + id="no", + ), + pytest.param( + 207, + 0, + 0, + id="no", + ), + pytest.param( + 208, + 0, + 0, + id="no", + ), + pytest.param( + 209, + 0, + 0, + id="yes", + ), + pytest.param( + 210, + 0, + 0, + id="yes", + ), + pytest.param( + 211, + 0, + 0, + id="yes", + ), + pytest.param( + 212, + 0, + 0, + id="yes", + ), + pytest.param( + 213, + 0, + 0, + id="yes", + ), + pytest.param( + 214, + 0, + 0, + id="yes", + ), + pytest.param( + 215, + 0, + 0, + id="yes", + ), + pytest.param( + 216, + 0, + 0, + id="yes", + ), + pytest.param( + 217, + 0, + 0, + id="yes", + ), + pytest.param( + 218, + 0, + 0, + id="yes", + ), + pytest.param( + 219, + 0, + 0, + id="yes", + ), + pytest.param( + 220, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 221, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 222, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 223, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 224, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 225, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 226, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 227, + 0, + 0, + id="no", + ), + pytest.param( + 228, + 0, + 0, + id="no", + ), + pytest.param( + 229, + 0, + 0, + id="no", + ), + pytest.param( + 230, + 0, + 0, + id="yes", + ), + pytest.param( + 231, + 0, + 0, + id="yes", + ), + pytest.param( + 232, + 0, + 0, + id="yes", + ), + pytest.param( + 233, + 0, + 0, + id="yes", + ), + pytest.param( + 234, + 0, + 0, + id="yes", + ), + pytest.param( + 235, + 0, + 0, + id="yes", + ), + pytest.param( + 236, + 0, + 0, + id="yes", + ), + pytest.param( + 237, + 0, + 0, + id="yes", + ), + pytest.param( + 238, + 0, + 0, + id="yes", + ), + pytest.param( + 239, + 0, + 0, + id="yes", + ), + pytest.param( + 240, + 0, + 0, + id="yes", + ), + pytest.param( + 241, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 242, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 243, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 244, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 245, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 246, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 247, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 248, + 0, + 0, + id="no", + ), + pytest.param( + 249, + 0, + 0, + id="no", + ), + pytest.param( + 250, + 0, + 0, + id="no", + ), + pytest.param( + 251, + 0, + 0, + id="yes", + ), + pytest.param( + 252, + 0, + 0, + id="yes", + ), + pytest.param( + 253, + 0, + 0, + id="yes", + ), + pytest.param( + 254, + 0, + 0, + id="yes", + ), + pytest.param( + 255, + 0, + 0, + id="yes", + ), + pytest.param( + 256, + 0, + 0, + id="yes", + ), + pytest.param( + 257, + 0, + 0, + id="yes", + ), + pytest.param( + 258, + 0, + 0, + id="yes", + ), + pytest.param( + 259, + 0, + 0, + id="yes", + ), + pytest.param( + 260, + 0, + 0, + id="yes", + ), + pytest.param( + 261, + 0, + 0, + id="yes", + ), + pytest.param( + 262, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 263, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 264, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 265, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 266, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 267, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 268, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 269, + 0, + 0, + id="no", + ), + pytest.param( + 270, + 0, + 0, + id="no", + ), + pytest.param( + 271, + 0, + 0, + id="no", + ), + pytest.param( + 272, + 0, + 0, + id="yes", + ), + pytest.param( + 273, + 0, + 0, + id="yes", + ), + pytest.param( + 274, + 0, + 0, + id="yes", + ), + pytest.param( + 275, + 0, + 0, + id="yes", + ), + pytest.param( + 276, + 0, + 0, + id="yes", + ), + pytest.param( + 277, + 0, + 0, + id="yes", + ), + pytest.param( + 278, + 0, + 0, + id="yes", + ), + pytest.param( + 279, + 0, + 0, + id="yes", + ), + pytest.param( + 280, + 0, + 0, + id="yes", + ), + pytest.param( + 281, + 0, + 0, + id="yes", + ), + pytest.param( + 282, + 0, + 0, + id="yes", + ), + pytest.param( + 283, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 284, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 285, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 286, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 287, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 288, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 289, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 290, + 0, + 0, + id="no", + ), + pytest.param( + 291, + 0, + 0, + id="no", + ), + pytest.param( + 292, + 0, + 0, + id="no", + ), + pytest.param( + 293, + 0, + 0, + id="yes", + ), + pytest.param( + 294, + 0, + 0, + id="yes", + ), + pytest.param( + 295, + 0, + 0, + id="yes", + ), + pytest.param( + 296, + 0, + 0, + id="yes", + ), + pytest.param( + 297, + 0, + 0, + id="yes", + ), + pytest.param( + 298, + 0, + 0, + id="yes", + ), + pytest.param( + 299, + 0, + 0, + id="yes", + ), + pytest.param( + 300, + 0, + 0, + id="yes", + ), + pytest.param( + 301, + 0, + 0, + id="yes", + ), + pytest.param( + 302, + 0, + 0, + id="yes", + ), + pytest.param( + 303, + 0, + 0, + id="yes", + ), + pytest.param( + 304, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 305, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 306, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 307, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 308, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 309, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 310, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 311, + 0, + 0, + id="no", + ), + pytest.param( + 312, + 0, + 0, + id="no", + ), + pytest.param( + 313, + 0, + 0, + id="no", + ), + pytest.param( + 314, + 0, + 0, + id="yes", + ), + pytest.param( + 315, + 0, + 0, + id="yes", + ), + pytest.param( + 316, + 0, + 0, + id="yes", + ), + pytest.param( + 317, + 0, + 0, + id="yes", + ), + pytest.param( + 318, + 0, + 0, + id="yes", + ), + pytest.param( + 319, + 0, + 0, + id="yes", + ), + pytest.param( + 320, + 0, + 0, + id="yes", + ), + pytest.param( + 321, + 0, + 0, + id="yes", + ), + pytest.param( + 322, + 0, + 0, + id="yes", + ), + pytest.param( + 323, + 0, + 0, + id="yes", + ), + pytest.param( + 324, + 0, + 0, + id="yes", + ), + pytest.param( + 325, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 326, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 327, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 328, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 329, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 330, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 331, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 332, + 0, + 0, + id="no", + ), + pytest.param( + 333, + 0, + 0, + id="no", + ), + pytest.param( + 334, + 0, + 0, + id="no", + ), + pytest.param( + 335, + 0, + 0, + id="yes", + ), + pytest.param( + 336, + 0, + 0, + id="yes", + ), + pytest.param( + 337, + 0, + 0, + id="yes", + ), + pytest.param( + 338, + 0, + 0, + id="yes", + ), + pytest.param( + 339, + 0, + 0, + id="yes", + ), + pytest.param( + 340, + 0, + 0, + id="yes", + ), + pytest.param( + 341, + 0, + 0, + id="yes", + ), + pytest.param( + 342, + 0, + 0, + id="yes", + ), + pytest.param( + 343, + 0, + 0, + id="yes", + ), + pytest.param( + 344, + 0, + 0, + id="yes", + ), + pytest.param( + 345, + 0, + 0, + id="yes", + ), + pytest.param( + 346, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 347, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 348, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 349, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 350, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 351, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 352, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 353, + 0, + 0, + id="no", + ), + pytest.param( + 354, + 0, + 0, + id="no", + ), + pytest.param( + 355, + 0, + 0, + id="no", + ), + pytest.param( + 356, + 0, + 0, + id="yes", + ), + pytest.param( + 357, + 0, + 0, + id="yes", + ), + pytest.param( + 358, + 0, + 0, + id="yes", + ), + pytest.param( + 359, + 0, + 0, + id="yes", + ), + pytest.param( + 360, + 0, + 0, + id="yes", + ), + pytest.param( + 361, + 0, + 0, + id="yes", + ), + pytest.param( + 362, + 0, + 0, + id="yes", + ), + pytest.param( + 363, + 0, + 0, + id="yes", + ), + pytest.param( + 364, + 0, + 0, + id="yes", + ), + pytest.param( + 365, + 0, + 0, + id="yes", + ), + pytest.param( + 366, + 0, + 0, + id="yes", + ), + pytest.param( + 367, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 368, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 369, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 370, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 371, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 372, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 373, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 374, + 0, + 0, + id="no", + ), + pytest.param( + 375, + 0, + 0, + id="no", + ), + pytest.param( + 376, + 0, + 0, + id="no", + ), + pytest.param( + 377, + 0, + 0, + id="yes", + ), + pytest.param( + 378, + 0, + 0, + id="yes", + ), + pytest.param( + 379, + 0, + 0, + id="yes", + ), + pytest.param( + 380, + 0, + 0, + id="yes", + ), + pytest.param( + 381, + 0, + 0, + id="yes", + ), + pytest.param( + 382, + 0, + 0, + id="yes", + ), + pytest.param( + 383, + 0, + 0, + id="yes", + ), + pytest.param( + 384, + 0, + 0, + id="yes", + ), + pytest.param( + 385, + 0, + 0, + id="yes", + ), + pytest.param( + 386, + 0, + 0, + id="yes", + ), + pytest.param( + 387, + 0, + 0, + id="yes", + ), + pytest.param( + 388, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 389, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 390, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 391, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 392, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 393, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 394, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 395, + 0, + 0, + id="no", + ), + pytest.param( + 396, + 0, + 0, + id="no", + ), + pytest.param( + 397, + 0, + 0, + id="no", + ), + pytest.param( + 398, + 0, + 0, + id="yes", + ), + pytest.param( + 399, + 0, + 0, + id="yes", + ), + pytest.param( + 400, + 0, + 0, + id="yes", + ), + pytest.param( + 401, + 0, + 0, + id="yes", + ), + pytest.param( + 402, + 0, + 0, + id="yes", + ), + pytest.param( + 403, + 0, + 0, + id="yes", + ), + pytest.param( + 404, + 0, + 0, + id="yes", + ), + pytest.param( + 405, + 0, + 0, + id="yes", + ), + pytest.param( + 406, + 0, + 0, + id="yes", + ), + pytest.param( + 407, + 0, + 0, + id="yes", + ), + pytest.param( + 408, + 0, + 0, + id="yes", + ), + pytest.param( + 409, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 410, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 411, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 412, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 413, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 414, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 415, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 416, + 0, + 0, + id="no", + ), + pytest.param( + 417, + 0, + 0, + id="no", + ), + pytest.param( + 418, + 0, + 0, + id="no", + ), + pytest.param( + 419, + 0, + 0, + id="yes", + ), + pytest.param( + 420, + 0, + 0, + id="yes", + ), + pytest.param( + 421, + 0, + 0, + id="yes", + ), + pytest.param( + 422, + 0, + 0, + id="yes", + ), + pytest.param( + 423, + 0, + 0, + id="yes", + ), + pytest.param( + 424, + 0, + 0, + id="yes", + ), + pytest.param( + 425, + 0, + 0, + id="yes", + ), + pytest.param( + 426, + 0, + 0, + id="yes", + ), + pytest.param( + 427, + 0, + 0, + id="yes", + ), + pytest.param( + 428, + 0, + 0, + id="yes", + ), + pytest.param( + 429, + 0, + 0, + id="yes", + ), + pytest.param( + 430, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 431, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 432, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 433, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 434, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 435, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 436, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 437, + 0, + 0, + id="no", + ), + pytest.param( + 438, + 0, + 0, + id="no", + ), + pytest.param( + 439, + 0, + 0, + id="no", + ), + pytest.param( + 440, + 0, + 0, + id="yes", + ), + pytest.param( + 441, + 0, + 0, + id="yes", + ), + pytest.param( + 442, + 0, + 0, + id="yes", + ), + pytest.param( + 443, + 0, + 0, + id="yes", + ), + pytest.param( + 444, + 0, + 0, + id="yes", + ), + pytest.param( + 445, + 0, + 0, + id="yes", + ), + pytest.param( + 446, + 0, + 0, + id="yes", + ), + pytest.param( + 447, + 0, + 0, + id="yes", + ), + pytest.param( + 448, + 0, + 0, + id="yes", + ), + pytest.param( + 449, + 0, + 0, + id="yes", + ), + pytest.param( + 450, + 0, + 0, + id="yes", + ), + pytest.param( + 451, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 452, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 453, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 454, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 455, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 456, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 457, + 0, + 0, + id="yes_from_prague", + ), + pytest.param( + 458, + 0, + 0, + id="no", + ), + pytest.param( + 459, + 0, + 0, + id="no", + ), + pytest.param( + 460, + 0, + 0, + id="no", + ), + pytest.param( + 461, + 0, + 0, + id="yes", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - "case424", - "case425", - "case426", - "case427", - "case428", - "case429", - "case430", - "case431", - "case432", - "case433", - "case434", - "case435", - "case436", - "case437", - "case438", - "case439", - "case440", - "case441", - "case442", - "case443", - "case444", - "case445", - "case446", - "case447", - "case448", - "case449", - "case450", - "case451", - "case452", - "case453", - "case454", - "case455", - "case456", - "case457", - "case458", - "case459", - "case460", - "case461", - ], ) @pytest.mark.pre_alloc_mutable -def test_precomps_eip2929_cancun_from_osaka( +def test_precomps_eip2929_cancun( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -14154,16 +2832,8 @@ def test_precomps_eip2929_cancun_from_osaka( gas_limit=71794957647893862, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x0, value=0x3) + Op.STOP, - address=Address("0x1338f76642a7a19cc50bdff45172cb6c2a7d20c0"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=Op.MSTORE(offset=0x0, value=0x3) + Op.STOP, - address=Address("0x7be86ffab69b0af1ed862ae6d8e1efa3e8438b79"), # noqa: E501 - ) - # Source: Yul + # Source: yul + # berlin optimise # { # let addrTest := calldataload(0x04) # let action := calldataload(0x24) @@ -14193,738 +2863,1890 @@ def test_precomps_eip2929_cancun_from_osaka( # case 0xf101 { # gas0 := gas() # pop(call(0x100000, addrTest, 1, 0, 0, 0, 0)) - # gas1 := gas() - # ... (155 more lines) - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x4) - + Op.CALLDATALOAD(offset=0x24) - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x100, value=0xDEADBEEF) - + Op.POP( - Op.CALL( - gas=0x100000, - address=0x7BE86FFAB69B0AF1ED862AE6D8E1EFA3E8438B79, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + # ... (156 more lines) + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x4) + + Op.CALLDATALOAD(offset=0x24) + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.PUSH1[0x0] + + Op.MSTORE(offset=0x100, value=0xDEADBEEF) + + Op.POP( + Op.CALL( + gas=0x100000, + address=0x7BE86FFAB69B0AF1ED862AE6D8E1EFA3E8438B79, + value=0x1, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.DUP6 - + Op.JUMPI(pc=0x101, condition=Op.EQ(Op.DUP2, 0xF100)) - + Op.JUMPI(pc=0x12D, condition=Op.EQ(Op.DUP2, 0xF101)) - + Op.JUMPI(pc=0x159, condition=Op.EQ(Op.DUP2, 0xF102)) - + Op.JUMPI(pc=0x185, condition=Op.EQ(Op.DUP2, 0xF103)) - + Op.JUMPI(pc=0x1B3, condition=Op.EQ(Op.DUP2, 0xF104)) - + Op.JUMPI(pc=0x1DF, condition=Op.EQ(Op.DUP2, 0xF105)) - + Op.JUMPI(pc=0x20D, condition=Op.EQ(Op.DUP2, 0xF200)) - + Op.JUMPI(pc=0x239, condition=Op.EQ(Op.DUP2, 0xF201)) - + Op.JUMPI(pc=0x265, condition=Op.EQ(Op.DUP2, 0xF202)) - + Op.JUMPI(pc=0x291, condition=Op.EQ(Op.DUP2, 0xF203)) - + Op.JUMPI(pc=0x2BF, condition=Op.EQ(Op.DUP2, 0xF204)) - + Op.JUMPI(pc=0x2EB, condition=Op.EQ(Op.DUP2, 0xF205)) - + Op.JUMPI(pc=0x319, condition=Op.EQ(Op.DUP2, 0xF400)) - + Op.JUMPI(pc=0x341, condition=Op.EQ(Op.DUP2, 0xF402)) - + Op.JUMPI(pc=0x36B, condition=Op.EQ(Op.DUP2, 0xF404)) - + Op.JUMPI(pc=0x395, condition=Op.EQ(Op.DUP2, 0xFA00)) - + Op.JUMPI(pc=0x3BD, condition=Op.EQ(Op.DUP2, 0xFA02)) - + Op.JUMPI(pc=0x3E7, condition=Op.EQ(Op.DUP2, 0xFA04)) - + Op.JUMPI(pc=0x411, condition=Op.EQ(Op.DUP2, 0x31)) - + Op.JUMPI(pc=0x427, condition=Op.EQ(Op.DUP2, 0x3B)) - + Op.JUMPI(pc=0x43D, condition=Op.EQ(Op.DUP2, 0x3C)) - + Op.JUMPI(pc=0x45B, condition=Op.EQ(Op.DUP2, 0x3F)) - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.DUP6 + + Op.JUMPI(pc=0x101, condition=Op.EQ(Op.DUP2, 0xF100)) + + Op.JUMPI(pc=0x12D, condition=Op.EQ(Op.DUP2, 0xF101)) + + Op.JUMPI(pc=0x159, condition=Op.EQ(Op.DUP2, 0xF102)) + + Op.JUMPI(pc=0x185, condition=Op.EQ(Op.DUP2, 0xF103)) + + Op.JUMPI(pc=0x1B3, condition=Op.EQ(Op.DUP2, 0xF104)) + + Op.JUMPI(pc=0x1DF, condition=Op.EQ(Op.DUP2, 0xF105)) + + Op.JUMPI(pc=0x20D, condition=Op.EQ(Op.DUP2, 0xF200)) + + Op.JUMPI(pc=0x239, condition=Op.EQ(Op.DUP2, 0xF201)) + + Op.JUMPI(pc=0x265, condition=Op.EQ(Op.DUP2, 0xF202)) + + Op.JUMPI(pc=0x291, condition=Op.EQ(Op.DUP2, 0xF203)) + + Op.JUMPI(pc=0x2BF, condition=Op.EQ(Op.DUP2, 0xF204)) + + Op.JUMPI(pc=0x2EB, condition=Op.EQ(Op.DUP2, 0xF205)) + + Op.JUMPI(pc=0x319, condition=Op.EQ(Op.DUP2, 0xF400)) + + Op.JUMPI(pc=0x341, condition=Op.EQ(Op.DUP2, 0xF402)) + + Op.JUMPI(pc=0x36B, condition=Op.EQ(Op.DUP2, 0xF404)) + + Op.JUMPI(pc=0x395, condition=Op.EQ(Op.DUP2, 0xFA00)) + + Op.JUMPI(pc=0x3BD, condition=Op.EQ(Op.DUP2, 0xFA02)) + + Op.JUMPI(pc=0x3E7, condition=Op.EQ(Op.DUP2, 0xFA04)) + + Op.JUMPI(pc=0x411, condition=Op.EQ(Op.DUP2, 0x31)) + + Op.JUMPI(pc=0x427, condition=Op.EQ(Op.DUP2, 0x3B)) + + Op.JUMPI(pc=0x43D, condition=Op.EQ(Op.DUP2, 0x3C)) + + Op.JUMPI(pc=0x45B, condition=Op.EQ(Op.DUP2, 0x3F)) + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=0x0, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=0x0, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=Op.DUP1, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=Op.DUP1, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=Op.DUP1, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=Op.DUP1, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALL( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALL( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=0x0, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x0, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=0x0, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=Op.DUP1, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=Op.DUP1, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=Op.DUP1, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=Op.DUP1, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.CALLCODE( - gas=0x100000, - address=Op.DUP13, - value=0x1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.CALLCODE( + gas=0x100000, + address=Op.DUP13, + value=0x1, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.DELEGATECALL( + gas=0x100000, + address=Op.DUP12, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.DELEGATECALL( + gas=0x100000, + address=Op.DUP12, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.DELEGATECALL( + gas=0x100000, + address=Op.DUP12, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.DELEGATECALL( + gas=0x100000, + address=Op.DUP12, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.DELEGATECALL( + gas=0x100000, + address=Op.DUP12, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.DELEGATECALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.DELEGATECALL( + gas=0x100000, + address=Op.DUP12, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.STATICCALL( + gas=0x100000, + address=Op.DUP12, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=Op.DUP1, - args_size=0x0, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.STATICCALL( + gas=0x100000, + address=Op.DUP12, + args_offset=Op.DUP1, + args_size=0x0, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.STATICCALL( + gas=0x100000, + address=Op.DUP12, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=0x1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.STATICCALL( + gas=0x100000, + address=Op.DUP12, + args_offset=0x0, + args_size=0x1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.POP( + Op.STATICCALL( + gas=0x100000, + address=Op.DUP12, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.POP( - Op.STATICCALL( - gas=0x100000, - address=Op.DUP12, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x0, - ret_size=0x1, - ), + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.POP( + Op.STATICCALL( + gas=0x100000, + address=Op.DUP12, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x0, + ret_size=0x1, ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.BALANCE(address=Op.DUP8) - + Op.SWAP3 - + Op.POP - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.BALANCE(address=Op.DUP8) - + Op.SWAP2 - + Op.POP - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.EXTCODESIZE(address=Op.DUP8) - + Op.SWAP3 - + Op.POP - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.EXTCODESIZE(address=Op.DUP8) - + Op.SWAP2 - + Op.POP - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.EXTCODECOPY( - address=Op.DUP11, - dest_offset=Op.DUP1, - offset=0x0, - size=0x100, - ) - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.EXTCODECOPY( - address=Op.DUP11, - dest_offset=Op.DUP1, - offset=0x0, - size=0x100, - ) - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x46D) - + Op.JUMPDEST - + Op.GAS - + Op.SWAP6 - + Op.POP - + Op.EXTCODEHASH(address=Op.DUP8) - + Op.SWAP3 - + Op.POP - + Op.GAS - + Op.SWAP5 - + Op.POP - + Op.EXTCODEHASH(address=Op.DUP8) - + Op.SWAP2 - + Op.POP - + Op.GAS - + Op.SWAP4 - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.SUB(Op.DUP6, Op.DUP4) - + Op.SUB(Op.DUP6, Op.DUP4) - + Op.SSTORE(key=0x0, value=Op.EQ(Op.DUP3, Op.DUP1)) - + Op.SSTORE(key=0x1, value=Op.SUB(Op.DUP3, Op.DUP1)) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - ), - storage={0x0: 0x60A7, 0x1: 0x60A7}, - address=Address("0x858295015aff9cfdb96c3c2ec19f7ac654871b6c"), # noqa: E501 + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.BALANCE(address=Op.DUP8) + + Op.SWAP3 + + Op.POP + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.BALANCE(address=Op.DUP8) + + Op.SWAP2 + + Op.POP + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.EXTCODESIZE(address=Op.DUP8) + + Op.SWAP3 + + Op.POP + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.EXTCODESIZE(address=Op.DUP8) + + Op.SWAP2 + + Op.POP + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.EXTCODECOPY( + address=Op.DUP11, dest_offset=Op.DUP1, offset=0x0, size=0x100 + ) + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.EXTCODECOPY( + address=Op.DUP11, dest_offset=Op.DUP1, offset=0x0, size=0x100 + ) + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x46D) + + Op.JUMPDEST + + Op.GAS + + Op.SWAP6 + + Op.POP + + Op.EXTCODEHASH(address=Op.DUP8) + + Op.SWAP3 + + Op.POP + + Op.GAS + + Op.SWAP5 + + Op.POP + + Op.EXTCODEHASH(address=Op.DUP8) + + Op.SWAP2 + + Op.POP + + Op.GAS + + Op.SWAP4 + + Op.POP + + Op.JUMPDEST + + Op.POP + + Op.SUB(Op.DUP6, Op.DUP4) * 2 + + Op.SSTORE(key=0x0, value=Op.EQ(Op.DUP3, Op.DUP1)) + + Op.SSTORE(key=0x1, value=Op.SUB(Op.DUP3, Op.DUP1)) + + Op.POP * 9, + storage={0: 24743, 1: 24743}, + nonce=1, + address=Address(0x858295015AFF9CFDB96C3C2EC19F7AC654871B6C), # noqa: E501 + ) + # Source: yul + # berlin + # { + # mstore(0,add(1,2)) + # } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x3) + Op.STOP, + nonce=1, + address=Address(0x1338F76642A7A19CC50BDFF45172CB6C2A7D20C0), # noqa: E501 + ) + # Source: yul + # berlin + # { + # mstore(0,add(1,2)) + # } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x3) + Op.STOP, + nonce=1, + address=Address(0x7BE86FFAB69B0AF1ED862AE6D8E1EFA3E8438B79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 29, + 30, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 62, + 70, + 71, + 72, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 104, + 113, + 114, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 461, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 0})}, + }, + { + "indexes": { + "data": [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Prague"], + "result": {target: Account(storage={0: 1, 1: 0})}, + }, + { + "indexes": { + "data": [ + 0, + 1, + 395, + 396, + 269, + 270, + 143, + 144, + 145, + 271, + 397, + 20, + 416, + 417, + 290, + 291, + 164, + 165, + 166, + 292, + 40, + 418, + 437, + 438, + 311, + 312, + 185, + 186, + 59, + 60, + 61, + 187, + 313, + 439, + 458, + 459, + 332, + 333, + 206, + 207, + 208, + 334, + 82, + 460, + 353, + 354, + 227, + 228, + 101, + 102, + 103, + 229, + 355, + 376, + 374, + 375, + 248, + 249, + 250, + 124, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0, 1: 2500})}, + }, + { + "indexes": { + "data": [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + ], + "gas": -1, + "value": -1, + }, + "network": ["Cancun"], + "result": {target: Account(storage={0: 0, 1: 2500})}, + }, + { + "indexes": { + "data": [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0, 1: 25000})}, + }, + { + "indexes": { + "data": [38, 39, 80, 81, 122, 123], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0, 1: 27500})}, + }, + { + "indexes": { + "data": [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + ], + "gas": -1, + "value": -1, + }, + "network": ["Cancun"], + "result": {target: Account(storage={0: 0, 1: 27500})}, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF100), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF100), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF100), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF101), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF101), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF101), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF102), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF102), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF102), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF103), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF103), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF103), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF104), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF104), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF104), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF105), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF105), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF105), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF200), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF200), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF200), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF201), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF201), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF201), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF202), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF202), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF202), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF203), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF203), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF203), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF204), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF204), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF204), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF205), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF205), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF205), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF400), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF400), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF400), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF402), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF402), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF402), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xF404), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xF404), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xF404), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xFA00), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xFA02), + Bytes("1a8451e6") + Hash(0x1) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x2) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x3) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x4) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x5) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x6) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x7) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x8) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x9) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0xA) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0xB) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0xC) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0xD) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0xE) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0xF) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x10) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x11) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x12) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0xFA04), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x5) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x6) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x7) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x8) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x9) + Hash(0x31), + Bytes("1a8451e6") + Hash(0xA) + Hash(0x31), + Bytes("1a8451e6") + Hash(0xB) + Hash(0x31), + Bytes("1a8451e6") + Hash(0xC) + Hash(0x31), + Bytes("1a8451e6") + Hash(0xD) + Hash(0x31), + Bytes("1a8451e6") + Hash(0xE) + Hash(0x31), + Bytes("1a8451e6") + Hash(0xF) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x10) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x11) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x12) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0x31), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0x31), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0x31), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x5) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x6) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x7) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x8) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x9) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0xA) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0xB) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0xC) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0xD) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0xE) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0xF) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x10) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x11) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x12) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0x3F), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0x3F), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0x3F), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x5) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x6) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x7) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x8) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x9) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0xA) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0xB) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0xC) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0xD) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0xE) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0xF) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x10) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x11) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x12) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0x3C), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0x3C), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0x3C), + Bytes("1a8451e6") + Hash(0x1) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x2) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x3) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x5) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x6) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x7) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x8) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x9) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0xA) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0xB) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0xC) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0xD) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0xE) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0xF) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x10) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x11) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x12) + Hash(0x3B), + Bytes("1a8451e6") + Hash(0x100000) + Hash(0x3B), + Bytes("1a8451e6") + Hash(addr, left_padding=True) + Hash(0x3B), + Bytes("1a8451e6") + Hash(addr_2, left_padding=True) + Hash(0x3B), + ] + tx_gas = [16777216] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts/test_sec80.py b/tests/ported_static/stPreCompiledContracts/test_sec80.py index e3635a52885..b0a5de2af25 100644 --- a/tests/ported_static/stPreCompiledContracts/test_sec80.py +++ b/tests/ported_static/stPreCompiledContracts/test_sec80.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sec80. Ported from: -tests/static/state_tests/stPreCompiledContracts/sec80Filler.json +state_tests/stPreCompiledContracts/sec80Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stPreCompiledContracts/sec80Filler.json"], + ["state_tests/stPreCompiledContracts/sec80Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sec80( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sec80.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,69 +46,67 @@ def test_sec80( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMP(pc=0x1B) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.PUSH4[0xBADF00D] - + Op.JUMP(pc=0x3) - + Op.JUMPDEST - + Op.PUSH4[0xC001F00D] - + Op.JUMP(pc=0x3) - + Op.JUMPDEST - + Op.PUSH20[0x19E7E376E7C213B7E7E7E46CC70A5DD086DAFF2A] - + Op.MSTORE( - offset=0x0, - value=0x22AE6DA6B482F9B1B19B0B897C3FD43884180A1C5EE361E1107A1BC635649DDA, # noqa: E501 - ) - + Op.MSTORE8(offset=0x3F, value=0x1B) - + Op.MSTORE( - offset=0x40, - value=0x16433DCE375CE6DC8151D3F0A22728BC4A1D9FD6ED39DFD18B4609331937367F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x306964C0CF5D74F04129FDC60B54D35B596DDE1BF89AD92CB4123318F4C0E400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x7, - condition=Op.ISZERO( - Op.CALLCODE( - gas=0xFFFF, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x7F, - ret_offset=0x80, - ret_size=0x20, - ), - ), - ) - + Op.MLOAD(offset=0x80) - + Op.JUMPI(pc=0x12, condition=Op.EQ) - + Op.JUMP(pc=0x9) - ), + # Source: raw + # 0x601b565b6000555b005b630badf00d6003565b63c001f00d6003565b7319e7e376e7c213b7e7e7e46cc70a5dd086daff2a7f22ae6da6b482f9b1b19b0b897c3fd43884180a1c5ee361e1107a1bc635649dda600052601b603f537f16433dce375ce6dc8151d3f0a22728bc4a1d9fd6ed39dfd18b4609331937367f6040527f306964c0cf5d74f04129fdc60b54d35b596dde1bf89ad92cb4123318f4c0e40060605260206080607f60006000600161fffff21560075760805114601257600956 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0x1B) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SSTORE + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.PUSH4[0xBADF00D] + + Op.JUMP(pc=0x3) + + Op.JUMPDEST + + Op.PUSH4[0xC001F00D] + + Op.JUMP(pc=0x3) + + Op.JUMPDEST + + Op.PUSH20[0x19E7E376E7C213B7E7E7E46CC70A5DD086DAFF2A] + + Op.MSTORE( + offset=0x0, + value=0x22AE6DA6B482F9B1B19B0B897C3FD43884180A1C5EE361E1107A1BC635649DDA, # noqa: E501 + ) + + Op.MSTORE8(offset=0x3F, value=0x1B) + + Op.MSTORE( + offset=0x40, + value=0x16433DCE375CE6DC8151D3F0A22728BC4A1D9FD6ED39DFD18B4609331937367F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x306964C0CF5D74F04129FDC60B54D35B596DDE1BF89AD92CB4123318F4C0E400, # noqa: E501 + ) + + Op.JUMPI( + pc=0x7, + condition=Op.ISZERO( + Op.CALLCODE( + gas=0xFFFF, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x7F, + ret_offset=0x80, + ret_size=0x20, + ) + ), + ) + + Op.MLOAD(offset=0x80) + + Op.JUMPI(pc=0x12, condition=Op.EQ) + + Op.JUMP(pc=0x9), balance=0x1312D00, nonce=0, - address=Address("0x39c2fbd2d4e46fa75775649472ddb79e836160b0"), # noqa: E501 + address=Address(0x39C2FBD2D4E46FA75775649472DDB79E836160B0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 0xC001F00D}), - } + post = {target: Account(storage={0: 0xC001F00D})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/__init__.py b/tests/ported_static/stPreCompiledContracts2/__init__.py index 81317f37d2a..8778acc4c4e 100644 --- a/tests/ported_static/stPreCompiledContracts2/__init__.py +++ b/tests/ported_static/stPreCompiledContracts2/__init__.py @@ -1 +1 @@ -"""Tests ported from stPreCompiledContracts2.""" +"""Ported static tests: stPreCompiledContracts2.""" # noqa: N999 diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0.py index 282127f8b7d..de149aa5a2c 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover0. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallEcrecover0Filler.json +state_tests/stPreCompiledContracts2/CallEcrecover0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover0Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallEcrecover0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_call_ecrecover0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,57 +47,55 @@ def test_call_ecrecover0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_0input.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_0input.py index 9de3178ff8d..0f2b601cce9 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_0input.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_0input.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover0_0input. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecover0_0inputFiller.json +state_tests/stPreCompiledContracts2/CallEcrecover0_0inputFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover0_0inputFiller.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallEcrecover0_0inputFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_call_ecrecover0_0input( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover0_0input.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,43 +46,39 @@ def test_call_ecrecover0_0input( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (CALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x6988d3cd2c65677341d1e302439627344dfb1c82"), # noqa: E501 + address=Address(0x6988D3CD2C65677341D1E302439627344DFB1C82), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_complete_return_value.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_complete_return_value.py index 8852cea76b7..90a04e42c17 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_complete_return_value.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_complete_return_value.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover0_complete_return_value. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecover0_completeReturnValueFiller.json +state_tests/stPreCompiledContracts2/CallEcrecover0_completeReturnValueFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover0_completeReturnValueFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallEcrecover0_completeReturnValueFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_call_ecrecover0_complete_return_value( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover0_complete_return_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,53 +49,52 @@ def test_call_ecrecover0_complete_return_value( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 3000 1 0 0 128 128 32) [[ 0 ]] (MLOAD 128) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xBB8, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xBB8, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_gas2999.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_gas2999.py index e533107143a..b58b7e89146 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_gas2999.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_gas2999.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover0_gas2999. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecover0_Gas2999Filler.json +state_tests/stPreCompiledContracts2/CallEcrecover0_Gas2999Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover0_Gas2999Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallEcrecover0_Gas2999Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_call_ecrecover0_gas2999( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover0_gas2999.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,55 +46,53 @@ def test_call_ecrecover0_gas2999( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 2999 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xBB7, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xBB7, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x34bc8d999c6ffd2df1999d36424d37aa91286fa3"), # noqa: E501 + address=Address(0x34BC8D999C6FFD2DF1999D36424D37AA91286FA3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={2: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_gas3000.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_gas3000.py index 0ef1acfb1ad..d95b758fde6 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_gas3000.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_gas3000.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover0_gas3000. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecover0_gas3000Filler.json +state_tests/stPreCompiledContracts2/CallEcrecover0_gas3000Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover0_gas3000Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallEcrecover0_gas3000Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,9 @@ def test_call_ecrecover0_gas3000( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover0_gas3000.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,57 +47,55 @@ def test_call_ecrecover0_gas3000( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 3000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0xBB8, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0xBB8, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_no_gas.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_no_gas.py index 8390bead2a5..c2bb521a6c5 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_no_gas.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_no_gas.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover0_no_gas. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecover0_NoGasFiller.json +state_tests/stPreCompiledContracts2/CallEcrecover0_NoGasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover0_NoGasFiller.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallEcrecover0_NoGasFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_call_ecrecover0_no_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover0_no_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,56 +46,54 @@ def test_call_ecrecover0_no_gas( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 0 1 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x0, - address=0x1, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), - storage={0x0: 0xC, 0x1: 0xC, 0x2: 0xC}, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x0, + address=0x1, + value=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, + storage={0: 12, 1: 12, 2: 12}, balance=0x1312D00, nonce=0, - address=Address("0x9f2e40fca484bdcf92b52e622eed58d6a3df731f"), # noqa: E501 + address=Address(0x9F2E40FCA484BDCF92B52E622EED58D6A3DF731F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_overlapping_input_output.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_overlapping_input_output.py index db9d2bdd4eb..2c23599a76f 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_overlapping_input_output.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover0_overlapping_input_output.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover0_overlapping_input_output. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecover0_overlappingInputOutputFiller.json +state_tests/stPreCompiledContracts2/CallEcrecover0_overlappingInputOutputFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover0_overlappingInputOutputFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallEcrecover0_overlappingInputOutputFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_call_ecrecover0_overlapping_input_output( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover0_overlapping_input_output.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,57 +49,55 @@ def test_call_ecrecover0_overlapping_input_output( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 300000 1 0 0 128 64 32) [[ 0 ]] (MOD (MLOAD 64) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x40, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x40), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x40, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x40), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover1.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover1.py index f89bf0434fc..8f4c341d7ab 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover1.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover1. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallEcrecover1Filler.json +state_tests/stPreCompiledContracts2/CallEcrecover1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover1Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallEcrecover1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_ecrecover1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,57 +46,53 @@ def test_call_ecrecover1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 1) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 100000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x186A0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x186A0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x62549a73a158b67fdc175b0d94fc2826963fc3c2"), # noqa: E501 + address=Address(0x62549A73A158B67FDC175B0D94FC2826963FC3C2), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover2.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover2.py index 1ad8f84b976..03b12b13eee 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover2.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover2. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallEcrecover2Filler.json +state_tests/stPreCompiledContracts2/CallEcrecover2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover2Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallEcrecover2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_ecrecover2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,57 +46,53 @@ def test_call_ecrecover2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 33 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 65 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 100000 1 0 0 97 97 32) [[ 0 ]] (MOD (MLOAD 97) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x21, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x41, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x186A0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x61, - ret_offset=0x61, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x61), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x21, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x41, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x186A0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x61, + ret_offset=0x61, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x61), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x42aa64fdfc0af7140da38474659ae0ab48aba824"), # noqa: E501 + address=Address(0x42AA64FDFC0AF7140DA38474659AE0AB48ABA824), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover3.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover3.py index 693b8d94e26..832ba719e2e 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover3.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover3. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallEcrecover3Filler.json +state_tests/stPreCompiledContracts2/CallEcrecover3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover3Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallEcrecover3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_ecrecover3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,57 +46,55 @@ def test_call_ecrecover3( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x2f380a2dea7e778d81affc2443403b8fe4644db442ae4862ff5bb3732829cdb9) (MSTORE 32 27) (MSTORE 64 0x6b65ccb0558806e9b097f27a396d08f964e37b8b7af6ceeb516ff86739fbea0a) (MSTORE 96 0x37cbc8d883e129a4b1ef9d5f1df53c4f21a3ef147cf2a50a4ede0eb06ce092d4) [[ 2 ]] (CALL 100000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x2F380A2DEA7E778D81AFFC2443403B8FE4644DB442AE4862FF5BB3732829CDB9, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1B) - + Op.MSTORE( - offset=0x40, - value=0x6B65CCB0558806E9B097F27A396D08F964E37B8B7AF6CEEB516FF86739FBEA0A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x37CBC8D883E129A4B1EF9D5F1DF53C4F21A3EF147CF2A50A4EDE0EB06CE092D4, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x186A0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x2F380A2DEA7E778D81AFFC2443403B8FE4644DB442AE4862FF5BB3732829CDB9, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1B) + + Op.MSTORE( + offset=0x40, + value=0x6B65CCB0558806E9B097F27A396D08F964E37B8B7AF6CEEB516FF86739FBEA0A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x37CBC8D883E129A4B1EF9D5F1DF53C4F21A3EF147CF2A50A4EDE0EB06CE092D4, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x186A0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x28d98d7cc227972a80fa4a16964272bf8738d792"), # noqa: E501 + address=Address(0x28D98D7CC227972A80FA4A16964272BF8738D792), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xE4319F4B631C6D0FCFC84045DBCB676865FE5E13, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover80.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover80.py index 2c281693aac..11ab45c55af 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover80.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover80.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover80. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallEcrecover80Filler.json +state_tests/stPreCompiledContracts2/CallEcrecover80Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover80Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallEcrecover80Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_ecrecover80( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover80.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,57 +46,53 @@ def test_call_ecrecover80( gas_limit=10000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xf5e90f13aa1637ba33175ea73221dd55443a6d5b"), # noqa: E501 + address=Address(0xF5E90F13AA1637BA33175EA73221DD55443A6D5B), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={0: 0, 1: 0, 2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_check_length.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_check_length.py index 0593a2ed626..0bd9f4717d7 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_check_length.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_check_length.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover_check_length. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecoverCheckLengthFiller.json +state_tests/stPreCompiledContracts2/CallEcrecoverCheckLengthFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecoverCheckLengthFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallEcrecoverCheckLengthFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_call_ecrecover_check_length( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover_check_length.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,58 +49,57 @@ def test_call_ecrecover_check_length( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 128 0x1122334455667788990011223344556677889900112233445566778899001122) (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 300000 1 0 0 128 128 32) [[ 0 ]] (MLOAD 128) [[ 1 ]] (MSIZE) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x80, - value=0x1122334455667788990011223344556677889900112233445566778899001122, # noqa: E501 - ) - + Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) - + Op.SSTORE(key=0x1, value=Op.MSIZE) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x80, + value=0x1122334455667788990011223344556677889900112233445566778899001122, # noqa: E501 + ) + + Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) + + Op.SSTORE(key=0x1, value=Op.MSIZE) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 160, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_check_length_wrong_v.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_check_length_wrong_v.py index e185361ca90..53269df2492 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_check_length_wrong_v.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_check_length_wrong_v.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover_check_length_wrong_v. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecoverCheckLengthWrongVFiller.json +state_tests/stPreCompiledContracts2/CallEcrecoverCheckLengthWrongVFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecoverCheckLengthWrongVFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallEcrecoverCheckLengthWrongVFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_ecrecover_check_length_wrong_v( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover_check_length_wrong_v.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,58 +48,57 @@ def test_call_ecrecover_check_length_wrong_v( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 128 0x1122334455667788990011223344556677889900112233445566778899001122) (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 29) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 300000 1 0 0 128 128 32) [[ 0 ]] (MLOAD 128) [[ 1 ]] (MSIZE) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x80, - value=0x1122334455667788990011223344556677889900112233445566778899001122, # noqa: E501 - ) - + Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1D) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) - + Op.SSTORE(key=0x1, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x80, + value=0x1122334455667788990011223344556677889900112233445566778899001122, # noqa: E501 + ) + + Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1D) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) + + Op.SSTORE(key=0x1, value=Op.MSIZE) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x5cc93303c292c9573fa7de40ff6281b18dbf491e"), # noqa: E501 + address=Address(0x5CC93303C292C9573FA7DE40FF6281B18DBF491E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x1122334455667788990011223344556677889900112233445566778899001122, # noqa: E501 1: 160, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_h_prefixed0.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_h_prefixed0.py index 7c71c584c2c..cb33c065ef0 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_h_prefixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_h_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover_h_prefixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecoverH_prefixed0Filler.json +state_tests/stPreCompiledContracts2/CallEcrecoverH_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecoverH_prefixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallEcrecoverH_prefixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_ecrecover_h_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover_h_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,59 +48,58 @@ def test_call_ecrecover_h_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x7b80a19cd6f97e5150a04b81956a57115c477c33"), # noqa: E501 + address=Address(0x7B80A19CD6F97E5150A04B81956A57115C477C33), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xA0B29AF6A56D6CFEF6415CB195CCBE540E006D0A, + 1: 0, 2: 1, }, ), diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_invalid_signature.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_invalid_signature.py index dbfa8651e41..298b6040045 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_invalid_signature.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_invalid_signature.py @@ -1,9 +1,8 @@ """ -CALL to ECREC precompile with input which is a completely invalid signature... +CALL to ECREC precompile with input which is a completely invalid... Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecoverInvalidSignatureFiller.json +state_tests/stPreCompiledContracts2/CallEcrecoverInvalidSignatureFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecoverInvalidSignatureFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallEcrecoverInvalidSignatureFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_call_ecrecover_invalid_signature( pre: Alloc, ) -> None: """CALL to ECREC precompile with input which is a completely invalid...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,43 +48,42 @@ def test_call_ecrecover_invalid_signature( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 128 0x1122334455667788991011121314151617181920212223242526272829303132) (CALL 300000 1 0 0 128 128 32) [[ 0 ]] (MLOAD 128) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x80, - value=0x1122334455667788991011121314151617181920212223242526272829303132, # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x80, + value=0x1122334455667788991011121314151617181920212223242526272829303132, # noqa: E501 + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, ) - + Op.POP( - Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x2b8fd4adb0602fe9ee5823b0576f619daefbd369"), # noqa: E501 + address=Address(0x2B8FD4ADB0602FE9EE5823B0576F619DAEFBD369), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x1122334455667788991011121314151617181920212223242526272829303132, # noqa: E501 }, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_overflow.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_overflow.py index b3f9d4f3f1a..8e8e11fb146 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_overflow.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_overflow.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover_overflow. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecover_OverflowFiller.yml +state_tests/stPreCompiledContracts2/CallEcrecover_OverflowFiller.yml """ import pytest @@ -12,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,108 +28,73 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecover_OverflowFiller.yml", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallEcrecover_OverflowFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "917694f918c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c000000000000000000000000000000000000000000000000000000000000001cfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641421fffd310ac743f371de3b9f7f9cb56c0b28ad43601b4ab949f53faa07bd2c804", # noqa: E501 - { - Address("0xdb8963071feae3b63e19d9d7af8ee89a92e99356"): Account( - storage={0: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="fail", ), - ( - "917694f918c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c000000000000000000000000000000000000000000000000000000000000001cfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140efffd310ac743f371de3b9f7f9cb56c0b28ad43601b4ab949f53faa07bd2c804", # noqa: E501 - { - Address("0xdb8963071feae3b63e19d9d7af8ee89a92e99356"): Account( - storage={0: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="fail", ), - ( - "917694f918c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c000000000000000000000000000000000000000000000000000000000000001c48b55bfa915ac795c431978d8a6a992b628d557da5ff759b307d495a36649353fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", # noqa: E501 - { - Address("0xdb8963071feae3b63e19d9d7af8ee89a92e99356"): Account( - storage={0: 1} - ) - }, + pytest.param( + 2, + 0, + 0, + id="fail", ), - ( - "917694f918c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c000000000000000000000000000000000000000000000000000000000000001c48b55bfa915ac795c431978d8a6a992b628d557da5ff759b307d495a36649353fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142", # noqa: E501 - { - Address("0xdb8963071feae3b63e19d9d7af8ee89a92e99356"): Account( - storage={0: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="pass01", ), - ( - "917694f918c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c000000000000000000000000000000000000000000000000000000000000001cfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641411fffd310ac743f371de3b9f7f9cb56c0b28ad43601b4ab949f53faa07bd2c804", # noqa: E501 - { - Address("0xdb8963071feae3b63e19d9d7af8ee89a92e99356"): Account( - storage={0: 1} - ) - }, + pytest.param( + 4, + 0, + 0, + id="fail", ), - ( - "917694f918c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c000000000000000000000000000000000000000000000000000000000000001cfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413fefffd310ac743f371de3b9f7f9cb56c0b28ad43601b4ab949f53faa07bd2c804", # noqa: E501 - { - Address("0xdb8963071feae3b63e19d9d7af8ee89a92e99356"): Account( - storage={ - 0: 1, - 1: 0x2182DA748249A933BF737586B80212DF19B8F829, - } - ) - }, + pytest.param( + 5, + 0, + 0, + id="fail", ), - ( - "917694f918c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c000000000000000000000000000000000000000000000000000000000000001c48b55bfa915ac795c431978d8a6a992b628d557da5ff759b307d495a36649353fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140", # noqa: E501 - { - Address("0xdb8963071feae3b63e19d9d7af8ee89a92e99356"): Account( - storage={ - 0: 1, - 1: 0x1B85AC3C9B09DE43659C5D04A2D9C75457D9ABF4, - } - ) - }, + pytest.param( + 6, + 0, + 0, + id="pass02", ), - ( - "917694f918c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c000000000000000000000000000000000000000000000000000000000000001c48b55bfa915ac795c431978d8a6a992b628d557da5ff759b307d495a36649353fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413f", # noqa: E501 - { - Address("0xdb8963071feae3b63e19d9d7af8ee89a92e99356"): Account( - storage={ - 0: 1, - 1: 0xD0277C8A3ECCD462A313FC60161BAC36B16E8699, - } - ) - }, + pytest.param( + 7, + 0, + 0, + id="pass03", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - ], ) @pytest.mark.pre_alloc_mutable def test_call_ecrecover_overflow( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover_overflow.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -138,8 +108,8 @@ def test_call_ecrecover_overflow( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: Yul + # Source: yul + # berlin # { # // Copy Hash, V, R, S values # calldatacopy(0x00, 0x04, 0x80) @@ -148,38 +118,173 @@ def test_call_ecrecover_overflow( # sstore(0, call(3000, 1, 0, 0, 0x80, 0x80, 0x20)) # sstore(1, mload(0x80)) # } - contract = pre.deploy_contract( - code=( - Op.CALLDATACOPY(dest_offset=0x0, offset=0x4, size=0x80) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xBB8, - address=0x1, - value=Op.DUP1, - args_offset=0x0, - args_size=Op.DUP1, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATACOPY(dest_offset=0x0, offset=0x4, size=0x80) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xBB8, + address=0x1, + value=Op.DUP1, + args_offset=0x0, + args_size=Op.DUP1, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, nonce=0, - address=Address("0xdb8963071feae3b63e19d9d7af8ee89a92e99356"), # noqa: E501 + address=Address(0xDB8963071FEAE3B63E19D9D7AF8EE89A92E99356), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1, 2, 4, 5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 0})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 1, + 1: 0x2182DA748249A933BF737586B80212DF19B8F829, + }, + ), + }, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 1, + 1: 0x1B85AC3C9B09DE43659C5D04A2D9C75457D9ABF4, + }, + ), + }, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 1, + 1: 0xD0277C8A3ECCD462A313FC60161BAC36B16E8699, + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("917694f9") + + Hash( + 0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C + ) + + Hash(0x1C) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 + ) + + Hash( + 0x1FFFD310AC743F371DE3B9F7F9CB56C0B28AD43601B4AB949F53FAA07BD2C804 + ), + Bytes("917694f9") + + Hash( + 0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C + ) + + Hash(0x1C) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364142 + ) + + Hash( + 0x1FFFD310AC743F371DE3B9F7F9CB56C0B28AD43601B4AB949F53FAA07BD2C804 + ), + Bytes("917694f9") + + Hash( + 0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C + ) + + Hash(0x1C) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140 + ) + + Hash( + 0xEFFFD310AC743F371DE3B9F7F9CB56C0B28AD43601B4AB949F53FAA07BD2C804 + ), + Bytes("917694f9") + + Hash( + 0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C + ) + + Hash(0x1C) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD036413F + ) + + Hash( + 0xEFFFD310AC743F371DE3B9F7F9CB56C0B28AD43601B4AB949F53FAA07BD2C804 + ), + Bytes("917694f9") + + Hash( + 0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C + ) + + Hash(0x1C) + + Hash( + 0x48B55BFA915AC795C431978D8A6A992B628D557DA5FF759B307D495A36649353 + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 + ), + Bytes("917694f9") + + Hash( + 0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C + ) + + Hash(0x1C) + + Hash( + 0x48B55BFA915AC795C431978D8A6A992B628D557DA5FF759B307D495A36649353 + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364142 + ), + Bytes("917694f9") + + Hash( + 0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C + ) + + Hash(0x1C) + + Hash( + 0x48B55BFA915AC795C431978D8A6A992B628D557DA5FF759B307D495A36649353 + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140 + ), + Bytes("917694f9") + + Hash( + 0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C + ) + + Hash(0x1C) + + Hash( + 0x48B55BFA915AC795C431978D8A6A992B628D557DA5FF759B307D495A36649353 + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD036413F + ), + ] + tx_gas = [100000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=100000, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_r_prefixed0.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_r_prefixed0.py index 3b1574515b0..234dcdf9f4e 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_r_prefixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_r_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover_r_prefixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecoverR_prefixed0Filler.json +state_tests/stPreCompiledContracts2/CallEcrecoverR_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecoverR_prefixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallEcrecoverR_prefixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_ecrecover_r_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover_r_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,57 +48,53 @@ def test_call_ecrecover_r_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x0453735a25df75808cceb79d037904a5007c2058"), # noqa: E501 + address=Address(0x0453735A25DF75808CCEB79D037904A5007C2058), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={0: 0, 1: 0, 2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_s_prefixed0.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_s_prefixed0.py index 3f7ede43ba1..4a1eada93ba 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_s_prefixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_s_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover_s_prefixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecoverS_prefixed0Filler.json +state_tests/stPreCompiledContracts2/CallEcrecoverS_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecoverS_prefixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallEcrecoverS_prefixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_ecrecover_s_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover_s_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,59 +48,58 @@ def test_call_ecrecover_s_prefixed0( gas_limit=10000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xf292ec7b1106fbd3df874a754f8c99155b961f92"), # noqa: E501 + address=Address(0xF292EC7B1106FBD3DF874A754F8C99155B961F92), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xB4950A7FAD428434B11C357FA6D4B4BCD3096A5D, + 1: 0, 2: 1, }, ), diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_unrecoverable_key.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_unrecoverable_key.py index 137275a18ed..245f682cf5e 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_unrecoverable_key.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_unrecoverable_key.py @@ -1,9 +1,8 @@ """ -CALL to ECREC precompile with input that has a valid signature structure... +CALL to ECREC precompile with input that has a valid signature... Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecoverUnrecoverableKeyFiller.json +state_tests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKeyFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKeyFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKeyFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_call_ecrecover_unrecoverable_key( pre: Alloc, ) -> None: """CALL to ECREC precompile with input that has a valid signature...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,56 +48,55 @@ def test_call_ecrecover_unrecoverable_key( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xa8b53bdf3306a35a7103ab5504a0c9b492295564b6202b1942a84ef300107281) (MSTORE 32 0x000000000000000000000000000000000000000000000000000000000000001b) (MSTORE 64 0x3078356531653033663533636531386237373263636230303933666637316633) (MSTORE 96 0x6635336635633735623734646362333161383561613862383839326234653862) (MSTORE 128 0x1122334455667788991011121314151617181920212223242526272829303132) (CALL 300000 1 0 0 128 128 32) (SSTORE 0 (MLOAD 128)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xA8B53BDF3306A35A7103AB5504A0C9B492295564B6202B1942A84EF300107281, # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xA8B53BDF3306A35A7103AB5504A0C9B492295564B6202B1942A84EF300107281, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1B) + + Op.MSTORE( + offset=0x40, + value=0x3078356531653033663533636531386237373263636230303933666637316633, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x6635336635633735623734646362333161383561613862383839326234653862, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x1122334455667788991011121314151617181920212223242526272829303132, # noqa: E501 + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, ) - + Op.MSTORE(offset=0x20, value=0x1B) - + Op.MSTORE( - offset=0x40, - value=0x3078356531653033663533636531386237373263636230303933666637316633, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x6635336635633735623734646362333161383561613862383839326234653862, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x1122334455667788991011121314151617181920212223242526272829303132, # noqa: E501 - ) - + Op.POP( - Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x85c44d846ed50ac9e384c1b575fd96f3edf5751f"), # noqa: E501 + address=Address(0x85C44D846ED50AC9E384C1B575FD96F3EDF5751F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x1122334455667788991011121314151617181920212223242526272829303132, # noqa: E501 }, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_v_prefixed0.py b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_v_prefixed0.py index 15a9eb28687..a72ec373fe4 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_v_prefixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ecrecover_v_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrecover_v_prefixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallEcrecoverV_prefixed0Filler.json +state_tests/stPreCompiledContracts2/CallEcrecoverV_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallEcrecoverV_prefixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallEcrecoverV_prefixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_call_ecrecover_v_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrecover_v_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,57 +49,55 @@ def test_call_ecrecover_v_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 0x001c) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_1.py b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_1.py index a7afda0d763..241f5d5da26 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_1.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_ripemd160_1. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_1Filler.json +state_tests/stPreCompiledContracts2/CallRipemd160_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_1Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallRipemd160_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_ripemd160_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ripemd160_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,40 +46,39 @@ def test_call_ripemd160_1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (CALL 600 3 0 0 0 0 32) [[ 0 ]] (MLOAD 0)} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x258, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x258, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xbb0a46f4d8842e6949fa40f7d4f5567213240bde"), # noqa: E501 + address=Address(0xBB0A46F4D8842E6949FA40F7D4F5567213240BDE), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x9C1185A5C5E9FC54612808977EE8F548B2258D31, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_2.py b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_2.py index 2cf6e538baa..26ab89c9d7c 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_2.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_ripemd160_2. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_2Filler.json +state_tests/stPreCompiledContracts2/CallRipemd160_2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_2Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallRipemd160_2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_ripemd160_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ripemd160_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,41 +46,40 @@ def test_call_ripemd160_2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 5 0xf34578907f) [[ 2 ]] (CALL 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x5, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x1770, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x5, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1770, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x5da48ffd1587258fb609acec343481bb238e2064"), # noqa: E501 + address=Address(0x5DA48FFD1587258FB609ACEC343481BB238E2064), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xDBC100F916BFBC53535573D98CF0CBB3A5B36124, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3.py b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3.py index ede8834ed6c..058c4289d20 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_ripemd160_3. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_3Filler.json +state_tests/stPreCompiledContracts2/CallRipemd160_3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_3Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallRipemd160_3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_ripemd160_3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ripemd160_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,41 +46,40 @@ def test_call_ripemd160_3( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f) [[ 2 ]] (CALL 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x1770, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1770, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x37120c525aaed676a19d7786c9296b708c0981e5"), # noqa: E501 + address=Address(0x37120C525AAED676A19D7786C9296B708C0981E5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x316750573F9BE26BC17727B47CACEDBD0AB3E6CA, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3_postfixed0.py b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3_postfixed0.py index 846fc62ef28..5ec760e7f1d 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3_postfixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3_postfixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ripemd160_3_postfixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallRipemd160_3_postfixed0Filler.json +state_tests/stPreCompiledContracts2/CallRipemd160_3_postfixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_3_postfixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallRipemd160_3_postfixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_ripemd160_3_postfixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ripemd160_3_postfixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,41 +48,40 @@ def test_call_ripemd160_3_postfixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f00) [[ 2 ]] (CALL 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F00) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x1770, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F00) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1770, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x0a7939b337794bf9784ca2edbaccf4c289d2bd69"), # noqa: E501 + address=Address(0x0A7939B337794BF9784CA2EDBACCF4C289D2BD69), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x7730B4642169B0F16752696DA8DA830A4B429C9D, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3_prefixed0.py b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3_prefixed0.py index 936a6e32cef..ebae76691ad 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3_prefixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_3_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ripemd160_3_prefixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallRipemd160_3_prefixed0Filler.json +state_tests/stPreCompiledContracts2/CallRipemd160_3_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_3_prefixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallRipemd160_3_prefixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_ripemd160_3_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ripemd160_3_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,41 +48,40 @@ def test_call_ripemd160_3_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00f34578907f) [[ 2 ]] (CALL 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x1770, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1770, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x58fbc34303e81cfadd7d347e87e46b2d6ce7548f"), # noqa: E501 + address=Address(0x58FBC34303E81CFADD7D347E87E46B2D6CE7548F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x316750573F9BE26BC17727B47CACEDBD0AB3E6CA, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_4.py b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_4.py index 93333cc9468..e79a9da0ad0 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_4.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_4.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_ripemd160_4. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_4Filler.json +state_tests/stPreCompiledContracts2/CallRipemd160_4Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_4Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallRipemd160_4Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_ripemd160_4( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ripemd160_4.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,44 +46,43 @@ def test_call_ripemd160_4( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALL 720 3 0 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x2D0, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x2D0, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x93e74099c6b1cf5e73a1cdd021c6942f9a814d9b"), # noqa: E501 + address=Address(0x93E74099C6B1CF5E73A1CDD021C6942F9A814D9B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x1CF4E77F5966E13E109703CD8A0DF7CEDA7F3DC3, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_4_gas719.py b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_4_gas719.py index e79cca6f70c..16ecb86e620 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_4_gas719.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_4_gas719.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ripemd160_4_gas719. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallRipemd160_4_gas719Filler.json +state_tests/stPreCompiledContracts2/CallRipemd160_4_gas719Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_4_gas719Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallRipemd160_4_gas719Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_call_ripemd160_4_gas719( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ripemd160_4_gas719.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,44 +46,43 @@ def test_call_ripemd160_4_gas719( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALL 719 3 0 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x2CF, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x2CF, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x061c5d0417a8b11331fad2817630996289b925bf"), # noqa: E501 + address=Address(0x061C5D0417A8B11331FAD2817630996289B925BF), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_5.py b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_5.py index 81564338455..8ffcc9a86f7 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_5.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_ripemd160_5.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_ripemd160_5. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_5Filler.json +state_tests/stPreCompiledContracts2/CallRipemd160_5Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallRipemd160_5Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallRipemd160_5Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_ripemd160_5( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ripemd160_5.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,44 +46,43 @@ def test_call_ripemd160_5( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALL 6000 3 0 0 1000000 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x1770, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0xF4240, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1770, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0xF4240, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x51998b731842f87dad142bfcc66310c3dc92c4fd"), # noqa: E501 + address=Address(0x51998B731842F87DAD142BFCC66310C3DC92C4FD), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_0.py b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_0.py index 2487e8ad846..e48a7f5ab82 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_sha256_0. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallSha256_0Filler.json +state_tests/stPreCompiledContracts2/CallSha256_0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallSha256_0Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallSha256_0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_sha256_0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_sha256_0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,36 +46,36 @@ def test_call_sha256_0( gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x1) - + Op.CALL( - gas=0xFF, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - ), + # Source: hex + # 0x600160005260206000602060006000600260fff1600051600055 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x1) + + Op.CALL( + gas=0xFF, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)), balance=0x1312D00, nonce=0, - address=Address("0xdcddac785b7920159cf9aa510ecd630640710567"), # noqa: E501 + address=Address(0xDCDDAC785B7920159CF9AA510ECD630640710567), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xEC4916DD28FC4C10D78E287CA5D9CC51EE1AE73CBFDE08C6B37324CBFAAC8BC5, # noqa: E501 }, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_1.py b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_1.py index 873ce7cd36c..d0c8134fba3 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_1.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_sha256_1. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallSha256_1Filler.json +state_tests/stPreCompiledContracts2/CallSha256_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallSha256_1Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallSha256_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_sha256_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_sha256_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,40 +46,39 @@ def test_call_sha256_1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (CALL 500 2 0 0 0 0 32) [[ 0 ]] (MLOAD 0)} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x1F4, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1F4, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x1e79f0fd2bb702c9fd72905da2a5b109025fa4a6"), # noqa: E501 + address=Address(0x1E79F0FD2BB702C9FD72905DA2A5B109025FA4A6), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xE3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_1_nonzero_value.py b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_1_nonzero_value.py index 08c6a960f2f..54af9a04fc6 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_1_nonzero_value.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_1_nonzero_value.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_sha256_1_nonzero_value. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallSha256_1_nonzeroValueFiller.json +state_tests/stPreCompiledContracts2/CallSha256_1_nonzeroValueFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CallSha256_1_nonzeroValueFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CallSha256_1_nonzeroValueFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_sha256_1_nonzero_value( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_sha256_1_nonzero_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,40 +48,42 @@ def test_call_sha256_1_nonzero_value( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (CALL 200000 2 0x13 0 0 0 32) [[ 0 ]] (MLOAD 0)} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x30D40, - address=0x2, - value=0x13, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x30D40, + address=0x2, + value=0x13, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xBEBC200, nonce=0, - address=Address("0x39baf944bd1b21e643d8d207a7073ee34a5d2116"), # noqa: E501 + address=Address(0x39BAF944BD1B21E643D8D207A7073EE34A5D2116), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + Address(0x0000000000000000000000000000000000000002): Account( + balance=19 + ), + target: Account( storage={ 0: 0xE3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_2.py b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_2.py index 9d37ed6864e..d3e7fdf33eb 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_2.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_sha256_2. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallSha256_2Filler.json +state_tests/stPreCompiledContracts2/CallSha256_2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallSha256_2Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallSha256_2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_sha256_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_sha256_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,41 +46,40 @@ def test_call_sha256_2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 5 0xf34578907f) [[ 2 ]] (CALL 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x5, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x1F4, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x5, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1F4, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x2558c91e1ca37007e96544e37e5348c5c209ae3d"), # noqa: E501 + address=Address(0x2558C91E1CA37007E96544E37E5348C5C209AE3D), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xCB39B3BDE22925B2F931111130C774761D8895E0E08437C9B396C1E97D10F34D, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3.py b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3.py index 034a2d16edf..e0d303b5831 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_sha256_3. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallSha256_3Filler.json +state_tests/stPreCompiledContracts2/CallSha256_3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallSha256_3Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallSha256_3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_sha256_3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_sha256_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,41 +46,40 @@ def test_call_sha256_3( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f) [[ 2 ]] (CALL 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x1F4, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1F4, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x5ef7a23f9baea93bd729fd89fdce63578c13a01e"), # noqa: E501 + address=Address(0x5EF7A23F9BAEA93BD729FD89FDCE63578C13A01E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x7392925565D67BE8E9620AACBCFAECD8CB6EC58D709D25DA9ECCF1D08A41CE35, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3_postfix0.py b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3_postfix0.py index 00f5346479e..b6856ba0ee1 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3_postfix0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3_postfix0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_sha256_3_postfix0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallSha256_3_postfix0Filler.json +state_tests/stPreCompiledContracts2/CallSha256_3_postfix0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallSha256_3_postfix0Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallSha256_3_postfix0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_call_sha256_3_postfix0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_sha256_3_postfix0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,41 +46,40 @@ def test_call_sha256_3_postfix0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f00) [[ 2 ]] (CALL 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F00) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x1F4, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F00) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1F4, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xdb90d5cd1bd42ce94a38b9d293ac7a1be96adef9"), # noqa: E501 + address=Address(0xDB90D5CD1BD42CE94A38B9D293AC7A1BE96ADEF9), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x3B745A1C00D035C334F358D007A430E4CF0AE63AA0556FB05529706DE546464D, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3_prefix0.py b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3_prefix0.py index 705b3bdeb98..35a0d74e6eb 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3_prefix0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_3_prefix0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_sha256_3_prefix0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CallSha256_3_prefix0Filler.json +state_tests/stPreCompiledContracts2/CallSha256_3_prefix0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallSha256_3_prefix0Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallSha256_3_prefix0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_call_sha256_3_prefix0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_sha256_3_prefix0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,41 +46,40 @@ def test_call_sha256_3_prefix0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00f34578907f) [[ 2 ]] (CALL 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x1F4, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1F4, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x5d4b89a232555bc139aa244672611edf28d276c7"), # noqa: E501 + address=Address(0x5D4B89A232555BC139AA244672611EDF28D276C7), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x7392925565D67BE8E9620AACBCFAECD8CB6EC58D709D25DA9ECCF1D08A41CE35, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_4.py b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_4.py index b579594cc24..a37438985fb 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_4.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_4.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_sha256_4. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallSha256_4Filler.json +state_tests/stPreCompiledContracts2/CallSha256_4Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallSha256_4Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallSha256_4Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_sha256_4( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_sha256_4.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,44 +46,43 @@ def test_call_sha256_4( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALL 100 2 0 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x64, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x64, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x6eaf78b8968e1ad784f281cc9ffc2ed8bdb61fbe"), # noqa: E501 + address=Address(0x6EAF78B8968E1AD784F281CC9FFC2ED8BDB61FBE), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xAF9613760F72635FBDB44A5A0A63C39F12AF30F950A6EE5C971BE188E89C4051, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_4_gas99.py b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_4_gas99.py index afef34aa045..c1108346f3f 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_4_gas99.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_4_gas99.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_sha256_4_gas99. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallSha256_4_gas99Filler.json +state_tests/stPreCompiledContracts2/CallSha256_4_gas99Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallSha256_4_gas99Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallSha256_4_gas99Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_sha256_4_gas99( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_sha256_4_gas99.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,44 +46,43 @@ def test_call_sha256_4_gas99( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALL 99 2 0 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x63, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x63, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x1b0415178117104203e61be499a69ba4a5b2a3b9"), # noqa: E501 + address=Address(0x1B0415178117104203E61BE499A69BA4A5B2A3B9), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xAF9613760F72635FBDB44A5A0A63C39F12AF30F950A6EE5C971BE188E89C4051, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_5.py b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_5.py index e0691578e7d..28c7a236582 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_call_sha256_5.py +++ b/tests/ported_static/stPreCompiledContracts2/test_call_sha256_5.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_sha256_5. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CallSha256_5Filler.json +state_tests/stPreCompiledContracts2/CallSha256_5Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CallSha256_5Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CallSha256_5Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_sha256_5( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_sha256_5.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,44 +46,43 @@ def test_call_sha256_5( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALL 600 2 0 0 1000000 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x258, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0xF4240, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x258, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0xF4240, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x66088f99c73ae9e87363561b19c69011205344d0"), # noqa: E501 + address=Address(0x66088F99C73AE9E87363561B19C69011205344D0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0.py index 5107a804db6..3cff4226691 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover0. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover0Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecover0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover0Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODEEcrecover0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_callcode_ecrecover0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,57 +47,55 @@ def test_callcode_ecrecover0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_0input.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_0input.py index e4e1b5ef3ca..d288553b762 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_0input.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_0input.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover0_0input. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODEEcrecover0_0inputFiller.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_0inputFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_0inputFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_0inputFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_ecrecover0_0input( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover0_0input.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,43 +48,39 @@ def test_callcode_ecrecover0_0input( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (CALLCODE 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xd87aadfe05df880bc4c678f75154215cc6692d81"), # noqa: E501 + address=Address(0xD87AADFE05DF880BC4C678F75154215CC6692D81), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_complete_return_value.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_complete_return_value.py index 8bdce67e798..d062000bb96 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_complete_return_value.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_complete_return_value.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover0_complete_return_value. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODEEcrecover0_completeReturnValueFiller.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_completeReturnValueFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_completeReturnValueFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_completeReturnValueFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_callcode_ecrecover0_complete_return_value( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover0_complete_return_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,53 +49,52 @@ def test_callcode_ecrecover0_complete_return_value( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 3000 1 0 0 128 128 32) [[ 0 ]] (MLOAD 128) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xBB8, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xBB8, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_gas2999.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_gas2999.py index 43299beef19..03787464191 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_gas2999.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_gas2999.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover0_gas2999. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODEEcrecover0_Gas2999Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_Gas2999Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_Gas2999Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_Gas2999Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_ecrecover0_gas2999( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover0_gas2999.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,55 +48,53 @@ def test_callcode_ecrecover0_gas2999( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 2999 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xBB7, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xBB7, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xe70dcf2a2964db146b6cb171326705f77b924943"), # noqa: E501 + address=Address(0xE70DCF2A2964DB146B6CB171326705F77B924943), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={2: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_gas3000.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_gas3000.py index 87bd1a6231b..026596ffb8a 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_gas3000.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_gas3000.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover0_gas3000. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODEEcrecover0_gas3000Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_gas3000Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_gas3000Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_gas3000Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_callcode_ecrecover0_gas3000( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover0_gas3000.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,57 +49,55 @@ def test_callcode_ecrecover0_gas3000( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 3000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0xBB8, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0xBB8, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_no_gas.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_no_gas.py index 9f77ae5d6bd..2dcd296562b 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_no_gas.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_no_gas.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover0_no_gas. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODEEcrecover0_NoGasFiller.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_NoGasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_NoGasFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_NoGasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_ecrecover0_no_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover0_no_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,56 +48,54 @@ def test_callcode_ecrecover0_no_gas( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 0 1 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x0, - address=0x1, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), - storage={0x0: 0xC, 0x1: 0xC, 0x2: 0xC}, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x0, + address=0x1, + value=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, + storage={0: 12, 1: 12, 2: 12}, balance=0x1312D00, nonce=0, - address=Address("0x642b4bc6fe2e1633caaf1ad06e473299adb5cfd2"), # noqa: E501 + address=Address(0x642B4BC6FE2E1633CAAF1AD06E473299ADB5CFD2), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_overlapping_input_output.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_overlapping_input_output.py index 77934387e5d..84bdc0e22b9 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_overlapping_input_output.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover0_overlapping_input_output.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover0_overlapping_input_output. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODEEcrecover0_overlappingInputOutputFiller.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_overlappingInputOutputFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_overlappingInputOutputFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODEEcrecover0_overlappingInputOutputFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_callcode_ecrecover0_overlapping_input_output( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover0_overlapping_input_output.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,57 +49,55 @@ def test_callcode_ecrecover0_overlapping_input_output( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 300000 1 0 0 128 64 32) [[ 0 ]] (MOD (MLOAD 64) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x40, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x40), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x40, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x40), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover1.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover1.py index 19504c47813..fdd07356ca9 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover1.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover1. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover1Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecover1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover1Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODEEcrecover1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_ecrecover1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,57 +46,53 @@ def test_callcode_ecrecover1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 1) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 100000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x186A0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x186A0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xc305c830833ccb72817f7b8b8d9c6d5645fc9e5f"), # noqa: E501 + address=Address(0xC305C830833CCB72817F7B8B8D9C6D5645FC9E5F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover2.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover2.py index 949bc32d8f3..e576df9ffed 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover2.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover2. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover2Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecover2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover2Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODEEcrecover2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_ecrecover2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,57 +46,53 @@ def test_callcode_ecrecover2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 33 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 65 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 100000 1 0 0 97 97 32) [[ 0 ]] (MOD (MLOAD 97) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x21, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x41, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x186A0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x61, - ret_offset=0x61, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x61), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x21, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x41, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x186A0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x61, + ret_offset=0x61, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x61), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x82fed9e1d9833bfed4d0dfab03d1e35dbffa4243"), # noqa: E501 + address=Address(0x82FED9E1D9833BFED4D0DFAB03D1E35DBFFA4243), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover3.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover3.py index c9f03ad2352..6eb21a9f9d8 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover3.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover3. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover3Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecover3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover3Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODEEcrecover3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_ecrecover3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,57 +46,55 @@ def test_callcode_ecrecover3( gas_limit=10000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x2f380a2dea7e778d81affc2443403b8fe4644db442ae4862ff5bb3732829cdb9) (MSTORE 32 27) (MSTORE 64 0x6b65ccb0558806e9b097f27a396d08f964e37b8b7af6ceeb516ff86739fbea0a) (MSTORE 96 0x37cbc8d883e129a4b1ef9d5f1df53c4f21a3ef147cf2a50a4ede0eb06ce092d4) [[ 2 ]] (CALLCODE 100000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x2F380A2DEA7E778D81AFFC2443403B8FE4644DB442AE4862FF5BB3732829CDB9, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1B) - + Op.MSTORE( - offset=0x40, - value=0x6B65CCB0558806E9B097F27A396D08F964E37B8B7AF6CEEB516FF86739FBEA0A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x37CBC8D883E129A4B1EF9D5F1DF53C4F21A3EF147CF2A50A4EDE0EB06CE092D4, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x186A0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x2F380A2DEA7E778D81AFFC2443403B8FE4644DB442AE4862FF5BB3732829CDB9, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1B) + + Op.MSTORE( + offset=0x40, + value=0x6B65CCB0558806E9B097F27A396D08F964E37B8B7AF6CEEB516FF86739FBEA0A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x37CBC8D883E129A4B1EF9D5F1DF53C4F21A3EF147CF2A50A4EDE0EB06CE092D4, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x186A0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xfbedf77edb387c8e6d9b016f522d38201f4de408"), # noqa: E501 + address=Address(0xFBEDF77EDB387C8E6D9B016F522D38201F4DE408), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xE4319F4B631C6D0FCFC84045DBCB676865FE5E13, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover80.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover80.py index 2f18141709c..26f83f07b5b 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover80.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover80.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover80. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover80Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecover80Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecover80Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODEEcrecover80Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_ecrecover80( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover80.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,57 +46,53 @@ def test_callcode_ecrecover80( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xd5c4ea8faa1028d8d10aa6bf9133e678d695b349"), # noqa: E501 + address=Address(0xD5C4EA8FAA1028D8D10AA6BF9133E678D695B349), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={0: 0, 1: 0, 2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_h_prefixed0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_h_prefixed0.py index bdf101421a6..34ff8b29e37 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_h_prefixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_h_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover_h_prefixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODEEcrecoverH_prefixed0Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecoverH_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecoverH_prefixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODEEcrecoverH_prefixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_ecrecover_h_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover_h_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,59 +48,58 @@ def test_callcode_ecrecover_h_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x0e408d340f5cc7cb2602ad82d377dc8d849480bc"), # noqa: E501 + address=Address(0x0E408D340F5CC7CB2602AD82D377DC8D849480BC), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xA0B29AF6A56D6CFEF6415CB195CCBE540E006D0A, + 1: 0, 2: 1, }, ), diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_r_prefixed0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_r_prefixed0.py index 33b53f402fc..201ba47f434 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_r_prefixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_r_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover_r_prefixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODEEcrecoverR_prefixed0Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecoverR_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecoverR_prefixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODEEcrecoverR_prefixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_ecrecover_r_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover_r_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,57 +48,53 @@ def test_callcode_ecrecover_r_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xb5ef5e7a96b20d5519b730bca2e026bd49a95f3e"), # noqa: E501 + address=Address(0xB5EF5E7A96B20D5519B730BCA2E026BD49A95F3E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={0: 0, 1: 0, 2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_s_prefixed0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_s_prefixed0.py index 7f82a876056..6d0887023b3 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_s_prefixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_s_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover_s_prefixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODEEcrecoverS_prefixed0Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecoverS_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecoverS_prefixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODEEcrecoverS_prefixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_ecrecover_s_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover_s_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,59 +48,58 @@ def test_callcode_ecrecover_s_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xea150f7a83dc3c344efb50fca8fd1526b5d48935"), # noqa: E501 + address=Address(0xEA150F7A83DC3C344EFB50FCA8FD1526B5D48935), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xB4950A7FAD428434B11C357FA6D4B4BCD3096A5D, + 1: 0, 2: 1, }, ), diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_v_prefixed0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_v_prefixed0.py index 2792f1602a3..c006c842443 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_v_prefixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_v_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover_v_prefixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODEEcrecoverV_prefixed0Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecoverV_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecoverV_prefixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODEEcrecoverV_prefixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_callcode_ecrecover_v_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover_v_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,57 +49,55 @@ def test_callcode_ecrecover_v_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 0x001c) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_v_prefixedf0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_v_prefixedf0.py index d851e9a5c2d..6b5113c3d54 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_v_prefixedf0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ecrecover_v_prefixedf0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ecrecover_v_prefixedf0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODEEcrecoverV_prefixedf0Filler.json +state_tests/stPreCompiledContracts2/CALLCODEEcrecoverV_prefixedf0Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,26 +25,38 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODEEcrecoverV_prefixedf0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODEEcrecoverV_prefixedf0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000000000000000000000000000000000000000f01c", - "00000000000000000000000000000000f000000000000000000000000000001c", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_callcode_ecrecover_v_prefixedf0( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ecrecover_v_prefixedf0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -57,60 +70,60 @@ def test_callcode_ecrecover_v_prefixedf0( gas_limit=10000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 (CALLDATALOAD 0)) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (CALLCODE 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x493E0, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x493E0, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xebcdd28b5479dbde3e8317ebac82a6e019e256e4"), # noqa: E501 + address=Address(0xEBCDD28B5479DBDE3E8317EBAC82A6E019E256E4), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(0xF01C), + Hash(0xF000000000000000000000000000001C), + ] + tx_gas = [3652240] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3652240, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={0: 0, 1: 0, 2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_0.py index 22812568663..9a75d531f11 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ripemd160_0. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_0Filler.json +state_tests/stPreCompiledContracts2/CALLCODERipemd160_0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_0Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODERipemd160_0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_ripemd160_0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ripemd160_0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,36 +46,34 @@ def test_callcode_ripemd160_0( gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x1) - + Op.CALLCODE( - gas=0xFF, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - ), + # Source: hex + # 0x600160005260206000602060006000600360fff2600051600055 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x1) + + Op.CALLCODE( + gas=0xFF, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)), balance=0x1312D00, nonce=0, - address=Address("0x21c1ad575033f5efbb9d40b78c24b18809902665"), # noqa: E501 + address=Address(0x21C1AD575033F5EFBB9D40B78C24B18809902665), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_1.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_1.py index a97630edab5..195fce970ba 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_1.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ripemd160_1. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_1Filler.json +state_tests/stPreCompiledContracts2/CALLCODERipemd160_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_1Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODERipemd160_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_ripemd160_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ripemd160_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,40 +46,39 @@ def test_callcode_ripemd160_1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (CALLCODE 600 3 0 0 0 0 32) [[ 0 ]] (MLOAD 0)} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x258, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x258, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xc2568ee355f0f71aa13fa54f6b01882d79a078c4"), # noqa: E501 + address=Address(0xC2568EE355F0F71AA13FA54F6B01882D79A078C4), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x9C1185A5C5E9FC54612808977EE8F548B2258D31, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_2.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_2.py index d8bc6377f4d..1d6efad3a6b 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_2.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ripemd160_2. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_2Filler.json +state_tests/stPreCompiledContracts2/CALLCODERipemd160_2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_2Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODERipemd160_2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_ripemd160_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ripemd160_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,41 +46,40 @@ def test_callcode_ripemd160_2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 5 0xf34578907f) [[ 2 ]] (CALLCODE 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x5, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x1770, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x5, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x1770, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xb5505a4e16c6dc9a8f57a35f11d7a11fe0c62652"), # noqa: E501 + address=Address(0xB5505A4E16C6DC9A8F57A35F11D7A11FE0C62652), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xDBC100F916BFBC53535573D98CF0CBB3A5B36124, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3.py index 28674c96f62..2d4cf574fa0 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ripemd160_3. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_3Filler.json +state_tests/stPreCompiledContracts2/CALLCODERipemd160_3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_3Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODERipemd160_3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_ripemd160_3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ripemd160_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,41 +46,40 @@ def test_callcode_ripemd160_3( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f) [[ 2 ]] (CALLCODE 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x1770, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x1770, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x8976b14fe4cde9954494ec41aa275f87e2e13d0a"), # noqa: E501 + address=Address(0x8976B14FE4CDE9954494EC41AA275F87E2E13D0A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x316750573F9BE26BC17727B47CACEDBD0AB3E6CA, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3_postfixed0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3_postfixed0.py index 5864877e463..e9069da27ca 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3_postfixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3_postfixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ripemd160_3_postfixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODERipemd160_3_postfixed0Filler.json +state_tests/stPreCompiledContracts2/CALLCODERipemd160_3_postfixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_3_postfixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODERipemd160_3_postfixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_ripemd160_3_postfixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ripemd160_3_postfixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,41 +48,40 @@ def test_callcode_ripemd160_3_postfixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f00) [[ 2 ]] (CALLCODE 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F00) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x1770, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F00) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x1770, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x4ae7f0a2d9ebede8e424c882c869da67ac881deb"), # noqa: E501 + address=Address(0x4AE7F0A2D9EBEDE8E424C882C869DA67AC881DEB), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x7730B4642169B0F16752696DA8DA830A4B429C9D, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3_prefixed0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3_prefixed0.py index 16de0e264a9..604a7271a32 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3_prefixed0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_3_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ripemd160_3_prefixed0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODERipemd160_3_prefixed0Filler.json +state_tests/stPreCompiledContracts2/CALLCODERipemd160_3_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_3_prefixed0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODERipemd160_3_prefixed0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_ripemd160_3_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ripemd160_3_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,41 +48,40 @@ def test_callcode_ripemd160_3_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00f34578907f) [[ 2 ]] (CALLCODE 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x1770, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x1770, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x063102841b53cea1be51eba298d1b86b90f7c071"), # noqa: E501 + address=Address(0x063102841B53CEA1BE51EBA298D1B86B90F7C071), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x316750573F9BE26BC17727B47CACEDBD0AB3E6CA, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_4.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_4.py index c1b864a44a6..3f65d961fa2 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_4.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_4.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ripemd160_4. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_4Filler.json +state_tests/stPreCompiledContracts2/CALLCODERipemd160_4Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_4Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODERipemd160_4Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_ripemd160_4( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ripemd160_4.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,44 +46,43 @@ def test_callcode_ripemd160_4( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALLCODE 720 3 0 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x2D0, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x2D0, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x6e9a87c7b4f3d629df2f099546d9250f1ccd92af"), # noqa: E501 + address=Address(0x6E9A87C7B4F3D629DF2F099546D9250F1CCD92AF), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x1CF4E77F5966E13E109703CD8A0DF7CEDA7F3DC3, 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_4_gas719.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_4_gas719.py index fd850f33f9f..1a5d86a9a98 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_4_gas719.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_4_gas719.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ripemd160_4_gas719. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODERipemd160_4_gas719Filler.json +state_tests/stPreCompiledContracts2/CALLCODERipemd160_4_gas719Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_4_gas719Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODERipemd160_4_gas719Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_ripemd160_4_gas719( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ripemd160_4_gas719.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,44 +48,43 @@ def test_callcode_ripemd160_4_gas719( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALLCODE 719 3 0 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x2CF, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x2CF, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xe54144e08b2faa0fb551d5df635711386fd3e8f2"), # noqa: E501 + address=Address(0xE54144E08B2FAA0FB551D5DF635711386FD3E8F2), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_5.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_5.py index 54d53512024..b4bf188b266 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_5.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_ripemd160_5.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_ripemd160_5. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_5Filler.json +state_tests/stPreCompiledContracts2/CALLCODERipemd160_5Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODERipemd160_5Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODERipemd160_5Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_ripemd160_5( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_ripemd160_5.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,44 +46,43 @@ def test_callcode_ripemd160_5( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALLCODE 6000 3 0 0 1000000 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x1770, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0xF4240, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x1770, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0xF4240, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x445f6977e8026d56e8b9a36b4ce7591ef0b9493a"), # noqa: E501 + address=Address(0x445F6977E8026D56E8B9A36B4CE7591EF0B9493A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_0.py index 6603709f380..1794e7cf29d 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_sha256_0. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_0Filler.json +state_tests/stPreCompiledContracts2/CALLCODESha256_0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_0Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODESha256_0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_sha256_0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_sha256_0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,36 +46,36 @@ def test_callcode_sha256_0( gas_limit=10000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x1) - + Op.CALLCODE( - gas=0xFF, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - ), + # Source: hex + # 0x600160005260206000602060006000600260fff2600051600055 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x1) + + Op.CALLCODE( + gas=0xFF, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)), balance=0x1312D00, nonce=0, - address=Address("0xfac135cdecd64b72cda12c2b4764e9d4e474de3e"), # noqa: E501 + address=Address(0xFAC135CDECD64B72CDA12C2B4764E9D4E474DE3E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xEC4916DD28FC4C10D78E287CA5D9CC51EE1AE73CBFDE08C6B37324CBFAAC8BC5, # noqa: E501 }, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_1.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_1.py index e4d7d90dd94..6c2a8829cd5 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_1.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_sha256_1. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_1Filler.json +state_tests/stPreCompiledContracts2/CALLCODESha256_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_1Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODESha256_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_sha256_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_sha256_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,40 +46,39 @@ def test_callcode_sha256_1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (CALLCODE 500 2 0 0 0 0 32) [[ 0 ]] (MLOAD 0)} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x1F4, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x1F4, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xc4009bc3b312ce413bfb8734800aa7b54261856d"), # noqa: E501 + address=Address(0xC4009BC3B312CE413BFB8734800AA7B54261856D), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xE3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_1_nonzero_value.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_1_nonzero_value.py index 5ffd5bed632..7236752cccf 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_1_nonzero_value.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_1_nonzero_value.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_sha256_1_nonzero_value. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODESha256_1_nonzeroValueFiller.json +state_tests/stPreCompiledContracts2/CALLCODESha256_1_nonzeroValueFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_1_nonzeroValueFiller.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODESha256_1_nonzeroValueFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_sha256_1_nonzero_value( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_sha256_1_nonzero_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,40 +48,39 @@ def test_callcode_sha256_1_nonzero_value( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (CALLCODE 200000 2 0x13 0 0 0 32) [[ 0 ]] (MLOAD 0)} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x30D40, - address=0x2, - value=0x13, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x30D40, + address=0x2, + value=0x13, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xBEBC200, nonce=0, - address=Address("0xa32d9ac4a5ba456f9e539ac5c756230eebc72f85"), # noqa: E501 + address=Address(0xA32D9AC4A5BA456F9E539AC5C756230EEBC72F85), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xE3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_2.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_2.py index d3bd5d575aa..a44f805e36b 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_2.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_sha256_2. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_2Filler.json +state_tests/stPreCompiledContracts2/CALLCODESha256_2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_2Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODESha256_2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_sha256_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_sha256_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,41 +46,40 @@ def test_callcode_sha256_2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 5 0xf34578907f) [[ 2 ]] (CALLCODE 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x5, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x1F4, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x5, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x1F4, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x49edfd0547a55d03ffb882894166fb4e19bce699"), # noqa: E501 + address=Address(0x49EDFD0547A55D03FFB882894166FB4E19BCE699), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xCB39B3BDE22925B2F931111130C774761D8895E0E08437C9B396C1E97D10F34D, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3.py index 8264867b622..9c448ae8fca 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_sha256_3. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_3Filler.json +state_tests/stPreCompiledContracts2/CALLCODESha256_3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_3Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODESha256_3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_sha256_3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_sha256_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,41 +46,40 @@ def test_callcode_sha256_3( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f) [[ 2 ]] (CALLCODE 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x1F4, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x1F4, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x66add49a7d6964132dee6f9c01a7ce445976d7f1"), # noqa: E501 + address=Address(0x66ADD49A7D6964132DEE6F9C01A7CE445976D7F1), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x7392925565D67BE8E9620AACBCFAECD8CB6EC58D709D25DA9ECCF1D08A41CE35, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3_postfix0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3_postfix0.py index 5a67925acf2..9ff3205b143 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3_postfix0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3_postfix0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_sha256_3_postfix0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODESha256_3_postfix0Filler.json +state_tests/stPreCompiledContracts2/CALLCODESha256_3_postfix0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_3_postfix0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODESha256_3_postfix0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_sha256_3_postfix0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_sha256_3_postfix0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,41 +48,40 @@ def test_callcode_sha256_3_postfix0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f00) [[ 2 ]] (CALLCODE 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F00) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x1F4, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F00) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x1F4, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x47623157953751c765b038fea97f26122ee130ca"), # noqa: E501 + address=Address(0x47623157953751C765B038FEA97F26122EE130CA), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x3B745A1C00D035C334F358D007A430E4CF0AE63AA0556FB05529706DE546464D, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3_prefix0.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3_prefix0.py index 2a56d5c0414..41b0bdf16d5 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3_prefix0.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_3_prefix0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_sha256_3_prefix0. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODESha256_3_prefix0Filler.json +state_tests/stPreCompiledContracts2/CALLCODESha256_3_prefix0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_3_prefix0Filler.json", # noqa: E501 + "state_tests/stPreCompiledContracts2/CALLCODESha256_3_prefix0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_sha256_3_prefix0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_sha256_3_prefix0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,41 +48,40 @@ def test_callcode_sha256_3_prefix0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00f34578907f) [[ 2 ]] (CALLCODE 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x1F4, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x1F4, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x350856cb8740c7a9f14de1d4901111246cdba0b5"), # noqa: E501 + address=Address(0x350856CB8740C7A9F14DE1D4901111246CDBA0B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x7392925565D67BE8E9620AACBCFAECD8CB6EC58D709D25DA9ECCF1D08A41CE35, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_4.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_4.py index 563763ae184..51af5b40fa1 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_4.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_4.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_sha256_4. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_4Filler.json +state_tests/stPreCompiledContracts2/CALLCODESha256_4Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_4Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODESha256_4Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_sha256_4( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_sha256_4.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,44 +46,43 @@ def test_callcode_sha256_4( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALLCODE 100 2 0 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x64, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x64, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x081eb2e67904436211eeef7b37055d5a08bf76b1"), # noqa: E501 + address=Address(0x081EB2E67904436211EEEF7B37055D5A08BF76B1), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xAF9613760F72635FBDB44A5A0A63C39F12AF30F950A6EE5C971BE188E89C4051, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_4_gas99.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_4_gas99.py index 42090a34551..75b33067338 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_4_gas99.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_4_gas99.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_sha256_4_gas99. Ported from: -tests/static/state_tests/stPreCompiledContracts2 -CALLCODESha256_4_gas99Filler.json +state_tests/stPreCompiledContracts2/CALLCODESha256_4_gas99Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_4_gas99Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODESha256_4_gas99Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_callcode_sha256_4_gas99( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_sha256_4_gas99.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,44 +46,43 @@ def test_callcode_sha256_4_gas99( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALLCODE 99 2 0 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x63, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x63, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xbdc43a81e62f216d623d3e91f1f5fe1e3730a068"), # noqa: E501 + address=Address(0xBDC43A81E62F216D623D3E91F1F5FE1E3730A068), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xAF9613760F72635FBDB44A5A0A63C39F12AF30F950A6EE5C971BE188E89C4051, # noqa: E501 2: 1, diff --git a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_5.py b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_5.py index 5d23aa925af..d72b1fad837 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_5.py +++ b/tests/ported_static/stPreCompiledContracts2/test_callcode_sha256_5.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_sha256_5. Ported from: -tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_5Filler.json +state_tests/stPreCompiledContracts2/CALLCODESha256_5Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/CALLCODESha256_5Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/CALLCODESha256_5Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_sha256_5( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_sha256_5.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,44 +46,43 @@ def test_callcode_sha256_5( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (CALLCODE 600 2 0 0 1000000 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x258, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0xF4240, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x258, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0xF4240, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x12d19aa9c20419bf0656fc7a93642f9cafc744f4"), # noqa: E501 + address=Address(0x12D19AA9C20419BF0656FC7A93642F9CAFC744F4), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stPreCompiledContracts2/test_ecrecover_short_buff.py b/tests/ported_static/stPreCompiledContracts2/test_ecrecover_short_buff.py index 0051a63ed20..9acaa6fe2d2 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_ecrecover_short_buff.py +++ b/tests/ported_static/stPreCompiledContracts2/test_ecrecover_short_buff.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_ecrecover_short_buff. Ported from: -tests/static/state_tests/stPreCompiledContracts2/ecrecoverShortBuffFiller.yml +state_tests/stPreCompiledContracts2/ecrecoverShortBuffFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/ecrecoverShortBuffFiller.yml", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/ecrecoverShortBuffFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_ecrecover_short_buff( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_ecrecover_short_buff.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,8 +47,8 @@ def test_ecrecover_short_buff( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: Yul + # Source: yul + # berlin # { # let maxLength := 0xA0 # @@ -78,94 +78,98 @@ def test_ecrecover_short_buff( # // The expected retval is one, so to avoid specifying every length # // in the expect: section we subtract one. # sstore(len, sub(sload(len), 1)) - # - # ... (4 more lines) - contract = pre.deploy_contract( - code=( - Op.PUSH1[0xA0] - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.LT(Op.DUP2, Op.DUP2)) - + Op.POP - + Op.MSTORE(offset=Op.DUP1, value=0x0) - + Op.MSTORE(offset=0x20, value=0x1B) - + Op.MSTORE( - offset=0x40, - value=0x184870A8E4FAA6065DDF65C873935D3E48E3D1C7B7853F25CD79B8247F771910, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x226140B6B66554C7FCFA38589E433CC148EBE5C8482EB3093AB1D9A932C96F58, # noqa: E501 - ) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x67, condition=Op.LT(Op.DUP2, Op.DUP2)) - + Op.STOP - + Op.JUMPDEST - + Op.DUP1 - + Op.PUSH1[0x20] - + Op.PUSH2[0x100] - + Op.PUSH1[0x1] - + Op.SWAP4 - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP7 - + Op.GAS - + Op.CALL - + Op.DUP3 - + Op.SWAP1 - + Op.SSTORE(key=Op.DUP2, value=Op.SUB) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, 0x1000), value=Op.MLOAD(offset=0x100) - ) - + Op.ADD - + Op.JUMP(pc=0x5F) - + Op.JUMPDEST - + Op.PUSH4[0xDEAD60A7] - + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) - + Op.ADD(Op.DUP3, 0x1000) - + Op.SSTORE - + Op.PUSH1[0x1] - + Op.ADD - + Op.JUMP(pc=0x4) - ), + # ... (5 more lines) + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0xA0] + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.LT(Op.DUP2, Op.DUP2)) + + Op.POP + + Op.MSTORE(offset=Op.DUP1, value=0x0) + + Op.MSTORE(offset=0x20, value=0x1B) + + Op.MSTORE( + offset=0x40, + value=0x184870A8E4FAA6065DDF65C873935D3E48E3D1C7B7853F25CD79B8247F771910, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x226140B6B66554C7FCFA38589E433CC148EBE5C8482EB3093AB1D9A932C96F58, # noqa: E501 + ) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x67, condition=Op.LT(Op.DUP2, Op.DUP2)) + + Op.STOP + + Op.JUMPDEST + + Op.DUP1 + + Op.PUSH1[0x20] + + Op.PUSH2[0x100] + + Op.PUSH1[0x1] + + Op.SWAP4 + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.DUP7 + + Op.GAS + + Op.CALL + + Op.DUP3 + + Op.SWAP1 + + Op.SSTORE(key=Op.DUP2, value=Op.SUB) + + Op.SSTORE(key=Op.ADD(Op.DUP3, 0x1000), value=Op.MLOAD(offset=0x100)) + + Op.ADD + + Op.JUMP(pc=0x5F) + + Op.JUMPDEST + + Op.PUSH4[0xDEAD60A7] + + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) + + Op.ADD(Op.DUP3, 0x1000) + + Op.SSTORE + + Op.PUSH1[0x1] + + Op.ADD + + Op.JUMP(pc=0x4), storage={ - 0x0: 0x60A7, - 0x11: 0x60A7, - 0x22: 0x60A7, - 0x33: 0x60A7, - 0x44: 0x60A7, - 0x55: 0x60A7, - 0x66: 0x60A7, - 0x77: 0x60A7, - 0x80: 0x60A7, - 0x99: 0x60A7, - 0x1000: 0x60A7, - 0x1011: 0x60A7, - 0x1022: 0x60A7, - 0x1033: 0x60A7, - 0x1044: 0x60A7, - 0x1055: 0x60A7, - 0x1066: 0x60A7, - 0x1077: 0x60A7, - 0x1080: 0x60A7, - 0x1099: 0x60A7, + 0: 24743, + 17: 24743, + 34: 24743, + 51: 24743, + 68: 24743, + 85: 24743, + 102: 24743, + 119: 24743, + 128: 24743, + 153: 24743, + 4096: 24743, + 4113: 24743, + 4130: 24743, + 4147: 24743, + 4164: 24743, + 4181: 24743, + 4198: 24743, + 4215: 24743, + 4224: 24743, + 4249: 24743, }, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=contract_0, + data=Bytes("00"), gas_limit=7400000, + value=0x186A0, nonce=1, - value=100000, ) post = { - contract: Account( + contract_0: Account( storage={ + 0: 0, + 1: 0, + 159: 0, + 4096: 0, + 4112: 0, + 4144: 0, + 4192: 0, 4193: 0x8E5817968F74FFB0255AE41EEFA6F89DD0183FA1, 4194: 0xB7529ED60A10291754A635ED9FD67C1723F4D83B, 4195: 0x669457CE81442F235FFC4123662BA14A72B3D68, diff --git a/tests/ported_static/stPreCompiledContracts2/test_ecrecover_weird_v.py b/tests/ported_static/stPreCompiledContracts2/test_ecrecover_weird_v.py index 7dc9cb8b71b..72509eae8ce 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_ecrecover_weird_v.py +++ b/tests/ported_static/stPreCompiledContracts2/test_ecrecover_weird_v.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stPreCompiledContracts2/ecrecoverWeirdVFiller.yml +state_tests/stPreCompiledContracts2/ecrecoverWeirdVFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,360 +28,241 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/ecrecoverWeirdVFiller.yml", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/ecrecoverWeirdVFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "917694f90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004e541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023ce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000024541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ebce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000ec541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005ce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000006541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000100541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010ffce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000001100541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100ffce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000010100541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f9daf5a779ae972f972197303d7b574746c7ef83eadac0f2791ad23db92e4c8e53000000000000000000000000000000000000000000000000000000000000002528ef61340bd939bc2195fe537567866003e1a15d3c71ff63e1590620aa63627667cbe9d8997f761aecb703304b3800ccf555c9f3dc64214b297fb1966a3b6d83", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456ffce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000012345700541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="fail", + ), + pytest.param( + 1, + 0, + 0, + id="good", + ), + pytest.param( + 2, + 0, + 0, + id="good", + ), + pytest.param( + 3, + 0, + 0, + id="good", + ), + pytest.param( + 4, + 0, + 0, + id="fail", + ), + pytest.param( + 5, + 0, + 0, + id="fail", + ), + pytest.param( + 6, + 0, + 0, + id="fail", + ), + pytest.param( + 7, + 0, + 0, + id="fail", + ), + pytest.param( + 8, + 0, + 0, + id="fail", + ), + pytest.param( + 9, + 0, + 0, + id="fail", + ), + pytest.param( + 10, + 0, + 0, + id="fail", + ), + pytest.param( + 11, + 0, + 0, + id="fail", + ), + pytest.param( + 12, + 0, + 0, + id="fail", + ), + pytest.param( + 13, + 0, + 0, + id="fail", + ), + pytest.param( + 14, + 0, + 0, + id="fail", + ), + pytest.param( + 15, + 0, + 0, + id="fail", + ), + pytest.param( + 16, + 0, + 0, + id="fail", + ), + pytest.param( + 17, + 0, + 0, + id="fail", + ), + pytest.param( + 18, + 0, + 0, + id="fail", + ), + pytest.param( + 19, + 0, + 0, + id="fail", + ), + pytest.param( + 20, + 0, + 0, + id="fail", + ), + pytest.param( + 21, + 0, + 0, + id="fail", + ), + pytest.param( + 22, + 0, + 0, + id="fail", + ), + pytest.param( + 23, + 0, + 0, + id="fail", + ), + pytest.param( + 24, + 0, + 0, + id="fail", + ), + pytest.param( + 25, + 0, + 0, + id="fail", + ), + pytest.param( + 26, + 0, + 0, + id="fail", + ), + pytest.param( + 27, + 0, + 0, + id="fail", + ), + pytest.param( + 28, + 0, + 0, + id="fail", + ), + pytest.param( + 29, + 0, + 0, + id="fail", + ), + pytest.param( + 30, + 0, + 0, + id="fail", + ), + pytest.param( + 31, + 0, + 0, + id="fail", + ), + pytest.param( + 32, + 0, + 0, + id="fail", + ), + pytest.param( + 33, + 0, + 0, + id="fail", + ), + pytest.param( + 34, + 0, + 0, + id="fail", + ), + pytest.param( + 35, + 0, + 0, + id="fail", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000deadbeef00ffce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000deadbeef0100541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025ce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000026541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002fce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000030541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039ce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003a541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004dce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000007e570000000000000000000000000000000000000000000000000000000000007e570000000000000000000000000000000000000000000000000000000000007e570000000000000000000000000000000000000000000000000000000000007e57", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={0: 1} - ) - }, - ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001c541c4ce1565a646ddde26e1b483a88a6500ce15bd24622492f05cdd18b97161d1827e364c15cfa61dab02339904b1e542f3939c6e8d6367d352026e71ffd6af5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={ - 0: 1, - 1: 0xB957B0DA344F6A17F0081D63BE7345A860E5B7A2, - } - ) - }, - ), - ( - "917694f9deaf0dead0600d0f00d00000000000000060a70000000000000f0ad0bad0beef000000000000000000000000000000000000000000000000000000000000001b8a41a35dfd03f28615dc64b7754457691c66bd73f630c7423280282fa431a5be2d40decf11713d564fa2df10dea5eb2adf45455ed309b4c8cc6853e2498323f5", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={ - 0: 1, - 1: 0xB957B0DA344F6A17F0081D63BE7345A860E5B7A2, - } - ) - }, - ), - ( - "917694f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bce354e1b07ba96e325aa4851999f07aabcb4471e49f0a0daafed98caab963f0379d9f3993cdd509f1bfba63dbd23dbdff879fb95203a5049f348a95ce8249f3b", # noqa: E501 - { - Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"): Account( - storage={ - 0: 1, - 1: 0xB957B0DA344F6A17F0081D63BE7345A860E5B7A2, - } - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", ], ) @pytest.mark.pre_alloc_mutable def test_ecrecover_weird_v( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xDE0C95357363DA5C1C5A73BD7C2781CA5C9FECC1014103B5E1D1E990AE8208EC ) @@ -389,8 +276,9 @@ def test_ecrecover_weird_v( gas_limit=71794957647893862, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: Yul + pre[coinbase] = Account(balance=0, nonce=1) + # Source: yul + # berlin # { # let ecRecoverAddr := 1 # @@ -408,38 +296,423 @@ def test_ecrecover_weird_v( # sstore(1, mload(0x100)) # sstore(2, mload(0x120)) # } - contract = pre.deploy_contract( - code=( - Op.PUSH2[0x100] - + Op.DUP1 - + Op.PUSH1[0x80] - + Op.PUSH1[0x0] - + Op.PUSH1[0x1] - + Op.MSTORE(offset=Op.DUP3, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x64)) - + Op.GAS - + Op.SSTORE(key=0x0, value=Op.STATICCALL) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x100)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x120)) - + Op.STOP - ), - storage={0x0: 0x60A7, 0x1: 0x60A7, 0x2: 0x60A7}, - address=Address("0x9121bb12ade6bf12796e6007b21a204e05b1bd49"), # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH2[0x100] + + Op.DUP1 + + Op.PUSH1[0x80] + + Op.PUSH1[0x0] + + Op.PUSH1[0x1] + + Op.MSTORE(offset=Op.DUP3, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x64)) + + Op.GAS + + Op.SSTORE(key=0x0, value=Op.STATICCALL) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x100)) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x120)) + + Op.STOP, + storage={0: 24743, 1: 24743, 2: 24743}, + nonce=1, + address=Address(0x9121BB12ADE6BF12796E6007B21A204E05B1BD49), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [ + 0, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 0, 2: 0})}, + }, + { + "indexes": {"data": [1, 2, 3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 1, + 1: 0xB957B0DA344F6A17F0081D63BE7345A860E5B7A2, + 2: 0, + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("917694f9") + + Hash(0x7E57) + + Hash(0x7E57) + + Hash(0x7E57) + + Hash(0x7E57), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x1B) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x1C) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash( + 0xDEAF0DEAD0600D0F00D00000000000000060A70000000000000F0AD0BAD0BEEF + ) + + Hash(0x1B) + + Hash( + 0x8A41A35DFD03F28615DC64B7754457691C66BD73F630C7423280282FA431A5BE + ) + + Hash( + 0x2D40DECF11713D564FA2DF10DEA5EB2ADF45455ED309B4C8CC6853E2498323F5 + ), + Bytes("917694f9") + + Hash( + 0xDAF5A779AE972F972197303D7B574746C7EF83EADAC0F2791AD23DB92E4C8E53 + ) + + Hash(0x25) + + Hash( + 0x28EF61340BD939BC2195FE537567866003E1A15D3C71FF63E1590620AA636276 + ) + + Hash( + 0x67CBE9D8997F761AECB703304B3800CCF555C9F3DC64214B297FB1966A3B6D83 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x25) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x26) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x2F) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x30) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x39) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x3A) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x4D) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x4E) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x23) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x24) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0xEB) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0xEC) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x0) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x1) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x2) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x3) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x4) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x5) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x6) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x7) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x8) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0xFF) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x100) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x10FF) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x1100) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x100FF) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x10100) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x123456FF) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0x12345700) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + Bytes("917694f9") + + Hash(0x0) + + Hash(0xDEADBEEF00FF) + + Hash( + 0xCE354E1B07BA96E325AA4851999F07AABCB4471E49F0A0DAAFED98CAAB963F03 + ) + + Hash( + 0x79D9F3993CDD509F1BFBA63DBD23DBDFF879FB95203A5049F348A95CE8249F3B + ), + Bytes("917694f9") + + Hash(0x1) + + Hash(0xDEADBEEF0100) + + Hash( + 0x541C4CE1565A646DDDE26E1B483A88A6500CE15BD24622492F05CDD18B97161D + ) + + Hash( + 0x1827E364C15CFA61DAB02339904B1E542F3939C6E8D6367D352026E71FFD6AF5 + ), + ] + tx_gas = [16777216] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_20500.py b/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_20500.py index dec21464b01..5b5164d4e35 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_20500.py +++ b/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_20500.py @@ -1,8 +1,8 @@ """ -Puts the base 0, exponent 0 and modulus 0 into the MODEXP precompile, saves... +Puts the base 0, exponent 0 and modulus 0 into the MODEXP precompile,... Ported from: -tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_20500Filler.json +state_tests/stPreCompiledContracts2/modexp_0_0_0_20500Filler.json """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,69 +28,61 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_20500Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/modexp_0_0_0_20500Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (42540, {}), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, + pytest.param( + 0, + 1, + 0, + id="-g1", ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, + pytest.param( + 0, + 2, + 0, + id="-g2", + ), + pytest.param( + 0, + 3, + 0, + id="-g3", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_modexp_0_0_0_20500( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Puts the base 0, exponent 0 and modulus 0 into the MODEXP...""" - coinbase = Address("0x3535353535353535353535353535353535353535") + coinbase = Address(0x3535353535353535353535353535353535353535) + contract_0 = Address(0xC305C901078781C232A2A521C2AF7980F8385EE9) + contract_1 = Address(0x0000000000000000000000000000000000000001) + contract_2 = Address(0x0000000000000000000000000000000000000005) + contract_3 = Address(0x0000000000000000000000000000000000000008) + contract_4 = Address(0x0000000000000000000000000000000000000003) + contract_5 = Address(0x0000000000000000000000000000000000000006) + contract_6 = Address(0x0000000000000000000000000000000000000007) + contract_7 = Address(0x0000000000000000000000000000000000000004) + contract_8 = Address(0x0000000000000000000000000000000000000002) sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D + key=0x44852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") env = Environment( fee_recipient=coinbase, @@ -95,338 +93,247 @@ def test_modexp_0_0_0_20500( gas_limit=100000000, ) - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[coinbase] = Account(balance=0x201EE, nonce=0) pre[sender] = Account(balance=0xDE0B6B3A761FE12, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12B, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x84, + # Source: hex + # 0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760846004356004013511151558576004356004013560200160043560040161014037600161024061014051610160600060056305f5e0fff11558576001610220526102206021806102808284600060046015f150505061028080516020820120905060005561028060206020820352604081510160206001820306601f820103905060208203f350005b # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE( + offset=0x20, value=0x10000000000000000000000000000000000000000 + ) + + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.MSTORE( + offset=0x60, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00 + ) + + Op.MSTORE( + offset=0xA0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 + ) + + Op.JUMPI( + pc=0x12B, + condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), + ) + + Op.JUMPI( + pc=Op.PC, + condition=Op.ISZERO( + Op.ISZERO( + Op.GT( + Op.CALLDATALOAD( + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)) ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x5, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x240, - ret_size=0x1, - ), + 0x84, + ) + ) + ), + ) + + Op.CALLDATACOPY( + dest_offset=0x140, + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), + size=Op.ADD( + 0x20, + Op.CALLDATALOAD( + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)) ), - ) - + Op.MSTORE(offset=0x220, value=0x1) - + Op.PUSH2[0x220] - + Op.PUSH1[0x21] - + Op.POP( + ), + ) + + Op.JUMPI( + pc=Op.PC, + condition=Op.ISZERO( Op.CALL( - gas=0x15, - address=0x4, + gas=0x5F5E0FF, + address=0x5, value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x280, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x280] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) + args_offset=0x160, + args_size=Op.MLOAD(offset=0x140), + ret_offset=0x240, + ret_size=0x1, + ) + ), + ) + + Op.MSTORE(offset=0x220, value=0x1) + + Op.PUSH2[0x220] + + Op.PUSH1[0x21] + + Op.POP( + Op.CALL( + gas=0x15, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=Op.DUP3, + ret_offset=0x280, + ret_size=Op.DUP1, ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x280] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000006000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000" - ), - gas_limit=tx_gas_limit, + ) + + Op.POP * 2 + + Op.PUSH2[0x280] + + Op.SHA3(offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1)) + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.SSTORE + + Op.PUSH2[0x280] + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) + + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) + + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) + + Op.SWAP1 + + Op.POP + + Op.SUB(Op.DUP3, 0x20) + + Op.RETURN + + Op.POP + + Op.STOP + + Op.JUMPDEST, nonce=1, + address=Address(0xC305C901078781C232A2A521C2AF7980F8385EE9), # noqa: E501 ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_20500Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - (42540, {}), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_modexp_0_0_0_20500_from_osaka( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the base 0, exponent 0 and modulus 0 into the MODEXP...""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D + # Source: hex + # 0x + coinbase = pre.deploy_contract( # noqa: F841 + code="", + balance=0x201EE, + nonce=0, + address=Address(0x3535353535353535353535353535353535353535), # noqa: E501 ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, + # Source: hex + # 0x + contract_1 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000001), # noqa: E501 + ) + # Source: hex + # 0x + contract_2 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000005), # noqa: E501 + ) + # Source: hex + # 0x + contract_3 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000008), # noqa: E501 + ) + # Source: hex + # 0x + contract_4 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000003), # noqa: E501 + ) + # Source: hex + # 0x + contract_5 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000006), # noqa: E501 + ) + # Source: hex + # 0x + contract_6 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000007), # noqa: E501 + ) + # Source: hex + # 0x + contract_7 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000004), # noqa: E501 + ) + # Source: hex + # 0x + contract_8 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000002), # noqa: E501 ) - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[coinbase] = Account(balance=0x201EE, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A761FE12, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12B, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x84, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": { + contract_1: Account(storage={}, code=b"", balance=1, nonce=0), + contract_0: Account( + storage={}, + code=bytes.fromhex( + "600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760846004356004013511151558576004356004013560200160043560040161014037600161024061014051610160600060056305f5e0fff11558576001610220526102206021806102808284600060046015f150505061028080516020820120905060005561028060206020820352604081510160206001820306601f820103905060208203f350005b" # noqa: E501 ), + balance=0, + nonce=1, ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x5, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x240, - ret_size=0x1, + contract_2: Account(storage={}, code=b"", balance=1, nonce=0), + contract_3: Account(storage={}, code=b"", balance=1, nonce=0), + contract_4: Account(storage={}, code=b"", balance=1, nonce=0), + sender: Account(storage={}, code=b"", nonce=2), + contract_5: Account(storage={}, code=b"", balance=1, nonce=0), + contract_6: Account(storage={}, code=b"", balance=1, nonce=0), + contract_7: Account(storage={}, code=b"", balance=1, nonce=0), + coinbase: Account(storage={}, code=b"", nonce=0), + contract_8: Account(storage={}, code=b"", balance=1, nonce=0), + }, + }, + { + "indexes": {"data": 0, "gas": [1, 2, 3], "value": 0}, + "network": [">=Cancun"], + "result": { + contract_1: Account(storage={}, code=b"", balance=1, nonce=0), + contract_0: Account( + storage={ + 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 + }, + code=bytes.fromhex( + "600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760846004356004013511151558576004356004013560200160043560040161014037600161024061014051610160600060056305f5e0fff11558576001610220526102206021806102808284600060046015f150505061028080516020820120905060005561028060206020820352604081510160206001820306601f820103905060208203f350005b" # noqa: E501 ), + balance=0, + nonce=1, ), - ) - + Op.MSTORE(offset=0x220, value=0x1) - + Op.PUSH2[0x220] - + Op.PUSH1[0x21] - + Op.POP( - Op.CALL( - gas=0x15, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x280, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x280] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x280] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) + contract_2: Account(storage={}, code=b"", balance=1, nonce=0), + contract_3: Account(storage={}, code=b"", balance=1, nonce=0), + contract_4: Account(storage={}, code=b"", balance=1, nonce=0), + sender: Account(storage={}, code=b"", nonce=2), + contract_5: Account(storage={}, code=b"", balance=1, nonce=0), + contract_6: Account(storage={}, code=b"", balance=1, nonce=0), + contract_7: Account(storage={}, code=b"", balance=1, nonce=0), + coinbase: Account(storage={}, code=b"", nonce=0), + contract_8: Account(storage={}, code=b"", balance=1, nonce=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("30c8d1da") + + Hash(0x20) + + Hash(0x60) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0), + ] + tx_gas = [42540, 90000, 110000, 200000] tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000006000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000" - ), - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_22000.py b/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_22000.py index d5b10b8deaa..5b3c05cf8c4 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_22000.py +++ b/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_22000.py @@ -1,8 +1,8 @@ """ -Puts the base 0, exponent 0 and modulus 0 into the MODEXP precompile, saves... +Puts the base 0, exponent 0 and modulus 0 into the MODEXP precompile,... Ported from: -tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_22000Filler.json +state_tests/stPreCompiledContracts2/modexp_0_0_0_22000Filler.json """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,41 +25,61 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_22000Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/modexp_0_0_0_22000Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_gas_limit", + "d, g, v", [ - 48136, - 90000, - 110000, - 200000, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", + ), + pytest.param( + 0, + 3, + 0, + id="-g3", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_modexp_0_0_0_22000( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Puts the base 0, exponent 0 and modulus 0 into the MODEXP...""" - coinbase = Address("0x3535353535353535353535353535353535353535") + coinbase = Address(0x3535353535353535353535353535353535353535) + contract_0 = Address(0xC305C901078781C232A2A521C2AF7980F8385EE9) + contract_1 = Address(0x0000000000000000000000000000000000000001) + contract_2 = Address(0x0000000000000000000000000000000000000005) + contract_3 = Address(0x0000000000000000000000000000000000000008) + contract_4 = Address(0x0000000000000000000000000000000000000003) + contract_5 = Address(0x0000000000000000000000000000000000000006) + contract_6 = Address(0x0000000000000000000000000000000000000007) + contract_7 = Address(0x0000000000000000000000000000000000000004) + contract_8 = Address(0x0000000000000000000000000000000000000002) sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D + key=0x44852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") env = Environment( fee_recipient=coinbase, @@ -67,322 +90,210 @@ def test_modexp_0_0_0_22000( gas_limit=100000000, ) - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[coinbase] = Account(balance=0x201EE, nonce=0) pre[sender] = Account(balance=0xDE0B6B3A761FE12, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12B, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x84, + # Source: hex + # 0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760846004356004013511151558576004356004013560200160043560040161014037600161024061014051610160600060056305f5e0fff11558576001610220526102206021806102808284600060046015f150505061028080516020820120905060005561028060206020820352604081510160206001820306601f820103905060208203f350005b # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE( + offset=0x20, value=0x10000000000000000000000000000000000000000 + ) + + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.MSTORE( + offset=0x60, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00 + ) + + Op.MSTORE( + offset=0xA0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 + ) + + Op.JUMPI( + pc=0x12B, + condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), + ) + + Op.JUMPI( + pc=Op.PC, + condition=Op.ISZERO( + Op.ISZERO( + Op.GT( + Op.CALLDATALOAD( + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)) ), - ), + 0x84, + ) + ) + ), + ) + + Op.CALLDATACOPY( + dest_offset=0x140, + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), + size=Op.ADD( + 0x20, + Op.CALLDATALOAD( + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)) ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x5, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x240, - ret_size=0x1, - ), - ), - ) - + Op.MSTORE(offset=0x220, value=0x1) - + Op.PUSH2[0x220] - + Op.PUSH1[0x21] - + Op.POP( + ), + ) + + Op.JUMPI( + pc=Op.PC, + condition=Op.ISZERO( Op.CALL( - gas=0x15, - address=0x4, + gas=0x5F5E0FF, + address=0x5, value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x280, - ret_size=Op.DUP1, - ), + args_offset=0x160, + args_size=Op.MLOAD(offset=0x140), + ret_offset=0x240, + ret_size=0x1, + ) + ), + ) + + Op.MSTORE(offset=0x220, value=0x1) + + Op.PUSH2[0x220] + + Op.PUSH1[0x21] + + Op.POP( + Op.CALL( + gas=0x15, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=Op.DUP3, + ret_offset=0x280, + ret_size=Op.DUP1, ) - + Op.POP - + Op.POP - + Op.PUSH2[0x280] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x280] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000006000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000" - ), - gas_limit=tx_gas_limit, + ) + + Op.POP * 2 + + Op.PUSH2[0x280] + + Op.SHA3(offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1)) + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.SSTORE + + Op.PUSH2[0x280] + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) + + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) + + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) + + Op.SWAP1 + + Op.POP + + Op.SUB(Op.DUP3, 0x20) + + Op.RETURN + + Op.POP + + Op.STOP + + Op.JUMPDEST, nonce=1, + address=Address(0xC305C901078781C232A2A521C2AF7980F8385EE9), # noqa: E501 ) - - post = { - contract: Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_22000Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.parametrize( - "tx_gas_limit", - [ - 48136, - 90000, - 110000, - 200000, - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_modexp_0_0_0_22000_from_osaka( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, -) -> None: - """Puts the base 0, exponent 0 and modulus 0 into the MODEXP...""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D + # Source: hex + # 0x + coinbase = pre.deploy_contract( # noqa: F841 + code="", + balance=0x201EE, + nonce=0, + address=Address(0x3535353535353535353535353535353535353535), # noqa: E501 ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, + # Source: hex + # 0x + contract_1 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000001), # noqa: E501 ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[coinbase] = Account(balance=0x201EE, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A761FE12, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12B, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x84, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x5, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x240, - ret_size=0x1, - ), - ), - ) - + Op.MSTORE(offset=0x220, value=0x1) - + Op.PUSH2[0x220] - + Op.PUSH1[0x21] - + Op.POP( - Op.CALL( - gas=0x15, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x280, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x280] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x280] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 + # Source: hex + # 0x + contract_2 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000005), # noqa: E501 + ) + # Source: hex + # 0x + contract_3 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000008), # noqa: E501 + ) + # Source: hex + # 0x + contract_4 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000003), # noqa: E501 + ) + # Source: hex + # 0x + contract_5 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000006), # noqa: E501 + ) + # Source: hex + # 0x + contract_6 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000007), # noqa: E501 + ) + # Source: hex + # 0x + contract_7 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000004), # noqa: E501 + ) + # Source: hex + # 0x + contract_8 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000002), # noqa: E501 ) + tx_data = [ + Bytes("30c8d1da") + + Hash(0x20) + + Hash(0x60) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0), + ] + tx_gas = [48136, 90000, 110000, 200000] + tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000006000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000" - ), - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, ) post = { - contract: Account( + contract_1: Account(storage={}, code=b"", balance=1, nonce=0), + contract_0: Account( storage={ 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 }, + balance=0, + nonce=1, ), + contract_2: Account(storage={}, code=b"", balance=1, nonce=0), + contract_3: Account(storage={}, code=b"", balance=1, nonce=0), + contract_4: Account(storage={}, code=b"", balance=1, nonce=0), + sender: Account(nonce=2), + contract_5: Account(storage={}, code=b"", balance=1, nonce=0), + contract_6: Account(storage={}, code=b"", balance=1, nonce=0), + contract_7: Account(storage={}, code=b"", balance=1, nonce=0), + contract_8: Account(storage={}, code=b"", balance=1, nonce=0), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_25000.py b/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_25000.py index a216340bb3e..f807fd468bd 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_25000.py +++ b/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_25000.py @@ -1,8 +1,8 @@ """ -Puts the base 0, exponent 0 and modulus 0 into the MODEXP precompile, saves... +Puts the base 0, exponent 0 and modulus 0 into the MODEXP precompile,... Ported from: -tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_25000Filler.json +state_tests/stPreCompiledContracts2/modexp_0_0_0_25000Filler.json """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,41 +25,61 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_25000Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/modexp_0_0_0_25000Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_gas_limit", + "d, g, v", [ - 47040, - 90000, - 110000, - 200000, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", + ), + pytest.param( + 0, + 3, + 0, + id="-g3", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_modexp_0_0_0_25000( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Puts the base 0, exponent 0 and modulus 0 into the MODEXP...""" - coinbase = Address("0x3535353535353535353535353535353535353535") + coinbase = Address(0x3535353535353535353535353535353535353535) + contract_0 = Address(0xC305C901078781C232A2A521C2AF7980F8385EE9) + contract_1 = Address(0x0000000000000000000000000000000000000001) + contract_2 = Address(0x0000000000000000000000000000000000000005) + contract_3 = Address(0x0000000000000000000000000000000000000008) + contract_4 = Address(0x0000000000000000000000000000000000000003) + contract_5 = Address(0x0000000000000000000000000000000000000006) + contract_6 = Address(0x0000000000000000000000000000000000000007) + contract_7 = Address(0x0000000000000000000000000000000000000004) + contract_8 = Address(0x0000000000000000000000000000000000000002) sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D + key=0x44852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") env = Environment( fee_recipient=coinbase, @@ -67,322 +90,210 @@ def test_modexp_0_0_0_25000( gas_limit=100000000, ) - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[coinbase] = Account(balance=0x201EE, nonce=0) pre[sender] = Account(balance=0xDE0B6B3A761FE12, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12B, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x84, + # Source: hex + # 0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760846004356004013511151558576004356004013560200160043560040161014037600161024061014051610160600060056305f5e0fff11558576001610220526102206021806102808284600060046015f150505061028080516020820120905060005561028060206020820352604081510160206001820306601f820103905060208203f350005b # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE( + offset=0x20, value=0x10000000000000000000000000000000000000000 + ) + + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.MSTORE( + offset=0x60, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00 + ) + + Op.MSTORE( + offset=0xA0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 + ) + + Op.JUMPI( + pc=0x12B, + condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), + ) + + Op.JUMPI( + pc=Op.PC, + condition=Op.ISZERO( + Op.ISZERO( + Op.GT( + Op.CALLDATALOAD( + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)) ), - ), + 0x84, + ) + ) + ), + ) + + Op.CALLDATACOPY( + dest_offset=0x140, + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), + size=Op.ADD( + 0x20, + Op.CALLDATALOAD( + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)) ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x5, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x240, - ret_size=0x1, - ), - ), - ) - + Op.MSTORE(offset=0x220, value=0x1) - + Op.PUSH2[0x220] - + Op.PUSH1[0x21] - + Op.POP( + ), + ) + + Op.JUMPI( + pc=Op.PC, + condition=Op.ISZERO( Op.CALL( - gas=0x15, - address=0x4, + gas=0x5F5E0FF, + address=0x5, value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x280, - ret_size=Op.DUP1, - ), + args_offset=0x160, + args_size=Op.MLOAD(offset=0x140), + ret_offset=0x240, + ret_size=0x1, + ) + ), + ) + + Op.MSTORE(offset=0x220, value=0x1) + + Op.PUSH2[0x220] + + Op.PUSH1[0x21] + + Op.POP( + Op.CALL( + gas=0x15, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=Op.DUP3, + ret_offset=0x280, + ret_size=Op.DUP1, ) - + Op.POP - + Op.POP - + Op.PUSH2[0x280] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x280] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000006000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000" - ), - gas_limit=tx_gas_limit, + ) + + Op.POP * 2 + + Op.PUSH2[0x280] + + Op.SHA3(offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1)) + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.SSTORE + + Op.PUSH2[0x280] + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) + + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) + + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) + + Op.SWAP1 + + Op.POP + + Op.SUB(Op.DUP3, 0x20) + + Op.RETURN + + Op.POP + + Op.STOP + + Op.JUMPDEST, nonce=1, + address=Address(0xC305C901078781C232A2A521C2AF7980F8385EE9), # noqa: E501 ) - - post = { - contract: Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_25000Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.parametrize( - "tx_gas_limit", - [ - 47040, - 90000, - 110000, - 200000, - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_modexp_0_0_0_25000_from_osaka( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, -) -> None: - """Puts the base 0, exponent 0 and modulus 0 into the MODEXP...""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D + # Source: hex + # 0x + coinbase = pre.deploy_contract( # noqa: F841 + code="", + balance=0x201EE, + nonce=0, + address=Address(0x3535353535353535353535353535353535353535), # noqa: E501 ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, + # Source: hex + # 0x + contract_1 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000001), # noqa: E501 ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[coinbase] = Account(balance=0x201EE, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A761FE12, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12B, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x84, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x5, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x240, - ret_size=0x1, - ), - ), - ) - + Op.MSTORE(offset=0x220, value=0x1) - + Op.PUSH2[0x220] - + Op.PUSH1[0x21] - + Op.POP( - Op.CALL( - gas=0x15, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x280, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x280] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x280] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 + # Source: hex + # 0x + contract_2 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000005), # noqa: E501 + ) + # Source: hex + # 0x + contract_3 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000008), # noqa: E501 + ) + # Source: hex + # 0x + contract_4 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000003), # noqa: E501 + ) + # Source: hex + # 0x + contract_5 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000006), # noqa: E501 + ) + # Source: hex + # 0x + contract_6 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000007), # noqa: E501 + ) + # Source: hex + # 0x + contract_7 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000004), # noqa: E501 + ) + # Source: hex + # 0x + contract_8 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000002), # noqa: E501 ) + tx_data = [ + Bytes("30c8d1da") + + Hash(0x20) + + Hash(0x60) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0), + ] + tx_gas = [47040, 90000, 110000, 200000] + tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000006000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000" - ), - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, ) post = { - contract: Account( + contract_1: Account(storage={}, code=b"", balance=1, nonce=0), + contract_0: Account( storage={ 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 }, + balance=0, + nonce=1, ), + contract_2: Account(storage={}, code=b"", balance=1, nonce=0), + contract_3: Account(storage={}, code=b"", balance=1, nonce=0), + contract_4: Account(storage={}, code=b"", balance=1, nonce=0), + sender: Account(nonce=2), + contract_5: Account(storage={}, code=b"", balance=1, nonce=0), + contract_6: Account(storage={}, code=b"", balance=1, nonce=0), + contract_7: Account(storage={}, code=b"", balance=1, nonce=0), + contract_8: Account(storage={}, code=b"", balance=1, nonce=0), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_35000.py b/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_35000.py index 99559e6a161..6e560ee537e 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_35000.py +++ b/tests/ported_static/stPreCompiledContracts2/test_modexp_0_0_0_35000.py @@ -1,8 +1,8 @@ """ -Puts the base 0, exponent 0 and modulus 0 into the MODEXP precompile, saves... +Puts the base 0, exponent 0 and modulus 0 into the MODEXP precompile,... Ported from: -tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_35000Filler.json +state_tests/stPreCompiledContracts2/modexp_0_0_0_35000Filler.json """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,41 +25,61 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_35000Filler.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/modexp_0_0_0_35000Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_gas_limit", + "d, g, v", [ - 57040, - 90000, - 110000, - 200000, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), + pytest.param( + 0, + 2, + 0, + id="-g2", + ), + pytest.param( + 0, + 3, + 0, + id="-g3", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_modexp_0_0_0_35000( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Puts the base 0, exponent 0 and modulus 0 into the MODEXP...""" - coinbase = Address("0x3535353535353535353535353535353535353535") + coinbase = Address(0x3535353535353535353535353535353535353535) + contract_0 = Address(0xC305C901078781C232A2A521C2AF7980F8385EE9) + contract_1 = Address(0x0000000000000000000000000000000000000001) + contract_2 = Address(0x0000000000000000000000000000000000000005) + contract_3 = Address(0x0000000000000000000000000000000000000008) + contract_4 = Address(0x0000000000000000000000000000000000000003) + contract_5 = Address(0x0000000000000000000000000000000000000006) + contract_6 = Address(0x0000000000000000000000000000000000000007) + contract_7 = Address(0x0000000000000000000000000000000000000004) + contract_8 = Address(0x0000000000000000000000000000000000000002) sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D + key=0x44852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") env = Environment( fee_recipient=coinbase, @@ -67,322 +90,210 @@ def test_modexp_0_0_0_35000( gas_limit=100000000, ) - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[coinbase] = Account(balance=0x201EE, nonce=0) pre[sender] = Account(balance=0xDE0B6B3A761FE12, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12B, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x84, + # Source: hex + # 0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760846004356004013511151558576004356004013560200160043560040161014037600161024061014051610160600060056305f5e0fff11558576001610220526102206021806102808284600060046015f150505061028080516020820120905060005561028060206020820352604081510160206001820306601f820103905060208203f350005b # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE( + offset=0x20, value=0x10000000000000000000000000000000000000000 + ) + + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.MSTORE( + offset=0x60, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00 + ) + + Op.MSTORE( + offset=0xA0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 + ) + + Op.JUMPI( + pc=0x12B, + condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), + ) + + Op.JUMPI( + pc=Op.PC, + condition=Op.ISZERO( + Op.ISZERO( + Op.GT( + Op.CALLDATALOAD( + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)) ), - ), + 0x84, + ) + ) + ), + ) + + Op.CALLDATACOPY( + dest_offset=0x140, + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), + size=Op.ADD( + 0x20, + Op.CALLDATALOAD( + offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)) ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x5, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x240, - ret_size=0x1, - ), - ), - ) - + Op.MSTORE(offset=0x220, value=0x1) - + Op.PUSH2[0x220] - + Op.PUSH1[0x21] - + Op.POP( + ), + ) + + Op.JUMPI( + pc=Op.PC, + condition=Op.ISZERO( Op.CALL( - gas=0x15, - address=0x4, + gas=0x5F5E0FF, + address=0x5, value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x280, - ret_size=Op.DUP1, - ), + args_offset=0x160, + args_size=Op.MLOAD(offset=0x140), + ret_offset=0x240, + ret_size=0x1, + ) + ), + ) + + Op.MSTORE(offset=0x220, value=0x1) + + Op.PUSH2[0x220] + + Op.PUSH1[0x21] + + Op.POP( + Op.CALL( + gas=0x15, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=Op.DUP3, + ret_offset=0x280, + ret_size=Op.DUP1, ) - + Op.POP - + Op.POP - + Op.PUSH2[0x280] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x280] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000006000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000" - ), - gas_limit=tx_gas_limit, + ) + + Op.POP * 2 + + Op.PUSH2[0x280] + + Op.SHA3(offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1)) + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.SSTORE + + Op.PUSH2[0x280] + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) + + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) + + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) + + Op.SWAP1 + + Op.POP + + Op.SUB(Op.DUP3, 0x20) + + Op.RETURN + + Op.POP + + Op.STOP + + Op.JUMPDEST, nonce=1, + address=Address(0xC305C901078781C232A2A521C2AF7980F8385EE9), # noqa: E501 ) - - post = { - contract: Account( - storage={ - 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/modexp_0_0_0_35000Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.parametrize( - "tx_gas_limit", - [ - 57040, - 90000, - 110000, - 200000, - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_modexp_0_0_0_35000_from_osaka( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, -) -> None: - """Puts the base 0, exponent 0 and modulus 0 into the MODEXP...""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D + # Source: hex + # 0x + coinbase = pre.deploy_contract( # noqa: F841 + code="", + balance=0x201EE, + nonce=0, + address=Address(0x3535353535353535353535353535353535353535), # noqa: E501 ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, + # Source: hex + # 0x + contract_1 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000001), # noqa: E501 ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[coinbase] = Account(balance=0x201EE, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A761FE12, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12B, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x84, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x5, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x240, - ret_size=0x1, - ), - ), - ) - + Op.MSTORE(offset=0x220, value=0x1) - + Op.PUSH2[0x220] - + Op.PUSH1[0x21] - + Op.POP( - Op.CALL( - gas=0x15, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x280, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x280] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x280] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 + # Source: hex + # 0x + contract_2 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000005), # noqa: E501 + ) + # Source: hex + # 0x + contract_3 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000008), # noqa: E501 + ) + # Source: hex + # 0x + contract_4 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000003), # noqa: E501 + ) + # Source: hex + # 0x + contract_5 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000006), # noqa: E501 + ) + # Source: hex + # 0x + contract_6 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000007), # noqa: E501 + ) + # Source: hex + # 0x + contract_7 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000004), # noqa: E501 + ) + # Source: hex + # 0x + contract_8 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000002), # noqa: E501 ) + tx_data = [ + Bytes("30c8d1da") + + Hash(0x20) + + Hash(0x60) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0), + ] + tx_gas = [57040, 90000, 110000, 200000] + tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000006000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000" - ), - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, ) post = { - contract: Account( + contract_1: Account(storage={}, code=b"", balance=1, nonce=0), + contract_0: Account( storage={ 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 }, + balance=0, + nonce=1, ), + contract_2: Account(storage={}, code=b"", balance=1, nonce=0), + contract_3: Account(storage={}, code=b"", balance=1, nonce=0), + contract_4: Account(storage={}, code=b"", balance=1, nonce=0), + sender: Account(nonce=2), + contract_5: Account(storage={}, code=b"", balance=1, nonce=0), + contract_6: Account(storage={}, code=b"", balance=1, nonce=0), + contract_7: Account(storage={}, code=b"", balance=1, nonce=0), + contract_8: Account(storage={}, code=b"", balance=1, nonce=0), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stPreCompiledContracts2/test_modexp_random_input.py b/tests/ported_static/stPreCompiledContracts2/test_modexp_random_input.py index 51e728bf222..2840e3593cf 100644 --- a/tests/ported_static/stPreCompiledContracts2/test_modexp_random_input.py +++ b/tests/ported_static/stPreCompiledContracts2/test_modexp_random_input.py @@ -2,7 +2,7 @@ Fuzzed input discovered by Guido. Ported from: -tests/static/state_tests/stPreCompiledContracts2/modexpRandomInputFiller.json +state_tests/stPreCompiledContracts2/modexpRandomInputFiller.json """ import pytest @@ -11,72 +11,77 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/modexpRandomInputFiller.json", # noqa: E501 - ], + ["state_tests/stPreCompiledContracts2/modexpRandomInputFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000000e300000000000000000000000000000000000000000000000000", # noqa: E501 - 710000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000e300000000000000000000000000000000000000000000000000", # noqa: E501 - 7000000, - {}, - ), - ( - "00000000008000000000000000000000000000000000000000000000000000000000000400000000000000000000000a", # noqa: E501 - 710000, - {}, - ), - ( - "00000000008000000000000000000000000000000000000000000000000000000000000400000000000000000000000a", # noqa: E501 - 7000000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001147000000000000000000000000000000000000000000000000000000000061660350000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 710000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001147000000000000000000000000000000000000000000000000000000000061660350000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 7000000, - {}, + pytest.param( + 0, + 0, + 0, + id="d0-g0", + ), + pytest.param( + 0, + 1, + 0, + id="d0-g1", + ), + pytest.param( + 1, + 0, + 0, + id="d1-g0", + ), + pytest.param( + 1, + 1, + 0, + id="d1-g1", + ), + pytest.param( + 2, + 0, + 0, + id="d2-g0", + ), + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], ) @pytest.mark.pre_alloc_mutable def test_modexp_random_input( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Fuzzed input discovered by Guido.""" - coinbase = Address("0x3535353535353535353535353535353535353535") + coinbase = Address(0x3535353535353535353535353535353535353535) sender = EOA( key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 ) - contract = Address("0x0000000000000000000000000000000000000005") env = Environment( fee_recipient=coinbase, @@ -89,180 +94,24 @@ def test_modexp_random_input( pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/modexpRandomInputFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.valid_until("Prague") -@pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", - [ - ( - "00000000000000000000000000000000000000000000000000000000000000e300000000000000000000000000000000000000000000000000", # noqa: E501 - 710000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000e300000000000000000000000000000000000000000000000000", # noqa: E501 - 7000000, - {}, + tx_data = [ + Bytes( + "00000000000000000000000000000000000000000000000000000000000000e300000000000000000000000000000000000000000000000000" # noqa: E501 ), - ( - "00000000008000000000000000000000000000000000000000000000000000000000000400000000000000000000000a", # noqa: E501 - 710000, - {}, + Bytes( + "00000000008000000000000000000000000000000000000000000000000000000000000400000000000000000000000a" # noqa: E501 ), - ( - "00000000008000000000000000000000000000000000000000000000000000000000000400000000000000000000000a", # noqa: E501 - 7000000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001147000000000000000000000000000000000000000000000000000000000061660350000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 710000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001147000000000000000000000000000000000000000000000000000000000061660350000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 7000000, - {}, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], -) -@pytest.mark.pre_alloc_mutable -def test_modexp_random_input_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Fuzzed input discovered by Guido.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 - ) - contract = Address("0x0000000000000000000000000000000000000005") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stPreCompiledContracts2/modexpRandomInputFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", - [ - ( - "00000000000000000000000000000000000000000000000000000000000000e300000000000000000000000000000000000000000000000000", # noqa: E501 - 710000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000e300000000000000000000000000000000000000000000000000", # noqa: E501 - 7000000, - {}, - ), - ( - "00000000008000000000000000000000000000000000000000000000000000000000000400000000000000000000000a", # noqa: E501 - 710000, - {}, - ), - ( - "00000000008000000000000000000000000000000000000000000000000000000000000400000000000000000000000a", # noqa: E501 - 7000000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001147000000000000000000000000000000000000000000000000000000000061660350000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 710000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001147000000000000000000000000000000000000000000000000000000000061660350000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 7000000, - {}, - ), - ], - ids=["case0", "case1", "case2", "case3", "case4", "case5"], -) -@pytest.mark.pre_alloc_mutable -def test_modexp_random_input_from_osaka( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Fuzzed input discovered by Guido.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 - ) - contract = Address("0x0000000000000000000000000000000000000005") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + Hash(0x0) + Hash(0x11470) + Hash(0x6166035) + Hash(0x8), + ] + tx_gas = [710000, 7000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, + to=Address(0x0000000000000000000000000000000000000005), + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stQuadraticComplexityTest/__init__.py b/tests/ported_static/stQuadraticComplexityTest/__init__.py index 9603d216632..c256c448d7d 100644 --- a/tests/ported_static/stQuadraticComplexityTest/__init__.py +++ b/tests/ported_static/stQuadraticComplexityTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stQuadraticComplexityTest.""" +"""Ported static tests: stQuadraticComplexityTest.""" # noqa: N999 diff --git a/tests/ported_static/stQuadraticComplexityTest/test_call1_mb1024_calldepth.py b/tests/ported_static/stQuadraticComplexityTest/test_call1_mb1024_calldepth.py index 243298bae72..9753d9d8810 100644 --- a/tests/ported_static/stQuadraticComplexityTest/test_call1_mb1024_calldepth.py +++ b/tests/ported_static/stQuadraticComplexityTest/test_call1_mb1024_calldepth.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call1_mb1024_calldepth. Ported from: -tests/static/state_tests/stQuadraticComplexityTest -Call1MB1024CalldepthFiller.json +state_tests/stQuadraticComplexityTest/Call1MB1024CalldepthFiller.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,41 +27,43 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stQuadraticComplexityTest/Call1MB1024CalldepthFiller.json", # noqa: E501 - ], + ["state_tests/stQuadraticComplexityTest/Call1MB1024CalldepthFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - ( - 250000000, - { - Address("0x9d15232f6851f9f3a88f88a3b358ed1579977a5a"): Account( - storage={0: 69, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_call1_mb1024_calldepth( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call1_mb1024_calldepth.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0x2AB8257767339461506C0C67824CF17BC77B52CA) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0x2ab8257767339461506c0c67824cf17bc77b52ca") env = Environment( fee_recipient=coinbase, @@ -68,44 +74,71 @@ def test_call1_mb1024_calldepth( gas_limit=882500000000, ) - pre[callee] = Account(balance=0xFFFFFFFFFFFFF, nonce=0) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=0xFFFFFFFFFFFFF) + # Source: lll # { (def 'i 0x80) [[ 0 ]] (+ @@0 1) (if (LT @@0 1024) [[ 1 ]] (CALL (- (GAS) 1005000) 0 0 1000000 0 0) [[ 2 ]] 1 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.JUMPI(pc=0x1B, condition=Op.LT(Op.SLOAD(key=0x0), 0x400)) - + Op.SSTORE(key=0x2, value=0x1) - + Op.JUMP(pc=0x47) - + Op.JUMPDEST - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0xF55C8), - address=0x9D15232F6851F9F3A88F88A3B358ED1579977A5A, - value=0x0, - args_offset=0x0, - args_size=0xF4240, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.JUMPI(pc=0x1B, condition=Op.LT(Op.SLOAD(key=0x0), 0x400)) + + Op.SSTORE(key=0x2, value=0x1) + + Op.JUMP(pc=0x47) + + Op.JUMPDEST + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0xF55C8), + address=0x9D15232F6851F9F3A88F88A3B358ED1579977A5A, + value=0x0, + args_offset=0x0, + args_size=0xF4240, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPDEST + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x9d15232f6851f9f3a88f88a3b358ed1579977a5a"), # noqa: E501 + address=Address(0x9D15232F6851F9F3A88F88A3B358ED1579977A5A), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call20_kbytes_contract50_1.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -70,55 +75,81 @@ def test_call20_kbytes_contract50_1( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL - # { (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (CALL 88250000000 0 0 0 0 0) ) [[ 1 ]] @i } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x40, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x148C1C2280, - address=0xAE9C63D43225738DE8070CE25E1BE54F429DA182, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP + # Source: raw + # 0x6001600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600055 # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "6001600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600055" # noqa: E501 ), balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x8c9ec19d542269495230087c08602e5d70572fd5"), + address=Address(0xAE9C63D43225738DE8070CE25E1BE54F429DA182), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.PUSH1[1] - + (Op.PUSH1[1] + Op.ADD) * 3727 - + Op.PUSH1[0] - + Op.SSTORE, + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (CALL 88250000000 0 0 0 0 0) ) [[ 1 ]] @i } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x40, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x148C1C2280, + address=0xAE9C63D43225738DE8070CE25E1BE54F429DA182, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xae9c63d43225738de8070ce25e1be54f429da182"), + address=Address(0x8C9EC19D542269495230087C08602E5D70572FD5), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(storage={}, code=b"", nonce=1), + addr: Account(storage={0: 3728}, nonce=0), + target: Account(storage={0: 1, 1: 50}, nonce=0), + }, + }, + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(storage={}, code=b"", nonce=1), + addr: Account(storage={}, nonce=0), + target: Account(storage={}, nonce=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 12500000] + tx_value = [10] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stQuadraticComplexityTest/test_call20_kbytes_contract50_2.py b/tests/ported_static/stQuadraticComplexityTest/test_call20_kbytes_contract50_2.py index a0c066e5d3c..02f27461722 100644 --- a/tests/ported_static/stQuadraticComplexityTest/test_call20_kbytes_contract50_2.py +++ b/tests/ported_static/stQuadraticComplexityTest/test_call20_kbytes_contract50_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call20_kbytes_contract50_2. Ported from: -tests/static/state_tests/stQuadraticComplexityTest -Call20KbytesContract50_2Filler.json +state_tests/stQuadraticComplexityTest/Call20KbytesContract50_2Filler.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,39 +28,40 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stQuadraticComplexityTest/Call20KbytesContract50_2Filler.json", + "state_tests/stQuadraticComplexityTest/Call20KbytesContract50_2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - ( - 250000000, - { - Address("0x8c9ec19d542269495230087c08602e5d70572fd5"): Account( - storage={0: 1, 1: 50} - ), - Address("0xe7ebafa0fea97a99a72b7f0996c07477e54df0c2"): Account( - storage={0: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_call20_kbytes_contract50_2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call20_kbytes_contract50_2.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -71,55 +76,88 @@ def test_call20_kbytes_contract50_2( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL - # { (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (CALL 88250000000 0 0 0 0 0) ) [[ 1 ]] @i } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x40, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x148C1C2280, - address=0xE7EBAFA0FEA97A99A72B7F0996C07477E54DF0C2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), - balance=0xFFFFFFFFFFFFF, - nonce=0, - address=Address("0x8c9ec19d542269495230087c08602e5d70572fd5"), - ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055 # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 code=Op.PUSH1[0x1] + Op.JUMPDEST * 22237 + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.ADD), balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xe7ebafa0fea97a99a72b7f0996c07477e54df0c2"), + address=Address(0xE7EBAFA0FEA97A99A72B7F0996C07477E54DF0C2), # noqa: E501 + ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (CALL 88250000000 0 0 0 0 0) ) [[ 1 ]] @i } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x40, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x148C1C2280, + address=0xE7EBAFA0FEA97A99A72B7F0996C07477E54DF0C2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, + balance=0xFFFFFFFFFFFFF, + nonce=0, + address=Address(0x8C9EC19D542269495230087C08602E5D70572FD5), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun=Cancun None: """Potentially broken test: gas optimization shows that we can go as...""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -70,8 +75,10 @@ def test_call20_kbytes_contract50_3( gas_limit=882500000000, ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + # Source: raw + # 0x6001614a8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055 # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 code=Op.PUSH1[0x1] + Op.JUMP(pc=0x4A8E) + Op.JUMPDEST * 21125 @@ -79,48 +86,73 @@ def test_call20_kbytes_contract50_3( + Op.SSTORE(key=0x0, value=Op.ADD), balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x2c496c63f4e9f426bfd41214147cdd3dcd2de1c3"), + address=Address(0x2C496C63F4E9F426BFD41214147CDD3DCD2DE1C3), # noqa: E501 ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (CALL 88250000000 0 0 0 0 0) ) [[ 1 ]] @i } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x40, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x148C1C2280, - address=0x2C496C63F4E9F426BFD41214147CDD3DCD2DE1C3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x40, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x148C1C2280, + address=0x2C496C63F4E9F426BFD41214147CDD3DCD2DE1C3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x8c9ec19d542269495230087c08602e5d70572fd5"), + address=Address(0x8C9EC19D542269495230087C08602E5D70572FD5), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call50000.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -61,46 +75,84 @@ def test_call50000( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (CALL 1600 1 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x640, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - value=0x1, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x640, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + value=0x1, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x968a2606110ef719ed66f5e3688f6fb82d606ffa"), # noqa: E501 + address=Address(0x968A2606110EF719ED66F5E3688F6FB82D606FFA), # noqa: E501 ) - pre[callee] = Account(balance=7000, nonce=0) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call50000_ecrec.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -59,46 +73,82 @@ def test_call50000_ecrec( gas_limit=3000000000, ) - # Source: LLL + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + # Source: lll # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (CALL 500 1 1 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x2C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1F4, - address=0x1, - value=0x1, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x2C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1F4, + address=0x1, + value=0x1, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, nonce=0, - address=Address("0x1c5bef085b43f11a8a19ae08a0c20019e6d15236"), # noqa: E501 + address=Address(0x1C5BEF085B43F11A8A19AE08A0C20019E6D15236), # noqa: E501 ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call50000_identity.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -60,46 +73,82 @@ def test_call50000_identity( gas_limit=882500000, ) - # Source: LLL + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + # Source: lll # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (CALL 1564 4 1 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x2C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x61C, - address=0x4, - value=0x1, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x2C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x61C, + address=0x4, + value=0x1, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x25d58a9d3632eea7b6146cdaa0b4d323a83a814e"), # noqa: E501 + address=Address(0x25D58A9D3632EEA7B6146CDAA0B4D323A83A814E), # noqa: E501 ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call50000_identity2.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -61,47 +74,83 @@ def test_call50000_identity2( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { (def 'i 0x80) [ 1 ] 42 (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (CALL 1564 4 1 0 50000 1 50000) ) [[ 1 ]] @i [[ 2 ]] @1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x2A) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x32, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x61C, - address=0x4, - value=0x1, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x1, - ret_size=0xC350, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x5) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x1)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x2A) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x32, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x61C, + address=0x4, + value=0x1, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x1, + ret_size=0xC350, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x5) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x1)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x6dc17565113358633923f732d8c32382345d2d6f"), # noqa: E501 + address=Address(0x6DC17565113358633923F732D8C32382345D2D6F), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call50000_rip160.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -60,45 +74,81 @@ def test_call50000_rip160( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (CALL 78200 3 1 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x2D, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x13178, - address=0x3, - value=0x1, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x2D, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x13178, + address=0x3, + value=0x1, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xc10d84baa3a4bb4e45c856ebe1ef386bfed327db"), # noqa: E501 + address=Address(0xC10D84BAA3A4BB4E45C856EBE1EF386BFED327DB), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call50000_sha256.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_0 = Address(0xBBBF5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -60,45 +75,87 @@ def test_call50000_sha256( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (CALL 78200 2 1 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x2D, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x13178, - address=0x2, - value=0x1, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x2D, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x13178, + address=0x2, + value=0x1, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xBBBF5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_callcode50000.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -61,46 +75,84 @@ def test_callcode50000( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (CALLCODE 1600 1 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x640, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - value=0x1, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x640, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + value=0x1, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x7fc89545bed7af26b6ef809b53e9a93fd0718468"), # noqa: E501 + address=Address(0x7FC89545BED7AF26B6EF809B53E9A93FD0718468), # noqa: E501 ) - pre[callee] = Account(balance=7000, nonce=0) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun=Cancun None: """Gas analysis showed this test's gas can go as low as 21053, and...""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_0 = Address(0xBBBF5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -60,37 +76,106 @@ def test_create1000( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { (def 'i 0x80) (for {} (< @i 1000) [i](+ @i 1) [[ 0 ]] (CREATE 1 0 50000) ) [[ 1 ]] @i} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x23, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x3E8)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE(value=0x1, offset=0x0, size=0xC350), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x23, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x3E8)) + ) + + Op.SSTORE( + key=0x0, value=Op.CREATE(value=0x1, offset=0x0, size=0xC350) + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xBBBF5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun=Cancun None: """Gas analysis showed this test's gas can go as low as 21053, and...""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_0 = Address(0xBBBF5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -61,37 +72,44 @@ def test_create1000_byzantium( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { (def 'i 0x80) (for {} (< @i 1000) [i](+ @i 1) [[ 0 ]] (CREATE 1 0 50000) ) [[ 1 ]] @i} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x23, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x3E8)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE(value=0x1, offset=0x0, size=0xC350), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x23, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x3E8)) + ) + + Op.SSTORE( + key=0x0, value=Op.CREATE(value=0x1, offset=0x0, size=0xC350) + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xBBBF5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 250000000] + tx_value = [10] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=10, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + Address( + 0x010D8B0816E30FF51BA07678C64B272CDEDDB807 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stQuadraticComplexityTest/test_create1000_shnghai.py b/tests/ported_static/stQuadraticComplexityTest/test_create1000_shnghai.py index 9940abe027c..204ec820c5a 100644 --- a/tests/ported_static/stQuadraticComplexityTest/test_create1000_shnghai.py +++ b/tests/ported_static/stQuadraticComplexityTest/test_create1000_shnghai.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create1000_shnghai. Ported from: -tests/static/state_tests/stQuadraticComplexityTest/Create1000ShnghaiFiller.json +state_tests/stQuadraticComplexityTest/Create1000ShnghaiFiller.json """ import pytest @@ -11,9 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,40 +28,40 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stQuadraticComplexityTest/Create1000ShnghaiFiller.json", # noqa: E501 - ], + ["state_tests/stQuadraticComplexityTest/Create1000ShnghaiFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - ( - 250000000, - { - Address("0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 0x7981FA24B134DEB51D71D250D7B0D9E33C8C5457, - 1: 1000, - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_create1000_shnghai( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_create1000_shnghai.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_0 = Address(0xBBBF5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -70,36 +76,132 @@ def test_create1000_shnghai( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { (def 'i 0x80) (for {} (< @i 1000) [i](+ @i 1) [[ 0 ]] (CREATE 1 0 10) ) [[ 1 ]] @i} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x22, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x3E8)), - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0x0, size=0xA) - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x22, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x3E8)) + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0x0, size=0xA)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xBBBF5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_quadratic_complexity_solidity_call_data_copy.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x6A7EEAC5F12B409D42028F66B0B2132535EE158CFDA439E3BFDD4558E8F4BF6C ) @@ -60,91 +75,102 @@ def test_quadratic_complexity_solidity_call_data_copy( gas_limit=350000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.EXP(0x2, 0xE0) - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=0x15, condition=Op.EQ(0x61A47706, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x1E] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=0x24) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.PUSH20[0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B] - + Op.SWAP1 - + Op.POP - + Op.JUMPDEST - + Op.JUMPI(pc=0xBF, condition=Op.ISZERO(Op.SGT(Op.DUP3, 0x0))) - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE( - offset=Op.DUP2, - value=0x6A75737400000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.PUSH1[0x4] - + Op.ADD - + Op.MSTORE( - offset=Op.DUP2, - value=0x63616C6C00000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP6 - + Op.SUB(Op.GAS, 0x15) - + Op.POP(Op.CALL) - + Op.POP - + Op.SUB(Op.DUP3, 0x1) - + Op.SWAP2 - + Op.POP - + Op.JUMP(pc=0x45) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMP - ), + # Source: raw + # 0x60003560e060020a9004806361a4770614601557005b601e6004356024565b60006000f35b60008160008190555073b94f5374fce5edbc8e2a8697c15331677e6ebf0b90505b600082131560bf5780600160a060020a03166000600060007f6a7573740000000000000000000000000000000000000000000000000000000081526004017f63616c6c000000000000000000000000000000000000000000000000000000008152602001600060008560155a03f150506001820391506045565b505056 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.EXP(0x2, 0xE0) + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=0x15, condition=Op.EQ(0x61A47706, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x1E] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=0x24) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.PUSH20[0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B] + + Op.SWAP1 + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0xBF, condition=Op.ISZERO(Op.SGT(Op.DUP3, 0x0))) + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1) + + Op.PUSH1[0x0] * 3 + + Op.MSTORE( + offset=Op.DUP2, + value=0x6A75737400000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.PUSH1[0x4] + + Op.ADD + + Op.MSTORE( + offset=Op.DUP2, + value=0x63616C6C00000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.PUSH1[0x0] * 2 + + Op.DUP6 + + Op.SUB(Op.GAS, 0x15) + + Op.POP(Op.CALL) + + Op.POP + + Op.SUB(Op.DUP3, 0x1) + + Op.SWAP2 + + Op.POP + + Op.JUMP(pc=0x45) + + Op.JUMPDEST + + Op.POP * 2 + + Op.JUMP, balance=0x11C37937E08000, nonce=0, - address=Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # { (CALLDATACOPY 0 0 50000) } - pre.deploy_contract( - code=( - Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=0xC350) + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=0xC350) + + Op.STOP, balance=0x4C4B40, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) pre[sender] = Account(balance=0x11C37937E08000) + tx_data = [ + Bytes("61a47706") + Hash(0xC350), + ] + tx_gas = [150000, 250000000] + tx_value = [1] + tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "61a47706000000000000000000000000000000000000000000000000000000000000c350" # noqa: E501 - ), - gas_limit=tx_gas_limit, - value=1, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_0: Account( + storage={}, + code=bytes.fromhex( + "60003560e060020a9004806361a4770614601557005b601e6004356024565b60006000f35b60008160008190555073b94f5374fce5edbc8e2a8697c15331677e6ebf0b90505b600082131560bf5780600160a060020a03166000600060007f6a7573740000000000000000000000000000000000000000000000000000000081526004017f63616c6c000000000000000000000000000000000000000000000000000000008152602001600060008560155a03f150506001820391506045565b505056" # noqa: E501 + ), + nonce=0, + ), + contract_1: Account( + storage={}, + code=bytes.fromhex("61c350600060003700"), + nonce=0, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stQuadraticComplexityTest/test_return50000.py b/tests/ported_static/stQuadraticComplexityTest/test_return50000.py index 612473ef270..db6a155085d 100644 --- a/tests/ported_static/stQuadraticComplexityTest/test_return50000.py +++ b/tests/ported_static/stQuadraticComplexityTest/test_return50000.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_return50000. Ported from: -tests/static/state_tests/stQuadraticComplexityTest/Return50000Filler.json +state_tests/stQuadraticComplexityTest/Return50000Filler.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,36 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stQuadraticComplexityTest/Return50000Filler.json", # noqa: E501 - ], + ["state_tests/stQuadraticComplexityTest/Return50000Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - ( - 16000000, - { - Address("0x6123b8b3e245b90f39ed7418d320a60abb365b9f"): Account( - storage={0: 1, 1: 50000} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_return50000( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_return50000.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -66,54 +73,94 @@ def test_return50000( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL - # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (CALL 1564 0 0 50000 0 0) ) [[ 1 ]] @i } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x61C, - address=0xAAB87D565DD96E58089E1DFF410FBDAC45290658, - value=0x0, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + # Source: lll + # { (RETURN (CALLDATALOAD 49999) 1) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=Op.CALLDATALOAD(offset=0xC34F), size=0x1) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x6123b8b3e245b90f39ed7418d320a60abb365b9f"), # noqa: E501 + address=Address(0xAAB87D565DD96E58089E1DFF410FBDAC45290658), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN(offset=Op.CALLDATALOAD(offset=0xC34F), size=0x1) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (CALL 1564 0 0 50000 0 0) ) [[ 1 ]] @i } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x61C, + address=0xAAB87D565DD96E58089E1DFF410FBDAC45290658, + value=0x0, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xaab87d565dd96e58089e1dff410fbdac45290658"), # noqa: E501 + address=Address(0x6123B8B3E245B90F39ED7418D320A60ABB365B9F), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(storage={}, code=b"", nonce=1), + addr: Account( + storage={}, + code=bytes.fromhex("600161c34f35f300"), + nonce=0, + ), + target: Account(storage={0: 1, 1: 50000}, nonce=0), + }, + }, + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(storage={}, code=b"", nonce=1), + addr: Account( + storage={}, + code=bytes.fromhex("600161c34f35f300"), + nonce=0, + ), + target: Account( + storage={}, + code=bytes.fromhex( + "5b61c3506080511015603f576000600061c3506000600073aab87d565dd96e58089e1dff410fbdac4529065861061cf16000556001608051016080526000565b60805160015500" # noqa: E501 + ), + nonce=0, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16000000] + tx_value = [10] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stQuadraticComplexityTest/test_return50000_2.py b/tests/ported_static/stQuadraticComplexityTest/test_return50000_2.py index 4a839e84453..2f1ea8906eb 100644 --- a/tests/ported_static/stQuadraticComplexityTest/test_return50000_2.py +++ b/tests/ported_static/stQuadraticComplexityTest/test_return50000_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_return50000_2. Ported from: -tests/static/state_tests/stQuadraticComplexityTest/Return50000_2Filler.json +state_tests/stQuadraticComplexityTest/Return50000_2Filler.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,36 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stQuadraticComplexityTest/Return50000_2Filler.json", # noqa: E501 - ], + ["state_tests/stQuadraticComplexityTest/Return50000_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (150000, {}), - ( - 16000000, - { - Address("0x6123b8b3e245b90f39ed7418d320a60abb365b9f"): Account( - storage={0: 1, 1: 50000} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_return50000_2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_return50000_2.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -66,55 +73,101 @@ def test_return50000_2( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL - # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (CALL 1564 0 0 50000 0 0) ) [[ 1 ]] @i } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x61C, - address=0xF2C82CA2413A9F3F06781DB577400DDB6C76767D, - value=0x0, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + # Source: lll + # { [ 0 ] (CALLDATALOAD 49999) (RETURN @0 1) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0xC34F)) + + Op.RETURN(offset=Op.MLOAD(offset=0x0), size=0x1) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x6123b8b3e245b90f39ed7418d320a60abb365b9f"), # noqa: E501 + address=Address(0xF2C82CA2413A9F3F06781DB577400DDB6C76767D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0xC34F)) - + Op.RETURN(offset=Op.MLOAD(offset=0x0), size=0x1) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (CALL 1564 0 0 50000 0 0) ) [[ 1 ]] @i } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x61C, + address=0xF2C82CA2413A9F3F06781DB577400DDB6C76767D, + value=0x0, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xf2c82ca2413a9f3f06781db577400ddb6c76767d"), # noqa: E501 + address=Address(0x6123B8B3E245B90F39ED7418D320A60ABB365B9F), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(storage={}, code=b"", nonce=1), + addr: Account( + storage={}, + code=bytes.fromhex("61c34f356000526001600051f300"), + nonce=0, + ), + target: Account( + storage={0: 1, 1: 50000}, + code=bytes.fromhex( + "5b61c3506080511015603f576000600061c3506000600073f2c82ca2413a9f3f06781db577400ddb6c76767d61061cf16000556001608051016080526000565b60805160015500" # noqa: E501 + ), + nonce=0, + ), + }, + }, + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(storage={}, code=b"", nonce=1), + addr: Account( + storage={}, + code=bytes.fromhex("61c34f356000526001600051f300"), + nonce=0, + ), + target: Account( + storage={}, + code=bytes.fromhex( + "5b61c3506080511015603f576000600061c3506000600073f2c82ca2413a9f3f06781db577400ddb6c76767d61061cf16000556001608051016080526000565b60805160015500" # noqa: E501 + ), + nonce=0, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [150000, 16000000] + tx_value = [10] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/__init__.py b/tests/ported_static/stRandom/__init__.py index a8afd4a5476..afa95bc44cb 100644 --- a/tests/ported_static/stRandom/__init__.py +++ b/tests/ported_static/stRandom/__init__.py @@ -1 +1 @@ -"""Tests ported from stRandom.""" +"""Ported static tests: stRandom.""" # noqa: N999 diff --git a/tests/ported_static/stRandom/test_random_statetest0.py b/tests/ported_static/stRandom/test_random_statetest0.py index 8386a2e1a16..c50dd929c46 100644 --- a/tests/ported_static/stRandom/test_random_statetest0.py +++ b/tests/ported_static/stRandom/test_random_statetest0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest0. Ported from: -tests/static/state_tests/stRandom/randomStatetest0Filler.json +state_tests/stRandom/randomStatetest0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest0Filler.json"], + ["state_tests/stRandom/randomStatetest0Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest0.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,135 +46,47 @@ def test_random_statetest0( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff857ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1302056f60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff857fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe1302056f60005155" + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff857ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1302056f60005155" # noqa: E501 ), nonce=0, - address=Address("0x3c2c1d569d955ee8d26ced4adcd452c462a972ad"), # noqa: E501 + address=Address(0x3C2C1D569D955EE8D26CED4ADCD452C462A972AD), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff857fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe1302056f" - ), - gas_limit=100000, - value=1631233707, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest0Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest0_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff857fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe1302056f60005155" - ), - nonce=0, - address=Address("0x3c2c1d569d955ee8d26ced4adcd452c462a972ad"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff857fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe1302056f" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff857ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1302056f" # noqa: E501 ), gas_limit=100000, - value=1631233707, + value=0x613AA6AB, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest1.py b/tests/ported_static/stRandom/test_random_statetest1.py index 4482c23de77..bb480bae8d1 100644 --- a/tests/ported_static/stRandom/test_random_statetest1.py +++ b/tests/ported_static/stRandom/test_random_statetest1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest1. Ported from: -tests/static/state_tests/stRandom/randomStatetest1Filler.json +state_tests/stRandom/randomStatetest1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest1Filler.json"], + ["state_tests/stRandom/randomStatetest1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest1.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,53 +47,53 @@ def test_random_statetest1( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.GASLIMIT - + Op.CALLCODE( - gas=Op.MSIZE, - address=Op.TIMESTAMP, - value=Op.PREVRANDAO, - args_offset=Op.COINBASE, - args_size=Op.NUMBER, - ret_offset=Op.COINBASE, - ret_size=Op.NUMBER, - ) + # Source: raw + # 0x454543414341444259f2 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT * 2 + + Op.CALLCODE( + gas=Op.MSIZE, + address=Op.TIMESTAMP, + value=Op.PREVRANDAO, + args_offset=Op.COINBASE, + args_size=Op.NUMBER, + ret_offset=Op.COINBASE, + ret_size=Op.NUMBER, ), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=contract_0, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + contract_0: Account(storage={}, balance=0xDE0B6B3A7640000, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest10.py b/tests/ported_static/stRandom/test_random_statetest10.py index 35283cde784..0e0b16c047b 100644 --- a/tests/ported_static/stRandom/test_random_statetest10.py +++ b/tests/ported_static/stRandom/test_random_statetest10.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest10. Ported from: -tests/static/state_tests/stRandom/randomStatetest10Filler.json +state_tests/stRandom/randomStatetest10Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest10Filler.json"], + ["state_tests/stRandom/randomStatetest10Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest10( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest10.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest10( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000000120417f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3508859a1740a0528f26a635216cd980a9a9255 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000000120417f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3508859a1740a0528f26a635216cd980a9a9255" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA1941AE61E22D0850914D85E19B1BD7234265C66), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000120417f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000c3507f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3508859a1740a0528f26a635216cd" # noqa: E501 - "980a9a9255" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa1941ae61e22d0850914d85e19b1bd7234265c66"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000120417f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000c3507f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3508859a1740a0528f26a635216cd" # noqa: E501 - "980a9a92" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000000120417f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3508859a1740a0528f26a635216cd980a9a92" # noqa: E501 ), gas_limit=100000, - value=364185236, + value=0x15B50694, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest100.py b/tests/ported_static/stRandom/test_random_statetest100.py index 5d67f216273..148f44abbf9 100644 --- a/tests/ported_static/stRandom/test_random_statetest100.py +++ b/tests/ported_static/stRandom/test_random_statetest100.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest100. Ported from: -tests/static/state_tests/stRandom/randomStatetest100Filler.json +state_tests/stRandom/randomStatetest100Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest100Filler.json"], + ["state_tests/stRandom/randomStatetest100Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest100( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest100.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,62 @@ def test_random_statetest100( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x414243444342444283f24455 + target = pre.deploy_contract( # noqa: F841 + code=Op.COINBASE + + Op.TIMESTAMP + + Op.SSTORE( + key=Op.PREVRANDAO, + value=Op.CALLCODE( + gas=Op.DUP4, + address=Op.TIMESTAMP, + value=Op.PREVRANDAO, + args_offset=Op.TIMESTAMP, + args_size=Op.NUMBER, + ret_offset=Op.PREVRANDAO, + ret_size=Op.NUMBER, + ), ), - balance=46, + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xAC7AF608FDD0C1E915C85A0DDED54637285B93B0), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.COINBASE - + Op.TIMESTAMP - + Op.SSTORE( - key=Op.PREVRANDAO, - value=Op.CALLCODE( - gas=Op.DUP4, - address=Op.TIMESTAMP, - value=Op.PREVRANDAO, - args_offset=Op.TIMESTAMP, - args_size=Op.NUMBER, - ret_offset=Op.PREVRANDAO, - ret_size=Op.NUMBER, - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0xac7af608fdd0c1e915c85a0dded54637285b93b0"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0x20000: 1}), + target: Account( + storage={0x20000: 1}, + code=bytes.fromhex("414243444342444283f24455"), + balance=0xDE0B6B3A76586A0, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest102.py b/tests/ported_static/stRandom/test_random_statetest102.py index 822d1381885..9dc53197095 100644 --- a/tests/ported_static/stRandom/test_random_statetest102.py +++ b/tests/ported_static/stRandom/test_random_statetest102.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest102. Ported from: -tests/static/state_tests/stRandom/randomStatetest102Filler.json +state_tests/stRandom/randomStatetest102Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest102Filler.json"], + ["state_tests/stRandom/randomStatetest102Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest102( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest102.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,58 @@ def test_random_statetest102( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PREVRANDAO - + Op.PREVRANDAO - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x157094FFFF1A04893A9CF3858B857655, - ) + # Source: raw + # 0x457f00000000000000000000000044447f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f157094ffff1a04893a9cf3858b85765560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PREVRANDAO * 2 + + Op.PUSH32[0x0] * 2 + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x157094FFFF1A04893A9CF3858B857655 ), nonce=0, - address=Address("0x467dcdbf737c1ea416e75d9bc88e09533838889f"), # noqa: E501 + address=Address(0x467DCDBF737C1EA416E75D9BC88E09533838889F), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e794444" # noqa: E501 - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe6f157094ffff1a04893a9cf3" # noqa: E501 - "858b8576" + to=target, + data=Bytes( + "457f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7944447f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f157094ffff1a04893a9cf3858b8576" # noqa: E501 ), gas_limit=100000, - value=634395362, + value=0x25D01AE2, ) post = { - contract: Account(storage={0: 0x157094FFFF1A04893A9CF3858B857655}), + target: Account( + storage={0: 0x157094FFFF1A04893A9CF3858B857655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest103.py b/tests/ported_static/stRandom/test_random_statetest103.py index 6d859ced084..e1809cc0f0a 100644 --- a/tests/ported_static/stRandom/test_random_statetest103.py +++ b/tests/ported_static/stRandom/test_random_statetest103.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest103. Ported from: -tests/static/state_tests/stRandom/randomStatetest103Filler.json +state_tests/stRandom/randomStatetest103Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest103Filler.json"], + ["state_tests/stRandom/randomStatetest103Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest103( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest103.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest103( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe92357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff597f00000000000000000000000000000000000000000000000000000000000000019385a39988160a205a93196d336428 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe92357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff597f00000000000000000000000000000000000000000000000000000000000000019385a39988160a205a93196d336428" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7284C101C23E4AF67251BEEAAAFA61D3AC764B99), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe92357fffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffff597f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000019385a39988160a205a93196d" # noqa: E501 - "336428" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7284c101c23e4af67251beeaaafa61d3ac764b99"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe92357fffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffff597f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000019385a39988160a205a93196d" # noqa: E501 - "336428" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe92357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff597f00000000000000000000000000000000000000000000000000000000000000019385a39988160a205a93196d336428" # noqa: E501 ), gas_limit=100000, - value=1592853550, + value=0x5EF1042E, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest104.py b/tests/ported_static/stRandom/test_random_statetest104.py index c608688bd27..eaf750378bf 100644 --- a/tests/ported_static/stRandom/test_random_statetest104.py +++ b/tests/ported_static/stRandom/test_random_statetest104.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest104. Ported from: -tests/static/state_tests/stRandom/randomStatetest104Filler.json +state_tests/stRandom/randomStatetest104Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest104Filler.json"], + ["state_tests/stRandom/randomStatetest104Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest104( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest104.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,72 +46,66 @@ def test_random_statetest104( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f147d6b978c780a82619772417d5b6a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x147D6B978C780A82619772417D5B6A55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB61574BCDB93BE7004C2854E6F644AC5B40F9A42), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x147D6B978C780A82619772417D5B6A55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb61574bcdb93be7004c2854e6f644ac5b40f9a42"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000007fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe6f147d6b978c780a82619772417d5b6a" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f147d6b978c780a82619772417d5b6a" # noqa: E501 ), gas_limit=100000, - value=977250261, + value=0x3A3FA7D5, ) post = { - contract: Account(storage={0: 0x147D6B978C780A82619772417D5B6A55}), + target: Account( + storage={0: 0x147D6B978C780A82619772417D5B6A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest105.py b/tests/ported_static/stRandom/test_random_statetest105.py index 98d2bfa57e8..ff83efee315 100644 --- a/tests/ported_static/stRandom/test_random_statetest105.py +++ b/tests/ported_static/stRandom/test_random_statetest105.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest105. Ported from: -tests/static/state_tests/stRandom/randomStatetest105Filler.json +state_tests/stRandom/randomStatetest105Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest105Filler.json"], + ["state_tests/stRandom/randomStatetest105Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest105( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest105.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,60 @@ def test_random_statetest105( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f9914639111156d1759ff65039a02926c60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.NUMBER + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x9914639111156D1759FF65039A02926C ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x63CF59FFAAC800568AFBD0EEF9B295CF57A579EC), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.NUMBER - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x9914639111156D1759FF65039A02926C, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x63cf59ffaac800568afbd0eef9b295cf57a579ec"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff437f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff6f9914639111156d1759ff65039a" # noqa: E501 - "02926c" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f9914639111156d1759ff65039a02926c" # noqa: E501 ), gas_limit=100000, - value=1449730295, + value=0x566920F7, ) post = { - contract: Account(storage={0: 0x9914639111156D1759FF65039A02926C}), + target: Account( + storage={0: 0x9914639111156D1759FF65039A02926C}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest106.py b/tests/ported_static/stRandom/test_random_statetest106.py index b406e0ce095..05b3b9c67bf 100644 --- a/tests/ported_static/stRandom/test_random_statetest106.py +++ b/tests/ported_static/stRandom/test_random_statetest106.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest106. Ported from: -tests/static/state_tests/stRandom/randomStatetest106Filler.json +state_tests/stRandom/randomStatetest106Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest106Filler.json"], + ["state_tests/stRandom/randomStatetest106Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest106( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest106.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,63 @@ def test_random_statetest106( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f327043726481f25094828e211557795560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x327043726481F25094828E2115577955 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xBB5627060FD93B15984B68905719BEC910F7299A), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x327043726481F25094828E2115577955, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xbb5627060fd93b15984b68905719bec910f7299a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff6f327043726481f25094828e21155779" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f327043726481f25094828e21155779" # noqa: E501 ), gas_limit=100000, - value=1107240556, + value=0x41FF266C, ) post = { - contract: Account(storage={0: 0x327043726481F25094828E2115577955}), + target: Account( + storage={0: 0x327043726481F25094828E2115577955}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest107.py b/tests/ported_static/stRandom/test_random_statetest107.py index c913c437036..55d045b45c2 100644 --- a/tests/ported_static/stRandom/test_random_statetest107.py +++ b/tests/ported_static/stRandom/test_random_statetest107.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest107. Ported from: -tests/static/state_tests/stRandom/randomStatetest107Filler.json +state_tests/stRandom/randomStatetest107Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest107Filler.json"], + ["state_tests/stRandom/randomStatetest107Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest107( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest107.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,70 +47,65 @@ def test_random_statetest107( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.GASLIMIT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b50960005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.GASLIMIT + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000094" # noqa: E501 - "5304eb96065b2a98b57a48a06ae28d285a71b509" + to=contract_0, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b509" # noqa: E501 ), gas_limit=100000, - value=1335641355, + value=0x4F9C450B, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFF6BACFB1469F9A4D5674A85B75F951D72D7A58E4A, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest108.py b/tests/ported_static/stRandom/test_random_statetest108.py index c8d03cdb715..77a3ec683a4 100644 --- a/tests/ported_static/stRandom/test_random_statetest108.py +++ b/tests/ported_static/stRandom/test_random_statetest108.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest108. Ported from: -tests/static/state_tests/stRandom/randomStatetest108Filler.json +state_tests/stRandom/randomStatetest108Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest108Filler.json"], + ["state_tests/stRandom/randomStatetest108Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest108( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest108.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,47 +46,48 @@ def test_random_statetest108( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x41443442f34241 + target = pre.deploy_contract( # noqa: F841 + code=Op.COINBASE + + Op.PREVRANDAO + + Op.RETURN(offset=Op.TIMESTAMP, size=Op.CALLVALUE) + + Op.TIMESTAMP + + Op.COINBASE, + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF3C8D5EA3CE820D6B26253D4D1D9106008C757DB), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.COINBASE - + Op.PREVRANDAO - + Op.RETURN(offset=Op.TIMESTAMP, size=Op.CALLVALUE) - + Op.TIMESTAMP - + Op.COINBASE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0xf3c8d5ea3ce820d6b26253d4d1d9106008c757db"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest11.py b/tests/ported_static/stRandom/test_random_statetest11.py index d619e41eb91..ec46da9bb86 100644 --- a/tests/ported_static/stRandom/test_random_statetest11.py +++ b/tests/ported_static/stRandom/test_random_statetest11.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest11. Ported from: -tests/static/state_tests/stRandom/randomStatetest11Filler.json +state_tests/stRandom/randomStatetest11Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest11Filler.json"], + ["state_tests/stRandom/randomStatetest11Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest11( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest11.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,59 @@ def test_random_statetest11( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3506fa093f3408a6e531735960a7617127a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] * 2 + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xA093F3408A6E531735960A7617127A55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5B43C2B5E72DEEE35ADD94AD33DF0D4A4C5C443E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xA093F3408A6E531735960A7617127A55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5b43c2b5e72deee35add94ad33df0d4a4c5c443e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000007f0000000000000000000000004f3f701464" # noqa: E501 - "972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c3506fa093f3408a6e531735960a7617127a" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3506fa093f3408a6e531735960a7617127a" # noqa: E501 ), gas_limit=100000, - value=1762251756, + value=0x6909D3EC, ) post = { - contract: Account(storage={0: 0xA093F3408A6E531735960A7617127A55}), + target: Account( + storage={0: 0xA093F3408A6E531735960A7617127A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest110.py b/tests/ported_static/stRandom/test_random_statetest110.py index 2478f9c34cf..58f438b1054 100644 --- a/tests/ported_static/stRandom/test_random_statetest110.py +++ b/tests/ported_static/stRandom/test_random_statetest110.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest110. Ported from: -tests/static/state_tests/stRandom/randomStatetest110Filler.json +state_tests/stRandom/randomStatetest110Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest110Filler.json"], + ["state_tests/stRandom/randomStatetest110Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest110( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest110.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,58 @@ def test_random_statetest110( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.COINBASE - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x97543C343476CB7C8C84066217F10255, - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000000000000000000000000000000000016f97543c343476cb7c8c84066217f1025560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0x0] * 3 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.COINBASE + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x97543C343476CB7C8C84066217F10255 ), nonce=0, - address=Address("0x1aaf68323ab1e37cd74284092e2c0ece9e2b0513"), # noqa: E501 + address=Address(0x1AAF68323AB1E37CD74284092E2C0ECE9E2B0513), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000016f97543c343476cb7c8c84066217f102" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000000000000000000000000000000000016f97543c343476cb7c8c84066217f102" # noqa: E501 ), gas_limit=100000, - value=736834619, + value=0x2BEB343B, ) post = { - contract: Account(storage={0: 0x97543C343476CB7C8C84066217F10255}), + target: Account( + storage={0: 0x97543C343476CB7C8C84066217F10255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest111.py b/tests/ported_static/stRandom/test_random_statetest111.py index f2fb46190f8..3aa84517400 100644 --- a/tests/ported_static/stRandom/test_random_statetest111.py +++ b/tests/ported_static/stRandom/test_random_statetest111.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest111. Ported from: -tests/static/state_tests/stRandom/randomStatetest111Filler.json +state_tests/stRandom/randomStatetest111Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest111Filler.json"], + ["state_tests/stRandom/randomStatetest111Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest111( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest111.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,52 +46,47 @@ def test_random_statetest111( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c35059a17f0000000000000000000000000000000000000000000000000000000000000001f38f07bf60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c35059a17f0000000000000000000000000000000000000000000000000000000000000001f38f07bf60005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC9EDD4CF792E9FEFFEE7968E9A49A0BD81A7BA40), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c35059a17f000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000001f38f07bf60005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc9edd4cf792e9feffee7968e9a49a0bd81a7ba40"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c35059a17f000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000001f38f07bf" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c35059a17f0000000000000000000000000000000000000000000000000000000000000001f38f07bf" # noqa: E501 ), gas_limit=500000, - value=50481116, + value=0x30247DC, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest112.py b/tests/ported_static/stRandom/test_random_statetest112.py index 712aa5586f7..742113f0fed 100644 --- a/tests/ported_static/stRandom/test_random_statetest112.py +++ b/tests/ported_static/stRandom/test_random_statetest112.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest112. Ported from: -tests/static/state_tests/stRandom/randomStatetest112Filler.json +state_tests/stRandom/randomStatetest112Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest112Filler.json"], + ["state_tests/stRandom/randomStatetest112Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest112( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest112.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,64 @@ def test_random_statetest112( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff45447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000006f549c5779398a848c353075146505415560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.GASLIMIT + + Op.PREVRANDAO + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x549C5779398A848C3530751465054155 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9A19E4295E01223B405262F9564425D5C46BF988), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.GASLIMIT - + Op.PREVRANDAO - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x549C5779398A848C3530751465054155, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9a19e4295e01223b405262f9564425d5c46bf988"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff45447fffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000006f549c5779398a848c35307514650541" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff45447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000006f549c5779398a848c35307514650541" # noqa: E501 ), gas_limit=100000, - value=2006825126, + value=0x779DB8A6, ) post = { - contract: Account(storage={0: 0x549C5779398A848C3530751465054155}), + target: Account( + storage={0: 0x549C5779398A848C3530751465054155}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest114.py b/tests/ported_static/stRandom/test_random_statetest114.py index 72928a4e873..97341fa83e9 100644 --- a/tests/ported_static/stRandom/test_random_statetest114.py +++ b/tests/ported_static/stRandom/test_random_statetest114.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest114. Ported from: -tests/static/state_tests/stRandom/randomStatetest114Filler.json +state_tests/stRandom/randomStatetest114Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest114Filler.json"], + ["state_tests/stRandom/randomStatetest114Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest114( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest114.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,71 +46,65 @@ def test_random_statetest114( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f3584357ea388725483637d4471727f5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.COINBASE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x3584357EA388725483637D4471727F55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF35D522489CA508D66A53CE9804C3B67E665ABE4), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.COINBASE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x3584357EA388725483637D4471727F55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf35d522489ca508d66a53ce9804c3b67e665abe4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6f3584357ea388725483637d4471727f" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f3584357ea388725483637d4471727f" # noqa: E501 ), gas_limit=100000, - value=1067998899, + value=0x3FA85EB3, ) post = { - contract: Account(storage={0: 0x3584357EA388725483637D4471727F55}), + target: Account( + storage={0: 0x3584357EA388725483637D4471727F55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest115.py b/tests/ported_static/stRandom/test_random_statetest115.py index c5961e0b19e..155354e29de 100644 --- a/tests/ported_static/stRandom/test_random_statetest115.py +++ b/tests/ported_static/stRandom/test_random_statetest115.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest115. Ported from: -tests/static/state_tests/stRandom/randomStatetest115Filler.json +state_tests/stRandom/randomStatetest115Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest115Filler.json"], + ["state_tests/stRandom/randomStatetest115Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest115( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest115.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,59 @@ def test_random_statetest115( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3506f15448e363302150a6f56518aa005315560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] * 2 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x15448E363302150A6F56518AA0053155 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB3287F1884B2A2955D0A6FBA5C8F9AD74D939E4E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x15448E363302150A6F56518AA0053155, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb3287f1884b2a2955d0a6fba5c8f9ad74d939e4e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000007fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c3506f15448e363302150a6f56518aa00531" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3506f15448e363302150a6f56518aa00531" # noqa: E501 ), gas_limit=3202574, - value=1948713091, + value=0x74270083, ) post = { - contract: Account(storage={0: 0x15448E363302150A6F56518AA0053155}), + target: Account( + storage={0: 0x15448E363302150A6F56518AA0053155}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest116.py b/tests/ported_static/stRandom/test_random_statetest116.py index fdb42d8ea8c..575a27c51cd 100644 --- a/tests/ported_static/stRandom/test_random_statetest116.py +++ b/tests/ported_static/stRandom/test_random_statetest116.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest116. Ported from: -tests/static/state_tests/stRandom/randomStatetest116Filler.json +state_tests/stRandom/randomStatetest116Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest116Filler.json"], + ["state_tests/stRandom/randomStatetest116Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest116( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest116.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,71 +46,65 @@ def test_random_statetest116( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000753933760005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.MSTORE8( + offset=Op.SMOD( + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + value=Op.GASLIMIT, + ) + + Op.SWAP4 + + Op.CALLDATACOPY + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x78F8B360C7BDD3B4DDA493E8EEA4590ED562A6C3), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.MSTORE8( - offset=Op.SMOD( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - value=Op.GASLIMIT, - ) - + Op.SWAP4 - + Op.CALLDATACOPY - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x78f8b360c7bdd3b4dda493e8eea4590ed562a6c3"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe457fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f7014" # noqa: E501 - "64972e74606d6ea82d4d3080599a0e7907539337" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7907539337" # noqa: E501 ), gas_limit=100000, - value=372067975, + value=0x162D4E87, ) post = { - contract: Account( + target: Account( storage={0: 0x10000000000000000000000000000000000000000}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest117.py b/tests/ported_static/stRandom/test_random_statetest117.py index 6c97718c77d..b7c1ef8d83f 100644 --- a/tests/ported_static/stRandom/test_random_statetest117.py +++ b/tests/ported_static/stRandom/test_random_statetest117.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest117. Ported from: -tests/static/state_tests/stRandom/randomStatetest117Filler.json +state_tests/stRandom/randomStatetest117Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest117Filler.json"], + ["state_tests/stRandom/randomStatetest117Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest117( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest117.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,59 +46,56 @@ def test_random_statetest117( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PREVRANDAO - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.TIMESTAMP - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x8AA4A4980274F18C6158368D41571455, - ) + # Source: raw + # 0x447f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000006f8aa4a4980274f18c6158368d4157145560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PREVRANDAO + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.TIMESTAMP + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x8AA4A4980274F18C6158368D41571455 ), nonce=0, - address=Address("0x3374b8f7389a6ecd92dc42cbc9bb4e7cc0dce3ff"), # noqa: E501 + address=Address(0x3374B8F7389A6ECD92DC42CBC9BB4E7CC0DCE3FF), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "447f00000000000000000000000000000000000000000000000000000000000000017f00" # noqa: E501 - "00000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79427f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000" # noqa: E501 - "00000000000100000000000000000000000000000000000000006f8aa4a4980274f18c61" # noqa: E501 - "58368d415714" + to=target, + data=Bytes( + "447f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000006f8aa4a4980274f18c6158368d415714" # noqa: E501 ), gas_limit=100000, - value=1763362724, + value=0x691AC7A4, ) post = { - contract: Account(storage={0: 0x8AA4A4980274F18C6158368D41571455}), + target: Account( + storage={0: 0x8AA4A4980274F18C6158368D41571455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest118.py b/tests/ported_static/stRandom/test_random_statetest118.py index b73af708c1b..84c5d230d3f 100644 --- a/tests/ported_static/stRandom/test_random_statetest118.py +++ b/tests/ported_static/stRandom/test_random_statetest118.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest118. Ported from: -tests/static/state_tests/stRandom/randomStatetest118Filler.json +state_tests/stRandom/randomStatetest118Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest118Filler.json"], + ["state_tests/stRandom/randomStatetest118Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest118( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest118.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,63 @@ def test_random_statetest118( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006f55817c037fa45bf3850320309a8f025560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x55817C037FA45BF3850320309A8F0255 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC35874F463B793094544A6DE8C6BD10BAA69E812), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x55817C037FA45BF3850320309A8F0255, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc35874f463b793094544a6de8c6bd10baa69e812"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000006f55817c037fa45bf3850320309a8f02" # noqa: E501 + to=target, + data=Bytes( + "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000006f55817c037fa45bf3850320309a8f02" # noqa: E501 ), gas_limit=100000, - value=1190213224, + value=0x46F13668, ) post = { - contract: Account(storage={0: 0x55817C037FA45BF3850320309A8F0255}), + target: Account( + storage={0: 0x55817C037FA45BF3850320309A8F0255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest119.py b/tests/ported_static/stRandom/test_random_statetest119.py index 33bad6185de..c95103a51cb 100644 --- a/tests/ported_static/stRandom/test_random_statetest119.py +++ b/tests/ported_static/stRandom/test_random_statetest119.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest119. Ported from: -tests/static/state_tests/stRandom/randomStatetest119Filler.json +state_tests/stRandom/randomStatetest119Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest119Filler.json"], + ["state_tests/stRandom/randomStatetest119Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest119( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest119.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,57 @@ def test_random_statetest119( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x4559437f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006f52503b127c115a9673a431379095665560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.MSIZE + + Op.NUMBER + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x52503B127C115A9673A4313790956655 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB49CE71DF6647BAF4BA00DB0F0579CDBDE684010), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.MSIZE - + Op.NUMBER - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x52503B127C115A9673A4313790956655, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb49ce71df6647baf4ba00db0f0579cdbde684010"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "4559437f0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000006f52503b127c115a9673a431" # noqa: E501 - "37909566" + to=target, + data=Bytes( + "4559437f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006f52503b127c115a9673a43137909566" # noqa: E501 ), gas_limit=100000, - value=412561866, + value=0x189731CA, ) post = { - contract: Account(storage={0: 0x52503B127C115A9673A4313790956655}), + target: Account( + storage={0: 0x52503B127C115A9673A4313790956655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest12.py b/tests/ported_static/stRandom/test_random_statetest12.py index d4221d501fc..32909e3d183 100644 --- a/tests/ported_static/stRandom/test_random_statetest12.py +++ b/tests/ported_static/stRandom/test_random_statetest12.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest12. Ported from: -tests/static/state_tests/stRandom/randomStatetest12Filler.json +state_tests/stRandom/randomStatetest12Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest12Filler.json"], + ["state_tests/stRandom/randomStatetest12Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest12( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest12.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,61 @@ def test_random_statetest12( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000027f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f165490a41215369ef27603794116335560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.GASLIMIT + + Op.MUL( + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + ) + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x165490A41215369EF276037941163355 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD52A7895F47045DACF362BBFD74AB386C9B62156), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.GASLIMIT - + Op.MUL( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x165490A41215369EF276037941163355, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd52a7895f47045dacf362bbfd74ab386c9b62156"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff457fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e79027f000000000000000000000000" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff6f165490a41215369ef2760379411633" # noqa: E501 + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79027f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f165490a41215369ef2760379411633" # noqa: E501 ), gas_limit=100000, - value=1165421411, + value=0x4576EB63, ) post = { - contract: Account(storage={0: 0x165490A41215369EF276037941163355}), + target: Account( + storage={0: 0x165490A41215369EF276037941163355}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest120.py b/tests/ported_static/stRandom/test_random_statetest120.py index 10876de57d1..e9d1ce0a700 100644 --- a/tests/ported_static/stRandom/test_random_statetest120.py +++ b/tests/ported_static/stRandom/test_random_statetest120.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest120. Ported from: -tests/static/state_tests/stRandom/randomStatetest120Filler.json +state_tests/stRandom/randomStatetest120Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest120Filler.json"], + ["state_tests/stRandom/randomStatetest120Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest120( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest120.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,76 +46,65 @@ def test_random_statetest120( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe820860005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 3 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.ADDMOD( + Op.DUP3, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDADC3C24C519D790BF883B869E84E4ECF30808AE), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.ADDMOD( - Op.DUP3, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xdadc3c24c519d790bf883b869e84e4ecf30808ae"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe8208" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8208" # noqa: E501 ), gas_limit=100000, - value=1887172074, + value=0x707BF5EA, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest121.py b/tests/ported_static/stRandom/test_random_statetest121.py index 19e3ba3c0c0..24a85f157a6 100644 --- a/tests/ported_static/stRandom/test_random_statetest121.py +++ b/tests/ported_static/stRandom/test_random_statetest121.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest121. Ported from: -tests/static/state_tests/stRandom/randomStatetest121Filler.json +state_tests/stRandom/randomStatetest121Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest121Filler.json"], + ["state_tests/stRandom/randomStatetest121Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest121( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest121.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,62 @@ def test_random_statetest121( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350456f305842321509108c689f7ca3195a9d5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xC350] + + Op.GASLIMIT + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x305842321509108C689F7CA3195A9D55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xED5527E2A67BD5A393DDAEE03F7E2367C171B6C7), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.GASLIMIT - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x305842321509108C689F7CA3195A9D55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xed5527e2a67bd5a393ddaee03f7e2367c171b6c7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c350456f305842321509108c689f7ca3195a9d" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350456f305842321509108c689f7ca3195a9d" # noqa: E501 ), gas_limit=100000, - value=1227523279, + value=0x492A84CF, ) post = { - contract: Account(storage={0: 0x305842321509108C689F7CA3195A9D55}), + target: Account( + storage={0: 0x305842321509108C689F7CA3195A9D55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest122.py b/tests/ported_static/stRandom/test_random_statetest122.py index 1500b35b8e2..309079d0dc6 100644 --- a/tests/ported_static/stRandom/test_random_statetest122.py +++ b/tests/ported_static/stRandom/test_random_statetest122.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest122. Ported from: -tests/static/state_tests/stRandom/randomStatetest122Filler.json +state_tests/stRandom/randomStatetest122Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest122Filler.json"], + ["state_tests/stRandom/randomStatetest122Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest122( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest122.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,62 @@ def test_random_statetest122( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6fa2825b6c338f8d717156560af045136b60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xA2825B6C338F8D717156560AF045136B ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5AD019811A4034583D362B1619D74027A576B6E4), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xA2825B6C338F8D717156560AF045136B, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5ad019811a4034583d362b1619d74027a576b6e4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff6fa2825b6c338f8d717156560af045136b" # noqa: E501 + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6fa2825b6c338f8d717156560af045136b" # noqa: E501 ), gas_limit=100000, - value=538407333, + value=0x201771A5, ) post = { - contract: Account(storage={0: 0xA2825B6C338F8D717156560AF045136B}), + target: Account( + storage={0: 0xA2825B6C338F8D717156560AF045136B}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest124.py b/tests/ported_static/stRandom/test_random_statetest124.py index 23d95e0dd9b..2df9bab1f7b 100644 --- a/tests/ported_static/stRandom/test_random_statetest124.py +++ b/tests/ported_static/stRandom/test_random_statetest124.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest124. Ported from: -tests/static/state_tests/stRandom/randomStatetest124Filler.json +state_tests/stRandom/randomStatetest124Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest124Filler.json"], + ["state_tests/stRandom/randomStatetest124Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest124( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest124.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,52 @@ def test_random_statetest124( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08125580355b17457f7463587b9a7a435560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08125580355b17457f7463587b9a7a435560005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC4CBACC101A51D79B3AFA8C6C5CBA772D1BD4E4A), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe08125580355b17457f7463587b9a7a435560005155" # noqa: E501 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc4cbacc101a51d79b3afa8c6c5cba772d1bd4e4a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe08125580355b17457f7463587b9a7a43" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08125580355b17457f7463587b9a7a43" # noqa: E501 ), gas_limit=100000, - value=1751381635, + value=0x6863F683, ) post = { - contract: Account( + target: Account( storage={ 1: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest125.py b/tests/ported_static/stRandom/test_random_statetest125.py index 229b8a57495..a69c23b90ca 100644 --- a/tests/ported_static/stRandom/test_random_statetest125.py +++ b/tests/ported_static/stRandom/test_random_statetest125.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest125. Ported from: -tests/static/state_tests/stRandom/randomStatetest125Filler.json +state_tests/stRandom/randomStatetest125Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest125Filler.json"], + ["state_tests/stRandom/randomStatetest125Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest125( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest125.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,52 +46,47 @@ def test_random_statetest125( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f0000000000000000000000000000000000000000000000000000000000000001207f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe406f # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000001207f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe406f" + "7f0000000000000000000000000000000000000000000000000000000000000001207f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe406f" # noqa: E501 ), nonce=0, - address=Address("0x1b0e1dbc498c84f90c7fd8527d4769745ef1b402"), # noqa: E501 + address=Address(0x1B0E1DBC498C84F90C7FD8527D4769745EF1B402), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000001207f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe406f" + to=target, + data=Bytes( + "7f0000000000000000000000000000000000000000000000000000000000000001207f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe406f" # noqa: E501 ), gas_limit=100000, - value=781711523, + value=0x2E97F8A3, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest126.py b/tests/ported_static/stRandom/test_random_statetest126.py index c0264bdc521..4eca7fc1703 100644 --- a/tests/ported_static/stRandom/test_random_statetest126.py +++ b/tests/ported_static/stRandom/test_random_statetest126.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest126. Ported from: -tests/static/state_tests/stRandom/randomStatetest126Filler.json +state_tests/stRandom/randomStatetest126Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest126Filler.json"], + ["state_tests/stRandom/randomStatetest126Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest126( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest126.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,105 +46,49 @@ def test_random_statetest126( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x4142 + target = pre.deploy_contract( # noqa: F841 code=Op.COINBASE + Op.TIMESTAMP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x14d62b5f3407c5252cf14978b30aa72f1d70c9b7"), # noqa: E501 + address=Address(0x14D62B5F3407C5252CF14978B30AA72F1D70C9B7), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("42"), - gas_limit=400000, - value=100000, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest126Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest126_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - # Source: raw bytecode - contract = pre.deploy_contract( - code=Op.COINBASE + Op.TIMESTAMP, - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x14d62b5f3407c5252cf14978b30aa72f1d70c9b7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex("4142"), + balance=0xDE0B6B3A76586A0, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest129.py b/tests/ported_static/stRandom/test_random_statetest129.py index 35c9e49c4d2..f0bfdf3ba7d 100644 --- a/tests/ported_static/stRandom/test_random_statetest129.py +++ b/tests/ported_static/stRandom/test_random_statetest129.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest129. Ported from: -tests/static/state_tests/stRandom/randomStatetest129Filler.json +state_tests/stRandom/randomStatetest129Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest129Filler.json"], + ["state_tests/stRandom/randomStatetest129Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest129( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest129.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,60 @@ def test_random_statetest129( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f166e733343093a31a33b8e025a02705560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x166E733343093A31A33B8E025A027055 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xAFC41179EB323CA01EB2D38B409233EDD0BBFD84), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x166E733343093A31A33B8E025A027055, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xafc41179eb323ca01eb2d38b409233edd0bbfd84"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff6f166e733343093a31a33b8e025a0270" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f166e733343093a31a33b8e025a0270" # noqa: E501 ), gas_limit=100000, - value=1110233548, + value=0x422CD1CC, ) post = { - contract: Account(storage={0: 0x166E733343093A31A33B8E025A027055}), + target: Account( + storage={0: 0x166E733343093A31A33B8E025A027055}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest13.py b/tests/ported_static/stRandom/test_random_statetest13.py index c40576855de..e96ab1baa88 100644 --- a/tests/ported_static/stRandom/test_random_statetest13.py +++ b/tests/ported_static/stRandom/test_random_statetest13.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest13. Ported from: -tests/static/state_tests/stRandom/randomStatetest13Filler.json +state_tests/stRandom/randomStatetest13Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest13Filler.json"], + ["state_tests/stRandom/randomStatetest13Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest13( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest13.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,58 @@ def test_random_statetest13( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000027ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe307f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000005255 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.MUL( + Op.PUSH32[0x0], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ) + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.ADDRESS + + Op.MSTORE( + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + value=Op.PUSH32[0x10000000000000000000000000000000000000000], + ) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD9C946D2F4E706FBE9FB6F91B4034BD946606105), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.MUL( - Op.PUSH32[0x0], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.ADDRESS - + Op.MSTORE( - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - value=Op.PUSH32[0x10000000000000000000000000000000000000000], - ) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd9c946d2f4e706fbe9fb6f91b4034bd946606105"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000027fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe307f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000001" # noqa: E501 - "000000000000000000000000000000000000000052" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000027ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe307f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000001000000000000000000000000000000000000000052" # noqa: E501 ), gas_limit=100000, - value=936808044, + value=0x37D68E6C, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest130.py b/tests/ported_static/stRandom/test_random_statetest130.py index f86a05123c8..06a0afbc8a0 100644 --- a/tests/ported_static/stRandom/test_random_statetest130.py +++ b/tests/ported_static/stRandom/test_random_statetest130.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest130. Ported from: -tests/static/state_tests/stRandom/randomStatetest130Filler.json +state_tests/stRandom/randomStatetest130Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest130Filler.json"], + ["state_tests/stRandom/randomStatetest130Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest130( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest130.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,61 @@ def test_random_statetest130( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000016f368a668b76306d181a3936119883175560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.COINBASE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x368A668B76306D181A39361198831755 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x778A9E494C0C5BC6A3648B651752ADCDE32AF9FC), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.COINBASE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x368A668B76306D181A39361198831755, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x778a9e494c0c5bc6a3648b651752adcde32af9fc"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000016f368a668b76306d181a393611988317" + to=target, + data=Bytes( + "417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000016f368a668b76306d181a393611988317" # noqa: E501 ), gas_limit=100000, - value=1912800960, + value=0x720306C0, ) post = { - contract: Account(storage={0: 0x368A668B76306D181A39361198831755}), + target: Account( + storage={0: 0x368A668B76306D181A39361198831755}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest131.py b/tests/ported_static/stRandom/test_random_statetest131.py index fd3f46d74e0..8c2d155517d 100644 --- a/tests/ported_static/stRandom/test_random_statetest131.py +++ b/tests/ported_static/stRandom/test_random_statetest131.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest131. Ported from: -tests/static/state_tests/stRandom/randomStatetest131Filler.json +state_tests/stRandom/randomStatetest131Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest131Filler.json"], + ["state_tests/stRandom/randomStatetest131Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest131( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest131.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,60 @@ def test_random_statetest131( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000001000000000000000000000000000000000000000014416f36ff85758270710168547a977788609660005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.EQ( + Op.PUSH32[0x10000000000000000000000000000000000000000], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.COINBASE + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x36FF85758270710168547A9777886096 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x938A9916F93AFD04F1E2A70E00DC813C8DF3DDB8), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.EQ( - Op.PUSH32[0x10000000000000000000000000000000000000000], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.COINBASE - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x36FF85758270710168547A9777886096, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x938a9916f93afd04f1e2a70e00dc813c8df3ddb8"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "01000000000000000000000000000000000000000014416f36ff85758270710168547a97" # noqa: E501 - "77886096" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000001000000000000000000000000000000000000000014416f36ff85758270710168547a9777886096" # noqa: E501 ), gas_limit=100000, - value=474455952, + value=0x1C479F90, ) post = { - contract: Account(storage={0: 0x36FF85758270710168547A9777886096}), + target: Account( + storage={0: 0x36FF85758270710168547A9777886096}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest133.py b/tests/ported_static/stRandom/test_random_statetest133.py index a0195ea3601..5ec348ad982 100644 --- a/tests/ported_static/stRandom/test_random_statetest133.py +++ b/tests/ported_static/stRandom/test_random_statetest133.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest133. Ported from: -tests/static/state_tests/stRandom/randomStatetest133Filler.json +state_tests/stRandom/randomStatetest133Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest133Filler.json"], + ["state_tests/stRandom/randomStatetest133Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest133( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest133.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest133( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001357f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000035830b503516a46d0b03 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001357f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000035830b503516a46d0b03" + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001357f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000000035830b503516a46d0b03" # noqa: E501 ), nonce=0, - address=Address("0x329bc91a29577639030b3d2025ecfa2ab0fc3ba8"), # noqa: E501 + address=Address(0x329BC91A29577639030B3D2025ECFA2AB0FC3BA8), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001357f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000035830b503516a46d0b03" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001357f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000000035830b503516a46d0b03" # noqa: E501 ), gas_limit=100000, - value=1524251084, + value=0x5ADA39CC, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest134.py b/tests/ported_static/stRandom/test_random_statetest134.py index d7569038141..1a6a1d55122 100644 --- a/tests/ported_static/stRandom/test_random_statetest134.py +++ b/tests/ported_static/stRandom/test_random_statetest134.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest134. Ported from: -tests/static/state_tests/stRandom/randomStatetest134Filler.json +state_tests/stRandom/randomStatetest134Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest134Filler.json"], + ["state_tests/stRandom/randomStatetest134Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest134( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest134.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,59 @@ def test_random_statetest134( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x417f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff557f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff55836b636c9c395a0732014533405560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.COINBASE + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + value=Op.PUSH32[0x0], + ) + + Op.DUP4 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x636C9C395A07320145334055 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x955495CF3DC6D8B98B51E7C3F09C27A30C0E87F0), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.COINBASE - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - value=Op.PUSH32[0x0], - ) - + Op.DUP4 - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), value=0x636C9C395A07320145334055 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x955495cf3dc6d8b98b51e7c3f09c27a30c0e87f0"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "417f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff557f000000000000" # noqa: E501 - "0000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff55836b636c9c395a073201453340" # noqa: E501 + to=target, + data=Bytes( + "417f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff557f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff55836b636c9c395a073201453340" # noqa: E501 ), gas_limit=100000, - value=65268053, + value=0x3E3E955, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest135.py b/tests/ported_static/stRandom/test_random_statetest135.py index 3773f3e409d..e192bb812a2 100644 --- a/tests/ported_static/stRandom/test_random_statetest135.py +++ b/tests/ported_static/stRandom/test_random_statetest135.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest135. Ported from: -tests/static/state_tests/stRandom/randomStatetest135Filler.json +state_tests/stRandom/randomStatetest135Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest135Filler.json"], + ["state_tests/stRandom/randomStatetest135Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest135( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest135.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,76 +46,71 @@ def test_random_statetest135( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.COINBASE - + Op.SSTORE( - key=Op.DIV( - Op.DUP8, - Op.AND( - 0x3192186630, - Op.SIGNEXTEND( - Op.GAS, - Op.SMOD( - Op.CREATE( - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - offset=Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ], - size=Op.PUSH32[0x0], - ), - Op.PUSH32[ - 0x4F3F701464972E74606D6EA82D4D3080599A0E79 + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000010000000000000000000000000000000000000000417f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0075a0b64319218663016870455 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.COINBASE + + Op.SSTORE( + key=Op.DIV( + Op.DUP8, + Op.AND( + 0x3192186630, + Op.SIGNEXTEND( + Op.GAS, + Op.SMOD( + Op.CREATE( + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + offset=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ], + size=Op.PUSH32[0x0], ), + Op.PUSH32[ + 0x4F3F701464972E74606D6EA82D4D3080599A0E79 + ], ), ), ), - value=Op.PUSH32[0x0], - ) + ), + value=Op.PUSH32[0x0], ), nonce=0, - address=Address("0x8be71dfba7b6d76d26a281635b0d1a85d947c1e5"), # noqa: E501 + address=Address(0x8BE71DFBA7B6D76D26A281635B0D1A85D947C1E5), # noqa: E501 ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) + ), + balance=46, + nonce=0, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "000000000000000000010000000000000000000000000000000000000000417f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffff0075a0b643192186630168704" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000010000000000000000000000000000000000000000417f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0075a0b643192186630168704" # noqa: E501 ), gas_limit=100000, - value=1650167023, + value=0x625B8CEF, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest137.py b/tests/ported_static/stRandom/test_random_statetest137.py index c4394a33185..c1cae51cfd0 100644 --- a/tests/ported_static/stRandom/test_random_statetest137.py +++ b/tests/ported_static/stRandom/test_random_statetest137.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest137. Ported from: -tests/static/state_tests/stRandom/randomStatetest137Filler.json +state_tests/stRandom/randomStatetest137Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest137Filler.json"], + ["state_tests/stRandom/randomStatetest137Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest137( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest137.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,65 +47,60 @@ def test_random_statetest137( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.ADDMOD( - Op.PUSH32[0x0], - Op.PUSH32[0x0], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=0xB5A130E86CA17390989355F092A255600051, - value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000087f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5a130e86ca17390989355f092a25560005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.ADDMOD( + Op.PUSH32[0x0], + Op.PUSH32[0x0], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=0xB5A130E86CA17390989355F092A255600051, + value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000087f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017e7f000000000000000000000000" # noqa: E501 - "945304eb96065b2a98b57a48a06ae28d285a71b5a130e86ca17390989355f092a2" # noqa: E501 + to=contract_0, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000087f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5a130e86ca17390989355f092a2" # noqa: E501 ), gas_limit=100000, - value=866944487, + value=0x33AC85E7, ) post = { - contract: Account( + contract_0: Account( storage={ 0xB5A130E86CA17390989355F092A255600051: 0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest138.py b/tests/ported_static/stRandom/test_random_statetest138.py index f64773d294e..b46b17fe639 100644 --- a/tests/ported_static/stRandom/test_random_statetest138.py +++ b/tests/ported_static/stRandom/test_random_statetest138.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest138. Ported from: -tests/static/state_tests/stRandom/randomStatetest138Filler.json +state_tests/stRandom/randomStatetest138Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest138Filler.json"], + ["state_tests/stRandom/randomStatetest138Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest138( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest138.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,58 @@ def test_random_statetest138( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350447f0000000000000000000000000000000000000000000000000000000000000001f1595160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.CALL( + gas=Op.PUSH32[0x1], + address=Op.PREVRANDAO, + value=Op.PUSH32[0xC350], + args_offset=Op.PUSH32[0xC350], + args_size=Op.PUSH32[0xC350], + ret_offset=Op.PUSH32[0x1], + ret_size=Op.PUSH32[0xC350], + ) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.MLOAD(offset=Op.MSIZE)), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x8AF98DC438CC4E9B27789D187A550DF8E85599DE), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.CALL( - gas=Op.PUSH32[0x1], - address=Op.PREVRANDAO, - value=Op.PUSH32[0xC350], - args_offset=Op.PUSH32[0xC350], - args_size=Op.PUSH32[0xC350], - ret_offset=Op.PUSH32[0x1], - ret_size=Op.PUSH32[0xC350], - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), value=Op.MLOAD(offset=Op.MSIZE) - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x8af98dc438cc4e9b27789d187a550df8e85599de"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c350447f00000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000001f15951" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350447f0000000000000000000000000000000000000000000000000000000000000001f15951" # noqa: E501 ), gas_limit=100000, - value=1998228906, + value=0x771A8DAA, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000020000): Account( + storage={}, code=b"", balance=50000, nonce=0 + ), + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest139.py b/tests/ported_static/stRandom/test_random_statetest139.py index 5865c80ea51..142ff4a134e 100644 --- a/tests/ported_static/stRandom/test_random_statetest139.py +++ b/tests/ported_static/stRandom/test_random_statetest139.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest139. Ported from: -tests/static/state_tests/stRandom/randomStatetest139Filler.json +state_tests/stRandom/randomStatetest139Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest139Filler.json"], + ["state_tests/stRandom/randomStatetest139Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest139( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest139.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,61 +46,57 @@ def test_random_statetest139( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x33447f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff434461334515455560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLER + + Op.PREVRANDAO + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.NUMBER + + Op.PREVRANDAO + + Op.SSTORE(key=Op.GASLIMIT, value=Op.ISZERO(0x3345)) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5B857B55E25462B8A882575CB794AD3FED2A8785), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLER - + Op.PREVRANDAO - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.NUMBER - + Op.PREVRANDAO - + Op.SSTORE(key=Op.GASLIMIT, value=Op.ISZERO(0x3345)) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5b857b55e25462b8a882575cb794ad3fed2a8785"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "33447f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000c3507fffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff43446133451545" # noqa: E501 + to=target, + data=Bytes( + "33447f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff43446133451545" # noqa: E501 ), gas_limit=100000, - value=1084026867, + value=0x409CEFF3, ) post = { - contract: Account(storage={0: 0x20000}), + target: Account(storage={0: 0x20000}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest14.py b/tests/ported_static/stRandom/test_random_statetest14.py index 3791c8dcbf3..6b75061271a 100644 --- a/tests/ported_static/stRandom/test_random_statetest14.py +++ b/tests/ported_static/stRandom/test_random_statetest14.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest14. Ported from: -tests/static/state_tests/stRandom/randomStatetest14Filler.json +state_tests/stRandom/randomStatetest14Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest14Filler.json"], + ["state_tests/stRandom/randomStatetest14Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest14( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest14.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,49 @@ def test_random_statetest14( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff20547f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeff61853634f06b907f899d7455 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff20547f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeff61853634f06b907f899d7455" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB7A03DFBE844D08CBF10C74EADE7E3041F3453F5), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff20547f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3507fffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffeff61853634f06b907f899d7455" # noqa: E501 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb7a03dfbe844d08cbf10c74eade7e3041f3453f5"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff20547f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3507fffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffeff61853634f06b907f899d74" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff20547f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeff61853634f06b907f899d74" # noqa: E501 ), gas_limit=100000, - value=308810775, + value=0x12681417, ) - post: dict = {} + post = { + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + Address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE): Account( + storage={}, code=b"", nonce=0 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest142.py b/tests/ported_static/stRandom/test_random_statetest142.py index 087927e8086..f8df08148db 100644 --- a/tests/ported_static/stRandom/test_random_statetest142.py +++ b/tests/ported_static/stRandom/test_random_statetest142.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest142. Ported from: -tests/static/state_tests/stRandom/randomStatetest142Filler.json +state_tests/stRandom/randomStatetest142Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest142Filler.json"], + ["state_tests/stRandom/randomStatetest142Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest142( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest142.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,78 +46,69 @@ def test_random_statetest142( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff959137630364087e1a640431107c880160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] * 2 + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SWAP6 + + Op.SWAP2 + + Op.CALLDATACOPY + + Op.PUSH4[0x364087E] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=Op.ADD(0x431107C88, Op.BYTE) ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x61F5C948887569A5488E7B6B31A0E46E8E9E0C7E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SWAP6 - + Op.SWAP2 - + Op.CALLDATACOPY - + Op.PUSH4[0x364087E] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.ADD(0x431107C88, Op.BYTE), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x61f5c948887569a5488e7b6b31a0e46e8e9e0c7e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff959137630364087e1a640431107c8801" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff959137630364087e1a640431107c8801" # noqa: E501 ), gas_limit=100000, - value=1842485664, + value=0x6DD219A0, ) post = { - contract: Account( + target: Account( storage={ 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0x431107C88, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest143.py b/tests/ported_static/stRandom/test_random_statetest143.py index 2c968c7b1d7..9729cf2655b 100644 --- a/tests/ported_static/stRandom/test_random_statetest143.py +++ b/tests/ported_static/stRandom/test_random_statetest143.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest143. Ported from: -tests/static/state_tests/stRandom/randomStatetest143Filler.json +state_tests/stRandom/randomStatetest143Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest143Filler.json"], + ["state_tests/stRandom/randomStatetest143Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest143( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest143.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,58 @@ def test_random_statetest143( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x414341414243421a2055 + target = pre.deploy_contract( # noqa: F841 + code=Op.COINBASE + + Op.NUMBER + + Op.COINBASE + + Op.SSTORE( + key=Op.SHA3( + offset=Op.BYTE(Op.TIMESTAMP, Op.NUMBER), size=Op.TIMESTAMP + ), + value=Op.COINBASE, ), - balance=46, + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xFCC847F31E7E75EAEC0B29CEAE4E989C97F49FB7), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.COINBASE - + Op.NUMBER - + Op.COINBASE - + Op.SSTORE( - key=Op.SHA3( - offset=Op.BYTE(Op.TIMESTAMP, Op.NUMBER), - size=Op.TIMESTAMP, - ), - value=Op.COINBASE, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0xfcc847f31e7e75eaec0b29ceae4e989c97f49fb7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0xAE72E2BF2302EBCD309E003E5BE58830F96DEDDAF87BB89EEEA159388BFE3EC1: 0x4F3F701464972E74606D6EA82D4D3080599A0E79, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest144.py b/tests/ported_static/stRandom/test_random_statetest144.py index 6719fd46142..4cbad499b8b 100644 --- a/tests/ported_static/stRandom/test_random_statetest144.py +++ b/tests/ported_static/stRandom/test_random_statetest144.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest144. Ported from: -tests/static/state_tests/stRandom/randomStatetest144Filler.json +state_tests/stRandom/randomStatetest144Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,21 +23,20 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest144Filler.json"], + ["state_tests/stRandom/randomStatetest144Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest144( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb0085a57673c8f7d78fb870418f622e42fd686e4") + """Test_random_statetest144.""" + coinbase = Address(0xB0085A57673C8F7D78FB870418F622E42FD686E4) + addr = Address(0x19BCDBCD094C63DF253C825B4B8E6DFFC45C21A4) sender = EOA( key=0x102DA5C19454BAF64E4F417E04AC2551245F3F217FFE9197F0C1D80FC2B16CFF ) - callee = Address("0x19bcdbcd094c63df253c825b4b8e6dffc45c21a4") env = Environment( fee_recipient=coinbase, @@ -47,188 +47,82 @@ def test_random_statetest144( gas_limit=1545160903, ) - pre[sender] = Account(balance=0x71E90493E6EB4C59) - pre[callee] = Account(balance=0x2401AC5958344E85, nonce=53) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH3[0x1DA825] - + Op.PUSH22[0xE942E4FD977ABDB407069CF700116E02B4F9B25D866B] - + Op.PUSH14[0x13163FFF2B8EF03CF8AB5D662AFB] - + Op.PUSH28[ - 0xB5C9E68462741090BC0976C9705B40411EFE39E80C20B572C5E3D75F - ] - + Op.PUSH25[0x8F9BE2F0981672B8DE37F9E2D1515046CB77CC3EE74646FB09] - + Op.PUSH15[0xADCE98908499B6FD54725F3C6A7259] - + Op.PUSH9[0x761BA50494D1ECAF1E] - + Op.PUSH25[0x7DB9A052952427C4F271C28D3E25728B2B76439A3166CD0ED3] - + Op.PUSH32[ - 0x30EC2421ED38EBD3B00B89BA9208391DC274E4EEFA69161A37DFFF7111756DD7 # noqa: E501 - ] - + Op.SWAP8 - + Op.LT - + Op.PUSH6[0xF05AA9DE4867] - + Op.PUSH1[0x9E] - + Op.PUSH30[ - 0x847A290D0EEB08CDE2FF294AE11DD16F8A3E32494D943FA0622CC04CD747 - ] - + Op.PUSH12[0x6D2A1008E4AD1E2C33E2928E] - + Op.PUSH17[0x7C797F2A1A586BBF78658189BF58172FF7] - + Op.PUSH18[0x30BE2FFC9BBF7F171939BE260B30EB65B46A] - + Op.PUSH13[0xF107BE1C9ED5C92C99D69FE055] - + Op.SWAP4 - + Op.DUP10 - + Op.PUSH1[0xE] - + Op.PUSH1[0x13] - + Op.PUSH1[0x1C] - + Op.PUSH1[0x9] - + Op.PUSH1[0x16] - + Op.PUSH1[0x12] - + Op.PUSH1[0x1] - + Op.PUSH1[0x1] - + Op.ADD(0x17, 0xC) - + Op.DIV(0xB518D025727BDC6E, 0x200351654B9773409608AAA7DB1F) - + Op.PUSH4[0xB2BC334B] - + Op.PUSH6[0x8536D84DADC4] - + Op.SMOD( - 0x29D728B6F5EE, - 0x2288DA62C36B9A35BF8934E3781A4C44E91637CE5C6B2F916D7670, - ) - + Op.PUSH1[0x13] - + Op.PUSH1[0x1E] - + Op.PUSH1[0x19] - + Op.PUSH1[0x8] - + Op.PUSH1[0x5] - + Op.PUSH1[0x1C] - + Op.PUSH1[0x13] - + Op.PUSH1[0x1D] - + Op.SWAP7 - + Op.CALLDATALOAD(offset=Op.TIMESTAMP) - + Op.PUSH9[0xCE21A850C04A77CEB9] - ), + # Source: raw + # 0x621da82575e942e4fd977abdb407069cf700116e02b4f9b25d866b6d13163fff2b8ef03cf8ab5d662afb7bb5c9e68462741090bc0976c9705b40411efe39e80c20b572c5e3d75f788f9be2f0981672b8de37f9e2d1515046cb77cc3ee74646fb096eadce98908499b6fd54725f3c6a725968761ba50494d1ecaf1e787db9a052952427c4f271c28d3e25728b2b76439a3166cd0ed37f30ec2421ed38ebd3b00b89ba9208391dc274e4eefa69161a37dfff7111756dd7971065f05aa9de4867609e7d847a290d0eeb08cde2ff294ae11dd16f8a3e32494d943fa0622cc04cd7476b6d2a1008e4ad1e2c33e2928e707c797f2a1a586bbf78658189bf58172ff77130be2ffc9bbf7f171939be260b30eb65b46a6cf107be1c9ed5c92c99d69fe0559389600e6013601c60096016601260016001600c6017016d200351654b9773409608aaa7db1f67b518d025727bdc6e0463b2bc334b658536d84dadc47a2288da62c36b9a35bf8934e3781a4c44e91637ce5c6b2f916d76706529d728b6f5ee076013601e601960086005601c6013601d96423568ce21a850c04a77ceb9 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH3[0x1DA825] + + Op.PUSH22[0xE942E4FD977ABDB407069CF700116E02B4F9B25D866B] + + Op.PUSH14[0x13163FFF2B8EF03CF8AB5D662AFB] + + Op.PUSH28[0xB5C9E68462741090BC0976C9705B40411EFE39E80C20B572C5E3D75F] + + Op.PUSH25[0x8F9BE2F0981672B8DE37F9E2D1515046CB77CC3EE74646FB09] + + Op.PUSH15[0xADCE98908499B6FD54725F3C6A7259] + + Op.PUSH9[0x761BA50494D1ECAF1E] + + Op.PUSH25[0x7DB9A052952427C4F271C28D3E25728B2B76439A3166CD0ED3] + + Op.PUSH32[ + 0x30EC2421ED38EBD3B00B89BA9208391DC274E4EEFA69161A37DFFF7111756DD7 + ] + + Op.SWAP8 + + Op.LT + + Op.PUSH6[0xF05AA9DE4867] + + Op.PUSH1[0x9E] + + Op.PUSH30[ + 0x847A290D0EEB08CDE2FF294AE11DD16F8A3E32494D943FA0622CC04CD747 + ] + + Op.PUSH12[0x6D2A1008E4AD1E2C33E2928E] + + Op.PUSH17[0x7C797F2A1A586BBF78658189BF58172FF7] + + Op.PUSH18[0x30BE2FFC9BBF7F171939BE260B30EB65B46A] + + Op.PUSH13[0xF107BE1C9ED5C92C99D69FE055] + + Op.SWAP4 + + Op.DUP10 + + Op.PUSH1[0xE] + + Op.PUSH1[0x13] + + Op.PUSH1[0x1C] + + Op.PUSH1[0x9] + + Op.PUSH1[0x16] + + Op.PUSH1[0x12] + + Op.PUSH1[0x1] * 2 + + Op.ADD(0x17, 0xC) + + Op.DIV(0xB518D025727BDC6E, 0x200351654B9773409608AAA7DB1F) + + Op.PUSH4[0xB2BC334B] + + Op.PUSH6[0x8536D84DADC4] + + Op.SMOD( + 0x29D728B6F5EE, + 0x2288DA62C36B9A35BF8934E3781A4C44E91637CE5C6B2F916D7670, + ) + + Op.PUSH1[0x13] + + Op.PUSH1[0x1E] + + Op.PUSH1[0x19] + + Op.PUSH1[0x8] + + Op.PUSH1[0x5] + + Op.PUSH1[0x1C] + + Op.PUSH1[0x13] + + Op.PUSH1[0x1D] + + Op.SWAP7 + + Op.CALLDATALOAD(offset=Op.TIMESTAMP) + + Op.PUSH9[0xCE21A850C04A77CEB9], balance=0x3255F99DE856501, nonce=89, - address=Address("0xea1cd1b117b10ac33fd7bbf18889624625ede7d4"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "166e31b12700cdefa7a0591398d415023175d1e5a1eca036986533972cab6625e976572e" # noqa: E501 - "e91c150c" - ), - gas_limit=100000, - gas_price=232, - value=1022194925, + address=Address(0xEA1CD1B117B10AC33FD7BBF18889624625EDE7D4), # noqa: E501 ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest144Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest144_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb0085a57673c8f7d78fb870418f622e42fd686e4") - sender = EOA( - key=0x102DA5C19454BAF64E4F417E04AC2551245F3F217FFE9197F0C1D80FC2B16CFF - ) - callee = Address("0x19bcdbcd094c63df253c825b4b8e6dffc45c21a4") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=1545160903, - ) - + pre[addr] = Account(balance=0x2401AC5958344E85, nonce=53) pre[sender] = Account(balance=0x71E90493E6EB4C59) - pre[callee] = Account(balance=0x2401AC5958344E85, nonce=53) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH3[0x1DA825] - + Op.PUSH22[0xE942E4FD977ABDB407069CF700116E02B4F9B25D866B] - + Op.PUSH14[0x13163FFF2B8EF03CF8AB5D662AFB] - + Op.PUSH28[ - 0xB5C9E68462741090BC0976C9705B40411EFE39E80C20B572C5E3D75F - ] - + Op.PUSH25[0x8F9BE2F0981672B8DE37F9E2D1515046CB77CC3EE74646FB09] - + Op.PUSH15[0xADCE98908499B6FD54725F3C6A7259] - + Op.PUSH9[0x761BA50494D1ECAF1E] - + Op.PUSH25[0x7DB9A052952427C4F271C28D3E25728B2B76439A3166CD0ED3] - + Op.PUSH32[ - 0x30EC2421ED38EBD3B00B89BA9208391DC274E4EEFA69161A37DFFF7111756DD7 # noqa: E501 - ] - + Op.SWAP8 - + Op.LT - + Op.PUSH6[0xF05AA9DE4867] - + Op.PUSH1[0x9E] - + Op.PUSH30[ - 0x847A290D0EEB08CDE2FF294AE11DD16F8A3E32494D943FA0622CC04CD747 - ] - + Op.PUSH12[0x6D2A1008E4AD1E2C33E2928E] - + Op.PUSH17[0x7C797F2A1A586BBF78658189BF58172FF7] - + Op.PUSH18[0x30BE2FFC9BBF7F171939BE260B30EB65B46A] - + Op.PUSH13[0xF107BE1C9ED5C92C99D69FE055] - + Op.SWAP4 - + Op.DUP10 - + Op.PUSH1[0xE] - + Op.PUSH1[0x13] - + Op.PUSH1[0x1C] - + Op.PUSH1[0x9] - + Op.PUSH1[0x16] - + Op.PUSH1[0x12] - + Op.PUSH1[0x1] - + Op.PUSH1[0x1] - + Op.ADD(0x17, 0xC) - + Op.DIV(0xB518D025727BDC6E, 0x200351654B9773409608AAA7DB1F) - + Op.PUSH4[0xB2BC334B] - + Op.PUSH6[0x8536D84DADC4] - + Op.SMOD( - 0x29D728B6F5EE, - 0x2288DA62C36B9A35BF8934E3781A4C44E91637CE5C6B2F916D7670, - ) - + Op.PUSH1[0x13] - + Op.PUSH1[0x1E] - + Op.PUSH1[0x19] - + Op.PUSH1[0x8] - + Op.PUSH1[0x5] - + Op.PUSH1[0x1C] - + Op.PUSH1[0x13] - + Op.PUSH1[0x1D] - + Op.SWAP7 - + Op.CALLDATALOAD(offset=Op.TIMESTAMP) - + Op.PUSH9[0xCE21A850C04A77CEB9] - ), - balance=0x3255F99DE856501, - nonce=89, - address=Address("0xea1cd1b117b10ac33fd7bbf18889624625ede7d4"), # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "166e31b12700cdefa7a0591398d415023175d1e5a1eca036986533972cab6625e976572e" # noqa: E501 - "e91c150c" + to=target, + data=Bytes( + "166e31b12700cdefa7a0591398d415023175d1e5a1eca036986533972cab6625e976572ee91c150c" # noqa: E501 ), gas_limit=100000, + value=0x3CED74ED, gas_price=232, - value=1022194925, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=89), + addr: Account(storage={}, code=b"", nonce=53), + sender: Account(storage={}, code=b"", nonce=1), + coinbase: Account(storage={}, code=b"", nonce=0), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest145.py b/tests/ported_static/stRandom/test_random_statetest145.py index 4336cd74875..e09c9d76b4d 100644 --- a/tests/ported_static/stRandom/test_random_statetest145.py +++ b/tests/ported_static/stRandom/test_random_statetest145.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest145. Ported from: -tests/static/state_tests/stRandom/randomStatetest145Filler.json +state_tests/stRandom/randomStatetest145Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest145Filler.json"], + ["state_tests/stRandom/randomStatetest145Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest145( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest145.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,61 @@ def test_random_statetest145( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f0000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000139133360005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.TIMESTAMP + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.CODECOPY( + dest_offset=Op.PUSH32[0x1], + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=Op.PUSH32[0x1], + ) + + Op.SGT + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.CALLER), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x924D71D0675BBCE56965CA41556FA545DA2135A0), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.TIMESTAMP - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.CODECOPY( - dest_offset=Op.PUSH32[0x1], - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=Op.PUSH32[0x1], - ) - + Op.SGT - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.CALLER) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x924d71d0675bbce56965ca41556fa545da2135a0"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000427f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000100" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000001391333" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000000000000000000000000000000000427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001391333" # noqa: E501 ), gas_limit=100000, - value=2115970778, + value=0x7E1F26DA, ) post = { - contract: Account( + target: Account( storage={0: 0x2E3D0156D2B99A6EACBA540C55F423C8F5A33143}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest146.py b/tests/ported_static/stRandom/test_random_statetest146.py index 6654be30b57..57e678cb840 100644 --- a/tests/ported_static/stRandom/test_random_statetest146.py +++ b/tests/ported_static/stRandom/test_random_statetest146.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest146. Ported from: -tests/static/state_tests/stRandom/randomStatetest146Filler.json +state_tests/stRandom/randomStatetest146Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest146Filler.json"], + ["state_tests/stRandom/randomStatetest146Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest146( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest146.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,51 +46,50 @@ def test_random_statetest146( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x434243434444424350303614f20a + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.TIMESTAMP + + Op.NUMBER * 2 + + Op.PREVRANDAO * 2 + + Op.TIMESTAMP + + Op.POP(Op.NUMBER) + + Op.EXP(Op.CALLCODE, Op.EQ(Op.CALLDATASIZE, Op.ADDRESS)), + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDE14E9D6C6F9145C355FDF3100FE961632D4CF85), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.TIMESTAMP - + Op.NUMBER - + Op.NUMBER - + Op.PREVRANDAO - + Op.PREVRANDAO - + Op.TIMESTAMP - + Op.POP(Op.NUMBER) - + Op.EXP(Op.CALLCODE, Op.EQ(Op.CALLDATASIZE, Op.ADDRESS)) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0xde14e9d6c6f9145c355fdf3100fe961632d4cf85"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest147.py b/tests/ported_static/stRandom/test_random_statetest147.py index 325d74ad863..0af9abc527a 100644 --- a/tests/ported_static/stRandom/test_random_statetest147.py +++ b/tests/ported_static/stRandom/test_random_statetest147.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest147. Ported from: -tests/static/state_tests/stRandom/randomStatetest147Filler.json +state_tests/stRandom/randomStatetest147Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest147Filler.json"], + ["state_tests/stRandom/randomStatetest147Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest147( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest147.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,49 @@ def test_random_statetest147( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x657ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe43659a936055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "657ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe43659a936055" + "657ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe43659a936055" # noqa: E501 ), nonce=0, - address=Address("0x146428f541d089ec1fcb2bec166b0bd6115e0bcd"), # noqa: E501 + address=Address(0x146428F541D089EC1FCB2BEC166B0BD6115E0BCD), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "657ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe43659a9360" + to=target, + data=Bytes( + "657ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe43659a9360" # noqa: E501 ), gas_limit=100000, - value=1090344298, + value=0x40FD556A, ) - post: dict = {} + post = { + Address(0x00000000000000000000000000007FFFFFFFFFFF): Account( + storage={}, code=b"", nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest148.py b/tests/ported_static/stRandom/test_random_statetest148.py index 4b6f3961018..fd1abbab49b 100644 --- a/tests/ported_static/stRandom/test_random_statetest148.py +++ b/tests/ported_static/stRandom/test_random_statetest148.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest148. Ported from: -tests/static/state_tests/stRandom/randomStatetest148Filler.json +state_tests/stRandom/randomStatetest148Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest148Filler.json"], + ["state_tests/stRandom/randomStatetest148Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest148( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest148.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,56 @@ def test_random_statetest148( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001537f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000006f34847e390773919b165590771644725560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.MSTORE8(offset=Op.PUSH32[0x1], value=Op.PUSH32[0xC350]) + + Op.PUSH32[0x0] * 2 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x34847E390773919B1655907716447255 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA795B1DE6184BCFA49D6EA7929439C5CA3A6B4BB), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.MSTORE8(offset=Op.PUSH32[0x1], value=Op.PUSH32[0xC350]) - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x34847E390773919B1655907716447255, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa795b1de6184bcfa49d6ea7929439c5ca3a6b4bb"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001537f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e796f34847e390773919b16559077164472" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001537f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f34847e390773919b16559077164472" # noqa: E501 ), gas_limit=100000, - value=811630515, + value=0x30607FB3, ) post = { - contract: Account( + target: Account( storage={ 0x50000000000000000000000000000000000000000000000000000000000000: 0x34847E390773919B1655907716447255, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest149.py b/tests/ported_static/stRandom/test_random_statetest149.py index 7a02e8b29c9..f751a51b3d4 100644 --- a/tests/ported_static/stRandom/test_random_statetest149.py +++ b/tests/ported_static/stRandom/test_random_statetest149.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest149. Ported from: -tests/static/state_tests/stRandom/randomStatetest149Filler.json +state_tests/stRandom/randomStatetest149Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest149Filler.json"], + ["state_tests/stRandom/randomStatetest149Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest149( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest149.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,60 @@ def test_random_statetest149( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff099055510760005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.SWAP1 + + Op.SSTORE + + Op.MLOAD + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.SMOD), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xEE2A67362D09420884AE26DC5C2F1C69EC03C027), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.SWAP1 - + Op.SSTORE - + Op.MLOAD - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.SMOD) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xee2a67362d09420884ae26dc5c2f1c69ec03c027"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff0990555107" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0990555107" # noqa: E501 ), gas_limit=100000, - value=1968716197, + value=0x755839A5, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest15.py b/tests/ported_static/stRandom/test_random_statetest15.py index 63025fdb70c..d4467bfe279 100644 --- a/tests/ported_static/stRandom/test_random_statetest15.py +++ b/tests/ported_static/stRandom/test_random_statetest15.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest15. Ported from: -tests/static/state_tests/stRandom/randomStatetest15Filler.json +state_tests/stRandom/randomStatetest15Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest15Filler.json"], + ["state_tests/stRandom/randomStatetest15Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest15( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest15.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,58 @@ def test_random_statetest15( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000016f436af043189b6197733280a2f1f0385560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x436AF043189B6197733280A2F1F03855 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9938A1CD42DF5BA9E9677FA018875C8DC2DEB317), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x436AF043189B6197733280A2F1F03855, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9938a1cd42df5ba9e9677fa018875c8dc2deb317"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000016f436af043189b6197733280a2f1f038" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000016f436af043189b6197733280a2f1f038" # noqa: E501 ), gas_limit=100000, - value=1501832876, + value=0x598426AC, ) post = { - contract: Account(storage={0: 0x436AF043189B6197733280A2F1F03855}), + target: Account( + storage={0: 0x436AF043189B6197733280A2F1F03855}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest150.py b/tests/ported_static/stRandom/test_random_statetest150.py index a329d6b4a9f..8a19ba48705 100644 --- a/tests/ported_static/stRandom/test_random_statetest150.py +++ b/tests/ported_static/stRandom/test_random_statetest150.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest150. Ported from: -tests/static/state_tests/stRandom/randomStatetest150Filler.json +state_tests/stRandom/randomStatetest150Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest150Filler.json"], + ["state_tests/stRandom/randomStatetest150Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest150( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest150.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,138 +47,125 @@ def test_random_statetest150( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x668254d76c6f24d4806677d83f3a46a1a66f20ae2688cf4b75842ac7265966f5f5ca603e6062a268aba89067dc278e1f86710462dae624ac683889038d26894af02617c06b39c4988a5a60a12c0d9ad0ca65839c92f7c75c6ad3d6a7b617ac7fbd41f5a29377ca6ad48748a94e31302254147fb3b5857568e516cb6e8aa23577af85d0e508dc17dc50e246130be577cb59826adc86af6c107fd8a98f47cccd9d22a867a43cd8ad77bbe8bb737af5acc0be67fd7b054f7281e771891dc4aad180996b9cb71c6016d0f6a9148c775e57ac8456a883eedc3182623898f32b5c83760465a2061c7652e785e7eef7a97b0aa6d6c15b5c296bcf05ee2e9b87aa60b5741b3f7d69a1df03df117b848b3a75f81c12dee2244f76e56bb261e9c75fb5ccc769db72bfaeadee3f68cf22bbca665b0647ac74c1409778c71b73ed4adaa2c6ba1c181b0747c27506478c403b3943129e79223e788bf8b81f60abecb73be035d03a8bbdfa112cd8cb2f7a1065250292740d2d72259b4d7e3ef844783da8118b72912b9f96a61f6168f160ef69d7dd3dfc7e4ef204766f789cbaf2abeceadcf5bdd8dddfef773f0a628afdf3988861662b77882a5cebffc61e75f11835b109e81f7c915a91c13b09097b792d3d59de0ef5b0f00f95ea49860917656263925da2fd6685359c6d7e4c3c4d2001a30111de14c56503788453df98a29b8715561b2c2021cf78e0ccc4701b192ebf67bb6f522656788b3d21428b50a2fa16224d926ce2ea5944760d501bfa0774238c6351dd224b743d3fc4d5a309166016a71b1c230fe9afd6479324716e71e3b27bdd3fb18cccc42f6ec973129f7958435f45da181aeb1608ed31713c33330ab4d2d4af54dd92d1df1560086014601d601f636b1d9a3573632aec0540f16cfb040c16bd7c3761bdb86dd6be658d2aefe157396217393663769965a66479176d702e7e2d5697681aac1beccc55825241cd77551f39526cfa77838faa9c4759aafa5c64df5e9199976f35f8298acd398d1913c1fd2ddacbbeac7cc29daee12c057385808f19d07110f30cfd900a130b0a713468bceaf4236153ab6c7bdc39cf86d0a5b03684624d187473b42a2968f1128872724b3d42218dbac11f5a9492651f09a866f61a72535c373274618d5914163abc7481bb7789394e62f247e78e7f83af55a5686926972af7c6519658aee40a564e3c2950f874def7a2110af0526f75629b20a108e1cfba0db03fcdee497ee2f8bcf78ef14317 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH7[0x8254D76C6F24D4] + + Op.DUP1 + + Op.LOG2( + offset=0x62, + size=0x3E, + topic_1=0x20AE2688CF4B75842AC7265966F5F5CA, + topic_2=0x77D83F3A46A1A6, + ) + + Op.PUSH9[0xABA89067DC278E1F86] + + Op.PUSH18[0x462DAE624AC683889038D26894AF02617C0] + + Op.PUSH12[0x39C4988A5A60A12C0D9AD0CA] + + Op.PUSH6[0x839C92F7C75C] + + Op.PUSH11[0xD3D6A7B617AC7FBD41F5A2] + + Op.SWAP4 + + Op.CALLDATALOAD( + offset=0xCA6AD48748A94E31302254147FB3B5857568E516CB6E8AA2 + ) + + Op.PUSH24[0xAF85D0E508DC17DC50E246130BE577CB59826ADC86AF6C10] + + Op.PUSH32[ + 0xD8A98F47CCCD9D22A867A43CD8AD77BBE8BB737AF5ACC0BE67FD7B054F7281E7 + ] + + Op.PUSH18[0x891DC4AAD180996B9CB71C6016D0F6A9148C] + + Op.PUSH24[0x5E57AC8456A883EEDC3182623898F32B5C83760465A2061C] + + Op.PUSH23[0x52E785E7EEF7A97B0AA6D6C15B5C296BCF05EE2E9B87AA] + + Op.PUSH1[0xB5] + + Op.PUSH21[0x1B3F7D69A1DF03DF117B848B3A75F81C12DEE2244F] + + Op.PUSH23[0xE56BB261E9C75FB5CCC769DB72BFAEADEE3F68CF22BBCA] + + Op.PUSH7[0x5B0647AC74C140] + + Op.SWAP8 + + Op.PUSH25[0xC71B73ED4ADAA2C6BA1C181B0747C27506478C403B3943129E] + + Op.PUSH26[0x223E788BF8B81F60ABECB73BE035D03A8BBDFA112CD8CB2F7A10] + + Op.PUSH6[0x250292740D2D] + + Op.PUSH19[0x259B4D7E3EF844783DA8118B72912B9F96A61F] + + Op.PUSH2[0x68F1] + + Op.PUSH1[0xEF] + + Op.PUSH10[0xD7DD3DFC7E4EF204766F] + + Op.PUSH25[0x9CBAF2ABECEADCF5BDD8DDDFEF773F0A628AFDF3988861662B] + + Op.PUSH24[0x882A5CEBFFC61E75F11835B109E81F7C915A91C13B09097B] + + Op.PUSH26[0x2D3D59DE0EF5B0F00F95EA49860917656263925DA2FD6685359C] + + Op.PUSH14[0x7E4C3C4D2001A30111DE14C56503] + + Op.PUSH25[0x8453DF98A29B8715561B2C2021CF78E0CCC4701B192EBF67BB] + + Op.PUSH16[0x522656788B3D21428B50A2FA16224D92] + + Op.PUSH13[0xE2EA5944760D501BFA0774238C] + + Op.PUSH4[0x51DD224B] + + Op.PUSH21[0x3D3FC4D5A309166016A71B1C230FE9AFD647932471] + + Op.PUSH15[0x71E3B27BDD3FB18CCCC42F6EC97312] + + Op.SWAP16 + + Op.ISZERO(0x58435F45DA181AEB1608ED31713C33330AB4D2D4AF54DD92D1DF) + + Op.CALL( + gas=0x2AEC0540, + address=0xA00C267DA6E57A9318A096C6333C4BCED51306DA, + value=0x6B1D9A35, + args_offset=0x1F, + args_size=0x1D, + ret_offset=0x14, + ret_size=0x8, + ) + + Op.PUSH13[0xFB040C16BD7C3761BDB86DD6BE] + + Op.PUSH6[0x8D2AEFE15739] + + Op.PUSH3[0x173936] + + Op.PUSH4[0x769965A6] + + Op.PUSH5[0x79176D702E] + + Op.PUSH31[ + 0x2D5697681AAC1BECCC55825241CD77551F39526CFA77838FAA9C4759AAFA5C + ] + + Op.PUSH5[0xDF5E919997] + + Op.PUSH16[0x35F8298ACD398D1913C1FD2DDACBBEAC] + + Op.PUSH29[ + 0xC29DAEE12C057385808F19D07110F30CFD900A130B0A713468BCEAF423 + ] + + Op.PUSH2[0x53AB] + + Op.PUSH13[0x7BDC39CF86D0A5B03684624D18] + + Op.PUSH21[0x73B42A2968F1128872724B3D42218DBAC11F5A9492] + + Op.PUSH6[0x1F09A866F61A] + + Op.PUSH19[0x535C373274618D5914163ABC7481BB7789394E] + + Op.PUSH3[0xF247E7] + + Op.DUP15 + + Op.OR( + 0x629B20A108E1CFBA0DB03FCDEE497EE2F8BCF78EF143, + 0x83AF55A5686926972AF7C6519658AEE40A564E3C2950F874DEF7A2110AF0526F, ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA00C267DA6E57A9318A096C6333C4BCED51306DA), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH7[0x8254D76C6F24D4] - + Op.DUP1 - + Op.LOG2( - offset=0x62, - size=0x3E, - topic_1=0x20AE2688CF4B75842AC7265966F5F5CA, - topic_2=0x77D83F3A46A1A6, - ) - + Op.PUSH9[0xABA89067DC278E1F86] - + Op.PUSH18[0x462DAE624AC683889038D26894AF02617C0] - + Op.PUSH12[0x39C4988A5A60A12C0D9AD0CA] - + Op.PUSH6[0x839C92F7C75C] - + Op.PUSH11[0xD3D6A7B617AC7FBD41F5A2] - + Op.SWAP4 - + Op.CALLDATALOAD( - offset=0xCA6AD48748A94E31302254147FB3B5857568E516CB6E8AA2, - ) - + Op.PUSH24[0xAF85D0E508DC17DC50E246130BE577CB59826ADC86AF6C10] - + Op.PUSH32[ - 0xD8A98F47CCCD9D22A867A43CD8AD77BBE8BB737AF5ACC0BE67FD7B054F7281E7 # noqa: E501 - ] - + Op.PUSH18[0x891DC4AAD180996B9CB71C6016D0F6A9148C] - + Op.PUSH24[0x5E57AC8456A883EEDC3182623898F32B5C83760465A2061C] - + Op.PUSH23[0x52E785E7EEF7A97B0AA6D6C15B5C296BCF05EE2E9B87AA] - + Op.PUSH1[0xB5] - + Op.PUSH21[0x1B3F7D69A1DF03DF117B848B3A75F81C12DEE2244F] - + Op.PUSH23[0xE56BB261E9C75FB5CCC769DB72BFAEADEE3F68CF22BBCA] - + Op.PUSH7[0x5B0647AC74C140] - + Op.SWAP8 - + Op.PUSH25[0xC71B73ED4ADAA2C6BA1C181B0747C27506478C403B3943129E] - + Op.PUSH26[0x223E788BF8B81F60ABECB73BE035D03A8BBDFA112CD8CB2F7A10] - + Op.PUSH6[0x250292740D2D] - + Op.PUSH19[0x259B4D7E3EF844783DA8118B72912B9F96A61F] - + Op.PUSH2[0x68F1] - + Op.PUSH1[0xEF] - + Op.PUSH10[0xD7DD3DFC7E4EF204766F] - + Op.PUSH25[0x9CBAF2ABECEADCF5BDD8DDDFEF773F0A628AFDF3988861662B] - + Op.PUSH24[0x882A5CEBFFC61E75F11835B109E81F7C915A91C13B09097B] - + Op.PUSH26[0x2D3D59DE0EF5B0F00F95EA49860917656263925DA2FD6685359C] - + Op.PUSH14[0x7E4C3C4D2001A30111DE14C56503] - + Op.PUSH25[0x8453DF98A29B8715561B2C2021CF78E0CCC4701B192EBF67BB] - + Op.PUSH16[0x522656788B3D21428B50A2FA16224D92] - + Op.PUSH13[0xE2EA5944760D501BFA0774238C] - + Op.PUSH4[0x51DD224B] - + Op.PUSH21[0x3D3FC4D5A309166016A71B1C230FE9AFD647932471] - + Op.PUSH15[0x71E3B27BDD3FB18CCCC42F6EC97312] - + Op.SWAP16 - + Op.ISZERO(0x58435F45DA181AEB1608ED31713C33330AB4D2D4AF54DD92D1DF) - + Op.CALL( - gas=0x2AEC0540, - address=0xA00C267DA6E57A9318A096C6333C4BCED51306DA, - value=0x6B1D9A35, - args_offset=0x1F, - args_size=0x1D, - ret_offset=0x14, - ret_size=0x8, - ) - + Op.PUSH13[0xFB040C16BD7C3761BDB86DD6BE] - + Op.PUSH6[0x8D2AEFE15739] - + Op.PUSH3[0x173936] - + Op.PUSH4[0x769965A6] - + Op.PUSH5[0x79176D702E] - + Op.PUSH31[ - 0x2D5697681AAC1BECCC55825241CD77551F39526CFA77838FAA9C4759AAFA5C # noqa: E501 - ] - + Op.PUSH5[0xDF5E919997] - + Op.PUSH16[0x35F8298ACD398D1913C1FD2DDACBBEAC] - + Op.PUSH29[ - 0xC29DAEE12C057385808F19D07110F30CFD900A130B0A713468BCEAF423 - ] - + Op.PUSH2[0x53AB] - + Op.PUSH13[0x7BDC39CF86D0A5B03684624D18] - + Op.PUSH21[0x73B42A2968F1128872724B3D42218DBAC11F5A9492] - + Op.PUSH6[0x1F09A866F61A] - + Op.PUSH19[0x535C373274618D5914163ABC7481BB7789394E] - + Op.PUSH3[0xF247E7] - + Op.DUP15 - + Op.OR( - 0x629B20A108E1CFBA0DB03FCDEE497EE2F8BCF78EF143, - 0x83AF55A5686926972AF7C6519658AEE40A564E3C2950F874DEF7A2110AF0526F, # noqa: E501 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa00c267da6e57a9318a096c6333c4bced51306da"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "70afe04f9b9074d39383f0718bb0b14ecdb6680c54b4c20ae65044c572a5c832c15f55e8" # noqa: E501 - "c1b63ffbb7da41d4c8faa43f087b1960b54938bbdb14f35e3552723ad2053a3c74b98d03" # noqa: E501 - "20f74bbe4ff06630f30e1caa6e13797a14d07bb94ae4972ce38da7aefa2ab07aedb81397" # noqa: E501 - "137b698a63675aa8895c5b1207be9262507b0866acfa180cfbbdff5572fb9a74b245d118" # noqa: E501 - "0e80a93b2dc5bcf891e1b84d6c66ab13b03e937d4268f4e9be0381417c1db9b7341c9912" # noqa: E501 - "e685e38ee499f1fb82b027b84e01ef235f18b95b0bf567fcfcc5181f51c6dd0465d063d0" # noqa: E501 - "f11f267ccd81aa8d4fda65e7e213e5ae4a6da0c6493209753a089323c5bfdde091556681" # noqa: E501 - "b0648f59b8b2684d82a240f7d5b8eefd645e6320270660e960467877a8561129b7114a61" # noqa: E501 - "7d36423905813b7dc594d88b0eb751ba946f54595f624b07da116f0971fc6e540a966364" # noqa: E501 - "c8a1df698688b1ba91f9ac7a74f878a61c87ad3240d656c9ee80fd90d4f8c01ca89c8bc5" # noqa: E501 - "37380df079ba8a2e6f2a3cbeb6bfb9687a7cc323f2a9eafd81789ae783355764b23354ba" # noqa: E501 - "3f693c4d774ed6ab89da8846604172ad96ab938a4beff64adf9594812f491a0ba98e6f77" # noqa: E501 - "d4c40454047c20cfb2625c43608dc26d032e6f8b53bfc1243fbd23a14c077e2071997635" # noqa: E501 - "fdb2ffb317cd0e116f1ea7649dcf80ead9dea010cc4e456893f16d7c534f980d27c3312f" # noqa: E501 - "34fbf5c8ba9b" + to=target, + data=Bytes( + "70afe04f9b9074d39383f0718bb0b14ecdb6680c54b4c20ae65044c572a5c832c15f55e8c1b63ffbb7da41d4c8faa43f087b1960b54938bbdb14f35e3552723ad2053a3c74b98d0320f74bbe4ff06630f30e1caa6e13797a14d07bb94ae4972ce38da7aefa2ab07aedb81397137b698a63675aa8895c5b1207be9262507b0866acfa180cfbbdff5572fb9a74b245d1180e80a93b2dc5bcf891e1b84d6c66ab13b03e937d4268f4e9be0381417c1db9b7341c9912e685e38ee499f1fb82b027b84e01ef235f18b95b0bf567fcfcc5181f51c6dd0465d063d0f11f267ccd81aa8d4fda65e7e213e5ae4a6da0c6493209753a089323c5bfdde091556681b0648f59b8b2684d82a240f7d5b8eefd645e6320270660e960467877a8561129b7114a617d36423905813b7dc594d88b0eb751ba946f54595f624b07da116f0971fc6e540a966364c8a1df698688b1ba91f9ac7a74f878a61c87ad3240d656c9ee80fd90d4f8c01ca89c8bc537380df079ba8a2e6f2a3cbeb6bfb9687a7cc323f2a9eafd81789ae783355764b23354ba3f693c4d774ed6ab89da8846604172ad96ab938a4beff64adf9594812f491a0ba98e6f77d4c40454047c20cfb2625c43608dc26d032e6f8b53bfc1243fbd23a14c077e2071997635fdb2ffb317cd0e116f1ea7649dcf80ead9dea010cc4e456893f16d7c534f980d27c3312f34fbf5c8ba9b" # noqa: E501 ), gas_limit=2042667010, - value=1816460087, + value=0x6C44FB37, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest151.py b/tests/ported_static/stRandom/test_random_statetest151.py index c3f3860b17d..a9699c5adf2 100644 --- a/tests/ported_static/stRandom/test_random_statetest151.py +++ b/tests/ported_static/stRandom/test_random_statetest151.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest151. Ported from: -tests/static/state_tests/stRandom/randomStatetest151Filler.json +state_tests/stRandom/randomStatetest151Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest151Filler.json"], + ["state_tests/stRandom/randomStatetest151Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest151( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest151.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,41 +46,44 @@ def test_random_statetest151( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x41424143445a42f35b10773574016c9f + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("41424143445a42f35b10773574016c9f"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x832214236b4dc7829a505afafb05b91d152f9ff4"), # noqa: E501 + address=Address(0x832214236B4DC7829A505AFAFB05B91D152F9FF4), # noqa: E501 ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) + ), + balance=46, + nonce=0, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest153.py b/tests/ported_static/stRandom/test_random_statetest153.py index 28209654611..cfbd2a8b1a1 100644 --- a/tests/ported_static/stRandom/test_random_statetest153.py +++ b/tests/ported_static/stRandom/test_random_statetest153.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest153. Ported from: -tests/static/state_tests/stRandom/randomStatetest153Filler.json +state_tests/stRandom/randomStatetest153Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest153Filler.json"], + ["state_tests/stRandom/randomStatetest153Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest153( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest153.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,53 +46,55 @@ def test_random_statetest153( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x44420b4442432055 + target = pre.deploy_contract( # noqa: F841 + code=Op.SIGNEXTEND(Op.TIMESTAMP, Op.PREVRANDAO) + + Op.SSTORE( + key=Op.SHA3(offset=Op.NUMBER, size=Op.TIMESTAMP), + value=Op.PREVRANDAO, ), - balance=46, + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x973AA64AFC19EAEB66865746FC4938231BCF3312), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SIGNEXTEND(Op.TIMESTAMP, Op.PREVRANDAO) - + Op.SSTORE( - key=Op.SHA3(offset=Op.NUMBER, size=Op.TIMESTAMP), - value=Op.PREVRANDAO, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0x973aa64afc19eaeb66865746fc4938231bcf3312"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0xAE72E2BF2302EBCD309E003E5BE58830F96DEDDAF87BB89EEEA159388BFE3EC1: 0x20000, # noqa: E501 + 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A: 0, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest154.py b/tests/ported_static/stRandom/test_random_statetest154.py index 06ef350a45c..f41e51f37b2 100644 --- a/tests/ported_static/stRandom/test_random_statetest154.py +++ b/tests/ported_static/stRandom/test_random_statetest154.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest154. Ported from: -tests/static/state_tests/stRandom/randomStatetest154Filler.json +state_tests/stRandom/randomStatetest154Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest154Filler.json"], + ["state_tests/stRandom/randomStatetest154Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest154( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest154.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,71 +47,60 @@ def test_random_statetest154( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7db1267c8bba268d1408f7b3e269afee3fea86c5bc8aec8108fd6aaa954f5173b7d0e2328333e94698e0d570db9b316cba0adbae609d611ba1a2326004600d6005600f632de40a2773635c2491eef1 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.LOG2( + offset=0x1BA1, + size=0x9D, + topic_1=0xB7D0E2328333E94698E0D570DB9B316CBA0ADBAE, + topic_2=0xB1267C8BBA268D1408F7B3E269AFEE3FEA86C5BC8AEC8108FD6AAA954F51, # noqa: E501 + ) + + Op.ORIGIN + + Op.CALL( + gas=0x5C2491EE, + address=0xF8E70C18DB2BF1444417C2820AF74D3AB1D6A06F, + value=0x2DE40A27, + args_offset=0xF, + args_size=0x5, + ret_offset=0xD, + ret_size=0x4, ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF8E70C18DB2BF1444417C2820AF74D3AB1D6A06F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.LOG2( - offset=0x1BA1, - size=0x9D, - topic_1=0xB7D0E2328333E94698E0D570DB9B316CBA0ADBAE, - topic_2=0xB1267C8BBA268D1408F7B3E269AFEE3FEA86C5BC8AEC8108FD6AAA954F51, # noqa: E501 - ) - + Op.ORIGIN - + Op.CALL( - gas=0x5C2491EE, - address=0xF8E70C18DB2BF1444417C2820AF74D3AB1D6A06F, - value=0x2DE40A27, - args_offset=0xF, - args_size=0x5, - ret_offset=0xD, - ret_size=0x4, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf8e70c18db2bf1444417c2820af74d3ab1d6a06f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7767cc78eeac8d9db5297bde12b635c487b138a0dd4601a9236656945997db45a668500a" # noqa: E501 - "3ba6eac5489fca6a1a60998fdd14d1f8b6df2f71d56852c0f085c7c3ba826a746e9dce43" # noqa: E501 - "35b97488b092df3db7c8097366963ffc1f51e7f4740935567fc404dab22917cbb1e5cf62" # noqa: E501 - "52d6e99952a889ec687e6bcdb9b3358f2b287d5d38793a6e6105063e96947760c35c317e" # noqa: E501 - "5798e9a5f3cfef9030ea32917ec50268953856b1eae69744b4815f4808e2bcceaa482030" # noqa: E501 - "b32689f51807af6e6840942dae7592985e688975e0ee12dbdc39eedbf43aabc2563df850" # noqa: E501 - "d6781ed002fe78bd48083bb42742ee243eea1ecd201eef18f00f330fee8836df1234700f" # noqa: E501 - "5824b76290232dd1863a69ca84d2786e74eed98d42b740cc037b156dd261441220cfaf15" # noqa: E501 - "857c6e8b6f5e1eb9aee8d63ad473477df11660ac765fa5eebfccfed05bacf2809818d01d" # noqa: E501 - "b511686cde018f146e78fee9bff3ffe90a1b54cdc57ec52b6fda22f7f81fc1d9724b375c" # noqa: E501 - "e206d29176797f9e42c2ec1ef6b468f7f8fbdb5011c4ddcddd72a6adde7d3d077cf96f9d" # noqa: E501 - "13893a46aaaf5acc241eabd8712b6a2deea63f6f91cf162e2d6d65579257a17d7c66e075" # noqa: E501 - "70d11280dc99" + to=target, + data=Bytes( + "7767cc78eeac8d9db5297bde12b635c487b138a0dd4601a9236656945997db45a668500a3ba6eac5489fca6a1a60998fdd14d1f8b6df2f71d56852c0f085c7c3ba826a746e9dce4335b97488b092df3db7c8097366963ffc1f51e7f4740935567fc404dab22917cbb1e5cf6252d6e99952a889ec687e6bcdb9b3358f2b287d5d38793a6e6105063e96947760c35c317e5798e9a5f3cfef9030ea32917ec50268953856b1eae69744b4815f4808e2bcceaa482030b32689f51807af6e6840942dae7592985e688975e0ee12dbdc39eedbf43aabc2563df850d6781ed002fe78bd48083bb42742ee243eea1ecd201eef18f00f330fee8836df1234700f5824b76290232dd1863a69ca84d2786e74eed98d42b740cc037b156dd261441220cfaf15857c6e8b6f5e1eb9aee8d63ad473477df11660ac765fa5eebfccfed05bacf2809818d01db511686cde018f146e78fee9bff3ffe90a1b54cdc57ec52b6fda22f7f81fc1d9724b375ce206d29176797f9e42c2ec1ef6b468f7f8fbdb5011c4ddcddd72a6adde7d3d077cf96f9d13893a46aaaf5acc241eabd8712b6a2deea63f6f91cf162e2d6d65579257a17d7c66e07570d11280dc99" # noqa: E501 ), gas_limit=1617280826, - value=1696344411, + value=0x651C295B, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest155.py b/tests/ported_static/stRandom/test_random_statetest155.py index 873e52614bf..09b14f110a9 100644 --- a/tests/ported_static/stRandom/test_random_statetest155.py +++ b/tests/ported_static/stRandom/test_random_statetest155.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest155. Ported from: -tests/static/state_tests/stRandom/randomStatetest155Filler.json +state_tests/stRandom/randomStatetest155Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest155Filler.json"], + ["state_tests/stRandom/randomStatetest155Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest155( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest155.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,61 @@ def test_random_statetest155( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x457f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006f3494f39b6ca29473a19958030891015560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x3494F39B6CA29473A199580308910155 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA8B18AE8F1784B75923DBC884C39419340A580EF), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x3494F39B6CA29473A199580308910155, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa8b18ae8f1784b75923dbc884c39419340a580ef"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457f00000000000000000000000000000000000000000000000000000000000000007fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000006f3494f39b6ca29473a1995803089101" + to=target, + data=Bytes( + "457f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000006f3494f39b6ca29473a1995803089101" # noqa: E501 ), gas_limit=100000, - value=579536172, + value=0x228B052C, ) post = { - contract: Account(storage={0: 0x3494F39B6CA29473A199580308910155}), + target: Account( + storage={0: 0x3494F39B6CA29473A199580308910155}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest156.py b/tests/ported_static/stRandom/test_random_statetest156.py index 6b130e9fd1e..15f537271a9 100644 --- a/tests/ported_static/stRandom/test_random_statetest156.py +++ b/tests/ported_static/stRandom/test_random_statetest156.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest156. Ported from: -tests/static/state_tests/stRandom/randomStatetest156Filler.json +state_tests/stRandom/randomStatetest156Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest156Filler.json"], + ["state_tests/stRandom/randomStatetest156Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest156( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest156.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,55 @@ def test_random_statetest156( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x813982583141966B389C159AA48B3A88, - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3506f813982583141966b389c159aa48b3a8860005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x813982583141966B389C159AA48B3A88 ), nonce=0, - address=Address("0x181438ff6f2785998200480624815db9facc748d"), # noqa: E501 + address=Address(0x181438FF6F2785998200480624815DB9FACC748D), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c3506f813982583141966b389c159aa48b3a88" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3506f813982583141966b389c159aa48b3a88" # noqa: E501 ), gas_limit=100000, - value=2147378193, + value=0x7FFE6411, ) post = { - contract: Account(storage={0: 0x813982583141966B389C159AA48B3A88}), + target: Account( + storage={0: 0x813982583141966B389C159AA48B3A88}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest157.py b/tests/ported_static/stRandom/test_random_statetest157.py index d46fe6af9f2..2c26e9768bb 100644 --- a/tests/ported_static/stRandom/test_random_statetest157.py +++ b/tests/ported_static/stRandom/test_random_statetest157.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest157. Ported from: -tests/static/state_tests/stRandom/randomStatetest157Filler.json +state_tests/stRandom/randomStatetest157Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest157Filler.json"], + ["state_tests/stRandom/randomStatetest157Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest157( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest157.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,135 +46,47 @@ def test_random_statetest157( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0966ff351691689162f371a38d9b789e4360005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff0966ff351691689162f371a38d9b789e4360005155" # noqa: E501 + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0966ff351691689162f371a38d9b789e4360005155" # noqa: E501 ), nonce=0, - address=Address("0xd86e1f5504d3579a67db179f0ce158d0e8b252d9"), # noqa: E501 + address=Address(0xD86E1F5504D3579A67DB179F0CE158D0E8B252D9), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff0966ff351691689162f371a38d9b789e43" - ), - gas_limit=100000, - value=391059071, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest157Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest157_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff0966ff351691689162f371a38d9b789e4360005155" # noqa: E501 - ), - nonce=0, - address=Address("0xd86e1f5504d3579a67db179f0ce158d0e8b252d9"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff0966ff351691689162f371a38d9b789e43" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0966ff351691689162f371a38d9b789e43" # noqa: E501 ), gas_limit=100000, - value=391059071, + value=0x174F167F, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest158.py b/tests/ported_static/stRandom/test_random_statetest158.py index 99fcacba8f5..1939b2556e7 100644 --- a/tests/ported_static/stRandom/test_random_statetest158.py +++ b/tests/ported_static/stRandom/test_random_statetest158.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest158. Ported from: -tests/static/state_tests/stRandom/randomStatetest158Filler.json +state_tests/stRandom/randomStatetest158Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest158Filler.json"], + ["state_tests/stRandom/randomStatetest158Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest158( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest158.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,71 +46,63 @@ def test_random_statetest158( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe435060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] * 2 + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.POP(Op.NUMBER) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xFA9512FFC9C4019C1680C63C1285D623D6579C46), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.POP(Op.NUMBER) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xfa9512ffc9c4019c1680c63c1285d623d6579c46"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017f0000000000000000000000010000000000" # noqa: E501 - "0000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe4350" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4350" # noqa: E501 ), gas_limit=100000, - value=943455350, + value=0x383BFC76, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest159.py b/tests/ported_static/stRandom/test_random_statetest159.py index 89c22041842..9f9fb966491 100644 --- a/tests/ported_static/stRandom/test_random_statetest159.py +++ b/tests/ported_static/stRandom/test_random_statetest159.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest159. Ported from: -tests/static/state_tests/stRandom/randomStatetest159Filler.json +state_tests/stRandom/randomStatetest159Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest159Filler.json"], + ["state_tests/stRandom/randomStatetest159Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest159( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest159.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,130 +47,97 @@ def test_random_statetest159( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x324260e172acf6051580ff4e3ba75da449e7ab2b705cf75873b252caf4b51def86cf4988747e4b77d541c09d316acfebf3871d3a1944a5b975670f11d63a7d9c9b49750a0734d7313f746ba5fba6f3ff04148f4f39e4a28cc271e1ae0b89f2ad1413af2317c6a9628006d4157cdf7a3f30103f20611fe88431b16a79be995278aec271b56bc32543196c650621b66f1bfc718c0d9360cfb17a079aeca76a0b08cb4f0e5789426a6a26c3bef3710be80e4d646135f26076a178e17952f1667fa85f3b72ffa4c95bda9db87e2b8409a9b1c9e27346e5b9a49fd3689f943925eb4618577675acf6bf7b1b665940c32ef9086a95914496bc8bb76245fa2dc9cd3e29618e568966b2893ecd2e84766a8cf184a772e70b3e042b9584601e600b600760136304b1e2f2736339570738f16df327f570c11aa84a7a5480b98c5175cbd00120239df2d03db2fdd9c233df848ead9d3c84d4556f6030a17e0f41dfce8be36a92b0d5e0d67a71c146187edefc7923a8aad22ca228ecee824c2d7c237ace7e52fd62bd649662a4fe5f78a0b34d84a28c14c9fea0f18d1d55870173546b3b99e17cae467e2f1667b7c9445b11382bf9d7ff632d1ccdc973ba913d9ebbb219ac7aa0f3b579caa81065e433d2b8cf8cbfb998ec52fe1eaea6d87bc7728315cc653ccf904948918741 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.ORIGIN + + Op.TIMESTAMP + + Op.PUSH1[0xE1] + + Op.PUSH19[0xACF6051580FF4E3BA75DA449E7AB2B705CF758] + + Op.PUSH20[0xB252CAF4B51DEF86CF4988747E4B77D541C09D31] + + Op.PUSH11[0xCFEBF3871D3A1944A5B975] + + Op.PUSH8[0xF11D63A7D9C9B49] + + Op.PUSH22[0xA0734D7313F746BA5FBA6F3FF04148F4F39E4A28CC2] + + Op.PUSH18[0xE1AE0B89F2AD1413AF2317C6A9628006D415] + + Op.PUSH29[ + 0xDF7A3F30103F20611FE88431B16A79BE995278AEC271B56BC32543196C + ] + + Op.PUSH6[0x621B66F1BFC] + + Op.PUSH18[0x8C0D9360CFB17A079AECA76A0B08CB4F0E57] + + Op.DUP10 + + Op.TIMESTAMP + + Op.LOG1(offset=0x76, size=0x35F2, topic_1=0x6A26C3BEF3710BE80E4D64) + + Op.PUSH25[0xE17952F1667FA85F3B72FFA4C95BDA9DB87E2B8409A9B1C9E2] + + Op.PUSH20[0x46E5B9A49FD3689F943925EB4618577675ACF6BF] + + Op.PUSH28[0x1B665940C32EF9086A95914496BC8BB76245FA2DC9CD3E29618E5689] + + Op.PUSH7[0xB2893ECD2E8476] + + Op.PUSH11[0x8CF184A772E70B3E042B95] + + Op.DUP5 + + Op.CALL( + gas=0x39570738, + address=0xBADAB8EC78E07CDBB4B25F913769FEA51E5A9C2A, + value=0x4B1E2F2, + args_offset=0x13, + args_size=0x7, + ret_offset=0xB, + ret_size=0x1E, + ) + + Op.SSTORE( + key=0xCBD00120239DF2D03DB2FDD9C233DF848EAD9D3C84D4, + value=0xF327F570C11AA84A7A5480B98C51, + ) + + Op.PUSH16[0x6030A17E0F41DFCE8BE36A92B0D5E0D6] + + Op.PUSH27[0x71C146187EDEFC7923A8AAD22CA228ECEE824C2D7C237ACE7E52FD] + + Op.PUSH3[0xBD6496] + + Op.PUSH3[0xA4FE5F] + + Op.PUSH25[0xA0B34D84A28C14C9FEA0F18D1D55870173546B3B99E17CAE46] + + Op.PUSH31[ + 0x2F1667B7C9445B11382BF9D7FF632D1CCDC973BA913D9EBBB219AC7AA0F3B5 + ] + + Op.PUSH26[0xCAA81065E433D2B8CF8CBFB998EC52FE1EAEA6D87BC7728315CC] + + Op.PUSH6[0x3CCF90494891] + + Op.DUP8 + + Op.COINBASE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xBADAB8EC78E07CDBB4B25F913769FEA51E5A9C2A), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.ORIGIN - + Op.TIMESTAMP - + Op.PUSH1[0xE1] - + Op.PUSH19[0xACF6051580FF4E3BA75DA449E7AB2B705CF758] - + Op.PUSH20[0xB252CAF4B51DEF86CF4988747E4B77D541C09D31] - + Op.PUSH11[0xCFEBF3871D3A1944A5B975] - + Op.PUSH8[0xF11D63A7D9C9B49] - + Op.PUSH22[0xA0734D7313F746BA5FBA6F3FF04148F4F39E4A28CC2] - + Op.PUSH18[0xE1AE0B89F2AD1413AF2317C6A9628006D415] - + Op.PUSH29[ - 0xDF7A3F30103F20611FE88431B16A79BE995278AEC271B56BC32543196C - ] - + Op.PUSH6[0x621B66F1BFC] - + Op.PUSH18[0x8C0D9360CFB17A079AECA76A0B08CB4F0E57] - + Op.DUP10 - + Op.TIMESTAMP - + Op.LOG1( - offset=0x76, size=0x35F2, topic_1=0x6A26C3BEF3710BE80E4D64 - ) - + Op.PUSH25[0xE17952F1667FA85F3B72FFA4C95BDA9DB87E2B8409A9B1C9E2] - + Op.PUSH20[0x46E5B9A49FD3689F943925EB4618577675ACF6BF] - + Op.PUSH28[ - 0x1B665940C32EF9086A95914496BC8BB76245FA2DC9CD3E29618E5689 - ] - + Op.PUSH7[0xB2893ECD2E8476] - + Op.PUSH11[0x8CF184A772E70B3E042B95] - + Op.DUP5 - + Op.CALL( - gas=0x39570738, - address=0xBADAB8EC78E07CDBB4B25F913769FEA51E5A9C2A, - value=0x4B1E2F2, - args_offset=0x13, - args_size=0x7, - ret_offset=0xB, - ret_size=0x1E, - ) - + Op.SSTORE( - key=0xCBD00120239DF2D03DB2FDD9C233DF848EAD9D3C84D4, - value=0xF327F570C11AA84A7A5480B98C51, - ) - + Op.PUSH16[0x6030A17E0F41DFCE8BE36A92B0D5E0D6] - + Op.PUSH27[ - 0x71C146187EDEFC7923A8AAD22CA228ECEE824C2D7C237ACE7E52FD - ] - + Op.PUSH3[0xBD6496] - + Op.PUSH3[0xA4FE5F] - + Op.PUSH25[0xA0B34D84A28C14C9FEA0F18D1D55870173546B3B99E17CAE46] - + Op.PUSH31[ - 0x2F1667B7C9445B11382BF9D7FF632D1CCDC973BA913D9EBBB219AC7AA0F3B5 # noqa: E501 - ] - + Op.PUSH26[0xCAA81065E433D2B8CF8CBFB998EC52FE1EAEA6D87BC7728315CC] - + Op.PUSH6[0x3CCF90494891] - + Op.DUP8 - + Op.COINBASE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xbadab8ec78e07cdbb4b25f913769fea51e5a9c2a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "712b835f3d9d2bd711b82bc3789135c9552a3962223b777f55a33e73998ad2f06a4ed6f2" # noqa: E501 - "5fc8856c8a525749b27c6ad568ed749589e17633797a16e71f79b4ef7d8aaf5252de3ab7" # noqa: E501 - "71d75b7888230935e2229a77019eb0de19bf8ce156f43713d4e7fc7c8e4a05eb7055bfcc" # noqa: E501 - "74d63886a235d3195ec4ffb5b8d0e2981d360ab96470716c3480ed32bf1d810d463fee63" # noqa: E501 - "f646c5d23572f2e778741514e9d2ddcda7c7311236f8fc564c6459f2044db767566340f1" # noqa: E501 - "15b2161c6c58dca4273276ab7dba59a8f7837bf38e2015040e0729abbead0f19b1cdc778" # noqa: E501 - "a8e61745a96c3e4f4597566f4597629c6bfddff7c6b18ba01f163a6b65a66bbfa71fb76a" # noqa: E501 - "ccc5decebf659df24d36b38e70fe2db90ba399950f4d2d3d08f96436f19563b113bc7920" # noqa: E501 - "6663747a4f9f4bbf7319ef422e02dc9d5b8a0aa64e2e5b106c5417559c69c67bd576141c" # noqa: E501 - "2a77da9a695bc048023ce2e47da6a3a27314e6991ebcc4fa88351f556caea7aeacbe4b85" # noqa: E501 - "8d7c11d1ff9c90ce3ee7a294a8413e8a5b2b1ccc42328418739d2df3584249817040e86e" # noqa: E501 - "243c89afb2608b9b32380916ca3d656a1d839af675f3768808b0d0c6811c472a67e9be5d" # noqa: E501 - "fbee8a030e5bbcf28c327338b6bd2dd7e091d3d38d9de8e3bddab3afa5f2137180693f02" # noqa: E501 - "159392a9ed8ce9213f4ee0908279692e61162f1e9695507c8f6aa90dc83ee13fbd09ed79" # noqa: E501 - "dc7b1c7d54d52e4a0c4e4bf10760f3c845556086393fa12177a43230b0fc7994cdf997c3" # noqa: E501 - "43261e41c8a45ae19aa4ece5f45bc15dcb82c2bc436a9619e2eb92ae524b6df5ad7cc653" # noqa: E501 - "40247d3475a2201d93c64bfb9a1e40d5610f512588865e49183ff9617d21896e1be033b4" # noqa: E501 - "2b4f21d5ecb6fea5f9fbed7d1554d470c21e1608c1a10ab043396c4076460fb57a54e9f9" # noqa: E501 - "f708b5ee060c65e9c9ebed92d33960cf6bfa527276b5263aa69f84387464e0318ce3bd82" # noqa: E501 - "632ca685ac74e4f0b09a9f8e6d7b40bfb9d53bddefd5bad10f40b972dd05b8617f4e892e" # noqa: E501 - "f5a7f911a891213690d15f69429e9601dae799c9fd8a6c4c562cd8adfed3855eb4e661a6" # noqa: E501 - "63d96255a76b91d63a23edfc368d558c89287d0b88c712797e6fb21f4a84c6407a61a713" # noqa: E501 - "c1ba9d957622fe80be46092751640e498de7687a828b2ff6b864fb279ea72f1e53c3b584" # noqa: E501 - "8c1fd8b9533fc2772829b26881802082d00eb7ca786f7446a0f860299c628bc20e5deefd" # noqa: E501 - "8b8360897931a41e6ff3d9f9554552fa142eb6c03a1683933c3f0cdcd9b7dc73410aee35" # noqa: E501 - "eecfe12e2ae69036a27ae906232544439d735b8a404c30cae29e5fa56924e7b036f8b66b" # noqa: E501 - "8e9970dd8113a8188b654f1cb648d8300f20b08869b0625d10dbb1d8db409d64e141c19b" # noqa: E501 - "2f83" + to=target, + data=Bytes( + "712b835f3d9d2bd711b82bc3789135c9552a3962223b777f55a33e73998ad2f06a4ed6f25fc8856c8a525749b27c6ad568ed749589e17633797a16e71f79b4ef7d8aaf5252de3ab771d75b7888230935e2229a77019eb0de19bf8ce156f43713d4e7fc7c8e4a05eb7055bfcc74d63886a235d3195ec4ffb5b8d0e2981d360ab96470716c3480ed32bf1d810d463fee63f646c5d23572f2e778741514e9d2ddcda7c7311236f8fc564c6459f2044db767566340f115b2161c6c58dca4273276ab7dba59a8f7837bf38e2015040e0729abbead0f19b1cdc778a8e61745a96c3e4f4597566f4597629c6bfddff7c6b18ba01f163a6b65a66bbfa71fb76accc5decebf659df24d36b38e70fe2db90ba399950f4d2d3d08f96436f19563b113bc79206663747a4f9f4bbf7319ef422e02dc9d5b8a0aa64e2e5b106c5417559c69c67bd576141c2a77da9a695bc048023ce2e47da6a3a27314e6991ebcc4fa88351f556caea7aeacbe4b858d7c11d1ff9c90ce3ee7a294a8413e8a5b2b1ccc42328418739d2df3584249817040e86e243c89afb2608b9b32380916ca3d656a1d839af675f3768808b0d0c6811c472a67e9be5dfbee8a030e5bbcf28c327338b6bd2dd7e091d3d38d9de8e3bddab3afa5f2137180693f02159392a9ed8ce9213f4ee0908279692e61162f1e9695507c8f6aa90dc83ee13fbd09ed79dc7b1c7d54d52e4a0c4e4bf10760f3c845556086393fa12177a43230b0fc7994cdf997c343261e41c8a45ae19aa4ece5f45bc15dcb82c2bc436a9619e2eb92ae524b6df5ad7cc65340247d3475a2201d93c64bfb9a1e40d5610f512588865e49183ff9617d21896e1be033b42b4f21d5ecb6fea5f9fbed7d1554d470c21e1608c1a10ab043396c4076460fb57a54e9f9f708b5ee060c65e9c9ebed92d33960cf6bfa527276b5263aa69f84387464e0318ce3bd82632ca685ac74e4f0b09a9f8e6d7b40bfb9d53bddefd5bad10f40b972dd05b8617f4e892ef5a7f911a891213690d15f69429e9601dae799c9fd8a6c4c562cd8adfed3855eb4e661a663d96255a76b91d63a23edfc368d558c89287d0b88c712797e6fb21f4a84c6407a61a713c1ba9d957622fe80be46092751640e498de7687a828b2ff6b864fb279ea72f1e53c3b5848c1fd8b9533fc2772829b26881802082d00eb7ca786f7446a0f860299c628bc20e5deefd8b8360897931a41e6ff3d9f9554552fa142eb6c03a1683933c3f0cdcd9b7dc73410aee35eecfe12e2ae69036a27ae906232544439d735b8a404c30cae29e5fa56924e7b036f8b66b8e9970dd8113a8188b654f1cb648d8300f20b08869b0625d10dbb1d8db409d64e141c19b2f83" # noqa: E501 ), gas_limit=1661465041, - value=614929711, + value=0x24A7152F, ) post = { - contract: Account( + target: Account( storage={ 0xCBD00120239DF2D03DB2FDD9C233DF848EAD9D3C84D4: 0xF327F570C11AA84A7A5480B98C51, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest16.py b/tests/ported_static/stRandom/test_random_statetest16.py index b3ae1a81db2..5b201216811 100644 --- a/tests/ported_static/stRandom/test_random_statetest16.py +++ b/tests/ported_static/stRandom/test_random_statetest16.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest16. Ported from: -tests/static/state_tests/stRandom/randomStatetest16Filler.json +state_tests/stRandom/randomStatetest16Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest16Filler.json"], + ["state_tests/stRandom/randomStatetest16Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest16( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest16.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest16( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000557f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005531848f7aa4516d7d7578797e # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000000000000000000000000000000000557f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005531848f7aa4516d7d7578797e" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xAFBF96F4E8A345CC862021D826A7CAE52ADCCDE9), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000557f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000005531848f7aa4516d7d7578797e" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xafbf96f4e8a345cc862021d826a7cae52adccde9"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000557f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000005531848f7aa4516d7d7578797e" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000000000000000000000000000000000557f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005531848f7aa4516d7d7578797e" # noqa: E501 ), gas_limit=100000, - value=1047145130, + value=0x3E6A2AAA, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest161.py b/tests/ported_static/stRandom/test_random_statetest161.py index cbe2faa1518..e83e302fd1d 100644 --- a/tests/ported_static/stRandom/test_random_statetest161.py +++ b/tests/ported_static/stRandom/test_random_statetest161.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest161. Ported from: -tests/static/state_tests/stRandom/randomStatetest161Filler.json +state_tests/stRandom/randomStatetest161Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest161Filler.json"], + ["state_tests/stRandom/randomStatetest161Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest161( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest161.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,59 +46,56 @@ def test_random_statetest161( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350437f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001416f458a458076526052650a418c9b40863c60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.NUMBER + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.COINBASE + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x458A458076526052650A418C9B40863C ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x92DC542F486DA68EAFA3DB73723551927D3FDBA7), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.NUMBER - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.COINBASE - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x458A458076526052650A418C9B40863C, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x92dc542f486da68eafa3db73723551927d3fdba7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c350437f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000001416f458a45807652605265" # noqa: E501 - "0a418c9b40863c" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350437f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001416f458a458076526052650a418c9b40863c" # noqa: E501 ), gas_limit=100000, - value=757362865, + value=0x2D2470B1, ) post = { - contract: Account(storage={0: 0x458A458076526052650A418C9B40863C}), + target: Account( + storage={0: 0x458A458076526052650A418C9B40863C}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest162.py b/tests/ported_static/stRandom/test_random_statetest162.py index 0d3e232aa93..01a6436fa55 100644 --- a/tests/ported_static/stRandom/test_random_statetest162.py +++ b/tests/ported_static/stRandom/test_random_statetest162.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest162. Ported from: -tests/static/state_tests/stRandom/randomStatetest162Filler.json +state_tests/stRandom/randomStatetest162Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest162Filler.json"], + ["state_tests/stRandom/randomStatetest162Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest162( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest162.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,60 @@ def test_random_statetest162( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f355a7f614497339e3b63878b3698045560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 3 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x355A7F614497339E3B63878B36980455 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xCF6897A51DE8B055E06EC2C645386B34CE31B9A3), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x355A7F614497339E3B63878B36980455, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xcf6897a51de8b055e06ec2c645386b34ce31b9a3"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff6f355a7f614497339e3b63878b369804" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f355a7f614497339e3b63878b369804" # noqa: E501 ), gas_limit=100000, - value=725006509, + value=0x2B36B8AD, ) post = { - contract: Account(storage={0: 0x355A7F614497339E3B63878B36980455}), + target: Account( + storage={0: 0x355A7F614497339E3B63878B36980455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest163.py b/tests/ported_static/stRandom/test_random_statetest163.py index 743ca97478f..e855aea06dc 100644 --- a/tests/ported_static/stRandom/test_random_statetest163.py +++ b/tests/ported_static/stRandom/test_random_statetest163.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest163. Ported from: -tests/static/state_tests/stRandom/randomStatetest163Filler.json +state_tests/stRandom/randomStatetest163Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest163Filler.json"], + ["state_tests/stRandom/randomStatetest163Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest163( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest163.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,54 +47,47 @@ def test_random_statetest163( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000000034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000426259cb6142a1196e3168c986758aa4 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f000000000000000000000000000000000000000000000000000000000000000034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000426259cb6142a1196e3168c986758aa4" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE9A32A9AD98C02FA9521B9AB066BCC683A8AB126), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000000034577f" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000426259cb6142a1196e3168c986758aa4" # noqa: E501 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe9a32a9ad98c02fa9521b9ab066bcc683a8ab126"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000000034577f" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000426259cb6142a1196e3168c986758aa4" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000000034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000426259cb6142a1196e3168c986758aa4" # noqa: E501 ), gas_limit=381441932, - value=1579124913, + value=0x5E1F88B1, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest164.py b/tests/ported_static/stRandom/test_random_statetest164.py index 1be469ee1ac..86fc0ce7eb4 100644 --- a/tests/ported_static/stRandom/test_random_statetest164.py +++ b/tests/ported_static/stRandom/test_random_statetest164.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest164. Ported from: -tests/static/state_tests/stRandom/randomStatetest164Filler.json +state_tests/stRandom/randomStatetest164Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest164Filler.json"], + ["state_tests/stRandom/randomStatetest164Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest164( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest164.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,76 +46,70 @@ def test_random_statetest164( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000831305395560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.COINBASE + + Op.CODECOPY( + dest_offset=Op.SDIV( + Op.SGT( + Op.DUP4, + Op.PUSH32[0x10000000000000000000000000000000000000000], + ), + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=Op.PUSH32[0x1], + ) + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5C044383D81700714D9B211B8AF71746E4BA3EC6), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.COINBASE - + Op.CODECOPY( - dest_offset=Op.SDIV( - Op.SGT( - Op.DUP4, - Op.PUSH32[0x10000000000000000000000000000000000000000], - ), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=Op.PUSH32[0x1], - ) - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5c044383d81700714d9b211b8af71746e4ba3ec6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000" # noqa: E501 - "0000000000000000000000000000000083130539" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000001000000000000000000000000000000000000000083130539" # noqa: E501 ), gas_limit=100000, - value=1836140782, + value=0x6D7148EE, ) post = { - contract: Account( + target: Account( storage={ 0: 0x4F3F701464972E74606D6EA82D4D3080599A0E79, 0x4F3F701464972E74606D6EA82D4D3080599A0E79: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest166.py b/tests/ported_static/stRandom/test_random_statetest166.py index cd8e65af15d..1cb2f1e0658 100644 --- a/tests/ported_static/stRandom/test_random_statetest166.py +++ b/tests/ported_static/stRandom/test_random_statetest166.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest166. Ported from: -tests/static/state_tests/stRandom/randomStatetest166Filler.json +state_tests/stRandom/randomStatetest166Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest166Filler.json"], + ["state_tests/stRandom/randomStatetest166Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest166( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest166.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,58 @@ def test_random_statetest166( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.DUP2 - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.COINBASE - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.GASLIMIT - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x8EB7099D9F160532785143C5937E1855, - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff817f0000000000000000000000010000000000000000000000000000000000000000417f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350456f8eb7099d9f160532785143c5937e185560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.DUP2 + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.COINBASE + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.GASLIMIT + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x8EB7099D9F160532785143C5937E1855 ), nonce=0, - address=Address("0x2f20efb4edc7dd07322d9c24d64c9ffdab363ccb"), # noqa: E501 + address=Address(0x2F20EFB4EDC7DD07322D9C24D64C9FFDAB363CCB), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff817f00000000" # noqa: E501 - "00000000000000010000000000000000000000000000000000000000417f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000017f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c350456f8eb7099d9f160532785143" # noqa: E501 - "c5937e18" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff817f0000000000000000000000010000000000000000000000000000000000000000417f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350456f8eb7099d9f160532785143c5937e18" # noqa: E501 ), gas_limit=100000, - value=1614644579, + value=0x603D8563, ) post = { - contract: Account(storage={0: 0x8EB7099D9F160532785143C5937E1855}), + target: Account( + storage={0: 0x8EB7099D9F160532785143C5937E1855}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest167.py b/tests/ported_static/stRandom/test_random_statetest167.py index a64a7487e2a..2e112f4ec65 100644 --- a/tests/ported_static/stRandom/test_random_statetest167.py +++ b/tests/ported_static/stRandom/test_random_statetest167.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest167. Ported from: -tests/static/state_tests/stRandom/randomStatetest167Filler.json +state_tests/stRandom/randomStatetest167Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest167Filler.json"], + ["state_tests/stRandom/randomStatetest167Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest167( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest167.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,60 @@ def test_random_statetest167( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001437f0000000000000000000000000000000000000000000000000000000000000001027f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6fa00b875630178a439384941395369e5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[0x1] + + Op.MUL(Op.PUSH32[0x1], Op.NUMBER) + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xA00B875630178A439384941395369E55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7DEB9D5A0AB7CC3CC567CA833C7DA186F1519963), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.MUL(Op.PUSH32[0x1], Op.NUMBER) - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xA00B875630178A439384941395369E55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7deb9d5a0ab7cc3cc567ca833c7da186f1519963"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001437f00000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000001027f000000000000000000" # noqa: E501 - "0000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff6fa00b875630178a439384941395369e" # noqa: E501 + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001437f0000000000000000000000000000000000000000000000000000000000000001027f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6fa00b875630178a439384941395369e" # noqa: E501 ), gas_limit=100000, - value=428826795, + value=0x198F60AB, ) post = { - contract: Account(storage={0: 0xA00B875630178A439384941395369E55}), + target: Account( + storage={0: 0xA00B875630178A439384941395369E55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest169.py b/tests/ported_static/stRandom/test_random_statetest169.py index ce1d8f30d86..a96575ac1b8 100644 --- a/tests/ported_static/stRandom/test_random_statetest169.py +++ b/tests/ported_static/stRandom/test_random_statetest169.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest169. Ported from: -tests/static/state_tests/stRandom/randomStatetest169Filler.json +state_tests/stRandom/randomStatetest169Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest169Filler.json"], + ["state_tests/stRandom/randomStatetest169Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest169( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest169.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,64 @@ def test_random_statetest169( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe447f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PREVRANDAO + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE3B775C5C06F3099B1B090E27C2F79356E8D4E9F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PREVRANDAO - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe3b775c5c06f3099b1b090e27c2f79356e8d4e9f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe447f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe447f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe" # noqa: E501 ), gas_limit=100000, - value=868614475, + value=0x33C6014B, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest17.py b/tests/ported_static/stRandom/test_random_statetest17.py index d558379eaf4..4ba7062450f 100644 --- a/tests/ported_static/stRandom/test_random_statetest17.py +++ b/tests/ported_static/stRandom/test_random_statetest17.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest17. Ported from: -tests/static/state_tests/stRandom/randomStatetest17Filler.json +state_tests/stRandom/randomStatetest17Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest17Filler.json"], + ["state_tests/stRandom/randomStatetest17Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest17( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest17.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,62 @@ def test_random_statetest17( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001427f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001430a7f000000000000000000000000000000000000000000000000000000000000000106813b375560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.TIMESTAMP + + Op.CALLDATACOPY( + dest_offset=Op.EXTCODESIZE(address=Op.DUP2), + offset=Op.MOD(Op.PUSH32[0x1], Op.EXP(Op.NUMBER, Op.PUSH32[0x1])), + size=Op.PUSH32[0xC350], + ) + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE9D0379FA7CC1436C525C501B9538A9797140FBF), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.TIMESTAMP - + Op.CALLDATACOPY( - dest_offset=Op.EXTCODESIZE(address=Op.DUP2), - offset=Op.MOD( - Op.PUSH32[0x1], Op.EXP(Op.NUMBER, Op.PUSH32[0x1]) - ), - size=Op.PUSH32[0xC350], - ) - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe9d0379fa7cc1436c525c501b9538a9797140fbf"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000001427f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000001430a7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000106813b37" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001427f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001430a7f000000000000000000000000000000000000000000000000000000000000000106813b37" # noqa: E501 ), gas_limit=100000, - value=1639312514, + value=0x61B5EC82, ) post = { - contract: Account( + target: Account( storage={ + 1: 0, 1000: 1, 0x7F000000000000000000000000000000000000000000000000000000000000C3: 50000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest171.py b/tests/ported_static/stRandom/test_random_statetest171.py index a4ebbb792e8..7320c71012f 100644 --- a/tests/ported_static/stRandom/test_random_statetest171.py +++ b/tests/ported_static/stRandom/test_random_statetest171.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest171. Ported from: -tests/static/state_tests/stRandom/randomStatetest171Filler.json +state_tests/stRandom/randomStatetest171Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest171Filler.json"], + ["state_tests/stRandom/randomStatetest171Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest171( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest171.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,57 @@ def test_random_statetest171( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c350437f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000197ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.NUMBER + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.NOT(Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79]), + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + value=Op.PUSH32[0x1], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x698791D8A7C355091FA7BC3A0171CD426DBE2F51), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.NUMBER - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.NOT( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - ), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - value=Op.PUSH32[0x1], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x698791d8a7c355091fa7bc3a0171cd426dbe2f51"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c350437f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000007f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e79197fffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffe09" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c350437f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79197ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09" # noqa: E501 ), gas_limit=100000, - value=1726364132, + value=0x66E639E4, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest172.py b/tests/ported_static/stRandom/test_random_statetest172.py index 00f2d8cf761..7a87b12e703 100644 --- a/tests/ported_static/stRandom/test_random_statetest172.py +++ b/tests/ported_static/stRandom/test_random_statetest172.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest172. Ported from: -tests/static/state_tests/stRandom/randomStatetest172Filler.json +state_tests/stRandom/randomStatetest172Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest172Filler.json"], + ["state_tests/stRandom/randomStatetest172Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest172( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest172.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,161 +46,57 @@ def test_random_statetest172( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 3 + + Op.PUSH32[0xC350] * 2 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), nonce=0, - address=Address("0xf279f9f41a3a6ecf391d89aac2e62fd83d4488b7"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff09" - ), - gas_limit=100000, - value=354059144, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest172Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest172_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, + address=Address(0xF279F9F41A3A6ECF391D89AAC2E62FD83D4488B7), # noqa: E501 ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - ), - nonce=0, - address=Address("0xf279f9f41a3a6ecf391d89aac2e62fd83d4488b7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=354059144, + value=0x151A8388, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest173.py b/tests/ported_static/stRandom/test_random_statetest173.py index 1cf03300132..07f0eeac20a 100644 --- a/tests/ported_static/stRandom/test_random_statetest173.py +++ b/tests/ported_static/stRandom/test_random_statetest173.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest173. Ported from: -tests/static/state_tests/stRandom/randomStatetest173Filler.json +state_tests/stRandom/randomStatetest173Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest173Filler.json"], + ["state_tests/stRandom/randomStatetest173Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest173( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest173.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,56 +47,49 @@ def test_random_statetest173( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b509ff979443703ca35560005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000001447fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb" # noqa: E501 - "96065b2a98b57a48a06ae28d285a71b509ff979443703ca35560005155" + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b509ff979443703ca35560005155" # noqa: E501 ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000001447fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb" # noqa: E501 - "96065b2a98b57a48a06ae28d285a71b509ff979443703ca3" + to=contract_0, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b509ff979443703ca3" # noqa: E501 ), gas_limit=100000, - value=1285346393, + value=0x4C9CD459, ) - post: dict = {} + post = { + Address(0x6BACFB1469F9A4D5674A85B75F951D72D7A58E4A): Account( + storage={}, code=b"", nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest174.py b/tests/ported_static/stRandom/test_random_statetest174.py index 45516fb0a4e..b447d0080e6 100644 --- a/tests/ported_static/stRandom/test_random_statetest174.py +++ b/tests/ported_static/stRandom/test_random_statetest174.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest174. Ported from: -tests/static/state_tests/stRandom/randomStatetest174Filler.json +state_tests/stRandom/randomStatetest174Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest174Filler.json"], + ["state_tests/stRandom/randomStatetest174Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest174( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest174.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,45 +46,47 @@ def test_random_statetest174( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x434155 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=Op.COINBASE, value=Op.NUMBER), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x35a69854a524bb9fa20f350526f2cef147e6789b"), # noqa: E501 + address=Address(0x35A69854A524BB9FA20F350526F2CEF147E6789B), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={0x4F3F701464972E74606D6EA82D4D3080599A0E79: 1}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest175.py b/tests/ported_static/stRandom/test_random_statetest175.py index 8dddaf6335e..ca5c8d2985e 100644 --- a/tests/ported_static/stRandom/test_random_statetest175.py +++ b/tests/ported_static/stRandom/test_random_statetest175.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest175. Ported from: -tests/static/state_tests/stRandom/randomStatetest175Filler.json +state_tests/stRandom/randomStatetest175Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest175Filler.json"], + ["state_tests/stRandom/randomStatetest175Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest175( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest175.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,58 @@ def test_random_statetest175( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506f6985f2837e09689844171a0235833c5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x6985F2837E09689844171A0235833C55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF1EAEBA4F6EFE85FE0199B29EBFFCC944EDD1853), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x6985F2837E09689844171A0235833C55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf1eaeba4f6efe85fe0199b29ebffcc944edd1853"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c3506f6985f2837e09689844171a0235833c" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506f6985f2837e09689844171a0235833c" # noqa: E501 ), gas_limit=100000, - value=2139752886, + value=0x7F8A09B6, ) post = { - contract: Account(storage={0: 0x6985F2837E09689844171A0235833C55}), + target: Account( + storage={0: 0x6985F2837E09689844171A0235833C55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest176.py b/tests/ported_static/stRandom/test_random_statetest176.py index 045f23073fa..e1813fe5bd0 100644 --- a/tests/ported_static/stRandom/test_random_statetest176.py +++ b/tests/ported_static/stRandom/test_random_statetest176.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest176. Ported from: -tests/static/state_tests/stRandom/randomStatetest176Filler.json +state_tests/stRandom/randomStatetest176Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest176Filler.json"], + ["state_tests/stRandom/randomStatetest176Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest176( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest176.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,133 +46,47 @@ def test_random_statetest176( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350427f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff041469988517f6889d92799e74664160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c350427f000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000c3507f000000000000" # noqa: E501 - "0000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000017fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff041469988517f6889d92799e74664160" # noqa: E501 - "005155" + "327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350427f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff041469988517f6889d92799e74664160005155" # noqa: E501 ), nonce=0, - address=Address("0x6520f3aed37c7b3960ec53119d5b0cedd39fe2f6"), # noqa: E501 + address=Address(0x6520F3AED37C7B3960EC53119D5B0CEDD39FE2F6), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c350427f000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000c3507f000000000000" # noqa: E501 - "0000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000017fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff041469988517f6889d92799e746641" # noqa: E501 - ), - gas_limit=100000, - value=242920391, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest176Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest176_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c350427f000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000c3507f000000000000" # noqa: E501 - "0000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000017fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff041469988517f6889d92799e74664160" # noqa: E501 - "005155" - ), - nonce=0, - address=Address("0x6520f3aed37c7b3960ec53119d5b0cedd39fe2f6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c350427f000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000c3507f000000000000" # noqa: E501 - "0000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000017fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff041469988517f6889d92799e746641" # noqa: E501 + to=target, + data=Bytes( + "327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350427f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff041469988517f6889d92799e746641" # noqa: E501 ), gas_limit=100000, - value=242920391, + value=0xE7AABC7, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest177.py b/tests/ported_static/stRandom/test_random_statetest177.py index 32235d1385f..6336b5fb25d 100644 --- a/tests/ported_static/stRandom/test_random_statetest177.py +++ b/tests/ported_static/stRandom/test_random_statetest177.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest177. Ported from: -tests/static/state_tests/stRandom/randomStatetest177Filler.json +state_tests/stRandom/randomStatetest177Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest177Filler.json"], + ["state_tests/stRandom/randomStatetest177Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest177( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest177.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,157 +46,148 @@ def test_random_statetest177( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7e24654d920bee1c2af8b3225f6035ea04b87e1d3f2486057268ed05d8d6e5a67f3da4409848b450c9ab9713bf10ec5124e50fda175accc13d0db75bbc03a25a066d85332a97eae6e7219bc62ce53f23690f1df7f7b11c1659165b7c438533bc1f73a59ae2c28e633d8c971763576dd25386518678a15c64a2682c68bf3c1a7433af2e6dd0276f494254235fe7b28b1f997661eba4767c05f37a8b9b7980106e2bbe8744bed6d0f782ac6a99e07d9486451ab20e48c9e99f083973d5a10a57f4c3e7e3fa3bfd63a39006f35f7325ae8b67348d74c87e78d6dc699541fdf8d085697e58b02f9fef3f78554901cc888449b92fe07e74fb3069f7be725f408005886e73e720275f04f63284f6f10b6df25694b3a55936d06ed8c18d03d868d30b7766bd0d6a111f734650113a9f6b31ef3be38904ccd66a304bbf877e9d6ccc3e98fa65a685b0bf181c6dd67c9db728914ff2977b8c19193f67b9053f72c819b5bc5542945bd6a9079965d91f47a11f3862d346cb6b70d29eca71b0d12d01996b89763f13059617d671ddc626d93a3e3fda99999484470e34277f9ac904a6be6b8b9f0a91e98e2759a946222e419d34089491db069bbeeea7d19868e6fef55cd7440fbbdd7bf7cab153de2f407fc2c1f51952d5d5388159f73c98deb0a3f75d04eb70cee4f3dd886b6ba2ab3d1e110db841c50767a4e0ed4abca1bd1d6688861c4bb169fa8b63d253f1a4636a3979396965ae9c16c2197c57851d68f1ee6fff3c92e794d07cc6d2f5b964448fee1c3f52921cd138bfe26f57a3ce26ae8e622c80fcfb7f414b5750048e67dd2c715bdf907a881ef7a77dc8b166b413ebb4261bda628c26666d7ec3d2d20bdc7e117960da38d995574327fc1b63764875b839f395793a937b5f2793db93b23b7160bb44cf7bf515a85769d5f51851260f073969b185817c3e5b658753947f6ae534b0e68afa57a476ff52028737e7d342c1ddc7c5dc786fe6216838882c6f6e8519b16b2d9451ea2f048765576af461aab462031f6a64f0ae07fa9a64d4772252eb9e6aa14429a7e2a1d43482699065e44695fbea176d63d01d22231d221b6f8dfda47f5164a47454ab396f17257ddec269f67ed7c6d17ffac1c61372aaf587427eee43772c5f28fde9d395b65bf2d77e4eaa635bea61396414a53508797e2506ed2f921f29bf2fda1796f4396c4edb6f6ecc6d79fd82d9838a512df1454ce72268d8a32e0971c718b6836e4bcb788766f266a3edfdd24686274f684c4b0a7fd7082159766f4670a09a9e231bf61fe5f955a75b8870744ec89c81940d46be921c40917862e1c186679f354a704fd5537ceb310616acf9779c43c8f585c064fafa775d279d62aec380625fc16d601ef067eddffdf0f1359f386970fe2eb95c063421601a7a5f9256a6398651be88998deb83d16edd603992a27f758bda8c1bf974e49a52cf19c9bc32a79db4778535677e3caeae7f2f6ac54f147d2729c30d694bcb622c13106c3382d4c27bc4ee55eadb4921d97965e605bd3daa1c233230119dce876049813474dc4b3ec1d0ea8d73d182beb19cd3c8f198578d863907a60fd633a65872d93e47dc134fc815d9800bad3f2d58bb97b5776f42800f1f182951ba5aced03a7c3abd859969483189606297788fbf5565010d13f07077752867293dbfe29b7346020ef70d18cacd7508ccb3731b39 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH31[ + 0x24654D920BEE1C2AF8B3225F6035EA04B87E1D3F2486057268ED05D8D6E5A6 + ] + + Op.PUSH32[ + 0x3DA4409848B450C9AB9713BF10EC5124E50FDA175ACCC13D0DB75BBC03A25A06 + ] + + Op.PUSH14[0x85332A97EAE6E7219BC62CE53F23] + + Op.PUSH10[0xF1DF7F7B11C1659165B] + + Op.PUSH29[ + 0x438533BC1F73A59AE2C28E633D8C971763576DD25386518678A15C64A2 + ] + + Op.PUSH9[0x2C68BF3C1A7433AF2E] + + Op.PUSH14[0xD0276F494254235FE7B28B1F9976] + + Op.PUSH2[0xEBA4] + + Op.PUSH23[0x7C05F37A8B9B7980106E2BBE8744BED6D0F782AC6A99E0] + + Op.PUSH30[ + 0x9486451AB20E48C9E99F083973D5A10A57F4C3E7E3FA3BFD63A39006F35F + ] + + Op.PUSH20[0x25AE8B67348D74C87E78D6DC699541FDF8D08569] + + Op.PUSH31[ + 0x58B02F9FEF3F78554901CC888449B92FE07E74FB3069F7BE725F408005886E + ] + + Op.PUSH20[0xE720275F04F63284F6F10B6DF25694B3A55936D0] + + Op.PUSH15[0xD8C18D03D868D30B7766BD0D6A111F] + + Op.PUSH20[0x4650113A9F6B31EF3BE38904CCD66A304BBF877E] + + Op.SWAP14 + + Op.PUSH13[0xCC3E98FA65A685B0BF181C6DD6] + + Op.PUSH29[ + 0x9DB728914FF2977B8C19193F67B9053F72C819B5BC5542945BD6A90799 + ] + + Op.PUSH6[0xD91F47A11F38] + + Op.PUSH3[0xD346CB] + + Op.PUSH12[0x70D29ECA71B0D12D01996B89] + + Op.PUSH23[0x3F13059617D671DDC626D93A3E3FDA99999484470E3427] + + Op.PUSH32[ + 0x9AC904A6BE6B8B9F0A91E98E2759A946222E419D34089491DB069BBEEEA7D198 + ] + + Op.PUSH9[0xE6FEF55CD7440FBBDD] + + Op.PUSH28[0xF7CAB153DE2F407FC2C1F51952D5D5388159F73C98DEB0A3F75D04EB] + + Op.PUSH17[0xCEE4F3DD886B6BA2AB3D1E110DB841C507] + + Op.PUSH8[0xA4E0ED4ABCA1BD1D] + + Op.PUSH7[0x88861C4BB169FA] + + Op.DUP12 + + Op.PUSH4[0xD253F1A4] + + Op.PUSH4[0x6A397939] + + Op.PUSH10[0x65AE9C16C2197C57851D] + + Op.PUSH9[0xF1EE6FFF3C92E794D0] + + Op.PUSH29[ + 0xC6D2F5B964448FEE1C3F52921CD138BFE26F57A3CE26AE8E622C80FCFB + ] + + Op.PUSH32[ + 0x414B5750048E67DD2C715BDF907A881EF7A77DC8B166B413EBB4261BDA628C26 + ] + + Op.PUSH7[0x6D7EC3D2D20BDC] + + Op.PUSH31[ + 0x117960DA38D995574327FC1B63764875B839F395793A937B5F2793DB93B23B + ] + + Op.PUSH18[0x60BB44CF7BF515A85769D5F51851260F0739] + + Op.PUSH10[0xB185817C3E5B65875394] + + Op.PUSH32[ + 0x6AE534B0E68AFA57A476FF52028737E7D342C1DDC7C5DC786FE6216838882C6F + ] + + Op.PUSH15[0x8519B16B2D9451EA2F048765576AF4] + + Op.PUSH2[0xAAB4] + + Op.PUSH3[0x31F6A] + + Op.PUSH5[0xF0AE07FA9A] + + Op.PUSH5[0xD4772252EB] + + Op.SWAP15 + + Op.PUSH11[0xA14429A7E2A1D434826990] + + Op.PUSH6[0xE44695FBEA17] + + Op.PUSH14[0x63D01D22231D221B6F8DFDA47F51] + + Op.PUSH5[0xA47454AB39] + + Op.PUSH16[0x17257DDEC269F67ED7C6D17FFAC1C613] + + Op.PUSH19[0xAAF587427EEE43772C5F28FDE9D395B65BF2D7] + + Op.PUSH31[ + 0x4EAA635BEA61396414A53508797E2506ED2F921F29BF2FDA1796F4396C4EDB + ] + + Op.PUSH16[0x6ECC6D79FD82D9838A512DF1454CE722] + + Op.PUSH9[0xD8A32E0971C718B683] + + Op.PUSH15[0x4BCB788766F266A3EDFDD24686274F] + + Op.PUSH9[0x4C4B0A7FD708215976] + + Op.PUSH16[0x4670A09A9E231BF61FE5F955A75B8870] + + Op.PUSH21[0x4EC89C81940D46BE921C40917862E1C186679F354A] + + Op.PUSH17[0x4FD5537CEB310616ACF9779C43C8F585C0] + + Op.PUSH5[0xFAFA775D27] + + Op.SWAP14 + + Op.CREATE(value=0x1E, offset=0x5FC16D, size=0xAEC380) + + Op.PUSH8[0xEDDFFDF0F1359F38] + + Op.PUSH10[0x70FE2EB95C063421601A] + + Op.PUSH27[0x5F9256A6398651BE88998DEB83D16EDD603992A27F758BDA8C1BF9] + + Op.PUSH21[0xE49A52CF19C9BC32A79DB4778535677E3CAEAE7F2F] + + Op.PUSH11[0xC54F147D2729C30D694BCB] + + Op.PUSH3[0x2C1310] + + Op.PUSH13[0x3382D4C27BC4EE55EADB4921D9] + + Op.PUSH26[0x65E605BD3DAA1C233230119DCE876049813474DC4B3EC1D0EA8D] + + Op.PUSH20[0xD182BEB19CD3C8F198578D863907A60FD633A658] + + Op.PUSH19[0xD93E47DC134FC815D9800BAD3F2D58BB97B577] + + Op.PUSH16[0x42800F1F182951BA5ACED03A7C3ABD85] + + Op.SWAP10 + + Op.CODECOPY( + dest_offset=0x2867293DBFE29B7346020EF70D18CACD7508CCB3731B, + offset=0x10D13F07077, + size=0x483189606297788FBF55, ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD18174ABA5B877BD17DC67A4272D8A567CFA8925), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH31[ - 0x24654D920BEE1C2AF8B3225F6035EA04B87E1D3F2486057268ED05D8D6E5A6 # noqa: E501 - ] - + Op.PUSH32[ - 0x3DA4409848B450C9AB9713BF10EC5124E50FDA175ACCC13D0DB75BBC03A25A06 # noqa: E501 - ] - + Op.PUSH14[0x85332A97EAE6E7219BC62CE53F23] - + Op.PUSH10[0xF1DF7F7B11C1659165B] - + Op.PUSH29[ - 0x438533BC1F73A59AE2C28E633D8C971763576DD25386518678A15C64A2 - ] - + Op.PUSH9[0x2C68BF3C1A7433AF2E] - + Op.PUSH14[0xD0276F494254235FE7B28B1F9976] - + Op.PUSH2[0xEBA4] - + Op.PUSH23[0x7C05F37A8B9B7980106E2BBE8744BED6D0F782AC6A99E0] - + Op.PUSH30[ - 0x9486451AB20E48C9E99F083973D5A10A57F4C3E7E3FA3BFD63A39006F35F - ] - + Op.PUSH20[0x25AE8B67348D74C87E78D6DC699541FDF8D08569] - + Op.PUSH31[ - 0x58B02F9FEF3F78554901CC888449B92FE07E74FB3069F7BE725F408005886E # noqa: E501 - ] - + Op.PUSH20[0xE720275F04F63284F6F10B6DF25694B3A55936D0] - + Op.PUSH15[0xD8C18D03D868D30B7766BD0D6A111F] - + Op.PUSH20[0x4650113A9F6B31EF3BE38904CCD66A304BBF877E] - + Op.SWAP14 - + Op.PUSH13[0xCC3E98FA65A685B0BF181C6DD6] - + Op.PUSH29[ - 0x9DB728914FF2977B8C19193F67B9053F72C819B5BC5542945BD6A90799 - ] - + Op.PUSH6[0xD91F47A11F38] - + Op.PUSH3[0xD346CB] - + Op.PUSH12[0x70D29ECA71B0D12D01996B89] - + Op.PUSH23[0x3F13059617D671DDC626D93A3E3FDA99999484470E3427] - + Op.PUSH32[ - 0x9AC904A6BE6B8B9F0A91E98E2759A946222E419D34089491DB069BBEEEA7D198 # noqa: E501 - ] - + Op.PUSH9[0xE6FEF55CD7440FBBDD] - + Op.PUSH28[ - 0xF7CAB153DE2F407FC2C1F51952D5D5388159F73C98DEB0A3F75D04EB - ] - + Op.PUSH17[0xCEE4F3DD886B6BA2AB3D1E110DB841C507] - + Op.PUSH8[0xA4E0ED4ABCA1BD1D] - + Op.PUSH7[0x88861C4BB169FA] - + Op.DUP12 - + Op.PUSH4[0xD253F1A4] - + Op.PUSH4[0x6A397939] - + Op.PUSH10[0x65AE9C16C2197C57851D] - + Op.PUSH9[0xF1EE6FFF3C92E794D0] - + Op.PUSH29[ - 0xC6D2F5B964448FEE1C3F52921CD138BFE26F57A3CE26AE8E622C80FCFB - ] - + Op.PUSH32[ - 0x414B5750048E67DD2C715BDF907A881EF7A77DC8B166B413EBB4261BDA628C26 # noqa: E501 - ] - + Op.PUSH7[0x6D7EC3D2D20BDC] - + Op.PUSH31[ - 0x117960DA38D995574327FC1B63764875B839F395793A937B5F2793DB93B23B # noqa: E501 - ] - + Op.PUSH18[0x60BB44CF7BF515A85769D5F51851260F0739] - + Op.PUSH10[0xB185817C3E5B65875394] - + Op.PUSH32[ - 0x6AE534B0E68AFA57A476FF52028737E7D342C1DDC7C5DC786FE6216838882C6F # noqa: E501 - ] - + Op.PUSH15[0x8519B16B2D9451EA2F048765576AF4] - + Op.PUSH2[0xAAB4] - + Op.PUSH3[0x31F6A] - + Op.PUSH5[0xF0AE07FA9A] - + Op.PUSH5[0xD4772252EB] - + Op.SWAP15 - + Op.PUSH11[0xA14429A7E2A1D434826990] - + Op.PUSH6[0xE44695FBEA17] - + Op.PUSH14[0x63D01D22231D221B6F8DFDA47F51] - + Op.PUSH5[0xA47454AB39] - + Op.PUSH16[0x17257DDEC269F67ED7C6D17FFAC1C613] - + Op.PUSH19[0xAAF587427EEE43772C5F28FDE9D395B65BF2D7] - + Op.PUSH31[ - 0x4EAA635BEA61396414A53508797E2506ED2F921F29BF2FDA1796F4396C4EDB # noqa: E501 - ] - + Op.PUSH16[0x6ECC6D79FD82D9838A512DF1454CE722] - + Op.PUSH9[0xD8A32E0971C718B683] - + Op.PUSH15[0x4BCB788766F266A3EDFDD24686274F] - + Op.PUSH9[0x4C4B0A7FD708215976] - + Op.PUSH16[0x4670A09A9E231BF61FE5F955A75B8870] - + Op.PUSH21[0x4EC89C81940D46BE921C40917862E1C186679F354A] - + Op.PUSH17[0x4FD5537CEB310616ACF9779C43C8F585C0] - + Op.PUSH5[0xFAFA775D27] - + Op.SWAP14 - + Op.CREATE(value=0x1E, offset=0x5FC16D, size=0xAEC380) - + Op.PUSH8[0xEDDFFDF0F1359F38] - + Op.PUSH10[0x70FE2EB95C063421601A] - + Op.PUSH27[ - 0x5F9256A6398651BE88998DEB83D16EDD603992A27F758BDA8C1BF9 - ] - + Op.PUSH21[0xE49A52CF19C9BC32A79DB4778535677E3CAEAE7F2F] - + Op.PUSH11[0xC54F147D2729C30D694BCB] - + Op.PUSH3[0x2C1310] - + Op.PUSH13[0x3382D4C27BC4EE55EADB4921D9] - + Op.PUSH26[0x65E605BD3DAA1C233230119DCE876049813474DC4B3EC1D0EA8D] - + Op.PUSH20[0xD182BEB19CD3C8F198578D863907A60FD633A658] - + Op.PUSH19[0xD93E47DC134FC815D9800BAD3F2D58BB97B577] - + Op.PUSH16[0x42800F1F182951BA5ACED03A7C3ABD85] - + Op.SWAP10 - + Op.CODECOPY( - dest_offset=0x2867293DBFE29B7346020EF70D18CACD7508CCB3731B, - offset=0x10D13F07077, - size=0x483189606297788FBF55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd18174aba5b877bd17dc67a4272d8a567cfa8925"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "387814bf0652a6f3aefce6ef7be00599328bbf7e802e1ea22644a96fbf319d273c0e7150" # noqa: E501 - "67e4e5e74ecfc3ae60fd917b9224a4bbaa6db919506fc9e3cd4792dbecb1427e907653a3" # noqa: E501 - "e359acf57c1e4afae77816fdc406706133e14efc6fe3ed1dc01f663f8e79c5fb6a32685e" # noqa: E501 - "c748da76ab766d20766430b1775afa280f1c02e5617230d3b68fa16d4d73a1b27ae07b10" # noqa: E501 - "96d44b02414374765d0907504a2f25e45aee4fdbb17b244e93714f36d9c035346d67ce3c" # noqa: E501 - "18bf3d3af42f3b5f807689e8f429c0070a5812d602d25c4664cccfa7ddff8188f174c046" # noqa: E501 - "eef00dcd5355c37d900a2ce940246fcaada0526acdd4eaf98a420bae34e22b37" + to=target, + data=Bytes( + "387814bf0652a6f3aefce6ef7be00599328bbf7e802e1ea22644a96fbf319d273c0e715067e4e5e74ecfc3ae60fd917b9224a4bbaa6db919506fc9e3cd4792dbecb1427e907653a3e359acf57c1e4afae77816fdc406706133e14efc6fe3ed1dc01f663f8e79c5fb6a32685ec748da76ab766d20766430b1775afa280f1c02e5617230d3b68fa16d4d73a1b27ae07b1096d44b02414374765d0907504a2f25e45aee4fdbb17b244e93714f36d9c035346d67ce3c18bf3d3af42f3b5f807689e8f429c0070a5812d602d25c4664cccfa7ddff8188f174c046eef00dcd5355c37d900a2ce940246fcaada0526acdd4eaf98a420bae34e22b37" # noqa: E501 ), gas_limit=100000, - value=1928806571, + value=0x72F740AB, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest178.py b/tests/ported_static/stRandom/test_random_statetest178.py index 4552008bd5e..63acfd5143d 100644 --- a/tests/ported_static/stRandom/test_random_statetest178.py +++ b/tests/ported_static/stRandom/test_random_statetest178.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest178. Ported from: -tests/static/state_tests/stRandom/randomStatetest178Filler.json +state_tests/stRandom/randomStatetest178Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest178Filler.json"], + ["state_tests/stRandom/randomStatetest178Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest178( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest178.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,98 +47,76 @@ def test_random_statetest178( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD( - offset=0x342BEABE599E4BC177FD97D36DF48D50650BA6129A9A83D4CF809EC21452, # noqa: E501 - ) - + Op.PUSH29[ - 0x620167F530C3265BE9887F6E5B8186DECDC00A6A801E5F56DD8D9D36A4 - ] - + Op.DUP1 - + Op.PUSH14[0xBCCC299E4BBF46AD577E25B5B1FC] - + Op.PUSH23[0xB6999CB23A6A03C4035E36B8494135EE170647395DA00B] - + Op.PUSH15[0xA64C43F3358B8BDCF593C89FB70B8] - + Op.PUSH6[0xEF153B5195C7] - + Op.PUSH26[0x59256BEB4F932095EB8AC80BC2C050F6F550A362AAC77F5C4B19] - + Op.PUSH18[0x51DF039D64B77DCA22EB8FD4B8CF50FB85A3] - + Op.PUSH16[0x1D909D1919A47FE97DE5526726B4A47B] - + Op.DUP7 - + Op.LOG3( - offset=0x6291, - size=0x3E, - topic_1=0x56FF5DD24A1F49E50B9F5924F473B2DC5306D67054CA575D0, - topic_2=0xD9, - topic_3=0x7B13471056439457CD7CBC50, - ) - + Op.CALL( - gas=0xE3319C8, - address=0x1B0A78BDF6595742D34BF13386BCC01EFADDF68C, - value=0x38A57DDC, - args_offset=0x1F, - args_size=0x9, - ret_offset=0x10, - ret_size=0x14, - ) - + Op.CALLER - ), + # Source: raw + # 0x7d342beabe599e4bc177fd97d36df48d50650ba6129a9a83d4cf809ec21452357c620167f530c3265be9887f6e5b8186decdc00a6a801e5f56dd8d9d36a4806dbccc299e4bbf46ad577e25b5b1fc76b6999cb23a6a03c4035e36b8494135ee170647395da00b6e0a64c43f3358b8bdcf593c89fb70b865ef153b5195c77959256beb4f932095eb8ac80bc2c050f6f550a362aac77f5c4b197151df039d64b77dca22eb8fd4b8cf50fb85a36f1d909d1919a47fe97de5526726b4a47b866b7b13471056439457cd7cbc5060d978056ff5dd24a1f49e50b9f5924f473b2dc5306d67054ca575d0603e616291a3601460106009601f6338a57ddc73630e3319c8f133 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD( + offset=0x342BEABE599E4BC177FD97D36DF48D50650BA6129A9A83D4CF809EC21452 # noqa: E501 + ) + + Op.PUSH29[ + 0x620167F530C3265BE9887F6E5B8186DECDC00A6A801E5F56DD8D9D36A4 + ] + + Op.DUP1 + + Op.PUSH14[0xBCCC299E4BBF46AD577E25B5B1FC] + + Op.PUSH23[0xB6999CB23A6A03C4035E36B8494135EE170647395DA00B] + + Op.PUSH15[0xA64C43F3358B8BDCF593C89FB70B8] + + Op.PUSH6[0xEF153B5195C7] + + Op.PUSH26[0x59256BEB4F932095EB8AC80BC2C050F6F550A362AAC77F5C4B19] + + Op.PUSH18[0x51DF039D64B77DCA22EB8FD4B8CF50FB85A3] + + Op.PUSH16[0x1D909D1919A47FE97DE5526726B4A47B] + + Op.DUP7 + + Op.LOG3( + offset=0x6291, + size=0x3E, + topic_1=0x56FF5DD24A1F49E50B9F5924F473B2DC5306D67054CA575D0, + topic_2=0xD9, + topic_3=0x7B13471056439457CD7CBC50, + ) + + Op.CALL( + gas=0xE3319C8, + address=0x1B0A78BDF6595742D34BF13386BCC01EFADDF68C, + value=0x38A57DDC, + args_offset=0x1F, + args_size=0x9, + ret_offset=0x10, + ret_size=0x14, + ) + + Op.CALLER, nonce=0, - address=Address("0x1b0a78bdf6595742d34bf13386bcc01efaddf68c"), # noqa: E501 + address=Address(0x1B0A78BDF6595742D34BF13386BCC01EFADDF68C), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "66fd78520a4acd897a6e29cf1b15f576b05a2bc0c18bb93a759d3f5e1ac5d34ba1e261c7" # noqa: E501 - "0b7afd59945da98cc373eac6aa543bae2e6726e3ff03ad2e788dc33f3b736ef736637d8a" # noqa: E501 - "c680281bb29884e641473063e58e7318f5f4cbade311c02eed1c323c19bba7df47294064" # noqa: E501 - "64b42ed0cb6d0189be83857fb09713ae69e7d2d472e6d85d23920625c84c39489fc80d27" # noqa: E501 - "2868f40c64cc6cb93ea5741d1918dfc8f61086b1b0637390a1934b637c37ec94877d3ea7" # noqa: E501 - "63b20b9e04fa589f30da18f1565bcf15ad38bc735b9d45b5d963cadd77e9e3db27853e74" # noqa: E501 - "62a6417a4ac9af38f967a198c6f50deb53634bcbbe9c6a83a7357847acc4f6360fa46e43" # noqa: E501 - "595a8936969798890170a6874b4e67391c228e9d0a754f68635d505c3f9a8c2555728626" # noqa: E501 - "e286db52177c2228fb04d4b702bea78df3747d6fa1079394222b8d2a0dfc34ce6d9e5664" # noqa: E501 - "062fa8977526ced3516147e12a7b9e36f6628dd9efe320bef809146e8fad97d5aedf559b" # noqa: E501 - "cc15442b1fd347758332cb1d4bb96471a01de009dc175e3eae40d189755a7c1f46c55d33" # noqa: E501 - "53af6fd0ee638735594b4bb2e6aa99fdbc96508431f421dd770b6379f9b5cbee55423a23" # noqa: E501 - "c5538390612dc07c752c39f1c87a02777b0fa261dd883d49b2ae5c02c6e81bd0a53ba5d5" # noqa: E501 - "3e12530485664f77811ffaca4c688d18d6122f3a564151676f40f70e45da4fe562355ba1" # noqa: E501 - "7d36458de5f760c8148a11b1fece135e184d2dbf9ecf019d634d8498ae6c6862431f356e" # noqa: E501 - "1940bc7bb1a252ece1b1605e467f328c79bb45440e29a9444f1948f3737dc02ec2c10862" # noqa: E501 - "323af3bae0db487768f3aa49fb0967d7eb138302bcb9cedb6b327f4d35a39cf561f1ee73" # noqa: E501 - "c294825a5de76bd6bf707c5a660e3a417b6ac0586e80ecb6300ea61a618b628d8fcc6c80" # noqa: E501 - "a37fbfda4e162006259f39441a81fd310c9a323be96b826199149ebdb88ea3e87df96d06" # noqa: E501 - "c71959b65c4a3e73b50da0a67590625ad154729d9a0a585ba3fc028fc342115f2308566e" # noqa: E501 - "69cd557f7a7a73474bae3846016f5281b41609a85ee1b4244652d5c1360c9d30fe27dd2d" # noqa: E501 - "62b415d06a278aafd0816e734b76a3500869747b893809a7c2a185836da26ef253e0a0de" # noqa: E501 - "429e617a82f8f17f055b1b67fe7366d9a5a491fb47f997937d38e7e8d4cbe8fa227c8b70" # noqa: E501 - "f8a70e7b667883e393d677c86a9c8ec7144c61cf62e2403893" + to=target, + data=Bytes( + "66fd78520a4acd897a6e29cf1b15f576b05a2bc0c18bb93a759d3f5e1ac5d34ba1e261c70b7afd59945da98cc373eac6aa543bae2e6726e3ff03ad2e788dc33f3b736ef736637d8ac680281bb29884e641473063e58e7318f5f4cbade311c02eed1c323c19bba7df4729406464b42ed0cb6d0189be83857fb09713ae69e7d2d472e6d85d23920625c84c39489fc80d272868f40c64cc6cb93ea5741d1918dfc8f61086b1b0637390a1934b637c37ec94877d3ea763b20b9e04fa589f30da18f1565bcf15ad38bc735b9d45b5d963cadd77e9e3db27853e7462a6417a4ac9af38f967a198c6f50deb53634bcbbe9c6a83a7357847acc4f6360fa46e43595a8936969798890170a6874b4e67391c228e9d0a754f68635d505c3f9a8c2555728626e286db52177c2228fb04d4b702bea78df3747d6fa1079394222b8d2a0dfc34ce6d9e5664062fa8977526ced3516147e12a7b9e36f6628dd9efe320bef809146e8fad97d5aedf559bcc15442b1fd347758332cb1d4bb96471a01de009dc175e3eae40d189755a7c1f46c55d3353af6fd0ee638735594b4bb2e6aa99fdbc96508431f421dd770b6379f9b5cbee55423a23c5538390612dc07c752c39f1c87a02777b0fa261dd883d49b2ae5c02c6e81bd0a53ba5d53e12530485664f77811ffaca4c688d18d6122f3a564151676f40f70e45da4fe562355ba17d36458de5f760c8148a11b1fece135e184d2dbf9ecf019d634d8498ae6c6862431f356e1940bc7bb1a252ece1b1605e467f328c79bb45440e29a9444f1948f3737dc02ec2c10862323af3bae0db487768f3aa49fb0967d7eb138302bcb9cedb6b327f4d35a39cf561f1ee73c294825a5de76bd6bf707c5a660e3a417b6ac0586e80ecb6300ea61a618b628d8fcc6c80a37fbfda4e162006259f39441a81fd310c9a323be96b826199149ebdb88ea3e87df96d06c71959b65c4a3e73b50da0a67590625ad154729d9a0a585ba3fc028fc342115f2308566e69cd557f7a7a73474bae3846016f5281b41609a85ee1b4244652d5c1360c9d30fe27dd2d62b415d06a278aafd0816e734b76a3500869747b893809a7c2a185836da26ef253e0a0de429e617a82f8f17f055b1b67fe7366d9a5a491fb47f997937d38e7e8d4cbe8fa227c8b70f8a70e7b667883e393d677c86a9c8ec7144c61cf62e2403893" # noqa: E501 ), gas_limit=952280955, - value=1865661229, + value=0x6F33BB2D, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest179.py b/tests/ported_static/stRandom/test_random_statetest179.py index 430bfdf5abf..40db8823720 100644 --- a/tests/ported_static/stRandom/test_random_statetest179.py +++ b/tests/ported_static/stRandom/test_random_statetest179.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest179. Ported from: -tests/static/state_tests/stRandom/randomStatetest179Filler.json +state_tests/stRandom/randomStatetest179Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest179Filler.json"], + ["state_tests/stRandom/randomStatetest179Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest179( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest179.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,72 +46,64 @@ def test_random_statetest179( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506f515480126a50a173506e06676212925560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x515480126A50A173506E066762129255 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB4749744885EB1B84835F2745A646F4AB9E60FD2), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x515480126A50A173506E066762129255, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb4749744885eb1b84835f2745a646f4ab9e60fd2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c3506f515480126a50a173506e0667621292" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506f515480126a50a173506e0667621292" # noqa: E501 ), gas_limit=100000, - value=1584198892, + value=0x5E6CF4EC, ) post = { - contract: Account(storage={0: 0x515480126A50A173506E066762129255}), + target: Account( + storage={0: 0x515480126A50A173506E066762129255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest18.py b/tests/ported_static/stRandom/test_random_statetest18.py index 14438c27de2..79d0ba8929c 100644 --- a/tests/ported_static/stRandom/test_random_statetest18.py +++ b/tests/ported_static/stRandom/test_random_statetest18.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest18. Ported from: -tests/static/state_tests/stRandom/randomStatetest18Filler.json +state_tests/stRandom/randomStatetest18Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest18Filler.json"], + ["state_tests/stRandom/randomStatetest18Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest18( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest18.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest18( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001077f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3504419860b9754998d503105a033436e67133a60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001077f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3504419860b9754998d503105a03343" # noqa: E501 - "6e67133a60005155" + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001077f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3504419860b9754998d503105a033436e67133a60005155" # noqa: E501 ), nonce=0, - address=Address("0x199e67129322e9ea96e433131d5ce947ef8b4892"), # noqa: E501 + address=Address(0x199E67129322E9EA96E433131D5CE947EF8B4892), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001077f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3504419860b9754998d503105a03343" # noqa: E501 - "6e67133a" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001077f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3504419860b9754998d503105a033436e67133a" # noqa: E501 ), gas_limit=100000, - value=1858297540, + value=0x6EC35EC4, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest180.py b/tests/ported_static/stRandom/test_random_statetest180.py index d74f21a87ab..7495358d9a4 100644 --- a/tests/ported_static/stRandom/test_random_statetest180.py +++ b/tests/ported_static/stRandom/test_random_statetest180.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest180. Ported from: -tests/static/state_tests/stRandom/randomStatetest180Filler.json +state_tests/stRandom/randomStatetest180Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest180Filler.json"], + ["state_tests/stRandom/randomStatetest180Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest180( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest180.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,61 +46,57 @@ def test_random_statetest180( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PREVRANDAO - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x11576B693C128A9E0820609C050A219D, - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001447f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000006f11576b693c128a9e0820609c050a219d60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.PREVRANDAO + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x11576B693C128A9E0820609C050A219D ), nonce=0, - address=Address("0x1d834e4f60db574a868a27e275f1460fe1888f96"), # noqa: E501 + address=Address(0x1D834E4F60DB574A868A27E275F1460FE1888F96), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000001447f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e796f11576b693c128a9e0820609c050a219d" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001447f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f11576b693c128a9e0820609c050a219d" # noqa: E501 ), gas_limit=100000, - value=566466109, + value=0x21C3963D, ) post = { - contract: Account(storage={0: 0x11576B693C128A9E0820609C050A219D}), + target: Account( + storage={0: 0x11576B693C128A9E0820609C050A219D}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest183.py b/tests/ported_static/stRandom/test_random_statetest183.py index 8158866385a..267ce74ed8d 100644 --- a/tests/ported_static/stRandom/test_random_statetest183.py +++ b/tests/ported_static/stRandom/test_random_statetest183.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest183. Ported from: -tests/static/state_tests/stRandom/randomStatetest183Filler.json +state_tests/stRandom/randomStatetest183Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest183Filler.json"], + ["state_tests/stRandom/randomStatetest183Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest183( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest183.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,56 @@ def test_random_statetest183( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.NUMBER - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x4134547075687854849D7B6465863055, - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000436f4134547075687854849d7b646586305560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] * 3 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.NUMBER + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x4134547075687854849D7B6465863055 ), nonce=0, - address=Address("0x2ec56a4059cc67195985735e8a72bb5a07301eb3"), # noqa: E501 + address=Address(0x2EC56A4059CC67195985735E8A72BB5A07301EB3), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e79436f4134547075687854849d7b6465" # noqa: E501 - "8630" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79436f4134547075687854849d7b64658630" # noqa: E501 ), gas_limit=100000, - value=1159080385, + value=0x451629C1, ) post = { - contract: Account(storage={0: 0x4134547075687854849D7B6465863055}), + target: Account( + storage={0: 0x4134547075687854849D7B6465863055}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest184.py b/tests/ported_static/stRandom/test_random_statetest184.py index dcae5a3af1b..dd88a0bda0e 100644 --- a/tests/ported_static/stRandom/test_random_statetest184.py +++ b/tests/ported_static/stRandom/test_random_statetest184.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest184. Ported from: -tests/static/state_tests/stRandom/randomStatetest184Filler.json +state_tests/stRandom/randomStatetest184Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest184Filler.json"], + ["state_tests/stRandom/randomStatetest184Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,12 +31,12 @@ def test_random_statetest184( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x6d6e40885310545835a5b582dbc23ef026404bda") + """Test_random_statetest184.""" + coinbase = Address(0x6D6E40885310545835A5B582DBC23EF026404BDA) + addr = Address(0xF377657E450772B703A269E12BB487FF421A5C6D) sender = EOA( key=0x382ACD382CC7A37BB6A57C4A171F216EF77EF04EBD5E6C0744EE5C90B0D962EF ) - callee = Address("0xf377657e450772b703a269e12bb487ff421a5c6d") env = Environment( fee_recipient=coinbase, @@ -46,43 +47,47 @@ def test_random_statetest184( gas_limit=69449279085, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x8C, value=0x823A02877CEF7C1AFB60663009DEF564) - + Op.SUB( - 0xE130184B64F2507582C502D450349FF24FB8AEB2A46146687B666BD7BD, - 0xAD2AE05769B991313726EDBFA0881D9CC955B0F5154751DA315696EA, - ) - + Op.PUSH5[0x946CB720C7] - + Op.PUSH14[0x483F5AFEA0049251FD9793C4B037] - + Op.PUSH11[0xFBB4EBCDC42FDD42EDCD4B] - + Op.PUSH2[0x9CEC] - + Op.PUSH25[0x7638009CEA26A1ABE570E3186AB790B7DC7DB36E4CDA2570B0] - + Op.DUP5 - + Op.DIV( - 0xD34A4B816B80, - 0xDF6E39579C7C43A4AC976CD507D493CDFAEBE09936078E31C71C46, - ) + # Source: raw + # 0x6f823a02877cef7c1afb60663009def564608c557bad2ae05769b991313726edbfa0881d9cc955b0f5154751da315696ea7ce130184b64f2507582c502d450349ff24fb8aeb2a46146687b666bd7bd0364946cb720c76d483f5afea0049251fd9793c4b0376afbb4ebcdc42fdd42edcd4b619cec787638009cea26a1abe570e3186ab790b7dc7db36e4cda2570b0847adf6e39579c7c43a4ac976cd507d493cdfaebe09936078e31c71c4665d34a4b816b8004 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8C, value=0x823A02877CEF7C1AFB60663009DEF564) + + Op.SUB( + 0xE130184B64F2507582C502D450349FF24FB8AEB2A46146687B666BD7BD, + 0xAD2AE05769B991313726EDBFA0881D9CC955B0F5154751DA315696EA, + ) + + Op.PUSH5[0x946CB720C7] + + Op.PUSH14[0x483F5AFEA0049251FD9793C4B037] + + Op.PUSH11[0xFBB4EBCDC42FDD42EDCD4B] + + Op.PUSH2[0x9CEC] + + Op.PUSH25[0x7638009CEA26A1ABE570E3186AB790B7DC7DB36E4CDA2570B0] + + Op.DUP5 + + Op.DIV( + 0xD34A4B816B80, + 0xDF6E39579C7C43A4AC976CD507D493CDFAEBE09936078E31C71C46, ), balance=0x70A217C02C8F2D4, nonce=117, - address=Address("0x898207f2d9b9fb11cec9647a70e9390711732daa"), # noqa: E501 + address=Address(0x898207F2D9B9FB11CEC9647A70E9390711732DAA), # noqa: E501 ) + pre[addr] = Account(balance=0x9740421FF0FF3AE3, nonce=29) pre[sender] = Account(balance=0x10C1142F2B8E8EB058) - pre[callee] = Account(balance=0x9740421FF0FF3AE3, nonce=29) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("64dd3e4e84676723342c1dfaf9af4ef3"), + to=target, + data=Bytes("64dd3e4e84676723342c1dfaf9af4ef3"), gas_limit=100000, + value=0x6D1DD024, gas_price=28, - value=1830670372, ) post = { - contract: Account(storage={140: 0x823A02877CEF7C1AFB60663009DEF564}), + target: Account( + storage={140: 0x823A02877CEF7C1AFB60663009DEF564}, + nonce=117, + ), + addr: Account(storage={}, code=b"", nonce=29), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest185.py b/tests/ported_static/stRandom/test_random_statetest185.py index 5f99aac00aa..e1ac36b7c11 100644 --- a/tests/ported_static/stRandom/test_random_statetest185.py +++ b/tests/ported_static/stRandom/test_random_statetest185.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest185. Ported from: -tests/static/state_tests/stRandom/randomStatetest185Filler.json +state_tests/stRandom/randomStatetest185Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest185Filler.json"], + ["state_tests/stRandom/randomStatetest185Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest185( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest185.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,61 +47,56 @@ def test_random_statetest185( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.BYTE( - Op.COINBASE, - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.LOG3( - offset=Op.GASPRICE, - size=0x805A8D, - topic_1=Op.PUSH32[0x1], - topic_2=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - topic_3=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff411a7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000162805a8d3aa3 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.BYTE( + Op.COINBASE, Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + ) + + Op.LOG3( + offset=Op.GASPRICE, + size=0x805A8D, + topic_1=Op.PUSH32[0x1], + topic_2=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + topic_3=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), nonce=0, - address=Address("0x065ab564766a44260b57175a6f14db1478ff080f"), # noqa: E501 + address=Address(0x065AB564766A44260B57175A6F14DB1478FF080F), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff411a7f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000162805a8d3aa3" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff411a7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000162805a8d3aa3" # noqa: E501 ), gas_limit=1789972511, - value=1159525186, + value=0x451CF342, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest187.py b/tests/ported_static/stRandom/test_random_statetest187.py index 050143fa819..4f2f130c0ce 100644 --- a/tests/ported_static/stRandom/test_random_statetest187.py +++ b/tests/ported_static/stRandom/test_random_statetest187.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest187. Ported from: -tests/static/state_tests/stRandom/randomStatetest187Filler.json +state_tests/stRandom/randomStatetest187Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest187Filler.json"], + ["state_tests/stRandom/randomStatetest187Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest187( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest187.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,56 @@ def test_random_statetest187( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.GASLIMIT - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x75988036A0562096036B04518877199D, - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f75988036a0562096036b04518877199d60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.GASLIMIT + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x75988036A0562096036B04518877199D ), nonce=0, - address=Address("0x38bb0524963d132fe05d36cc3c4ae298ba06ee83"), # noqa: E501 + address=Address(0x38BB0524963D132FE05D36CC3C4AE298BA06EE83), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000007f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000006f75988036a0562096036b045188" # noqa: E501 - "77199d" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f75988036a0562096036b04518877199d" # noqa: E501 ), gas_limit=100000, - value=925780098, + value=0x372E4882, ) post = { - contract: Account(storage={0: 0x75988036A0562096036B04518877199D}), + target: Account( + storage={0: 0x75988036A0562096036B04518877199D}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest188.py b/tests/ported_static/stRandom/test_random_statetest188.py index 3d888c1ea12..8aafc5facfc 100644 --- a/tests/ported_static/stRandom/test_random_statetest188.py +++ b/tests/ported_static/stRandom/test_random_statetest188.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest188. Ported from: -tests/static/state_tests/stRandom/randomStatetest188Filler.json +state_tests/stRandom/randomStatetest188Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest188Filler.json"], + ["state_tests/stRandom/randomStatetest188Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest188( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest188.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,58 @@ def test_random_statetest188( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff817f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4286687859f383797187945560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.DUP2 + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.TIMESTAMP + + Op.DUP7 + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x7859F3837971879455), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD2F6EFED4689F4A1EEFDAC8CEB4C7B05A47BF560), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.DUP2 - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.TIMESTAMP - + Op.DUP7 - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x7859F3837971879455) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd2f6efed4689f4a1eefdac8ceb4c7b05a47bf560"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff817f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff4286687859f38379718794" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff817f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4286687859f38379718794" # noqa: E501 ), gas_limit=100000, - value=1226396004, + value=0x49195164, ) post = { - contract: Account(storage={0: 0x7859F3837971879455}), + target: Account(storage={0: 0x7859F3837971879455}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest189.py b/tests/ported_static/stRandom/test_random_statetest189.py index 1a73f45549f..1f1ac0a3978 100644 --- a/tests/ported_static/stRandom/test_random_statetest189.py +++ b/tests/ported_static/stRandom/test_random_statetest189.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest189. Ported from: -tests/static/state_tests/stRandom/randomStatetest189Filler.json +state_tests/stRandom/randomStatetest189Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest189Filler.json"], + ["state_tests/stRandom/randomStatetest189Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest189( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest189.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,47 @@ def test_random_statetest189( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000035900bf3740474765060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000035900bf3740474765060005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x8979909F9CFE09C20D8B0D21AC5FB398B01B8DF1), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000007f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000035900bf3740474765060005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x8979909f9cfe09c20d8b0d21ac5fb398b01b8df1"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000007f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000035900bf37404747650" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000035900bf37404747650" # noqa: E501 ), gas_limit=100000, - value=1090808233, + value=0x410469A9, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest19.py b/tests/ported_static/stRandom/test_random_statetest19.py index 3c34df0822e..1ae227c81d9 100644 --- a/tests/ported_static/stRandom/test_random_statetest19.py +++ b/tests/ported_static/stRandom/test_random_statetest19.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest19. Ported from: -tests/static/state_tests/stRandom/randomStatetest19Filler.json +state_tests/stRandom/randomStatetest19Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest19Filler.json"], + ["state_tests/stRandom/randomStatetest19Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest19( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest19.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,62 @@ def test_random_statetest19( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3a7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f0000000000000000000000000000000000000000000000000000000000000001587f000000000000000000000000000000000000000000000000000000000000c3506fff59876660063b7c8df1ff088a84145560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.GASPRICE + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.COINBASE + + Op.PUSH32[0x1] + + Op.PC + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xFF59876660063B7C8DF1FF088A841455 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5316820609D951011B15E53834F242081ED021C2), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.GASPRICE - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.COINBASE - + Op.PUSH32[0x1] - + Op.PC - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xFF59876660063B7C8DF1FF088A841455, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5316820609d951011b15e53834f242081ed021c2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3a7f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000001587f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3506fff59876660063b7c8df1ff" # noqa: E501 - "088a8414" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3a7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f0000000000000000000000000000000000000000000000000000000000000001587f000000000000000000000000000000000000000000000000000000000000c3506fff59876660063b7c8df1ff088a8414" # noqa: E501 ), gas_limit=100000, - value=500004062, + value=0x1DCD74DE, ) post = { - contract: Account(storage={0: 0xFF59876660063B7C8DF1FF088A841455}), + target: Account( + storage={0: 0xFF59876660063B7C8DF1FF088A841455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest190.py b/tests/ported_static/stRandom/test_random_statetest190.py index aae5b02dac2..3cce6ba5e32 100644 --- a/tests/ported_static/stRandom/test_random_statetest190.py +++ b/tests/ported_static/stRandom/test_random_statetest190.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest190. Ported from: -tests/static/state_tests/stRandom/randomStatetest190Filler.json +state_tests/stRandom/randomStatetest190Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest190Filler.json"], + ["state_tests/stRandom/randomStatetest190Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest190( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest190.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,153 +46,59 @@ def test_random_statetest190( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - ) + # Source: raw + # 0x7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), ), nonce=0, - address=Address("0x2bf1e46c1ec71ac6066d16a4400ce88ae6ade599"), # noqa: E501 + address=Address(0x2BF1E46C1EC71AC6066D16A4400CE88AE6ADE599), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff09" - ), - gas_limit=100000, - value=94912880, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest190Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest190_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - ) - ), - nonce=0, - address=Address("0x2bf1e46c1ec71ac6066d16a4400ce88ae6ade599"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=94912880, + value=0x5A84170, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest191.py b/tests/ported_static/stRandom/test_random_statetest191.py index 43612347a66..f238740f730 100644 --- a/tests/ported_static/stRandom/test_random_statetest191.py +++ b/tests/ported_static/stRandom/test_random_statetest191.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest191. Ported from: -tests/static/state_tests/stRandom/randomStatetest191Filler.json +state_tests/stRandom/randomStatetest191Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest191Filler.json"], + ["state_tests/stRandom/randomStatetest191Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest191( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest191.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,64 @@ def test_random_statetest191( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000010000000000000000000000000000000000000000447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f678f0443457084700b645760018a105560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PREVRANDAO + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x678F0443457084700B645760018A1055 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7823D6D4B3E7F30899CFB9DC7A825C19032FFD44), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PREVRANDAO - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x678F0443457084700B645760018A1055, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7823d6d4b3e7f30899cfb9dc7a825c19032ffd44"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "010000000000000000000000000000000000000000447fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6f678f0443457084700b645760018a10" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000010000000000000000000000000000000000000000447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f678f0443457084700b645760018a10" # noqa: E501 ), gas_limit=100000, - value=385910599, + value=0x17008747, ) post = { - contract: Account(storage={0: 0x678F0443457084700B645760018A1055}), + target: Account( + storage={0: 0x678F0443457084700B645760018A1055}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest192.py b/tests/ported_static/stRandom/test_random_statetest192.py index ed26141001d..aae773222c6 100644 --- a/tests/ported_static/stRandom/test_random_statetest192.py +++ b/tests/ported_static/stRandom/test_random_statetest192.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest192. Ported from: -tests/static/state_tests/stRandom/randomStatetest192Filler.json +state_tests/stRandom/randomStatetest192Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest192Filler.json"], + ["state_tests/stRandom/randomStatetest192Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest192( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest192.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,65 @@ def test_random_statetest192( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff347f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.CALLVALUE + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.DIV( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xC350], + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xEC7E974E7E9D269AF680963F12A50B644A5EB8ED), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.CALLVALUE - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.DIV( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xC350], - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xec7e974e7e9d269af680963f12a50b644a5eb8ed"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff347f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe04" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff347f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe04" # noqa: E501 ), gas_limit=100000, - value=1168450397, + value=0x45A5235D, ) post = { - contract: Account( + target: Account( storage={ 0: 0x14F8B588E368F08461F9F01B866E43AA79BBADC0980B242070B8CFBFC6540, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest194.py b/tests/ported_static/stRandom/test_random_statetest194.py index 17ae0e8a18c..94d424a0e5a 100644 --- a/tests/ported_static/stRandom/test_random_statetest194.py +++ b/tests/ported_static/stRandom/test_random_statetest194.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest194. Ported from: -tests/static/state_tests/stRandom/randomStatetest194Filler.json +state_tests/stRandom/randomStatetest194Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest194Filler.json"], + ["state_tests/stRandom/randomStatetest194Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest194( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest194.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,57 @@ def test_random_statetest194( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff097f0000000000000000000000005560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + value=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD53F0EC62568CDBC447C9967C97DB408D33ECE9A), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd53f0ec62568cdbc447c9967c97db408d33ece9a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff097f0000000000000000000000004f3f7014" # noqa: E501 - "64972e74606d6ea82d4d3080599a0e79" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff097f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79" # noqa: E501 ), gas_limit=100000, - value=827862267, + value=0x31582CFB, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest195.py b/tests/ported_static/stRandom/test_random_statetest195.py index 331252f3015..54bf8c575a1 100644 --- a/tests/ported_static/stRandom/test_random_statetest195.py +++ b/tests/ported_static/stRandom/test_random_statetest195.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest195. Ported from: -tests/static/state_tests/stRandom/randomStatetest195Filler.json +state_tests/stRandom/randomStatetest195Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest195Filler.json"], + ["state_tests/stRandom/randomStatetest195Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest195( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest195.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,59 @@ def test_random_statetest195( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff097f000000000000000000000001000000000000000000000000000000000000000055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] * 2 + + Op.COINBASE + + Op.SSTORE( + key=Op.PUSH32[0x10000000000000000000000000000000000000000], + value=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDCC17F922F302DF332310EB0931F83D016DC3F1B), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.COINBASE - + Op.SSTORE( - key=Op.PUSH32[0x10000000000000000000000000000000000000000], - value=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xdcc17f922f302df332310eb0931f83d016dc3f1b"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c350417fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff097f000000000000000000000001" # noqa: E501 - "0000000000000000000000000000000000000000" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff097f0000000000000000000000010000000000000000000000000000000000000000" # noqa: E501 ), gas_limit=100000, - value=307405855, + value=0x1252A41F, ) post = { - contract: Account( + target: Account( storage={ 0x10000000000000000000000000000000000000000: 0xFFFFFFFFFFFFFFFFFFFFFFFE0000000000000000000000010000000000000000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest196.py b/tests/ported_static/stRandom/test_random_statetest196.py index 6ea582bf3c0..0498b959809 100644 --- a/tests/ported_static/stRandom/test_random_statetest196.py +++ b/tests/ported_static/stRandom/test_random_statetest196.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest196. Ported from: -tests/static/state_tests/stRandom/randomStatetest196Filler.json +state_tests/stRandom/randomStatetest196Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest196Filler.json"], + ["state_tests/stRandom/randomStatetest196Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest196( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest196.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,61 @@ def test_random_statetest196( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe447f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000003703659c5b3a6d7b9a93543660005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PREVRANDAO + + Op.CALLDATACOPY( + dest_offset=Op.PUSH32[0x0], + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=Op.PUSH32[0x1], + ) + + Op.SUB + + Op.PUSH6[0x9C5B3A6D7B9A] + + Op.SWAP4 + + Op.SLOAD + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.CALLDATASIZE), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x6E796014BF8F0F2C291F15DDB2EBF203B1477144), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PREVRANDAO - + Op.CALLDATACOPY( - dest_offset=Op.PUSH32[0x0], - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=Op.PUSH32[0x1], - ) - + Op.SUB - + Op.PUSH6[0x9C5B3A6D7B9A] - + Op.SWAP4 - + Op.SLOAD - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.CALLDATASIZE) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x6e796014bf8f0f2c291f15ddb2ebf203b1477144"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe447f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000100" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000003703659c5b3a6d7b9a935436" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe447f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000003703659c5b3a6d7b9a935436" # noqa: E501 ), gas_limit=100000, - value=672785598, + value=0x2819E4BE, ) post = { - contract: Account(storage={0: 244}), + target: Account(storage={0: 244}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest197.py b/tests/ported_static/stRandom/test_random_statetest197.py index eeb214fddb3..41b5ce9b9d5 100644 --- a/tests/ported_static/stRandom/test_random_statetest197.py +++ b/tests/ported_static/stRandom/test_random_statetest197.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest197. Ported from: -tests/static/state_tests/stRandom/randomStatetest197Filler.json +state_tests/stRandom/randomStatetest197Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest197Filler.json"], + ["state_tests/stRandom/randomStatetest197Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest197( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest197.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,135 +46,47 @@ def test_random_statetest197( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350437f00000000000000000000000000000000000000000000000000000000000000016e6a078e5652549f57423955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c350437f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000016e6a078e5652549f57423955" + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350437f00000000000000000000000000000000000000000000000000000000000000016e6a078e5652549f57423955" # noqa: E501 ), nonce=0, - address=Address("0x71102826ff0f31fb54ce1f4b51c4f72e17bd2312"), # noqa: E501 + address=Address(0x71102826FF0F31FB54CE1F4B51C4F72E17BD2312), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c350437f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000016e6a078e5652549f574239" - ), - gas_limit=100000, - value=1542389267, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest197Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest197_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c350437f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000016e6a078e5652549f57423955" - ), - nonce=0, - address=Address("0x71102826ff0f31fb54ce1f4b51c4f72e17bd2312"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c350437f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000016e6a078e5652549f574239" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350437f00000000000000000000000000000000000000000000000000000000000000016e6a078e5652549f574239" # noqa: E501 ), gas_limit=100000, - value=1542389267, + value=0x5BEEFE13, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest198.py b/tests/ported_static/stRandom/test_random_statetest198.py index ffbfe91ba8d..43d7e2b9be4 100644 --- a/tests/ported_static/stRandom/test_random_statetest198.py +++ b/tests/ported_static/stRandom/test_random_statetest198.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest198. Ported from: -tests/static/state_tests/stRandom/randomStatetest198Filler.json +state_tests/stRandom/randomStatetest198Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest198Filler.json"], + ["state_tests/stRandom/randomStatetest198Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest198( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest198.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,49 @@ def test_random_statetest198( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x42417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09ff614044129a0169a2689415 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "42417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000017fffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff09ff614044129a0169a2689415" # noqa: E501 + "42417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09ff614044129a0169a2689415" # noqa: E501 ), nonce=0, - address=Address("0x2feb8271d411aedfea1e004c22736fae2bf174ca"), # noqa: E501 + address=Address(0x2FEB8271D411AEDFEA1E004C22736FAE2BF174CA), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "42417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000017fffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff09ff614044129a0169a2689415" # noqa: E501 + to=target, + data=Bytes( + "42417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09ff614044129a0169a2689415" # noqa: E501 ), gas_limit=100000, - value=968197125, + value=0x39B58405, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000000): Account( + storage={}, code=b"", nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest199.py b/tests/ported_static/stRandom/test_random_statetest199.py index 7d8c85d1351..4bcddd9ebc0 100644 --- a/tests/ported_static/stRandom/test_random_statetest199.py +++ b/tests/ported_static/stRandom/test_random_statetest199.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest199. Ported from: -tests/static/state_tests/stRandom/randomStatetest199Filler.json +state_tests/stRandom/randomStatetest199Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest199Filler.json"], + ["state_tests/stRandom/randomStatetest199Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest199( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest199.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,51 +46,52 @@ def test_random_statetest199( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x30424543074242413155 + target = pre.deploy_contract( # noqa: F841 + code=Op.ADDRESS + + Op.TIMESTAMP + + Op.SMOD(Op.NUMBER, Op.GASLIMIT) + + Op.TIMESTAMP + + Op.SSTORE(key=Op.BALANCE(address=Op.COINBASE), value=Op.TIMESTAMP), + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x961CE95E83AD7816D5FEC439EA9847CA3A5543C5), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.ADDRESS - + Op.TIMESTAMP - + Op.SMOD(Op.NUMBER, Op.GASLIMIT) - + Op.TIMESTAMP - + Op.SSTORE( - key=Op.BALANCE(address=Op.COINBASE), value=Op.TIMESTAMP - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0x961ce95e83ad7816d5fec439ea9847ca3a5543c5"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={46: 1000}), + target: Account( + storage={46: 1000}, + balance=0xDE0B6B3A76586A0, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest2.py b/tests/ported_static/stRandom/test_random_statetest2.py index ad091bc8ae5..f3fed745d6a 100644 --- a/tests/ported_static/stRandom/test_random_statetest2.py +++ b/tests/ported_static/stRandom/test_random_statetest2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest2. Ported from: -tests/static/state_tests/stRandom/randomStatetest2Filler.json +state_tests/stRandom/randomStatetest2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest2Filler.json"], + ["state_tests/stRandom/randomStatetest2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest2.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,58 @@ def test_random_statetest2( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PC - + Op.NUMBER - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x3412A47C889E8DA06A04049F04988855, - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f00000000000000000000000058437f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000016f3412a47c889e8da06a04049f0498885560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.PC + + Op.NUMBER + + Op.PUSH32[0x1] * 2 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x3412A47C889E8DA06A04049F04988855 ), nonce=0, - address=Address("0x3c7b3e95899724c1f97c98de3f67b2e41d785f69"), # noqa: E501 + address=Address(0x3C7B3E95899724C1F97C98DE3F67B2E41D785F69), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e7958437f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000017f000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000016f3412a47c889e8da06a04049f049888" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7958437f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000016f3412a47c889e8da06a04049f049888" # noqa: E501 ), gas_limit=100000, - value=2083830597, + value=0x7C34BB45, ) post = { - contract: Account(storage={0: 0x3412A47C889E8DA06A04049F04988855}), + target: Account( + storage={0: 0x3412A47C889E8DA06A04049F04988855}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest20.py b/tests/ported_static/stRandom/test_random_statetest20.py index eab8cc978f1..c1ee18da454 100644 --- a/tests/ported_static/stRandom/test_random_statetest20.py +++ b/tests/ported_static/stRandom/test_random_statetest20.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest20. Ported from: -tests/static/state_tests/stRandom/randomStatetest20Filler.json +state_tests/stRandom/randomStatetest20Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest20Filler.json"], + ["state_tests/stRandom/randomStatetest20Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest20( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest20.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,63 @@ def test_random_statetest20( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.BALANCE - + Op.COINBASE - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SHA3( - offset=Op.ISZERO( - Op.SUB( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0x1], - ), - ), - size=Op.PUSH32[0x10000000000000000000000000000000000000000], - ) - + Op.DIV(Op.NOT(0x5944747F74306615), Op.DUP11) - + Op.SWAP11 - + Op.SSTORE - ), + # Source: raw + # 0x31417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0315208a675944747f7430661519049a55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.BALANCE + + Op.COINBASE + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SHA3( + offset=Op.ISZERO( + Op.SUB( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0x1], + ) + ), + size=Op.PUSH32[0x10000000000000000000000000000000000000000], + ) + + Op.DIV(Op.NOT(0x5944747F74306615), Op.DUP11) + + Op.SWAP11 + + Op.SSTORE, nonce=0, - address=Address("0x14aae767bfb5a29ee9b0f5b449eb48366103601c"), # noqa: E501 + address=Address(0x14AAE767BFB5A29EE9B0F5B449EB48366103601C), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "31417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000c3507fffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000" # noqa: E501 - "00000000000100000000000000000000000000000000000000007f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000017fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff0315208a675944747f7430661519049a" # noqa: E501 + to=target, + data=Bytes( + "31417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0315208a675944747f7430661519049a" # noqa: E501 ), gas_limit=100000, - value=1758540724, + value=0x68D133B4, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest200.py b/tests/ported_static/stRandom/test_random_statetest200.py index dba196eab6c..e97d1984f21 100644 --- a/tests/ported_static/stRandom/test_random_statetest200.py +++ b/tests/ported_static/stRandom/test_random_statetest200.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest200. Ported from: -tests/static/state_tests/stRandom/randomStatetest200Filler.json +state_tests/stRandom/randomStatetest200Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest200Filler.json"], + ["state_tests/stRandom/randomStatetest200Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest200( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest200.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,56 @@ def test_random_statetest200( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.CALLVALUE - + Op.SSTORE(key=Op.DUP1, value=0x42051AF2A24050039E9D3A678B028A0A) - ), + # Source: raw + # 0x437f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000346f42051af2a24050039e9d3a678b028a0a8055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.PUSH32[0xC350] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.CALLVALUE + + Op.SSTORE(key=Op.DUP1, value=0x42051AF2A24050039E9D3A678B028A0A), nonce=0, - address=Address("0x16c2d1c5a69fa047f6c8f529ee8d728246515fa9"), # noqa: E501 + address=Address(0x16C2D1C5A69FA047F6C8F529EE8D728246515FA9), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "437f000000000000000000000000000000000000000000000000000000000000c3507f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "000000000000000100000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e79346f42051af2a24050039e" # noqa: E501 - "9d3a678b028a0a80" + to=target, + data=Bytes( + "437f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79346f42051af2a24050039e9d3a678b028a0a80" # noqa: E501 ), gas_limit=100000, - value=1062273821, + value=0x3F51031D, ) post = { - contract: Account( + target: Account( storage={ 0x42051AF2A24050039E9D3A678B028A0A: 0x42051AF2A24050039E9D3A678B028A0A, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest201.py b/tests/ported_static/stRandom/test_random_statetest201.py index 69cc2c0978e..042c7da6eca 100644 --- a/tests/ported_static/stRandom/test_random_statetest201.py +++ b/tests/ported_static/stRandom/test_random_statetest201.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest201. Ported from: -tests/static/state_tests/stRandom/randomStatetest201Filler.json +state_tests/stRandom/randomStatetest201Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest201Filler.json"], + ["state_tests/stRandom/randomStatetest201Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest201( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest201.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,55 +46,49 @@ def test_random_statetest201( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09ff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff8b8263974074da449e6861039960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff09ff7f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000017f000000000000000000000000" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff8b8263974074da449e68610399600051" # noqa: E501 - "55" + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09ff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff8b8263974074da449e6861039960005155" # noqa: E501 ), nonce=0, - address=Address("0x3d068bacd9155d630ad1636b586827a5bc9acc9d"), # noqa: E501 + address=Address(0x3D068BACD9155D630AD1636B586827A5BC9ACC9D), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff09ff7f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000017f000000000000000000000000" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff8b8263974074da449e68610399" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09ff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff8b8263974074da449e68610399" # noqa: E501 ), gas_limit=100000, - value=953592918, + value=0x38D6AC56, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000000): Account( + storage={}, code=b"", nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest202.py b/tests/ported_static/stRandom/test_random_statetest202.py index 2e987f57710..ddfcc13a941 100644 --- a/tests/ported_static/stRandom/test_random_statetest202.py +++ b/tests/ported_static/stRandom/test_random_statetest202.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest202. Ported from: -tests/static/state_tests/stRandom/randomStatetest202Filler.json +state_tests/stRandom/randomStatetest202Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest202Filler.json"], + ["state_tests/stRandom/randomStatetest202Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest202( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest202.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,47 @@ def test_random_statetest202( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000000557f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6750a3190486f0 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000557f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6750a3190486f0" + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000000557f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6750a3190486f0" # noqa: E501 ), nonce=0, - address=Address("0x1099229c5d84d6bc6a189e2189357e91c30c6f6a"), # noqa: E501 + address=Address(0x1099229C5D84D6BC6A189E2189357E91C30C6F6A), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000557f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6750a3190486f0" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000000557f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6750a3190486f0" # noqa: E501 ), gas_limit=100000, - value=827910093, + value=0x3158E7CD, ) post = { - contract: Account(storage={0: 50000}), + target: Account(storage={0: 50000}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest204.py b/tests/ported_static/stRandom/test_random_statetest204.py index 18ca7acb804..9e256fb682a 100644 --- a/tests/ported_static/stRandom/test_random_statetest204.py +++ b/tests/ported_static/stRandom/test_random_statetest204.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest204. Ported from: -tests/static/state_tests/stRandom/randomStatetest204Filler.json +state_tests/stRandom/randomStatetest204Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest204Filler.json"], + ["state_tests/stRandom/randomStatetest204Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest204( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest204.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,62 @@ def test_random_statetest204( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff098255 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.DUP3, + value=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0x10000000000000000000000000000000000000000], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB8147A5AAED0750FDD9AC0D29F0A0E668FA3D30C), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.DUP3, - value=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0x10000000000000000000000000000000000000000], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb8147a5aaed0750fdd9ac0d29f0a0e668fa3d30c"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000" # noqa: E501 - "0000000000000000000000000000007f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff0982" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0982" # noqa: E501 ), gas_limit=100000, - value=1983843477, + value=0x763F0C95, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest205.py b/tests/ported_static/stRandom/test_random_statetest205.py index 50777946550..0a02472e6f0 100644 --- a/tests/ported_static/stRandom/test_random_statetest205.py +++ b/tests/ported_static/stRandom/test_random_statetest205.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest205. Ported from: -tests/static/state_tests/stRandom/randomStatetest205Filler.json +state_tests/stRandom/randomStatetest205Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest205Filler.json"], + ["state_tests/stRandom/randomStatetest205Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest205( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest205.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,125 +46,111 @@ def test_random_statetest205( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x3360b261edefa0326fdc74d570982966277b49cdb30a453fa06c34a7423da44ba2d04341af08c478b17a57318ab10ab43b3744333b0aa8864ac27b3fd022e380056735a5fcda3e9fdc25695972a076884de6d6b6b06dd45416c8110bae3c70576b433a4672777847e81823024ddd1292b929ad28e64a732b74c0ae1941d5936ecd35738e2f279273788f4aaf19907a532a6b0f117c32b6cb967aae8bdfcf86e2d4d64599986abcf65a20754f5a816c58ed669138f6a0448670b906bbf1eb145ced896c578de5aa27769006b1a784e84b6316d4e60c7053b0b6550c70a177cb7a3e88d4e83fb1897a09c2161ff6cc2679c178292687137854da672e316c66ef03dc9ac37e8e430b7c64d1939bf67383c4bafeb2f0471fe896b7c0e114bf6f152b266cc769ae4d38f3df618f5eeb9085601f601060086016632c019e2e73626b8a0ef179e6b62e86237845e9605d61219d97c1d0145516f5355fe73384e87a6a87cc6d2378c81797ac3746bc562e2fd1145e14781307bc4ada39732e9d0e8725fde75c5abc313c11e3238c7cd9b7186a6a14f8d5c3cad9da5339446ad1311ccc67a0691559157a674825358b301ac42d7bcae31beb8b0849903402175ca3740f3fd690ad66287d6bf67a98c09e6de5717596052d30f4b9bb8046a6b67ef51b1b13c496e97bf9a2e67aeca97fa10a266f8cf22c10cc0375b514b25de466a146576b2cb565754efc80d4b8aa5497aa0fb4cbab90ee57298d322474d276366e04eab856c9f6070c80701fa30596dd0b6ea5bc38ba64e1d16aff1b8c61caa379064465a9308dbb1465294ddcb5fa32833e4ffb049c71761ed93472c7e58f171c6c8b51e2ec704d34897b80466e826b0c1ce2488511cbb1aaad26b075ed5ebf070be6e14eaa6b973423bcb2e0541307d88ff66d1b7e29fffb10218ca75bf3f9957d6ee27a0945278d5f9303b3e3f28a325a7f17905f7467c4afcbb3a43dbbd37e9591e3f5a82841ee9cb8b23f68b4572e8cd96d0f7daacbd3ab3bd5a8f427baf6ea7ae70d98d3948eafb74e2e4a158ac116c5219403c9073a457409c6e464bae32b2c856b15bda1b2176295fd1cecfe7d794ab2692061aa79387004112272204198437fc78d1dbe0e8932ce6f47828a2bf4df47446291b99d92a90de3623954589d36 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLER + + Op.LOG0(offset=0xEDEF, size=0xB2) + + Op.ORIGIN + + Op.PUSH16[0xDC74D570982966277B49CDB30A453FA0] + + Op.PUSH13[0x34A7423DA44BA2D04341AF08C4] + + Op.PUSH25[0xB17A57318AB10AB43B3744333B0AA8864AC27B3FD022E38005] + + Op.PUSH8[0x35A5FCDA3E9FDC25] + + Op.PUSH10[0x5972A076884DE6D6B6B0] + + Op.PUSH14[0xD45416C8110BAE3C70576B433A46] + + Op.PUSH19[0x777847E81823024DDD1292B929AD28E64A732B] + + Op.PUSH21[0xC0AE1941D5936ECD35738E2F279273788F4AAF1990] + + Op.PUSH27[0x532A6B0F117C32B6CB967AAE8BDFCF86E2D4D64599986ABCF65A20] + + Op.PUSH22[0x4F5A816C58ED669138F6A0448670B906BBF1EB145CED] + + Op.DUP10 + + Op.PUSH13[0x578DE5AA27769006B1A784E84B] + + Op.PUSH4[0x16D4E60C] + + Op.PUSH17[0x53B0B6550C70A177CB7A3E88D4E83FB189] + + Op.PUSH27[0x9C2161FF6CC2679C178292687137854DA672E316C66EF03DC9AC3] + + Op.PUSH31[ + 0x8E430B7C64D1939BF67383C4BAFEB2F0471FE896B7C0E114BF6F152B266CC7 + ] + + Op.PUSH10[0xAE4D38F3DF618F5EEB90] + + Op.DUP6 + + Op.CALL( + gas=0x6B8A0E, + address=0xD6C9D572B7645ECAE86A7BDB66C7AE1FB04B0321, + value=0x2C019E2E, + args_offset=0x16, + args_size=0x8, + ret_offset=0x10, + ret_size=0x1F, + ) + + Op.PUSH26[0xE6B62E86237845E9605D61219D97C1D0145516F5355FE73384E8] + + Op.PUSH27[0x6A87CC6D2378C81797AC3746BC562E2FD1145E14781307BC4ADA39] + + Op.PUSH20[0x2E9D0E8725FDE75C5ABC313C11E3238C7CD9B718] + + Op.PUSH11[0x6A14F8D5C3CAD9DA533944] + + Op.PUSH11[0xD1311CCC67A0691559157A] + + Op.PUSH8[0x4825358B301AC42D] + + Op.PUSH28[0xCAE31BEB8B0849903402175CA3740F3FD690AD66287D6BF67A98C09E] + + Op.PUSH14[0xE5717596052D30F4B9BB8046A6B6] + + Op.PUSH31[ + 0xF51B1B13C496E97BF9A2E67AECA97FA10A266F8CF22C10CC0375B514B25DE4 + ] + + Op.PUSH7[0xA146576B2CB565] + + Op.PUSH22[0x4EFC80D4B8AA5497AA0FB4CBAB90EE57298D322474D2] + + Op.PUSH23[0x366E04EAB856C9F6070C80701FA30596DD0B6EA5BC38BA] + + Op.PUSH5[0xE1D16AFF1B] + + Op.DUP13 + + Op.PUSH2[0xCAA3] + + Op.PUSH26[0x64465A9308DBB1465294DDCB5FA32833E4FFB049C71761ED934] + + Op.PUSH19[0xC7E58F171C6C8B51E2EC704D34897B80466E82] + + Op.PUSH12[0xC1CE2488511CBB1AAAD26B0] + + Op.PUSH22[0xED5EBF070BE6E14EAA6B973423BCB2E0541307D88FF6] + + Op.PUSH14[0x1B7E29FFFB10218CA75BF3F9957D] + + Op.PUSH15[0xE27A0945278D5F9303B3E3F28A325A] + + Op.PUSH32[ + 0x17905F7467C4AFCBB3A43DBBD37E9591E3F5A82841EE9CB8B23F68B4572E8CD9 + ] + + Op.PUSH14[0xF7DAACBD3AB3BD5A8F427BAF6EA] + + Op.PUSH27[0xE70D98D3948EAFB74E2E4A158AC116C5219403C9073A457409C6E4] + + Op.PUSH5[0xBAE32B2C85] + + Op.PUSH12[0x15BDA1B2176295FD1CECFE7D] + + Op.PUSH26[0x4AB2692061AA79387004112272204198437FC78D1DBE0E8932CE] + + Op.PUSH16[0x47828A2BF4DF47446291B99D92A90DE3] + + Op.PUSH3[0x395458] + + Op.SWAP14 + + Op.CALLDATASIZE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD6C9D572B7645ECAE86A7BDB66C7AE1FB04B0321), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLER - + Op.LOG0(offset=0xEDEF, size=0xB2) - + Op.ORIGIN - + Op.PUSH16[0xDC74D570982966277B49CDB30A453FA0] - + Op.PUSH13[0x34A7423DA44BA2D04341AF08C4] - + Op.PUSH25[0xB17A57318AB10AB43B3744333B0AA8864AC27B3FD022E38005] - + Op.PUSH8[0x35A5FCDA3E9FDC25] - + Op.PUSH10[0x5972A076884DE6D6B6B0] - + Op.PUSH14[0xD45416C8110BAE3C70576B433A46] - + Op.PUSH19[0x777847E81823024DDD1292B929AD28E64A732B] - + Op.PUSH21[0xC0AE1941D5936ECD35738E2F279273788F4AAF1990] - + Op.PUSH27[ - 0x532A6B0F117C32B6CB967AAE8BDFCF86E2D4D64599986ABCF65A20 - ] - + Op.PUSH22[0x4F5A816C58ED669138F6A0448670B906BBF1EB145CED] - + Op.DUP10 - + Op.PUSH13[0x578DE5AA27769006B1A784E84B] - + Op.PUSH4[0x16D4E60C] - + Op.PUSH17[0x53B0B6550C70A177CB7A3E88D4E83FB189] - + Op.PUSH27[ - 0x9C2161FF6CC2679C178292687137854DA672E316C66EF03DC9AC3 - ] - + Op.PUSH31[ - 0x8E430B7C64D1939BF67383C4BAFEB2F0471FE896B7C0E114BF6F152B266CC7 # noqa: E501 - ] - + Op.PUSH10[0xAE4D38F3DF618F5EEB90] - + Op.DUP6 - + Op.CALL( - gas=0x6B8A0E, - address=0xD6C9D572B7645ECAE86A7BDB66C7AE1FB04B0321, - value=0x2C019E2E, - args_offset=0x16, - args_size=0x8, - ret_offset=0x10, - ret_size=0x1F, - ) - + Op.PUSH26[0xE6B62E86237845E9605D61219D97C1D0145516F5355FE73384E8] - + Op.PUSH27[ - 0x6A87CC6D2378C81797AC3746BC562E2FD1145E14781307BC4ADA39 - ] - + Op.PUSH20[0x2E9D0E8725FDE75C5ABC313C11E3238C7CD9B718] - + Op.PUSH11[0x6A14F8D5C3CAD9DA533944] - + Op.PUSH11[0xD1311CCC67A0691559157A] - + Op.PUSH8[0x4825358B301AC42D] - + Op.PUSH28[ - 0xCAE31BEB8B0849903402175CA3740F3FD690AD66287D6BF67A98C09E - ] - + Op.PUSH14[0xE5717596052D30F4B9BB8046A6B6] - + Op.PUSH31[ - 0xF51B1B13C496E97BF9A2E67AECA97FA10A266F8CF22C10CC0375B514B25DE4 # noqa: E501 - ] - + Op.PUSH7[0xA146576B2CB565] - + Op.PUSH22[0x4EFC80D4B8AA5497AA0FB4CBAB90EE57298D322474D2] - + Op.PUSH23[0x366E04EAB856C9F6070C80701FA30596DD0B6EA5BC38BA] - + Op.PUSH5[0xE1D16AFF1B] - + Op.DUP13 - + Op.PUSH2[0xCAA3] - + Op.PUSH26[0x64465A9308DBB1465294DDCB5FA32833E4FFB049C71761ED934] - + Op.PUSH19[0xC7E58F171C6C8B51E2EC704D34897B80466E82] - + Op.PUSH12[0xC1CE2488511CBB1AAAD26B0] - + Op.PUSH22[0xED5EBF070BE6E14EAA6B973423BCB2E0541307D88FF6] - + Op.PUSH14[0x1B7E29FFFB10218CA75BF3F9957D] - + Op.PUSH15[0xE27A0945278D5F9303B3E3F28A325A] - + Op.PUSH32[ - 0x17905F7467C4AFCBB3A43DBBD37E9591E3F5A82841EE9CB8B23F68B4572E8CD9 # noqa: E501 - ] - + Op.PUSH14[0xF7DAACBD3AB3BD5A8F427BAF6EA] - + Op.PUSH27[ - 0xE70D98D3948EAFB74E2E4A158AC116C5219403C9073A457409C6E4 - ] - + Op.PUSH5[0xBAE32B2C85] - + Op.PUSH12[0x15BDA1B2176295FD1CECFE7D] - + Op.PUSH26[0x4AB2692061AA79387004112272204198437FC78D1DBE0E8932CE] - + Op.PUSH16[0x47828A2BF4DF47446291B99D92A90DE3] - + Op.PUSH3[0x395458] - + Op.SWAP14 - + Op.CALLDATASIZE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd6c9d572b7645ecae86a7bdb66c7ae1fb04b0321"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "74ac5e422199cb842b1fdcdef502d4142d033387c6d17fe1f03f0fc4a3c05daadf323f3b" # noqa: E501 - "b04b7e33dbad9b32f058aa6df6d54c8d7ac95568ba4a6b33a2b0ce8d8c7480ab9e818cf8" # noqa: E501 - "998564e6d38b92aa1ecd76aa8aff266dd266c96af419778c16a109cba6976922093e50bd" # noqa: E501 - "a96ac1333a946574ad748ad839546ff861257bb6a41cab34045ea7335e1c9667c67424f9" # noqa: E501 - "baf8781e79e002a233a622f41f2744c21b6baed43543e0dfb9aa81fd1050326b0ebad84f" # noqa: E501 - "da176f3438d3a7f083" + to=target, + data=Bytes( + "74ac5e422199cb842b1fdcdef502d4142d033387c6d17fe1f03f0fc4a3c05daadf323f3bb04b7e33dbad9b32f058aa6df6d54c8d7ac95568ba4a6b33a2b0ce8d8c7480ab9e818cf8998564e6d38b92aa1ecd76aa8aff266dd266c96af419778c16a109cba6976922093e50bda96ac1333a946574ad748ad839546ff861257bb6a41cab34045ea7335e1c9667c67424f9baf8781e79e002a233a622f41f2744c21b6baed43543e0dfb9aa81fd1050326b0ebad84fda176f3438d3a7f083" # noqa: E501 ), gas_limit=7300000, - value=1305713546, + value=0x4DD39B8A, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest206.py b/tests/ported_static/stRandom/test_random_statetest206.py index 30ca8f35ddb..74be272c24a 100644 --- a/tests/ported_static/stRandom/test_random_statetest206.py +++ b/tests/ported_static/stRandom/test_random_statetest206.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest206. Ported from: -tests/static/state_tests/stRandom/randomStatetest206Filler.json +state_tests/stRandom/randomStatetest206Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest206Filler.json"], + ["state_tests/stRandom/randomStatetest206Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest206( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest206.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,60 @@ def test_random_statetest206( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000427f0000000000000000000000000000000000000000000000000000000000000001427f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000006f45736d8e806138378d62087320313c5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.TIMESTAMP + + Op.PUSH32[0x1] + + Op.TIMESTAMP + + Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x45736D8E806138378D62087320313C55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF62DC30A46D8736FF6C1CF524897B9EC5BCB62D7), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.TIMESTAMP - + Op.PUSH32[0x1] - + Op.TIMESTAMP - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x45736D8E806138378D62087320313C55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf62dc30a46d8736ff6c1cf524897b9ec5bcb62d7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e79427f00000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000001427f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3507f000000000000000000000000" # noqa: E501 - "4f3f701464972e74606d6ea82d4d3080599a0e796f45736d8e806138378d62087320313c" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79427f0000000000000000000000000000000000000000000000000000000000000001427f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f45736d8e806138378d62087320313c" # noqa: E501 ), gas_limit=100000, - value=2091011439, + value=0x7CA24D6F, ) post = { - contract: Account(storage={0: 0x45736D8E806138378D62087320313C55}), + target: Account( + storage={0: 0x45736D8E806138378D62087320313C55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest207.py b/tests/ported_static/stRandom/test_random_statetest207.py index fc65a39d7dd..d79511062a5 100644 --- a/tests/ported_static/stRandom/test_random_statetest207.py +++ b/tests/ported_static/stRandom/test_random_statetest207.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest207. Ported from: -tests/static/state_tests/stRandom/randomStatetest207Filler.json +state_tests/stRandom/randomStatetest207Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest207Filler.json"], + ["state_tests/stRandom/randomStatetest207Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest207( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest207.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,49 +46,48 @@ def test_random_statetest207( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x43413160439155 + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.BALANCE(address=Op.COINBASE) + + Op.PUSH1[0x43] + + Op.SWAP2 + + Op.SSTORE, + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x91D304E462C8CD746CA0A735A4E921B10CC49FE1), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.BALANCE(address=Op.COINBASE) - + Op.PUSH1[0x43] - + Op.SWAP2 - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0x91d304e462c8cd746ca0a735a4e921b10cc49fe1"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={1: 46}), + target: Account(storage={1: 46}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest208.py b/tests/ported_static/stRandom/test_random_statetest208.py index 8e999788ce2..604ac238ee1 100644 --- a/tests/ported_static/stRandom/test_random_statetest208.py +++ b/tests/ported_static/stRandom/test_random_statetest208.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest208. Ported from: -tests/static/state_tests/stRandom/randomStatetest208Filler.json +state_tests/stRandom/randomStatetest208Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest208Filler.json"], + ["state_tests/stRandom/randomStatetest208Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest208( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest208.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,62 @@ def test_random_statetest208( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x79386B399BEFD67B3A9B0A141837216FAA653A30), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x79386b399befd67b3a9b0a141837216faa653a30"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=2144690611, + value=0x7FD561B3, ) post = { - contract: Account( + target: Account( storage={0: 0xFFFFFFFFFFFFFFFD000000000000000100000001}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest209.py b/tests/ported_static/stRandom/test_random_statetest209.py index 8e29e654fb3..e9c894f5d5f 100644 --- a/tests/ported_static/stRandom/test_random_statetest209.py +++ b/tests/ported_static/stRandom/test_random_statetest209.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest209. Ported from: -tests/static/state_tests/stRandom/randomStatetest209Filler.json +state_tests/stRandom/randomStatetest209Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest209Filler.json"], + ["state_tests/stRandom/randomStatetest209Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest209( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest209.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,127 +46,47 @@ def test_random_statetest209( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0951537d3c6474623b781181a355 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff0951537d3c6474623b781181a355" # noqa: E501 + "7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0951537d3c6474623b781181a355" # noqa: E501 ), nonce=0, - address=Address("0x8bcae160c58323e76f465e719b7f38a0049b17c9"), # noqa: E501 + address=Address(0x8BCAE160C58323E76F465E719B7F38A0049B17C9), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff0951537d3c6474623b781181a3" # noqa: E501 - ), - gas_limit=100000, - value=833511346, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest209Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest209_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff0951537d3c6474623b781181a355" # noqa: E501 - ), - nonce=0, - address=Address("0x8bcae160c58323e76f465e719b7f38a0049b17c9"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff0951537d3c6474623b781181a3" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0951537d3c6474623b781181a3" # noqa: E501 ), gas_limit=100000, - value=833511346, + value=0x31AE5FB2, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest210.py b/tests/ported_static/stRandom/test_random_statetest210.py index fc8a360b524..654236bd6c4 100644 --- a/tests/ported_static/stRandom/test_random_statetest210.py +++ b/tests/ported_static/stRandom/test_random_statetest210.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest210. Ported from: -tests/static/state_tests/stRandom/randomStatetest210Filler.json +state_tests/stRandom/randomStatetest210Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest210Filler.json"], + ["state_tests/stRandom/randomStatetest210Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest210( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest210.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,62 @@ def test_random_statetest210( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.TIMESTAMP + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0x10000000000000000000000000000000000000000], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE7A77796D6A62EA342EC1AC61448395DA7B90CA8), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.TIMESTAMP - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0x10000000000000000000000000000000000000000], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe7a77796d6a62ea342ec1ac61448395da7b90ca8"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000007f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff427fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff09" + to=target, + data=Bytes( + "457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=1780157802, + value=0x6A1B0D6A, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001FFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest211.py b/tests/ported_static/stRandom/test_random_statetest211.py index 887d191d3d9..4f724711b3f 100644 --- a/tests/ported_static/stRandom/test_random_statetest211.py +++ b/tests/ported_static/stRandom/test_random_statetest211.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest211. Ported from: -tests/static/state_tests/stRandom/randomStatetest211Filler.json +state_tests/stRandom/randomStatetest211Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest211Filler.json"], + ["state_tests/stRandom/randomStatetest211Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest211( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest211.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,101 +46,71 @@ def test_random_statetest211( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7e7a980b5b1c50ebb63d8e2211d3a79e841ee5e5946b7969dfb6ca1309c99e8f68d4ee9a50996902ee4e6937e1d07ad872cf04eb2a61fc336025a3648d5818a6457dc24f19f38d3deebb09968c812740339c6df46af95b7b0283acb1944a8ca37fbaaafeac115b9ec5adc16fea5a3a828d3483e495506a790ca75d8238ebbed6477c213d0177c10b33b6cf9362273973809ac39f11dffee928f3fb18e975186fb4a74e56142d4431bfa392dd5f71d32b6c40a2bd0beb6a8b24fc592b25f0680306f11e049124ec396ea3858d3339145af8c1c16747bea056639a7faf446cd9c7bf446ed2de67f1665adc479874053c2c53f0fc53a12af3c1951fdc7a5d20aee8f96874f392a4aa2a84a99c9390ab4bd4c39f521a2b91c2ea90 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.LOG3( + offset=0x25, + size=0xFC33, + topic_1=0x37E1D07AD872CF04EB2A, + topic_2=0xD4EE9A50996902EE4E, + topic_3=0x7A980B5B1C50EBB63D8E2211D3A79E841EE5E5946B7969DFB6CA1309C99E8F, # noqa: E501 + ) + + Op.PUSH5[0x8D5818A645] + + Op.PUSH30[ + 0xC24F19F38D3DEEBB09968C812740339C6DF46AF95B7B0283ACB1944A8CA3 + ] + + Op.PUSH32[ + 0xBAAAFEAC115B9EC5ADC16FEA5A3A828D3483E495506A790CA75D8238EBBED647 + ] + + Op.PUSH29[ + 0x213D0177C10B33B6CF9362273973809AC39F11DFFEE928F3FB18E97518 + ] + + Op.PUSH16[0xB4A74E56142D4431BFA392DD5F71D32B] + + Op.PUSH13[0x40A2BD0BEB6A8B24FC592B25F0] + + Op.PUSH9[0x306F11E049124EC39] + + Op.PUSH15[0xA3858D3339145AF8C1C16747BEA056] + + Op.PUSH4[0x9A7FAF44] + + Op.PUSH13[0xD9C7BF446ED2DE67F1665ADC47] + + Op.SWAP9 + + Op.PUSH21[0x53C2C53F0FC53A12AF3C1951FDC7A5D20AEE8F968] + + Op.PUSH21[0xF392A4AA2A84A99C9390AB4BD4C39F521A2B91C2EA] + + Op.SWAP1, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD7EB1DDC2F83F5620BD387BC6409BE3CC2D2422F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.LOG3( - offset=0x25, - size=0xFC33, - topic_1=0x37E1D07AD872CF04EB2A, - topic_2=0xD4EE9A50996902EE4E, - topic_3=0x7A980B5B1C50EBB63D8E2211D3A79E841EE5E5946B7969DFB6CA1309C99E8F, # noqa: E501 - ) - + Op.PUSH5[0x8D5818A645] - + Op.PUSH30[ - 0xC24F19F38D3DEEBB09968C812740339C6DF46AF95B7B0283ACB1944A8CA3 - ] - + Op.PUSH32[ - 0xBAAAFEAC115B9EC5ADC16FEA5A3A828D3483E495506A790CA75D8238EBBED647 # noqa: E501 - ] - + Op.PUSH29[ - 0x213D0177C10B33B6CF9362273973809AC39F11DFFEE928F3FB18E97518 - ] - + Op.PUSH16[0xB4A74E56142D4431BFA392DD5F71D32B] - + Op.PUSH13[0x40A2BD0BEB6A8B24FC592B25F0] - + Op.PUSH9[0x306F11E049124EC39] - + Op.PUSH15[0xA3858D3339145AF8C1C16747BEA056] - + Op.PUSH4[0x9A7FAF44] - + Op.PUSH13[0xD9C7BF446ED2DE67F1665ADC47] - + Op.SWAP9 - + Op.PUSH21[0x53C2C53F0FC53A12AF3C1951FDC7A5D20AEE8F968] - + Op.PUSH21[0xF392A4AA2A84A99C9390AB4BD4C39F521A2B91C2EA] - + Op.SWAP1 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd7eb1ddc2f83f5620bd387bc6409be3cc2d2422f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7205d6a65458a0cdecda703b9d5440616f95b179076dfa7631cbf765dab81235497f97dd" # noqa: E501 - "b6e8d399d5294ea49cfd736cdfa49a08a76dc08eff97542b54399a1b5f86b168d33cd083" # noqa: E501 - "ac41074aa37e2f3f77a248d5db21a54d72c5053f2a79b2048d142fd588c56c48e39fa86b" # noqa: E501 - "d16645ae7e31281c806dc847b38aba609fb88b5a3c6ce02d711bc1cb89419d740c65fcd7" # noqa: E501 - "cd9abc94d8aaf97bfb874ed35e242cee6a462cac825efc8b53b43f7687a32b635c969cb7" # noqa: E501 - "79fecda8dcbd0dd35ef6ab482083a8b91f6199bb8050971caa227ac9ad77edf44708d99a" # noqa: E501 - "c08e92c8c1ff6e536a3eb4625c2d8c514c8a799391a90cb528870e725560136162fb2632" # noqa: E501 - "b2485e26d9604de562740ee89a2a5b4b1976272d046167f2151feea60ecc547dc9dc31b9" # noqa: E501 - "1ee0a712579874ebef218c4f015cbd8e76040f19d828eed7f9c070a127ce6067ad983136" # noqa: E501 - "3977e2846559c8b97cfb3b0e8502cd54779657ab8571534f06e34b0d78259338706fac01" # noqa: E501 - "057e66310e07ef4017629f7bf12ca747aafe8d7ccfcb78b5535dd267e3b445028e40113e" # noqa: E501 - "1b9ccb7174b36264cfc5606cc1b4815c744393665f0a1c2ce78ff3679513083c95496a68" # noqa: E501 - "69fe735535b8751fc5455769b44d7c9689576f2b76cb63bae9b5a47f8afd0c0466e798bf" # noqa: E501 - "78d10b0efecc7e30695891cdc85e5f7a2827dc0b2ad41f92666faa9578ad77aa79aef036" # noqa: E501 - "3cf4c69574bdfb74601f99ca8df4fbb481dd921b4b580a789e59c7557f305a1804f30d08" # noqa: E501 - "c10394bc281772eef178800e0f79161010fdff6e028d5be7c0dfc295520e9b5f7fb781fb" # noqa: E501 - "23ebd9657a42d8623d58350d43a9031a8b7e23c72ea3af0b137386987549539d695dd3e1" # noqa: E501 - "9c2cac0855644773b40cae7e824e3912190e7a6aec7bb06e5c923de8750674988f11efac" # noqa: E501 - "6aabfc209262900167c7c18e7826b18c6e65696c94c79ed8f574d69ffb0de2046a602f2e" # noqa: E501 - "9eeb57a764e01cae63fc0e6c11703a61af60fd0c2a6af1e06d545b5ed713146d8b98783d" # noqa: E501 - "a81f50ff3aa0e244e15e73dc099f2266d4ee2fc130375a1cf3341167c5c0586d179a0d6f" # noqa: E501 - "622951a8e0fc895e4edf64bb1ec825496d2d85c826a263045936448e65d6608d729e8aeb" # noqa: E501 - "3f8cf65a8addee9da3fe2b2ba4a0e6de6576a5221a372b64abb962d43a76c4519471d55c" # noqa: E501 - "4425b57b3fef0f46bc07b1e1b4126cab307a91392cedd4fab180e6a943c648703e5058ea" # noqa: E501 - "2aaa6aa3c1b019a9538e604a7581ea0f2b78b7ad3673313b8d926ab9ad21f10f2c305573" # noqa: E501 - "2cf0b787838b61e5b85a079913a88cff7819d4066d551729495f62f0f4710cb0962d2460" # noqa: E501 - "b57e5a5d09a316f7bdd937dd7f809b72c2e4b898648da7f7aea76ec34a016ab863705ad6" # noqa: E501 - "7458a497014e10e75f7d7710fc7784743cc30aa920ad10d24a82a074fa0db118dd5887c4" # noqa: E501 - "346712f22b6d2e55e99769224338e00cd62030907f6df46f4b14bbd57d01102d02153fb5" # noqa: E501 - "69e432111eaafdd9bb68ff7d35f7590dff5a35eeea2bf69beae63c3e4e6fcbdc19d79f7b" # noqa: E501 - "b919b2165aab76ce9cc9882ea258d9fd497168b5e9ed5ea3f323f94d5c6a6de663222b59" # noqa: E501 - "71a8238121faeed83a8e" + to=target, + data=Bytes( + "7205d6a65458a0cdecda703b9d5440616f95b179076dfa7631cbf765dab81235497f97ddb6e8d399d5294ea49cfd736cdfa49a08a76dc08eff97542b54399a1b5f86b168d33cd083ac41074aa37e2f3f77a248d5db21a54d72c5053f2a79b2048d142fd588c56c48e39fa86bd16645ae7e31281c806dc847b38aba609fb88b5a3c6ce02d711bc1cb89419d740c65fcd7cd9abc94d8aaf97bfb874ed35e242cee6a462cac825efc8b53b43f7687a32b635c969cb779fecda8dcbd0dd35ef6ab482083a8b91f6199bb8050971caa227ac9ad77edf44708d99ac08e92c8c1ff6e536a3eb4625c2d8c514c8a799391a90cb528870e725560136162fb2632b2485e26d9604de562740ee89a2a5b4b1976272d046167f2151feea60ecc547dc9dc31b91ee0a712579874ebef218c4f015cbd8e76040f19d828eed7f9c070a127ce6067ad9831363977e2846559c8b97cfb3b0e8502cd54779657ab8571534f06e34b0d78259338706fac01057e66310e07ef4017629f7bf12ca747aafe8d7ccfcb78b5535dd267e3b445028e40113e1b9ccb7174b36264cfc5606cc1b4815c744393665f0a1c2ce78ff3679513083c95496a6869fe735535b8751fc5455769b44d7c9689576f2b76cb63bae9b5a47f8afd0c0466e798bf78d10b0efecc7e30695891cdc85e5f7a2827dc0b2ad41f92666faa9578ad77aa79aef0363cf4c69574bdfb74601f99ca8df4fbb481dd921b4b580a789e59c7557f305a1804f30d08c10394bc281772eef178800e0f79161010fdff6e028d5be7c0dfc295520e9b5f7fb781fb23ebd9657a42d8623d58350d43a9031a8b7e23c72ea3af0b137386987549539d695dd3e19c2cac0855644773b40cae7e824e3912190e7a6aec7bb06e5c923de8750674988f11efac6aabfc209262900167c7c18e7826b18c6e65696c94c79ed8f574d69ffb0de2046a602f2e9eeb57a764e01cae63fc0e6c11703a61af60fd0c2a6af1e06d545b5ed713146d8b98783da81f50ff3aa0e244e15e73dc099f2266d4ee2fc130375a1cf3341167c5c0586d179a0d6f622951a8e0fc895e4edf64bb1ec825496d2d85c826a263045936448e65d6608d729e8aeb3f8cf65a8addee9da3fe2b2ba4a0e6de6576a5221a372b64abb962d43a76c4519471d55c4425b57b3fef0f46bc07b1e1b4126cab307a91392cedd4fab180e6a943c648703e5058ea2aaa6aa3c1b019a9538e604a7581ea0f2b78b7ad3673313b8d926ab9ad21f10f2c3055732cf0b787838b61e5b85a079913a88cff7819d4066d551729495f62f0f4710cb0962d2460b57e5a5d09a316f7bdd937dd7f809b72c2e4b898648da7f7aea76ec34a016ab863705ad67458a497014e10e75f7d7710fc7784743cc30aa920ad10d24a82a074fa0db118dd5887c4346712f22b6d2e55e99769224338e00cd62030907f6df46f4b14bbd57d01102d02153fb569e432111eaafdd9bb68ff7d35f7590dff5a35eeea2bf69beae63c3e4e6fcbdc19d79f7bb919b2165aab76ce9cc9882ea258d9fd497168b5e9ed5ea3f323f94d5c6a6de663222b5971a8238121faeed83a8e" # noqa: E501 ), gas_limit=600000, - value=1548974135, + value=0x5C537837, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest212.py b/tests/ported_static/stRandom/test_random_statetest212.py index d9e874048eb..817ebf51d9b 100644 --- a/tests/ported_static/stRandom/test_random_statetest212.py +++ b/tests/ported_static/stRandom/test_random_statetest212.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest212. Ported from: -tests/static/state_tests/stRandom/randomStatetest212Filler.json +state_tests/stRandom/randomStatetest212Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest212Filler.json"], + ["state_tests/stRandom/randomStatetest212Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest212( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest212.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,76 +46,71 @@ def test_random_statetest212( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SELFDESTRUCT( - address=Op.ADDMOD( - Op.MULMOD( - Op.XOR( - Op.MOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - ], - ), - Op.PUSH32[0x1], + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06180908ff3a68f28e61990a525560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SELFDESTRUCT( + address=Op.ADDMOD( + Op.MULMOD( + Op.XOR( + Op.MOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ], ), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0x1], ), - Op.PUSH32[0x1], - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 ), + Op.PUSH32[0x1], + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], ) - + Op.SSTORE( - key=Op.MLOAD(offset=0xF28E61990A52556000), - value=Op.GASPRICE, - ) + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0xF28E61990A52556000), value=Op.GASPRICE ), nonce=0, - address=Address("0x4fcdeb59ea62ab23fbabb8475cc6b4d9a7b4ef10"), # noqa: E501 + address=Address(0x4FCDEB59EA62AB23FBABB8475CC6B4D9A7B4EF10), # noqa: E501 ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) + ), + balance=46, + nonce=0, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe06180908ff3a68f28e61990a52" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06180908ff3a68f28e61990a52" # noqa: E501 ), gas_limit=100000, - value=49732651, + value=0x2F6DC2B, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000001): Account( + storage={}, code=b"", nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest214.py b/tests/ported_static/stRandom/test_random_statetest214.py index a6755101034..d89ae12e046 100644 --- a/tests/ported_static/stRandom/test_random_statetest214.py +++ b/tests/ported_static/stRandom/test_random_statetest214.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest214. Ported from: -tests/static/state_tests/stRandom/randomStatetest214Filler.json +state_tests/stRandom/randomStatetest214Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest214Filler.json"], + ["state_tests/stRandom/randomStatetest214Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest214( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest214.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,59 @@ def test_random_statetest214( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff150a6f7b056b335a15a48d7b8841163a50396360005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.EXP( + Op.ISZERO(Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]), + Op.PUSH32[0x1], + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7B056B335A15A48D7B8841163A503963 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD1CAC1ED3EFF0ED4EA40EA82DDDCD79058F1BD25), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.EXP( - Op.ISZERO( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - ), - Op.PUSH32[0x1], - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7B056B335A15A48D7B8841163A503963, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd1cac1ed3eff0ed4ea40ea82dddcd79058f1bd25"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff150a6f7b056b335a15a48d7b884116" # noqa: E501 - "3a503963" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff150a6f7b056b335a15a48d7b8841163a503963" # noqa: E501 ), gas_limit=100000, - value=2101620901, + value=0x7D4430A5, ) post = { - contract: Account(storage={0: 0x7B056B335A15A48D7B8841163A503963}), + target: Account( + storage={0: 0x7B056B335A15A48D7B8841163A503963}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest215.py b/tests/ported_static/stRandom/test_random_statetest215.py index 6cdb41e406f..275da2630e8 100644 --- a/tests/ported_static/stRandom/test_random_statetest215.py +++ b/tests/ported_static/stRandom/test_random_statetest215.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest215. Ported from: -tests/static/state_tests/stRandom/randomStatetest215Filler.json +state_tests/stRandom/randomStatetest215Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest215Filler.json"], + ["state_tests/stRandom/randomStatetest215Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest215( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest215.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,61 +46,55 @@ def test_random_statetest215( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff446f728f4f1065583139780a981510173b9c60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 3 + + Op.PREVRANDAO + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x728F4F1065583139780A981510173B9C ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xBE34DF8C26E53DBCAD75702212DEF7CC965BA9C4), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PREVRANDAO - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x728F4F1065583139780A981510173B9C, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xbe34df8c26e53dbcad75702212def7cc965ba9c4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff446f728f4f1065583139780a981510173b9c" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff446f728f4f1065583139780a981510173b9c" # noqa: E501 ), gas_limit=100000, - value=812357921, + value=0x306B9921, ) post = { - contract: Account(storage={0: 0x728F4F1065583139780A981510173B9C}), + target: Account( + storage={0: 0x728F4F1065583139780A981510173B9C}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest216.py b/tests/ported_static/stRandom/test_random_statetest216.py index 51f2d4d215c..3a8d5d54ef3 100644 --- a/tests/ported_static/stRandom/test_random_statetest216.py +++ b/tests/ported_static/stRandom/test_random_statetest216.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest216. Ported from: -tests/static/state_tests/stRandom/randomStatetest216Filler.json +state_tests/stRandom/randomStatetest216Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest216Filler.json"], + ["state_tests/stRandom/randomStatetest216Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest216( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest216.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,59 @@ def test_random_statetest216( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350447f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3506d766d67fe0785320899130644945560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0xC350] * 2 + + Op.PREVRANDAO + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x766D67FE07853208991306449455 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x858B3A0BF7FDB672B31D89535881528C2214EB35), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PREVRANDAO - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x766D67FE07853208991306449455, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x858b3a0bf7fdb672b31d89535881528c2214eb35"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c350447f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c3506d766d67fe078532089913064494" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350447f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3506d766d67fe078532089913064494" # noqa: E501 ), gas_limit=100000, - value=679576029, + value=0x288181DD, ) post = { - contract: Account(storage={0: 0x766D67FE07853208991306449455}), + target: Account( + storage={0: 0x766D67FE07853208991306449455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest217.py b/tests/ported_static/stRandom/test_random_statetest217.py index 4295cd34bc3..9aac9ca5d71 100644 --- a/tests/ported_static/stRandom/test_random_statetest217.py +++ b/tests/ported_static/stRandom/test_random_statetest217.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest217. Ported from: -tests/static/state_tests/stRandom/randomStatetest217Filler.json +state_tests/stRandom/randomStatetest217Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest217Filler.json"], + ["state_tests/stRandom/randomStatetest217Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest217( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest217.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,58 @@ def test_random_statetest217( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001377f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c35060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.CALLDATACOPY( + dest_offset=Op.PUSH32[0x1], + offset=Op.PUSH32[0x0], + size=Op.PUSH32[0xC350], + ) + + Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.PUSH32[0xC350]), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x83BE70F91F13B0D82FE2EA7D0551E807A7425F52), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.CALLDATACOPY( - dest_offset=Op.PUSH32[0x1], - offset=Op.PUSH32[0x0], - size=Op.PUSH32[0xC350], - ) - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.PUSH32[0xC350]) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x83be70f91f13b0d82fe2ea7d0551e807a7425f52"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000001377f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c350" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001377f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350" # noqa: E501 ), gas_limit=100000, - value=473066872, + value=0x1C326D78, ) post = { - contract: Account( + target: Account( storage={ 0x7F000000000000000000000000000000000000000000000000000000000000: 50000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest219.py b/tests/ported_static/stRandom/test_random_statetest219.py index 9302fb77558..51f113f7a8d 100644 --- a/tests/ported_static/stRandom/test_random_statetest219.py +++ b/tests/ported_static/stRandom/test_random_statetest219.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest219. Ported from: -tests/static/state_tests/stRandom/randomStatetest219Filler.json +state_tests/stRandom/randomStatetest219Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest219Filler.json"], + ["state_tests/stRandom/randomStatetest219Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest219( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest219.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,57 @@ def test_random_statetest219( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff437f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3506f6253443a4104027144577f339983205560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] * 2 + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.NUMBER + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x6253443A4104027144577F3399832055 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x586C7074A620DDD5D8040DBC1FD08E9089BC66DB), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.NUMBER - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x6253443A4104027144577F3399832055, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x586c7074a620ddd5d8040dbc1fd08e9089bc66db"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff437f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c3506f6253443a4104027144577f33998320" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff437f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3506f6253443a4104027144577f33998320" # noqa: E501 ), gas_limit=100000, - value=73663722, + value=0x46404EA, ) post = { - contract: Account(storage={0: 0x6253443A4104027144577F3399832055}), + target: Account( + storage={0: 0x6253443A4104027144577F3399832055}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest22.py b/tests/ported_static/stRandom/test_random_statetest22.py index 9ed92f98f19..442b7c1f6b5 100644 --- a/tests/ported_static/stRandom/test_random_statetest22.py +++ b/tests/ported_static/stRandom/test_random_statetest22.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest22. Ported from: -tests/static/state_tests/stRandom/randomStatetest22Filler.json +state_tests/stRandom/randomStatetest22Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest22Filler.json"], + ["state_tests/stRandom/randomStatetest22Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest22( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest22.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,49 @@ def test_random_statetest22( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x6d417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7e969f926084143c7960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "6d417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000017fffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000c3507f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff7e969f926084143c7960005155" # noqa: E501 + "6d417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7e969f926084143c7960005155" # noqa: E501 ), nonce=0, - address=Address("0x411702501fcb254d6aac803fdd6bd34c57564ea1"), # noqa: E501 + address=Address(0x411702501FCB254D6AAC803FDD6BD34C57564EA1), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "6d417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000017fffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000c3507f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff7e969f926084143c79" + to=target, + data=Bytes( + "6d417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7e969f926084143c79" # noqa: E501 ), gas_limit=100000, - value=1814313700, + value=0x6C243AE4, ) - post: dict = {} + post = { + Address(0x000000000000417FFFFFFFFFFFFFFFFFFFFFFFFF): Account( + storage={}, code=b"", nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest220.py b/tests/ported_static/stRandom/test_random_statetest220.py index 361a5c2c5b9..6ccf508f6d8 100644 --- a/tests/ported_static/stRandom/test_random_statetest220.py +++ b/tests/ported_static/stRandom/test_random_statetest220.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest220. Ported from: -tests/static/state_tests/stRandom/randomStatetest220Filler.json +state_tests/stRandom/randomStatetest220Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest220Filler.json"], + ["state_tests/stRandom/randomStatetest220Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest220( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest220.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,56 @@ def test_random_statetest220( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000016f420380a03c4282a3540a1a333a843a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] * 2 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x420380A03C4282A3540A1A333A843A55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE245F75B111648E88B574DCC3BAC41A9665B655B), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x420380A03C4282A3540A1A333A843A55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe245f75b111648e88b574dcc3bac41a9665b655b"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000016f420380a03c4282a3540a1a333a843a" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000016f420380a03c4282a3540a1a333a843a" # noqa: E501 ), gas_limit=100000, - value=207355039, + value=0xC5BFC9F, ) post = { - contract: Account(storage={0: 0x420380A03C4282A3540A1A333A843A55}), + target: Account( + storage={0: 0x420380A03C4282A3540A1A333A843A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest221.py b/tests/ported_static/stRandom/test_random_statetest221.py index 46890f61533..f504d998f96 100644 --- a/tests/ported_static/stRandom/test_random_statetest221.py +++ b/tests/ported_static/stRandom/test_random_statetest221.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest221. Ported from: -tests/static/state_tests/stRandom/randomStatetest221Filler.json +state_tests/stRandom/randomStatetest221Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest221Filler.json"], + ["state_tests/stRandom/randomStatetest221Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest221( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest221.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,58 @@ def test_random_statetest221( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x977789947E197F828151867A73771A55, - ) + # Source: raw + # 0x457f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000006f977789947e197f828151867a73771a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.PUSH32[0xC350] * 2 + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x977789947E197F828151867A73771A55 ), nonce=0, - address=Address("0x3dbb751081b1fb6b89523a708c6f333707aff200"), # noqa: E501 + address=Address(0x3DBB751081B1FB6B89523A708C6F333707AFF200), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457f000000000000000000000000000000000000000000000000000000000000c3507f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507f00000000" # noqa: E501 - "000000000000000100000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e796f977789947e197f828151867a73771a" # noqa: E501 + to=target, + data=Bytes( + "457f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f977789947e197f828151867a73771a" # noqa: E501 ), gas_limit=100000, - value=1862685167, + value=0x6F0651EF, ) post = { - contract: Account(storage={0: 0x977789947E197F828151867A73771A55}), + target: Account( + storage={0: 0x977789947E197F828151867A73771A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest222.py b/tests/ported_static/stRandom/test_random_statetest222.py index 7a54c31a447..f3a106c0419 100644 --- a/tests/ported_static/stRandom/test_random_statetest222.py +++ b/tests/ported_static/stRandom/test_random_statetest222.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest222. Ported from: -tests/static/state_tests/stRandom/randomStatetest222Filler.json +state_tests/stRandom/randomStatetest222Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest222Filler.json"], + ["state_tests/stRandom/randomStatetest222Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest222( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest222.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,57 @@ def test_random_statetest222( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000001000000000000000000000000000000000000000043397f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3508160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.CODECOPY( + dest_offset=Op.NUMBER, + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=Op.PUSH32[0xC350], + ) + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.DUP2), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x941EC79F0A2A731E1851DC4D0D6D60DE70EBA4FB), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.CODECOPY( - dest_offset=Op.NUMBER, - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=Op.PUSH32[0xC350], - ) - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.DUP2) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x941ec79f0a2a731e1851dc4d0d6d60de70eba4fb"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000001000000000000000000000000000000000000000043397f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000017f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c35081" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000001000000000000000000000000000000000000000043397f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c35081" # noqa: E501 ), gas_limit=100000, - value=1727622047, + value=0x66F96B9F, ) post = { - contract: Account( + target: Account( storage={0: 0x10000000000000000000000000000000000000000}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest225.py b/tests/ported_static/stRandom/test_random_statetest225.py index 00d5f7a8981..a9431d04b91 100644 --- a/tests/ported_static/stRandom/test_random_statetest225.py +++ b/tests/ported_static/stRandom/test_random_statetest225.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest225. Ported from: -tests/static/state_tests/stRandom/randomStatetest225Filler.json +state_tests/stRandom/randomStatetest225Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest225Filler.json"], + ["state_tests/stRandom/randomStatetest225Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest225( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest225.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,66 @@ def test_random_statetest225( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff506f69786c858e0703566f95f8993111901960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.POP( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x69786C858E0703566F95F89931119019 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7710ED909A7E2687E90F9A930D0DC0E7FA96932F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.POP( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x69786C858E0703566F95F89931119019, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7710ed909a7e2687e90f9a930d0dc0e7fa96932f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff506f69786c858e0703566f95f89931119019" # noqa: E501 + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff506f69786c858e0703566f95f89931119019" # noqa: E501 ), gas_limit=100000, - value=159749189, + value=0x9859445, ) post = { - contract: Account(storage={0: 0x69786C858E0703566F95F89931119019}), + target: Account( + storage={0: 0x69786C858E0703566F95F89931119019}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest226.py b/tests/ported_static/stRandom/test_random_statetest226.py index 2db48253ffc..4fb7718504f 100644 --- a/tests/ported_static/stRandom/test_random_statetest226.py +++ b/tests/ported_static/stRandom/test_random_statetest226.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest226. Ported from: -tests/static/state_tests/stRandom/randomStatetest226Filler.json +state_tests/stRandom/randomStatetest226Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest226Filler.json"], + ["state_tests/stRandom/randomStatetest226Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest226( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest226.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,64 +47,56 @@ def test_random_statetest226( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c350357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5a605560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=Op.PUSH32[0xC350]) + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.GAS + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x55), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC5676AEAB3D49C7E165B0F09B63906F533BC6232), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=Op.PUSH32[0xC350]) - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.GAS - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x55) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc5676aeab3d49c7e165b0f09b63906f533bc6232"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c350357fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe5a60" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c350357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5a60" # noqa: E501 ), gas_limit=1791222632, - value=479312336, + value=0x1C91B9D0, ) post = { - contract: Account(storage={0: 85}), + target: Account(storage={0: 85}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest227.py b/tests/ported_static/stRandom/test_random_statetest227.py index a7ba5a36896..5050dfbef6e 100644 --- a/tests/ported_static/stRandom/test_random_statetest227.py +++ b/tests/ported_static/stRandom/test_random_statetest227.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest227. Ported from: -tests/static/state_tests/stRandom/randomStatetest227Filler.json +state_tests/stRandom/randomStatetest227Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest227Filler.json"], + ["state_tests/stRandom/randomStatetest227Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest227( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest227.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,59 +46,56 @@ def test_random_statetest227( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE(key=Op.MSIZE, value=0x108FA27475689E44993A528752A15233) - ), + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000006f108fa27475689e44993a528752a152335955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE(key=Op.MSIZE, value=0x108FA27475689E44993A528752A15233), nonce=0, - address=Address("0x2347a5c06fdb86220847afad360a945504752f3f"), # noqa: E501 + address=Address(0x2347A5C06FDB86220847AFAD360A945504752F3F), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e796f108fa27475689e44993a528752a1523359" # noqa: E501 + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f108fa27475689e44993a528752a1523359" # noqa: E501 ), gas_limit=100000, - value=1176634565, + value=0x462204C5, ) post = { - contract: Account(storage={0: 0x108FA27475689E44993A528752A15233}), + target: Account( + storage={0: 0x108FA27475689E44993A528752A15233}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest228.py b/tests/ported_static/stRandom/test_random_statetest228.py index 042f91e0011..9d0b8b82b98 100644 --- a/tests/ported_static/stRandom/test_random_statetest228.py +++ b/tests/ported_static/stRandom/test_random_statetest228.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest228. Ported from: -tests/static/state_tests/stRandom/randomStatetest228Filler.json +state_tests/stRandom/randomStatetest228Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest228Filler.json"], + ["state_tests/stRandom/randomStatetest228Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest228( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest228.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,55 @@ def test_random_statetest228( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x41434543454541443b5455 + target = pre.deploy_contract( # noqa: F841 + code=Op.COINBASE + + Op.NUMBER + + Op.GASLIMIT + + Op.NUMBER + + Op.GASLIMIT * 2 + + Op.SSTORE( + key=Op.SLOAD(key=Op.EXTCODESIZE(address=Op.PREVRANDAO)), + value=Op.COINBASE, ), - balance=46, + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5E86C1990271C79E1F71C1A16AE327A81EC9C863), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.COINBASE - + Op.NUMBER - + Op.GASLIMIT - + Op.NUMBER - + Op.GASLIMIT - + Op.GASLIMIT - + Op.SSTORE( - key=Op.SLOAD(key=Op.EXTCODESIZE(address=Op.PREVRANDAO)), - value=Op.COINBASE, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0x5e86c1990271c79e1f71c1a16ae327a81ec9c863"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={0: 0x4F3F701464972E74606D6EA82D4D3080599A0E79}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest23.py b/tests/ported_static/stRandom/test_random_statetest23.py index 2a993315073..c17589acc88 100644 --- a/tests/ported_static/stRandom/test_random_statetest23.py +++ b/tests/ported_static/stRandom/test_random_statetest23.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest23. Ported from: -tests/static/state_tests/stRandom/randomStatetest23Filler.json +state_tests/stRandom/randomStatetest23Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest23Filler.json"], + ["state_tests/stRandom/randomStatetest23Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest23( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest23.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,57 @@ def test_random_statetest23( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000000000000000000000000000000000000000000001427f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f89418c1076f1544315601489386c915560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.TIMESTAMP + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x89418C1076F1544315601489386C9155 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xFC68069945CE60D6C215F7C22117D2FAD4A21CF4), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.TIMESTAMP - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x89418C1076F1544315601489386C9155, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xfc68069945ce60d6c215f7c22117d2fad4a21cf4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000001427f00" # noqa: E501 - "00000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff6f89418c1076f154431560" # noqa: E501 - "1489386c91" + to=target, + data=Bytes( + "7f0000000000000000000000000000000000000000000000000000000000000001427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f89418c1076f1544315601489386c91" # noqa: E501 ), gas_limit=100000, - value=667758155, + value=0x27CD2E4B, ) post = { - contract: Account(storage={0: 0x89418C1076F1544315601489386C9155}), + target: Account( + storage={0: 0x89418C1076F1544315601489386C9155}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest230.py b/tests/ported_static/stRandom/test_random_statetest230.py index b21a8bd4fd3..5797b56bc60 100644 --- a/tests/ported_static/stRandom/test_random_statetest230.py +++ b/tests/ported_static/stRandom/test_random_statetest230.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest230. Ported from: -tests/static/state_tests/stRandom/randomStatetest230Filler.json +state_tests/stRandom/randomStatetest230Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest230Filler.json"], + ["state_tests/stRandom/randomStatetest230Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest230( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest230.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,147 +46,58 @@ def test_random_statetest230( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.TIMESTAMP - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c350427f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.TIMESTAMP + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), ), nonce=0, - address=Address("0xf2d051c4061de9bb62f3c8b53170ac76caf27862"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c350427f00" # noqa: E501 - "000000000000000000000100000000000000000000000000000000000000007fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe09" - ), - gas_limit=100000, - value=856911811, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest230Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest230_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, + address=Address(0xF2D051C4061DE9BB62F3C8B53170AC76CAF27862), # noqa: E501 ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.TIMESTAMP - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) - ), - nonce=0, - address=Address("0xf2d051c4061de9bb62f3c8b53170ac76caf27862"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c350427f00" # noqa: E501 - "000000000000000000000100000000000000000000000000000000000000007fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe09" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c350427f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09" # noqa: E501 ), gas_limit=100000, - value=856911811, + value=0x33136FC3, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest231.py b/tests/ported_static/stRandom/test_random_statetest231.py index 343090acb3d..1f9ae45c87a 100644 --- a/tests/ported_static/stRandom/test_random_statetest231.py +++ b/tests/ported_static/stRandom/test_random_statetest231.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest231. Ported from: -tests/static/state_tests/stRandom/randomStatetest231Filler.json +state_tests/stRandom/randomStatetest231Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest231Filler.json"], + ["state_tests/stRandom/randomStatetest231Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest231( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest231.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,58 @@ def test_random_statetest231( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000006f7b98a491727a089df3365353329e805560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] * 2 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7B98A491727A089DF3365353329E8055 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5EE95C2C0DB97541C35F0AFD60A2654AD805A5A6), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7B98A491727A089DF3365353329E8055, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5ee95c2c0db97541c35f0afd60a2654ad805a5a6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c3507f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000004f3f701464972e74" # noqa: E501 - "606d6ea82d4d3080599a0e796f7b98a491727a089df3365353329e80" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f7b98a491727a089df3365353329e80" # noqa: E501 ), gas_limit=100000, - value=1271549054, + value=0x4BCA4C7E, ) post = { - contract: Account(storage={0: 0x7B98A491727A089DF3365353329E8055}), + target: Account( + storage={0: 0x7B98A491727A089DF3365353329E8055}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest232.py b/tests/ported_static/stRandom/test_random_statetest232.py index a6f59e260ed..14e720e5565 100644 --- a/tests/ported_static/stRandom/test_random_statetest232.py +++ b/tests/ported_static/stRandom/test_random_statetest232.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest232. Ported from: -tests/static/state_tests/stRandom/randomStatetest232Filler.json +state_tests/stRandom/randomStatetest232Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest232Filler.json"], + ["state_tests/stRandom/randomStatetest232Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest232( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest232.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,52 +46,49 @@ def test_random_statetest232( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0945415883ff9d7760005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff0945415883ff9d7760005155" # noqa: E501 + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0945415883ff9d7760005155" # noqa: E501 ), nonce=0, - address=Address("0x037642ea84fc8808f2a16af0efeff08b1649fadf"), # noqa: E501 + address=Address(0x037642EA84FC8808F2A16AF0EFEFF08B1649FADF), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff0945415883ff9d77" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0945415883ff9d77" # noqa: E501 ), gas_limit=100000, - value=2122038787, + value=0x7E7BBE03, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000000): Account( + storage={}, code=b"", nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest233.py b/tests/ported_static/stRandom/test_random_statetest233.py index 6aeed0cc974..3b9da2acf65 100644 --- a/tests/ported_static/stRandom/test_random_statetest233.py +++ b/tests/ported_static/stRandom/test_random_statetest233.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest233. Ported from: -tests/static/state_tests/stRandom/randomStatetest233Filler.json +state_tests/stRandom/randomStatetest233Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest233Filler.json"], + ["state_tests/stRandom/randomStatetest233Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest233( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest233.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,59 +46,57 @@ def test_random_statetest233( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.DUP2 - + Op.SDIV( - Op.TIMESTAMP, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MLOAD( - offset=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH6[0x715460005155] - ), + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42057f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff517f000000000000000000000001000000000000000000000000000000000000000065715460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.DUP2 + + Op.SDIV( + Op.TIMESTAMP, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ) + + Op.MLOAD( + offset=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + ) + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH6[0x715460005155], nonce=0, - address=Address("0x05c62926921e990c1b91cb104c481076ff52b217"), # noqa: E501 + address=Address(0x05C62926921E990C1B91CB104C481076FF52B217), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe817fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42057f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff517f00000000" # noqa: E501 - "00000000000000010000000000000000000000000000000000000000657154" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42057f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff517f0000000000000000000000010000000000000000000000000000000000000000657154" # noqa: E501 ), gas_limit=100000, - value=2008364606, + value=0x77B5363E, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest236.py b/tests/ported_static/stRandom/test_random_statetest236.py index b20b7f65323..a938617e353 100644 --- a/tests/ported_static/stRandom/test_random_statetest236.py +++ b/tests/ported_static/stRandom/test_random_statetest236.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest236. Ported from: -tests/static/state_tests/stRandom/randomStatetest236Filler.json +state_tests/stRandom/randomStatetest236Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest236Filler.json"], + ["state_tests/stRandom/randomStatetest236Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest236( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest236.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,73 +46,66 @@ def test_random_statetest236( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000004339185560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.COINBASE + + Op.PUSH32[0x0] + + Op.CODECOPY( + dest_offset=Op.NUMBER, + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=Op.PUSH32[0x1], + ) + + Op.XOR + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x509A0509A644852AD3512A289A52AEFE17523943), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.COINBASE - + Op.PUSH32[0x0] - + Op.CODECOPY( - dest_offset=Op.NUMBER, - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=Op.PUSH32[0x1], - ) - + Op.XOR - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x509a0509a644852ad3512a289a52aefe17523943"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000100" # noqa: E501 - "00000000000000000000000000000000000000433918" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000010000000000000000000000000000000000000000433918" # noqa: E501 ), gas_limit=100000, - value=1566255112, + value=0x5D5B2808, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 0x4F3F701464972E74606D6EA82D4D3080599A0E79: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest237.py b/tests/ported_static/stRandom/test_random_statetest237.py index ca87b9e14d0..a29a100d1ca 100644 --- a/tests/ported_static/stRandom/test_random_statetest237.py +++ b/tests/ported_static/stRandom/test_random_statetest237.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest237. Ported from: -tests/static/state_tests/stRandom/randomStatetest237Filler.json +state_tests/stRandom/randomStatetest237Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest237Filler.json"], + ["state_tests/stRandom/randomStatetest237Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest237( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest237.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,71 +46,65 @@ def test_random_statetest237( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001537f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000000039385560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8( + offset=Op.PUSH32[0x1], + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ) + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.CODECOPY( + dest_offset=Op.PUSH32[0x0], + offset=Op.PUSH32[0xC350], + size=Op.PUSH32[0xC350], + ) + + Op.CODESIZE + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA5AB738681916D81130B09494A5E20288722B913), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE8( - offset=Op.PUSH32[0x1], - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.CODECOPY( - dest_offset=Op.PUSH32[0x0], - offset=Op.PUSH32[0xC350], - size=Op.PUSH32[0xC350], - ) - + Op.CODESIZE - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa5ab738681916d81130b09494a5e20288722b913"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000001537f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000003938" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001537f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000003938" # noqa: E501 ), gas_limit=100000, - value=978542004, + value=0x3A535DB4, ) post = { - contract: Account( + target: Account( storage={ 0: 0x4F3F701464972E74606D6EA82D4D3080599A0E79, 239: 0x10000000000000000000000000000000000000000, }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest238.py b/tests/ported_static/stRandom/test_random_statetest238.py index 1b34c641f4e..72f74d8e706 100644 --- a/tests/ported_static/stRandom/test_random_statetest238.py +++ b/tests/ported_static/stRandom/test_random_statetest238.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest238. Ported from: -tests/static/state_tests/stRandom/randomStatetest238Filler.json +state_tests/stRandom/randomStatetest238Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest238Filler.json"], + ["state_tests/stRandom/randomStatetest238Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest238( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest238.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,60 @@ def test_random_statetest238( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.ADDRESS - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7C748813587E990566719934F342316C, - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f7c748813587e990566719934f342316c60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.ADDRESS + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7C748813587E990566719934F342316C ), nonce=0, - address=Address("0x2d271120ee93064f9f76e5911c8af9be02c7b691"), # noqa: E501 + address=Address(0x2D271120EE93064F9F76E5911C8AF9BE02C7B691), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff307fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff6f7c748813587e990566719934f3" # noqa: E501 - "42316c" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f7c748813587e990566719934f342316c" # noqa: E501 ), gas_limit=100000, - value=267928924, + value=0xFF8455C, ) post = { - contract: Account(storage={0: 0x7C748813587E990566719934F342316C}), + target: Account( + storage={0: 0x7C748813587E990566719934F342316C}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest24.py b/tests/ported_static/stRandom/test_random_statetest24.py index 29385577eac..7643419280b 100644 --- a/tests/ported_static/stRandom/test_random_statetest24.py +++ b/tests/ported_static/stRandom/test_random_statetest24.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest24. Ported from: -tests/static/state_tests/stRandom/randomStatetest24Filler.json +state_tests/stRandom/randomStatetest24Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest24Filler.json"], + ["state_tests/stRandom/randomStatetest24Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest24( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest24.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,50 +46,47 @@ def test_random_statetest24( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x41417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff459d7f0000000000000000000000000000000000000000000000000000000000000001817f000000000000000000000000000000000000000000000000000000000000c35095418211337b0530435560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "41417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff45" # noqa: E501 - "9d7f0000000000000000000000000000000000000000000000000000000000000001817f" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000c35095418211" # noqa: E501 - "337b0530435560005155" + "41417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff459d7f0000000000000000000000000000000000000000000000000000000000000001817f000000000000000000000000000000000000000000000000000000000000c35095418211337b0530435560005155" # noqa: E501 ), nonce=0, - address=Address("0x0ec19bd4e8d4c09bccc0edd6ecd58dd99b7b3212"), # noqa: E501 + address=Address(0x0EC19BD4E8D4C09BCCC0EDD6ECD58DD99B7B3212), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "41417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff45" # noqa: E501 - "9d7f0000000000000000000000000000000000000000000000000000000000000001817f" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000c35095418211" # noqa: E501 - "337b053043" + to=target, + data=Bytes( + "41417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff459d7f0000000000000000000000000000000000000000000000000000000000000001817f000000000000000000000000000000000000000000000000000000000000c35095418211337b053043" # noqa: E501 ), gas_limit=100000, - value=1715561909, + value=0x664165B5, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest242.py b/tests/ported_static/stRandom/test_random_statetest242.py index 27121e2b6ad..741b8884608 100644 --- a/tests/ported_static/stRandom/test_random_statetest242.py +++ b/tests/ported_static/stRandom/test_random_statetest242.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest242. Ported from: -tests/static/state_tests/stRandom/randomStatetest242Filler.json +state_tests/stRandom/randomStatetest242Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest242Filler.json"], + ["state_tests/stRandom/randomStatetest242Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest242( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest242.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,63 @@ def test_random_statetest242( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0860005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.TIMESTAMP + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.ADDMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD7D4D253C278CBE720F14DC00ABE3DA337B583A1), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.TIMESTAMP - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.ADDMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd7d4d253c278cbe720f14dc00abe3da337b583a1"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe08" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08" # noqa: E501 ), gas_limit=100000, - value=2110467172, + value=0x7DCB2C64, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest243.py b/tests/ported_static/stRandom/test_random_statetest243.py index 6cb52709413..48fea66f8e8 100644 --- a/tests/ported_static/stRandom/test_random_statetest243.py +++ b/tests/ported_static/stRandom/test_random_statetest243.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest243. Ported from: -tests/static/state_tests/stRandom/randomStatetest243Filler.json +state_tests/stRandom/randomStatetest243Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest243Filler.json"], + ["state_tests/stRandom/randomStatetest243Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest243( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest243.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,53 +46,52 @@ def test_random_statetest243( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x42454466407640686255455866849055, - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3506f4245446640764068625545586684905560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x42454466407640686255455866849055 ), nonce=0, - address=Address("0x303760fe80edf15150dec62e90341fab4ac7dde5"), # noqa: E501 + address=Address(0x303760FE80EDF15150DEC62E90341FAB4AC7DDE5), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3506f4245446640" # noqa: E501 - "76406862554558668490" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3506f424544664076406862554558668490" # noqa: E501 ), gas_limit=100000, - value=77136812, + value=0x49903AC, ) post = { - contract: Account(storage={0: 0x42454466407640686255455866849055}), + target: Account( + storage={0: 0x42454466407640686255455866849055}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest244.py b/tests/ported_static/stRandom/test_random_statetest244.py index 78fb50398c0..0480047c7c7 100644 --- a/tests/ported_static/stRandom/test_random_statetest244.py +++ b/tests/ported_static/stRandom/test_random_statetest244.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest244. Ported from: -tests/static/state_tests/stRandom/randomStatetest244Filler.json +state_tests/stRandom/randomStatetest244Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest244Filler.json"], + ["state_tests/stRandom/randomStatetest244Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest244( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest244.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,53 @@ def test_random_statetest244( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x4542074343424141315155 + target = pre.deploy_contract( # noqa: F841 + code=Op.SMOD(Op.TIMESTAMP, Op.GASLIMIT) + + Op.NUMBER * 2 + + Op.TIMESTAMP + + Op.SSTORE( + key=Op.MLOAD(offset=Op.BALANCE(address=Op.COINBASE)), + value=Op.COINBASE, ), - balance=46, + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF02CC5C5E85BB5E8DA6BDC897CC5DA6E3AADE8AE), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SMOD(Op.TIMESTAMP, Op.GASLIMIT) - + Op.NUMBER - + Op.NUMBER - + Op.TIMESTAMP - + Op.SSTORE( - key=Op.MLOAD(offset=Op.BALANCE(address=Op.COINBASE)), - value=Op.COINBASE, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0xf02cc5c5e85bb5e8da6bdc897cc5da6e3aade8ae"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={0: 0x4F3F701464972E74606D6EA82D4D3080599A0E79}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest245.py b/tests/ported_static/stRandom/test_random_statetest245.py index f8af62015f4..bed80f5e9b3 100644 --- a/tests/ported_static/stRandom/test_random_statetest245.py +++ b/tests/ported_static/stRandom/test_random_statetest245.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest245. Ported from: -tests/static/state_tests/stRandom/randomStatetest245Filler.json +state_tests/stRandom/randomStatetest245Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest245Filler.json"], + ["state_tests/stRandom/randomStatetest245Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest245( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest245.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,74 +46,68 @@ def test_random_statetest245( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.ISZERO( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=0x877C3914165043458789, - value=Op.DIV( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xC350], - ), - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff157f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0469877c39141650434587895560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.ISZERO( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=0x877C3914165043458789, + value=Op.DIV( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xC350], + ), + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x4f0f0d7e6642d0ec0c5afff326bd601d261562e1"), # noqa: E501 + address=Address(0x4F0F0D7E6642D0EC0C5AFFF326BD601D261562E1), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff157f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe0469877c3914165043458789" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff157f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0469877c3914165043458789" # noqa: E501 ), gas_limit=100000, - value=278621847, + value=0x109B6E97, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 0x877C3914165043458789: 0x14F8B588E368F08461F9F01B866E43AA79BBADC0980B242070B8CFBFC6540, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest246.py b/tests/ported_static/stRandom/test_random_statetest246.py index 42e0e5ec418..0ca73f1e6a1 100644 --- a/tests/ported_static/stRandom/test_random_statetest246.py +++ b/tests/ported_static/stRandom/test_random_statetest246.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest246. Ported from: -tests/static/state_tests/stRandom/randomStatetest246Filler.json +state_tests/stRandom/randomStatetest246Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest246Filler.json"], + ["state_tests/stRandom/randomStatetest246Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest246( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest246.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,53 +47,52 @@ def test_random_statetest246( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.TIMESTAMP - + Op.BALANCE(address=Op.COINBASE) - + Op.PREVRANDAO - + Op.COINBASE - + Op.NUMBER - + Op.TIMESTAMP - + Op.SWAP4 - + Op.SSTORE(key=Op.MULMOD, value=Op.OR) - ), + # Source: raw + # 0x434241314441434293170955 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.TIMESTAMP + + Op.BALANCE(address=Op.COINBASE) + + Op.PREVRANDAO + + Op.COINBASE + + Op.NUMBER + + Op.TIMESTAMP + + Op.SWAP4 + + Op.SSTORE(key=Op.MULMOD, value=Op.OR), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=contract_0, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={57403: 1000}), + contract_0: Account(storage={57403: 1000, 0xD9250A4F8C: 0}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest247.py b/tests/ported_static/stRandom/test_random_statetest247.py index 8d0f0ce7d04..06fb8df03c8 100644 --- a/tests/ported_static/stRandom/test_random_statetest247.py +++ b/tests/ported_static/stRandom/test_random_statetest247.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest247. Ported from: -tests/static/state_tests/stRandom/randomStatetest247Filler.json +state_tests/stRandom/randomStatetest247Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest247Filler.json"], + ["state_tests/stRandom/randomStatetest247Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest247( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest247.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,75 +46,63 @@ def test_random_statetest247( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 3 + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.DIV( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xC350], + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x740EE9EF0E712991D2C790720D0EA65B7E4F6FE9), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.DIV( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xC350], - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x740ee9ef0e712991d2c790720d0ea65b7e4f6fe9"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe04" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe04" # noqa: E501 ), gas_limit=100000, - value=1135930745, + value=0x43B4ED79, ) post = { - contract: Account( + target: Account( storage={ 0: 0x14F8B588E368F08461F9F01B866E43AA79BBADC0980B242070B8CFBFC6540, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest248.py b/tests/ported_static/stRandom/test_random_statetest248.py index 948f84a1f98..d25af824e49 100644 --- a/tests/ported_static/stRandom/test_random_statetest248.py +++ b/tests/ported_static/stRandom/test_random_statetest248.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest248. Ported from: -tests/static/state_tests/stRandom/randomStatetest248Filler.json +state_tests/stRandom/randomStatetest248Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest248Filler.json"], + ["state_tests/stRandom/randomStatetest248Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest248( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest248.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,63 @@ def test_random_statetest248( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001427f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8636f2599055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.CALLCODE( + gas=Op.CALLDATASIZE, + address=Op.DUP7, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_offset=Op.PUSH32[0x0], + args_size=Op.PUSH32[0xC350], + ret_offset=Op.TIMESTAMP, + ret_size=Op.PUSH32[0x1], + ) + + Op.MSIZE + + Op.SWAP1 + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x6131276E33583C2356C9AC9B9EB5EEC9999EF591), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.CALLCODE( - gas=Op.CALLDATASIZE, - address=Op.DUP7, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - args_offset=Op.PUSH32[0x0], - args_size=Op.PUSH32[0xC350], - ret_offset=Op.TIMESTAMP, - ret_size=Op.PUSH32[0x1], - ) - + Op.MSIZE - + Op.SWAP1 - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x6131276e33583c2356c9ac9b9eb5eec9999ef591"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000001427f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff8636f25990" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001427f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8636f25990" # noqa: E501 ), gas_limit=100000, - value=549769638, + value=0x20C4D1A6, ) post = { - contract: Account(storage={0: 50016}), + target: Account(storage={0: 50016}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest249.py b/tests/ported_static/stRandom/test_random_statetest249.py index f96a33c29aa..cfae8533c5f 100644 --- a/tests/ported_static/stRandom/test_random_statetest249.py +++ b/tests/ported_static/stRandom/test_random_statetest249.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest249. Ported from: -tests/static/state_tests/stRandom/randomStatetest249Filler.json +state_tests/stRandom/randomStatetest249Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest249Filler.json"], + ["state_tests/stRandom/randomStatetest249Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest249( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest249.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,57 @@ def test_random_statetest249( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SLT( - Op.PUSH32[0x0], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.DUP1 - + Op.CODECOPY( - dest_offset=Op.PUSH32[0x0], - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=Op.PUSH32[0x1], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000012807f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000003960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SLT( + Op.PUSH32[0x0], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.DUP1 + + Op.CODECOPY( + dest_offset=Op.PUSH32[0x0], + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=Op.PUSH32[0x1], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x315a0a977eade1395b4c6a0b078c1ef3cfaf03b9"), # noqa: E501 + address=Address(0x315A0A977EADE1395B4C6A0B078C1EF3CFAF03B9), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000012807f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000017f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000039" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000012807f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000039" # noqa: E501 ), gas_limit=100000, - value=1871659531, + value=0x6F8F420B, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest25.py b/tests/ported_static/stRandom/test_random_statetest25.py index 1e73e99f8a8..1a57eb69d60 100644 --- a/tests/ported_static/stRandom/test_random_statetest25.py +++ b/tests/ported_static/stRandom/test_random_statetest25.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest25. Ported from: -tests/static/state_tests/stRandom/randomStatetest25Filler.json +state_tests/stRandom/randomStatetest25Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest25Filler.json"], + ["state_tests/stRandom/randomStatetest25Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest25( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest25.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,131 +46,47 @@ def test_random_statetest25( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x427f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000010000000000000000000000000000000000000000437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6844f1389163a444405b123678749c55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "427f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "00000000000000000000010000000000000000000000000000000000000000437f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff807f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe6844f1389163a444405b1236" # noqa: E501 - "78749c55" + "427f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000010000000000000000000000000000000000000000437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6844f1389163a444405b123678749c55" # noqa: E501 ), nonce=0, - address=Address("0xa4ba89aea3bba17580e93a80135f218628a68101"), # noqa: E501 + address=Address(0xA4BA89AEA3BBA17580E93A80135F218628A68101), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "427f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "00000000000000000000010000000000000000000000000000000000000000437f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff807f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe6844f1389163a444405b1236" # noqa: E501 - "78749c" - ), - gas_limit=100000, - value=1931404496, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest25Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest25_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "427f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "00000000000000000000010000000000000000000000000000000000000000437f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff807f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe6844f1389163a444405b1236" # noqa: E501 - "78749c55" - ), - nonce=0, - address=Address("0xa4ba89aea3bba17580e93a80135f218628a68101"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "427f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "00000000000000000000010000000000000000000000000000000000000000437f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff807f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe6844f1389163a444405b1236" # noqa: E501 - "78749c" + to=target, + data=Bytes( + "427f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000010000000000000000000000000000000000000000437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6844f1389163a444405b123678749c" # noqa: E501 ), gas_limit=100000, - value=1931404496, + value=0x731EE4D0, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest250.py b/tests/ported_static/stRandom/test_random_statetest250.py index b732261e16e..840be0eca9e 100644 --- a/tests/ported_static/stRandom/test_random_statetest250.py +++ b/tests/ported_static/stRandom/test_random_statetest250.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest250. Ported from: -tests/static/state_tests/stRandom/randomStatetest250Filler.json +state_tests/stRandom/randomStatetest250Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest250Filler.json"], + ["state_tests/stRandom/randomStatetest250Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest250( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest250.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,94 +46,63 @@ def test_random_statetest250( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH3[0x7F0000] - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.ADD - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.MUL( - 0x328B186E166407917C7AF1, - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.SWAP3 - + Op.POP - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x557ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000627f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000006a328b186e166407917c7af102925060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH3[0x7F0000] + + Op.STOP * 9 + + Op.ADD + + Op.STOP * 20 + + Op.MUL( + 0x328B186E166407917C7AF1, + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + ) + + Op.SWAP3 + + Op.POP + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x089927daf7e20b167e29c7dc686d18639371e6bf"), # noqa: E501 + address=Address(0x089927DAF7E20B167E29C7DC686D18639371E6BF), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "557ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e79627f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "4f3f701464972e74606d6ea82d4d3080599a0e796a328b186e166407917c7af1029250" # noqa: E501 + to=target, + data=Bytes( + "557ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79627f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796a328b186e166407917c7af1029250" # noqa: E501 ), gas_limit=100000, - value=1535680761, + value=0x5B88A0F9, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest251.py b/tests/ported_static/stRandom/test_random_statetest251.py index 9e85cdaba41..c9bb1b29d08 100644 --- a/tests/ported_static/stRandom/test_random_statetest251.py +++ b/tests/ported_static/stRandom/test_random_statetest251.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest251. Ported from: -tests/static/state_tests/stRandom/randomStatetest251Filler.json +state_tests/stRandom/randomStatetest251Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest251Filler.json"], + ["state_tests/stRandom/randomStatetest251Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest251( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest251.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,127 +46,47 @@ def test_random_statetest251( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f0000000000000000000000000000000000000000000000000000000000000000447f000000000000000000000000000000000000000000000000000000000000c3505b7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000000000000000000000000000000000006867f1 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000000447f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3505b7f000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000c3507fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe417f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000006867f1" + "7f0000000000000000000000000000000000000000000000000000000000000000447f000000000000000000000000000000000000000000000000000000000000c3505b7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000000000000000000000000000000000006867f1" # noqa: E501 ), nonce=0, - address=Address("0x75a7d42b361ca2ff027b1cbc1418d431d3c31f27"), # noqa: E501 + address=Address(0x75A7D42B361CA2FF027B1CBC1418D431D3C31F27), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000000447f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3505b7f000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000c3507fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe417f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000006867f1" - ), - gas_limit=100000, - value=395877699, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest251Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest251_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000000447f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3505b7f000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000c3507fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe417f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000006867f1" - ), - nonce=0, - address=Address("0x75a7d42b361ca2ff027b1cbc1418d431d3c31f27"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000000447f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3505b7f000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000c3507fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe417f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000006867f1" + to=target, + data=Bytes( + "7f0000000000000000000000000000000000000000000000000000000000000000447f000000000000000000000000000000000000000000000000000000000000c3505b7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000000000000000000000000000000000006867f1" # noqa: E501 ), gas_limit=100000, - value=395877699, + value=0x17989D43, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest252.py b/tests/ported_static/stRandom/test_random_statetest252.py index 462cfdf0ec6..ca773f8282f 100644 --- a/tests/ported_static/stRandom/test_random_statetest252.py +++ b/tests/ported_static/stRandom/test_random_statetest252.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest252. Ported from: -tests/static/state_tests/stRandom/randomStatetest252Filler.json +state_tests/stRandom/randomStatetest252Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest252Filler.json"], + ["state_tests/stRandom/randomStatetest252Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest252( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest252.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,105 +46,44 @@ def test_random_statetest252( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x387b414543444043899e863a628b55 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("387b414543444043899e863a628b55"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcb10591583644b914d53d1d9538866320d00bad3"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("42"), - gas_limit=400000, - value=100000, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest252Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest252_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, + address=Address(0xCB10591583644B914D53D1D9538866320D00BAD3), # noqa: E501 ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex("387b414543444043899e863a628b55"), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xcb10591583644b914d53d1d9538866320d00bad3"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest254.py b/tests/ported_static/stRandom/test_random_statetest254.py index ae60d4e753c..56f7f235f77 100644 --- a/tests/ported_static/stRandom/test_random_statetest254.py +++ b/tests/ported_static/stRandom/test_random_statetest254.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest254. Ported from: -tests/static/state_tests/stRandom/randomStatetest254Filler.json +state_tests/stRandom/randomStatetest254Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest254Filler.json"], + ["state_tests/stRandom/randomStatetest254Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest254( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest254.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,61 @@ def test_random_statetest254( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.COINBASE - + Op.COINBASE - + Op.PUSH32[0x1] - + Op.PREVRANDAO - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x59B6B83F294740688598C52195A9255, - ) + # Source: raw + # 0x7f000000000000000000000001000000000000000000000000000000000000000041417f0000000000000000000000000000000000000000000000000000000000000001447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3506f059b6b83f294740688598c52195a925560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.COINBASE * 2 + + Op.PUSH32[0x1] + + Op.PREVRANDAO + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x59B6B83F294740688598C52195A9255 ), nonce=0, - address=Address("0x1a010369492af6ebbef28866f232f3f2649a86e3"), # noqa: E501 + address=Address(0x1A010369492AF6EBBEF28866F232F3F2649A86E3), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000001000000000000000000000000000000000000000041417f" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000000001447fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3506f059b6b83f294740688598c" # noqa: E501 - "52195a92" + to=target, + data=Bytes( + "7f000000000000000000000001000000000000000000000000000000000000000041417f0000000000000000000000000000000000000000000000000000000000000001447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3506f059b6b83f294740688598c52195a92" # noqa: E501 ), gas_limit=100000, - value=1544798975, + value=0x5C13C2FF, ) post = { - contract: Account(storage={0: 0x59B6B83F294740688598C52195A9255}), + target: Account( + storage={0: 0x59B6B83F294740688598C52195A9255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest257.py b/tests/ported_static/stRandom/test_random_statetest257.py index e0b6925ba9c..28530d23ed7 100644 --- a/tests/ported_static/stRandom/test_random_statetest257.py +++ b/tests/ported_static/stRandom/test_random_statetest257.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest257. Ported from: -tests/static/state_tests/stRandom/randomStatetest257Filler.json +state_tests/stRandom/randomStatetest257Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest257Filler.json"], + ["state_tests/stRandom/randomStatetest257Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest257( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest257.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,52 +46,47 @@ def test_random_statetest257( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff337f000000000000000000000000000000000000000000000000000000000000000099447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350735b9f81208b6f526655 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff337f000000000000000000000000000000000000000000000000000000000000000099447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350735b9f81208b6f526655" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x85004625C8C4EAAAFED36A6ECB4835FDEA0F2B6B), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff337f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000099447fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c350735b9f81208b6f526655" # noqa: E501 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x85004625c8c4eaaafed36a6ecb4835fdea0f2b6b"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff337f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000099447fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c350735b9f81208b6f5266" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff337f000000000000000000000000000000000000000000000000000000000000000099447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350735b9f81208b6f5266" # noqa: E501 ), gas_limit=100000, - value=519689383, + value=0x1EF9D4A7, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest259.py b/tests/ported_static/stRandom/test_random_statetest259.py index b8e6ee5a2f2..743a4de5e92 100644 --- a/tests/ported_static/stRandom/test_random_statetest259.py +++ b/tests/ported_static/stRandom/test_random_statetest259.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest259. Ported from: -tests/static/state_tests/stRandom/randomStatetest259Filler.json +state_tests/stRandom/randomStatetest259Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest259Filler.json"], + ["state_tests/stRandom/randomStatetest259Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest259( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest259.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,59 @@ def test_random_statetest259( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506f04831adc0812f095449274079007095560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.PC + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x4831ADC0812F0954492740790070955 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x55C5E809A00F9BD86D7E2F6EDAE5D54B76B881FF), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PC - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x4831ADC0812F0954492740790070955, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x55c5e809a00f9bd86d7e2f6edae5d54b76b881ff"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000001587fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3506f04831adc0812f09544927407900709" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506f04831adc0812f09544927407900709" # noqa: E501 ), gas_limit=100000, - value=250917223, + value=0xEF4B167, ) post = { - contract: Account(storage={0: 0x4831ADC0812F0954492740790070955}), + target: Account( + storage={0: 0x4831ADC0812F0954492740790070955}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest26.py b/tests/ported_static/stRandom/test_random_statetest26.py index ee60c9779a1..57a6f8271e9 100644 --- a/tests/ported_static/stRandom/test_random_statetest26.py +++ b/tests/ported_static/stRandom/test_random_statetest26.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest26. Ported from: -tests/static/state_tests/stRandom/randomStatetest26Filler.json +state_tests/stRandom/randomStatetest26Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest26Filler.json"], + ["state_tests/stRandom/randomStatetest26Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest26( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest26.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,50 +46,52 @@ def test_random_statetest26( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.TIMESTAMP - + Op.TIMESTAMP - + Op.PREVRANDAO - + Op.JUMPDEST - + Op.SSTORE(key=Op.SMOD, value=Op.BALANCE(address=Op.COINBASE)) - ), + # Source: raw + # 0x434242445b41310755 + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.TIMESTAMP * 2 + + Op.PREVRANDAO + + Op.JUMPDEST + + Op.SSTORE(key=Op.SMOD, value=Op.BALANCE(address=Op.COINBASE)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x40c94440235e91bd2d3e4555b8663698dc80d6ca"), # noqa: E501 + address=Address(0x40C94440235E91BD2D3E4555B8663698DC80D6CA), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={46: 1000}), + target: Account( + storage={46: 1000}, + balance=0xDE0B6B3A76586A0, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest260.py b/tests/ported_static/stRandom/test_random_statetest260.py index 3be09743b20..99815fa7703 100644 --- a/tests/ported_static/stRandom/test_random_statetest260.py +++ b/tests/ported_static/stRandom/test_random_statetest260.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest260. Ported from: -tests/static/state_tests/stRandom/randomStatetest260Filler.json +state_tests/stRandom/randomStatetest260Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest260Filler.json"], + ["state_tests/stRandom/randomStatetest260Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest260( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest260.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,59 +46,54 @@ def test_random_statetest260( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350f36409156a6aa261413b56f20855 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.LOG0(offset=Op.PUSH32[0x1], size=Op.PUSH32[0xC350]) + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] + + Op.RETURN(offset=Op.PUSH32[0xC350], size=Op.PUSH32[0xC350]) + + Op.PUSH5[0x9156A6AA2] + + Op.JUMP(pc=0x413B) + + Op.SSTORE(key=Op.ADDMOD, value=Op.CALLCODE), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x912E90647207810A8FA1F685D7CD4A5BAA06E85D), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.LOG0(offset=Op.PUSH32[0x1], size=Op.PUSH32[0xC350]) - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.RETURN(offset=Op.PUSH32[0xC350], size=Op.PUSH32[0xC350]) - + Op.PUSH5[0x9156A6AA2] - + Op.JUMP(pc=0x413B) - + Op.SSTORE(key=Op.ADDMOD, value=Op.CALLCODE) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x912e90647207810a8fa1f685d7cd4a5baa06e85d"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000001a07fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c350f36409156a6aa261413b56f208" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350f36409156a6aa261413b56f208" # noqa: E501 ), gas_limit=500000, - value=1762323696, + value=0x690AECF0, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest261.py b/tests/ported_static/stRandom/test_random_statetest261.py index 2a1e54d04ac..cd1f42684ca 100644 --- a/tests/ported_static/stRandom/test_random_statetest261.py +++ b/tests/ported_static/stRandom/test_random_statetest261.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest261. Ported from: -tests/static/state_tests/stRandom/randomStatetest261Filler.json +state_tests/stRandom/randomStatetest261Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest261Filler.json"], + ["state_tests/stRandom/randomStatetest261Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest261( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest261.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest261( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f0000000000000000000000000000000000000000000000000000000000000000447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000001231b61993 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000000447fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000" # noqa: E501 - "000000000000000000000000000000001231b61993" + "7f0000000000000000000000000000000000000000000000000000000000000000447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000001231b61993" # noqa: E501 ), nonce=0, - address=Address("0x439f60d09ba1d7e67458e16721b402ea66bb69ef"), # noqa: E501 + address=Address(0x439F60D09BA1D7E67458E16721B402EA66BB69EF), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000000447fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000" # noqa: E501 - "000000000000000000000000000000001231b61993" + to=target, + data=Bytes( + "7f0000000000000000000000000000000000000000000000000000000000000000447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000001231b61993" # noqa: E501 ), gas_limit=100000, - value=352016044, + value=0x14FB56AC, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest263.py b/tests/ported_static/stRandom/test_random_statetest263.py index 5e26b98e4e4..be0119ce632 100644 --- a/tests/ported_static/stRandom/test_random_statetest263.py +++ b/tests/ported_static/stRandom/test_random_statetest263.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest263. Ported from: -tests/static/state_tests/stRandom/randomStatetest263Filler.json +state_tests/stRandom/randomStatetest263Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest263Filler.json"], + ["state_tests/stRandom/randomStatetest263Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,9 @@ def test_random_statetest263( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest263.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,72 +48,66 @@ def test_random_statetest263( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.DUP1 - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x556000), - value=Op.XOR( - Op.DIV( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xC350], - ), - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + # Source: raw + # 0x7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5807f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0418625560005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.DUP1 + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x556000), + value=Op.XOR( + Op.DIV( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xC350], ), - ) + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + ), ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5807f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe041862" + to=contract_0, + data=Bytes( + "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5807f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe041862" # noqa: E501 ), gas_limit=2038963641, - value=767067244, + value=0x2DB8846C, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x14F8B588E368F08461F9F95EB620FACA1C09044BCFAFAE26DE901D3A614F5, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest264.py b/tests/ported_static/stRandom/test_random_statetest264.py index d75d7c4c867..3bab4e44d25 100644 --- a/tests/ported_static/stRandom/test_random_statetest264.py +++ b/tests/ported_static/stRandom/test_random_statetest264.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest264. Ported from: -tests/static/state_tests/stRandom/randomStatetest264Filler.json +state_tests/stRandom/randomStatetest264Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest264Filler.json"], + ["state_tests/stRandom/randomStatetest264Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest264( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest264.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,58 @@ def test_random_statetest264( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.TIMESTAMP + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), + value=Op.PUSH32[0x1], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC3FDD8CBA888F2C918DDC3B417AA58966E99B219), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.TIMESTAMP - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - value=Op.PUSH32[0x1], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc3fdd8cba888f2c918ddc3b417aa58966e99b219"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=1165785335, + value=0x457C78F7, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest265.py b/tests/ported_static/stRandom/test_random_statetest265.py index 4f947aa77e4..761374323f9 100644 --- a/tests/ported_static/stRandom/test_random_statetest265.py +++ b/tests/ported_static/stRandom/test_random_statetest265.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest265. Ported from: -tests/static/state_tests/stRandom/randomStatetest265Filler.json +state_tests/stRandom/randomStatetest265Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest265Filler.json"], + ["state_tests/stRandom/randomStatetest265Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest265( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest265.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest265( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3503b7f000000000000000000000000000000000000000000000000000000000000c3506a7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000745b9b824070397f921960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3503b7f000000000000000000000000000000000000000000000000000000000000c3506a7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000745b9b824070397f921960005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x897196687E79DB7A21310478E9BA6CC9D6C1209E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3503b7f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3506a7f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000017f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000001" # noqa: E501 - "0000000000000000000000000000000000000000745b9b824070397f921960005155" # noqa: E501 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x897196687e79db7a21310478e9ba6cc9d6c1209e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3503b7f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3506a7f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000017f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000001" # noqa: E501 - "0000000000000000000000000000000000000000745b9b824070397f9219" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3503b7f000000000000000000000000000000000000000000000000000000000000c3506a7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000745b9b824070397f9219" # noqa: E501 ), gas_limit=100000, - value=571967067, + value=0x2217865B, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest266.py b/tests/ported_static/stRandom/test_random_statetest266.py index 1181525588d..c0070a5f7c5 100644 --- a/tests/ported_static/stRandom/test_random_statetest266.py +++ b/tests/ported_static/stRandom/test_random_statetest266.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest266. Ported from: -tests/static/state_tests/stRandom/randomStatetest266Filler.json +state_tests/stRandom/randomStatetest266Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest266Filler.json"], + ["state_tests/stRandom/randomStatetest266Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest266( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest266.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,61 +46,57 @@ def test_random_statetest266( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV(Op.COINBASE, Op.ADDRESS) - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.PUSH32[0x0], - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.SSTORE - + Op.SWAP5 - + Op.JUMP - + Op.PUSH8[0x793459633C993060] - + Op.STOP - + Op.MLOAD - + Op.SSTORE - ), + # Source: raw + # 0x3041047f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000005555945667793459633c993060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.DIV(Op.COINBASE, Op.ADDRESS) + + Op.PUSH32[0x0] * 2 + + Op.SSTORE( + key=Op.PUSH32[0x0], + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ) + + Op.SSTORE + + Op.SWAP5 + + Op.JUMP + + Op.PUSH8[0x793459633C993060] + + Op.STOP + + Op.MLOAD + + Op.SSTORE, nonce=0, - address=Address("0x118b2fa6cfab667c42ccb5c5eeee4dc3af2cae15"), # noqa: E501 + address=Address(0x118B2FA6CFAB667C42CCB5C5EEEE4DC3AF2CAE15), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "3041047f0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "7f00000000000000000000000000000000000000000000000000000000000000007fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000555594566779345963" # noqa: E501 - "3c9930" + to=target, + data=Bytes( + "3041047f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000005555945667793459633c9930" # noqa: E501 ), gas_limit=100000, - value=249765705, + value=0xEE31F49, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest267.py b/tests/ported_static/stRandom/test_random_statetest267.py index 224a099f38b..f535268e398 100644 --- a/tests/ported_static/stRandom/test_random_statetest267.py +++ b/tests/ported_static/stRandom/test_random_statetest267.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest267. Ported from: -tests/static/state_tests/stRandom/randomStatetest267Filler.json +state_tests/stRandom/randomStatetest267Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest267Filler.json"], + ["state_tests/stRandom/randomStatetest267Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest267( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest267.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,66 +47,61 @@ def test_random_statetest267( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PREVRANDAO - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=0xB5A132776D398E3B7C14686A07346F600051, - value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 - ) + # Source: raw + # 0x447f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000000000000000000000000000000000000000007e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5a132776d398e3b7c14686a07346f60005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PREVRANDAO + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=0xB5A132776D398E3B7C14686A07346F600051, + value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "447f000000000000000000000000000000000000000000000000000000000000c3507fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000" # noqa: E501 - "000000000000000100000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "0000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007e7f000000000000000000000000" # noqa: E501 - "945304eb96065b2a98b57a48a06ae28d285a71b5a132776d398e3b7c14686a07346f" # noqa: E501 + to=contract_0, + data=Bytes( + "447f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000000000000000000000000000000000000000007e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5a132776d398e3b7c14686a07346f" # noqa: E501 ), gas_limit=100000, - value=256968366, + value=0xF5106AE, ) post = { - contract: Account( + contract_0: Account( storage={ 0xB5A132776D398E3B7C14686A07346F600051: 0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest268.py b/tests/ported_static/stRandom/test_random_statetest268.py index e9d7378252f..aea0f21b0e2 100644 --- a/tests/ported_static/stRandom/test_random_statetest268.py +++ b/tests/ported_static/stRandom/test_random_statetest268.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest268. Ported from: -tests/static/state_tests/stRandom/randomStatetest268Filler.json +state_tests/stRandom/randomStatetest268Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest268Filler.json"], + ["state_tests/stRandom/randomStatetest268Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest268( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest268.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest268( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000016f7466f0a0733d8632639340634094425560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7466F0A0733D86326393406340944255 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD08041E77CE5A71EF2702EC933DC4F4377406A27), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7466F0A0733D86326393406340944255, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd08041e77ce5a71ef2702ec933dc4f4377406a27"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000016f7466f0a0733d863263934063409442" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000016f7466f0a0733d863263934063409442" # noqa: E501 ), gas_limit=100000, - value=593549642, + value=0x2360D94A, ) post = { - contract: Account(storage={0: 0x7466F0A0733D86326393406340944255}), + target: Account( + storage={0: 0x7466F0A0733D86326393406340944255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest269.py b/tests/ported_static/stRandom/test_random_statetest269.py index bbd301fc153..28e9f509afe 100644 --- a/tests/ported_static/stRandom/test_random_statetest269.py +++ b/tests/ported_static/stRandom/test_random_statetest269.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest269. Ported from: -tests/static/state_tests/stRandom/randomStatetest269Filler.json +state_tests/stRandom/randomStatetest269Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest269Filler.json"], + ["state_tests/stRandom/randomStatetest269Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest269( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest269.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,62 @@ def test_random_statetest269( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.DIV( - 0x76029968FFA27D, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6676029968ffa27d0455 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.DIV( + 0x76029968FFA27D, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), nonce=0, - address=Address("0x406aae16e0d6f5cbb11d327d208f8ebc342a7d5b"), # noqa: E501 + address=Address(0x406AAE16E0D6F5CBB11D327D208F8EBC342A7D5B), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe6676029968ffa27d04" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6676029968ffa27d04" # noqa: E501 ), gas_limit=100000, - value=1239417538, + value=0x49E002C2, ) post = { - contract: Account( + target: Account( storage={0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest27.py b/tests/ported_static/stRandom/test_random_statetest27.py index f325ca4c7d2..7f7e030dba1 100644 --- a/tests/ported_static/stRandom/test_random_statetest27.py +++ b/tests/ported_static/stRandom/test_random_statetest27.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest27. Ported from: -tests/static/state_tests/stRandom/randomStatetest27Filler.json +state_tests/stRandom/randomStatetest27Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest27Filler.json"], + ["state_tests/stRandom/randomStatetest27Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest27( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest27.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,62 @@ def test_random_statetest27( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000000960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + Op.PUSH32[0x10000000000000000000000000000000000000000], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7474A32FA320E72DFE3023106276E5D2B810D1F4), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - Op.PUSH32[0x10000000000000000000000000000000000000000], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7474a32fa320e72dfe3023106276e5d2b810d1f4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000" # noqa: E501 - "00000000000000000000000009" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000001000000000000000000000000000000000000000009" # noqa: E501 ), gas_limit=100000, - value=541933198, + value=0x204D3E8E, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001FFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest270.py b/tests/ported_static/stRandom/test_random_statetest270.py index 9875032773f..35d8d849e21 100644 --- a/tests/ported_static/stRandom/test_random_statetest270.py +++ b/tests/ported_static/stRandom/test_random_statetest270.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest270. Ported from: -tests/static/state_tests/stRandom/randomStatetest270Filler.json +state_tests/stRandom/randomStatetest270Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest270Filler.json"], + ["state_tests/stRandom/randomStatetest270Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest270( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest270.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,71 +46,65 @@ def test_random_statetest270( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.CODECOPY( - dest_offset=Op.PUSH32[0x1], - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=Op.PUSH32[0xC350], - ) - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x427f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001395560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.TIMESTAMP + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] + + Op.CODECOPY( + dest_offset=Op.PUSH32[0x1], + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=Op.PUSH32[0xC350], + ) + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x2ef12d7c660739849fa667bc47e3800325185541"), # noqa: E501 + address=Address(0x2EF12D7C660739849FA667BC47E3800325185541), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f00000000000000000000000100" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000139" + to=target, + data=Bytes( + "427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000139" # noqa: E501 ), gas_limit=100000, - value=1633146389, + value=0x6157D615, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 50000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest271.py b/tests/ported_static/stRandom/test_random_statetest271.py index 914f8f34e5d..5ed18719793 100644 --- a/tests/ported_static/stRandom/test_random_statetest271.py +++ b/tests/ported_static/stRandom/test_random_statetest271.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest271. Ported from: -tests/static/state_tests/stRandom/randomStatetest271Filler.json +state_tests/stRandom/randomStatetest271Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest271Filler.json"], + ["state_tests/stRandom/randomStatetest271Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest271( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest271.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,129 +46,47 @@ def test_random_statetest271( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f0000000000000000000000000000000000000000000000000000000000000001457f000000000000000000000000000000000000000000000000000000000000c350417f0000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000357f00000000000000000000000000000000000000000000000000000000000000000b6d7d958a0269995560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000001457f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c350417f000000" # noqa: E501 - "0000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000357f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000b6d7d958a02699955600051" # noqa: E501 - "55" + "7f0000000000000000000000000000000000000000000000000000000000000001457f000000000000000000000000000000000000000000000000000000000000c350417f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000000000000000000000000000000000357f00000000000000000000000000000000000000000000000000000000000000000b6d7d958a0269995560005155" # noqa: E501 ), nonce=0, - address=Address("0xb45f31dd95616972767dd62e9b996e22566aaec1"), # noqa: E501 + address=Address(0xB45F31DD95616972767DD62E9B996E22566AAEC1), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000001457f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c350417f000000" # noqa: E501 - "0000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000357f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000b6d7d958a026999" - ), - gas_limit=100000, - value=193990328, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest271Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest271_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000001457f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c350417f000000" # noqa: E501 - "0000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000357f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000b6d7d958a02699955600051" # noqa: E501 - "55" - ), - nonce=0, - address=Address("0xb45f31dd95616972767dd62e9b996e22566aaec1"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000001457f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c350417f000000" # noqa: E501 - "0000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000357f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000b6d7d958a026999" + to=target, + data=Bytes( + "7f0000000000000000000000000000000000000000000000000000000000000001457f000000000000000000000000000000000000000000000000000000000000c350417f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000000000000000000000000000000000357f00000000000000000000000000000000000000000000000000000000000000000b6d7d958a026999" # noqa: E501 ), gas_limit=100000, - value=193990328, + value=0xB900EB8, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest273.py b/tests/ported_static/stRandom/test_random_statetest273.py index 0a30577e622..8aea76827b9 100644 --- a/tests/ported_static/stRandom/test_random_statetest273.py +++ b/tests/ported_static/stRandom/test_random_statetest273.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest273. Ported from: -tests/static/state_tests/stRandom/randomStatetest273Filler.json +state_tests/stRandom/randomStatetest273Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest273Filler.json"], + ["state_tests/stRandom/randomStatetest273Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest273( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest273.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,55 +46,59 @@ def test_random_statetest273( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x4342424343425b4495fff04285609955 + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.TIMESTAMP * 2 + + Op.NUMBER * 2 + + Op.TIMESTAMP + + Op.JUMPDEST + + Op.PREVRANDAO + + Op.SWAP6 + + Op.SELFDESTRUCT + + Op.CREATE + + Op.TIMESTAMP + + Op.SSTORE(key=0x99, value=Op.DUP6), + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5F82DA708C6F5A1F5C2E84CD0239DAD1EDB623AA), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.TIMESTAMP - + Op.TIMESTAMP - + Op.NUMBER - + Op.NUMBER - + Op.TIMESTAMP - + Op.JUMPDEST - + Op.PREVRANDAO - + Op.SWAP6 - + Op.SELFDESTRUCT - + Op.CREATE - + Op.TIMESTAMP - + Op.SSTORE(key=0x99, value=Op.DUP6) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0x5f82da708c6f5a1f5c2e84cd0239dad1edb623aa"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000001): Account( + storage={}, + code=b"", + balance=0xDE0B6B3A76586A0, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest274.py b/tests/ported_static/stRandom/test_random_statetest274.py index 6f97e1d7ac7..faa36bae460 100644 --- a/tests/ported_static/stRandom/test_random_statetest274.py +++ b/tests/ported_static/stRandom/test_random_statetest274.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest274. Ported from: -tests/static/state_tests/stRandom/randomStatetest274Filler.json +state_tests/stRandom/randomStatetest274Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest274Filler.json"], + ["state_tests/stRandom/randomStatetest274Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest274( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest274.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,61 @@ def test_random_statetest274( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffffa405457f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000088015a9a0542a13a051497514215 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.LOG4 + + Op.SDIV + + Op.GASLIMIT + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.ADD( + Op.DUP9, Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + ) + + Op.GAS + + Op.SWAP11 + + Op.SDIV + + Op.TIMESTAMP + + Op.LOG1 + + Op.EQ(Op.SDIV, Op.GASPRICE) + + Op.SWAP8 + + Op.MLOAD + + Op.ISZERO(Op.TIMESTAMP), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x89CD1261AD57A9678AC21ADB1C06750567D685F4), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.LOG4 - + Op.SDIV - + Op.GASLIMIT - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.ADD( - Op.DUP9, - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.GAS - + Op.SWAP11 - + Op.SDIV - + Op.TIMESTAMP - + Op.LOG1 - + Op.EQ(Op.SDIV, Op.GASPRICE) - + Op.SWAP8 - + Op.MLOAD - + Op.ISZERO(Op.TIMESTAMP) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x89cd1261ad57a9678ac21adb1c06750567d685f4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffffa40545" # noqa: E501 - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7988015a9a0542" # noqa: E501 - "a13a051497514215" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffffa405457f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7988015a9a0542a13a051497514215" # noqa: E501 ), gas_limit=100000, - value=191496672, + value=0xB6A01E0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest275.py b/tests/ported_static/stRandom/test_random_statetest275.py index a23960961bf..f2446be9245 100644 --- a/tests/ported_static/stRandom/test_random_statetest275.py +++ b/tests/ported_static/stRandom/test_random_statetest275.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest275. Ported from: -tests/static/state_tests/stRandom/randomStatetest275Filler.json +state_tests/stRandom/randomStatetest275Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest275Filler.json"], + ["state_tests/stRandom/randomStatetest275Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest275( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest275.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,143 +46,57 @@ def test_random_statetest275( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=0x6756323C5974, - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.NOT(Op.PUSH32[0x0]), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x437f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000197ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09656756323c597455 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=0x6756323C5974, + value=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.NOT(Op.PUSH32[0x0]), + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), nonce=0, - address=Address("0x69d3e12fb87d7effeb9ded3d46879ebe02925b4e"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "437f000000000000000000000000000000000000000000000000000000000000c3507fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000197fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe09656756323c5974" - ), - gas_limit=100000, - value=4157391, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest275Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest275_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, + address=Address(0x69D3E12FB87D7EFFEB9DED3D46879EBE02925B4E), # noqa: E501 ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=0x6756323C5974, - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.NOT(Op.PUSH32[0x0]), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - ), - nonce=0, - address=Address("0x69d3e12fb87d7effeb9ded3d46879ebe02925b4e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "437f000000000000000000000000000000000000000000000000000000000000c3507fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000197fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe09656756323c5974" + to=target, + data=Bytes( + "437f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000197ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09656756323c5974" # noqa: E501 ), gas_limit=100000, - value=4157391, + value=0x3F6FCF, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest276.py b/tests/ported_static/stRandom/test_random_statetest276.py index 43270802721..6121acfce3e 100644 --- a/tests/ported_static/stRandom/test_random_statetest276.py +++ b/tests/ported_static/stRandom/test_random_statetest276.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest276. Ported from: -tests/static/state_tests/stRandom/randomStatetest276Filler.json +state_tests/stRandom/randomStatetest276Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest276Filler.json"], + ["state_tests/stRandom/randomStatetest276Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest276( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest276.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,61 @@ def test_random_statetest276( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x4382349F7B370589141A31F39741A4F2, - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f4382349f7b370589141a31f39741a4f260005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x4382349F7B370589141A31F39741A4F2 ), nonce=0, - address=Address("0x1f9cca33c13444772d26e92e73e175c370115899"), # noqa: E501 + address=Address(0x1F9CCA33C13444772D26E92E73E175C370115899), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff6f4382349f7b370589141a31f39741a4f2" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f4382349f7b370589141a31f39741a4f2" # noqa: E501 ), gas_limit=100000, - value=1026778874, + value=0x3D3366FA, ) post = { - contract: Account(storage={0: 0x4382349F7B370589141A31F39741A4F2}), + target: Account( + storage={0: 0x4382349F7B370589141A31F39741A4F2}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest278.py b/tests/ported_static/stRandom/test_random_statetest278.py index ced86845b4f..c7b49dd427a 100644 --- a/tests/ported_static/stRandom/test_random_statetest278.py +++ b/tests/ported_static/stRandom/test_random_statetest278.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest278. Ported from: -tests/static/state_tests/stRandom/randomStatetest278Filler.json +state_tests/stRandom/randomStatetest278Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest278Filler.json"], + ["state_tests/stRandom/randomStatetest278Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest278( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest278.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,61 @@ def test_random_statetest278( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.CALLDATACOPY( - dest_offset=Op.PUSH32[0x1], - offset=Op.PUSH32[0x0], - size=Op.PUSH32[0xC350], - ) - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001377f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.CALLDATACOPY( + dest_offset=Op.PUSH32[0x1], + offset=Op.PUSH32[0x0], + size=Op.PUSH32[0xC350], + ) + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), nonce=0, - address=Address("0x1d936f55367466335bc4ab5780632a25a82a23ad"), # noqa: E501 + address=Address(0x1D936F55367466335BC4AB5780632A25A82A23AD), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000001377f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001377f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" # noqa: E501 ), gas_limit=100000, - value=1577249919, + value=0x5E02EC7F, ) post = { - contract: Account( + target: Account( storage={ 0x7F000000000000000000000000000000000000000000000000000000000000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest279.py b/tests/ported_static/stRandom/test_random_statetest279.py index 28581d39e9c..a30ec6c5fd9 100644 --- a/tests/ported_static/stRandom/test_random_statetest279.py +++ b/tests/ported_static/stRandom/test_random_statetest279.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest279. Ported from: -tests/static/state_tests/stRandom/randomStatetest279Filler.json +state_tests/stRandom/randomStatetest279Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest279Filler.json"], + ["state_tests/stRandom/randomStatetest279Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest279( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest279.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest279( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SWAP5 - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000010000000000000000000000000000000000000000947f00000000000000000000000060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SWAP5 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], ), nonce=0, - address=Address("0x35596aa142f6fc0097b6fbe0d02a4e1cb3b7b043"), # noqa: E501 + address=Address(0x35596AA142F6FC0097B6FBE0D02A4E1CB3B7B043), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000010000" # noqa: E501 - "000000000000000000000000000000000000947f0000000000000000000000004f3f7014" # noqa: E501 - "64972e74606d6ea82d4d3080599a0e79" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000010000000000000000000000000000000000000000947f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79" # noqa: E501 ), gas_limit=100000, - value=1318170680, + value=0x4E91B038, ) post = { - contract: Account( + target: Account( storage={0: 0x4F3F701464972E74606D6EA82D4D3080599A0E79}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest28.py b/tests/ported_static/stRandom/test_random_statetest28.py index 124740da8f9..d72f3572d13 100644 --- a/tests/ported_static/stRandom/test_random_statetest28.py +++ b/tests/ported_static/stRandom/test_random_statetest28.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest28. Ported from: -tests/static/state_tests/stRandom/randomStatetest28Filler.json +state_tests/stRandom/randomStatetest28Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest28Filler.json"], + ["state_tests/stRandom/randomStatetest28Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest28( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest28.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,60 @@ def test_random_statetest28( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff417f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000006f38129d68939a19a2697172926f6a67363055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.COINBASE + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE(key=Op.ADDRESS, value=0x38129D68939A19A2697172926F6A6736), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDF2D980D762338E0DA723885B33558D435309A78), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.COINBASE - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.ADDRESS, value=0x38129D68939A19A2697172926F6A6736 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xdf2d980d762338e0da723885b33558d435309a78"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff417f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e796f38129d68939a19a2697172926f" # noqa: E501 - "6a673630" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff417f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f38129d68939a19a2697172926f6a673630" # noqa: E501 ), gas_limit=100000, - value=1370440167, + value=0x51AF41E7, ) post = { - contract: Account( + target: Account( storage={ 0xDF2D980D762338E0DA723885B33558D435309A78: 0x38129D68939A19A2697172926F6A6736, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest280.py b/tests/ported_static/stRandom/test_random_statetest280.py index f168f87ff53..468dd52daf2 100644 --- a/tests/ported_static/stRandom/test_random_statetest280.py +++ b/tests/ported_static/stRandom/test_random_statetest280.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest280. Ported from: -tests/static/state_tests/stRandom/randomStatetest280Filler.json +state_tests/stRandom/randomStatetest280Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest280Filler.json"], + ["state_tests/stRandom/randomStatetest280Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest280( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest280.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,57 +46,55 @@ def test_random_statetest280( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000000143507f000000000000000000000000000000000000000000000000000000000000c350417f00000000000000000000000000000000000000000000000000000000000000006f423b3c407e7c6f16718668738d193cf260005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.POP(Op.NUMBER) + + Op.PUSH32[0xC350] + + Op.COINBASE + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x423B3C407E7C6F16718668738D193CF2 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA96044D2D730E6D718D80ADDB209C5DE24D8FBA4), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.POP(Op.NUMBER) - + Op.PUSH32[0xC350] - + Op.COINBASE - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x423B3C407E7C6F16718668738D193CF2, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa96044d2d730e6d718d80addb209c5de24d8fba4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000000143507f" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000c350417f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000006f423b3c407e" # noqa: E501 - "7c6f16718668738d193cf2" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000000143507f000000000000000000000000000000000000000000000000000000000000c350417f00000000000000000000000000000000000000000000000000000000000000006f423b3c407e7c6f16718668738d193cf2" # noqa: E501 ), gas_limit=100000, - value=809294938, + value=0x303CDC5A, ) post = { - contract: Account(storage={0: 0x423B3C407E7C6F16718668738D193CF2}), + target: Account( + storage={0: 0x423B3C407E7C6F16718668738D193CF2}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest281.py b/tests/ported_static/stRandom/test_random_statetest281.py index feb55bcab0e..f9e0cb44030 100644 --- a/tests/ported_static/stRandom/test_random_statetest281.py +++ b/tests/ported_static/stRandom/test_random_statetest281.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest281. Ported from: -tests/static/state_tests/stRandom/randomStatetest281Filler.json +state_tests/stRandom/randomStatetest281Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest281Filler.json"], + ["state_tests/stRandom/randomStatetest281Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest281( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest281.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,59 +46,55 @@ def test_random_statetest281( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f000000000000000000000000457f000000000000000000000000000000000000000000000000000000000000c350417f00000000000000000000000000000000000000000000000000000000000000016f649a7a3457645670a27fa170639718a260005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.GASLIMIT + + Op.PUSH32[0xC350] + + Op.COINBASE + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x649A7A3457645670A27FA170639718A2 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xED3690010055EAB6A7103A13E1E74492E67FD00F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.GASLIMIT - + Op.PUSH32[0xC350] - + Op.COINBASE - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x649A7A3457645670A27FA170639718A2, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xed3690010055eab6a7103a13e1e74492e67fd00f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79457f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c350417f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000016f649a7a3457645670a2" # noqa: E501 - "7fa170639718a2" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79457f000000000000000000000000000000000000000000000000000000000000c350417f00000000000000000000000000000000000000000000000000000000000000016f649a7a3457645670a27fa170639718a2" # noqa: E501 ), gas_limit=100000, - value=1714316412, + value=0x662E647C, ) post = { - contract: Account(storage={0: 0x649A7A3457645670A27FA170639718A2}), + target: Account( + storage={0: 0x649A7A3457645670A27FA170639718A2}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest282.py b/tests/ported_static/stRandom/test_random_statetest282.py index 0986087dd3c..2fd31c3f6cd 100644 --- a/tests/ported_static/stRandom/test_random_statetest282.py +++ b/tests/ported_static/stRandom/test_random_statetest282.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest282. Ported from: -tests/static/state_tests/stRandom/randomStatetest282Filler.json +state_tests/stRandom/randomStatetest282Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest282Filler.json"], + ["state_tests/stRandom/randomStatetest282Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest282( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest282.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,59 +46,57 @@ def test_random_statetest282( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SELFDESTRUCT( - address=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.PREVRANDAO - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.TIMESTAMP - + Op.SWAP14 - + Op.COINBASE - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ff447f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff429d415560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SELFDESTRUCT( + address=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + ) + + Op.PREVRANDAO + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.TIMESTAMP + + Op.SWAP14 + + Op.COINBASE + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x14209e1c3d86dec137a40e23ca3ceec80421da46"), # noqa: E501 + address=Address(0x14209E1C3D86DEC137A40E23CA3CEEC80421DA46), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79ff447f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff429d41" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79ff447f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff429d41" # noqa: E501 ), gas_limit=100000, - value=2067523496, + value=0x7B3BE7A8, ) - post: dict = {} + post = { + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest283.py b/tests/ported_static/stRandom/test_random_statetest283.py index d58b666e944..e8af79a9407 100644 --- a/tests/ported_static/stRandom/test_random_statetest283.py +++ b/tests/ported_static/stRandom/test_random_statetest283.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest283. Ported from: -tests/static/state_tests/stRandom/randomStatetest283Filler.json +state_tests/stRandom/randomStatetest283Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest283Filler.json"], + ["state_tests/stRandom/randomStatetest283Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest283( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest283.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,71 +46,65 @@ def test_random_statetest283( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000013960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.GASLIMIT + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.CODECOPY( + dest_offset=Op.PUSH32[0x1], + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=Op.PUSH32[0xC350], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB0FED7C51FFD374EEDCE2AD9257312A169A19E51), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.GASLIMIT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.CODECOPY( - dest_offset=Op.PUSH32[0x1], - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=Op.PUSH32[0xC350], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb0fed7c51ffd374eedce2ad9257312a169a19e51"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff457fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f00000000000000000000000100" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000139" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000139" # noqa: E501 ), gas_limit=100000, - value=1602431327, + value=0x5F83295F, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest285.py b/tests/ported_static/stRandom/test_random_statetest285.py index a39d277ecd0..189e98f6ab8 100644 --- a/tests/ported_static/stRandom/test_random_statetest285.py +++ b/tests/ported_static/stRandom/test_random_statetest285.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest285. Ported from: -tests/static/state_tests/stRandom/randomStatetest285Filler.json +state_tests/stRandom/randomStatetest285Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest285Filler.json"], + ["state_tests/stRandom/randomStatetest285Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest285( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest285.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,41 +46,44 @@ def test_random_statetest285( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x413443f3404242433389ff723810 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("413443f3404242433389ff723810"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x42c6df39abd3d7de1c64c50b0d8bb0e6085fb6af"), # noqa: E501 + address=Address(0x42C6DF39ABD3D7DE1C64C50B0D8BB0E6085FB6AF), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest286.py b/tests/ported_static/stRandom/test_random_statetest286.py index 58eca8cb95c..20cc937c830 100644 --- a/tests/ported_static/stRandom/test_random_statetest286.py +++ b/tests/ported_static/stRandom/test_random_statetest286.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest286. Ported from: -tests/static/state_tests/stRandom/randomStatetest286Filler.json +state_tests/stRandom/randomStatetest286Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest286Filler.json"], + ["state_tests/stRandom/randomStatetest286Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest286( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest286.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,71 +47,62 @@ def test_random_statetest286( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x5a7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000009582860460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GAS + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] * 2 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.SWAP6 + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.DIV(Op.DUP7, Op.DUP3)), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF72E559DBB45A1B06CEFDB38D53632F23795EC0E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GAS - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.SWAP6 - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), value=Op.DIV(Op.DUP7, Op.DUP3) - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf72e559dbb45a1b06cefdb38d53632f23795ec0e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "5a7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000095828604" + to=target, + data=Bytes( + "5a7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000000095828604" # noqa: E501 ), gas_limit=2065759166, - value=1522313647, + value=0x5ABCA9AF, ) post = { - contract: Account( + target: Account( storage={ 0: 0x14F8B588E368F08461F9F01B866E43AA79BBADC0980B242070B8CFBFC6540, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest287.py b/tests/ported_static/stRandom/test_random_statetest287.py index 432a024bc63..4664d93b3bf 100644 --- a/tests/ported_static/stRandom/test_random_statetest287.py +++ b/tests/ported_static/stRandom/test_random_statetest287.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest287. Ported from: -tests/static/state_tests/stRandom/randomStatetest287Filler.json +state_tests/stRandom/randomStatetest287Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest287Filler.json"], + ["state_tests/stRandom/randomStatetest287Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest287( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest287.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,58 @@ def test_random_statetest287( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SELFDESTRUCT( - address=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SMOD - + Op.MSIZE - ), + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ff7f00000000000000000000000100000000000000000000000000000000000000000759 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SELFDESTRUCT( + address=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + ) + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SMOD + + Op.MSIZE, nonce=0, - address=Address("0x31c15a33d833b7c1a49e3f28e6d2b2d975f578bd"), # noqa: E501 + address=Address(0x31C15A33D833B7C1A49E3F28E6D2B2D975F578BD), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e79ff7f00000000000000000000000100000000" # noqa: E501 - "000000000000000000000000000000000759" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79ff7f00000000000000000000000100000000000000000000000000000000000000000759" # noqa: E501 ), gas_limit=15653489, - value=1406933351, + value=0x53DC1967, ) - post: dict = {} + post = { + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest288.py b/tests/ported_static/stRandom/test_random_statetest288.py index 802cff8d406..b209dd90594 100644 --- a/tests/ported_static/stRandom/test_random_statetest288.py +++ b/tests/ported_static/stRandom/test_random_statetest288.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest288. Ported from: -tests/static/state_tests/stRandom/randomStatetest288Filler.json +state_tests/stRandom/randomStatetest288Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest288Filler.json"], + ["state_tests/stRandom/randomStatetest288Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest288( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest288.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,105 +46,44 @@ def test_random_statetest288( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x76404140424242458c1f11410b + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("76404140424242458c1f11410b"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x491ec6b2f8ec53c669db820e13f80f4987cdd1e4"), # noqa: E501 + address=Address(0x491EC6B2F8EC53C669DB820E13F80F4987CDD1E4), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("42"), - gas_limit=400000, - value=100000, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest288Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest288_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex("76404140424242458c1f11410b"), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x491ec6b2f8ec53c669db820e13f80f4987cdd1e4"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest29.py b/tests/ported_static/stRandom/test_random_statetest29.py index f7983a1d37c..c11d6f44d3a 100644 --- a/tests/ported_static/stRandom/test_random_statetest29.py +++ b/tests/ported_static/stRandom/test_random_statetest29.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest29. Ported from: -tests/static/state_tests/stRandom/randomStatetest29Filler.json +state_tests/stRandom/randomStatetest29Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest29Filler.json"], + ["state_tests/stRandom/randomStatetest29Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest29( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest29.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,60 @@ def test_random_statetest29( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.ADDMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0x0], + Op.PUSH32[0x10000000000000000000000000000000000000000], + ), + ), + value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF5781CFAE8099794B4983A68AFEF46BFCE6AB51C), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.ADDMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0x0], - Op.PUSH32[0x10000000000000000000000000000000000000000], - ), - ), - value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf5781cfae8099794b4983a68afef46bfce6ab51c"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff087fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=558543347, + value=0x214AB1F3, ) post = { - contract: Account( + target: Account( storage={0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest290.py b/tests/ported_static/stRandom/test_random_statetest290.py index a02de79c2d8..1c3af984856 100644 --- a/tests/ported_static/stRandom/test_random_statetest290.py +++ b/tests/ported_static/stRandom/test_random_statetest290.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest290. Ported from: -tests/static/state_tests/stRandom/randomStatetest290Filler.json +state_tests/stRandom/randomStatetest290Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest290Filler.json"], + ["state_tests/stRandom/randomStatetest290Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest290( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest290.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,63 @@ def test_random_statetest290( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + Op.DUP4, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xBBAE1A0C728B648C79D5AD774502558645162573), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - Op.DUP4, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xbbae1a0c728b648c79d5ad774502558645162573"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe8309" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8309" # noqa: E501 ), gas_limit=100000, - value=1834111958, + value=0x6D5253D6, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest291.py b/tests/ported_static/stRandom/test_random_statetest291.py index 33e3651583a..b0749b9cfe5 100644 --- a/tests/ported_static/stRandom/test_random_statetest291.py +++ b/tests/ported_static/stRandom/test_random_statetest291.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest291. Ported from: -tests/static/state_tests/stRandom/randomStatetest291Filler.json +state_tests/stRandom/randomStatetest291Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest291Filler.json"], + ["state_tests/stRandom/randomStatetest291Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest291( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest291.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,61 @@ def test_random_statetest291( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000015560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE(key=Op.PUSH32[0x1], value=Op.PUSH32[0x1]) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA8CBFEAF9A78D390BADA18771F29715B4B54C94E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE(key=Op.PUSH32[0x1], value=Op.PUSH32[0x1]) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa8cbfeaf9a78d390bada18771f29715b4b54c94e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000017f0000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000001" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 ), gas_limit=100000, - value=1065015882, + value=0x3F7ADA4A, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 1: 1, }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest292.py b/tests/ported_static/stRandom/test_random_statetest292.py index 96bc078604c..557f3c85da1 100644 --- a/tests/ported_static/stRandom/test_random_statetest292.py +++ b/tests/ported_static/stRandom/test_random_statetest292.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest292. Ported from: -tests/static/state_tests/stRandom/randomStatetest292Filler.json +state_tests/stRandom/randomStatetest292Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest292Filler.json"], + ["state_tests/stRandom/randomStatetest292Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest292( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest292.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,60 @@ def test_random_statetest292( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000417f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000013063a09c825a338e # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.COINBASE + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.ADDRESS + + Op.PUSH4[0xA09C825A] + + Op.CALLER + + Op.DUP15, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x6F333ED29BA1F098BA2B1F681F8E6131C7F3D2C2), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.COINBASE - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.ADDRESS - + Op.PUSH4[0xA09C825A] - + Op.CALLER - + Op.DUP15 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x6f333ed29ba1f098ba2b1f681f8e6131c7f3d2c2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e79417f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000013063a09c825a338e" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000013063a09c825a338e" # noqa: E501 ), gas_limit=100000, - value=828199880, + value=0x315D53C8, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest293.py b/tests/ported_static/stRandom/test_random_statetest293.py index f87bc244d73..9b516d51016 100644 --- a/tests/ported_static/stRandom/test_random_statetest293.py +++ b/tests/ported_static/stRandom/test_random_statetest293.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest293. Ported from: -tests/static/state_tests/stRandom/randomStatetest293Filler.json +state_tests/stRandom/randomStatetest293Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest293Filler.json"], + ["state_tests/stRandom/randomStatetest293Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest293( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest293.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,62 @@ def test_random_statetest293( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f458962699489837460090897f3056682845560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.COINBASE + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE(key=Op.DUP5, value=0x458962699489837460090897F3056682) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7819C78E9547588CDCD915080881E4CCEF857C8D), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.COINBASE - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE(key=Op.DUP5, value=0x458962699489837460090897F3056682) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7819c78e9547588cdcd915080881e4ccef857c8d"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe6f45896269948983746009" # noqa: E501 - "0897f305668284" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f458962699489837460090897f305668284" # noqa: E501 ), gas_limit=100000, - value=1022808999, + value=0x3CF6D3A7, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE: 0x458962699489837460090897F3056682, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest294.py b/tests/ported_static/stRandom/test_random_statetest294.py index 632831e0d65..b951f2aa971 100644 --- a/tests/ported_static/stRandom/test_random_statetest294.py +++ b/tests/ported_static/stRandom/test_random_statetest294.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest294. Ported from: -tests/static/state_tests/stRandom/randomStatetest294Filler.json +state_tests/stRandom/randomStatetest294Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest294Filler.json"], + ["state_tests/stRandom/randomStatetest294Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest294( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest294.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest294( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d0718f377825843028dfa02158878 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d0718f377825843028dfa02158878" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xEAF8F32047C68F3092D0C23D440C8F5E910865B0), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe3c7fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff9d0718f377825843028dfa02158878" # noqa: E501 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xeaf8f32047c68f3092d0c23d440c8f5e910865b0"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe3c7fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff9d0718f377825843028dfa02158878" # noqa: E501 + to=target, + data=Bytes( + "057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d0718f377825843028dfa02158878" # noqa: E501 ), gas_limit=100000, - value=1741399653, + value=0x67CBA665, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest295.py b/tests/ported_static/stRandom/test_random_statetest295.py index ca933de0818..f6df4452515 100644 --- a/tests/ported_static/stRandom/test_random_statetest295.py +++ b/tests/ported_static/stRandom/test_random_statetest295.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest295. Ported from: -tests/static/state_tests/stRandom/randomStatetest295Filler.json +state_tests/stRandom/randomStatetest295Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest295Filler.json"], + ["state_tests/stRandom/randomStatetest295Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest295( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest295.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,47 @@ def test_random_statetest295( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000031353a0b3c8b17eb55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7931353a0b3c8b17eb55" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x8B2CF534E72A2AF416B63FAE177D57DEDAEEC9E9), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000004f3f701464972e74" # noqa: E501 - "606d6ea82d4d3080599a0e7931353a0b3c8b17eb55" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x8b2cf534e72a2af416b63fae177d57dedaeec9e9"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000004f3f701464972e74" # noqa: E501 - "606d6ea82d4d3080599a0e7931353a0b3c8b17eb" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7931353a0b3c8b17eb" # noqa: E501 ), gas_limit=100000, - value=587483939, + value=0x23044B23, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest296.py b/tests/ported_static/stRandom/test_random_statetest296.py index 3a54050f41e..82c36e2e27e 100644 --- a/tests/ported_static/stRandom/test_random_statetest296.py +++ b/tests/ported_static/stRandom/test_random_statetest296.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest296. Ported from: -tests/static/state_tests/stRandom/randomStatetest296Filler.json +state_tests/stRandom/randomStatetest296Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest296Filler.json"], + ["state_tests/stRandom/randomStatetest296Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest296( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest296.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest296( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff417f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000385b9655558f510a6c73 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff417f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79385b9655558f510a6c73" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC2006FD0F9C78C5404B143C53D5E4E7AA4B20324), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff417f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f7014" # noqa: E501 - "64972e74606d6ea82d4d3080599a0e79385b9655558f510a6c73" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc2006fd0f9c78c5404b143c53d5e4e7aa4b20324"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff417f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f7014" # noqa: E501 - "64972e74606d6ea82d4d3080599a0e79385b9655558f510a6c73" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff417f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79385b9655558f510a6c73" # noqa: E501 ), gas_limit=100000, - value=185739865, + value=0xB122A59, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest297.py b/tests/ported_static/stRandom/test_random_statetest297.py index e20baa6aff1..6b853bb0c01 100644 --- a/tests/ported_static/stRandom/test_random_statetest297.py +++ b/tests/ported_static/stRandom/test_random_statetest297.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest297. Ported from: -tests/static/state_tests/stRandom/randomStatetest297Filler.json +state_tests/stRandom/randomStatetest297Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest297Filler.json"], + ["state_tests/stRandom/randomStatetest297Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest297( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest297.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,61 @@ def test_random_statetest297( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000437f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe426f91085661509214157d9c8a777585185560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.NUMBER + + Op.PUSH32[0x0] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.TIMESTAMP + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x91085661509214157D9C8A7775851855 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x63B282B5DF9618A0F5C8B782F7286EB615A43B27), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.NUMBER - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.TIMESTAMP - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x91085661509214157D9C8A7775851855, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x63b282b5df9618a0f5c8b782f7286eb615a43b27"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000007f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe426f91085661509214157d9c8a77758518" # noqa: E501 + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe426f91085661509214157d9c8a77758518" # noqa: E501 ), gas_limit=100000, - value=2086766474, + value=0x7C61878A, ) post = { - contract: Account(storage={0: 0x91085661509214157D9C8A7775851855}), + target: Account( + storage={0: 0x91085661509214157D9C8A7775851855}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest298.py b/tests/ported_static/stRandom/test_random_statetest298.py index 1b9d7e3e7ae..fb4f277235f 100644 --- a/tests/ported_static/stRandom/test_random_statetest298.py +++ b/tests/ported_static/stRandom/test_random_statetest298.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest298. Ported from: -tests/static/state_tests/stRandom/randomStatetest298Filler.json +state_tests/stRandom/randomStatetest298Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest298Filler.json"], + ["state_tests/stRandom/randomStatetest298Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest298( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest298.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,61 +46,56 @@ def test_random_statetest298( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3500a6f7c542006528b69ff3a7a3a0401613c5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.EXP(Op.PUSH32[0xC350], Op.PUSH32[0x0]) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7C542006528B69FF3A7A3A0401613C55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF6D0D02E9E0BF01606955313230D637E54E8525A), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.EXP(Op.PUSH32[0xC350], Op.PUSH32[0x0]) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7C542006528B69FF3A7A3A0401613C55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf6d0d02e9e0bf01606955313230d637e54e8525a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000007f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3500a6f7c542006528b69ff3a7a3a0401613c" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3500a6f7c542006528b69ff3a7a3a0401613c" # noqa: E501 ), gas_limit=100000, - value=2114938379, + value=0x7E0F660B, ) post = { - contract: Account(storage={0: 0x7C542006528B69FF3A7A3A0401613C55}), + target: Account( + storage={0: 0x7C542006528B69FF3A7A3A0401613C55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest299.py b/tests/ported_static/stRandom/test_random_statetest299.py index 999bc7076c0..9e5024203e6 100644 --- a/tests/ported_static/stRandom/test_random_statetest299.py +++ b/tests/ported_static/stRandom/test_random_statetest299.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest299. Ported from: -tests/static/state_tests/stRandom/randomStatetest299Filler.json +state_tests/stRandom/randomStatetest299Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest299Filler.json"], + ["state_tests/stRandom/randomStatetest299Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest299( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest299.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,74 +46,66 @@ def test_random_statetest299( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f540813697adf70f20906389d128bf05560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x540813697ADF70F20906389D128BF055 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x8C1998585A7F5C41F6BCAB2BEE57E3E6AB5350B3), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x540813697ADF70F20906389D128BF055, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x8c1998585a7f5c41f6bcab2bee57e3e6ab5350b3"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe6f540813697adf70f20906389d128bf0" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f540813697adf70f20906389d128bf0" # noqa: E501 ), gas_limit=100000, - value=440906036, + value=0x1A47B134, ) post = { - contract: Account(storage={0: 0x540813697ADF70F20906389D128BF055}), + target: Account( + storage={0: 0x540813697ADF70F20906389D128BF055}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest3.py b/tests/ported_static/stRandom/test_random_statetest3.py index 88ff0b37219..f52c40879bc 100644 --- a/tests/ported_static/stRandom/test_random_statetest3.py +++ b/tests/ported_static/stRandom/test_random_statetest3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest3. Ported from: -tests/static/state_tests/stRandom/randomStatetest3Filler.json +state_tests/stRandom/randomStatetest3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest3Filler.json"], + ["state_tests/stRandom/randomStatetest3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest3.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,56 @@ def test_random_statetest3( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000000000000000000000000000000000000000000000c3504160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.TIMESTAMP + + Op.PUSH32[0xC350] + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.COINBASE), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA2F0E94715A4D0E22C705690F7CACBF1D4EEF1F6), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.TIMESTAMP - + Op.PUSH32[0xC350] - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.COINBASE) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa2f0e94715a4d0e22c705690f7cacbf1d4eef1f6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe427f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c35041" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000000000000000000000000000000000000000000000c35041" # noqa: E501 ), gas_limit=100000, - value=1588208191, + value=0x5EAA223F, ) post = { - contract: Account( + target: Account( storage={0: 0x4F3F701464972E74606D6EA82D4D3080599A0E79}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest30.py b/tests/ported_static/stRandom/test_random_statetest30.py index adfa76d6d1d..a46994583ae 100644 --- a/tests/ported_static/stRandom/test_random_statetest30.py +++ b/tests/ported_static/stRandom/test_random_statetest30.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest30. Ported from: -tests/static/state_tests/stRandom/randomStatetest30Filler.json +state_tests/stRandom/randomStatetest30Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest30Filler.json"], + ["state_tests/stRandom/randomStatetest30Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest30( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest30.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,45 +46,47 @@ def test_random_statetest30( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x41314155 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=Op.COINBASE, value=Op.BALANCE(address=Op.COINBASE)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7801abe412e60e0e8ecd8c01f4e464732476b1f8"), # noqa: E501 + address=Address(0x7801ABE412E60E0E8ECD8C01F4E464732476B1F8), # noqa: E501 ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) + ), + balance=46, + nonce=0, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={0x4F3F701464972E74606D6EA82D4D3080599A0E79: 46}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest300.py b/tests/ported_static/stRandom/test_random_statetest300.py index a233db0892a..e01413617c0 100644 --- a/tests/ported_static/stRandom/test_random_statetest300.py +++ b/tests/ported_static/stRandom/test_random_statetest300.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest300. Ported from: -tests/static/state_tests/stRandom/randomStatetest300Filler.json +state_tests/stRandom/randomStatetest300Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest300Filler.json"], + ["state_tests/stRandom/randomStatetest300Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest300( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest300.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,159 +46,55 @@ def test_random_statetest300( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f0000000000000000000000000000000000000000000000000000000000000000447f000000000000000000000000000000000000000000000000000000000000c350757f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c35060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PREVRANDAO + + Op.PUSH32[0xC350] + + Op.PUSH22[0x7F000000000000000000000000000000000000000000] + + Op.STOP * 10 + + Op.ADD + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.PUSH32[0xC350]), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC4E0B0EE0EF1C851E1FF17D15C1E0EC5318B2A07), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PREVRANDAO - + Op.PUSH32[0xC350] - + Op.PUSH22[0x7F000000000000000000000000000000000000000000] - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.ADD - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.PUSH32[0xC350]) - ), - nonce=0, - address=Address("0xc4e0b0ee0ef1c851e1ff17d15c1e0ec5318b2a07"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000000447f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c350757f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000017f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c350" - ), - gas_limit=100000, - value=1430892634, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest300Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest300_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PREVRANDAO - + Op.PUSH32[0xC350] - + Op.PUSH22[0x7F000000000000000000000000000000000000000000] - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.ADD - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.PUSH32[0xC350]) - ), - nonce=0, - address=Address("0xc4e0b0ee0ef1c851e1ff17d15c1e0ec5318b2a07"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000000447f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c350757f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000017f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c350" + to=target, + data=Bytes( + "7f0000000000000000000000000000000000000000000000000000000000000000447f000000000000000000000000000000000000000000000000000000000000c350757f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350" # noqa: E501 ), gas_limit=100000, - value=1430892634, + value=0x5549B05A, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest301.py b/tests/ported_static/stRandom/test_random_statetest301.py index 9d528b234b4..adcdbbb5be9 100644 --- a/tests/ported_static/stRandom/test_random_statetest301.py +++ b/tests/ported_static/stRandom/test_random_statetest301.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest301. Ported from: -tests/static/state_tests/stRandom/randomStatetest301Filler.json +state_tests/stRandom/randomStatetest301Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest301Filler.json"], + ["state_tests/stRandom/randomStatetest301Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest301( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest301.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,77 +46,66 @@ def test_random_statetest301( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.CALLDATACOPY( - dest_offset=Op.PUSH32[0x0], - offset=Op.PUSH32[0x0], - size=Op.PUSH32[0xC350], - ) - + Op.DUP5 - + Op.SWAP5 - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), value=0x737AA092F1975664518A55 - ) - ), + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000003784946a737aa092f1975664518a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.CALLDATACOPY( + dest_offset=Op.PUSH32[0x0], + offset=Op.PUSH32[0x0], + size=Op.PUSH32[0xC350], + ) + + Op.DUP5 + + Op.SWAP5 + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x737AA092F1975664518A55), nonce=0, - address=Address("0x19ceb648fbb686d03a2d42bde75adea15302bc8a"), # noqa: E501 + address=Address(0x19CEB648FBB686D03A2D42BDE75ADEA15302BC8A), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c3507f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000007f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000003784946a737aa092f1975664518a" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000003784946a737aa092f1975664518a" # noqa: E501 ), gas_limit=100000, - value=323025358, + value=0x1340F9CE, ) post = { - contract: Account( + target: Account( storage={ 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0x737AA092F1975664518A55, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest302.py b/tests/ported_static/stRandom/test_random_statetest302.py index 8c3ebc0c74a..806cb9b87d1 100644 --- a/tests/ported_static/stRandom/test_random_statetest302.py +++ b/tests/ported_static/stRandom/test_random_statetest302.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest302. Ported from: -tests/static/state_tests/stRandom/randomStatetest302Filler.json +state_tests/stRandom/randomStatetest302Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest302Filler.json"], + ["state_tests/stRandom/randomStatetest302Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest302( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest302.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,55 @@ def test_random_statetest302( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000971a7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff447f00000000000000000000000000000000000000000000000000000000000000006989206c0b8a01867bf155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SWAP8 + + Op.BYTE + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PREVRANDAO + + Op.PUSH32[0x0] + + Op.PUSH10[0x89206C0B8A01867BF155], nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xFCBCBA7CBA75059C569BE5870CA9B87A68DA093A), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SWAP8 - + Op.BYTE - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PREVRANDAO - + Op.PUSH32[0x0] - + Op.PUSH10[0x89206C0B8A01867BF155] + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xfcbcba7cba75059c569be5870ca9b87a68da093a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000010000000000000000000000000000000000000000971a7f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff447f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000006989206c0b8a01867bf1" # noqa: E501 + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000971a7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff447f00000000000000000000000000000000000000000000000000000000000000006989206c0b8a01867bf1" # noqa: E501 ), gas_limit=100000, - value=2001617020, + value=0x774E407C, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest303.py b/tests/ported_static/stRandom/test_random_statetest303.py index 3851898efe7..01abb28e1bf 100644 --- a/tests/ported_static/stRandom/test_random_statetest303.py +++ b/tests/ported_static/stRandom/test_random_statetest303.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest303. Ported from: -tests/static/state_tests/stRandom/randomStatetest303Filler.json +state_tests/stRandom/randomStatetest303Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest303Filler.json"], + ["state_tests/stRandom/randomStatetest303Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest303( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest303.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest303( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000457f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff441a35803a0ba46699913755 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79457f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff441a35803a0ba46699913755" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xBDFD7B81900BFD715187BFA71345114F62FB7494), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e79457f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff441a35803a0ba46699913755" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xbdfd7b81900bfd715187bfa71345114f62fb7494"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e79457f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff441a35803a0ba466999137" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79457f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff441a35803a0ba466999137" # noqa: E501 ), gas_limit=100000, - value=931000532, + value=0x377DF0D4, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest304.py b/tests/ported_static/stRandom/test_random_statetest304.py index eab9525a69e..c8cb6b16f5c 100644 --- a/tests/ported_static/stRandom/test_random_statetest304.py +++ b/tests/ported_static/stRandom/test_random_statetest304.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest304. Ported from: -tests/static/state_tests/stRandom/randomStatetest304Filler.json +state_tests/stRandom/randomStatetest304Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest304Filler.json"], + ["state_tests/stRandom/randomStatetest304Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest304( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest304.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,73 +46,67 @@ def test_random_statetest304( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.LOG2 - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.AND - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.CALL, - value=Op.SIGNEXTEND( - Op.SMOD(Op.ADDRESS, Op.SLOAD(key=Op.DUP13)), - Op.SIGNEXTEND( - Op.SMOD( - Op.TIMESTAMP, - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - ], - ), + # Source: raw + # 0x7f0000000000000000000000010000000000000000000000000000000000000000a27f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff167ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff42070b8c5430070bf15560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.LOG2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.AND + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.CALL, + value=Op.SIGNEXTEND( + Op.SMOD(Op.ADDRESS, Op.SLOAD(key=Op.DUP13)), + Op.SIGNEXTEND( + Op.SMOD( + Op.TIMESTAMP, Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + ), + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, + nonce=0, + address=Address(0xEED16AB98D10EE33A19828F9FD044B86553A6F06), # noqa: E501 + ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xeed16ab98d10ee33a19828f9fd044b86553a6f06"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000010000000000000000000000000000000000000000a27f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff167fffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000" # noqa: E501 - "00000000000100000000000000000000000000000000000000007f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff42070b8c5430070bf1" + to=target, + data=Bytes( + "7f0000000000000000000000010000000000000000000000000000000000000000a27f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff167ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff42070b8c5430070bf1" # noqa: E501 ), gas_limit=100000, - value=691881103, + value=0x293D448F, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest305.py b/tests/ported_static/stRandom/test_random_statetest305.py index 2db5e739200..83e92c975b9 100644 --- a/tests/ported_static/stRandom/test_random_statetest305.py +++ b/tests/ported_static/stRandom/test_random_statetest305.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest305. Ported from: -tests/static/state_tests/stRandom/randomStatetest305Filler.json +state_tests/stRandom/randomStatetest305Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest305Filler.json"], + ["state_tests/stRandom/randomStatetest305Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest305( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest305.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,60 @@ def test_random_statetest305( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006f606e048240069c409313318736200b5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x606E048240069C409313318736200B55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB84CACE13BD713234F804BD202EF20EC6360C36C), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x606E048240069C409313318736200B55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb84cace13bd713234f804bd202ef20ec6360c36c"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464" # noqa: E501 - "972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000006f606e048240069c409313318736200b" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000006f606e048240069c409313318736200b" # noqa: E501 ), gas_limit=100000, - value=218159006, + value=0xD00D79E, ) post = { - contract: Account(storage={0: 0x606E048240069C409313318736200B55}), + target: Account( + storage={0: 0x606E048240069C409313318736200B55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest306.py b/tests/ported_static/stRandom/test_random_statetest306.py index 624147c7dfe..91a13c84119 100644 --- a/tests/ported_static/stRandom/test_random_statetest306.py +++ b/tests/ported_static/stRandom/test_random_statetest306.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest306. Ported from: -tests/static/state_tests/stRandom/randomStatetest306Filler.json +state_tests/stRandom/randomStatetest306Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest306Filler.json"], + ["state_tests/stRandom/randomStatetest306Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest306( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest306.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,146 +47,113 @@ def test_random_statetest306( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x60d36e84517b3285b0867cd4144ff5f688d60b6a07592395d95e37246c06736c78c9fa9e4b5e5db5a4b6ac4ced6dd169cda4fc3c11e9a6f0b4cec2f56019617df7a363788c155473412582d556f06c6d5864cf4be6a2d1318b8e40ba1377454cc8d0510823591dee680d7dddc8c149bfcc24c65c69e66c2b9d3e28f05faf2587c446509405759901ec0946bf3d786827225faf5da81e158cd9b2b4666f71a29fbe89f77c340dcbd7d67aedf852136b6c76affb38beb802e0af269e65c22f52807c677b5e2c7d8c473aff18fe912c7ed21ab60fe5d4916a76c93539332c6ab16b3f81b990f4b34b0228c7f5b1656bdd21d458717330e4be7d7bb91cc95818140eef086cd82d2d6f0d66c92a7ffb27125a625c77a8967268f212339508d6f60d9c93a9e201f2ae883cb9752460ec0dcb4ba3b84a4db899c29f08ef1b0f506b4f3c05601f6001601060116328b0eb5f73630a4eb375f17df238e15d7d51240301521f173d628e7a68d01354faaf406ce541f753db89671f6aedcf261f632e6244e8c3799a2de002f15ba4681fd3c609c0f522dfd964f95def9926f812327781b2de33196cc22776e9b26d8a0d65c57bdac987d0b3e0db66c0f1232c7add3365f209cc53592f73502d0c5889b1bbf131f8bb6a6b5e2e067b9ef676768d48b3f5790c3304e046f0a9c8a838a0596583d6258f196dcf982a9de5cec4f871470e7a6c9289615e1e7d140fdc038972916223fb8012e29350295f3919cb28a36411845930d5e91b68510faac5e0677953467cedb653f73818749e8cbaf15a5d64ba7ee5cabc98137167b924a2aac9147f159713d115e0225a84a54d6471dc7a01a7e4e814145305c9d04d2880c5be42fc6c52ced3e983d91a580a4142021b73e99c3180117914b9ad03c580a8dac862be9b599a73ccfcfb230bcffc425c13c265f3b06b8c9f104c10752740765567374c211601a5f51501d18c48081998ff7b7a8bfdf0bec9eb4385b554870a996e0cab662d991d0e5f9357f2f99f98 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SIGNEXTEND(0x84517B3285B0867CD4144FF5F688D6, 0xD3) + + Op.LOG3( + offset=0x7DF7, + size=0x19, + topic_1=0xD169CDA4FC3C11E9A6F0B4CEC2F5, + topic_2=0x78C9FA9E4B5E5DB5A4B6AC4CED, + topic_3=0x7592395D95E37246C0673, + ) + + Op.SGT(0x412582D556F06C6D5864CF4BE6A2D1318B8E40BA, 0x788C1554) + + Op.SDIV( + 0x2B9D3E28F05FAF2587C4465094, + 0x454CC8D0510823591DEE680D7DDDC8C149BFCC24C65C69E6, + ) + + Op.SGT( + 0x71A29FBE89F77C340DCBD7D67AEDF852, + 0x9901EC0946BF3D786827225FAF5DA81E158CD9B2B466, + ) + + Op.PUSH12[0x6C76AFFB38BEB802E0AF269E] + + Op.PUSH6[0xC22F52807C67] + + Op.PUSH28[0x5E2C7D8C473AFF18FE912C7ED21AB60FE5D4916A76C93539332C6AB1] + + Op.PUSH12[0x3F81B990F4B34B0228C7F5B1] + + Op.PUSH6[0x6BDD21D45871] + + Op.PUSH20[0x30E4BE7D7BB91CC95818140EEF086CD82D2D6F0D] + + Op.PUSH7[0xC92A7FFB27125A] + + Op.PUSH3[0x5C77A8] + + Op.SWAP7 + + Op.SDIV( + 0x2460EC0DCB4BA3B84A4DB899C29F08EF1B0F506B4F3C, + 0x68F212339508D6F60D9C93A9E201F2AE883CB9, + ) + + Op.CALL( + gas=0xA4EB375, + address=0xCE8D3E84F685B2EED55366547289AC4D314DE277, + value=0x28B0EB5F, + args_offset=0x11, + args_size=0x10, + ret_offset=0x1, + ret_size=0x1F, + ) + + Op.PUSH30[ + 0xF238E15D7D51240301521F173D628E7A68D01354FAAF406CE541F753DB89 + ] + + Op.PUSH8[0x1F6AEDCF261F632E] + + Op.PUSH3[0x44E8C3] + + Op.PUSH26[0x9A2DE002F15BA4681FD3C609C0F522DFD964F95DEF9926F81232] + + Op.PUSH24[0x81B2DE33196CC22776E9B26D8A0D65C57BDAC987D0B3E0DB] + + Op.PUSH7[0xC0F1232C7ADD33] + + Op.PUSH6[0xF209CC53592F] + + Op.PUSH20[0x502D0C5889B1BBF131F8BB6A6B5E2E067B9EF676] + + Op.PUSH23[0x8D48B3F5790C3304E046F0A9C8A838A0596583D6258F19] + + Op.PUSH14[0xCF982A9DE5CEC4F871470E7A6C92] + + Op.DUP10 + + Op.PUSH2[0x5E1E] + + Op.PUSH30[ + 0x140FDC038972916223FB8012E29350295F3919CB28A36411845930D5E91B + ] + + Op.PUSH9[0x510FAAC5E067795346] + + Op.PUSH29[ + 0xEDB653F73818749E8CBAF15A5D64BA7EE5CABC98137167B924A2AAC914 + ] + + Op.PUSH32[ + 0x159713D115E0225A84A54D6471DC7A01A7E4E814145305C9D04D2880C5BE42FC + ] + + Op.PUSH13[0x52CED3E983D91A580A4142021B] + + Op.PUSH20[0xE99C3180117914B9AD03C580A8DAC862BE9B599A] + + Op.PUSH20[0xCCFCFB230BCFFC425C13C265F3B06B8C9F104C10] + + Op.PUSH22[0x2740765567374C211601A5F51501D18C48081998FF7B] + + Op.PUSH27[0x8BFDF0BEC9EB4385B554870A996E0CAB662D991D0E5F9357F2F99F] + + Op.SWAP9, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xCE8D3E84F685B2EED55366547289AC4D314DE277), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SIGNEXTEND(0x84517B3285B0867CD4144FF5F688D6, 0xD3) - + Op.LOG3( - offset=0x7DF7, - size=0x19, - topic_1=0xD169CDA4FC3C11E9A6F0B4CEC2F5, - topic_2=0x78C9FA9E4B5E5DB5A4B6AC4CED, - topic_3=0x7592395D95E37246C0673, - ) - + Op.SGT(0x412582D556F06C6D5864CF4BE6A2D1318B8E40BA, 0x788C1554) - + Op.SDIV( - 0x2B9D3E28F05FAF2587C4465094, - 0x454CC8D0510823591DEE680D7DDDC8C149BFCC24C65C69E6, - ) - + Op.SGT( - 0x71A29FBE89F77C340DCBD7D67AEDF852, - 0x9901EC0946BF3D786827225FAF5DA81E158CD9B2B466, - ) - + Op.PUSH12[0x6C76AFFB38BEB802E0AF269E] - + Op.PUSH6[0xC22F52807C67] - + Op.PUSH28[ - 0x5E2C7D8C473AFF18FE912C7ED21AB60FE5D4916A76C93539332C6AB1 - ] - + Op.PUSH12[0x3F81B990F4B34B0228C7F5B1] - + Op.PUSH6[0x6BDD21D45871] - + Op.PUSH20[0x30E4BE7D7BB91CC95818140EEF086CD82D2D6F0D] - + Op.PUSH7[0xC92A7FFB27125A] - + Op.PUSH3[0x5C77A8] - + Op.SWAP7 - + Op.SDIV( - 0x2460EC0DCB4BA3B84A4DB899C29F08EF1B0F506B4F3C, - 0x68F212339508D6F60D9C93A9E201F2AE883CB9, - ) - + Op.CALL( - gas=0xA4EB375, - address=0xCE8D3E84F685B2EED55366547289AC4D314DE277, - value=0x28B0EB5F, - args_offset=0x11, - args_size=0x10, - ret_offset=0x1, - ret_size=0x1F, - ) - + Op.PUSH30[ - 0xF238E15D7D51240301521F173D628E7A68D01354FAAF406CE541F753DB89 - ] - + Op.PUSH8[0x1F6AEDCF261F632E] - + Op.PUSH3[0x44E8C3] - + Op.PUSH26[0x9A2DE002F15BA4681FD3C609C0F522DFD964F95DEF9926F81232] - + Op.PUSH24[0x81B2DE33196CC22776E9B26D8A0D65C57BDAC987D0B3E0DB] - + Op.PUSH7[0xC0F1232C7ADD33] - + Op.PUSH6[0xF209CC53592F] - + Op.PUSH20[0x502D0C5889B1BBF131F8BB6A6B5E2E067B9EF676] - + Op.PUSH23[0x8D48B3F5790C3304E046F0A9C8A838A0596583D6258F19] - + Op.PUSH14[0xCF982A9DE5CEC4F871470E7A6C92] - + Op.DUP10 - + Op.PUSH2[0x5E1E] - + Op.PUSH30[ - 0x140FDC038972916223FB8012E29350295F3919CB28A36411845930D5E91B - ] - + Op.PUSH9[0x510FAAC5E067795346] - + Op.PUSH29[ - 0xEDB653F73818749E8CBAF15A5D64BA7EE5CABC98137167B924A2AAC914 - ] - + Op.PUSH32[ - 0x159713D115E0225A84A54D6471DC7A01A7E4E814145305C9D04D2880C5BE42FC # noqa: E501 - ] - + Op.PUSH13[0x52CED3E983D91A580A4142021B] - + Op.PUSH20[0xE99C3180117914B9AD03C580A8DAC862BE9B599A] - + Op.PUSH20[0xCCFCFB230BCFFC425C13C265F3B06B8C9F104C10] - + Op.PUSH22[0x2740765567374C211601A5F51501D18C48081998FF7B] - + Op.PUSH27[ - 0x8BFDF0BEC9EB4385B554870A996E0CAB662D991D0E5F9357F2F99F - ] - + Op.SWAP9 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xce8d3e84f685b2eed55366547289ac4d314de277"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "79f7441ed5bec692c84f9c7783152d38908fea76de8a06eca5ebcf7e81423a68b78d5f1a" # noqa: E501 - "84706bdb516f17a29dd779ee16374163c1ab2a85a2097e7b6235aecf7cc509b9d184688f" # noqa: E501 - "56ccfe8638c51ee70858f690e71b338261fd2b72db56f2a0923a6d1bc51dd15ff9aae183" # noqa: E501 - "48213d68fc8e120c307a7490f46b2d528d86e503a251fd188764646dd3b8bc3c7066a32d" # noqa: E501 - "caa91da430f61aed0466338f17d9703f1c8648d0b19db4fcdcd0893f0f6f21c789306b8f" # noqa: E501 - "8d110fbd563111fd088de367b9f001758786ced578880bb55e224855b0293f9277dc7201" # noqa: E501 - "e63845a8d8eae7dc8e3e642820b61315716544e2fd297f018fe1df86427052e3a85c0c77" # noqa: E501 - "48f6fa89b890be2a3b916794ecfff1e87a87582c991b0c61687637866981d0819020714f" # noqa: E501 - "baee296a9ac19ac255226d4d2cf967104b669a622e77fc4c7469aee1553e5cf5cb2a7972" # noqa: E501 - "6f07829adfa8a988fb07479add89c1a8947d88a9b361493025a66fd49776d7304a036894" # noqa: E501 - "ecda2e148f7f87270cdd52727667c09ee625c7a37ac99ab8a195cd0a97fa9e7247f9d0f1" # noqa: E501 - "7888132eb3f44d24d3d49c0a2e6d4850ee413c36893d04dfa9826f7236a10c77f7da3d31" # noqa: E501 - "db8eae3070972c9d722347d4a95604d40ba66a2f53710451be8f1994756471ba4d09257f" # noqa: E501 - "6abe619cc850f123d4715bacc2b9cf167be82e629cf36521b290bab47b9597664c0890a5" # noqa: E501 - "d6242211d344805a3d75460c21ca9ad05dec187ddecc44c9b1c0b4c0d34c66926db22974" # noqa: E501 - "c0bc059a6aa6354a43bf26f06e7dfa7f0e07f4f3607a8bc1227b7f0d65d660aa3c1eb773" # noqa: E501 - "1850729f5dc3285b398806dd4b54aecbe7cb367573a1aa8f062b33e27db1e2fdef478ac3" # noqa: E501 - "06ec57be3b6b0fd0fbbe558507ead60ce60a61eade67afdd8ba512300ecc686d51131057" # noqa: E501 - "8908f49660d163e372ddd2636dbf1c1b6d39292b97dbd48fee420c354d341365e64505ae" # noqa: E501 - "ffc89b6e764afc7f97200924ff8d68846e387f6bca4c4ea3f4e04ac8061efd5260577aa6" # noqa: E501 - "9c34a7287609d2448bb32d2687a46d54c893ba21520ec26e792c836ebb8c9c1005ab55d9" # noqa: E501 - "9c62150413fb7a7f8e2ec4766471e2452ee833fa10995e94d2c1cf89c64260836aab9b3c" # noqa: E501 - "6a1f699776b5900f48b7c1f97dba13656a85fea0cc2d4fe85aa7a9766d767cfd6a3314ac" # noqa: E501 - "c32eea93e15c3077fa26a3917a48af0765b5690af372219af6c2e7e5b194e6db7f76ca0b" # noqa: E501 - "28647c5066bfbf142ac3eb1361b77953e328106b1e817e8649a9bdf4f27834bd25279dc2" # noqa: E501 - "b7a6fab4d4e4830602f84d298f5d2682183a226118fc6c452c99ead827293548afcfeaf9" # noqa: E501 - "655e76240e57846151bb7b1c1cc5971f0ad83dc7b02c05c2bc0a3adeb65bf608eb5c0aaf" # noqa: E501 - "186a887a4357e31bdd83940e443289727a6e36bfc974bc20e97fa8983f18137be520500b" # noqa: E501 - "388fe2f63185c5c66bcc71a48c7fc9c210f73a4a73c4561f62adb5ed9d7ae9a0e4833f19" # noqa: E501 - "8dd3faa1af3ad59c282f3277fac135659e7eb7c9926fd5e954f6f42a9cd2cb6498da0767" # noqa: E501 - "958716" + to=target, + data=Bytes( + "79f7441ed5bec692c84f9c7783152d38908fea76de8a06eca5ebcf7e81423a68b78d5f1a84706bdb516f17a29dd779ee16374163c1ab2a85a2097e7b6235aecf7cc509b9d184688f56ccfe8638c51ee70858f690e71b338261fd2b72db56f2a0923a6d1bc51dd15ff9aae18348213d68fc8e120c307a7490f46b2d528d86e503a251fd188764646dd3b8bc3c7066a32dcaa91da430f61aed0466338f17d9703f1c8648d0b19db4fcdcd0893f0f6f21c789306b8f8d110fbd563111fd088de367b9f001758786ced578880bb55e224855b0293f9277dc7201e63845a8d8eae7dc8e3e642820b61315716544e2fd297f018fe1df86427052e3a85c0c7748f6fa89b890be2a3b916794ecfff1e87a87582c991b0c61687637866981d0819020714fbaee296a9ac19ac255226d4d2cf967104b669a622e77fc4c7469aee1553e5cf5cb2a79726f07829adfa8a988fb07479add89c1a8947d88a9b361493025a66fd49776d7304a036894ecda2e148f7f87270cdd52727667c09ee625c7a37ac99ab8a195cd0a97fa9e7247f9d0f17888132eb3f44d24d3d49c0a2e6d4850ee413c36893d04dfa9826f7236a10c77f7da3d31db8eae3070972c9d722347d4a95604d40ba66a2f53710451be8f1994756471ba4d09257f6abe619cc850f123d4715bacc2b9cf167be82e629cf36521b290bab47b9597664c0890a5d6242211d344805a3d75460c21ca9ad05dec187ddecc44c9b1c0b4c0d34c66926db22974c0bc059a6aa6354a43bf26f06e7dfa7f0e07f4f3607a8bc1227b7f0d65d660aa3c1eb7731850729f5dc3285b398806dd4b54aecbe7cb367573a1aa8f062b33e27db1e2fdef478ac306ec57be3b6b0fd0fbbe558507ead60ce60a61eade67afdd8ba512300ecc686d511310578908f49660d163e372ddd2636dbf1c1b6d39292b97dbd48fee420c354d341365e64505aeffc89b6e764afc7f97200924ff8d68846e387f6bca4c4ea3f4e04ac8061efd5260577aa69c34a7287609d2448bb32d2687a46d54c893ba21520ec26e792c836ebb8c9c1005ab55d99c62150413fb7a7f8e2ec4766471e2452ee833fa10995e94d2c1cf89c64260836aab9b3c6a1f699776b5900f48b7c1f97dba13656a85fea0cc2d4fe85aa7a9766d767cfd6a3314acc32eea93e15c3077fa26a3917a48af0765b5690af372219af6c2e7e5b194e6db7f76ca0b28647c5066bfbf142ac3eb1361b77953e328106b1e817e8649a9bdf4f27834bd25279dc2b7a6fab4d4e4830602f84d298f5d2682183a226118fc6c452c99ead827293548afcfeaf9655e76240e57846151bb7b1c1cc5971f0ad83dc7b02c05c2bc0a3adeb65bf608eb5c0aaf186a887a4357e31bdd83940e443289727a6e36bfc974bc20e97fa8983f18137be520500b388fe2f63185c5c66bcc71a48c7fc9c210f73a4a73c4561f62adb5ed9d7ae9a0e4833f198dd3faa1af3ad59c282f3277fac135659e7eb7c9926fd5e954f6f42a9cd2cb6498da0767958716" # noqa: E501 ), gas_limit=1970726856, - value=1525687154, + value=0x5AF02372, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest307.py b/tests/ported_static/stRandom/test_random_statetest307.py index f489a92651a..4e6aae35945 100644 --- a/tests/ported_static/stRandom/test_random_statetest307.py +++ b/tests/ported_static/stRandom/test_random_statetest307.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest307. Ported from: -tests/static/state_tests/stRandom/randomStatetest307Filler.json +state_tests/stRandom/randomStatetest307Filler.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest307Filler.json"], + ["state_tests/stRandom/randomStatetest307Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +32,9 @@ def test_random_statetest307( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest307.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,62 +48,63 @@ def test_random_statetest307( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[0xC350] - + Op.SLOAD( - key=Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - ) - + Op.PUSH32[0xC350] - + Op.CALLDATACOPY( - dest_offset=Op.PUSH32[0x0], - offset=Op.PUSH32[0x0], - size=Op.PUSH32[0xC350], - ) - + Op.CREATE - + Op.SSTORE - ), + # Source: raw + # 0x7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5547f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000037f055 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.PUSH32[0xC350] + + Op.SLOAD(key=Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5]) + + Op.PUSH32[0xC350] + + Op.CALLDATACOPY( + dest_offset=Op.PUSH32[0x0], + offset=Op.PUSH32[0x0], + size=Op.PUSH32[0xC350], + ) + + Op.CREATE + + Op.SSTORE, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000945304eb96065b2a98b57a48a06ae28d285a71b5547f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000037f0" + to=contract_0, + data=Bytes( + "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5547f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000037f0" # noqa: E501 ), gas_limit=100000, - value=1254784781, + value=0x4ACA7F0D, ) - post: dict = {} + post = { + contract_0: Account(storage={}, nonce=0), + Address( + 0x62C01474F089B07DAE603491675DC5B5748F7049 + ): Account.NONEXISTENT, + Address( + 0x91ED00A0A906270D466AF043C4E111DADCA970A3 + ): Account.NONEXISTENT, + coinbase: Account(storage={}, nonce=0), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest308.py b/tests/ported_static/stRandom/test_random_statetest308.py index c0bc7ea2a32..5e1fb34da37 100644 --- a/tests/ported_static/stRandom/test_random_statetest308.py +++ b/tests/ported_static/stRandom/test_random_statetest308.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest308. Ported from: -tests/static/state_tests/stRandom/randomStatetest308Filler.json +state_tests/stRandom/randomStatetest308Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest308Filler.json"], + ["state_tests/stRandom/randomStatetest308Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,9 @@ def test_random_statetest308( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest308.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,75 +48,68 @@ def test_random_statetest308( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.CALLDATALOAD( - offset=Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], - ) - + Op.SSTORE( - key=0x30F38C9A600051, - value=Op.MULMOD( - Op.ADD( - Op.GAS, - Op.ADDMOD( - Op.PUSH32[ - 0x10000000000000000000000000000000000000000 - ], - Op.PUSH32[0xC350], - Op.TIMESTAMP, - ), + # Source: raw + # 0x7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5357f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000010000000000000000000000000000000000000000085a01096630f38c9a60005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.CALLDATALOAD( + offset=Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + ) + + Op.SSTORE( + key=0x30F38C9A600051, + value=Op.MULMOD( + Op.ADD( + Op.GAS, + Op.ADDMOD( + Op.PUSH32[0x10000000000000000000000000000000000000000], + Op.PUSH32[0xC350], + Op.TIMESTAMP, ), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), - ) + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000" # noqa: E501 - "00000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5357f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3507f000000000000000000000001" # noqa: E501 - "0000000000000000000000000000000000000000085a01096630f38c9a" + to=contract_0, + data=Bytes( + "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5357f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000010000000000000000000000000000000000000000085a01096630f38c9a" # noqa: E501 ), gas_limit=1559407972, - value=23682877, + value=0x1695F3D, ) post = { - contract: Account( + contract_0: Account( storage={ 0x30F38C9A600051: 0x5CF25686FFFFFFFFFFFFFFFF461B52F2, }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest309.py b/tests/ported_static/stRandom/test_random_statetest309.py index 446963cbca7..edf2726755f 100644 --- a/tests/ported_static/stRandom/test_random_statetest309.py +++ b/tests/ported_static/stRandom/test_random_statetest309.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest309. Ported from: -tests/static/state_tests/stRandom/randomStatetest309Filler.json +state_tests/stRandom/randomStatetest309Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest309Filler.json"], + ["state_tests/stRandom/randomStatetest309Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest309( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest309.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,47 +46,47 @@ def test_random_statetest309( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x43454545085a55 + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.SSTORE( + key=Op.GAS, value=Op.ADDMOD(Op.GASLIMIT, Op.GASLIMIT, Op.GASLIMIT) ), - balance=46, + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x80F26BF6EA7E69C54687BEB66D90438E7F0286B4), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.SSTORE( - key=Op.GAS, - value=Op.ADDMOD(Op.GASLIMIT, Op.GASLIMIT, Op.GASLIMIT), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0x80f26bf6ea7e69c54687beb66d90438e7f0286b4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest31.py b/tests/ported_static/stRandom/test_random_statetest31.py index 0469158b4cf..3782d9e1c1d 100644 --- a/tests/ported_static/stRandom/test_random_statetest31.py +++ b/tests/ported_static/stRandom/test_random_statetest31.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest31. Ported from: -tests/static/state_tests/stRandom/randomStatetest31Filler.json +state_tests/stRandom/randomStatetest31Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest31Filler.json"], + ["state_tests/stRandom/randomStatetest31Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest31.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,61 @@ def test_random_statetest31( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x387f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000090375560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CODESIZE + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] * 2 + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] * 2 + + Op.SWAP1 + + Op.CALLDATACOPY + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF96AA31000BB2A6B92F34B6A9F626A5DA00BF714), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CODESIZE - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.SWAP1 - + Op.CALLDATACOPY - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf96aa31000bb2a6b92f34b6a9f626a5da00bf714"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "387f00000000000000000000000100000000000000000000000000000000000000007f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000009037" + to=target, + data=Bytes( + "387f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000009037" # noqa: E501 ), gas_limit=100000, - value=1344810912, + value=0x50282FA0, ) post = { - contract: Account( + target: Account( storage={ 0x10000000000000000000000000000000000000000: 50000, 0x387F000000000000000000000001000000000000000000000000000000000000: 50000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest310.py b/tests/ported_static/stRandom/test_random_statetest310.py index 151fd0bb649..0761896419c 100644 --- a/tests/ported_static/stRandom/test_random_statetest310.py +++ b/tests/ported_static/stRandom/test_random_statetest310.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest310. Ported from: -tests/static/state_tests/stRandom/randomStatetest310Filler.json +state_tests/stRandom/randomStatetest310Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest310Filler.json"], + ["state_tests/stRandom/randomStatetest310Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest310( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest310.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,72 +46,66 @@ def test_random_statetest310( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x44587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff59907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1a37160b6a650645597c796e9c97955560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PREVRANDAO + + Op.PC + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.MSIZE + + Op.SWAP1 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.BYTE + + Op.CALLDATACOPY + + Op.AND + + Op.SIGNEXTEND + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x650645597C796E9C979555), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x6ABA73F1D891C72C1B5730AC84067C1286BA693B), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PREVRANDAO - + Op.PC - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.MSIZE - + Op.SWAP1 - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.BYTE - + Op.CALLDATACOPY - + Op.AND - + Op.SIGNEXTEND - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), value=0x650645597C796E9C979555 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x6aba73f1d891c72c1b5730ac84067c1286ba693b"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "44587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000c3507f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff59907fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff1a37160b6a650645" # noqa: E501 - "597c796e9c9795" + to=target, + data=Bytes( + "44587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff59907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1a37160b6a650645597c796e9c9795" # noqa: E501 ), gas_limit=100000, - value=460778909, + value=0x1B76ED9D, ) post = { - contract: Account( + target: Account( storage={ 0x44587FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0x650645597C796E9C979555, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest311.py b/tests/ported_static/stRandom/test_random_statetest311.py index 1ccdead55f2..e4f20bb3d25 100644 --- a/tests/ported_static/stRandom/test_random_statetest311.py +++ b/tests/ported_static/stRandom/test_random_statetest311.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest311. Ported from: -tests/static/state_tests/stRandom/randomStatetest311Filler.json +state_tests/stRandom/randomStatetest311Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest311Filler.json"], + ["state_tests/stRandom/randomStatetest311Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest311( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest311.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,59 @@ def test_random_statetest311( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x447f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506f13971264a1197d72ff18971902387b5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PREVRANDAO + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x13971264A1197D72FF18971902387B55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xCF4F4827D44BFACB993F9EF6499444F992A60E2E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PREVRANDAO - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x13971264A1197D72FF18971902387B55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xcf4f4827d44bfacb993f9ef6499444f992a60e2e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "447f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "00000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3506f13971264a1197d72ff18971902387b" # noqa: E501 + to=target, + data=Bytes( + "447f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506f13971264a1197d72ff18971902387b" # noqa: E501 ), gas_limit=100000, - value=97322261, + value=0x5CD0515, ) post = { - contract: Account(storage={0: 0x13971264A1197D72FF18971902387B55}), + target: Account( + storage={0: 0x13971264A1197D72FF18971902387B55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest312.py b/tests/ported_static/stRandom/test_random_statetest312.py index 23843f822cb..de22d083b93 100644 --- a/tests/ported_static/stRandom/test_random_statetest312.py +++ b/tests/ported_static/stRandom/test_random_statetest312.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest312. Ported from: -tests/static/state_tests/stRandom/randomStatetest312Filler.json +state_tests/stRandom/randomStatetest312Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest312Filler.json"], + ["state_tests/stRandom/randomStatetest312Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest312( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest312.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,131 +46,47 @@ def test_random_statetest312( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff427f0000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000187b55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff427f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000187b55" + "7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000000000000000000000000000000000187b55" # noqa: E501 ), nonce=0, - address=Address("0xa7a903566abeab1b0a9eb4f54909e6b00848a2a6"), # noqa: E501 + address=Address(0xA7A903566ABEAB1B0A9EB4F54909E6B00848A2A6), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff427f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000187b" - ), - gas_limit=100000, - value=992438124, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest312Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest312_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff427f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000187b55" - ), - nonce=0, - address=Address("0xa7a903566abeab1b0a9eb4f54909e6b00848a2a6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff427f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000187b" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000000000000000000000000000000000187b" # noqa: E501 ), gas_limit=100000, - value=992438124, + value=0x3B27676C, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest313.py b/tests/ported_static/stRandom/test_random_statetest313.py index 538cd9ddc13..89fb9065d7f 100644 --- a/tests/ported_static/stRandom/test_random_statetest313.py +++ b/tests/ported_static/stRandom/test_random_statetest313.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest313. Ported from: -tests/static/state_tests/stRandom/randomStatetest313Filler.json +state_tests/stRandom/randomStatetest313Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest313Filler.json"], + ["state_tests/stRandom/randomStatetest313Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest313( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest313.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,59 @@ def test_random_statetest313( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x0b7f00000000000000000000000000000000000000000000000000000000000000013c7f000000000000000000000000000000000000000000000000000000000000c350a345457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8287a3208c8c5a60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SIGNEXTEND + + Op.PUSH32[0x1] + + Op.EXTCODECOPY + + Op.PUSH32[0xC350] + + Op.LOG3 + + Op.LOG3( + offset=Op.DUP8, + size=Op.DUP3, + topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_2=Op.GASLIMIT, + topic_3=Op.GASLIMIT, + ) + + Op.SHA3 + + Op.DUP13 * 2 + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.GAS), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9F0B64FB000394E77826EA5EE94FE9CF30284BF2), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SIGNEXTEND - + Op.PUSH32[0x1] - + Op.EXTCODECOPY - + Op.PUSH32[0xC350] - + Op.LOG3 - + Op.LOG3( - offset=Op.DUP8, - size=Op.DUP3, - topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_2=Op.GASLIMIT, - topic_3=Op.GASLIMIT, - ) - + Op.SHA3 - + Op.DUP13 - + Op.DUP13 - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.GAS) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9f0b64fb000394e77826ea5ee94fe9cf30284bf2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "0b7f00000000000000000000000000000000000000000000000000000000000000013c7f" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000c350a345457f" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8287a320" # noqa: E501 - "8c8c5a" + to=target, + data=Bytes( + "0b7f00000000000000000000000000000000000000000000000000000000000000013c7f000000000000000000000000000000000000000000000000000000000000c350a345457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8287a3208c8c5a" # noqa: E501 ), gas_limit=100000, - value=827973881, + value=0x3159E0F9, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest315.py b/tests/ported_static/stRandom/test_random_statetest315.py index 45397cbeff3..b35562ecd4a 100644 --- a/tests/ported_static/stRandom/test_random_statetest315.py +++ b/tests/ported_static/stRandom/test_random_statetest315.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest315. Ported from: -tests/static/state_tests/stRandom/randomStatetest315Filler.json +state_tests/stRandom/randomStatetest315Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest315Filler.json"], + ["state_tests/stRandom/randomStatetest315Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest315( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest315.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,65 @@ def test_random_statetest315( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff067f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f98516a388683755669892b8b3719575560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.MOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + ) + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x98516A388683755669892B8B37195755 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xBE5726DD998FF7F8A8ACDC8172DB5C692C934199), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.MOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x98516A388683755669892B8B37195755, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xbe5726dd998ff7f8a8acdc8172db5c692c934199"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff067f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe6f98516a388683755669892b8b371957" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff067f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f98516a388683755669892b8b371957" # noqa: E501 ), gas_limit=100000, - value=332964958, + value=0x13D8A45E, ) post = { - contract: Account(storage={0: 0x98516A388683755669892B8B37195755}), + target: Account( + storage={0: 0x98516A388683755669892B8B37195755}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest316.py b/tests/ported_static/stRandom/test_random_statetest316.py index 9a4e0bf8c4f..0cbf77e8d5c 100644 --- a/tests/ported_static/stRandom/test_random_statetest316.py +++ b/tests/ported_static/stRandom/test_random_statetest316.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest316. Ported from: -tests/static/state_tests/stRandom/randomStatetest316Filler.json +state_tests/stRandom/randomStatetest316Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest316Filler.json"], + ["state_tests/stRandom/randomStatetest316Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest316( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest316.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,72 +46,65 @@ def test_random_statetest316( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0855 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.ADDMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + value=Op.PUSH32[0x1], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xCE903785F0831BD0D5E00A4629399383EF7ED516), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.ADDMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - value=Op.PUSH32[0x1], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xce903785f0831bd0d5e00a4629399383ef7ed516"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe08" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08" # noqa: E501 ), gas_limit=100000, - value=973933687, + value=0x3A0D0C77, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE: 1, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest318.py b/tests/ported_static/stRandom/test_random_statetest318.py index 1a24a4b5197..e585fcfaa01 100644 --- a/tests/ported_static/stRandom/test_random_statetest318.py +++ b/tests/ported_static/stRandom/test_random_statetest318.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest318. Ported from: -tests/static/state_tests/stRandom/randomStatetest318Filler.json +state_tests/stRandom/randomStatetest318Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest318Filler.json"], + ["state_tests/stRandom/randomStatetest318Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest318( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest318.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,62 @@ def test_random_statetest318( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350457f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3506f8206a30a83887e5a3164667796308d5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.GASLIMIT + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x8206A30A83887E5A3164667796308D55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x93C49734A285572E734BBA592627BBF22815F95F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.GASLIMIT - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x8206A30A83887E5A3164667796308D55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x93c49734a285572e734bba592627bbf22815f95f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c350457f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c3506f8206a30a83887e5a3164667796308d" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350457f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3506f8206a30a83887e5a3164667796308d" # noqa: E501 ), gas_limit=100000, - value=603571959, + value=0x23F9C6F7, ) post = { - contract: Account(storage={0: 0x8206A30A83887E5A3164667796308D55}), + target: Account( + storage={0: 0x8206A30A83887E5A3164667796308D55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest320.py b/tests/ported_static/stRandom/test_random_statetest320.py index 485d90cffcc..6828cf1b2e1 100644 --- a/tests/ported_static/stRandom/test_random_statetest320.py +++ b/tests/ported_static/stRandom/test_random_statetest320.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest320. Ported from: -tests/static/state_tests/stRandom/randomStatetest320Filler.json +state_tests/stRandom/randomStatetest320Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest320Filler.json"], + ["state_tests/stRandom/randomStatetest320Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest320( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest320.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest320( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff45457f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3505b0a36095511805131558f14fc3b # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff45457f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000c3507f000000000000000000" # noqa: E501 - "0000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c3505b0a36095511805131558f14fc3b" # noqa: E501 + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff45457f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3505b0a36095511805131558f14fc3b" # noqa: E501 ), nonce=0, - address=Address("0x10450e65dfde8718b82d012b8b2a6005e1a164dd"), # noqa: E501 + address=Address(0x10450E65DFDE8718B82D012B8B2A6005E1A164DD), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff45457f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000c3507f000000000000000000" # noqa: E501 - "0000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c3505b0a36095511805131558f14fc3b" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff45457f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3505b0a36095511805131558f14fc3b" # noqa: E501 ), gas_limit=100000, - value=831662408, + value=0x31922948, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest321.py b/tests/ported_static/stRandom/test_random_statetest321.py index ac0b85be1ff..2d4faa7acbe 100644 --- a/tests/ported_static/stRandom/test_random_statetest321.py +++ b/tests/ported_static/stRandom/test_random_statetest321.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest321. Ported from: -tests/static/state_tests/stRandom/randomStatetest321Filler.json +state_tests/stRandom/randomStatetest321Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest321Filler.json"], + ["state_tests/stRandom/randomStatetest321Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest321( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest321.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,205 +46,66 @@ def test_random_statetest321( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006a7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033a06869867986202413a537c60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.PUSH11[0x7F00000000000000000000] + + Op.STOP * 2 + + Op.SELFDESTRUCT * 20 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.MOD( + Op.GASPRICE, + Op.SUB( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), + ) + + Op.DUP7 + + Op.SWAP9 + + Op.PUSH8[0x986202413A537C60] + + Op.STOP + + Op.MLOAD + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F557114709BBDB63366DA99F52FAE471C987703), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH11[0x7F00000000000000000000] - + Op.STOP - + Op.STOP - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.MOD( - Op.GASPRICE, - Op.SUB( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - ) - + Op.DUP7 - + Op.SWAP9 - + Op.PUSH8[0x986202413A537C60] - + Op.STOP - + Op.MLOAD - + Op.SSTORE - ), - nonce=0, - address=Address("0x4f557114709bbdb63366da99f52fae471c987703"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000006a7f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff033a06869867986202413a537c" - ), - gas_limit=100000, - value=1664390209, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest321Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest321_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH11[0x7F00000000000000000000] - + Op.STOP - + Op.STOP - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.MOD( - Op.GASPRICE, - Op.SUB( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - ) - + Op.DUP7 - + Op.SWAP9 - + Op.PUSH8[0x986202413A537C60] - + Op.STOP - + Op.MLOAD - + Op.SSTORE - ), - nonce=0, - address=Address("0x4f557114709bbdb63366da99f52fae471c987703"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000006a7f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff033a06869867986202413a537c" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006a7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033a06869867986202413a537c" # noqa: E501 ), gas_limit=100000, - value=1664390209, + value=0x63349441, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest322.py b/tests/ported_static/stRandom/test_random_statetest322.py index 215684e63cb..b8ebcee78fd 100644 --- a/tests/ported_static/stRandom/test_random_statetest322.py +++ b/tests/ported_static/stRandom/test_random_statetest322.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest322. Ported from: -tests/static/state_tests/stRandom/randomStatetest322Filler.json +state_tests/stRandom/randomStatetest322Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest322Filler.json"], + ["state_tests/stRandom/randomStatetest322Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest322( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest322.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,59 @@ def test_random_statetest322( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.TIMESTAMP - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x1206060508840294304101A3128F3455, - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000427f000000000000000000000000000000000000000000000000000000000000c3506f1206060508840294304101a3128f345560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.TIMESTAMP + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x1206060508840294304101A3128F3455 ), nonce=0, - address=Address("0x35ae931707f4cd4ce0135870553491750a0a9d52"), # noqa: E501 + address=Address(0x35AE931707F4CD4CE0135870553491750A0A9D52), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000427f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c3506f1206060508840294304101a3128f34" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000427f000000000000000000000000000000000000000000000000000000000000c3506f1206060508840294304101a3128f34" # noqa: E501 ), gas_limit=100000, - value=824326372, + value=0x312238E4, ) post = { - contract: Account(storage={0: 0x1206060508840294304101A3128F3455}), + target: Account( + storage={0: 0x1206060508840294304101A3128F3455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest323.py b/tests/ported_static/stRandom/test_random_statetest323.py index e36853ea87e..3ea11b4e0a5 100644 --- a/tests/ported_static/stRandom/test_random_statetest323.py +++ b/tests/ported_static/stRandom/test_random_statetest323.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest323. Ported from: -tests/static/state_tests/stRandom/randomStatetest323Filler.json +state_tests/stRandom/randomStatetest323Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest323Filler.json"], + ["state_tests/stRandom/randomStatetest323Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest323( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest323.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,129 +46,47 @@ def test_random_statetest323( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x6f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe74977f000000000000000000000000000000000000000000000000000000000000c3506f6b7936181136392060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "6f7f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe74977f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3506f6b79361811363920600051" # noqa: E501 - "55" + "6f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe74977f000000000000000000000000000000000000000000000000000000000000c3506f6b7936181136392060005155" # noqa: E501 ), nonce=0, - address=Address("0x70da9b48406e4b67e6cc0458d7376116d08eb806"), # noqa: E501 + address=Address(0x70DA9B48406E4B67E6CC0458D7376116D08EB806), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "6f7f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe74977f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3506f6b79361811363920" # noqa: E501 - ), - gas_limit=100000, - value=1955628831, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest323Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest323_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "6f7f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe74977f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3506f6b79361811363920600051" # noqa: E501 - "55" - ), - nonce=0, - address=Address("0x70da9b48406e4b67e6cc0458d7376116d08eb806"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "6f7f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe74977f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3506f6b79361811363920" # noqa: E501 + to=target, + data=Bytes( + "6f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe74977f000000000000000000000000000000000000000000000000000000000000c3506f6b79361811363920" # noqa: E501 ), gas_limit=100000, - value=1955628831, + value=0x7490871F, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest325.py b/tests/ported_static/stRandom/test_random_statetest325.py index 84fca06db70..8e9192c0e4d 100644 --- a/tests/ported_static/stRandom/test_random_statetest325.py +++ b/tests/ported_static/stRandom/test_random_statetest325.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest325. Ported from: -tests/static/state_tests/stRandom/randomStatetest325Filler.json +state_tests/stRandom/randomStatetest325Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest325Filler.json"], + ["state_tests/stRandom/randomStatetest325Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest325( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest325.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,71 +46,67 @@ def test_random_statetest325( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81090360005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.TIMESTAMP + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.SUB( + Op.MULMOD( + Op.DUP2, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + Op.TIMESTAMP, + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF9856EC4B9DFC068E27DDFCBAB0E76A0A53BF613), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.TIMESTAMP - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.SUB( - Op.MULMOD( - Op.DUP2, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - Op.TIMESTAMP, - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf9856ec4b9dfc068e27ddfcbab0e76a0a53bf613"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff427f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff427fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe810903" + to=target, + data=Bytes( + "437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe810903" # noqa: E501 ), gas_limit=100000, - value=457480517, + value=0x1B449945, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC18, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest326.py b/tests/ported_static/stRandom/test_random_statetest326.py index 2358aa590cc..8a20c16dd8c 100644 --- a/tests/ported_static/stRandom/test_random_statetest326.py +++ b/tests/ported_static/stRandom/test_random_statetest326.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest326. Ported from: -tests/static/state_tests/stRandom/randomStatetest326Filler.json +state_tests/stRandom/randomStatetest326Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest326Filler.json"], + ["state_tests/stRandom/randomStatetest326Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest326( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest326.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,54 +47,47 @@ def test_random_statetest326( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000000034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000426259cb6142a1196e3168c986758aa4 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f000000000000000000000000000000000000000000000000000000000000000034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000426259cb6142a1196e3168c986758aa4" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE9A32A9AD98C02FA9521B9AB066BCC683A8AB126), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000000034577f" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000426259cb6142a1196e3168c986758aa4" # noqa: E501 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe9a32a9ad98c02fa9521b9ab066bcc683a8ab126"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000000034577f" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000426259cb6142a1196e3168c986758aa4" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000000034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000426259cb6142a1196e3168c986758aa4" # noqa: E501 ), gas_limit=381441932, - value=1579124913, + value=0x5E1F88B1, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest327.py b/tests/ported_static/stRandom/test_random_statetest327.py index 971b61e9473..a81d37924c5 100644 --- a/tests/ported_static/stRandom/test_random_statetest327.py +++ b/tests/ported_static/stRandom/test_random_statetest327.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest327. Ported from: -tests/static/state_tests/stRandom/randomStatetest327Filler.json +state_tests/stRandom/randomStatetest327Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest327Filler.json"], + ["state_tests/stRandom/randomStatetest327Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest327( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest327.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest327( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001458b5554397513 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001458b5554397513" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x85F19E026A6F76DB9583E20941653F5E029C9671), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000007f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000001458b5554397513" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x85f19e026a6f76db9583e20941653f5e029c9671"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000007f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000001458b5554397513" + to=target, + data=Bytes( + "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000001458b5554397513" # noqa: E501 ), gas_limit=100000, - value=592296179, + value=0x234DB8F3, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest329.py b/tests/ported_static/stRandom/test_random_statetest329.py index c6f5e06f065..b6ae6465a4a 100644 --- a/tests/ported_static/stRandom/test_random_statetest329.py +++ b/tests/ported_static/stRandom/test_random_statetest329.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest329. Ported from: -tests/static/state_tests/stRandom/randomStatetest329Filler.json +state_tests/stRandom/randomStatetest329Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest329Filler.json"], + ["state_tests/stRandom/randomStatetest329Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest329( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest329.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,60 @@ def test_random_statetest329( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.TIMESTAMP - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xA48D775458574133769C8B750207FF55, - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff426fa48d775458574133769c8b750207ff5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.TIMESTAMP + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xA48D775458574133769C8B750207FF55 ), nonce=0, - address=Address("0x06d608c689f673f068b91332000854260a1fd3e0"), # noqa: E501 + address=Address(0x06D608C689F673F068B91332000854260A1FD3E0), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000007f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff426fa48d775458574133769c8b750207ff" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff426fa48d775458574133769c8b750207ff" # noqa: E501 ), gas_limit=100000, - value=1532627820, + value=0x5B5A0B6C, ) post = { - contract: Account(storage={0: 0xA48D775458574133769C8B750207FF55}), + target: Account( + storage={0: 0xA48D775458574133769C8B750207FF55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest33.py b/tests/ported_static/stRandom/test_random_statetest33.py index 8aee1bff56b..8c0577035c5 100644 --- a/tests/ported_static/stRandom/test_random_statetest33.py +++ b/tests/ported_static/stRandom/test_random_statetest33.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest33. Ported from: -tests/static/state_tests/stRandom/randomStatetest33Filler.json +state_tests/stRandom/randomStatetest33Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest33Filler.json"], + ["state_tests/stRandom/randomStatetest33Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest33( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest33.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,69 +47,62 @@ def test_random_statetest33( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000015a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3506f6940566279386017a362876372698f5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.GAS + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x6940566279386017A362876372698F55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB756A5043F896D6B6062EA5790FB5E601F04F71C), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.GAS - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x6940566279386017A362876372698F55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb756a5043f896d6b6062ea5790fb5e601f04f71c"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000015a7fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c3506f6940566279386017a362876372698f" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000015a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3506f6940566279386017a362876372698f" # noqa: E501 ), gas_limit=2108117627, - value=123424954, + value=0x75B50BA, ) post = { - contract: Account(storage={0: 0x6940566279386017A362876372698F55}), + target: Account( + storage={0: 0x6940566279386017A362876372698F55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest332.py b/tests/ported_static/stRandom/test_random_statetest332.py index 9f38fdfe6ee..60ce2f262eb 100644 --- a/tests/ported_static/stRandom/test_random_statetest332.py +++ b/tests/ported_static/stRandom/test_random_statetest332.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest332. Ported from: -tests/static/state_tests/stRandom/randomStatetest332Filler.json +state_tests/stRandom/randomStatetest332Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest332Filler.json"], + ["state_tests/stRandom/randomStatetest332Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest332( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest332.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,61 @@ def test_random_statetest332( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7C098E7D625A64319D9E514BF3507555, - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506f7c098e7d625a64319d9e514bf350755560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7C098E7D625A64319D9E514BF3507555 ), nonce=0, - address=Address("0x30a444a96aa2e8678de375891517a99e0e71dafb"), # noqa: E501 + address=Address(0x30A444A96AA2E8678DE375891517A99E0E71DAFB), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3506f7c098e7d625a64319d9e514bf35075" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506f7c098e7d625a64319d9e514bf35075" # noqa: E501 ), gas_limit=100000, - value=1406473566, + value=0x53D5155E, ) post = { - contract: Account(storage={0: 0x7C098E7D625A64319D9E514BF3507555}), + target: Account( + storage={0: 0x7C098E7D625A64319D9E514BF3507555}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest333.py b/tests/ported_static/stRandom/test_random_statetest333.py index 6185a8bbc69..d9ea95b1a30 100644 --- a/tests/ported_static/stRandom/test_random_statetest333.py +++ b/tests/ported_static/stRandom/test_random_statetest333.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest333. Ported from: -tests/static/state_tests/stRandom/randomStatetest333Filler.json +state_tests/stRandom/randomStatetest333Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest333Filler.json"], + ["state_tests/stRandom/randomStatetest333Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest333( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest333.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,59 @@ def test_random_statetest333( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f410263f305963310856c15ff5037a05560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.GASLIMIT + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x410263F305963310856C15FF5037A055 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x608F842C00417D627FEB0F72D9ABAE6CC478E7F1), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.GASLIMIT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x410263F305963310856C15FF5037A055, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x608f842c00417d627feb0f72d9abae6cc478e7f1"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e79457fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff6f410263f305963310856c15ff50" # noqa: E501 - "37a0" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f410263f305963310856c15ff5037a0" # noqa: E501 ), gas_limit=100000, - value=807710883, + value=0x3024B0A3, ) post = { - contract: Account(storage={0: 0x410263F305963310856C15FF5037A055}), + target: Account( + storage={0: 0x410263F305963310856C15FF5037A055}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest334.py b/tests/ported_static/stRandom/test_random_statetest334.py index 91fb9521c9c..128a5bae8b4 100644 --- a/tests/ported_static/stRandom/test_random_statetest334.py +++ b/tests/ported_static/stRandom/test_random_statetest334.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest334. Ported from: -tests/static/state_tests/stRandom/randomStatetest334Filler.json +state_tests/stRandom/randomStatetest334Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest334Filler.json"], + ["state_tests/stRandom/randomStatetest334Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest334( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest334.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,58 @@ def test_random_statetest334( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000013a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f424468208e181851308b7c7a776863a160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.GASPRICE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x424468208E181851308B7C7A776863A1 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5DA550B28023EDC67D18171FB55048B2FD74CBE3), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.GASPRICE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x424468208E181851308B7C7A776863A1, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5da550b28023edc67d18171fb55048b2fd74cbe3"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000013a7fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f424468208e1818" # noqa: E501 - "51308b7c7a776863a1" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000013a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f424468208e181851308b7c7a776863a1" # noqa: E501 ), gas_limit=100000, - value=916012823, + value=0x36993F17, ) post = { - contract: Account(storage={0: 0x424468208E181851308B7C7A776863A1}), + target: Account( + storage={0: 0x424468208E181851308B7C7A776863A1}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest335.py b/tests/ported_static/stRandom/test_random_statetest335.py index 0a57d6c2f3f..2d59c29a1af 100644 --- a/tests/ported_static/stRandom/test_random_statetest335.py +++ b/tests/ported_static/stRandom/test_random_statetest335.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest335. Ported from: -tests/static/state_tests/stRandom/randomStatetest335Filler.json +state_tests/stRandom/randomStatetest335Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest335Filler.json"], + ["state_tests/stRandom/randomStatetest335Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest335( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest335.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,47 @@ def test_random_statetest335( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350617e7608617c95f3ff584076e07b5a4460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350617e7608617c95f3ff584076e07b5a4460005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA3A709FECE04184D06401D32D39F133EA3B800A8), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350617e7608617c95f3ff584076e07b5a4460005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa3a709fece04184d06401d32d39f133ea3b800a8"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350617e7608617c95f3ff584076e07b5a44" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350617e7608617c95f3ff584076e07b5a44" # noqa: E501 ), gas_limit=100000, - value=1650737351, + value=0x626440C7, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest336.py b/tests/ported_static/stRandom/test_random_statetest336.py index d1a403a062b..1297395a4e3 100644 --- a/tests/ported_static/stRandom/test_random_statetest336.py +++ b/tests/ported_static/stRandom/test_random_statetest336.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest336. Ported from: -tests/static/state_tests/stRandom/randomStatetest336Filler.json +state_tests/stRandom/randomStatetest336Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest336Filler.json"], + ["state_tests/stRandom/randomStatetest336Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest336( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest336.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,47 +46,53 @@ def test_random_statetest336( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x41443442f34241 + target = pre.deploy_contract( # noqa: F841 + code=Op.COINBASE + + Op.PREVRANDAO + + Op.RETURN(offset=Op.TIMESTAMP, size=Op.CALLVALUE) + + Op.TIMESTAMP + + Op.COINBASE, + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF3C8D5EA3CE820D6B26253D4D1D9106008C757DB), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.COINBASE - + Op.PREVRANDAO - + Op.RETURN(offset=Op.TIMESTAMP, size=Op.CALLVALUE) - + Op.TIMESTAMP - + Op.COINBASE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0xf3c8d5ea3ce820d6b26253d4d1d9106008c757db"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex("41443442f34241"), + balance=0xDE0B6B3A76586A0, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest337.py b/tests/ported_static/stRandom/test_random_statetest337.py index 48fb2b2642b..0485a7bdf61 100644 --- a/tests/ported_static/stRandom/test_random_statetest337.py +++ b/tests/ported_static/stRandom/test_random_statetest337.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest337. Ported from: -tests/static/state_tests/stRandom/randomStatetest337Filler.json +state_tests/stRandom/randomStatetest337Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest337Filler.json"], + ["state_tests/stRandom/randomStatetest337Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest337( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest337.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,57 @@ def test_random_statetest337( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350670b9af27e9a6468a15560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x1] * 3 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.SSTORE(key=0xB9AF27E9A6468A1, value=Op.PUSH32[0xC350]) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC91DE65C756CAAA7D9EDBC50AC7494254A4E2CF6), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE(key=0xB9AF27E9A6468A1, value=Op.PUSH32[0xC350]) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc91de65c756caaa7d9edbc50ac7494254a4e2cf6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350670b9af27e9a6468a1" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350670b9af27e9a6468a1" # noqa: E501 ), gas_limit=100000, - value=333069461, + value=0x13DA3C95, ) post = { - contract: Account(storage={0: 50000, 0xB9AF27E9A6468A1: 50000}), + target: Account( + storage={0: 50000, 0xB9AF27E9A6468A1: 50000}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest338.py b/tests/ported_static/stRandom/test_random_statetest338.py index 15c1c06d302..7d1b6df3490 100644 --- a/tests/ported_static/stRandom/test_random_statetest338.py +++ b/tests/ported_static/stRandom/test_random_statetest338.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest338. Ported from: -tests/static/state_tests/stRandom/randomStatetest338Filler.json +state_tests/stRandom/randomStatetest338Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest338Filler.json"], + ["state_tests/stRandom/randomStatetest338Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest338( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest338.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,82 +46,72 @@ def test_random_statetest338( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MOD( - Op.NOT( - Op.ADD( - 0x7A9DF32E6851606C, - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - ], - ), - ), - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff677a9df32e6851606c0119065560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MOD( + Op.NOT( + Op.ADD( + 0x7A9DF32E6851606C, + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) ), - value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), + value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x271814042945813b1628eb698bf09c4ae384485f"), # noqa: E501 + address=Address(0x271814042945813B1628EB698BF09C4AE384485F), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff677a9df32e6851606c011906" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff677a9df32e6851606c011906" # noqa: E501 ), gas_limit=100000, - value=1766886327, + value=0x69508BB7, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 0xFFFFFFFF85620CD197AE9F93: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest339.py b/tests/ported_static/stRandom/test_random_statetest339.py index f7eb2c76c7d..efe34496456 100644 --- a/tests/ported_static/stRandom/test_random_statetest339.py +++ b/tests/ported_static/stRandom/test_random_statetest339.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest339. Ported from: -tests/static/state_tests/stRandom/randomStatetest339Filler.json +state_tests/stRandom/randomStatetest339Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest339Filler.json"], + ["state_tests/stRandom/randomStatetest339Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest339( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest339.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,58 @@ def test_random_statetest339( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3506f89029e850708a293905668f1a367a25560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x89029E850708A293905668F1A367A255 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x978DD1566835C8AD84120731B668015399EABE79), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x89029E850708A293905668F1A367A255, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x978dd1566835c8ad84120731b668015399eabe79"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000007f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c3506f89029e850708a293905668f1a367a2" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3506f89029e850708a293905668f1a367a2" # noqa: E501 ), gas_limit=100000, - value=1064880298, + value=0x3F78C8AA, ) post = { - contract: Account(storage={0: 0x89029E850708A293905668F1A367A255}), + target: Account( + storage={0: 0x89029E850708A293905668F1A367A255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest340.py b/tests/ported_static/stRandom/test_random_statetest340.py index faeb8a75b92..3637a979161 100644 --- a/tests/ported_static/stRandom/test_random_statetest340.py +++ b/tests/ported_static/stRandom/test_random_statetest340.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest340. Ported from: -tests/static/state_tests/stRandom/randomStatetest340Filler.json +state_tests/stRandom/randomStatetest340Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest340Filler.json"], + ["state_tests/stRandom/randomStatetest340Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest340( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest340.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,59 @@ def test_random_statetest340( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff095560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.SLOAD(key=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79]) + + Op.SSTORE( + key=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE55B3D86C30351B3B3C173C83C73ACEDEA2578AE), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SLOAD( - key=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - ) - + Op.SSTORE( - key=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe55b3d86c30351b3b3c173c83c73acedea2578ae"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e79547fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=39040167, + value=0x253B4A7, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest341.py b/tests/ported_static/stRandom/test_random_statetest341.py index 52c68a365b0..61082f6017e 100644 --- a/tests/ported_static/stRandom/test_random_statetest341.py +++ b/tests/ported_static/stRandom/test_random_statetest341.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest341. Ported from: -tests/static/state_tests/stRandom/randomStatetest341Filler.json +state_tests/stRandom/randomStatetest341Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest341Filler.json"], + ["state_tests/stRandom/randomStatetest341Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest341( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest341.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,55 @@ def test_random_statetest341( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x427f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b940860005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.TIMESTAMP + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PC + + Op.RETURN(offset=Op.DUP2, size=Op.CALLVALUE) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x85646D53671639175B9408), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB2DA1F608A7E0626E721677FA30FC46D2D99C655), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PC - + Op.RETURN(offset=Op.DUP2, size=Op.CALLVALUE) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), value=0x85646D53671639175B9408 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb2da1f608a7e0626e721677fa30fc46d2d99c655"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "427f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b9408" # noqa: E501 + to=target, + data=Bytes( + "427f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b9408" # noqa: E501 ), gas_limit=4400000, - value=1485632, + value=0x16AB40, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest342.py b/tests/ported_static/stRandom/test_random_statetest342.py index 5152b66bf27..4efd2c646f1 100644 --- a/tests/ported_static/stRandom/test_random_statetest342.py +++ b/tests/ported_static/stRandom/test_random_statetest342.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest342. Ported from: -tests/static/state_tests/stRandom/randomStatetest342Filler.json +state_tests/stRandom/randomStatetest342Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest342Filler.json"], + ["state_tests/stRandom/randomStatetest342Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest342( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest342.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,60 @@ def test_random_statetest342( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000000041147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f36314297399455797b42569e8f05565560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.EQ(Op.COINBASE, Op.PUSH32[0x0]) + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x36314297399455797B42569E8F055655 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5DC5015F1706F727BAD88CE5EBC5459898B0EE4F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.EQ(Op.COINBASE, Op.PUSH32[0x0]) - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x36314297399455797B42569E8F055655, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5dc5015f1706f727bad88ce5ebc5459898b0ee4f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000041147fffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000007fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff6f36314297399455797b42569e8f0556" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000000041147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f36314297399455797b42569e8f0556" # noqa: E501 ), gas_limit=100000, - value=1662167236, + value=0x6312A8C4, ) post = { - contract: Account(storage={0: 0x36314297399455797B42569E8F055655}), + target: Account( + storage={0: 0x36314297399455797B42569E8F055655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest343.py b/tests/ported_static/stRandom/test_random_statetest343.py index 62add07d5a8..a96ba857755 100644 --- a/tests/ported_static/stRandom/test_random_statetest343.py +++ b/tests/ported_static/stRandom/test_random_statetest343.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest343. Ported from: -tests/static/state_tests/stRandom/randomStatetest343Filler.json +state_tests/stRandom/randomStatetest343Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest343Filler.json"], + ["state_tests/stRandom/randomStatetest343Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest343( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest343.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,81 +46,70 @@ def test_random_statetest343( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.CALLDATACOPY( - dest_offset=Op.LT( - Op.LT( - Op.GT( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - ], - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - ], - ), + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff1110103741355560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.CALLDATACOPY( + dest_offset=Op.LT( + Op.LT( + Op.GT( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), - offset=Op.PUSH32[0x0], - size=Op.PUSH32[0xC350], - ) - + Op.CALLDATALOAD(offset=Op.COINBASE) - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), + offset=Op.PUSH32[0x0], + size=Op.PUSH32[0xC350], + ) + + Op.CALLDATALOAD(offset=Op.COINBASE) + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x0c6077c4b33cd05c78d87cb0c0186bb869d3c773"), # noqa: E501 + address=Address(0x0C6077C4B33CD05C78D87CB0C0186BB869D3C773), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff111010374135" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff111010374135" # noqa: E501 ), gas_limit=100000, - value=1301366640, + value=0x4D914770, ) post = { - contract: Account( + target: Account( storage={ 0: 50000, 0x7F000000000000000000000000000000000000000000000000000000000000: 1, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest345.py b/tests/ported_static/stRandom/test_random_statetest345.py index 4465eac9699..d1195e58e8a 100644 --- a/tests/ported_static/stRandom/test_random_statetest345.py +++ b/tests/ported_static/stRandom/test_random_statetest345.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest345. Ported from: -tests/static/state_tests/stRandom/randomStatetest345Filler.json +state_tests/stRandom/randomStatetest345Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest345Filler.json"], + ["state_tests/stRandom/randomStatetest345Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest345( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest345.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,127 +46,47 @@ def test_random_statetest345( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x417f0000000000000000000000000000000000000000000000000000000000000001447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000000035420b417f056699168fa16d8d94113b60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "417f0000000000000000000000000000000000000000000000000000000000000001447f" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000035420b417f056699168f" # noqa: E501 - "a16d8d94113b60005155" + "417f0000000000000000000000000000000000000000000000000000000000000001447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000000035420b417f056699168fa16d8d94113b60005155" # noqa: E501 ), nonce=0, - address=Address("0xc4b87d307584985fc7448651ecda800b709d96a2"), # noqa: E501 + address=Address(0xC4B87D307584985FC7448651ECDA800B709D96A2), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "417f0000000000000000000000000000000000000000000000000000000000000001447f" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000035420b417f056699168f" # noqa: E501 - "a16d8d94113b" - ), - gas_limit=100000, - value=12028215, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest345Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest345_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "417f0000000000000000000000000000000000000000000000000000000000000001447f" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000035420b417f056699168f" # noqa: E501 - "a16d8d94113b60005155" - ), - nonce=0, - address=Address("0xc4b87d307584985fc7448651ecda800b709d96a2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "417f0000000000000000000000000000000000000000000000000000000000000001447f" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000035420b417f056699168f" # noqa: E501 - "a16d8d94113b" + to=target, + data=Bytes( + "417f0000000000000000000000000000000000000000000000000000000000000001447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000000035420b417f056699168fa16d8d94113b" # noqa: E501 ), gas_limit=100000, - value=12028215, + value=0xB78937, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest346.py b/tests/ported_static/stRandom/test_random_statetest346.py index 77b93b78b3b..5419273fdcc 100644 --- a/tests/ported_static/stRandom/test_random_statetest346.py +++ b/tests/ported_static/stRandom/test_random_statetest346.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest346. Ported from: -tests/static/state_tests/stRandom/randomStatetest346Filler.json +state_tests/stRandom/randomStatetest346Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest346Filler.json"], + ["state_tests/stRandom/randomStatetest346Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest346( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest346.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest346( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + value=Op.PUSH32[0x1], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF27D15CBABF0EE5FF4E3C4F9F754AED2EFB556C6), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - value=Op.PUSH32[0x1], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf27d15cbabf0ee5ff4e3c4f9f754aed2efb556c6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe09" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09" # noqa: E501 ), gas_limit=100000, - value=87977970, + value=0x53E6FF2, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest347.py b/tests/ported_static/stRandom/test_random_statetest347.py index 8cecf2feb0a..a13a820cb93 100644 --- a/tests/ported_static/stRandom/test_random_statetest347.py +++ b/tests/ported_static/stRandom/test_random_statetest347.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest347. Ported from: -tests/static/state_tests/stRandom/randomStatetest347Filler.json +state_tests/stRandom/randomStatetest347Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest347Filler.json"], + ["state_tests/stRandom/randomStatetest347Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest347( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xa7f7c8ef9bbbcfb0f7e81c1fd46bb732fba60592") + """Test_random_statetest347.""" + coinbase = Address(0xA7F7C8EF9BBBCFB0F7E81C1FD46BB732FBA60592) sender = EOA( key=0x1F2F6944F70460E655546D414267BD3491A2DD9DAFB2280605404C858990D053 ) @@ -45,167 +46,146 @@ def test_random_statetest347( gas_limit=188473852, ) - pre[sender] = Account(balance=0x1024D289465FA51769) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x64d552603c577e9a3805d8c55157a82b7660ef2a049cfbf79c15fa8e3261f121d213590fa3917d7d442a5e8734af2aaa4c859b452eed7860c2f7e051580427b6c3cc6d7fee617a0d64ef63e192256de5d2ea2689decfd971c7478effb06aa9e792747ce0492abde8c2f270e93d5ed0b213fed7ae59294537d4864c0e68bbe30ec5d1e6b854027862cfcbea15e8367dfaa080ee0da2b0d2ca892f5a764354370466ccddd03115ec8a7ad2e6c62c29425a45ec842fb74c369fb15a42e4b4e48b3eb70be2a0847469987980e6eaa539365a491d2366334f78f03acb177809e7525add39a234d3d2ef1cf8544a52389411ef846d3cd7f36d0d1db7f414860020171f07598cfb620e15a9681c843d60aee9fb8a4e7e37713afbf6ef9d1667513975c76f26ac35ce209b1e0a3bb7c19821368931537b4095ea42b32baf1ba596b9af5cce961ae705f8c9c5465e349633529871f64351169e7fe48ccbb866952fabbfcf40df723c564e109dbd4c9c15ee9ad625e96a5765f6f56ee0601677961da7ebad5f583f6eb6da7c8348425fe784f532f288963ccdbf9de3ac3ebc38b75a806b40e51b895c662d0bcab255a04b723f1e500517d17eb720e02f445cb046bd0fe7d2759438c79aa2dfcaef1cf57e4eb9c832f7ef449a9c32f673728f4b0dccdfa8fb1d447e2f681076ac51a98f76600a66b4692ca7e1e9c89f64cdf879cb0c625514977ebca28f2ec8bb3a092bd0c30849558fe16a4b7070cb05aec329c0286c26fff57795ce4ac7601160ea2d6656c8f2a554b43e263cc3a60e9fd0a26c0a5f7202f02888a731e84ab326610c77771f85025eb8c552943d2da5de48786015f5b8b5921d26c1e277d5a4cda5f1f77ec5f3a83e6ed6821ff025370e2fad05a0f364f58f3705c8761904d63e0f2e5bdbe2b0b1ddf82bb441c547634e8c1864737333e845ffa373c102303f727bfa14f4c445711f6f9695c36f3627df02a1fe2d7eca55faed6984000ab2a99545148bbe7369a47367bc24256acd6a3a22d5fb32434b1998297ae6b2edf08b72dc4598aa600e16707699a84e55ef611ea0e6da482f6c6e9d05d54bbb4ad06cd62622e469fbcd3e637a8f0d2ac9149b7076cce991cb5d4b4de1229e3decbcf46a3c7e46aa1fdc218d936e56f55b5a38bbd798361040e1badb1ab06adc38a723badfa07a95f78553de4df879855274a1904a31276d7938818021e69d8f5b9279478808a236deefd761df6bc151fded80bbe4ba725e7db7b9fc507f0b8121a009384c7bc4443747bd1ac9dc7682b32bec0937c7fb27ba3926acd0d67b41ba6c951788f1bb1b1168229d15cafdc63209c95df646566024013d766a01d6b8051c357243c9f464f423a2ae8efa4f9efd95777099eac9b0825d18018a5afcb6cecd9ab9a9655ae262db08a271d8adedbc3e7eb6acfd2d576ec297c09c4bd47a80dacd2b123e4e4e6232ef6d70acb10f2f44a62bbcef65a72576506ea119b051880b515f4414920badcd6f726c04e821516f6123c9c52f29e19bfe0fb10fab76536535cc0e01115c83369d4083db2d669654c2fe8c00e37bd78f663a2ce2425d2ce358e213d6c601208bb644fa656678de7633147fbd152c2ae682dec269245f07ba3c79f4e6e1978d40f42a494d44eba128b9d0228d637900cbab73455423156417fae331d26494d1ed4d06ecf206736f04292d5470d5091c48a80ba737372c35729c829af30db3625785ba0b3cfc4240d002276760f2770ead609b52db934a53063ec1c05488188fb37ce61059909b6c975c0e9401ef3b71b6d0ddae39867f3f0878bd172851a98a233fcafae289fc634c36c8b3064926d92deda3d8c5074d6a56daa511e7e693aab3d4347cebdd5b63238acdeedc3d8eb8f69ea18cb429ee8f09c26845507ba28eba916c74fd62cd9e587a8f013122d93579b6b7da091527251a4b70051be4f0f96f61e5dc4ab713c473174c7e2ebb463615b03c4787b74e8c204975399439fa553838f186ae028a47f3ccd46c5fcc46c11a36219f3ba1d34def7bee989fa61e60a2abd3652df9f8e5a1b53d9608e3bb04f5e852333d9c7d761836ef5761178bd07fde9a0ded16e1659a6c80281c259ce42e3fdbe23664ce783b58d595 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0xA9E792747CE0492ABDE8C2, + address=0xE5D2EA2689DECFD971C7478EFFB0, + value=0xEF63E19225, + args_offset=0x7A0D, + args_size=0x7D442A5E8734AF2AAA4C859B452EED7860C2F7E051580427B6C3CC6D7FEE, # noqa: E501 + ret_offset=0x9A3805D8C55157A82B7660EF2A049CFBF79C15FA8E3261F121D213590FA391, # noqa: E501 + ret_size=0xD552603C57, + ) + + Op.PUSH17[0xE93D5ED0B213FED7AE59294537D4864C0E] + + Op.PUSH9[0xBBE30EC5D1E6B85402] + + Op.PUSH25[0x62CFCBEA15E8367DFAA080EE0DA2B0D2CA892F5A7643543704] + + Op.PUSH7[0xCCDDD03115EC8A] + + Op.PUSH27[0xD2E6C62C29425A45EC842FB74C369FB15A42E4B4E48B3EB70BE2A0] + + Op.DUP5 + + Op.PUSH21[0x69987980E6EAA539365A491D2366334F78F03ACB17] + + Op.PUSH25[0x9E7525ADD39A234D3D2EF1CF8544A52389411EF846D3CD7F3] + + Op.PUSH14[0xD1DB7F414860020171F07598CFB] + + Op.PUSH3[0xE15A9] + + Op.PUSH9[0x1C843D60AEE9FB8A4E] + + Op.PUSH31[ + 0x37713AFBF6EF9D1667513975C76F26AC35CE209B1E0A3BB7C1982136893153 + ] + + Op.PUSH28[0x4095EA42B32BAF1BA596B9AF5CCE961AE705F8C9C5465E3496335298] + + Op.PUSH18[0xF64351169E7FE48CCBB866952FABBFCF40DF] + + Op.PUSH19[0x3C564E109DBD4C9C15EE9AD625E96A5765F6F5] + + Op.PUSH15[0xE0601677961DA7EBAD5F583F6EB6DA] + + Op.PUSH29[ + 0x8348425FE784F532F288963CCDBF9DE3AC3EBC38B75A806B40E51B895C + ] + + Op.PUSH7[0x2D0BCAB255A04B] + + Op.PUSH19[0x3F1E500517D17EB720E02F445CB046BD0FE7D2] + + Op.PUSH22[0x9438C79AA2DFCAEF1CF57E4EB9C832F7EF449A9C32F6] + + Op.PUSH20[0x728F4B0DCCDFA8FB1D447E2F681076AC51A98F76] + + Op.PUSH1[0xA] + + Op.PUSH7[0xB4692CA7E1E9C8] + + Op.SWAP16 + + Op.LOG2( + offset=0x95CE4AC7601160EA2D6656C8F2A554B43E263CC3A60E9FD0, + size=0xBCA28F2EC8BB3A092BD0C30849558FE16A4B7070CB05AEC329C0286C26FFF5, # noqa: E501 + topic_1=0x551497, + topic_2=0xCDF879CB0C, + ) + + Op.PUSH13[0xA5F7202F02888A731E84AB326] + + Op.PUSH2[0xC77] + + Op.PUSH24[0x1F85025EB8C552943D2DA5DE48786015F5B8B5921D26C1E2] + + Op.PUSH24[0xD5A4CDA5F1F77EC5F3A83E6ED6821FF025370E2FAD05A0F3] + + Op.PUSH5[0xF58F3705C8] + + Op.PUSH23[0x1904D63E0F2E5BDBE2B0B1DDF82BB441C547634E8C1864] + + Op.PUSH20[0x7333E845FFA373C102303F727BFA14F4C445711F] + + Op.PUSH16[0x9695C36F3627DF02A1FE2D7ECA55FAED] + + Op.PUSH10[0x84000AB2A99545148BBE] + + Op.PUSH20[0x69A47367BC24256ACD6A3A22D5FB32434B199829] + + Op.PUSH27[0xE6B2EDF08B72DC4598AA600E16707699A84E55EF611EA0E6DA482F] + + Op.PUSH13[0x6E9D05D54BBB4AD06CD62622E4] + + Op.PUSH10[0xFBCD3E637A8F0D2AC914] + + Op.SWAP12 + + Op.LOG0( + offset=0x46AA1FDC218D936E56F55B5A38BBD798361040E1BADB1AB06ADC38A723BADF, # noqa: E501 + size=0x76CCE991CB5D4B4DE1229E3DECBCF46A3C, + ) + + Op.PUSH27[0x95F78553DE4DF879855274A1904A31276D7938818021E69D8F5B92] + + Op.PUSH26[0x478808A236DEEFD761DF6BC151FDED80BBE4BA725E7DB7B9FC50] + + Op.PUSH32[ + 0xB8121A009384C7BC4443747BD1AC9DC7682B32BEC0937C7FB27BA3926ACD0D6 + ] + + Op.PUSH28[0x41BA6C951788F1BB1B1168229D15CAFDC63209C95DF646566024013D] + + Op.PUSH23[0x6A01D6B8051C357243C9F464F423A2AE8EFA4F9EFD9577] + + Op.PUSH17[0x99EAC9B0825D18018A5AFCB6CECD9AB9A9] + + Op.PUSH6[0x5AE262DB08A2] + + Op.PUSH18[0xD8ADEDBC3E7EB6ACFD2D576EC297C09C4BD4] + + Op.PUSH27[0x80DACD2B123E4E4E6232EF6D70ACB10F2F44A62BBCEF65A7257650] + + Op.PUSH15[0xA119B051880B515F4414920BADCD6F] + + Op.PUSH19[0x6C04E821516F6123C9C52F29E19BFE0FB10FAB] + + Op.PUSH23[0x536535CC0E01115C83369D4083DB2D669654C2FE8C00E3] + + Op.PUSH28[0xD78F663A2CE2425D2CE358E213D6C601208BB644FA656678DE763314] + + Op.PUSH32[ + 0xBD152C2AE682DEC269245F07BA3C79F4E6E1978D40F42A494D44EBA128B9D022 + ] + + Op.DUP14 + + Op.PUSH4[0x7900CBAB] + + Op.PUSH20[0x455423156417FAE331D26494D1ED4D06ECF20673] + + Op.PUSH16[0x4292D5470D5091C48A80BA737372C35] + + Op.PUSH19[0x9C829AF30DB3625785BA0B3CFC4240D0022767] + + Op.PUSH1[0xF2] + + Op.PUSH24[0xEAD609B52DB934A53063EC1C05488188FB37CE61059909B] + + Op.PUSH13[0x975C0E9401EF3B71B6D0DDAE39] + + Op.DUP7 + + Op.PUSH32[ + 0x3F0878BD172851A98A233FCAFAE289FC634C36C8B3064926D92DEDA3D8C5074D + ] + + Op.PUSH11[0x56DAA511E7E693AAB3D434] + + Op.PUSH29[ + 0xEBDD5B63238ACDEEDC3D8EB8F69EA18CB429EE8F09C26845507BA28EBA + ] + + Op.SWAP2 + + Op.PUSH13[0x74FD62CD9E587A8F013122D935] + + Op.PUSH26[0xB6B7DA091527251A4B70051BE4F0F96F61E5DC4AB713C473174C] + + Op.PUSH31[ + 0x2EBB463615B03C4787B74E8C204975399439FA553838F186AE028A47F3CCD4 + ] + + Op.PUSH13[0x5FCC46C11A36219F3BA1D34DEF] + + Op.PUSH28[0xEE989FA61E60A2ABD3652DF9F8E5A1B53D9608E3BB04F5E852333D9C] + + Op.PUSH30[ + 0x761836EF5761178BD07FDE9A0DED16E1659A6C80281C259CE42E3FDBE236 + ] + + Op.PUSH5[0xCE783B58D5] + + Op.SWAP6, + balance=0x33498455, + nonce=233, + address=Address(0x97BC67B6EE773E59E516D02EDB13B971C3CBD856), # noqa: E501 + ) + # Source: raw + # 0x36 + addr = pre.deploy_contract( # noqa: F841 code=Op.CALLDATASIZE, balance=0x4EA91708, nonce=89, - address=Address("0x79d9fbe6ac70917cb2e16ec4cd32968ce19c724d"), # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0xA9E792747CE0492ABDE8C2, - address=0xE5D2EA2689DECFD971C7478EFFB0, - value=0xEF63E19225, - args_offset=0x7A0D, - args_size=0x7D442A5E8734AF2AAA4C859B452EED7860C2F7E051580427B6C3CC6D7FEE, # noqa: E501 - ret_offset=0x9A3805D8C55157A82B7660EF2A049CFBF79C15FA8E3261F121D213590FA391, # noqa: E501 - ret_size=0xD552603C57, - ) - + Op.PUSH17[0xE93D5ED0B213FED7AE59294537D4864C0E] - + Op.PUSH9[0xBBE30EC5D1E6B85402] - + Op.PUSH25[0x62CFCBEA15E8367DFAA080EE0DA2B0D2CA892F5A7643543704] - + Op.PUSH7[0xCCDDD03115EC8A] - + Op.PUSH27[ - 0xD2E6C62C29425A45EC842FB74C369FB15A42E4B4E48B3EB70BE2A0 - ] - + Op.DUP5 - + Op.PUSH21[0x69987980E6EAA539365A491D2366334F78F03ACB17] - + Op.PUSH25[0x9E7525ADD39A234D3D2EF1CF8544A52389411EF846D3CD7F3] - + Op.PUSH14[0xD1DB7F414860020171F07598CFB] - + Op.PUSH3[0xE15A9] - + Op.PUSH9[0x1C843D60AEE9FB8A4E] - + Op.PUSH31[ - 0x37713AFBF6EF9D1667513975C76F26AC35CE209B1E0A3BB7C1982136893153 # noqa: E501 - ] - + Op.PUSH28[ - 0x4095EA42B32BAF1BA596B9AF5CCE961AE705F8C9C5465E3496335298 - ] - + Op.PUSH18[0xF64351169E7FE48CCBB866952FABBFCF40DF] - + Op.PUSH19[0x3C564E109DBD4C9C15EE9AD625E96A5765F6F5] - + Op.PUSH15[0xE0601677961DA7EBAD5F583F6EB6DA] - + Op.PUSH29[ - 0x8348425FE784F532F288963CCDBF9DE3AC3EBC38B75A806B40E51B895C - ] - + Op.PUSH7[0x2D0BCAB255A04B] - + Op.PUSH19[0x3F1E500517D17EB720E02F445CB046BD0FE7D2] - + Op.PUSH22[0x9438C79AA2DFCAEF1CF57E4EB9C832F7EF449A9C32F6] - + Op.PUSH20[0x728F4B0DCCDFA8FB1D447E2F681076AC51A98F76] - + Op.PUSH1[0xA] - + Op.PUSH7[0xB4692CA7E1E9C8] - + Op.SWAP16 - + Op.LOG2( - offset=0x95CE4AC7601160EA2D6656C8F2A554B43E263CC3A60E9FD0, - size=0xBCA28F2EC8BB3A092BD0C30849558FE16A4B7070CB05AEC329C0286C26FFF5, # noqa: E501 - topic_1=0x551497, - topic_2=0xCDF879CB0C, - ) - + Op.PUSH13[0xA5F7202F02888A731E84AB326] - + Op.PUSH2[0xC77] - + Op.PUSH24[0x1F85025EB8C552943D2DA5DE48786015F5B8B5921D26C1E2] - + Op.PUSH24[0xD5A4CDA5F1F77EC5F3A83E6ED6821FF025370E2FAD05A0F3] - + Op.PUSH5[0xF58F3705C8] - + Op.PUSH23[0x1904D63E0F2E5BDBE2B0B1DDF82BB441C547634E8C1864] - + Op.PUSH20[0x7333E845FFA373C102303F727BFA14F4C445711F] - + Op.PUSH16[0x9695C36F3627DF02A1FE2D7ECA55FAED] - + Op.PUSH10[0x84000AB2A99545148BBE] - + Op.PUSH20[0x69A47367BC24256ACD6A3A22D5FB32434B199829] - + Op.PUSH27[ - 0xE6B2EDF08B72DC4598AA600E16707699A84E55EF611EA0E6DA482F - ] - + Op.PUSH13[0x6E9D05D54BBB4AD06CD62622E4] - + Op.PUSH10[0xFBCD3E637A8F0D2AC914] - + Op.SWAP12 - + Op.LOG0( - offset=0x46AA1FDC218D936E56F55B5A38BBD798361040E1BADB1AB06ADC38A723BADF, # noqa: E501 - size=0x76CCE991CB5D4B4DE1229E3DECBCF46A3C, - ) - + Op.PUSH27[ - 0x95F78553DE4DF879855274A1904A31276D7938818021E69D8F5B92 - ] - + Op.PUSH26[0x478808A236DEEFD761DF6BC151FDED80BBE4BA725E7DB7B9FC50] - + Op.PUSH32[ - 0xB8121A009384C7BC4443747BD1AC9DC7682B32BEC0937C7FB27BA3926ACD0D6 # noqa: E501 - ] - + Op.PUSH28[ - 0x41BA6C951788F1BB1B1168229D15CAFDC63209C95DF646566024013D - ] - + Op.PUSH23[0x6A01D6B8051C357243C9F464F423A2AE8EFA4F9EFD9577] - + Op.PUSH17[0x99EAC9B0825D18018A5AFCB6CECD9AB9A9] - + Op.PUSH6[0x5AE262DB08A2] - + Op.PUSH18[0xD8ADEDBC3E7EB6ACFD2D576EC297C09C4BD4] - + Op.PUSH27[ - 0x80DACD2B123E4E4E6232EF6D70ACB10F2F44A62BBCEF65A7257650 - ] - + Op.PUSH15[0xA119B051880B515F4414920BADCD6F] - + Op.PUSH19[0x6C04E821516F6123C9C52F29E19BFE0FB10FAB] - + Op.PUSH23[0x536535CC0E01115C83369D4083DB2D669654C2FE8C00E3] - + Op.PUSH28[ - 0xD78F663A2CE2425D2CE358E213D6C601208BB644FA656678DE763314 - ] - + Op.PUSH32[ - 0xBD152C2AE682DEC269245F07BA3C79F4E6E1978D40F42A494D44EBA128B9D022 # noqa: E501 - ] - + Op.DUP14 - + Op.PUSH4[0x7900CBAB] - + Op.PUSH20[0x455423156417FAE331D26494D1ED4D06ECF20673] - + Op.PUSH16[0x4292D5470D5091C48A80BA737372C35] - + Op.PUSH19[0x9C829AF30DB3625785BA0B3CFC4240D0022767] - + Op.PUSH1[0xF2] - + Op.PUSH24[0xEAD609B52DB934A53063EC1C05488188FB37CE61059909B] - + Op.PUSH13[0x975C0E9401EF3B71B6D0DDAE39] - + Op.DUP7 - + Op.PUSH32[ - 0x3F0878BD172851A98A233FCAFAE289FC634C36C8B3064926D92DEDA3D8C5074D # noqa: E501 - ] - + Op.PUSH11[0x56DAA511E7E693AAB3D434] - + Op.PUSH29[ - 0xEBDD5B63238ACDEEDC3D8EB8F69EA18CB429EE8F09C26845507BA28EBA - ] - + Op.SWAP2 - + Op.PUSH13[0x74FD62CD9E587A8F013122D935] - + Op.PUSH26[0xB6B7DA091527251A4B70051BE4F0F96F61E5DC4AB713C473174C] - + Op.PUSH31[ - 0x2EBB463615B03C4787B74E8C204975399439FA553838F186AE028A47F3CCD4 # noqa: E501 - ] - + Op.PUSH13[0x5FCC46C11A36219F3BA1D34DEF] - + Op.PUSH28[ - 0xEE989FA61E60A2ABD3652DF9F8E5A1B53D9608E3BB04F5E852333D9C - ] - + Op.PUSH30[ - 0x761836EF5761178BD07FDE9A0DED16E1659A6C80281C259CE42E3FDBE236 - ] - + Op.PUSH5[0xCE783B58D5] - + Op.SWAP6 - ), - balance=0x33498455, - nonce=233, - address=Address("0x97bc67b6ee773e59e516d02edb13b971c3cbd856"), # noqa: E501 + address=Address(0x79D9FBE6AC70917CB2E16EC4CD32968CE19C724D), # noqa: E501 ) + pre[sender] = Account(balance=0x1024D289465FA51769) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "73151af76abac2a99afe60eff5cfd8f68daf1b35e0608a690494ef4b1d043bf90e00916a" # noqa: E501 - "cf5f0332c3ef3aa972eba960aa557dc165d1a3c726953fc637fe643a60543de4159f3bc0" # noqa: E501 - "9673cd054235ddb44769fa2d6edb61b6e71feff2662043418ac9d2337bce1df4b842fbf8" # noqa: E501 - "f07395b44bb506e8955d22a12176e2fb8e25bc546d77a6f5049a09f3126c915f14979d8c" # noqa: E501 - "7c0cf88425567c6b8a6865b78e6d76208a641cb0d0651a758d9afdd5e36b2dcf740a8a1e" # noqa: E501 - "2b19ebb0bc8ad6ac032577f3b5d483e40d0c9a40aaf32cebc478c0962e1ac5f6c648f476" # noqa: E501 - "65f0850054ab4caab6eca1a24242087387c96452ad72e76a42a175db6c69a2d8cbcd7075" # noqa: E501 - "9249b040a797894765385557e947875851cfe9734edc8b613cbb6bf40b41b762fa3bcbc6" # noqa: E501 - "b59ecc66971fef9e8ed16d691702b224f0e2f8ad12577a943401f57334d3207b884a40ed" # noqa: E501 - "472960f03e4cab61c98268b5a73b6372ab45a7a4" + to=target, + data=Bytes( + "73151af76abac2a99afe60eff5cfd8f68daf1b35e0608a690494ef4b1d043bf90e00916acf5f0332c3ef3aa972eba960aa557dc165d1a3c726953fc637fe643a60543de4159f3bc09673cd054235ddb44769fa2d6edb61b6e71feff2662043418ac9d2337bce1df4b842fbf8f07395b44bb506e8955d22a12176e2fb8e25bc546d77a6f5049a09f3126c915f14979d8c7c0cf88425567c6b8a6865b78e6d76208a641cb0d0651a758d9afdd5e36b2dcf740a8a1e2b19ebb0bc8ad6ac032577f3b5d483e40d0c9a40aaf32cebc478c0962e1ac5f6c648f47665f0850054ab4caab6eca1a24242087387c96452ad72e76a42a175db6c69a2d8cbcd70759249b040a797894765385557e947875851cfe9734edc8b613cbb6bf40b41b762fa3bcbc6b59ecc66971fef9e8ed16d691702b224f0e2f8ad12577a943401f57334d3207b884a40ed472960f03e4cab61c98268b5a73b6372ab45a7a4" # noqa: E501 ), gas_limit=8653299, + value=0x7F3E3A6AC8834E68, gas_price=29, - value=9168830121677901416, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=233), + addr: Account(storage={}, code=bytes.fromhex("36"), nonce=89), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest348.py b/tests/ported_static/stRandom/test_random_statetest348.py index cdda5f2bb1e..249dc323fc3 100644 --- a/tests/ported_static/stRandom/test_random_statetest348.py +++ b/tests/ported_static/stRandom/test_random_statetest348.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest348. Ported from: -tests/static/state_tests/stRandom/randomStatetest348Filler.json +state_tests/stRandom/randomStatetest348Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest348Filler.json"], + ["state_tests/stRandom/randomStatetest348Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest348( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest348.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,64 @@ def test_random_statetest348( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.XOR(Op.TIMESTAMP, Op.PUSH32[0x1]) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x18208119191509036365739735608A55, - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000142186f18208119191509036365739735608a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.XOR(Op.TIMESTAMP, Op.PUSH32[0x1]) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x18208119191509036365739735608A55 ), nonce=0, - address=Address("0x1ac875748792954a75c59986bae7851bdc422122"), # noqa: E501 + address=Address(0x1AC875748792954A75C59986BAE7851BDC422122), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000142186f18208119191509036365739735608a" # noqa: E501 + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000142186f18208119191509036365739735608a" # noqa: E501 ), gas_limit=100000, - value=1329276634, + value=0x4F3B26DA, ) post = { - contract: Account(storage={0: 0x18208119191509036365739735608A55}), + target: Account( + storage={0: 0x18208119191509036365739735608A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest349.py b/tests/ported_static/stRandom/test_random_statetest349.py index 1ed1b347fc0..6bf74557b64 100644 --- a/tests/ported_static/stRandom/test_random_statetest349.py +++ b/tests/ported_static/stRandom/test_random_statetest349.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest349. Ported from: -tests/static/state_tests/stRandom/randomStatetest349Filler.json +state_tests/stRandom/randomStatetest349Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest349Filler.json"], + ["state_tests/stRandom/randomStatetest349Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest349( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest349.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,65 @@ def test_random_statetest349( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe04425560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.TIMESTAMP, + value=Op.DIV( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xC350], + ), + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7AE95F23F4E7F70699A603A5B4CAC5CDC841F96D), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.TIMESTAMP, - value=Op.DIV( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xC350], - ), - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7ae95f23f4e7f70699a603a5b4cac5cdc841f96d"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe0442" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0442" # noqa: E501 ), gas_limit=100000, - value=201035010, + value=0xBFB8D02, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 1: 0, 1000: 0x14F8B588E368F08461F9F01B866E43AA79BBADC0980B242070B8CFBFC6540, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest350.py b/tests/ported_static/stRandom/test_random_statetest350.py index cd4117ade70..c5bb975caa1 100644 --- a/tests/ported_static/stRandom/test_random_statetest350.py +++ b/tests/ported_static/stRandom/test_random_statetest350.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest350. Ported from: -tests/static/state_tests/stRandom/randomStatetest350Filler.json +state_tests/stRandom/randomStatetest350Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest350Filler.json"], + ["state_tests/stRandom/randomStatetest350Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest350( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest350.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,155 +46,61 @@ def test_random_statetest350( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.ADDMOD( - Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - Op.PUSH32[0x0], - Op.PREVRANDAO, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe447f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff090860005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.ADDMOD( + Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), - ) + Op.PUSH32[0x0], + Op.PREVRANDAO, + ), ), nonce=0, - address=Address("0xe81d688b7d2e6264deec5b61c7e8e02426c7256f"), # noqa: E501 + address=Address(0xE81D688B7D2E6264DEEC5B61C7E8E02426C7256F), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe447f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff0908" - ), - gas_limit=100000, - value=1634268072, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest350Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest350_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.ADDMOD( - Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - Op.PUSH32[0x0], - Op.PREVRANDAO, - ), - ) - ), - nonce=0, - address=Address("0xe81d688b7d2e6264deec5b61c7e8e02426c7256f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe447f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff0908" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe447f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0908" # noqa: E501 ), gas_limit=100000, - value=1634268072, + value=0x6168F3A8, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest351.py b/tests/ported_static/stRandom/test_random_statetest351.py index 7fc7df07616..630da8605b3 100644 --- a/tests/ported_static/stRandom/test_random_statetest351.py +++ b/tests/ported_static/stRandom/test_random_statetest351.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest351. Ported from: -tests/static/state_tests/stRandom/randomStatetest351Filler.json +state_tests/stRandom/randomStatetest351Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest351Filler.json"], + ["state_tests/stRandom/randomStatetest351Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest351( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest351.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,52 @@ def test_random_statetest351( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0509355534707785320175fca41455 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0509355534707785320175fca41455" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB3E70B8B43ACA022897DEC6729EBB6E4355E00F1), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe0509355534707785320175fca41455" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb3e70b8b43aca022897dec6729ebb6e4355e00f1"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe0509355534707785320175fca414" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0509355534707785320175fca414" # noqa: E501 ), gas_limit=100000, - value=1215186094, + value=0x486E44AE, ) post = { - contract: Account( + target: Account( storage={ 0x7F00000000000000000000000000000000000000000000000000000000000000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest352.py b/tests/ported_static/stRandom/test_random_statetest352.py index e81011db6de..9d5e3dd6f5d 100644 --- a/tests/ported_static/stRandom/test_random_statetest352.py +++ b/tests/ported_static/stRandom/test_random_statetest352.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest352. Ported from: -tests/static/state_tests/stRandom/randomStatetest352Filler.json +state_tests/stRandom/randomStatetest352Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest352Filler.json"], + ["state_tests/stRandom/randomStatetest352Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest352( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest352.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,76 +46,70 @@ def test_random_statetest352( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000003a457f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000013428284f28a980b4539a39d1408 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.GASPRICE + + Op.CALLCODE( + gas=Op.DUP5, + address=Op.DUP3, + value=Op.TIMESTAMP, + args_offset=Op.SGT( + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + Op.PUSH32[0x0], + ), + args_size=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + ret_offset=Op.PUSH32[0xC350], + ret_size=Op.GASLIMIT, + ) + + Op.DUP11 + + Op.SWAP9 + + Op.SIGNEXTEND + + Op.GASLIMIT + + Op.CODECOPY + + Op.LOG3 + + Op.SWAP14 + + Op.EQ + + Op.ADDMOD, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x936CFC08BEE110B939B632FE581FDC10E3484E0F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.GASPRICE - + Op.CALLCODE( - gas=Op.DUP5, - address=Op.DUP3, - value=Op.TIMESTAMP, - args_offset=Op.SGT( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - Op.PUSH32[0x0], - ), - args_size=Op.PUSH32[ - 0x4F3F701464972E74606D6EA82D4D3080599A0E79 - ], - ret_offset=Op.PUSH32[0xC350], - ret_size=Op.GASLIMIT, - ) - + Op.DUP11 - + Op.SWAP9 - + Op.SIGNEXTEND - + Op.GASLIMIT - + Op.CODECOPY - + Op.LOG3 - + Op.SWAP14 - + Op.EQ - + Op.ADDMOD + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x936cfc08bee110b939b632fe581fdc10e3484e0f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000003a457f000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000c3507f000000000000" # noqa: E501 - "0000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "4f3f701464972e74606d6ea82d4d3080599a0e7913428284f28a980b4539a39d1408" # noqa: E501 + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000003a457f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7913428284f28a980b4539a39d1408" # noqa: E501 ), gas_limit=100000, - value=21936558, + value=0x14EB9AE, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest353.py b/tests/ported_static/stRandom/test_random_statetest353.py index b5e3907a2d2..0f866e32de3 100644 --- a/tests/ported_static/stRandom/test_random_statetest353.py +++ b/tests/ported_static/stRandom/test_random_statetest353.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest353. Ported from: -tests/static/state_tests/stRandom/randomStatetest353Filler.json +state_tests/stRandom/randomStatetest353Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest353Filler.json"], + ["state_tests/stRandom/randomStatetest353Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest353( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest353.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest353( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000120ba49036880f86529655 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000120ba49036880f86529655" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDFB2DE0E2DC6BCF9941A4B2040AF9A9CD6CC8CA7), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000357fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000" # noqa: E501 - "00000000000000000000000000000000120ba49036880f86529655" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xdfb2de0e2dc6bcf9941a4b2040af9a9cd6cc8ca7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000357fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000" # noqa: E501 - "00000000000000000000000000000000120ba49036880f865296" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000120ba49036880f865296" # noqa: E501 ), gas_limit=100000, - value=1727538107, + value=0x66F823BB, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest354.py b/tests/ported_static/stRandom/test_random_statetest354.py index 28501ceee40..c2cc368c893 100644 --- a/tests/ported_static/stRandom/test_random_statetest354.py +++ b/tests/ported_static/stRandom/test_random_statetest354.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest354. Ported from: -tests/static/state_tests/stRandom/randomStatetest354Filler.json +state_tests/stRandom/randomStatetest354Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest354Filler.json"], + ["state_tests/stRandom/randomStatetest354Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest354( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest354.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,80 +46,73 @@ def test_random_statetest354( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350603b35641a8e739f86980a433760005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.CALLDATALOAD(offset=0x3B) + + Op.PUSH5[0x1A8E739F86] + + Op.SWAP9 + + Op.EXP + + Op.NUMBER + + Op.CALLDATACOPY + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF5128D151D2B28EAB17B340C1BD00E96683B90D6), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.CALLDATALOAD(offset=0x3B) - + Op.PUSH5[0x1A8E739F86] - + Op.SWAP9 - + Op.EXP - + Op.NUMBER - + Op.CALLDATACOPY - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf5128d151d2b28eab17b340c1bd00e96683b90d6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000007fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350603b35641a8e739f86980a4337" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350603b35641a8e739f86980a4337" # noqa: E501 ), gas_limit=100000, - value=615164662, + value=0x24AAAAF6, ) post = { - contract: Account( + target: Account( storage={ 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest355.py b/tests/ported_static/stRandom/test_random_statetest355.py index 355fb4e99d3..6d28a80f3b5 100644 --- a/tests/ported_static/stRandom/test_random_statetest355.py +++ b/tests/ported_static/stRandom/test_random_statetest355.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest355. Ported from: -tests/static/state_tests/stRandom/randomStatetest355Filler.json +state_tests/stRandom/randomStatetest355Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest355Filler.json"], + ["state_tests/stRandom/randomStatetest355Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest355( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest355.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest355( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000457f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001666b56e87c5a499d5389306e55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79457f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001666b56e87c5a499d5389306e55" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xCECD2AE07D64D406743F25363AF5C2CD6E8FFC2A), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e79457f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000001666b56e87c5a499d5389306e55" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xcecd2ae07d64d406743f25363af5c2cd6e8ffc2a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e79457f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000001666b56e87c5a499d5389306e" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79457f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001666b56e87c5a499d5389306e" # noqa: E501 ), gas_limit=100000, - value=659556805, + value=0x275009C5, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest356.py b/tests/ported_static/stRandom/test_random_statetest356.py index a71049fdbcb..2d5e2ba9b7d 100644 --- a/tests/ported_static/stRandom/test_random_statetest356.py +++ b/tests/ported_static/stRandom/test_random_statetest356.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest356. Ported from: -tests/static/state_tests/stRandom/randomStatetest356Filler.json +state_tests/stRandom/randomStatetest356Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest356Filler.json"], + ["state_tests/stRandom/randomStatetest356Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest356( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest356.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,64 @@ def test_random_statetest356( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000827f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.DUP3 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.DIV( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xC350], + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x744CD72CA97273B1A4C6495DB482D22141B79C36), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.DUP3 - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.DIV( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xC350], - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x744cd72ca97273b1a4c6495db482d22141b79c36"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e79827f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe04" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79827f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe04" # noqa: E501 ), gas_limit=100000, - value=1329095939, + value=0x4F386503, ) post = { - contract: Account( + target: Account( storage={ 0: 0x14F8B588E368F08461F9F01B866E43AA79BBADC0980B242070B8CFBFC6540, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest357.py b/tests/ported_static/stRandom/test_random_statetest357.py index b680bbc50f9..353052701b3 100644 --- a/tests/ported_static/stRandom/test_random_statetest357.py +++ b/tests/ported_static/stRandom/test_random_statetest357.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest357. Ported from: -tests/static/state_tests/stRandom/randomStatetest357Filler.json +state_tests/stRandom/randomStatetest357Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest357Filler.json"], + ["state_tests/stRandom/randomStatetest357Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest357( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest357.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest357( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09377c5380715560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09377c5380715560005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x625C4C0C1932D06A13B656F82B55ACAF57689DDA), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c350427fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff09377c5380715560005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x625c4c0c1932d06a13b656f82b55acaf57689dda"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c350427fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff09377c538071" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09377c538071" # noqa: E501 ), gas_limit=100000, - value=1516457170, + value=0x5A634CD2, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest358.py b/tests/ported_static/stRandom/test_random_statetest358.py index 9af9f446a93..04cf428c3e6 100644 --- a/tests/ported_static/stRandom/test_random_statetest358.py +++ b/tests/ported_static/stRandom/test_random_statetest358.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest358. Ported from: -tests/static/state_tests/stRandom/randomStatetest358Filler.json +state_tests/stRandom/randomStatetest358Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest358Filler.json"], + ["state_tests/stRandom/randomStatetest358Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest358( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest358.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,59 @@ def test_random_statetest358( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.COINBASE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.NUMBER - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x679B82A092078F136B5541888C057A55, - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000000000000000000000000000000000000000c3506f679b82a092078f136b5541888c057a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.COINBASE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.NUMBER + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x679B82A092078F136B5541888C057A55 ), nonce=0, - address=Address("0x009c8651ca2d7c8dfbf9e9db5c57a213e25f0aac"), # noqa: E501 + address=Address(0x009C8651CA2D7C8DFBF9E9DB5C57A213E25F0AAC), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e79417fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c3506f679b82a092078f136b5541888c057a" # noqa: E501 + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000000000000000000000000000000000000000c3506f679b82a092078f136b5541888c057a" # noqa: E501 ), gas_limit=100000, - value=623856537, + value=0x252F4B99, ) post = { - contract: Account(storage={0: 0x679B82A092078F136B5541888C057A55}), + target: Account( + storage={0: 0x679B82A092078F136B5541888C057A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest359.py b/tests/ported_static/stRandom/test_random_statetest359.py index d2854b77e65..ba8f93dfc85 100644 --- a/tests/ported_static/stRandom/test_random_statetest359.py +++ b/tests/ported_static/stRandom/test_random_statetest359.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest359. Ported from: -tests/static/state_tests/stRandom/randomStatetest359Filler.json +state_tests/stRandom/randomStatetest359Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest359Filler.json"], + ["state_tests/stRandom/randomStatetest359Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest359( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest359.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest359( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff428d06809e75f26764867d853b0555 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff428d06809e75f26764867d853b0555" # noqa: E501 + "7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff428d06809e75f26764867d853b0555" # noqa: E501 ), nonce=0, - address=Address("0x2e42fa9e3e939bc1af51a19d6e8d3d80cd923842"), # noqa: E501 + address=Address(0x2E42FA9E3E939BC1AF51A19D6E8D3D80CD923842), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff428d06809e75f26764867d853b05" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff428d06809e75f26764867d853b05" # noqa: E501 ), gas_limit=100000, - value=801407730, + value=0x2FC482F2, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest36.py b/tests/ported_static/stRandom/test_random_statetest36.py index 4c77a35e9f8..dc746636153 100644 --- a/tests/ported_static/stRandom/test_random_statetest36.py +++ b/tests/ported_static/stRandom/test_random_statetest36.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest36. Ported from: -tests/static/state_tests/stRandom/randomStatetest36Filler.json +state_tests/stRandom/randomStatetest36Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest36Filler.json"], + ["state_tests/stRandom/randomStatetest36Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest36( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest36.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,74 +47,65 @@ def test_random_statetest36( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000010000000000000000000000000000000000000000448243628c0970843ba460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PREVRANDAO + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.LOG4( + offset=Op.EXTCODESIZE(address=Op.DUP5), + size=0x8C0970, + topic_1=Op.NUMBER, + topic_2=Op.DUP3, + topic_3=Op.PREVRANDAO, + topic_4=Op.PUSH32[0x10000000000000000000000000000000000000000], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xAD6FFFED2E41E6D57F10DEBDF91B1DC35758B7AD), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PREVRANDAO - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.LOG4( - offset=Op.EXTCODESIZE(address=Op.DUP5), - size=0x8C0970, - topic_1=Op.NUMBER, - topic_2=Op.DUP3, - topic_3=Op.PREVRANDAO, - topic_4=Op.PUSH32[0x10000000000000000000000000000000000000000], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xad6fffed2e41e6d57f10debdf91b1dc35758b7ad"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017f00000000000000000000000100000000" # noqa: E501 - "00000000000000000000000000000000448243628c0970843ba4" + to=target, + data=Bytes( + "447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000010000000000000000000000000000000000000000448243628c0970843ba4" # noqa: E501 ), gas_limit=1518298975, - value=2098819291, + value=0x7D1970DB, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest360.py b/tests/ported_static/stRandom/test_random_statetest360.py index 4c069ae366a..2bca9f22373 100644 --- a/tests/ported_static/stRandom/test_random_statetest360.py +++ b/tests/ported_static/stRandom/test_random_statetest360.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest360. Ported from: -tests/static/state_tests/stRandom/randomStatetest360Filler.json +state_tests/stRandom/randomStatetest360Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest360Filler.json"], + ["state_tests/stRandom/randomStatetest360Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest360( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest360.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest360( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000016f0441548af30803135562840563829c5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x441548AF30803135562840563829C55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xEE7C7C19EF09791C7B863CCBEE181FEFD5EBDCAE), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x441548AF30803135562840563829C55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xee7c7c19ef09791c7b863ccbee181fefd5ebdcae"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000016f0441548af30803135562840563829c" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000016f0441548af30803135562840563829c" # noqa: E501 ), gas_limit=100000, - value=991329291, + value=0x3B167C0B, ) post = { - contract: Account(storage={0: 0x441548AF30803135562840563829C55}), + target: Account( + storage={0: 0x441548AF30803135562840563829C55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest361.py b/tests/ported_static/stRandom/test_random_statetest361.py index d0d3906c6f1..3cb0f4b6ea6 100644 --- a/tests/ported_static/stRandom/test_random_statetest361.py +++ b/tests/ported_static/stRandom/test_random_statetest361.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest361. Ported from: -tests/static/state_tests/stRandom/randomStatetest361Filler.json +state_tests/stRandom/randomStatetest361Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest361Filler.json"], + ["state_tests/stRandom/randomStatetest361Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest361( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest361.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,62 @@ def test_random_statetest361( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.COINBASE - + Op.COINBASE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.MOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0x10000000000000000000000000000000000000000], - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x9E9092673A8F430B6BA1152090181655, - ) + # Source: raw + # 0x41417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff066f9e9092673a8f430b6ba115209018165560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.COINBASE * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.MOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + Op.PUSH32[0x10000000000000000000000000000000000000000], + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x9E9092673A8F430B6BA1152090181655 ), nonce=0, - address=Address("0x340510d159871ca56b7b6ba9b4fc8bf6c6a5a535"), # noqa: E501 + address=Address(0x340510D159871CA56B7B6BA9B4FC8BF6C6A5A535), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "41417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f" # noqa: E501 - "00000000000000000000000100000000000000000000000000000000000000007fffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000" # noqa: E501 - "00000000000100000000000000000000000000000000000000007fffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffff066f9e9092673a8f430b6ba115" # noqa: E501 - "20901816" + to=target, + data=Bytes( + "41417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff066f9e9092673a8f430b6ba11520901816" # noqa: E501 ), gas_limit=100000, - value=1958353085, + value=0x74BA18BD, ) post = { - contract: Account(storage={0: 0x9E9092673A8F430B6BA1152090181655}), + target: Account( + storage={0: 0x9E9092673A8F430B6BA1152090181655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest362.py b/tests/ported_static/stRandom/test_random_statetest362.py index 61b23675f72..809c5e6e002 100644 --- a/tests/ported_static/stRandom/test_random_statetest362.py +++ b/tests/ported_static/stRandom/test_random_statetest362.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest362. Ported from: -tests/static/state_tests/stRandom/randomStatetest362Filler.json +state_tests/stRandom/randomStatetest362Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest362Filler.json"], + ["state_tests/stRandom/randomStatetest362Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest362( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest362.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,72 +47,63 @@ def test_random_statetest362( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MULMOD( - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) + # Source: raw + # 0x7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b50955 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.SSTORE( + key=Op.MULMOD( + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a" # noqa: E501 - "98b57a48a06ae28d285a71b509" + to=contract_0, + data=Bytes( + "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b509" # noqa: E501 ), gas_limit=100000, - value=822238394, + value=0x31025CBA, ) post = { - contract: Account( + contract_0: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFF6BACFB1469F9A4D5674A85B75F951D72D7A58E4A: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest363.py b/tests/ported_static/stRandom/test_random_statetest363.py index 167b64fe704..eff59ba1925 100644 --- a/tests/ported_static/stRandom/test_random_statetest363.py +++ b/tests/ported_static/stRandom/test_random_statetest363.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest363. Ported from: -tests/static/state_tests/stRandom/randomStatetest363Filler.json +state_tests/stRandom/randomStatetest363Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest363Filler.json"], + ["state_tests/stRandom/randomStatetest363Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest363( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest363.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,65 @@ def test_random_statetest363( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f7b20937d953695f369719f9a4479055560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.GT( + Op.PUSH32[0xC350], + Op.PUSH32[0x10000000000000000000000000000000000000000], + ) + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7B20937D953695F369719F9A44790555 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xCAF50C7EFED9C2AC1920749B5B1DA29C765DCDD7), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.GT( - Op.PUSH32[0xC350], - Op.PUSH32[0x10000000000000000000000000000000000000000], - ) - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7B20937D953695F369719F9A44790555, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xcaf50c7efed9c2ac1920749b5b1da29c765dcdd7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c350117fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe6f7b20937d953695f369719f9a447905" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350117ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f7b20937d953695f369719f9a447905" # noqa: E501 ), gas_limit=100000, - value=1276687966, + value=0x4C18B65E, ) post = { - contract: Account(storage={0: 0x7B20937D953695F369719F9A44790555}), + target: Account( + storage={0: 0x7B20937D953695F369719F9A44790555}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest364.py b/tests/ported_static/stRandom/test_random_statetest364.py index 38bfad9795b..9a891f45f31 100644 --- a/tests/ported_static/stRandom/test_random_statetest364.py +++ b/tests/ported_static/stRandom/test_random_statetest364.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest364. Ported from: -tests/static/state_tests/stRandom/randomStatetest364Filler.json +state_tests/stRandom/randomStatetest364Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest364Filler.json"], + ["state_tests/stRandom/randomStatetest364Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest364( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest364.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest364( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350076f7332988d746694918859185920446d5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SMOD( + Op.PUSH32[0xC350], + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7332988D746694918859185920446D55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x81C6B6D0445898D97501D83D77947B4365EA2533), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SMOD( - Op.PUSH32[0xC350], - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7332988D746694918859185920446D55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x81c6b6d0445898d97501d83d77947b4365ea2533"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c350076f7332988d746694918859185920446d" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c350076f7332988d746694918859185920446d" # noqa: E501 ), gas_limit=100000, - value=630230945, + value=0x25908FA1, ) post = { - contract: Account(storage={0: 0x7332988D746694918859185920446D55}), + target: Account( + storage={0: 0x7332988D746694918859185920446D55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest365.py b/tests/ported_static/stRandom/test_random_statetest365.py index 9631caab804..5c463813126 100644 --- a/tests/ported_static/stRandom/test_random_statetest365.py +++ b/tests/ported_static/stRandom/test_random_statetest365.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest365. Ported from: -tests/static/state_tests/stRandom/randomStatetest365Filler.json +state_tests/stRandom/randomStatetest365Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest365Filler.json"], + ["state_tests/stRandom/randomStatetest365Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest365( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest365.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,75 +46,73 @@ def test_random_statetest365( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000000143b420785375560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.TIMESTAMP + + Op.COINBASE + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.CALLDATACOPY( + dest_offset=Op.DUP6, + offset=Op.SMOD( + Op.TIMESTAMP, + Op.EXTCODESIZE( + address=Op.EQ( + Op.PUSH32[0x0], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ) + ), + ), + size=Op.PUSH32[0xC350], + ) + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x51D8E96D50235F1ECB7B408B657349B038E7A135), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.TIMESTAMP - + Op.COINBASE - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.CALLDATACOPY( - dest_offset=Op.DUP6, - offset=Op.SMOD( - Op.TIMESTAMP, - Op.EXTCODESIZE( - address=Op.EQ( - Op.PUSH32[0x0], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ), - ), - size=Op.PUSH32[0xC350], - ) - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x51d8e96d50235f1ecb7b408b657349b038e7a135"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42417f" # noqa: E501 - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000007f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000c3507fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000143b42078537" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000000143b42078537" # noqa: E501 ), gas_limit=100000, - value=1219277154, + value=0x48ACB162, ) post = { - contract: Account( - storage={0: 0x4F3F701464972E74606D6EA82D4D3080599A0E79}, + target: Account( + storage={ + 0: 0x4F3F701464972E74606D6EA82D4D3080599A0E79, + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0, # noqa: E501 + }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest366.py b/tests/ported_static/stRandom/test_random_statetest366.py index 5fd0db4c240..cda95137f66 100644 --- a/tests/ported_static/stRandom/test_random_statetest366.py +++ b/tests/ported_static/stRandom/test_random_statetest366.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest366. Ported from: -tests/static/state_tests/stRandom/randomStatetest366Filler.json +state_tests/stRandom/randomStatetest366Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest366Filler.json"], + ["state_tests/stRandom/randomStatetest366Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest366( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest366.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,64 @@ def test_random_statetest366( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PREVRANDAO - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x516F0395F57433725580758F32F19455, - ) + # Source: raw + # 0x7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff446f516f0395f57433725580758f32f1945560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PREVRANDAO + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x516F0395F57433725580758F32F19455 ), nonce=0, - address=Address("0x0bc2ce358220862eda2ba9b6a96ba6e93692593d"), # noqa: E501 + address=Address(0x0BC2CE358220862EDA2BA9B6A96BA6E93692593D), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff446f516f0395f57433725580758f32f194" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff446f516f0395f57433725580758f32f194" # noqa: E501 ), gas_limit=100000, - value=2102558524, + value=0x7D527F3C, ) post = { - contract: Account(storage={0: 0x516F0395F57433725580758F32F19455}), + target: Account( + storage={0: 0x516F0395F57433725580758F32F19455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest367.py b/tests/ported_static/stRandom/test_random_statetest367.py index ea17b0ce196..32aea776b38 100644 --- a/tests/ported_static/stRandom/test_random_statetest367.py +++ b/tests/ported_static/stRandom/test_random_statetest367.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest367. Ported from: -tests/static/state_tests/stRandom/randomStatetest367Filler.json +state_tests/stRandom/randomStatetest367Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest367Filler.json"], + ["state_tests/stRandom/randomStatetest367Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest367( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest367.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,74 +47,67 @@ def test_random_statetest367( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.PREVRANDAO - + Op.PUSH32[0xC350] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.SSTORE( - key=0x7A5959339F3342838B55600051, - value=Op.EXP( - Op.DUP2, - Op.SDIV( - Op.NOT( - Op.PUSH32[ - 0x945304EB96065B2A98B57A48A06AE28D285A71B5 - ], - ), - Op.PREVRANDAO, + # Source: raw + # 0x7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000447f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5447f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b51905810a6c7a5959339f3342838b5560005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.PREVRANDAO + + Op.PUSH32[0xC350] + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.SSTORE( + key=0x7A5959339F3342838B55600051, + value=Op.EXP( + Op.DUP2, + Op.SDIV( + Op.NOT( + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] ), + Op.PREVRANDAO, ), - ) + ), ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000447f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "0000945304eb96065b2a98b57a48a06ae28d285a71b5447f000000000000000000000000" # noqa: E501 - "945304eb96065b2a98b57a48a06ae28d285a71b51905810a6c7a5959339f3342838b" # noqa: E501 + to=contract_0, + data=Bytes( + "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000447f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5447f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b51905810a6c7a5959339f3342838b" # noqa: E501 ), gas_limit=100000, - value=734254896, + value=0x2BC3D730, ) post = { - contract: Account( + contract_0: Account( storage={ 0x7A5959339F3342838B55600051: 0x880AD67C991058B3847EC9F491F7A8D6ECBB1DFF5C2326E7E8E9EB560CA29ECD, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest368.py b/tests/ported_static/stRandom/test_random_statetest368.py index 1713ee2ac29..433992755f4 100644 --- a/tests/ported_static/stRandom/test_random_statetest368.py +++ b/tests/ported_static/stRandom/test_random_statetest368.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest368. Ported from: -tests/static/state_tests/stRandom/randomStatetest368Filler.json +state_tests/stRandom/randomStatetest368Filler.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest368Filler.json"], + ["state_tests/stRandom/randomStatetest368Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +32,9 @@ def test_random_statetest368( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest368.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,56 +48,50 @@ def test_random_statetest368( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b54206f06d870339356057907760005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe097f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f000000000000000000000000945304eb" # noqa: E501 - "96065b2a98b57a48a06ae28d285a71b54206f06d870339356057907760005155" + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b54206f06d870339356057907760005155" # noqa: E501 ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe097f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f000000000000000000000000945304eb" # noqa: E501 - "96065b2a98b57a48a06ae28d285a71b54206f06d8703393560579077" + to=contract_0, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b54206f06d8703393560579077" # noqa: E501 ), gas_limit=100000, - value=1135359124, + value=0x43AC3494, ) - post: dict = {} + post = { + contract_0: Account(storage={}, nonce=1), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + storage={}, code=b"", balance=1000, nonce=1 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest369.py b/tests/ported_static/stRandom/test_random_statetest369.py index 6ed51e2fe53..1c7c1cc2894 100644 --- a/tests/ported_static/stRandom/test_random_statetest369.py +++ b/tests/ported_static/stRandom/test_random_statetest369.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest369. Ported from: -tests/static/state_tests/stRandom/randomStatetest369Filler.json +state_tests/stRandom/randomStatetest369Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest369Filler.json"], + ["state_tests/stRandom/randomStatetest369Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest369( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest369.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,61 @@ def test_random_statetest369( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000001000000000000000000000000000000000000000060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.NUMBER + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.PUSH32[0x10000000000000000000000000000000000000000], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB9338612BBB668A632DB855BFD2E9B1695BD24C1), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.NUMBER - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.PUSH32[0x10000000000000000000000000000000000000000], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb9338612bbb668a632db855bfd2e9b1695bd24c1"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff437f00000000000000000000000100000000" # noqa: E501 - "00000000000000000000000000000000" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f0000000000000000000000010000000000000000000000000000000000000000" # noqa: E501 ), gas_limit=100000, - value=471893354, + value=0x1C20856A, ) post = { - contract: Account( + target: Account( storage={0: 0x10000000000000000000000000000000000000000}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest37.py b/tests/ported_static/stRandom/test_random_statetest37.py index d098a607702..d0654699731 100644 --- a/tests/ported_static/stRandom/test_random_statetest37.py +++ b/tests/ported_static/stRandom/test_random_statetest37.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest37. Ported from: -tests/static/state_tests/stRandom/randomStatetest37Filler.json +state_tests/stRandom/randomStatetest37Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest37Filler.json"], + ["state_tests/stRandom/randomStatetest37Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest37( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest37.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest37( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000016fa49835863514f0f29b930b97f116935560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xA49835863514F0F29B930B97F1169355 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD09F2B0C98E1C848F2183A3ADF639542A1D15550), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xA49835863514F0F29B930B97F1169355, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd09f2b0c98e1c848f2183a3adf639542a1d15550"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000016fa49835863514f0f29b930b97f11693" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000016fa49835863514f0f29b930b97f11693" # noqa: E501 ), gas_limit=100000, - value=1992729901, + value=0x76C6A52D, ) post = { - contract: Account(storage={0: 0xA49835863514F0F29B930B97F1169355}), + target: Account( + storage={0: 0xA49835863514F0F29B930B97F1169355}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest370.py b/tests/ported_static/stRandom/test_random_statetest370.py index 8da01346c0f..fea8d036af1 100644 --- a/tests/ported_static/stRandom/test_random_statetest370.py +++ b/tests/ported_static/stRandom/test_random_statetest370.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest370. Ported from: -tests/static/state_tests/stRandom/randomStatetest370Filler.json +state_tests/stRandom/randomStatetest370Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest370Filler.json"], + ["state_tests/stRandom/randomStatetest370Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest370( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest370.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,60 @@ def test_random_statetest370( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x44207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001145344846604627f5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PREVRANDAO + + Op.SHA3 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.MSTORE8( + offset=Op.EQ( + Op.PUSH32[0x1], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + ) + + Op.PREVRANDAO + + Op.SSTORE(key=0x4627F55600051, value=Op.DUP5), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE73096EDE5F7C095146A2B72C29B48A70F2DC518), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PREVRANDAO - + Op.SHA3 - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.MSTORE8( - offset=Op.EQ( - Op.PUSH32[0x1], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.PREVRANDAO - + Op.SSTORE(key=0x4627F55600051, value=Op.DUP5) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe73096ede5f7c095146a2b72c29b48a70f2dc518"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "44207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f" # noqa: E501 - "00000000000000000000000100000000000000000000000000000000000000007f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000007f000000000000" # noqa: E501 - "0000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000001145344846604627f" + to=target, + data=Bytes( + "44207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001145344846604627f" # noqa: E501 ), gas_limit=100000, - value=1561176030, + value=0x5D0DA7DE, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest371.py b/tests/ported_static/stRandom/test_random_statetest371.py index 43ecfbd4fa9..4026c3b3e2f 100644 --- a/tests/ported_static/stRandom/test_random_statetest371.py +++ b/tests/ported_static/stRandom/test_random_statetest371.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest371. Ported from: -tests/static/state_tests/stRandom/randomStatetest371Filler.json +state_tests/stRandom/randomStatetest371Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest371Filler.json"], + ["state_tests/stRandom/randomStatetest371Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest371( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest371.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,71 +46,67 @@ def test_random_statetest371( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.CODECOPY( - dest_offset=Op.LT(Op.GAS, Op.NUMBER), - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=Op.PUSH32[0xC350], - ) - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000010000000000000000000000000000000000000000435a10395560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.CODECOPY( + dest_offset=Op.LT(Op.GAS, Op.NUMBER), + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=Op.PUSH32[0xC350], + ) + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x47409fd2bcee15d0a7048561060814d302d97dbd"), # noqa: E501 + address=Address(0x47409FD2BCEE15D0A7048561060814D302D97DBD), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507f0000000000000000000000010000" # noqa: E501 - "000000000000000000000000000000000000435a1039" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000010000000000000000000000000000000000000000435a1039" # noqa: E501 ), gas_limit=100000, - value=2118132562, + value=0x7E402352, ) post = { - contract: Account( + target: Account( storage={ 0: 50000, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0x10000000000000000000000000000000000000000, # noqa: E501 }, + balance=0x7E402352, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest372.py b/tests/ported_static/stRandom/test_random_statetest372.py index daf4c34481f..4298609eab4 100644 --- a/tests/ported_static/stRandom/test_random_statetest372.py +++ b/tests/ported_static/stRandom/test_random_statetest372.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest372. Ported from: -tests/static/state_tests/stRandom/randomStatetest372Filler.json +state_tests/stRandom/randomStatetest372Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest372Filler.json"], + ["state_tests/stRandom/randomStatetest372Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest372( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest372.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,71 +47,63 @@ def test_random_statetest372( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.ADDMOD( - Op.XOR( - Op.PUSH32[0x1], - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], - ), - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000000000000000000000000000000000000000000000000000000000000001180860005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.ADDMOD( + Op.XOR( + Op.PUSH32[0x1], Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], ), - ) + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + ), ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00945304eb96065b2a98b57a48a06ae28d285a71b57f0000000000000000000000009453" # noqa: E501 - "04eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96" # noqa: E501 - "065b2a98b57a48a06ae28d285a71b57f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000011808" + to=contract_0, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000000000000000000000000000000000000000011808" # noqa: E501 ), gas_limit=100000, - value=1833691657, + value=0x6D4BEA09, ) post = { - contract: Account( + contract_0: Account( storage={0: 0x945304EB96065B2A98B57A48A06AE28D285A71B4}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest376.py b/tests/ported_static/stRandom/test_random_statetest376.py index ff99e41cf0b..7e95b6a18a9 100644 --- a/tests/ported_static/stRandom/test_random_statetest376.py +++ b/tests/ported_static/stRandom/test_random_statetest376.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest376. Ported from: -tests/static/state_tests/stRandom/randomStatetest376Filler.json +state_tests/stRandom/randomStatetest376Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest376Filler.json"], + ["state_tests/stRandom/randomStatetest376Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest376( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest376.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,49 @@ def test_random_statetest376( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09ff8c316460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09ff8c316460005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x916DB3A57FDC41EB46F3D4F00A9248F593F166DF), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff427fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe09ff8c316460005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x916db3a57fdc41eb46f3d4f00a9248f593f166df"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff427fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe09ff8c3164" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09ff8c3164" # noqa: E501 ), gas_limit=100000, - value=1872596219, + value=0x6F9D8CFB, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000001): Account( + storage={}, code=b"", nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest378.py b/tests/ported_static/stRandom/test_random_statetest378.py index f9e1a62ff0e..e286ab11ed6 100644 --- a/tests/ported_static/stRandom/test_random_statetest378.py +++ b/tests/ported_static/stRandom/test_random_statetest378.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest378. Ported from: -tests/static/state_tests/stRandom/randomStatetest378Filler.json +state_tests/stRandom/randomStatetest378Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest378Filler.json"], + ["state_tests/stRandom/randomStatetest378Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest378( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest378.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,61 +47,60 @@ def test_random_statetest378( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff547f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000005a7f00000000000000000000000000000000000000000000000000000000000000016f855b445834721a5706f2891711f0025560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SLOAD( + key=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + ) + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.GAS + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x855B445834721A5706F2891711F00255 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9716081CE3858124F07E1313AA0D2BC5A6F6DDD2), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SLOAD(key=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]) - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.GAS - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x855B445834721A5706F2891711F00255, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9716081ce3858124f07e1313aa0d2bc5a6f6ddd2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff547f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000005a7f000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000016f855b445834721a5706f2891711f002" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff547f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000005a7f00000000000000000000000000000000000000000000000000000000000000016f855b445834721a5706f2891711f002" # noqa: E501 ), gas_limit=1231102875, - value=1675637682, + value=0x63E033B2, ) post = { - contract: Account(storage={0: 0x855B445834721A5706F2891711F00255}), + target: Account( + storage={0: 0x855B445834721A5706F2891711F00255}, + balance=0x63E033B2, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest379.py b/tests/ported_static/stRandom/test_random_statetest379.py index dafaa45bfbd..0979c6dbab1 100644 --- a/tests/ported_static/stRandom/test_random_statetest379.py +++ b/tests/ported_static/stRandom/test_random_statetest379.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest379. Ported from: -tests/static/state_tests/stRandom/randomStatetest379Filler.json +state_tests/stRandom/randomStatetest379Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest379Filler.json"], + ["state_tests/stRandom/randomStatetest379Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest379( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest379.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,43 +46,49 @@ def test_random_statetest379( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x424255 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=Op.TIMESTAMP, value=Op.TIMESTAMP), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2295ef51f8519c010ab5c25f25866bc0ab5ec2ee"), # noqa: E501 + address=Address(0x2295EF51F8519C010AB5C25F25866BC0AB5EC2EE), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={1000: 1000}), + target: Account( + storage={1: 0, 1000: 1000}, + code=bytes.fromhex("424255"), + balance=0xDE0B6B3A76586A0, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest380.py b/tests/ported_static/stRandom/test_random_statetest380.py index a8d380d6dd6..90868703cdd 100644 --- a/tests/ported_static/stRandom/test_random_statetest380.py +++ b/tests/ported_static/stRandom/test_random_statetest380.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest380. Ported from: -tests/static/state_tests/stRandom/randomStatetest380Filler.json +state_tests/stRandom/randomStatetest380Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest380Filler.json"], + ["state_tests/stRandom/randomStatetest380Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest380( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest380.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,67 @@ def test_random_statetest380( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x967737653485593C63408B3994397555, - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f967737653485593c63408b399439755560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x967737653485593C63408B3994397555 ), nonce=0, - address=Address("0x40de5d47e4303b1687bedbc9a92064d4a45ba779"), # noqa: E501 + address=Address(0x40DE5D47E4303B1687BEDBC9A92064D4A45BA779), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe6f967737653485593c63408b39943975" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f967737653485593c63408b39943975" # noqa: E501 ), gas_limit=100000, - value=628563350, + value=0x25771D96, ) post = { - contract: Account(storage={0: 0x967737653485593C63408B3994397555}), + target: Account( + storage={0: 0x967737653485593C63408B3994397555}, + balance=0x25771D96, + nonce=0, + ), + coinbase: Account( + storage={}, + code=bytes.fromhex("6000355415600957005b60203560003555"), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest381.py b/tests/ported_static/stRandom/test_random_statetest381.py index d294deca4eb..7b4df8c81a5 100644 --- a/tests/ported_static/stRandom/test_random_statetest381.py +++ b/tests/ported_static/stRandom/test_random_statetest381.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest381. Ported from: -tests/static/state_tests/stRandom/randomStatetest381Filler.json +state_tests/stRandom/randomStatetest381Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest381Filler.json"], + ["state_tests/stRandom/randomStatetest381Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest381( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest381.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,60 @@ def test_random_statetest381( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff417f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f098ba088881a64904570927a8618355560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.COINBASE + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x98BA088881A64904570927A86183555 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA8CAB300C7463531929F671107D559CC4C6DCEA7), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.COINBASE - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x98BA088881A64904570927A86183555, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa8cab300c7463531929f671107d559cc4c6dcea7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff417f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6f098ba088881a64904570927a861835" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff417f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f098ba088881a64904570927a861835" # noqa: E501 ), gas_limit=100000, - value=756682627, + value=0x2D1A0F83, ) post = { - contract: Account(storage={0: 0x98BA088881A64904570927A86183555}), + target: Account( + storage={0: 0x98BA088881A64904570927A86183555}, + balance=0x2D1A0F83, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest382.py b/tests/ported_static/stRandom/test_random_statetest382.py index 8b1695679ed..d72c62f553e 100644 --- a/tests/ported_static/stRandom/test_random_statetest382.py +++ b/tests/ported_static/stRandom/test_random_statetest382.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest382. Ported from: -tests/static/state_tests/stRandom/randomStatetest382Filler.json +state_tests/stRandom/randomStatetest382Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest382Filler.json"], + ["state_tests/stRandom/randomStatetest382Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest382( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest382.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,61 @@ def test_random_statetest382( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0855 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.ADDMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF4845CAC94E57781E8B85C32DBD16EFC1EE54EE6), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.ADDMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf4845cac94e57781e8b85c32dbd16efc1ee54ee6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe08" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08" # noqa: E501 ), gas_limit=100000, - value=883821556, + value=0x34AE0BF4, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + balance=0x34AE0BF4, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest383.py b/tests/ported_static/stRandom/test_random_statetest383.py index 7d20d03118e..f30689b3818 100644 --- a/tests/ported_static/stRandom/test_random_statetest383.py +++ b/tests/ported_static/stRandom/test_random_statetest383.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest383. Ported from: -tests/static/state_tests/stRandom/randomStatetest383Filler.json +state_tests/stRandom/randomStatetest383Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest383Filler.json"], + ["state_tests/stRandom/randomStatetest383Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest383( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest383.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,53 @@ def test_random_statetest383( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09150255436c75107e # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09150255436c75107e" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9306B5E9E12F8E3524CB929C05E3F817FD403029), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff09150255436c75107e" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9306b5e9e12f8e3524cb929c05e3f817fd403029"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff09150255436c75107e" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09150255436c75107e" # noqa: E501 ), gas_limit=100000, - value=1668923511, + value=0x6379C077, ) post = { - contract: Account( + target: Account( storage={ 0x4F3F701464972E74606D6EA82D4D3080599A0E79: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + balance=0x6379C077, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest384.py b/tests/ported_static/stRandom/test_random_statetest384.py index 62a01147c35..7f52150fd8c 100644 --- a/tests/ported_static/stRandom/test_random_statetest384.py +++ b/tests/ported_static/stRandom/test_random_statetest384.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stRandom/randomStatetest384Filler.yml +state_tests/stRandom/randomStatetest384Filler.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest384Filler.yml"], + ["state_tests/stRandom/randomStatetest384Filler.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,10 +31,10 @@ def test_random_statetest384( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( - key=0x04DC42D61413D4DED993826AC4D6ED7A4A970C60335D2B285C60A4274E792FF1 + key=0x4DC42D61413D4DED993826AC4D6ED7A4A970C60335D2B285C60A4274E792FF1 ) env = Environment( @@ -45,276 +46,244 @@ def test_random_statetest384( gas_limit=71794957647893862, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.EXTCODESIZE( - address=0x6675A4758D443DBFF535F034A4EDA729A6FFC1E59F674E0C55, - ) - + Op.PUSH6[0x5D7974272AC7] - + Op.AND(0xFFFF, 0x18CE2014249172572ED5EAC0B9D2E4) - + Op.SWAP1 - + Op.LOG0(offset=Op.AND, size=0xFFFF) - + Op.CALLER - + Op.GT - + Op.BASEFEE - + Op.EXTCODESIZE( - address=Op.EQ( - 0x513376BC288AA1FDB973C149CD, - Op.DELEGATECALL( - gas=Op.GAS, - address=0x4D84673D975D1811374A239EF14EE26532D643CC4DD6E9115E28815562C2EB94, # noqa: E501 - args_offset=0xAD13, - args_size=0xA9BB, - ret_offset=0x9FE1, - ret_size=0xC0CD, - ), - ), - ) - + Op.PUSH25[0x89CC6512F8D604E5D0656C17F2D45B916DF6816A1999719F2B] - + Op.JUMPI( - pc=Op.ADD(0x8, Op.PC), - condition=Op.AND(0x1, 0xD521394F07100138B341F1DEBC06C3FB3CBC), - ) - + Op.POP(0xCB) - + Op.JUMPDEST - + Op.PUSH19[0x27E1DC4C54400E52AB133F162C6DF107151D11] - + Op.GASLIMIT - + Op.SWAP4 - + Op.SWAP5 - + Op.GASLIMIT - + Op.DUP1 - + Op.PUSH31[ - 0x5153417E8FF00D138F0DFFC0CD79CED2ECECD6F0DCE826302E4129CB6C37AB # noqa: E501 - ] - + Op.NUMBER - + Op.COINBASE - + Op.JUMPDEST - + Op.AND( - 0xFFFF, + # Source: raw + # 0x786675A4758D443DBFF535F034A4EDA729A6FFC1E59F674E0C553b655D7974272AC76e18CE2014249172572ED5EAC0B9D2E461FFFF169061FFFF16a033114861C0CD619FE161A9BB61AD137F4D84673D975D1811374A239EF14EE26532D643CC4DD6E9115E28815562C2EB945AF46c513376BC288AA1FDB973C149CD143b7889CC6512F8D604E5D0656C17F2D45B916DF6816A1999719F2B71D521394F07100138B341F1DEBC06C3FB3CBC600116586008015760CB505B7227E1DC4C54400E52AB133F162C6DF107151D1145939445807e5153417E8FF00D138F0DFFC0CD79CED2ECECD6F0DCE826302E4129CB6C37AB43415B6145C16173CE6152A9610C307FA5D352916626FE6BE4AA6EF0E7634DB7909FD79752E5BCB504B358D36AF708495AF461FFFF169061FFFF16a26cE900F727806828F5EE6088EBF861FFFF165170015C1269FA9F5387AB7387A81F5190564098601F9471B46EB2F2D66EE0B4C6845455E9C5EEFF021875BAE1D66F6CB6213C6CE69859F1046AE4CB5E5B743AB76d66120B1A7A97C93A6A04BD493F4A07963d0b69471B70DEC306FA6142CE9c60FF164303406aA04EA7E0BD9D9CDA29962B05067246CE83AB26762D5E2CFB614AA2394AD1D70EA938856b938D5C3FF280BF7EFDA95E668a70149AFA7A18BF9C2D796DE03773E0D35C9A7e8E0E968BA16F3AD59D6442DDBDB9E537908DB1F791BB3F17B33A14333401071961A1689c7b413ED4A9B16E7D66A17B07730188A08FA9E6148100F0311EA269ECC588607D7fCBFFF9F42E22612E938809AF2674B0CEDC8548F47EE642097C0C4ABC9BF7C76B9678996410D0BF28E5E3E1B35B37FFCE70E346E013D5345494D47690334261771761ABAE6174FD61F1957F1396B439A0049676213FD1FF8B75232DBD2117C0C5DCC184D76E2534EA9628AC5AF4863a9761FFFF169061FFFF16a07e486085A7047BD1ACAB7C048C2AE5A07A9E25934021CFAF0651EFBD393B72141461FFFF165361FFFF169061FFFF16a16a84ED962562151D0B903FB2863004140473380357280D5DBC434298AC45559FC2855C0D2A045a66AF59655ED483A0583160FF16430340795F1536B1893659FBB9FFA023722BEB2F24B5693BE6B572737FED1b9d0a646F7A2658B58b5B417220E684F471111724A4F72553B4FDC9593AE22C96959961A631615AD461199161F3F6618FE07F39DBE091B64B8BE6A557A93BF2C25DD042E8C8FEA4DB3BD8EE5BE3EABDE2835E5AF105600055600155600255600355600455600555600655600755600855600955600a55600b55600c55600d55600e55600f55601055601155601255601355601455601555601655601755601855601955601a55601b55601c55601d55601e5561273961C065F3 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.EXTCODESIZE( + address=0x6675A4758D443DBFF535F034A4EDA729A6FFC1E59F674E0C55 + ) + + Op.PUSH6[0x5D7974272AC7] + + Op.AND(0xFFFF, 0x18CE2014249172572ED5EAC0B9D2E4) + + Op.SWAP1 + + Op.LOG0(offset=Op.AND, size=0xFFFF) + + Op.CALLER + + Op.GT + + Op.BASEFEE + + Op.EXTCODESIZE( + address=Op.EQ( + 0x513376BC288AA1FDB973C149CD, Op.DELEGATECALL( gas=Op.GAS, - address=0xA5D352916626FE6BE4AA6EF0E7634DB7909FD79752E5BCB504B358D36AF70849, # noqa: E501 - args_offset=0xC30, - args_size=0x52A9, - ret_offset=0x73CE, - ret_size=0x45C1, + address=0x4D84673D975D1811374A239EF14EE26532D643CC4DD6E9115E28815562C2EB94, # noqa: E501 + args_offset=0xAD13, + args_size=0xA9BB, + ret_offset=0x9FE1, + ret_size=0xC0CD, ), ) - + Op.SWAP1 - + Op.PUSH2[0xFFFF] - + Op.AND - + Op.LOG2 - + Op.MLOAD(offset=Op.AND(0xFFFF, 0xE900F727806828F5EE6088EBF8)) - + Op.PUSH17[0x15C1269FA9F5387AB7387A81F51905640] - + Op.SWAP9 - + Op.PUSH1[0x1F] - + Op.SWAP5 - + Op.PUSH18[0xB46EB2F2D66EE0B4C6845455E9C5EEFF0218] - + Op.SMOD( - 0x66120B1A7A97C93A6A04BD493F4A, - 0xBAE1D66F6CB6213C6CE69859F1046AE4CB5E5B743AB7, - ) - + Op.SWAP7 - + Op.RETURNDATASIZE - + Op.SIGNEXTEND - + Op.PUSH10[0x471B70DEC306FA6142CE] - + Op.SWAP13 - + Op.MOD( - Op.SDIV( - 0xA04EA7E0BD9D9CDA29962B, - Op.BLOCKHASH(block_number=Op.SUB(Op.NUMBER, Op.AND)), - ), - 0xFF, - ) - + Op.PUSH19[0x46CE83AB26762D5E2CFB614AA2394AD1D70EA9] - + Op.CODESIZE - + Op.DUP6 - + Op.PUSH12[0x938D5C3FF280BF7EFDA95E66] - + Op.DUP11 - + Op.PUSH17[0x149AFA7A18BF9C2D796DE03773E0D35C9A] - + Op.NOT( - 0x8E0E968BA16F3AD59D6442DDBDB9E537908DB1F791BB3F17B33A1433340107, # noqa: E501 - ) - + Op.PUSH2[0xA168] - + Op.SWAP13 - + Op.PUSH28[ - 0x413ED4A9B16E7D66A17B07730188A08FA9E6148100F0311EA269ECC5 - ] - + Op.DUP9 - + Op.PUSH1[0x7D] - + Op.PUSH32[ - 0xCBFFF9F42E22612E938809AF2674B0CEDC8548F47EE642097C0C4ABC9BF7C76B # noqa: E501 - ] - + Op.SWAP7 - + Op.PUSH25[0x996410D0BF28E5E3E1B35B37FFCE70E346E013D5345494D476] - + Op.SWAP1 - + Op.CALLER - + Op.TIMESTAMP - + Op.DELEGATECALL( + ) + + Op.PUSH25[0x89CC6512F8D604E5D0656C17F2D45B916DF6816A1999719F2B] + + Op.JUMPI( + pc=Op.ADD(0x8, Op.PC), + condition=Op.AND(0x1, 0xD521394F07100138B341F1DEBC06C3FB3CBC), + ) + + Op.POP(0xCB) + + Op.JUMPDEST + + Op.PUSH19[0x27E1DC4C54400E52AB133F162C6DF107151D11] + + Op.GASLIMIT + + Op.SWAP4 + + Op.SWAP5 + + Op.GASLIMIT + + Op.DUP1 + + Op.PUSH31[ + 0x5153417E8FF00D138F0DFFC0CD79CED2ECECD6F0DCE826302E4129CB6C37AB + ] + + Op.NUMBER + + Op.COINBASE + + Op.JUMPDEST + + Op.AND( + 0xFFFF, + Op.DELEGATECALL( gas=Op.GAS, - address=0x1396B439A0049676213FD1FF8B75232DBD2117C0C5DCC184D76E2534EA9628AC, # noqa: E501 - args_offset=0xF195, - args_size=0x74FD, - ret_offset=0xABAE, - ret_size=0x7717, - ) - + Op.DUP7 - + Op.GASPRICE - + Op.SWAP8 - + Op.PUSH2[0xFFFF] - + Op.AND - + Op.SWAP1 - + Op.LOG0(offset=Op.AND, size=0xFFFF) - + Op.MSTORE8( - offset=Op.AND(0xFFFF, Op.EQ), - value=0x486085A7047BD1ACAB7C048C2AE5A07A9E25934021CFAF0651EFBD393B7214, # noqa: E501 - ) - + Op.PUSH2[0xFFFF] - + Op.AND - + Op.SWAP1 - + Op.PUSH2[0xFFFF] - + Op.AND - + Op.LOG1 - + Op.EQ(Op.DIV(Op.ADDRESS, Op.DUP7), 0x84ED962562151D0B903FB2) - + Op.DIV - + Op.PUSH20[0x380357280D5DBC434298AC45559FC2855C0D2A04] - + Op.GAS - + Op.PUSH7[0xAF59655ED483A0] - + Op.SHL( - 0x5F1536B1893659FBB9FFA023722BEB2F24B5693BE6B572737FED, - Op.BLOCKHASH( - block_number=Op.SUB( - Op.NUMBER, - Op.AND(0xFF, Op.BALANCE(address=Op.PC)), - ), - ), - ) - + Op.SWAP14 - + Op.EXP - + Op.PUSH5[0x6F7A2658B5] - + Op.DUP12 - + Op.JUMPDEST - + Op.COINBASE - + Op.PUSH19[0x20E684F471111724A4F72553B4FDC9593AE22C] - + Op.SWAP7 - + Op.SWAP6 - + Op.SWAP10 - + Op.CALL( - gas=Op.GAS, - address=0x39DBE091B64B8BE6A557A93BF2C25DD042E8C8FEA4DB3BD8EE5BE3EABDE2835E, # noqa: E501 - value=0x8FE0, - args_offset=0xF3F6, - args_size=0x1991, - ret_offset=0x5AD4, - ret_size=0xA631, - ) - + Op.SSTORE(key=0x0, value=Op.SDIV) - + Op.PUSH1[0x1] - + Op.SSTORE - + Op.PUSH1[0x2] - + Op.SSTORE - + Op.PUSH1[0x3] - + Op.SSTORE - + Op.PUSH1[0x4] - + Op.SSTORE - + Op.PUSH1[0x5] - + Op.SSTORE - + Op.PUSH1[0x6] - + Op.SSTORE - + Op.PUSH1[0x7] - + Op.SSTORE - + Op.PUSH1[0x8] - + Op.SSTORE - + Op.PUSH1[0x9] - + Op.SSTORE - + Op.PUSH1[0xA] - + Op.SSTORE - + Op.PUSH1[0xB] - + Op.SSTORE - + Op.PUSH1[0xC] - + Op.SSTORE - + Op.PUSH1[0xD] - + Op.SSTORE - + Op.PUSH1[0xE] - + Op.SSTORE - + Op.PUSH1[0xF] - + Op.SSTORE - + Op.PUSH1[0x10] - + Op.SSTORE - + Op.PUSH1[0x11] - + Op.SSTORE - + Op.PUSH1[0x12] - + Op.SSTORE - + Op.PUSH1[0x13] - + Op.SSTORE - + Op.PUSH1[0x14] - + Op.SSTORE - + Op.PUSH1[0x15] - + Op.SSTORE - + Op.PUSH1[0x16] - + Op.SSTORE - + Op.PUSH1[0x17] - + Op.SSTORE - + Op.PUSH1[0x18] - + Op.SSTORE - + Op.PUSH1[0x19] - + Op.SSTORE - + Op.PUSH1[0x1A] - + Op.SSTORE - + Op.PUSH1[0x1B] - + Op.SSTORE - + Op.PUSH1[0x1C] - + Op.SSTORE - + Op.PUSH1[0x1D] - + Op.SSTORE - + Op.PUSH1[0x1E] - + Op.SSTORE - + Op.RETURN(offset=0xC065, size=0x2739) - ), + address=0xA5D352916626FE6BE4AA6EF0E7634DB7909FD79752E5BCB504B358D36AF70849, # noqa: E501 + args_offset=0xC30, + args_size=0x52A9, + ret_offset=0x73CE, + ret_size=0x45C1, + ), + ) + + Op.SWAP1 + + Op.PUSH2[0xFFFF] + + Op.AND + + Op.LOG2 + + Op.MLOAD(offset=Op.AND(0xFFFF, 0xE900F727806828F5EE6088EBF8)) + + Op.PUSH17[0x15C1269FA9F5387AB7387A81F51905640] + + Op.SWAP9 + + Op.PUSH1[0x1F] + + Op.SWAP5 + + Op.PUSH18[0xB46EB2F2D66EE0B4C6845455E9C5EEFF0218] + + Op.SMOD( + 0x66120B1A7A97C93A6A04BD493F4A, + 0xBAE1D66F6CB6213C6CE69859F1046AE4CB5E5B743AB7, + ) + + Op.SWAP7 + + Op.RETURNDATASIZE + + Op.SIGNEXTEND + + Op.PUSH10[0x471B70DEC306FA6142CE] + + Op.SWAP13 + + Op.MOD( + Op.SDIV( + 0xA04EA7E0BD9D9CDA29962B, + Op.BLOCKHASH(block_number=Op.SUB(Op.NUMBER, Op.AND)), + ), + 0xFF, + ) + + Op.PUSH19[0x46CE83AB26762D5E2CFB614AA2394AD1D70EA9] + + Op.CODESIZE + + Op.DUP6 + + Op.PUSH12[0x938D5C3FF280BF7EFDA95E66] + + Op.DUP11 + + Op.PUSH17[0x149AFA7A18BF9C2D796DE03773E0D35C9A] + + Op.NOT( + 0x8E0E968BA16F3AD59D6442DDBDB9E537908DB1F791BB3F17B33A1433340107 + ) + + Op.PUSH2[0xA168] + + Op.SWAP13 + + Op.PUSH28[0x413ED4A9B16E7D66A17B07730188A08FA9E6148100F0311EA269ECC5] + + Op.DUP9 + + Op.PUSH1[0x7D] + + Op.PUSH32[ + 0xCBFFF9F42E22612E938809AF2674B0CEDC8548F47EE642097C0C4ABC9BF7C76B + ] + + Op.SWAP7 + + Op.PUSH25[0x996410D0BF28E5E3E1B35B37FFCE70E346E013D5345494D476] + + Op.SWAP1 + + Op.CALLER + + Op.TIMESTAMP + + Op.DELEGATECALL( + gas=Op.GAS, + address=0x1396B439A0049676213FD1FF8B75232DBD2117C0C5DCC184D76E2534EA9628AC, # noqa: E501 + args_offset=0xF195, + args_size=0x74FD, + ret_offset=0xABAE, + ret_size=0x7717, + ) + + Op.DUP7 + + Op.GASPRICE + + Op.SWAP8 + + Op.PUSH2[0xFFFF] + + Op.AND + + Op.SWAP1 + + Op.LOG0(offset=Op.AND, size=0xFFFF) + + Op.MSTORE8( + offset=Op.AND(0xFFFF, Op.EQ), + value=0x486085A7047BD1ACAB7C048C2AE5A07A9E25934021CFAF0651EFBD393B7214, # noqa: E501 + ) + + Op.PUSH2[0xFFFF] + + Op.AND + + Op.SWAP1 + + Op.PUSH2[0xFFFF] + + Op.AND + + Op.LOG1 + + Op.EQ(Op.DIV(Op.ADDRESS, Op.DUP7), 0x84ED962562151D0B903FB2) + + Op.DIV + + Op.PUSH20[0x380357280D5DBC434298AC45559FC2855C0D2A04] + + Op.GAS + + Op.PUSH7[0xAF59655ED483A0] + + Op.SHL( + 0x5F1536B1893659FBB9FFA023722BEB2F24B5693BE6B572737FED, + Op.BLOCKHASH( + block_number=Op.SUB( + Op.NUMBER, Op.AND(0xFF, Op.BALANCE(address=Op.PC)) + ) + ), + ) + + Op.SWAP14 + + Op.EXP + + Op.PUSH5[0x6F7A2658B5] + + Op.DUP12 + + Op.JUMPDEST + + Op.COINBASE + + Op.PUSH19[0x20E684F471111724A4F72553B4FDC9593AE22C] + + Op.SWAP7 + + Op.SWAP6 + + Op.SWAP10 + + Op.CALL( + gas=Op.GAS, + address=0x39DBE091B64B8BE6A557A93BF2C25DD042E8C8FEA4DB3BD8EE5BE3EABDE2835E, # noqa: E501 + value=0x8FE0, + args_offset=0xF3F6, + args_size=0x1991, + ret_offset=0x5AD4, + ret_size=0xA631, + ) + + Op.SSTORE(key=0x0, value=Op.SDIV) + + Op.PUSH1[0x1] + + Op.SSTORE + + Op.PUSH1[0x2] + + Op.SSTORE + + Op.PUSH1[0x3] + + Op.SSTORE + + Op.PUSH1[0x4] + + Op.SSTORE + + Op.PUSH1[0x5] + + Op.SSTORE + + Op.PUSH1[0x6] + + Op.SSTORE + + Op.PUSH1[0x7] + + Op.SSTORE + + Op.PUSH1[0x8] + + Op.SSTORE + + Op.PUSH1[0x9] + + Op.SSTORE + + Op.PUSH1[0xA] + + Op.SSTORE + + Op.PUSH1[0xB] + + Op.SSTORE + + Op.PUSH1[0xC] + + Op.SSTORE + + Op.PUSH1[0xD] + + Op.SSTORE + + Op.PUSH1[0xE] + + Op.SSTORE + + Op.PUSH1[0xF] + + Op.SSTORE + + Op.PUSH1[0x10] + + Op.SSTORE + + Op.PUSH1[0x11] + + Op.SSTORE + + Op.PUSH1[0x12] + + Op.SSTORE + + Op.PUSH1[0x13] + + Op.SSTORE + + Op.PUSH1[0x14] + + Op.SSTORE + + Op.PUSH1[0x15] + + Op.SSTORE + + Op.PUSH1[0x16] + + Op.SSTORE + + Op.PUSH1[0x17] + + Op.SSTORE + + Op.PUSH1[0x18] + + Op.SSTORE + + Op.PUSH1[0x19] + + Op.SSTORE + + Op.PUSH1[0x1A] + + Op.SSTORE + + Op.PUSH1[0x1B] + + Op.SSTORE + + Op.PUSH1[0x1C] + + Op.SSTORE + + Op.PUSH1[0x1D] + + Op.SSTORE + + Op.PUSH1[0x1E] + + Op.SSTORE + + Op.RETURN(offset=0xC065, size=0x2739), balance=0xDE0B6B3A7640000, - address=Address("0x14ceed78f6e86eead0a39e3f5c3481c7c233e8ea"), # noqa: E501 + nonce=1, + address=Address(0x14CEED78F6E86EEAD0A39E3F5C3481C7C233E8EA), # noqa: E501 ) pre[sender] = Account(balance=0x3635C9ADC5DEA00000, nonce=1) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=16777216, - gas_price=100, nonce=1, + gas_price=100, ) - post = { - contract: Account( - storage={ - 1: 0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA, - 2: 0x938D5C3FF280BF7EFDA95E66, - 3: 0x6F7A2658B5, - 4: 0x9582CED6097AE8D75CB9CAC205753DD88202D5D36541F1B1BB9C1446739E0D01, # noqa: E501 - 5: 0xF400CA, - 7: 0x20E684F471111724A4F72553B4FDC9593AE22C, - 8: 100, - 9: 0x413ED4A9B16E7D66A17B07730188A08FA9E6148100F0311EA269ECC5, - 10: 0x380357280D5DBC434298AC45559FC2855C0D2A04, - 11: 0xFF71F169745E90C52A629BBD2242461AC86F724E086E44C0E84CC5EBCCCBFEF8, # noqa: E501 - 12: 0x149AFA7A18BF9C2D796DE03773E0D35C9A, - 13: 0xCBFFF9F42E22612E938809AF2674B0CEDC8548F47EE642097C0C4ABC9BF7C76B, # noqa: E501 - 14: 0x938D5C3FF280BF7EFDA95E66, - 15: 10, - 16: 996, - 19: 0xB46EB2F2D66EE0B4C6845455E9C5EEFF0218, - 20: 1, - 21: 10, - 23: 41320, - 24: 0xFF112233445566, - 25: 0x66120B1A7A97C93A6A04BD493F4A, - 26: 0x27E1DC4C54400E52AB133F162C6DF107151D11, - 27: 0x89CC6512F8D604E5D0656C17F2D45B916DF6816A1999719F2B, - 29: 0xFF112233445566, - 30: 0x471B70DEC306FA6142CE, - }, - ), - } + post: dict = {} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest39.py b/tests/ported_static/stRandom/test_random_statetest39.py index e9fb65a6a1d..96d74ca8de3 100644 --- a/tests/ported_static/stRandom/test_random_statetest39.py +++ b/tests/ported_static/stRandom/test_random_statetest39.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest39. Ported from: -tests/static/state_tests/stRandom/randomStatetest39Filler.json +state_tests/stRandom/randomStatetest39Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest39Filler.json"], + ["state_tests/stRandom/randomStatetest39Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest39( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest39.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,74 +46,68 @@ def test_random_statetest39( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.TIMESTAMP - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SWAP7 - + Op.SSTORE(key=Op.SUB(Op.PC, 0x8EA2179A), value=Op.DIV) - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff427f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9604638ea2179a58035560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.TIMESTAMP + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SWAP7 + + Op.SSTORE(key=Op.SUB(Op.PC, 0x8EA2179A), value=Op.DIV) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x1321a8bef07739a53dc17cdbe4e7da245ab5e3cb"), # noqa: E501 + address=Address(0x1321A8BEF07739A53DC17CDBE4E7DA245AB5E3CB), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff427f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe9604638ea2179a5803" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff427f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9604638ea2179a5803" # noqa: E501 ), gas_limit=100000, - value=272686139, + value=0x1040DC3B, ) post = { - contract: Account( + target: Account( storage={ 0: 0x10000000000000000000000000000000000000000, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF715DE955: 0x14F8B588E368F08461F9F01B866E43AA79BBADC0980B242070B8CFBFC6540, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest4.py b/tests/ported_static/stRandom/test_random_statetest4.py index 7240ce45c2d..9a3f6a5291b 100644 --- a/tests/ported_static/stRandom/test_random_statetest4.py +++ b/tests/ported_static/stRandom/test_random_statetest4.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest4. Ported from: -tests/static/state_tests/stRandom/randomStatetest4Filler.json +state_tests/stRandom/randomStatetest4Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest4Filler.json"], + ["state_tests/stRandom/randomStatetest4Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest4( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest4.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,47 @@ def test_random_statetest4( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350617e7608617c95f3ff584076e07b5a4460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350617e7608617c95f3ff584076e07b5a4460005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA3A709FECE04184D06401D32D39F133EA3B800A8), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350617e7608617c95f3ff584076e07b5a4460005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa3a709fece04184d06401d32d39f133ea3b800a8"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350617e7608617c95f3ff584076e07b5a44" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350617e7608617c95f3ff584076e07b5a44" # noqa: E501 ), gas_limit=100000, - value=1650737351, + value=0x626440C7, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest41.py b/tests/ported_static/stRandom/test_random_statetest41.py index 59400ff2be4..4570a3f8e22 100644 --- a/tests/ported_static/stRandom/test_random_statetest41.py +++ b/tests/ported_static/stRandom/test_random_statetest41.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest41. Ported from: -tests/static/state_tests/stRandom/randomStatetest41Filler.json +state_tests/stRandom/randomStatetest41Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest41Filler.json"], + ["state_tests/stRandom/randomStatetest41Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest41( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest41.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,67 +47,61 @@ def test_random_statetest41( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.MLOAD(offset=Op.PUSH32[0xC350]) - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.COINBASE - + Op.SSTORE( - key=Op.DUP3, - value=Op.MUL( - 0x84A10719A1786A6510349B, - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], - ), - ) + # Source: raw + # 0x7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350517f0000000000000000000000010000000000000000000000000000000000000000417f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b56a84a10719a1786a6510349b028255 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.MLOAD(offset=Op.PUSH32[0xC350]) + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.COINBASE + + Op.SSTORE( + key=Op.DUP3, + value=Op.MUL( + 0x84A10719A1786A6510349B, + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + ), ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000" # noqa: E501 - "00000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c350517f00000000000000000000" # noqa: E501 - "00010000000000000000000000000000000000000000417f000000000000000000000000" # noqa: E501 - "945304eb96065b2a98b57a48a06ae28d285a71b56a84a10719a1786a6510349b0282" # noqa: E501 + to=contract_0, + data=Bytes( + "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350517f0000000000000000000000010000000000000000000000000000000000000000417f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b56a84a10719a1786a6510349b0282" # noqa: E501 ), gas_limit=100000, - value=78505988, + value=0x4ADE804, ) post = { - contract: Account( + contract_0: Account( storage={ 0x10000000000000000000000000000000000000000: 0x4CD81ADCB05087C4859B28E08FEDC25944C5E206071CEAFB0EF91F522B9C97, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest42.py b/tests/ported_static/stRandom/test_random_statetest42.py index 77f291b8826..2b0cfe85bae 100644 --- a/tests/ported_static/stRandom/test_random_statetest42.py +++ b/tests/ported_static/stRandom/test_random_statetest42.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest42. Ported from: -tests/static/state_tests/stRandom/randomStatetest42Filler.json +state_tests/stRandom/randomStatetest42Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest42Filler.json"], + ["state_tests/stRandom/randomStatetest42Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest42( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest42.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,70 +47,62 @@ def test_random_statetest42( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.GAS - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.BYTE( - 0x36F0F11901, - Op.CALLDATALOAD(offset=Op.PUSH32[0xC350]), - ), - value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3505a7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350356436f0f119011a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.GAS + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.BYTE( + 0x36F0F11901, Op.CALLDATALOAD(offset=Op.PUSH32[0xC350]) + ), + value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x2713c7383b21b6e2441f7769d6925146b081a952"), # noqa: E501 + address=Address(0x2713C7383B21B6E2441F7769D6925146B081A952), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3505a7f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c350356436f0f119011a" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3505a7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350356436f0f119011a" # noqa: E501 ), gas_limit=221233021, - value=1639565987, + value=0x61B9CAA3, ) post = { - contract: Account( + target: Account( storage={0: 0x10000000000000000000000000000000000000000}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest43.py b/tests/ported_static/stRandom/test_random_statetest43.py index c40e2dc4f00..3af81c0dd74 100644 --- a/tests/ported_static/stRandom/test_random_statetest43.py +++ b/tests/ported_static/stRandom/test_random_statetest43.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest43. Ported from: -tests/static/state_tests/stRandom/randomStatetest43Filler.json +state_tests/stRandom/randomStatetest43Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest43Filler.json"], + ["state_tests/stRandom/randomStatetest43Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest43( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest43.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,78 +46,69 @@ def test_random_statetest43( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.EXP( - Op.EXTCODESIZE( - address=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3b0a55096941861a3755a196f259a155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.SSTORE( + key=Op.EXP( + Op.EXTCODESIZE( + address=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ), - value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.SSTORE(key=0x41861A3755A196F259A1, value=Op.MULMOD) - ), + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + ), + value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + ) + + Op.SSTORE(key=0x41861A3755A196F259A1, value=Op.MULMOD), nonce=0, - address=Address("0x32dddb92acb638eede178ae680d1c7362bd89fd5"), # noqa: E501 + address=Address(0x32DDDB92ACB638EEDE178AE680D1C7362BD89FD5), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464" # noqa: E501 - "972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff3b0a55096941861a3755a196f259a1" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3b0a55096941861a3755a196f259a1" # noqa: E501 ), gas_limit=100000, - value=580684794, + value=0x229C8BFA, ) post = { - contract: Account( + target: Account( storage={ 0: 0x4F3F701464972E74606D6EA82D4D3080599A0E79, 0x41861A3755A196F259A1: 1, }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest45.py b/tests/ported_static/stRandom/test_random_statetest45.py index 3f3ffb8656e..668669b4dcf 100644 --- a/tests/ported_static/stRandom/test_random_statetest45.py +++ b/tests/ported_static/stRandom/test_random_statetest45.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest45. Ported from: -tests/static/state_tests/stRandom/randomStatetest45Filler.json +state_tests/stRandom/randomStatetest45Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest45Filler.json"], + ["state_tests/stRandom/randomStatetest45Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest45( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest45.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,123 +46,47 @@ def test_random_statetest45( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f000000000000000000000000317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe43147256a3130255 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79317fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000010000000000000000000000000000000000000000417fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe43147256a3130255" # noqa: E501 + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe43147256a3130255" # noqa: E501 ), nonce=0, - address=Address("0x868a35cb88c48251a7470e4fb638c4cb395ba4da"), # noqa: E501 + address=Address(0x868A35CB88C48251A7470E4FB638C4CB395BA4DA), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79317fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000010000000000000000000000000000000000000000417fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe43147256a31302" # noqa: E501 - ), - gas_limit=100000, - value=1998384914, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest45Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest45_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79317fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000010000000000000000000000000000000000000000417fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe43147256a3130255" # noqa: E501 - ), - nonce=0, - address=Address("0x868a35cb88c48251a7470e4fb638c4cb395ba4da"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79317fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000010000000000000000000000000000000000000000417fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe43147256a31302" # noqa: E501 + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe43147256a31302" # noqa: E501 ), gas_limit=100000, - value=1998384914, + value=0x771CEF12, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest47.py b/tests/ported_static/stRandom/test_random_statetest47.py index 7e84bfc40e8..7d55a94e0e8 100644 --- a/tests/ported_static/stRandom/test_random_statetest47.py +++ b/tests/ported_static/stRandom/test_random_statetest47.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest47. Ported from: -tests/static/state_tests/stRandom/randomStatetest47Filler.json +state_tests/stRandom/randomStatetest47Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest47Filler.json"], + ["state_tests/stRandom/randomStatetest47Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest47( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest47.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,61 @@ def test_random_statetest47( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.NUMBER - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x1544898B167C6A6F6D5B953714457E55, - ) + # Source: raw + # 0x437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350437f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f1544898b167c6a6f6d5b953714457e5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.NUMBER + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x1544898B167C6A6F6D5B953714457E55 ), nonce=0, - address=Address("0x44038e40b466d5b343b7dc04756087ab122af57a"), # noqa: E501 + address=Address(0x44038E40B466D5B343B7DC04756087AB122AF57A), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c350437f000000000000000000" # noqa: E501 - "0000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff6f1544898b167c6a6f6d5b953714457e" # noqa: E501 + to=target, + data=Bytes( + "437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350437f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f1544898b167c6a6f6d5b953714457e" # noqa: E501 ), gas_limit=100000, - value=2007082101, + value=0x77A1A475, ) post = { - contract: Account(storage={0: 0x1544898B167C6A6F6D5B953714457E55}), + target: Account( + storage={0: 0x1544898B167C6A6F6D5B953714457E55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest48.py b/tests/ported_static/stRandom/test_random_statetest48.py index e7c7b2e478a..694b50aa389 100644 --- a/tests/ported_static/stRandom/test_random_statetest48.py +++ b/tests/ported_static/stRandom/test_random_statetest48.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest48. Ported from: -tests/static/state_tests/stRandom/randomStatetest48Filler.json +state_tests/stRandom/randomStatetest48Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest48Filler.json"], + ["state_tests/stRandom/randomStatetest48Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest48( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest48.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,82 +47,71 @@ def test_random_statetest48( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CODESIZE - + Op.LOG3( - offset=0xA73B, - size=0x2F05, - topic_1=0x698FC0E9CED2F6A0087344559C43, - topic_2=0x6060B6D9, - topic_3=0x5231D8E75DB11D6DA7040CEE1A12EBF739E5022CAA60F92D51, - ) - + Op.CALL( - gas=0x70F82D9F, - address=0x292E762689B448DEBE7899ADE7ACB27A84A85C44, - value=0x186262C1, - args_offset=0x9, - args_size=0x14, - ret_offset=0xD, - ret_size=0xA, - ) - + Op.PUSH1[0x41] - + Op.PUSH7[0xF49EF1FEA120AF] - + Op.PUSH24[0xBA4CCE3F35BC52CA5C40BF14C77E95EA92E69520143FF9C7] - + Op.DUP3 - + Op.PUSH28[ - 0xCFE760AEE06D241E31A0773476DA22F7CE8131475838C23B59F7A3C4 - ] - + Op.PUSH12[0x2B99C0955E169EE3527CA9F7] - + Op.PUSH8[0x4467BDF2C0EEBF6F] - + Op.PUSH1[0x12] - + Op.SWAP3 - + Op.ORIGIN - ), + # Source: raw + # 0x38785231d8e75db11d6da7040cee1a12ebf739e5022caa60f92d51636060b6d96d698fc0e9ced2f6a0087344559c43612f0561a73ba3600a600d6014600963186262c1736370f82d9ff1604166f49ef1fea120af77ba4cce3f35bc52ca5c40bf14c77e95ea92e69520143ff9c7827bcfe760aee06d241e31a0773476da22f7ce8131475838c23b59f7a3c46b2b99c0955e169ee3527ca9f7674467bdf2c0eebf6f60129232 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CODESIZE + + Op.LOG3( + offset=0xA73B, + size=0x2F05, + topic_1=0x698FC0E9CED2F6A0087344559C43, + topic_2=0x6060B6D9, + topic_3=0x5231D8E75DB11D6DA7040CEE1A12EBF739E5022CAA60F92D51, + ) + + Op.CALL( + gas=0x70F82D9F, + address=0x292E762689B448DEBE7899ADE7ACB27A84A85C44, + value=0x186262C1, + args_offset=0x9, + args_size=0x14, + ret_offset=0xD, + ret_size=0xA, + ) + + Op.PUSH1[0x41] + + Op.PUSH7[0xF49EF1FEA120AF] + + Op.PUSH24[0xBA4CCE3F35BC52CA5C40BF14C77E95EA92E69520143FF9C7] + + Op.DUP3 + + Op.PUSH28[0xCFE760AEE06D241E31A0773476DA22F7CE8131475838C23B59F7A3C4] + + Op.PUSH12[0x2B99C0955E169EE3527CA9F7] + + Op.PUSH8[0x4467BDF2C0EEBF6F] + + Op.PUSH1[0x12] + + Op.SWAP3 + + Op.ORIGIN, nonce=0, - address=Address("0x292e762689b448debe7899ade7acb27a84a85c44"), # noqa: E501 + address=Address(0x292E762689B448DEBE7899ADE7ACB27A84A85C44), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "76dd12f3185b84dfc71eb93f4df4ca30dcf34446f25793016424a5e33b6a65fb5d64a939" # noqa: E501 - "4d7ebefb1c15de971a2d2f53377765d50c698d4e26adea05dd2f6a1688f60eb8b172d796" # noqa: E501 - "a45c6f79596bfb719df5a571ce8c339e9d7e9b3905324643a2b9fd541956552fc258e688" # noqa: E501 - "303ecb25082776fde7334cdf046f70c8669a6a05c36909038278e925f0156be9ddb9b837" # noqa: E501 - "86de8a325ab28e61d18397714bcda0fd5ca879c870d383721c638733b1f78074cc1079e7" # noqa: E501 - "2e0bbbad262348a8976eaaf313a261dccb69dbaf283beebcac7ac3b8166a4deb1fe5099a" # noqa: E501 - "1c7f3ef595357e76ca260a703bec4848a3cc9804d6de6e5b853b54dd65979292f596ee13" # noqa: E501 - "2edf67eb948e4e4d22f9cb7629bf8b642cb921b2ed9b13e47cb06d6c6f4384c7b372ee7c" # noqa: E501 - "b61f76a363f8fa68309e3d308179ad3e15fd752d6586e9030c8c1f274878bf7fbe1b5699" # noqa: E501 - "44fdda166c47411878f3702bbe1bbabbce8b10701076e0338bfa289d424c13f4f438474a" # noqa: E501 - "fd71abc18290e0a3c853537a13ce9869d3942c7b6802bfb0f345a9af828b96" + to=target, + data=Bytes( + "76dd12f3185b84dfc71eb93f4df4ca30dcf34446f25793016424a5e33b6a65fb5d64a9394d7ebefb1c15de971a2d2f53377765d50c698d4e26adea05dd2f6a1688f60eb8b172d796a45c6f79596bfb719df5a571ce8c339e9d7e9b3905324643a2b9fd541956552fc258e688303ecb25082776fde7334cdf046f70c8669a6a05c36909038278e925f0156be9ddb9b83786de8a325ab28e61d18397714bcda0fd5ca879c870d383721c638733b1f78074cc1079e72e0bbbad262348a8976eaaf313a261dccb69dbaf283beebcac7ac3b8166a4deb1fe5099a1c7f3ef595357e76ca260a703bec4848a3cc9804d6de6e5b853b54dd65979292f596ee132edf67eb948e4e4d22f9cb7629bf8b642cb921b2ed9b13e47cb06d6c6f4384c7b372ee7cb61f76a363f8fa68309e3d308179ad3e15fd752d6586e9030c8c1f274878bf7fbe1b569944fdda166c47411878f3702bbe1bbabbce8b10701076e0338bfa289d424c13f4f438474afd71abc18290e0a3c853537a13ce9869d3942c7b6802bfb0f345a9af828b96" # noqa: E501 ), gas_limit=2120993272, - value=1548512824, + value=0x5C4C6E38, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest49.py b/tests/ported_static/stRandom/test_random_statetest49.py index d144d8cc54b..8698edcd739 100644 --- a/tests/ported_static/stRandom/test_random_statetest49.py +++ b/tests/ported_static/stRandom/test_random_statetest49.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest49. Ported from: -tests/static/state_tests/stRandom/randomStatetest49Filler.json +state_tests/stRandom/randomStatetest49Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest49Filler.json"], + ["state_tests/stRandom/randomStatetest49Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest49( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest49.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest49( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000807f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000061859c55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.DUP1 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=0x859C, + value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xCAA0686603C881F386878DDB79D8F293BF095D80), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.DUP1 - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=0x859C, - value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xcaa0686603c881f386878ddb79d8f293bf095d80"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000010000000000000000000000000000000000000000807f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f7014" # noqa: E501 - "64972e74606d6ea82d4d3080599a0e7961859c" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000807f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7961859c" # noqa: E501 ), gas_limit=100000, - value=1775656779, + value=0x69D65F4B, ) post = { - contract: Account( + target: Account( storage={ 34204: 0x4F3F701464972E74606D6EA82D4D3080599A0E79, }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest5.py b/tests/ported_static/stRandom/test_random_statetest5.py index 7cdfe4d12fb..508ff230dba 100644 --- a/tests/ported_static/stRandom/test_random_statetest5.py +++ b/tests/ported_static/stRandom/test_random_statetest5.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest5. Ported from: -tests/static/state_tests/stRandom/randomStatetest5Filler.json +state_tests/stRandom/randomStatetest5Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest5Filler.json"], + ["state_tests/stRandom/randomStatetest5Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest5( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest5.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,151 +46,59 @@ def test_random_statetest5( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) + # Source: raw + # 0x427f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.TIMESTAMP + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), ), nonce=0, - address=Address("0x5a9f935f66941ec08a862f860b76b49e4a9d90ec"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "427f00000000000000000000000000000000000000000000000000000000000000007fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff09" - ), - gas_limit=100000, - value=1016957738, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest5Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest5_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, + address=Address(0x5A9F935F66941EC08A862F860B76B49E4A9D90EC), # noqa: E501 ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) - ), - nonce=0, - address=Address("0x5a9f935f66941ec08a862f860b76b49e4a9d90ec"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "427f00000000000000000000000000000000000000000000000000000000000000007fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff09" + to=target, + data=Bytes( + "427f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=1016957738, + value=0x3C9D8B2A, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest51.py b/tests/ported_static/stRandom/test_random_statetest51.py index 59808305cf4..d5b60a12e6d 100644 --- a/tests/ported_static/stRandom/test_random_statetest51.py +++ b/tests/ported_static/stRandom/test_random_statetest51.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest51. Ported from: -tests/static/state_tests/stRandom/randomStatetest51Filler.json +state_tests/stRandom/randomStatetest51Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest51Filler.json"], + ["state_tests/stRandom/randomStatetest51Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest51( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest51.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,52 +46,47 @@ def test_random_statetest51( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000000000000000000000000000000000000000000001757f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57a7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe83189b60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f0000000000000000000000000000000000000000000000000000000000000001757f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57a7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe83189b60005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x53AF81E2A686427DE42E7B8B55A0C6C66C8C6051), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000001757f00" # noqa: E501 - "0000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57a7f000000" # noqa: E501 - "000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000" # noqa: E501 - "000000000000945304eb96065b2a98b57a48a06ae28d285a71b5447fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe83189b60005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x53af81e2a686427de42e7b8b55a0c6c66c8c6051"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000001757f00" # noqa: E501 - "0000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57a7f000000" # noqa: E501 - "000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000" # noqa: E501 - "000000000000945304eb96065b2a98b57a48a06ae28d285a71b5447fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe83189b" + to=target, + data=Bytes( + "7f0000000000000000000000000000000000000000000000000000000000000001757f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57a7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe83189b" # noqa: E501 ), gas_limit=100000, - value=1062041617, + value=0x3F4D7811, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest52.py b/tests/ported_static/stRandom/test_random_statetest52.py index 85eef1dbd23..ce762c6fa98 100644 --- a/tests/ported_static/stRandom/test_random_statetest52.py +++ b/tests/ported_static/stRandom/test_random_statetest52.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest52. Ported from: -tests/static/state_tests/stRandom/randomStatetest52Filler.json +state_tests/stRandom/randomStatetest52Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest52Filler.json"], + ["state_tests/stRandom/randomStatetest52Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest52( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest52.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,59 @@ def test_random_statetest52( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe410a81437f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f59a130a10a189fc653057a185b886c5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.EXP( + Op.COINBASE, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + ) + + Op.DUP2 + + Op.NUMBER + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x59A130A10A189FC653057A185B886C55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x6ACCF97B1F5B58927BD45F0914F7CD75F01F3222), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.EXP( - Op.COINBASE, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.DUP2 - + Op.NUMBER - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x59A130A10A189FC653057A185B886C55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x6accf97b1f5b58927bd45f0914f7cd75f01f3222"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe410a81437f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000006f59a130a10a189f" # noqa: E501 - "c653057a185b886c" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe410a81437f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f59a130a10a189fc653057a185b886c" # noqa: E501 ), gas_limit=100000, - value=667679116, + value=0x27CBF98C, ) post = { - contract: Account(storage={0: 0x59A130A10A189FC653057A185B886C55}), + target: Account( + storage={0: 0x59A130A10A189FC653057A185B886C55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest53.py b/tests/ported_static/stRandom/test_random_statetest53.py index 9810d3712e8..7f193b5e221 100644 --- a/tests/ported_static/stRandom/test_random_statetest53.py +++ b/tests/ported_static/stRandom/test_random_statetest53.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest53. Ported from: -tests/static/state_tests/stRandom/randomStatetest53Filler.json +state_tests/stRandom/randomStatetest53Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest53Filler.json"], + ["state_tests/stRandom/randomStatetest53Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest53( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest53.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,55 @@ def test_random_statetest53( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x427f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b940860005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.TIMESTAMP + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PC + + Op.RETURN(offset=Op.DUP2, size=Op.CALLVALUE) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x85646D53671639175B9408), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB2DA1F608A7E0626E721677FA30FC46D2D99C655), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PC - + Op.RETURN(offset=Op.DUP2, size=Op.CALLVALUE) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), value=0x85646D53671639175B9408 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb2da1f608a7e0626e721677fa30fc46d2d99c655"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "427f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b9408" # noqa: E501 + to=target, + data=Bytes( + "427f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b9408" # noqa: E501 ), gas_limit=4400000, - value=1485632, + value=0x16AB40, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest54.py b/tests/ported_static/stRandom/test_random_statetest54.py index 942197ac840..666e82893c5 100644 --- a/tests/ported_static/stRandom/test_random_statetest54.py +++ b/tests/ported_static/stRandom/test_random_statetest54.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest54. Ported from: -tests/static/state_tests/stRandom/randomStatetest54Filler.json +state_tests/stRandom/randomStatetest54Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest54Filler.json"], + ["state_tests/stRandom/randomStatetest54Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest54( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest54.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,47 @@ def test_random_statetest54( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001c9206e3b8f9d858f438a # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001c9206e3b8f9d858f438a" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9D6DE455BE29A83C61E3E6E4B8895B579BBB938B), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000001c9206e3b8f9d858f438a" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9d6de455be29a83c61e3e6e4b8895b579bbb938b"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000001c9206e3b8f9d858f438a" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001c9206e3b8f9d858f438a" # noqa: E501 ), gas_limit=100000, - value=1174580620, + value=0x4602AD8C, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest55.py b/tests/ported_static/stRandom/test_random_statetest55.py index 72eb3397b84..727b77cd3f6 100644 --- a/tests/ported_static/stRandom/test_random_statetest55.py +++ b/tests/ported_static/stRandom/test_random_statetest55.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest55. Ported from: -tests/static/state_tests/stRandom/randomStatetest55Filler.json +state_tests/stRandom/randomStatetest55Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest55Filler.json"], + ["state_tests/stRandom/randomStatetest55Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest55( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest55.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest55( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084967f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff137ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016f3a5b594088a2f238089b71 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000000084967f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff137ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016f3a5b594088a2f238089b71" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB5111BFE81B8D7566E584C3D02429543652DD051), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000084967f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff137fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe016f3a5b594088a2f238089b" # noqa: E501 - "71" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb5111bfe81b8d7566e584c3d02429543652dd051"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000084967f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff137fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe016f3a5b594088a2f238089b" # noqa: E501 - "71" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000000084967f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff137ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016f3a5b594088a2f238089b71" # noqa: E501 ), gas_limit=100000, - value=1086316137, + value=0x40BFDE69, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest57.py b/tests/ported_static/stRandom/test_random_statetest57.py index 0ce5cc7858c..65b539a24c7 100644 --- a/tests/ported_static/stRandom/test_random_statetest57.py +++ b/tests/ported_static/stRandom/test_random_statetest57.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest57. Ported from: -tests/static/state_tests/stRandom/randomStatetest57Filler.json +state_tests/stRandom/randomStatetest57Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest57Filler.json"], + ["state_tests/stRandom/randomStatetest57Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest57( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest57.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,143 +46,56 @@ def test_random_statetest57( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097f000000000000000000000000000000000000000000000000000000000000c350819055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.COINBASE + + Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + ) + + Op.PUSH32[0xC350] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x8EAEDCBE884499A7F8D284384C1DF38AA6ED68AD), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.COINBASE - + Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.PUSH32[0xC350] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - ), - nonce=0, - address=Address("0x8eaedcbe884499a7f8d284384c1df38aa6ed68ad"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c350417fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe097f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c3508190" - ), - gas_limit=100000, - value=277972730, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest57Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest57_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.COINBASE - + Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.PUSH32[0xC350] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - ), - nonce=0, - address=Address("0x8eaedcbe884499a7f8d284384c1df38aa6ed68ad"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c350417fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe097f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c3508190" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097f000000000000000000000000000000000000000000000000000000000000c3508190" # noqa: E501 ), gas_limit=100000, - value=277972730, + value=0x109186FA, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest58.py b/tests/ported_static/stRandom/test_random_statetest58.py index c3e4871235a..e5a5408f89c 100644 --- a/tests/ported_static/stRandom/test_random_statetest58.py +++ b/tests/ported_static/stRandom/test_random_statetest58.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest58. Ported from: -tests/static/state_tests/stRandom/randomStatetest58Filler.json +state_tests/stRandom/randomStatetest58Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest58Filler.json"], + ["state_tests/stRandom/randomStatetest58Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest58( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest58.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,64 @@ def test_random_statetest58( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe096902947d567838719e97f30160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.COINBASE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.CALLDATASIZE + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.ADD( + 0x2947D567838719E97F3, + Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC00390ED67EA33352A020F6BE6D255AA3A57F09B), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.COINBASE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.CALLDATASIZE - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.ADD( - 0x2947D567838719E97F3, - Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc00390ed67ea33352a020f6be6d255aa3a57f09b"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c350367fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffe096902947d567838719e97f301" # noqa: E501 + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe096902947d567838719e97f301" # noqa: E501 ), gas_limit=100000, - value=520154270, + value=0x1F00EC9E, ) post = { - contract: Account(storage={0: 0x2947D567838719E97F3}), + target: Account(storage={0: 0x2947D567838719E97F3}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest59.py b/tests/ported_static/stRandom/test_random_statetest59.py index b1a492539a6..a5472d5d973 100644 --- a/tests/ported_static/stRandom/test_random_statetest59.py +++ b/tests/ported_static/stRandom/test_random_statetest59.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest59. Ported from: -tests/static/state_tests/stRandom/randomStatetest59Filler.json +state_tests/stRandom/randomStatetest59Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest59Filler.json"], + ["state_tests/stRandom/randomStatetest59Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest59( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest59.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,75 +46,68 @@ def test_random_statetest59( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0208673a06756406548b9955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=0x3A06756406548B99, + value=Op.ADDMOD( + Op.MUL( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x819695593912E3C55CDAE6AE7FA84DCE409C7817), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=0x3A06756406548B99, - value=Op.ADDMOD( - Op.MUL( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x819695593912e3c55cdae6ae7fa84dce409c7817"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff0208673a06756406548b99" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0208673a06756406548b99" # noqa: E501 ), gas_limit=100000, - value=630320886, + value=0x2591EEF6, ) post = { - contract: Account( + target: Account( storage={ 0x3A06756406548B99: 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000002, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest6.py b/tests/ported_static/stRandom/test_random_statetest6.py index e8bc8a36b88..4aab0c9fd11 100644 --- a/tests/ported_static/stRandom/test_random_statetest6.py +++ b/tests/ported_static/stRandom/test_random_statetest6.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest6. Ported from: -tests/static/state_tests/stRandom/randomStatetest6Filler.json +state_tests/stRandom/randomStatetest6Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest6Filler.json"], + ["state_tests/stRandom/randomStatetest6Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest6( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest6.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest6( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004143416f1732797105f237768fe506871ac8535560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.COINBASE + + Op.NUMBER + + Op.COINBASE + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x1732797105F237768FE506871AC85355 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE5DB1B85799B6A617AECD2562B23B6F957B67E36), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.COINBASE - + Op.NUMBER - + Op.COINBASE - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x1732797105F237768FE506871AC85355, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe5db1b85799b6a617aecd2562b23b6f957b67e36"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e794143416f1732797105f237768fe506" # noqa: E501 - "871ac853" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e794143416f1732797105f237768fe506871ac853" # noqa: E501 ), gas_limit=100000, - value=841471566, + value=0x3227D64E, ) post = { - contract: Account(storage={0: 0x1732797105F237768FE506871AC85355}), + target: Account( + storage={0: 0x1732797105F237768FE506871AC85355}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest60.py b/tests/ported_static/stRandom/test_random_statetest60.py index 234ac6fefeb..d78f70f999d 100644 --- a/tests/ported_static/stRandom/test_random_statetest60.py +++ b/tests/ported_static/stRandom/test_random_statetest60.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest60. Ported from: -tests/static/state_tests/stRandom/randomStatetest60Filler.json +state_tests/stRandom/randomStatetest60Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest60Filler.json"], + ["state_tests/stRandom/randomStatetest60Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest60( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest60.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,59 @@ def test_random_statetest60( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x427f0000000000000000000000000000000000000000000000000000000000000000427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f969001091aa15b8b9b75459d015a045560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.TIMESTAMP + + Op.PUSH32[0x0] + + Op.TIMESTAMP + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.NUMBER + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x969001091AA15B8B9B75459D015A0455 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x97D4DB1514B37DF70E337F6511EF8CD55950821A), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.PUSH32[0x0] - + Op.TIMESTAMP - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.NUMBER - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x969001091AA15B8B9B75459D015A0455, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x97d4db1514b37df70e337f6511ef8cd55950821a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "427f0000000000000000000000000000000000000000000000000000000000000000427f" # noqa: E501 - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff437f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe6f969001091aa15b8b" # noqa: E501 - "9b75459d015a04" + to=target, + data=Bytes( + "427f0000000000000000000000000000000000000000000000000000000000000000427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f969001091aa15b8b9b75459d015a04" # noqa: E501 ), gas_limit=100000, - value=1423842991, + value=0x54DE1EAF, ) post = { - contract: Account(storage={0: 0x969001091AA15B8B9B75459D015A0455}), + target: Account( + storage={0: 0x969001091AA15B8B9B75459D015A0455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest62.py b/tests/ported_static/stRandom/test_random_statetest62.py index 4750bb875d2..442b9011abe 100644 --- a/tests/ported_static/stRandom/test_random_statetest62.py +++ b/tests/ported_static/stRandom/test_random_statetest62.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest62. Ported from: -tests/static/state_tests/stRandom/randomStatetest62Filler.json +state_tests/stRandom/randomStatetest62Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest62Filler.json"], + ["state_tests/stRandom/randomStatetest62Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest62( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest62.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,62 @@ def test_random_statetest62( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000016f7268713013964a96ac5758043325015560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.NUMBER + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7268713013964A96AC57580433250155 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x972B86541005A9B0855DE262A308C53797030ED5), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.NUMBER - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7268713013964A96AC57580433250155, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x972b86541005a9b0855de262a308c53797030ed5"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000016f7268713013964a96ac575804332501" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000016f7268713013964a96ac575804332501" # noqa: E501 ), gas_limit=100000, - value=1228914584, + value=0x493FBF98, ) post = { - contract: Account(storage={0: 0x7268713013964A96AC57580433250155}), + target: Account( + storage={0: 0x7268713013964A96AC57580433250155}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest63.py b/tests/ported_static/stRandom/test_random_statetest63.py index 84ef0d2f71e..38147ee62fe 100644 --- a/tests/ported_static/stRandom/test_random_statetest63.py +++ b/tests/ported_static/stRandom/test_random_statetest63.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest63. Ported from: -tests/static/state_tests/stRandom/randomStatetest63Filler.json +state_tests/stRandom/randomStatetest63Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest63Filler.json"], + ["state_tests/stRandom/randomStatetest63Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest63( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest63.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,60 @@ def test_random_statetest63( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x977F157E088003767A86928E82529655, - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f977f157e088003767a86928e8252965560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x977F157E088003767A86928E82529655 ), nonce=0, - address=Address("0x19e066e85d0f64c26f11bd131b229f05fd340e68"), # noqa: E501 + address=Address(0x19E066E85D0F64C26F11BD131B229F05FD340E68), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000006f977f157e088003767a86928e825296" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f977f157e088003767a86928e825296" # noqa: E501 ), gas_limit=100000, - value=833723715, + value=0x31B19D43, ) post = { - contract: Account(storage={0: 0x977F157E088003767A86928E82529655}), + target: Account( + storage={0: 0x977F157E088003767A86928E82529655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest64.py b/tests/ported_static/stRandom/test_random_statetest64.py index 6e4ec759d45..ce3d4e0270f 100644 --- a/tests/ported_static/stRandom/test_random_statetest64.py +++ b/tests/ported_static/stRandom/test_random_statetest64.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest64. Ported from: -tests/static/state_tests/stRandom/randomStatetest64Filler.json +state_tests/stRandom/randomStatetest64Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest64Filler.json"], + ["state_tests/stRandom/randomStatetest64Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest64( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest64.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,70 +47,65 @@ def test_random_statetest64( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.EXP( - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], - Op.ADDMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), + # Source: raw + # 0x427f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b50a5560005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.TIMESTAMP + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.EXP( + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + Op.ADDMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 ), - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + ), + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "427f00000000000000000000000000000000000000000000000000000000000000017fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe087f000000000000000000000000" # noqa: E501 - "945304eb96065b2a98b57a48a06ae28d285a71b50a" + to=contract_0, + data=Bytes( + "427f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b50a" # noqa: E501 ), gas_limit=100000, - value=873959833, + value=0x34179199, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 0x82FA967FBA85F07810930C28609BB009D805556C23CF249922CCA1350E4008C5: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest66.py b/tests/ported_static/stRandom/test_random_statetest66.py index 330067e95d9..81b92185f74 100644 --- a/tests/ported_static/stRandom/test_random_statetest66.py +++ b/tests/ported_static/stRandom/test_random_statetest66.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest66. Ported from: -tests/static/state_tests/stRandom/randomStatetest66Filler.json +state_tests/stRandom/randomStatetest66Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest66Filler.json"], + ["state_tests/stRandom/randomStatetest66Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest66( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest66.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,66 +47,62 @@ def test_random_statetest66( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.COINBASE - + Op.SSTORE( - key=Op.PUSH32[0x10000000000000000000000000000000000000000], - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097f000000000000000000000001000000000000000000000000000000000000000055 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.COINBASE + + Op.SSTORE( + key=Op.PUSH32[0x10000000000000000000000000000000000000000], + value=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff417f" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000" # noqa: E501 - "000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe097f0000000000000000" # noqa: E501 - "000000010000000000000000000000000000000000000000" + to=contract_0, + data=Bytes( + "457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097f0000000000000000000000010000000000000000000000000000000000000000" # noqa: E501 ), gas_limit=100000, - value=794190030, + value=0x2F5660CE, ) post = { - contract: Account( + contract_0: Account( storage={ 0x10000000000000000000000000000000000000000: 0xFFFFFFFFFFFFFFFFFFFFFFFF6BACFB1469F9A4D5674A85B75F951D72D7A58E4A, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest67.py b/tests/ported_static/stRandom/test_random_statetest67.py index 0fff8feb00d..2fbbed4a3c0 100644 --- a/tests/ported_static/stRandom/test_random_statetest67.py +++ b/tests/ported_static/stRandom/test_random_statetest67.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest67. Ported from: -tests/static/state_tests/stRandom/randomStatetest67Filler.json +state_tests/stRandom/randomStatetest67Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest67Filler.json"], + ["state_tests/stRandom/randomStatetest67Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest67( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest67.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,60 @@ def test_random_statetest67( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000016f699776659a06a27607a2166d5373315560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x699776659A06A27607A2166D53733155 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x685A55E52C8F02C38DEBE94EF377E3D3AE195BFF), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x699776659A06A27607A2166D53733155, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x685a55e52c8f02c38debe94ef377e3d3ae195bff"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c3507f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000007f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000016f699776659a06a27607a2166d537331" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000016f699776659a06a27607a2166d537331" # noqa: E501 ), gas_limit=100000, - value=2113087573, + value=0x7DF32855, ) post = { - contract: Account(storage={0: 0x699776659A06A27607A2166D53733155}), + target: Account( + storage={0: 0x699776659A06A27607A2166D53733155}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest69.py b/tests/ported_static/stRandom/test_random_statetest69.py index d5a1c8d03a4..8b066bca5a1 100644 --- a/tests/ported_static/stRandom/test_random_statetest69.py +++ b/tests/ported_static/stRandom/test_random_statetest69.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest69. Ported from: -tests/static/state_tests/stRandom/randomStatetest69Filler.json +state_tests/stRandom/randomStatetest69Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest69Filler.json"], + ["state_tests/stRandom/randomStatetest69Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest69( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest69.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,61 @@ def test_random_statetest69( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe43596f15a0770a7676611a6595057b768b645560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 3 + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.NUMBER + + Op.MSIZE + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x15A0770A7676611A6595057B768B6455 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x50B424C9633E670BA9AC1941DBC9ECACE36CE608), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.NUMBER - + Op.MSIZE - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x15A0770A7676611A6595057B768B6455, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x50b424c9633e670ba9ac1941dbc9ecace36ce608"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe43596f15a0770a7676611a6595057b768b64" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe43596f15a0770a7676611a6595057b768b64" # noqa: E501 ), gas_limit=100000, - value=795619675, + value=0x2F6C315B, ) post = { - contract: Account(storage={0: 0x15A0770A7676611A6595057B768B6455}), + target: Account( + storage={0: 0x15A0770A7676611A6595057B768B6455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest72.py b/tests/ported_static/stRandom/test_random_statetest72.py index 4ef463adec9..79ac93f7fb8 100644 --- a/tests/ported_static/stRandom/test_random_statetest72.py +++ b/tests/ported_static/stRandom/test_random_statetest72.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest72. Ported from: -tests/static/state_tests/stRandom/randomStatetest72Filler.json +state_tests/stRandom/randomStatetest72Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest72Filler.json"], + ["state_tests/stRandom/randomStatetest72Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest72( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest72.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,151 +46,59 @@ def test_random_statetest72( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.DIV( - Op.SGT( - Op.MULMOD( - 0x688DFF579830, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff417f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe65688dff579830091304 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.DIV( + Op.SGT( + Op.MULMOD( + 0x688DFF579830, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), - Op.COINBASE, - ) + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + ), + Op.COINBASE, ), nonce=0, - address=Address("0xd8ae0334e34ce6256b4c50a0e7d74ffe2fcab7e8"), # noqa: E501 + address=Address(0xD8AE0334E34CE6256B4C50A0E7D74FFE2FCAB7E8), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff417f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe65688dff579830091304" - ), - gas_limit=100000, - value=1575824584, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest72Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest72_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.DIV( - Op.SGT( - Op.MULMOD( - 0x688DFF579830, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ), - Op.COINBASE, - ) - ), - nonce=0, - address=Address("0xd8ae0334e34ce6256b4c50a0e7d74ffe2fcab7e8"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff417f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe65688dff579830091304" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff417f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe65688dff579830091304" # noqa: E501 ), gas_limit=100000, - value=1575824584, + value=0x5DED2CC8, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest73.py b/tests/ported_static/stRandom/test_random_statetest73.py index 759966f4b41..04baaff4cbd 100644 --- a/tests/ported_static/stRandom/test_random_statetest73.py +++ b/tests/ported_static/stRandom/test_random_statetest73.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest73. Ported from: -tests/static/state_tests/stRandom/randomStatetest73Filler.json +state_tests/stRandom/randomStatetest73Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest73Filler.json"], + ["state_tests/stRandom/randomStatetest73Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest73( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest73.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,65 +47,60 @@ def test_random_statetest73( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.SSTORE( - key=0xB5B573198D729B711671056E0A0555346138, - value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5b573198d729b711671056e0a055534613855 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.SSTORE( + key=0xB5B573198D729B711671056E0A0555346138, + value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "00945304eb96065b2a98b57a48a06ae28d285a71b57e7f00000000000000000000000094" # noqa: E501 - "5304eb96065b2a98b57a48a06ae28d285a71b5b573198d729b711671056e0a0555346138" # noqa: E501 + to=contract_0, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5b573198d729b711671056e0a0555346138" # noqa: E501 ), gas_limit=100000, - value=84268071, + value=0x505D427, ) post = { - contract: Account( + contract_0: Account( storage={ 0xB5B573198D729B711671056E0A0555346138: 0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest74.py b/tests/ported_static/stRandom/test_random_statetest74.py index 262fd71da46..2c803c5f414 100644 --- a/tests/ported_static/stRandom/test_random_statetest74.py +++ b/tests/ported_static/stRandom/test_random_statetest74.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest74. Ported from: -tests/static/state_tests/stRandom/randomStatetest74Filler.json +state_tests/stRandom/randomStatetest74Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest74Filler.json"], + ["state_tests/stRandom/randomStatetest74Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest74( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest74.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,59 @@ def test_random_statetest74( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.GASPRICE - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x141097788A7B5A72139C07076F184255, - ) + # Source: raw + # 0x427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff3a7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006f141097788a7b5a72139c07076f18425560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.TIMESTAMP + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.GASPRICE + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x141097788A7B5A72139C07076F184255 ), nonce=0, - address=Address("0x1388416097405b5998a7b07d85a1aaadf337e5da"), # noqa: E501 + address=Address(0x1388416097405B5998A7B07D85A1AAADF337E5DA), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff3a7f000000000000" # noqa: E501 - "0000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000006f141097788a7b5a72139c0707" # noqa: E501 - "6f1842" + to=target, + data=Bytes( + "427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff3a7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000006f141097788a7b5a72139c07076f1842" # noqa: E501 ), gas_limit=100000, - value=1223108496, + value=0x48E72790, ) post = { - contract: Account(storage={0: 0x141097788A7B5A72139C07076F184255}), + target: Account( + storage={0: 0x141097788A7B5A72139C07076F184255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest75.py b/tests/ported_static/stRandom/test_random_statetest75.py index 26f4f660b5a..e20bcf44f92 100644 --- a/tests/ported_static/stRandom/test_random_statetest75.py +++ b/tests/ported_static/stRandom/test_random_statetest75.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest75. Ported from: -tests/static/state_tests/stRandom/randomStatetest75Filler.json +state_tests/stRandom/randomStatetest75Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest75Filler.json"], + ["state_tests/stRandom/randomStatetest75Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest75( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest75.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,64 @@ def test_random_statetest75( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000006f5893504553386c7d154001779287765560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x5893504553386C7D1540017792877655 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x6EA6BBAC1C9C438B7854633DCF8D299F4004A0D5), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x5893504553386C7D1540017792877655, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x6ea6bbac1c9c438b7854633dcf8d299f4004a0d5"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000" # noqa: E501 - "000000000000000000000000000000006f5893504553386c7d15400177928776" + to=target, + data=Bytes( + "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000006f5893504553386c7d15400177928776" # noqa: E501 ), gas_limit=100000, - value=180160312, + value=0xABD0738, ) post = { - contract: Account(storage={0: 0x5893504553386C7D1540017792877655}), + target: Account( + storage={0: 0x5893504553386C7D1540017792877655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest77.py b/tests/ported_static/stRandom/test_random_statetest77.py index f0b0f2478c0..700d60bad6b 100644 --- a/tests/ported_static/stRandom/test_random_statetest77.py +++ b/tests/ported_static/stRandom/test_random_statetest77.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest77. Ported from: -tests/static/state_tests/stRandom/randomStatetest77Filler.json +state_tests/stRandom/randomStatetest77Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest77Filler.json"], + ["state_tests/stRandom/randomStatetest77Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest77( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest77.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,57 @@ def test_random_statetest77( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.COINBASE - + Op.SWAP4 - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x79A06DF1A08D05373216D37219034155, - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000141937f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000006f79a06df1a08d05373216d3721903415560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] * 2 + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.COINBASE + + Op.SWAP4 + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x79A06DF1A08D05373216D37219034155 ), nonce=0, - address=Address("0x37f7e5268a5789947dca44e08340dc3c59dc0b97"), # noqa: E501 + address=Address(0x37F7E5268A5789947DCA44E08340DC3C59DC0B97), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000141937f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000007f000000000000000000000001" # noqa: E501 - "00000000000000000000000000000000000000006f79a06df1a08d05373216d372190341" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000141937f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000006f79a06df1a08d05373216d372190341" # noqa: E501 ), gas_limit=100000, - value=1249250523, + value=0x4A760CDB, ) post = { - contract: Account(storage={0: 0x79A06DF1A08D05373216D37219034155}), + target: Account( + storage={0: 0x79A06DF1A08D05373216D37219034155}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest78.py b/tests/ported_static/stRandom/test_random_statetest78.py index dd96486fabf..6c338566d55 100644 --- a/tests/ported_static/stRandom/test_random_statetest78.py +++ b/tests/ported_static/stRandom/test_random_statetest78.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest78. Ported from: -tests/static/state_tests/stRandom/randomStatetest78Filler.json +state_tests/stRandom/randomStatetest78Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest78Filler.json"], + ["state_tests/stRandom/randomStatetest78Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest78( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest78.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,135 +46,47 @@ def test_random_statetest78( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000437f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1174648789aa349e0915aa5911 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff1174648789aa349e0915aa5911" + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1174648789aa349e0915aa5911" # noqa: E501 ), nonce=0, - address=Address("0xc0cf981b416db73110aac9d4dbe6d1358cf4e6db"), # noqa: E501 + address=Address(0xC0CF981B416DB73110AAC9D4DBE6D1358CF4E6DB), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff1174648789aa349e0915aa5911" - ), - gas_limit=100000, - value=181540957, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest78Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest78_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff1174648789aa349e0915aa5911" - ), - nonce=0, - address=Address("0xc0cf981b416db73110aac9d4dbe6d1358cf4e6db"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff1174648789aa349e0915aa5911" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1174648789aa349e0915aa5911" # noqa: E501 ), gas_limit=100000, - value=181540957, + value=0xAD2185D, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest80.py b/tests/ported_static/stRandom/test_random_statetest80.py index 5da803accaf..399c892d8f8 100644 --- a/tests/ported_static/stRandom/test_random_statetest80.py +++ b/tests/ported_static/stRandom/test_random_statetest80.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest80. Ported from: -tests/static/state_tests/stRandom/randomStatetest80Filler.json +state_tests/stRandom/randomStatetest80Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest80Filler.json"], + ["state_tests/stRandom/randomStatetest80Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest80( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest80.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,67 +47,62 @@ def test_random_statetest80( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[0xC350] - + Op.GT( - Op.PUSH32[0x10000000000000000000000000000000000000000], - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], - ) - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=0xB5681069127B3B9C877D6F6169FF36600051, - value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 - ) + # Source: raw + # 0x7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000000000000000000000010000000000000000000000000000000000000000117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5681069127b3b9c877d6f6169ff3660005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.PUSH32[0xC350] + + Op.GT( + Op.PUSH32[0x10000000000000000000000000000000000000000], + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + ) + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=0xB5681069127B3B9C877D6F6169FF36600051, + value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000000000000000" # noqa: E501 - "000000010000000000000000000000000000000000000000117fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7e7f000000000000000000000000" # noqa: E501 - "945304eb96065b2a98b57a48a06ae28d285a71b5681069127b3b9c877d6f6169ff36" # noqa: E501 + to=contract_0, + data=Bytes( + "7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000000000000000000000010000000000000000000000000000000000000000117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5681069127b3b9c877d6f6169ff36" # noqa: E501 ), gas_limit=100000, - value=517580214, + value=0x1ED9A5B6, ) post = { - contract: Account( + contract_0: Account( storage={ 0xB5681069127B3B9C877D6F6169FF36600051: 0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest81.py b/tests/ported_static/stRandom/test_random_statetest81.py index 90c2534357e..1ced651dcd3 100644 --- a/tests/ported_static/stRandom/test_random_statetest81.py +++ b/tests/ported_static/stRandom/test_random_statetest81.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest81. Ported from: -tests/static/state_tests/stRandom/randomStatetest81Filler.json +state_tests/stRandom/randomStatetest81Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest81Filler.json"], + ["state_tests/stRandom/randomStatetest81Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest81( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest81.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,61 @@ def test_random_statetest81( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff436f616c327e0435743c515b078453a03c5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.NUMBER + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.NUMBER + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x616C327E0435743C515B078453A03C55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x97FBF90A1B8CCAEB7FA3A74A5C8BDF3DC10AAFD4), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.NUMBER - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.NUMBER - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x616C327E0435743C515B078453A03C55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x97fbf90a1b8ccaeb7fa3a74a5c8bdf3dc10aafd4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe437f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff436f616c327e0435743c515b078453a03c" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff436f616c327e0435743c515b078453a03c" # noqa: E501 ), gas_limit=100000, - value=898282209, + value=0x358AB2E1, ) post = { - contract: Account(storage={0: 0x616C327E0435743C515B078453A03C55}), + target: Account( + storage={0: 0x616C327E0435743C515B078453A03C55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest82.py b/tests/ported_static/stRandom/test_random_statetest82.py index 531ea35f07b..899fa717632 100644 --- a/tests/ported_static/stRandom/test_random_statetest82.py +++ b/tests/ported_static/stRandom/test_random_statetest82.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest82. Ported from: -tests/static/state_tests/stRandom/randomStatetest82Filler.json +state_tests/stRandom/randomStatetest82Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest82Filler.json"], + ["state_tests/stRandom/randomStatetest82Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest82( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest82.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,151 +46,59 @@ def test_random_statetest82( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MOD( - Op.PUSH32[0x0], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - value=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff097ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000000655 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MOD( + Op.PUSH32[0x0], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + value=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), ), nonce=0, - address=Address("0x3d8eef1923018c3cae225f836ab9821321d39496"), # noqa: E501 + address=Address(0x3D8EEF1923018C3CAE225F836AB9821321D39496), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff097fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000006" - ), - gas_limit=100000, - value=1676520806, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest82Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest82_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MOD( - Op.PUSH32[0x0], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - value=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) - ), - nonce=0, - address=Address("0x3d8eef1923018c3cae225f836ab9821321d39496"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff097fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000006" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff097ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000000006" # noqa: E501 ), gas_limit=100000, - value=1676520806, + value=0x63EDAD66, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest83.py b/tests/ported_static/stRandom/test_random_statetest83.py index c248c937957..9013f6c0731 100644 --- a/tests/ported_static/stRandom/test_random_statetest83.py +++ b/tests/ported_static/stRandom/test_random_statetest83.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest83. Ported from: -tests/static/state_tests/stRandom/randomStatetest83Filler.json +state_tests/stRandom/randomStatetest83Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest83Filler.json"], + ["state_tests/stRandom/randomStatetest83Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest83( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest83.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,60 @@ def test_random_statetest83( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6fa1109af20740728e72150a7a9c09595560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.TIMESTAMP + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.ADDRESS + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xA1109AF20740728E72150A7A9C095955 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9A835E4C65AEFD446FC94197FF59DAAD95C34E88), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.TIMESTAMP - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.ADDRESS - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xA1109AF20740728E72150A7A9C095955, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9a835e4c65aefd446fc94197ff59daad95c34e88"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff427f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000307fffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffe6fa1109af20740728e72150a7a9c0959" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6fa1109af20740728e72150a7a9c0959" # noqa: E501 ), gas_limit=100000, - value=1015118220, + value=0x3C81798C, ) post = { - contract: Account(storage={0: 0xA1109AF20740728E72150A7A9C095955}), + target: Account( + storage={0: 0xA1109AF20740728E72150A7A9C095955}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest84.py b/tests/ported_static/stRandom/test_random_statetest84.py index 7a68c99fb57..4657f38fa27 100644 --- a/tests/ported_static/stRandom/test_random_statetest84.py +++ b/tests/ported_static/stRandom/test_random_statetest84.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest84. Ported from: -tests/static/state_tests/stRandom/randomStatetest84Filler.json +state_tests/stRandom/randomStatetest84Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest84Filler.json"], + ["state_tests/stRandom/randomStatetest84Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest84( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest84.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,55 @@ def test_random_statetest84( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PREVRANDAO - + Op.XOR(Op.PUSH32[0x1], Op.GASLIMIT) - + Op.MSTORE( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - value=Op.PUSH32[0x1], - ) - + Op.SSTORE(key=Op.MSIZE, value=Op.ISZERO) - ), + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000001000000000000000000000000000000000000000044457f0000000000000000000000000000000000000000000000000000000000000001187f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff52155955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PREVRANDAO + + Op.XOR(Op.PUSH32[0x1], Op.GASLIMIT) + + Op.MSTORE( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + value=Op.PUSH32[0x1], + ) + + Op.SSTORE(key=Op.MSIZE, value=Op.ISZERO), nonce=0, - address=Address("0x08e8be5786db8a32df25c732dea4a9f3e1b16e1b"), # noqa: E501 + address=Address(0x08E8BE5786DB8A32DF25C732DEA4A9F3E1B16E1B), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000001000000000000000000000000000000000000000044457f000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000001187f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff521559" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000001000000000000000000000000000000000000000044457f0000000000000000000000000000000000000000000000000000000000000001187f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff521559" # noqa: E501 ), gas_limit=100000, - value=679746513, + value=0x28841BD1, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest85.py b/tests/ported_static/stRandom/test_random_statetest85.py index e3a5f9ef9ea..b58cb9d5709 100644 --- a/tests/ported_static/stRandom/test_random_statetest85.py +++ b/tests/ported_static/stRandom/test_random_statetest85.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest85. Ported from: -tests/static/state_tests/stRandom/randomStatetest85Filler.json +state_tests/stRandom/randomStatetest85Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest85Filler.json"], + ["state_tests/stRandom/randomStatetest85Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest85( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest85.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,47 @@ def test_random_statetest85( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350f25b557e348ff374819d123109539b55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350f25b557e348ff374819d123109539b55" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD2FD98D49A70F7C4B524B8E53C8E5FC695555554), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000017f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350f25b557e348ff374819d123109539b55" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd2fd98d49a70f7c4b524b8e53c8e5fc695555554"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000017f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350f25b557e348ff374819d123109539b" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350f25b557e348ff374819d123109539b" # noqa: E501 ), gas_limit=100000, - value=994504369, + value=0x3B46EEB1, ) post = { - contract: Account(storage={1: 50000}), + target: Account(storage={1: 50000}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest87.py b/tests/ported_static/stRandom/test_random_statetest87.py index bb409874b37..21cecdc8e74 100644 --- a/tests/ported_static/stRandom/test_random_statetest87.py +++ b/tests/ported_static/stRandom/test_random_statetest87.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest87. Ported from: -tests/static/state_tests/stRandom/randomStatetest87Filler.json +state_tests/stRandom/randomStatetest87Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest87Filler.json"], + ["state_tests/stRandom/randomStatetest87Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest87( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest87.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,59 @@ def test_random_statetest87( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.JUMPDEST - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x446E638E7E16736C030393727D748174, - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000005b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f446e638e7e16736c030393727d74817460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] * 2 + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.JUMPDEST + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x446E638E7E16736C030393727D748174 ), nonce=0, - address=Address("0x2d5075f9729770c4dcf91f9dd6635f9b4dcdccf8"), # noqa: E501 + address=Address(0x2D5075F9729770C4DCF91F9DD6635F9B4DCDCCF8), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000005b7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe6f446e638e7e16736c030393727d748174" # noqa: E501 + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000005b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f446e638e7e16736c030393727d748174" # noqa: E501 ), gas_limit=100000, - value=2065587657, + value=0x7B1E5DC9, ) post = { - contract: Account(storage={0: 0x446E638E7E16736C030393727D748174}), + target: Account( + storage={0: 0x446E638E7E16736C030393727D748174}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest88.py b/tests/ported_static/stRandom/test_random_statetest88.py index 318fee67d90..9e273ece72f 100644 --- a/tests/ported_static/stRandom/test_random_statetest88.py +++ b/tests/ported_static/stRandom/test_random_statetest88.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest88. Ported from: -tests/static/state_tests/stRandom/randomStatetest88Filler.json +state_tests/stRandom/randomStatetest88Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest88Filler.json"], + ["state_tests/stRandom/randomStatetest88Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest88( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest88.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,61 @@ def test_random_statetest88( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.MSTORE8(offset=Op.NUMBER, value=Op.NUMBER) - + Op.PUSH32[0xC350] - + Op.GT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x34F06A7014541167033909103620F355, - ) + # Source: raw + # 0x7f0000000000000000000000004343537f000000000000000000000000000000000000000000000000000000000000c350117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000016f34f06a7014541167033909103620f35560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.MSTORE8(offset=Op.NUMBER, value=Op.NUMBER) + + Op.PUSH32[0xC350] + + Op.GT + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x34F06A7014541167033909103620F355 ), nonce=0, - address=Address("0x4150a4f366c525b471e788d777bfd0d118ce5b23"), # noqa: E501 + address=Address(0x4150A4F366C525B471E788D777BFD0D118CE5B23), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79434353" # noqa: E501 - "7f000000000000000000000000000000000000000000000000000000000000c350117fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000016f34f06a70145411" # noqa: E501 - "67033909103620f3" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e794343537f000000000000000000000000000000000000000000000000000000000000c350117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000016f34f06a7014541167033909103620f3" # noqa: E501 ), gas_limit=100000, - value=1050242229, + value=0x3E996CB5, ) post = { - contract: Account( + target: Account( storage={ + 1: 0, 0x1000000000000000000000000000000000000000000000000000000000000: 0x34F06A7014541167033909103620F355, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest89.py b/tests/ported_static/stRandom/test_random_statetest89.py index 3fe0cedd9a5..59eacda0dd9 100644 --- a/tests/ported_static/stRandom/test_random_statetest89.py +++ b/tests/ported_static/stRandom/test_random_statetest89.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest89. Ported from: -tests/static/state_tests/stRandom/randomStatetest89Filler.json +state_tests/stRandom/randomStatetest89Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest89Filler.json"], + ["state_tests/stRandom/randomStatetest89Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest89( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest89.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,55 @@ def test_random_statetest89( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x5648CE0AD106B7A6F3483379E62876B, - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000016f05648ce0ad106b7a6f3483379e62876b60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x5648CE0AD106B7A6F3483379E62876B ), nonce=0, - address=Address("0x1719f88aeea1dcfeb5ac48fe64d270ab05723c94"), # noqa: E501 + address=Address(0x1719F88AEEA1DCFEB5AC48FE64D270AB05723C94), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000016f05648ce0ad106b7a6f3483379e62876b" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000016f05648ce0ad106b7a6f3483379e62876b" # noqa: E501 ), gas_limit=100000, - value=1090727739, + value=0x41032F3B, ) post = { - contract: Account(storage={0: 0x5648CE0AD106B7A6F3483379E62876B}), + target: Account( + storage={0: 0x5648CE0AD106B7A6F3483379E62876B}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest9.py b/tests/ported_static/stRandom/test_random_statetest9.py index 0cae15efc5a..68df686661b 100644 --- a/tests/ported_static/stRandom/test_random_statetest9.py +++ b/tests/ported_static/stRandom/test_random_statetest9.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest9. Ported from: -tests/static/state_tests/stRandom/randomStatetest9Filler.json +state_tests/stRandom/randomStatetest9Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest9Filler.json"], + ["state_tests/stRandom/randomStatetest9Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest9( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest9.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,58 @@ def test_random_statetest9( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000016f757fb845405bf1ff959ba03a9c336b5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] * 3 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x757FB845405BF1FF959BA03A9C336B55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE4B1E633C823D5BFDE55301AAF1D5AD28816F1EF), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x757FB845405BF1FF959BA03A9C336B55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe4b1e633c823d5bfde55301aaf1d5ad28816f1ef"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000017f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000016f757fb845405bf1ff959ba03a9c336b" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000016f757fb845405bf1ff959ba03a9c336b" # noqa: E501 ), gas_limit=100000, - value=217035801, + value=0xCEFB419, ) post = { - contract: Account(storage={0: 0x757FB845405BF1FF959BA03A9C336B55}), + target: Account( + storage={0: 0x757FB845405BF1FF959BA03A9C336B55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest90.py b/tests/ported_static/stRandom/test_random_statetest90.py index 2b5edc7f432..cb2a81f251f 100644 --- a/tests/ported_static/stRandom/test_random_statetest90.py +++ b/tests/ported_static/stRandom/test_random_statetest90.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest90. Ported from: -tests/static/state_tests/stRandom/randomStatetest90Filler.json +state_tests/stRandom/randomStatetest90Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest90Filler.json"], + ["state_tests/stRandom/randomStatetest90Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest90( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest90.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,61 +46,57 @@ def test_random_statetest90( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff45157f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000016f116b4177f25178d7048212877e95685560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.ISZERO(Op.GASLIMIT) + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x116B4177F25178D7048212877E956855 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC826D0D6D0CD47CC972A44A7B4E8E76759E5E07E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.ISZERO(Op.GASLIMIT) - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x116B4177F25178D7048212877E956855, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc826d0d6d0cd47cc972a44a7b4e8e76759e5e07e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff45157f" # noqa: E501 - "0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000017f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3507f000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000016f116b4177f25178d7048212877e9568" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff45157f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000016f116b4177f25178d7048212877e9568" # noqa: E501 ), gas_limit=100000, - value=168858958, + value=0xA10954E, ) post = { - contract: Account(storage={0: 0x116B4177F25178D7048212877E956855}), + target: Account( + storage={0: 0x116B4177F25178D7048212877E956855}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest92.py b/tests/ported_static/stRandom/test_random_statetest92.py index 816931f05e0..2a52569bfa5 100644 --- a/tests/ported_static/stRandom/test_random_statetest92.py +++ b/tests/ported_static/stRandom/test_random_statetest92.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest92. Ported from: -tests/static/state_tests/stRandom/randomStatetest92Filler.json +state_tests/stRandom/randomStatetest92Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest92Filler.json"], + ["state_tests/stRandom/randomStatetest92Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest92( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest92.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,61 @@ def test_random_statetest92( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000006f59640c655956799087168f0658a11a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x59640C655956799087168F0658A11A55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xEBA81E870FD988A7CA5504D2CE5972BD0E094DF8), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x59640C655956799087168F0658A11A55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xeba81e870fd988a7ca5504d2ce5972bd0e094df8"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000" # noqa: E501 - "0000000000000000000000006f59640c655956799087168f0658a11a" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000006f59640c655956799087168f0658a11a" # noqa: E501 ), gas_limit=100000, - value=472110012, + value=0x1C23D3BC, ) post = { - contract: Account(storage={0: 0x59640C655956799087168F0658A11A55}), + target: Account( + storage={0: 0x59640C655956799087168F0658A11A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest95.py b/tests/ported_static/stRandom/test_random_statetest95.py index fb0ad6f4824..ed652de0add 100644 --- a/tests/ported_static/stRandom/test_random_statetest95.py +++ b/tests/ported_static/stRandom/test_random_statetest95.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest95. Ported from: -tests/static/state_tests/stRandom/randomStatetest95Filler.json +state_tests/stRandom/randomStatetest95Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest95Filler.json"], + ["state_tests/stRandom/randomStatetest95Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest95( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest95.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,64 @@ def test_random_statetest95( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff14447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.EQ( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.PREVRANDAO + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.JUMPDEST + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x8AC8EA09297A4D9043501BF2AFE59C630C47D75F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.EQ( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.PREVRANDAO - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.JUMPDEST - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x8ac8ea09297a4d9043501bf2afe59c630c47d75f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff14447fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffff5b" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff14447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b" # noqa: E501 ), gas_limit=100000, - value=2122578548, + value=0x7E83FA74, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest96.py b/tests/ported_static/stRandom/test_random_statetest96.py index f0f94fc3456..a15faa41c60 100644 --- a/tests/ported_static/stRandom/test_random_statetest96.py +++ b/tests/ported_static/stRandom/test_random_statetest96.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest96. Ported from: -tests/static/state_tests/stRandom/randomStatetest96Filler.json +state_tests/stRandom/randomStatetest96Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest96Filler.json"], + ["state_tests/stRandom/randomStatetest96Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest96( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest96.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,60 @@ def test_random_statetest96( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x183B68A09B08953085A854A39D921255, - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006f183b68a09b08953085a854a39d92125560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x183B68A09B08953085A854A39D921255 ), nonce=0, - address=Address("0x1116e19be1b4c4fc96b618a6a6c487b587572be9"), # noqa: E501 + address=Address(0x1116E19BE1B4C4FC96B618A6A6C487B587572BE9), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017f0000000000000000000000010000000000" # noqa: E501 - "0000000000000000000000000000007f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000006f183b68a09b08953085a854a39d9212" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006f183b68a09b08953085a854a39d9212" # noqa: E501 ), gas_limit=100000, - value=1246597060, + value=0x4A4D8FC4, ) post = { - contract: Account(storage={0: 0x183B68A09B08953085A854A39D921255}), + target: Account( + storage={0: 0x183B68A09B08953085A854A39D921255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest97.py b/tests/ported_static/stRandom/test_random_statetest97.py index 71dab25146f..6c8499b4c5f 100644 --- a/tests/ported_static/stRandom/test_random_statetest97.py +++ b/tests/ported_static/stRandom/test_random_statetest97.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest97. Ported from: -tests/static/state_tests/stRandom/randomStatetest97Filler.json +state_tests/stRandom/randomStatetest97Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest97Filler.json"], + ["state_tests/stRandom/randomStatetest97Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest97( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest97.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,67 @@ def test_random_statetest97( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000587f0000000000000000000000000000000000000000000000000000000000000001957f0000000000000000000000000000000000000000000000000000000000000000407f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3509781040107338b35071887a186 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PC + + Op.PUSH32[0x1] + + Op.SWAP6 + + Op.BLOCKHASH(block_number=Op.PUSH32[0x0]) + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.SWAP8 + + Op.LOG1( + offset=Op.DUP8, + size=Op.XOR( + Op.SMOD(Op.CALLDATALOAD(offset=Op.DUP12), Op.CALLER), Op.SMOD + ), + topic_1=Op.ADD(Op.DIV, Op.DUP2), + ) + + Op.DUP7, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x987A2BCE4EB6B8B9B42B371C1229B8BC73F029FC), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PC - + Op.PUSH32[0x1] - + Op.SWAP6 - + Op.BLOCKHASH(block_number=Op.PUSH32[0x0]) - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.SWAP8 - + Op.LOG1( - offset=Op.DUP8, - size=Op.XOR( - Op.SMOD(Op.CALLDATALOAD(offset=Op.DUP12), Op.CALLER), - Op.SMOD, - ), - topic_1=Op.ADD(Op.DIV, Op.DUP2), - ) - + Op.DUP7 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x987a2bce4eb6b8b9b42b371c1229b8bc73f029fc"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79587f00" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000001957f000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000407f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3509781040107338b35071887a1" # noqa: E501 - "86" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79587f0000000000000000000000000000000000000000000000000000000000000001957f0000000000000000000000000000000000000000000000000000000000000000407f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3509781040107338b35071887a186" # noqa: E501 ), gas_limit=100000, - value=335580338, + value=0x14008CB2, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79587f0000000000000000000000000000000000000000000000000000000000000001957f0000000000000000000000000000000000000000000000000000000000000000407f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3509781040107338b35071887a186" # noqa: E501 + ), + balance=0, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom/test_random_statetest98.py b/tests/ported_static/stRandom/test_random_statetest98.py index f43f09ba087..288e0b63702 100644 --- a/tests/ported_static/stRandom/test_random_statetest98.py +++ b/tests/ported_static/stRandom/test_random_statetest98.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest98. Ported from: -tests/static/state_tests/stRandom/randomStatetest98Filler.json +state_tests/stRandom/randomStatetest98Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom/randomStatetest98Filler.json"], + ["state_tests/stRandom/randomStatetest98Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest98( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest98.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,72 +46,66 @@ def test_random_statetest98( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.COINBASE - + Op.SSTORE( - key=Op.ADDMOD( - Op.SIGNEXTEND( - Op.PUSH32[0x0], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000000b085560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.COINBASE + + Op.SSTORE( + key=Op.ADDMOD( + Op.SIGNEXTEND( + Op.PUSH32[0x0], 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 ), - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x471b3ef5770a3fdbdbf9dbcde26dfee32181a61b"), # noqa: E501 + address=Address(0x471B3EF5770A3FDBDBF9DBCDE26DFEE32181A61B), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000b08" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000000b08" # noqa: E501 ), gas_limit=100000, - value=588937108, + value=0x231A7794, ) post = { - contract: Account( + target: Account( storage={ 0: 0x4F3F701464972E74606D6EA82D4D3080599A0E79, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/__init__.py b/tests/ported_static/stRandom2/__init__.py index 7dc122d99f1..d19f2eea0d0 100644 --- a/tests/ported_static/stRandom2/__init__.py +++ b/tests/ported_static/stRandom2/__init__.py @@ -1 +1 @@ -"""Tests ported from stRandom2.""" +"""Ported static tests: stRandom2.""" # noqa: N999 diff --git a/tests/ported_static/stRandom2/test_random_statetest.py b/tests/ported_static/stRandom2/test_random_statetest.py index 0ba1ffc5eb0..97c32be70b7 100644 --- a/tests/ported_static/stRandom2/test_random_statetest.py +++ b/tests/ported_static/stRandom2/test_random_statetest.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest. Ported from: -tests/static/state_tests/stRandom2/randomStatetestFiller.json +state_tests/stRandom2/randomStatetestFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetestFiller.json"], + ["state_tests/stRandom2/randomStatetestFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f29199c9aa4054170f1a15a55056f965560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x29199C9AA4054170F1A15A55056F9655 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA482D90F6CDA557C1E8E41C3755C25821C27BB9D), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x29199C9AA4054170F1A15A55056F9655, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa482d90f6cda557c1e8e41c3755c25821c27bb9d"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe6f29199c9aa4054170f1a15a55056f96" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f29199c9aa4054170f1a15a55056f96" # noqa: E501 ), gas_limit=100000, - value=252246116, + value=0xF08F864, ) post = { - contract: Account(storage={0: 0x29199C9AA4054170F1A15A55056F9655}), + target: Account( + storage={0: 0x29199C9AA4054170F1A15A55056F9655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest384.py b/tests/ported_static/stRandom2/test_random_statetest384.py index fcd9829b03c..41a8e90eb2e 100644 --- a/tests/ported_static/stRandom2/test_random_statetest384.py +++ b/tests/ported_static/stRandom2/test_random_statetest384.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest384. Ported from: -tests/static/state_tests/stRandom2/randomStatetest384Filler.json +state_tests/stRandom2/randomStatetest384Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest384Filler.json"], + ["state_tests/stRandom2/randomStatetest384Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest384( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest384.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,60 @@ def test_random_statetest384( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f16133502727c0a7f679b456df093576360005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x16133502727C0A7F679B456DF0935763 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xCE79579821C4A0738C7B42FD178FF0192B4A276F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x16133502727C0A7F679B456DF0935763, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xce79579821c4a0738c7b42fd178ff0192b4a276f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff6f16133502727c0a7f679b456df0935763" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f16133502727c0a7f679b456df0935763" # noqa: E501 ), gas_limit=100000, - value=2066470732, + value=0x7B2BD74C, ) post = { - contract: Account(storage={0: 0x16133502727C0A7F679B456DF0935763}), + target: Account( + storage={0: 0x16133502727C0A7F679B456DF0935763}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest385.py b/tests/ported_static/stRandom2/test_random_statetest385.py index 50f25c87677..17065a6b2a7 100644 --- a/tests/ported_static/stRandom2/test_random_statetest385.py +++ b/tests/ported_static/stRandom2/test_random_statetest385.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest385. Ported from: -tests/static/state_tests/stRandom2/randomStatetest385Filler.json +state_tests/stRandom2/randomStatetest385Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest385Filler.json"], + ["state_tests/stRandom2/randomStatetest385Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest385( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest385.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,56 @@ def test_random_statetest385( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000547f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f785188182063156955631a7a85093a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.SLOAD(key=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79]) + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x785188182063156955631A7A85093A55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x72E025A11FDE515931BA4AF263005C4A19385A5B), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.SLOAD( - key=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - ) - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x785188182063156955631A7A85093A55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x72e025a11fde515931ba4af263005c4a19385a5b"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e79547f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff6f785188182063156955631a7a85093a" # noqa: E501 + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79547f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f785188182063156955631a7a85093a" # noqa: E501 ), gas_limit=100000, - value=768381138, + value=0x2DCC90D2, ) post = { - contract: Account(storage={0: 0x785188182063156955631A7A85093A55}), + target: Account( + storage={0: 0x785188182063156955631A7A85093A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest386.py b/tests/ported_static/stRandom2/test_random_statetest386.py index d7c8d23ff83..291f849f5f4 100644 --- a/tests/ported_static/stRandom2/test_random_statetest386.py +++ b/tests/ported_static/stRandom2/test_random_statetest386.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest386. Ported from: -tests/static/state_tests/stRandom2/randomStatetest386Filler.json +state_tests/stRandom2/randomStatetest386Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest386Filler.json"], + ["state_tests/stRandom2/randomStatetest386Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest386( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest386.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,73 +46,65 @@ def test_random_statetest386( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.GT( - Op.DUP2, - Op.SIGNEXTEND( - Op.ADD(Op.COINBASE, Op.CALLDATASIZE), - Op.SGT( - Op.SDIV( - Op.PUSH32[0x1], - Op.DIV( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff047f000000000000000000000000000000000000000000000000000000000000000105133641010b811160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.GT( + Op.DUP2, + Op.SIGNEXTEND( + Op.ADD(Op.COINBASE, Op.CALLDATASIZE), + Op.SGT( + Op.SDIV( + Op.PUSH32[0x1], + Op.DIV( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 ), - Op.PUSH32[0x0], ), + Op.PUSH32[0x0], ), ), - ) + ), ), nonce=0, - address=Address("0xc36f24a2628ca6bf3d13fb8e6090844962dfbb86"), # noqa: E501 + address=Address(0xC36F24A2628CA6BF3D13FB8E6090844962DFBB86), # noqa: E501 ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) + ), + balance=46, + nonce=0, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff047f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000105133641010b8111" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff047f000000000000000000000000000000000000000000000000000000000000000105133641010b8111" # noqa: E501 ), gas_limit=100000, - value=433564740, + value=0x19D7AC44, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest387.py b/tests/ported_static/stRandom2/test_random_statetest387.py index 5f53244e3aa..98149c6facf 100644 --- a/tests/ported_static/stRandom2/test_random_statetest387.py +++ b/tests/ported_static/stRandom2/test_random_statetest387.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest387. Ported from: -tests/static/state_tests/stRandom2/randomStatetest387Filler.json +state_tests/stRandom2/randomStatetest387Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest387Filler.json"], + ["state_tests/stRandom2/randomStatetest387Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest387( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest387.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,47 @@ def test_random_statetest387( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350617e7608617c95f3ff584076e07b5a4460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350617e7608617c95f3ff584076e07b5a4460005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA3A709FECE04184D06401D32D39F133EA3B800A8), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350617e7608617c95f3ff584076e07b5a4460005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa3a709fece04184d06401d32d39f133ea3b800a8"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350617e7608617c95f3ff584076e07b5a44" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350617e7608617c95f3ff584076e07b5a44" # noqa: E501 ), gas_limit=100000, - value=1650737351, + value=0x626440C7, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest388.py b/tests/ported_static/stRandom2/test_random_statetest388.py index c08b7e07ba2..89f4a13f313 100644 --- a/tests/ported_static/stRandom2/test_random_statetest388.py +++ b/tests/ported_static/stRandom2/test_random_statetest388.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest388. Ported from: -tests/static/state_tests/stRandom2/randomStatetest388Filler.json +state_tests/stRandom2/randomStatetest388Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest388Filler.json"], + ["state_tests/stRandom2/randomStatetest388Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest388( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest388.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,67 +47,61 @@ def test_random_statetest388( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=0xB5765B8F743B9979A0905B6A189165600051, - value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5765b8f743b9979a0905b6a18916560005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=0xB5765B8F743B9979A0905B6A189165600051, + value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "00945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7e7f000000000000000000000000945304eb" # noqa: E501 - "96065b2a98b57a48a06ae28d285a71b5765b8f743b9979a0905b6a189165" + to=contract_0, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5765b8f743b9979a0905b6a189165" # noqa: E501 ), gas_limit=100000, - value=1175166777, + value=0x460B9F39, ) post = { - contract: Account( + contract_0: Account( storage={ 0xB5765B8F743B9979A0905B6A189165600051: 0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest389.py b/tests/ported_static/stRandom2/test_random_statetest389.py index a13243a485d..65369035a61 100644 --- a/tests/ported_static/stRandom2/test_random_statetest389.py +++ b/tests/ported_static/stRandom2/test_random_statetest389.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest389. Ported from: -tests/static/state_tests/stRandom2/randomStatetest389Filler.json +state_tests/stRandom2/randomStatetest389Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest389Filler.json"], + ["state_tests/stRandom2/randomStatetest389Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest389( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest389.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,63 @@ def test_random_statetest389( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000427f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3503a86385458123760005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.TIMESTAMP + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.CALLDATACOPY( + dest_offset=Op.SLT(Op.PC, Op.SLOAD(key=Op.CODESIZE)), + offset=Op.DUP7, + size=Op.GASPRICE, + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x6442010FD6C7D107410FD0589B8059DF1C45F0D0), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.TIMESTAMP - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.CALLDATACOPY( - dest_offset=Op.SLT(Op.PC, Op.SLOAD(key=Op.CODESIZE)), - offset=Op.DUP7, - size=Op.GASPRICE, - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x6442010fd6c7d107410fd0589b8059df1c45f0d0"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00" # noqa: E501 - "000000000000000000000100000000000000000000000000000000000000007f00000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000427f000000000000" # noqa: E501 - "0000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c3503a863854581237" + to=target, + data=Bytes( + "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3503a863854581237" # noqa: E501 ), gas_limit=100000, - value=1542544795, + value=0x5BF15D9B, ) post = { - contract: Account(storage={0: 50000}), + target: Account(storage={0: 50000}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest393.py b/tests/ported_static/stRandom2/test_random_statetest393.py index f35874a1bd0..2a26c42383e 100644 --- a/tests/ported_static/stRandom2/test_random_statetest393.py +++ b/tests/ported_static/stRandom2/test_random_statetest393.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest393. Ported from: -tests/static/state_tests/stRandom2/randomStatetest393Filler.json +state_tests/stRandom2/randomStatetest393Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest393Filler.json"], + ["state_tests/stRandom2/randomStatetest393Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest393( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest393.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,47 @@ def test_random_statetest393( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff20b39838f628b96846cff0455 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff20b39838f628b96846cff0455" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x64114B073F76ABEBB752B7A08BBD288BCE55A63B), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffff20b39838f628b96846cff0455" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x64114b073f76abebb752b7a08bbd288bce55a63b"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffff20b39838f628b96846cff04" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff20b39838f628b96846cff04" # noqa: E501 ), gas_limit=100000, - value=490453529, + value=0x1D3BBA19, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest395.py b/tests/ported_static/stRandom2/test_random_statetest395.py index effc58898d6..4fd03e91938 100644 --- a/tests/ported_static/stRandom2/test_random_statetest395.py +++ b/tests/ported_static/stRandom2/test_random_statetest395.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest395. Ported from: -tests/static/state_tests/stRandom2/randomStatetest395Filler.json +state_tests/stRandom2/randomStatetest395Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest395Filler.json"], + ["state_tests/stRandom2/randomStatetest395Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest395( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest395.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,60 @@ def test_random_statetest395( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PREVRANDAO - + Op.PUSH32[0x1] - + Op.COINBASE - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x823140710BF13990E4500136726D8B55, - ) + # Source: raw + # 0x447f0000000000000000000000000000000000000000000000000000000000000001417f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f823140710bf13990e4500136726d8b5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PREVRANDAO + + Op.PUSH32[0x1] + + Op.COINBASE + + Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x823140710BF13990E4500136726D8B55 ), nonce=0, - address=Address("0x4818acccc87480c8210bcf678df99d4b8bcafac8"), # noqa: E501 + address=Address(0x4818ACCCC87480C8210BCF678DF99D4B8BCAFAC8), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "447f0000000000000000000000000000000000000000000000000000000000000001417f" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000017f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000007f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000c3507f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff6f823140710bf13990e4500136726d8b" # noqa: E501 + to=target, + data=Bytes( + "447f0000000000000000000000000000000000000000000000000000000000000001417f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f823140710bf13990e4500136726d8b" # noqa: E501 ), gas_limit=100000, - value=1520198127, + value=0x5A9C61EF, ) post = { - contract: Account(storage={0: 0x823140710BF13990E4500136726D8B55}), + target: Account( + storage={0: 0x823140710BF13990E4500136726D8B55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest396.py b/tests/ported_static/stRandom2/test_random_statetest396.py index aeb263d171b..8774dd9deff 100644 --- a/tests/ported_static/stRandom2/test_random_statetest396.py +++ b/tests/ported_static/stRandom2/test_random_statetest396.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest396. Ported from: -tests/static/state_tests/stRandom2/randomStatetest396Filler.json +state_tests/stRandom2/randomStatetest396Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest396Filler.json"], + ["state_tests/stRandom2/randomStatetest396Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest396( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest396.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,139 +46,47 @@ def test_random_statetest396( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f0000000000000000000000007f0000000000000000000000007f0000000000000000000000007f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001719f197c5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000001719f197c5560005155" + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001719f197c5560005155" # noqa: E501 ), nonce=0, - address=Address("0x69a358c1f8b2f5139037e6e391189e45334cccc4"), # noqa: E501 + address=Address(0x69A358C1F8B2F5139037E6E391189E45334CCCC4), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000001719f197c" - ), - gas_limit=100000, - value=1285869955, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest396Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest396_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000001719f197c5560005155" - ), - nonce=0, - address=Address("0x69a358c1f8b2f5139037e6e391189e45334cccc4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000001719f197c" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001719f197c" # noqa: E501 ), gas_limit=100000, - value=1285869955, + value=0x4CA4D183, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest397.py b/tests/ported_static/stRandom2/test_random_statetest397.py index c561d7cf5dd..e25d83e12f5 100644 --- a/tests/ported_static/stRandom2/test_random_statetest397.py +++ b/tests/ported_static/stRandom2/test_random_statetest397.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest397. Ported from: -tests/static/state_tests/stRandom2/randomStatetest397Filler.json +state_tests/stRandom2/randomStatetest397Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest397Filler.json"], + ["state_tests/stRandom2/randomStatetest397Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest397( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest397.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,41 +46,44 @@ def test_random_statetest397( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x413443f3404242433389ff723810 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("413443f3404242433389ff723810"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x42c6df39abd3d7de1c64c50b0d8bb0e6085fb6af"), # noqa: E501 + address=Address(0x42C6DF39ABD3D7DE1C64C50B0D8BB0E6085FB6AF), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest398.py b/tests/ported_static/stRandom2/test_random_statetest398.py index 172f9a5f513..af48eaad6d2 100644 --- a/tests/ported_static/stRandom2/test_random_statetest398.py +++ b/tests/ported_static/stRandom2/test_random_statetest398.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest398. Ported from: -tests/static/state_tests/stRandom2/randomStatetest398Filler.json +state_tests/stRandom2/randomStatetest398Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest398Filler.json"], + ["state_tests/stRandom2/randomStatetest398Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest398( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest398.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,57 @@ def test_random_statetest398( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x3781413B695A69079D7F510582920755, - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f0000000000000000000000006f3781413b695a69079d7f51058292075560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x3781413B695A69079D7F510582920755 ), nonce=0, - address=Address("0x08e74992e0868e4133c1164234a6064d6f708a5b"), # noqa: E501 + address=Address(0x08E74992E0868E4133C1164234A6064D6F708A5B), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e796f3781413b695a69079d7f5105829207" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f3781413b695a69079d7f5105829207" # noqa: E501 ), gas_limit=100000, - value=110765790, + value=0x69A26DE, ) post = { - contract: Account(storage={0: 0x3781413B695A69079D7F510582920755}), + target: Account( + storage={0: 0x3781413B695A69079D7F510582920755}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest399.py b/tests/ported_static/stRandom2/test_random_statetest399.py index db187debd9f..1c74d7d6a15 100644 --- a/tests/ported_static/stRandom2/test_random_statetest399.py +++ b/tests/ported_static/stRandom2/test_random_statetest399.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest399. Ported from: -tests/static/state_tests/stRandom2/randomStatetest399Filler.json +state_tests/stRandom2/randomStatetest399Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest399Filler.json"], + ["state_tests/stRandom2/randomStatetest399Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest399( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest399.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,64 @@ def test_random_statetest399( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4544437f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f98324016076d428a9898129b16849a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.GASLIMIT + + Op.PREVRANDAO + + Op.NUMBER + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x98324016076D428A9898129B16849A55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xADC7243877FC6DD362B874238D7E02ABD01D15C7), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.GASLIMIT - + Op.PREVRANDAO - + Op.NUMBER - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x98324016076D428A9898129B16849A55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xadc7243877fc6dd362b874238d7e02abd01d15c7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe4544437f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff6f98324016076d428a989812" # noqa: E501 - "9b16849a" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4544437f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f98324016076d428a9898129b16849a" # noqa: E501 ), gas_limit=100000, - value=546942842, + value=0x2099AF7A, ) post = { - contract: Account(storage={0: 0x98324016076D428A9898129B16849A55}), + target: Account( + storage={0: 0x98324016076D428A9898129B16849A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest401.py b/tests/ported_static/stRandom2/test_random_statetest401.py index 65430c81b63..18fadca3bee 100644 --- a/tests/ported_static/stRandom2/test_random_statetest401.py +++ b/tests/ported_static/stRandom2/test_random_statetest401.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest401. Ported from: -tests/static/state_tests/stRandom2/randomStatetest401Filler.json +state_tests/stRandom2/randomStatetest401Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest401Filler.json"], + ["state_tests/stRandom2/randomStatetest401Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest401( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest401.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,55 @@ def test_random_statetest401( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c35044427f000000000000000000000000ff60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PREVRANDAO + + Op.TIMESTAMP + + Op.SELFDESTRUCT( + address=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x88643BC22681E376675775EAAA381D0BA45054DE), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PREVRANDAO - + Op.TIMESTAMP - + Op.SELFDESTRUCT( - address=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x88643bc22681e376675775eaaa381d0ba45054de"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c35044427f000000000000000000000000" # noqa: E501 - "4f3f701464972e74606d6ea82d4d3080599a0e79ff" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c35044427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79ff" # noqa: E501 ), gas_limit=100000, - value=588192910, + value=0x230F1C8E, ) - post: dict = {} + post = { + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest402.py b/tests/ported_static/stRandom2/test_random_statetest402.py index 3968dfc495b..d7ef9fa2d0a 100644 --- a/tests/ported_static/stRandom2/test_random_statetest402.py +++ b/tests/ported_static/stRandom2/test_random_statetest402.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest402. Ported from: -tests/static/state_tests/stRandom2/randomStatetest402Filler.json +state_tests/stRandom2/randomStatetest402Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest402Filler.json"], + ["state_tests/stRandom2/randomStatetest402Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest402( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest402.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,60 @@ def test_random_statetest402( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000006f62138c87028162ea32a2db7e3010045560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.NUMBER + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x62138C87028162EA32A2DB7E30100455 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x983D676185618AC712EA4086A01C7A6A466B35B2), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.NUMBER - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x62138C87028162EA32A2DB7E30100455, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x983d676185618ac712ea4086a01c7a6a466b35b2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff437f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000100000000" # noqa: E501 - "000000000000000000000000000000006f62138c87028162ea32a2db7e301004" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000006f62138c87028162ea32a2db7e301004" # noqa: E501 ), gas_limit=100000, - value=938198850, + value=0x37EBC742, ) post = { - contract: Account(storage={0: 0x62138C87028162EA32A2DB7E30100455}), + target: Account( + storage={0: 0x62138C87028162EA32A2DB7E30100455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest404.py b/tests/ported_static/stRandom2/test_random_statetest404.py index 551b6785b3b..1b8ee9042f3 100644 --- a/tests/ported_static/stRandom2/test_random_statetest404.py +++ b/tests/ported_static/stRandom2/test_random_statetest404.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest404. Ported from: -tests/static/state_tests/stRandom2/randomStatetest404Filler.json +state_tests/stRandom2/randomStatetest404Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest404Filler.json"], + ["state_tests/stRandom2/randomStatetest404Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest404( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest404.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,131 +46,47 @@ def test_random_statetest404( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6a7f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff906606425655 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6a7f00" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000907f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000017fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff906606425655" + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6a7f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff906606425655" # noqa: E501 ), nonce=0, - address=Address("0xfd0cf74e622c5c2b33c88cdf3a3e12ff25d0e090"), # noqa: E501 + address=Address(0xFD0CF74E622C5C2B33C88CDF3A3E12FF25D0E090), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6a7f00" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000907f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000017fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff9066064256" - ), - gas_limit=100000, - value=108687806, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest404Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest404_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6a7f00" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000907f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000017fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff906606425655" - ), - nonce=0, - address=Address("0xfd0cf74e622c5c2b33c88cdf3a3e12ff25d0e090"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6a7f00" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000907f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000017fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff9066064256" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6a7f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9066064256" # noqa: E501 ), gas_limit=100000, - value=108687806, + value=0x67A71BE, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest405.py b/tests/ported_static/stRandom2/test_random_statetest405.py index fdc9aee8453..bc457846146 100644 --- a/tests/ported_static/stRandom2/test_random_statetest405.py +++ b/tests/ported_static/stRandom2/test_random_statetest405.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest405. Ported from: -tests/static/state_tests/stRandom2/randomStatetest405Filler.json +state_tests/stRandom2/randomStatetest405Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest405Filler.json"], + ["state_tests/stRandom2/randomStatetest405Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest405( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest405.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,71 +46,64 @@ def test_random_statetest405( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44457f0000000000000000000000010000000000000000000000000000000000000000037ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f318d0707977199361171756f6d458e5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PREVRANDAO + + Op.SUB( + Op.PUSH32[0x10000000000000000000000000000000000000000], Op.GASLIMIT + ) + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x318D0707977199361171756F6D458E55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7C7F33C2E8538464D27219E4A7581A2667BC7242), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PREVRANDAO - + Op.SUB( - Op.PUSH32[0x10000000000000000000000000000000000000000], - Op.GASLIMIT, - ) - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x318D0707977199361171756F6D458E55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7c7f33c2e8538464d27219e4a7581a2667bc7242"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44457f000000" # noqa: E501 - "0000000000000000010000000000000000000000000000000000000000037fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff6f318d070797719936117175" # noqa: E501 - "6f6d458e" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44457f0000000000000000000000010000000000000000000000000000000000000000037ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f318d0707977199361171756f6d458e" # noqa: E501 ), gas_limit=100000, - value=274296751, + value=0x10596FAF, ) post = { - contract: Account(storage={0: 0x318D0707977199361171756F6D458E55}), + target: Account( + storage={0: 0x318D0707977199361171756F6D458E55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest406.py b/tests/ported_static/stRandom2/test_random_statetest406.py index cc2c5e36adf..371ea18b201 100644 --- a/tests/ported_static/stRandom2/test_random_statetest406.py +++ b/tests/ported_static/stRandom2/test_random_statetest406.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest406. Ported from: -tests/static/state_tests/stRandom2/randomStatetest406Filler.json +state_tests/stRandom2/randomStatetest406Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest406Filler.json"], + ["state_tests/stRandom2/randomStatetest406Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest406( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest406.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,70 +47,69 @@ def test_random_statetest406( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=0xB58B8E99F33C647165337E389F7B9C909CBA, - value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b58b8e99f33c647165337e389f7b9c909cba5560005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=0xB58B8E99F33C647165337E389F7B9C909CBA, + value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000945304eb96065b2a98b57a48a06ae28d285a71b57fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7e7f00000000000000000000000094" # noqa: E501 - "5304eb96065b2a98b57a48a06ae28d285a71b58b8e99f33c647165337e389f7b9c909cba" # noqa: E501 + to=contract_0, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b58b8e99f33c647165337e389f7b9c909cba" # noqa: E501 ), gas_limit=100000, - value=1160230573, + value=0x4527B6AD, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 0xB58B8E99F33C647165337E389F7B9C909CBA: 0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 }, + nonce=0, + ), + coinbase: Account( + storage={}, + code=bytes.fromhex("6000355415600957005b60203560003555"), + nonce=0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest407.py b/tests/ported_static/stRandom2/test_random_statetest407.py index 43595979b0b..05e73413576 100644 --- a/tests/ported_static/stRandom2/test_random_statetest407.py +++ b/tests/ported_static/stRandom2/test_random_statetest407.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest407. Ported from: -tests/static/state_tests/stRandom2/randomStatetest407Filler.json +state_tests/stRandom2/randomStatetest407Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest407Filler.json"], + ["state_tests/stRandom2/randomStatetest407Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest407( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest407.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,60 @@ def test_random_statetest407( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff437ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350437f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000006f6d71656f054471181163037902615b5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.NUMBER + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xC350] + + Op.NUMBER + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x6D71656F054471181163037902615B55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x819EE19601AD27EDAEEEAD744E0BBF165FDFB9F1), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.NUMBER - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.NUMBER - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x6D71656F054471181163037902615B55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x819ee19601ad27edaeeead744e0bbf165fdfb9f1"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff437fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c350437f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "4f3f701464972e74606d6ea82d4d3080599a0e796f6d71656f054471181163037902615b" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff437ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350437f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f6d71656f054471181163037902615b" # noqa: E501 ), gas_limit=100000, - value=825575416, + value=0x313547F8, ) post = { - contract: Account(storage={0: 0x6D71656F054471181163037902615B55}), + target: Account( + storage={0: 0x6D71656F054471181163037902615B55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest408.py b/tests/ported_static/stRandom2/test_random_statetest408.py index a069296118f..3fa49b5137e 100644 --- a/tests/ported_static/stRandom2/test_random_statetest408.py +++ b/tests/ported_static/stRandom2/test_random_statetest408.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest408. Ported from: -tests/static/state_tests/stRandom2/randomStatetest408Filler.json +state_tests/stRandom2/randomStatetest408Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest408Filler.json"], + ["state_tests/stRandom2/randomStatetest408Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest408( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest408.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,64 @@ def test_random_statetest408( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PREVRANDAO - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x80656E8E6478946A323482135A8BF755, - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe447f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f80656e8e6478946a323482135a8bf75560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PREVRANDAO + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x80656E8E6478946A323482135A8BF755 ), nonce=0, - address=Address("0x2672c88394a86f962d51444ff8b8047f130d4df5"), # noqa: E501 + address=Address(0x2672C88394A86F962D51444FF8B8047F130D4DF5), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe447f00" # noqa: E501 - "00000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6f80656e8e6478946a323482135a8bf7" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe447f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f80656e8e6478946a323482135a8bf7" # noqa: E501 ), gas_limit=100000, - value=1672298879, + value=0x63AD417F, ) post = { - contract: Account(storage={0: 0x80656E8E6478946A323482135A8BF755}), + target: Account( + storage={0: 0x80656E8E6478946A323482135A8BF755}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest409.py b/tests/ported_static/stRandom2/test_random_statetest409.py index 244ebefa27c..05b23e80351 100644 --- a/tests/ported_static/stRandom2/test_random_statetest409.py +++ b/tests/ported_static/stRandom2/test_random_statetest409.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest409. Ported from: -tests/static/state_tests/stRandom2/randomStatetest409Filler.json +state_tests/stRandom2/randomStatetest409Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest409Filler.json"], + ["state_tests/stRandom2/randomStatetest409Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest409( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest409.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,76 +46,73 @@ def test_random_statetest409( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), + # Source: raw + # 0x5b7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000001000000000000000000000000000000000000000009ff511287868833063aa3579d8e585560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SELFDESTRUCT( + address=Op.MULMOD( + Op.PUSH32[0x10000000000000000000000000000000000000000], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 ) - ), - balance=46, + ) + + Op.MLOAD + + Op.LOG3( + offset=Op.GASPRICE, + size=Op.MOD(Op.CALLER, Op.DUP9), + topic_1=Op.DUP7, + topic_2=Op.DUP8, + topic_3=Op.SLT, + ) + + Op.JUMPI + + Op.SWAP14 + + Op.SSTORE(key=Op.PC, value=Op.DUP15) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x68076CF2C7430BB5E7CBAA157DEBE1C7CC9B30AE), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SELFDESTRUCT( - address=Op.MULMOD( - Op.PUSH32[0x10000000000000000000000000000000000000000], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.MLOAD - + Op.LOG3( - offset=Op.GASPRICE, - size=Op.MOD(Op.CALLER, Op.DUP9), - topic_1=Op.DUP7, - topic_2=Op.DUP8, - topic_3=Op.SLT, - ) - + Op.JUMPI - + Op.SWAP14 - + Op.SSTORE(key=Op.PC, value=Op.DUP15) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x68076cf2c7430bb5e7cbaa157debe1c7cc9b30ae"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "5b7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "000000000000000000000100000000000000000000000000000000000000007f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000" # noqa: E501 - "0000000000000000000000000000000009ff511287868833063aa3579d8e58" + to=target, + data=Bytes( + "5b7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000001000000000000000000000000000000000000000009ff511287868833063aa3579d8e58" # noqa: E501 ), gas_limit=100000, - value=1090686083, + value=0x41028C83, ) - post: dict = {} + post = { + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + Address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF): Account( + storage={}, code=b"", balance=0x41028C83, nonce=0 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest410.py b/tests/ported_static/stRandom2/test_random_statetest410.py index 9eb6eea8371..3c371209e91 100644 --- a/tests/ported_static/stRandom2/test_random_statetest410.py +++ b/tests/ported_static/stRandom2/test_random_statetest410.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest410. Ported from: -tests/static/state_tests/stRandom2/randomStatetest410Filler.json +state_tests/stRandom2/randomStatetest410Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest410Filler.json"], + ["state_tests/stRandom2/randomStatetest410Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest410( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest410.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,57 @@ def test_random_statetest410( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000417f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000045086201771880f35560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.COINBASE + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xC350] + + Op.ADDMOD(Op.GASLIMIT, Op.PUSH32[0x0], Op.PUSH32[0x0]) + + Op.RETURN(offset=Op.DUP1, size=0x17718) + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x99E6F87CBA9C1737F49965828C1BADEC51A91DFD), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.COINBASE - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.ADDMOD(Op.GASLIMIT, Op.PUSH32[0x0], Op.PUSH32[0x0]) - + Op.RETURN(offset=Op.DUP1, size=0x17718) - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x99e6f87cba9c1737f49965828c1badec51a91dfd"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000007fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000045086201771880f3" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000045086201771880f3" # noqa: E501 ), gas_limit=200000, - value=1969973721, + value=0x756B69D9, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest411.py b/tests/ported_static/stRandom2/test_random_statetest411.py index 04783a43a8b..3780298d4e8 100644 --- a/tests/ported_static/stRandom2/test_random_statetest411.py +++ b/tests/ported_static/stRandom2/test_random_statetest411.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest411. Ported from: -tests/static/state_tests/stRandom2/randomStatetest411Filler.json +state_tests/stRandom2/randomStatetest411Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest411Filler.json"], + ["state_tests/stRandom2/randomStatetest411Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest411( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest411.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,62 @@ def test_random_statetest411( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x44A17892738B6895619D7A93507D649D, - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000006f44a17892738b6895619d7a93507d649d60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x44A17892738B6895619D7A93507D649D ), nonce=0, - address=Address("0x4bbc77bf39c9954db74937aaf8f8d70507dcb00a"), # noqa: E501 + address=Address(0x4BBC77BF39C9954DB74937AAF8F8D70507DCB00A), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000006f44a17892738b6895619d7a93507d649d" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000006f44a17892738b6895619d7a93507d649d" # noqa: E501 ), gas_limit=100000, - value=2119897718, + value=0x7E5B1276, ) post = { - contract: Account(storage={0: 0x44A17892738B6895619D7A93507D649D}), + target: Account( + storage={0: 0x44A17892738B6895619D7A93507D649D}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest412.py b/tests/ported_static/stRandom2/test_random_statetest412.py index 2821f69dafc..f8fceb90e89 100644 --- a/tests/ported_static/stRandom2/test_random_statetest412.py +++ b/tests/ported_static/stRandom2/test_random_statetest412.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest412. Ported from: -tests/static/state_tests/stRandom2/randomStatetest412Filler.json +state_tests/stRandom2/randomStatetest412Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest412Filler.json"], + ["state_tests/stRandom2/randomStatetest412Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest412( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest412.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,62 @@ def test_random_statetest412( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xA46EF06A5A858B9742198A37E1153C55, - ) + # Source: raw + # 0x7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6fa46ef06a5a858b9742198a37e1153c5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.PUSH32[0x1] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xA46EF06A5A858B9742198A37E1153C55 ), nonce=0, - address=Address("0x1c3b1b9bcb79a7bcd1ca94d88d06e4f798a35538"), # noqa: E501 + address=Address(0x1C3B1B9BCB79A7BCD1CA94D88D06E4F798A35538), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff6fa46ef06a5a858b9742198a37e1153c" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6fa46ef06a5a858b9742198a37e1153c" # noqa: E501 ), gas_limit=100000, - value=123532973, + value=0x75CF6AD, ) post = { - contract: Account(storage={0: 0xA46EF06A5A858B9742198A37E1153C55}), + target: Account( + storage={0: 0xA46EF06A5A858B9742198A37E1153C55}, + nonce=0, + ), + coinbase: Account( + storage={}, + code=bytes.fromhex("6000355415600957005b60203560003555"), + nonce=0, + ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest413.py b/tests/ported_static/stRandom2/test_random_statetest413.py index 3cee9ceb347..6863b2abe4e 100644 --- a/tests/ported_static/stRandom2/test_random_statetest413.py +++ b/tests/ported_static/stRandom2/test_random_statetest413.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest413. Ported from: -tests/static/state_tests/stRandom2/randomStatetest413Filler.json +state_tests/stRandom2/randomStatetest413Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest413Filler.json"], + ["state_tests/stRandom2/randomStatetest413Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest413( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest413.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,60 @@ def test_random_statetest413( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000010000000000000000000000000000000000000000817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe037f00000000000000000000000000000000000000000000000000000000000000016f086e2055149345ad1a018b063708145560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SUB( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + Op.DUP2, + ) + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x86E2055149345AD1A018B0637081455 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD12E4B0D8A18BC4697A51C4FBF03383837AD3398), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SUB( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.DUP2, - ) - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x86E2055149345AD1A018B0637081455, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd12e4b0d8a18bc4697a51c4fbf03383837ad3398"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "000000000000010000000000000000000000000000000000000000817fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe037f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000016f086e2055149345ad1a018b06" # noqa: E501 - "370814" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000010000000000000000000000000000000000000000817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe037f00000000000000000000000000000000000000000000000000000000000000016f086e2055149345ad1a018b06370814" # noqa: E501 ), gas_limit=100000, - value=1206033425, + value=0x47E29C11, ) post = { - contract: Account(storage={0: 0x86E2055149345AD1A018B0637081455}), + target: Account( + storage={0: 0x86E2055149345AD1A018B0637081455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest414.py b/tests/ported_static/stRandom2/test_random_statetest414.py index 50dadbdf175..4eb0afe1afe 100644 --- a/tests/ported_static/stRandom2/test_random_statetest414.py +++ b/tests/ported_static/stRandom2/test_random_statetest414.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest414. Ported from: -tests/static/state_tests/stRandom2/randomStatetest414Filler.json +state_tests/stRandom2/randomStatetest414Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest414Filler.json"], + ["state_tests/stRandom2/randomStatetest414Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest414( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest414.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,201 +46,58 @@ def test_random_statetest414( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH3[0x51437F] - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.ADD - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.NUMBER - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.EQ( - Op.CALL, - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6251437f0000000000000000000000010000000000000000000000000000000000000000437f000000000000000000000000fffffffffffffffffffffffffffffffffffffffff11460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH3[0x51437F] + + Op.STOP * 11 + + Op.ADD + + Op.STOP * 20 + + Op.NUMBER + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.EQ( + Op.CALL, Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + ), ), nonce=0, - address=Address("0x16000b6b36a20d3093a8b71a9fd8292c8a641002"), # noqa: E501 + address=Address(0x16000B6B36A20D3093A8B71A9FD8292C8A641002), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff625143" # noqa: E501 - "7f0000000000000000000000010000000000000000000000000000000000000000437f00" # noqa: E501 - "0000000000000000000000fffffffffffffffffffffffffffffffffffffffff114" # noqa: E501 - ), - gas_limit=100000, - value=1088932905, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest414Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest414_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH3[0x51437F] - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.ADD - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.STOP - + Op.NUMBER - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.EQ( - Op.CALL, - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - ) - ), - nonce=0, - address=Address("0x16000b6b36a20d3093a8b71a9fd8292c8a641002"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff625143" # noqa: E501 - "7f0000000000000000000000010000000000000000000000000000000000000000437f00" # noqa: E501 - "0000000000000000000000fffffffffffffffffffffffffffffffffffffffff114" # noqa: E501 + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6251437f0000000000000000000000010000000000000000000000000000000000000000437f000000000000000000000000fffffffffffffffffffffffffffffffffffffffff114" # noqa: E501 ), gas_limit=100000, - value=1088932905, + value=0x40E7CC29, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest415.py b/tests/ported_static/stRandom2/test_random_statetest415.py index b6fba5cfd27..6254bf00454 100644 --- a/tests/ported_static/stRandom2/test_random_statetest415.py +++ b/tests/ported_static/stRandom2/test_random_statetest415.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest415. Ported from: -tests/static/state_tests/stRandom2/randomStatetest415Filler.json +state_tests/stRandom2/randomStatetest415Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest415Filler.json"], + ["state_tests/stRandom2/randomStatetest415Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest415( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest415.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,52 +46,47 @@ def test_random_statetest415( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000000000000000000000000000000000000000000142427f000000000000000000000000357f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff62010a8c8794a17e8ea4f260005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000000000000000000000000000000000000000000142427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79357f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff62010a8c8794a17e8ea4f260005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xCFEB1138E487C3084750A899713B20307D5B4217), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000000142427f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79357f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff62010a8c8794a17e" # noqa: E501 - "8ea4f260005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xcfeb1138e487c3084750a899713b20307d5b4217"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000000142427f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79357f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff62010a8c8794a17e" # noqa: E501 - "8ea4f2" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000000000000000000000000000000000000000000142427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79357f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff62010a8c8794a17e8ea4f2" # noqa: E501 ), gas_limit=600000, - value=1235296517, + value=0x49A12105, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest416.py b/tests/ported_static/stRandom2/test_random_statetest416.py index 43654504c2e..1d7be8d0b5e 100644 --- a/tests/ported_static/stRandom2/test_random_statetest416.py +++ b/tests/ported_static/stRandom2/test_random_statetest416.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest416. Ported from: -tests/static/state_tests/stRandom2/randomStatetest416Filler.json +state_tests/stRandom2/randomStatetest416Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest416Filler.json"], + ["state_tests/stRandom2/randomStatetest416Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest416( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest416.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,57 @@ def test_random_statetest416( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427f0000000000000000000000004355 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.TIMESTAMP + + Op.SSTORE( + key=Op.NUMBER, + value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD57DEFD369A62E5099D173D42772D3345138BEDE), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.TIMESTAMP - + Op.SSTORE( - key=Op.NUMBER, - value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd57defd369a62e5099d173d42772d3345138bede"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff427f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e7943" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7943" # noqa: E501 ), gas_limit=100000, - value=1331831824, + value=0x4F622410, ) post = { - contract: Account( + target: Account( storage={1: 0x4F3F701464972E74606D6EA82D4D3080599A0E79}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest417.py b/tests/ported_static/stRandom2/test_random_statetest417.py index 43cbbe08ab9..bf6db38c013 100644 --- a/tests/ported_static/stRandom2/test_random_statetest417.py +++ b/tests/ported_static/stRandom2/test_random_statetest417.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest417. Ported from: -tests/static/state_tests/stRandom2/randomStatetest417Filler.json +state_tests/stRandom2/randomStatetest417Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest417Filler.json"], + ["state_tests/stRandom2/randomStatetest417Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest417( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest417.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,41 +46,44 @@ def test_random_statetest417( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x4343424344444242f26d69 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("4343424344444242f26d69"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x632ad35d6e1a733fbbcf49749fd63d526ebdaea1"), # noqa: E501 + address=Address(0x632AD35D6E1A733FBBCF49749FD63D526EBDAEA1), # noqa: E501 ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) + ), + balance=46, + nonce=0, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest418.py b/tests/ported_static/stRandom2/test_random_statetest418.py index 02e0da3922c..c950e6c1062 100644 --- a/tests/ported_static/stRandom2/test_random_statetest418.py +++ b/tests/ported_static/stRandom2/test_random_statetest418.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest418. Ported from: -tests/static/state_tests/stRandom2/randomStatetest418Filler.json +state_tests/stRandom2/randomStatetest418Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest418Filler.json"], + ["state_tests/stRandom2/randomStatetest418Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest418( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest418.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,62 +47,58 @@ def test_random_statetest418( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f0000000000000000000000000000000000000000000000000000000000000000437f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000000417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff12a36234970658a03160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.NUMBER + + Op.LOG3( + offset=Op.SLT( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.COINBASE, + ), + size=Op.PUSH32[0x0], + topic_1=Op.PUSH32[0xC350], + topic_2=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + topic_3=Op.PUSH32[0x1], + ) + + Op.LOG0(offset=Op.PC, size=0x349706) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.BALANCE), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB3CEB9E1CE94D2E429039525E57315F4BD255F06), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.NUMBER - + Op.LOG3( - offset=Op.SLT( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.COINBASE, - ), - size=Op.PUSH32[0x0], - topic_1=Op.PUSH32[0xC350], - topic_2=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - topic_3=Op.PUSH32[0x1], - ) - + Op.LOG0(offset=Op.PC, size=0x349706) - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.BALANCE) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb3ceb9e1ce94d2e429039525e57315f4bd255f06"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000000437f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000417fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff12a36234970658a031" + to=target, + data=Bytes( + "7f0000000000000000000000000000000000000000000000000000000000000000437f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000000417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff12a36234970658a031" # noqa: E501 ), gas_limit=392462029, - value=1705540168, + value=0x65A87A48, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest419.py b/tests/ported_static/stRandom2/test_random_statetest419.py index 9500610c322..e67f0f39a59 100644 --- a/tests/ported_static/stRandom2/test_random_statetest419.py +++ b/tests/ported_static/stRandom2/test_random_statetest419.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest419. Ported from: -tests/static/state_tests/stRandom2/randomStatetest419Filler.json +state_tests/stRandom2/randomStatetest419Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest419Filler.json"], + ["state_tests/stRandom2/randomStatetest419Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest419( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest419.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,66 @@ def test_random_statetest419( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x437ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f73095b7ee211595a6b80a311900a785560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.COINBASE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x73095B7EE211595A6B80A311900A7855 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE229840EE049FAFB7411624DA7941DB4ED465023), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.COINBASE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x73095B7EE211595A6B80A311900A7855, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe229840ee049fafb7411624da7941db4ed465023"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "437ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000001417fffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffe6f73095b7ee211595a6b80a311900a78" # noqa: E501 + to=target, + data=Bytes( + "437ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f73095b7ee211595a6b80a311900a78" # noqa: E501 ), gas_limit=100000, - value=1783425972, + value=0x6A4CEBB4, ) post = { - contract: Account(storage={0: 0x73095B7EE211595A6B80A311900A7855}), + target: Account( + storage={0: 0x73095B7EE211595A6B80A311900A7855}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest420.py b/tests/ported_static/stRandom2/test_random_statetest420.py index cd4809ada75..7a894d11c0d 100644 --- a/tests/ported_static/stRandom2/test_random_statetest420.py +++ b/tests/ported_static/stRandom2/test_random_statetest420.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest420. Ported from: -tests/static/state_tests/stRandom2/randomStatetest420Filler.json +state_tests/stRandom2/randomStatetest420Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest420Filler.json"], + ["state_tests/stRandom2/randomStatetest420Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest420( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest420.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,133 +46,47 @@ def test_random_statetest420( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000003a7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001817d7b8956970660129f5015fe0a355560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e793a7f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000001817d7b8956970660129f5015fe0a355560" # noqa: E501 - "005155" + "7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e793a7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001817d7b8956970660129f5015fe0a355560005155" # noqa: E501 ), nonce=0, - address=Address("0x0f48fa271d166c58e40759be208471b6bc233332"), # noqa: E501 + address=Address(0x0F48FA271D166C58E40759BE208471B6BC233332), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e793a7f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000001817d7b8956970660129f5015fe0a35" # noqa: E501 - ), - gas_limit=100000, - value=1657754250, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest420Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest420_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e793a7f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000001817d7b8956970660129f5015fe0a355560" # noqa: E501 - "005155" - ), - nonce=0, - address=Address("0x0f48fa271d166c58e40759be208471b6bc233332"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e793a7f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000001817d7b8956970660129f5015fe0a35" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e793a7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001817d7b8956970660129f5015fe0a35" # noqa: E501 ), gas_limit=100000, - value=1657754250, + value=0x62CF528A, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest421.py b/tests/ported_static/stRandom2/test_random_statetest421.py index b6ce1863142..8f5ee065b06 100644 --- a/tests/ported_static/stRandom2/test_random_statetest421.py +++ b/tests/ported_static/stRandom2/test_random_statetest421.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest421. Ported from: -tests/static/state_tests/stRandom2/randomStatetest421Filler.json +state_tests/stRandom2/randomStatetest421Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest421Filler.json"], + ["state_tests/stRandom2/randomStatetest421Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest421( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest421.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,58 @@ def test_random_statetest421( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x437f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f38454051968ff184a47d50091231971760005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x38454051968FF184A47D500912319717 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x68FD2BFC7B98810F5364B4ED51D4C701815D7580), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x38454051968FF184A47D500912319717, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x68fd2bfc7b98810f5364b4ed51d4c701815d7580"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "437f00000000000000000000000000000000000000000000000000000000000000007fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f38454051968ff1" # noqa: E501 - "84a47d500912319717" + to=target, + data=Bytes( + "437f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f38454051968ff184a47d500912319717" # noqa: E501 ), gas_limit=100000, - value=1389450591, + value=0x52D1555F, ) post = { - contract: Account(storage={0: 0x38454051968FF184A47D500912319717}), + target: Account( + storage={0: 0x38454051968FF184A47D500912319717}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest422.py b/tests/ported_static/stRandom2/test_random_statetest422.py index 0de5cae2731..95b2dee5a2a 100644 --- a/tests/ported_static/stRandom2/test_random_statetest422.py +++ b/tests/ported_static/stRandom2/test_random_statetest422.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest422. Ported from: -tests/static/state_tests/stRandom2/randomStatetest422Filler.json +state_tests/stRandom2/randomStatetest422Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest422Filler.json"], + ["state_tests/stRandom2/randomStatetest422Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest422( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest422.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,55 @@ def test_random_statetest422( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.MSTORE( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - value=Op.PUSH32[0x10000000000000000000000000000000000000000], - ) - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - ), + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe527f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.MSTORE( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + value=Op.PUSH32[0x10000000000000000000000000000000000000000], + ) + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], nonce=0, - address=Address("0x3d1b9833beb5e086aacd5155322683351c26af63"), # noqa: E501 + address=Address(0x3D1B9833BEB5E086AACD5155322683351C26AF63), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe527f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f7014" # noqa: E501 - "64972e74606d6ea82d4d3080599a0e79" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe527f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79" # noqa: E501 ), gas_limit=100000, - value=1285310456, + value=0x4C9C47F8, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest424.py b/tests/ported_static/stRandom2/test_random_statetest424.py index 704d6c19882..c6a26ac7bfa 100644 --- a/tests/ported_static/stRandom2/test_random_statetest424.py +++ b/tests/ported_static/stRandom2/test_random_statetest424.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest424. Ported from: -tests/static/state_tests/stRandom2/randomStatetest424Filler.json +state_tests/stRandom2/randomStatetest424Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest424Filler.json"], + ["state_tests/stRandom2/randomStatetest424Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest424( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest424.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,60 @@ def test_random_statetest424( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000437f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000000436f18116552626186825096665471140a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.NUMBER + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.NUMBER + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x18116552626186825096665471140A55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xACDC215BC90EEAC81BC6CB817C78E5A65A8ABCCE), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.NUMBER - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.NUMBER - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x18116552626186825096665471140A55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xacdc215bc90eeac81bc6cb817c78e5a65a8abcce"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000007f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000436f18116552626186825096665471140a" # noqa: E501 + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000000436f18116552626186825096665471140a" # noqa: E501 ), gas_limit=100000, - value=1271738191, + value=0x4BCD2F4F, ) post = { - contract: Account(storage={0: 0x18116552626186825096665471140A55}), + target: Account( + storage={0: 0x18116552626186825096665471140A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest425.py b/tests/ported_static/stRandom2/test_random_statetest425.py index abdeeb01d32..157d9a55f87 100644 --- a/tests/ported_static/stRandom2/test_random_statetest425.py +++ b/tests/ported_static/stRandom2/test_random_statetest425.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest425. Ported from: -tests/static/state_tests/stRandom2/randomStatetest425Filler.json +state_tests/stRandom2/randomStatetest425Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest425Filler.json"], + ["state_tests/stRandom2/randomStatetest425Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest425( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest425.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,55 @@ def test_random_statetest425( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000010000000000000000000000000000000000000000417f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f885707818b889a89975552f01284425560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.COINBASE + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x885707818B889A89975552F012844255 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xEB68F6349F807BCAC96D6C9571C26D8A47EEF786), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.COINBASE - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x885707818B889A89975552F012844255, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xeb68f6349f807bcac96d6c9571c26d8a47eef786"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000010000000000000000000000000000000000000000417f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff6f885707818b889a899755" # noqa: E501 - "52f0128442" + to=target, + data=Bytes( + "7f0000000000000000000000010000000000000000000000000000000000000000417f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f885707818b889a89975552f0128442" # noqa: E501 ), gas_limit=100000, - value=574036597, + value=0x22371A75, ) post = { - contract: Account(storage={0: 0x885707818B889A89975552F012844255}), + target: Account( + storage={0: 0x885707818B889A89975552F012844255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest426.py b/tests/ported_static/stRandom2/test_random_statetest426.py index d0084d0423d..281e3a85b80 100644 --- a/tests/ported_static/stRandom2/test_random_statetest426.py +++ b/tests/ported_static/stRandom2/test_random_statetest426.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest426. Ported from: -tests/static/state_tests/stRandom2/randomStatetest426Filler.json +state_tests/stRandom2/randomStatetest426Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest426Filler.json"], + ["state_tests/stRandom2/randomStatetest426Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest426( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest426.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,62 @@ def test_random_statetest426( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f456d1687795a95938b0139976099f05560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.COINBASE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x456D1687795A95938B0139976099F055 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC5D2C6E130510D2CF47922CFC2E517E235268490), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.COINBASE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x456D1687795A95938B0139976099F055, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc5d2c6e130510d2cf47922cfc2e517e235268490"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000006f456d1687795a95938b0139976099f0" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f456d1687795a95938b0139976099f0" # noqa: E501 ), gas_limit=100000, - value=1631269834, + value=0x613B33CA, ) post = { - contract: Account(storage={0: 0x456D1687795A95938B0139976099F055}), + target: Account( + storage={0: 0x456D1687795A95938B0139976099F055}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest428.py b/tests/ported_static/stRandom2/test_random_statetest428.py index 1f71a147175..67ebfcbee73 100644 --- a/tests/ported_static/stRandom2/test_random_statetest428.py +++ b/tests/ported_static/stRandom2/test_random_statetest428.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest428. Ported from: -tests/static/state_tests/stRandom2/randomStatetest428Filler.json +state_tests/stRandom2/randomStatetest428Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest428Filler.json"], + ["state_tests/stRandom2/randomStatetest428Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest428( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest428.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,105 +46,44 @@ def test_random_statetest428( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x4244417b4542404409523b200283 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("4244417b4542404409523b200283"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8c822b21830b172651bcd2c2fec3016423769afa"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("42"), - gas_limit=400000, - value=100000, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest428Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest428_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, + address=Address(0x8C822B21830B172651BCD2C2FEC3016423769AFA), # noqa: E501 ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex("4244417b4542404409523b200283"), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x8c822b21830b172651bcd2c2fec3016423769afa"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest429.py b/tests/ported_static/stRandom2/test_random_statetest429.py index c3cff627876..ff5f1a07a05 100644 --- a/tests/ported_static/stRandom2/test_random_statetest429.py +++ b/tests/ported_static/stRandom2/test_random_statetest429.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest429. Ported from: -tests/static/state_tests/stRandom2/randomStatetest429Filler.json +state_tests/stRandom2/randomStatetest429Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest429Filler.json"], + ["state_tests/stRandom2/randomStatetest429Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest429( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest429.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,62 @@ def test_random_statetest429( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.COINBASE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x98121F38878672908777347633136655, - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f98121f3887867290877734763313665560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.COINBASE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x98121F38878672908777347633136655 ), nonce=0, - address=Address("0x1f3c76fed529a06c56374004d1a3822d2d621062"), # noqa: E501 + address=Address(0x1F3C76FED529A06C56374004D1A3822D2D621062), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000100" # noqa: E501 - "000000000000000000000000000000000000007fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6f98121f388786729087773476331366" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f98121f388786729087773476331366" # noqa: E501 ), gas_limit=100000, - value=1412476335, + value=0x5430ADAF, ) post = { - contract: Account(storage={0: 0x98121F38878672908777347633136655}), + target: Account( + storage={0: 0x98121F38878672908777347633136655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest430.py b/tests/ported_static/stRandom2/test_random_statetest430.py index 3d05a4bf7a9..2410a6dd540 100644 --- a/tests/ported_static/stRandom2/test_random_statetest430.py +++ b/tests/ported_static/stRandom2/test_random_statetest430.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest430. Ported from: -tests/static/state_tests/stRandom2/randomStatetest430Filler.json +state_tests/stRandom2/randomStatetest430Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest430Filler.json"], + ["state_tests/stRandom2/randomStatetest430Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest430( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest430.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,62 @@ def test_random_statetest430( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.TIMESTAMP - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7D41A29934035B748E96A3135B696455, - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000006f7d41a29934035b748e96a3135b69645560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.TIMESTAMP + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7D41A29934035B748E96A3135B696455 ), nonce=0, - address=Address("0x477526f193cfa214f3d2bcbb76ac3612b1dad747"), # noqa: E501 + address=Address(0x477526F193CFA214F3D2BCBB76AC3612B1DAD747), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000006f7d41a29934035b748e96a3135b6964" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000006f7d41a29934035b748e96a3135b6964" # noqa: E501 ), gas_limit=100000, - value=1811277343, + value=0x6BF5E61F, ) post = { - contract: Account(storage={0: 0x7D41A29934035B748E96A3135B696455}), + target: Account( + storage={0: 0x7D41A29934035B748E96A3135B696455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest433.py b/tests/ported_static/stRandom2/test_random_statetest433.py index 6afa2fb5ccb..5e4c30b8cec 100644 --- a/tests/ported_static/stRandom2/test_random_statetest433.py +++ b/tests/ported_static/stRandom2/test_random_statetest433.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest433. Ported from: -tests/static/state_tests/stRandom2/randomStatetest433Filler.json +state_tests/stRandom2/randomStatetest433Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest433Filler.json"], + ["state_tests/stRandom2/randomStatetest433Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest433( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest433.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,47 @@ def test_random_statetest433( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350a3f305205bf156207259573055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350a3f305205bf156207259573055" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x76AD89792A42A92B922C9BE589A0C02B14E7E928), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350a3f305205bf156207259573055" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x76ad89792a42a92b922c9be589a0c02b14e7e928"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350a3f305205bf1562072595730" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350a3f305205bf1562072595730" # noqa: E501 ), gas_limit=500000, - value=630948579, + value=0x259B82E3, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest435.py b/tests/ported_static/stRandom2/test_random_statetest435.py index 94fe8c99aa0..4f0d16ebf94 100644 --- a/tests/ported_static/stRandom2/test_random_statetest435.py +++ b/tests/ported_static/stRandom2/test_random_statetest435.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest435. Ported from: -tests/static/state_tests/stRandom2/randomStatetest435Filler.json +state_tests/stRandom2/randomStatetest435Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest435Filler.json"], + ["state_tests/stRandom2/randomStatetest435Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest435( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest435.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,63 @@ def test_random_statetest435( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PREVRANDAO - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.SSTORE(key=0x33797F, value=Op.SMOD(0x3488, Op.TIMESTAMP)) - + Op.CODECOPY - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000000447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000042613488076233797f553960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.PREVRANDAO + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.SSTORE(key=0x33797F, value=Op.SMOD(0x3488, Op.TIMESTAMP)) + + Op.CODECOPY + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x225950bce6c496d611bafc023a38b5452b852955"), # noqa: E501 + address=Address(0x225950BCE6C496D611BAFC023A38B5452B852955), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000447fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000042613488076233797f5539" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000000447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000042613488076233797f5539" # noqa: E501 ), gas_limit=100000, - value=1256168470, + value=0x4ADF9C16, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 0x33797F: 448, }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest436.py b/tests/ported_static/stRandom2/test_random_statetest436.py index 40e3d531f21..fb3322e36fa 100644 --- a/tests/ported_static/stRandom2/test_random_statetest436.py +++ b/tests/ported_static/stRandom2/test_random_statetest436.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest436. Ported from: -tests/static/state_tests/stRandom2/randomStatetest436Filler.json +state_tests/stRandom2/randomStatetest436Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest436Filler.json"], + ["state_tests/stRandom2/randomStatetest436Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest436( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest436.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,61 @@ def test_random_statetest436( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATASIZE - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.COINBASE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.GASLIMIT - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x8108067A345B7A76A20A835A0A0B6C10, - ) + # Source: raw + # 0x367f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000456f8108067a345b7a76a20a835a0a0b6c1060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATASIZE + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.COINBASE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.GASLIMIT + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x8108067A345B7A76A20A835A0A0B6C10 ), nonce=0, - address=Address("0x39542c1f6d75aa2f9065be137d36d26e222e8814"), # noqa: E501 + address=Address(0x39542C1F6D75AA2F9065BE137D36D26E222E8814), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "367f00000000000000000000000000000000000000000000000000000000000000017fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff417fffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000" # noqa: E501 - "0000000000004f3f701464972e74606d6ea82d4d3080599a0e79456f8108067a345b7a76" # noqa: E501 - "a20a835a0a0b6c10" + to=target, + data=Bytes( + "367f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79456f8108067a345b7a76a20a835a0a0b6c10" # noqa: E501 ), gas_limit=100000, - value=1464160030, + value=0x57454F1E, ) post = { - contract: Account(storage={0: 0x8108067A345B7A76A20A835A0A0B6C10}), + target: Account( + storage={0: 0x8108067A345B7A76A20A835A0A0B6C10}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest437.py b/tests/ported_static/stRandom2/test_random_statetest437.py index 99b7122f2bb..7a115c277f7 100644 --- a/tests/ported_static/stRandom2/test_random_statetest437.py +++ b/tests/ported_static/stRandom2/test_random_statetest437.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest437. Ported from: -tests/static/state_tests/stRandom2/randomStatetest437Filler.json +state_tests/stRandom2/randomStatetest437Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest437Filler.json"], + ["state_tests/stRandom2/randomStatetest437Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest437( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest437.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,72 +47,66 @@ def test_random_statetest437( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.NUMBER - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.CODECOPY( - dest_offset=Op.SGT(Op.GASPRICE, Op.PUSH32[0x1]), - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=Op.PUSH32[0x1], - ) - + Op.ADDMOD - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe437f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000013a1339085560005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.NUMBER + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.CODECOPY( + dest_offset=Op.SGT(Op.GASPRICE, Op.PUSH32[0x1]), + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=Op.PUSH32[0x1], + ) + + Op.ADDMOD + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe437f00" # noqa: E501 - "0000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000100" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000013a133908" + to=contract_0, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe437f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000013a133908" # noqa: E501 ), gas_limit=100000, - value=1752414467, + value=0x6873B903, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 0x6BACFB1469F9A4D5674A85B75F951D72D7A58E4B: 1, }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest438.py b/tests/ported_static/stRandom2/test_random_statetest438.py index 9fbcf5d81ff..5b5f32520e4 100644 --- a/tests/ported_static/stRandom2/test_random_statetest438.py +++ b/tests/ported_static/stRandom2/test_random_statetest438.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest438. Ported from: -tests/static/state_tests/stRandom2/randomStatetest438Filler.json +state_tests/stRandom2/randomStatetest438Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest438Filler.json"], + ["state_tests/stRandom2/randomStatetest438Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest438( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest438.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,59 @@ def test_random_statetest438( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + value=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5494EB40EF20819E957FDD263677CED0C6F9CB72), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - value=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5494eb40ef20819e957fdd263677ced0c6f9cb72"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff097fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" # noqa: E501 ), gas_limit=100000, - value=1071528892, + value=0x3FDE3BBC, ) post = { - contract: Account(storage={0: 50000}), + target: Account(storage={0: 50000}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest439.py b/tests/ported_static/stRandom2/test_random_statetest439.py index 613cfb3398c..76989cff9a9 100644 --- a/tests/ported_static/stRandom2/test_random_statetest439.py +++ b/tests/ported_static/stRandom2/test_random_statetest439.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest439. Ported from: -tests/static/state_tests/stRandom2/randomStatetest439Filler.json +state_tests/stRandom2/randomStatetest439Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest439Filler.json"], + ["state_tests/stRandom2/randomStatetest439Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest439( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest439.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,62 @@ def test_random_statetest439( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f5b1609653438813340097c53a493165560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x5B1609653438813340097C53A4931655 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xEA249997DD278A186516CB58C5999E0F51983D1C), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x5B1609653438813340097C53A4931655, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xea249997dd278a186516cb58c5999e0f51983d1c"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c3507f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff6f5b1609653438813340097c53a49316" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f5b1609653438813340097c53a49316" # noqa: E501 ), gas_limit=100000, - value=398066515, + value=0x17BA0353, ) post = { - contract: Account(storage={0: 0x5B1609653438813340097C53A4931655}), + target: Account( + storage={0: 0x5B1609653438813340097C53A4931655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest440.py b/tests/ported_static/stRandom2/test_random_statetest440.py index 70e2c25e9c9..4d0bc4d2bbc 100644 --- a/tests/ported_static/stRandom2/test_random_statetest440.py +++ b/tests/ported_static/stRandom2/test_random_statetest440.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest440. Ported from: -tests/static/state_tests/stRandom2/randomStatetest440Filler.json +state_tests/stRandom2/randomStatetest440Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest440Filler.json"], + ["state_tests/stRandom2/randomStatetest440Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest440( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest440.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,56 @@ def test_random_statetest440( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.GASLIMIT - + Op.GASLIMIT - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.COINBASE - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x1513A9B8216816F74F3676E9EA26155, - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000045457f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff416f01513a9b8216816f74f3676e9ea2615560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.GASLIMIT * 2 + + Op.PUSH32[0x1] * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.COINBASE + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x1513A9B8216816F74F3676E9EA26155 ), nonce=0, - address=Address("0x411175e7899ea90ac5011543380d9c09a8ee199f"), # noqa: E501 + address=Address(0x411175E7899EA90AC5011543380D9C09A8EE199F), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7945457f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000017f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000017f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff416f01513a9b8216816f74f367" # noqa: E501 - "6e9ea261" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7945457f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff416f01513a9b8216816f74f3676e9ea261" # noqa: E501 ), gas_limit=100000, - value=1245697846, + value=0x4A3FD736, ) post = { - contract: Account(storage={0: 0x1513A9B8216816F74F3676E9EA26155}), + target: Account( + storage={0: 0x1513A9B8216816F74F3676E9EA26155}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest442.py b/tests/ported_static/stRandom2/test_random_statetest442.py index e432d67572c..13c6d3e4f10 100644 --- a/tests/ported_static/stRandom2/test_random_statetest442.py +++ b/tests/ported_static/stRandom2/test_random_statetest442.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest442. Ported from: -tests/static/state_tests/stRandom2/randomStatetest442Filler.json +state_tests/stRandom2/randomStatetest442Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest442Filler.json"], + ["state_tests/stRandom2/randomStatetest442Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest442( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest442.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,75 +46,64 @@ def test_random_statetest442( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff917f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3501833815560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 3 + + Op.SWAP2 + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.XOR( + Op.PUSH32[0xC350], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + ) + + Op.SSTORE(key=Op.DUP2, value=Op.CALLER) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xBB86DC9ED299945BD5EAD395C71E0B135D338C1E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SWAP2 - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.XOR( - Op.PUSH32[0xC350], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.SSTORE(key=Op.DUP2, value=Op.CALLER) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xbb86dc9ed299945bd5ead395c71e0b135d338c1e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff917f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c350183381" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff917f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350183381" # noqa: E501 ), gas_limit=100000, - value=794450594, + value=0x2F5A5AA2, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3CAE, # noqa: E501 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3CAE: 0x2E3D0156D2B99A6EACBA540C55F423C8F5A33143, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest443.py b/tests/ported_static/stRandom2/test_random_statetest443.py index fe5720e1ea1..b66a51151e7 100644 --- a/tests/ported_static/stRandom2/test_random_statetest443.py +++ b/tests/ported_static/stRandom2/test_random_statetest443.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest443. Ported from: -tests/static/state_tests/stRandom2/randomStatetest443Filler.json +state_tests/stRandom2/randomStatetest443Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest443Filler.json"], + ["state_tests/stRandom2/randomStatetest443Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest443( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest443.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,61 @@ def test_random_statetest443( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001155933704 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.GT( + Op.PUSH32[0x0], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + value=Op.PUSH32[0x1], + ) + + Op.SWAP4 + + Op.CALLDATACOPY + + Op.DIV, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x692A3C1272CA7FF11550AF64D7C6CAFFFBE467F8), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.GT( - Op.PUSH32[0x0], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - value=Op.PUSH32[0x1], - ) - + Op.SWAP4 - + Op.CALLDATACOPY - + Op.DIV + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x692a3c1272ca7ff11550af64d7c6cafffbe467f8"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000001155933704" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001155933704" # noqa: E501 ), gas_limit=100000, - value=1499936335, + value=0x5967364F, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest444.py b/tests/ported_static/stRandom2/test_random_statetest444.py index 6b4ceda0adb..c7ea0c7c351 100644 --- a/tests/ported_static/stRandom2/test_random_statetest444.py +++ b/tests/ported_static/stRandom2/test_random_statetest444.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest444. Ported from: -tests/static/state_tests/stRandom2/randomStatetest444Filler.json +state_tests/stRandom2/randomStatetest444Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest444Filler.json"], + ["state_tests/stRandom2/randomStatetest444Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest444( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest444.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,135 +46,47 @@ def test_random_statetest444( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f0000000000000000000000010000000000000000000000000000000000000000607f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff661392843555 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f0000000000000000000000010000000000000000000000000000000000000000607f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff661392843555" + "7f0000000000000000000000010000000000000000000000000000000000000000607f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff661392843555" # noqa: E501 ), nonce=0, - address=Address("0x3630f8ac14310e923a9b6f57148a873829b27144"), # noqa: E501 + address=Address(0x3630F8AC14310E923A9B6F57148A873829B27144), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000010000000000000000000000000000000000000000607f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6613928435" - ), - gas_limit=100000, - value=1481275721, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest444Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest444_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f0000000000000000000000010000000000000000000000000000000000000000607f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff661392843555" - ), - nonce=0, - address=Address("0x3630f8ac14310e923a9b6f57148a873829b27144"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000010000000000000000000000000000000000000000607f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6613928435" + to=target, + data=Bytes( + "7f0000000000000000000000010000000000000000000000000000000000000000607f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6613928435" # noqa: E501 ), gas_limit=100000, - value=1481275721, + value=0x584A7949, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest445.py b/tests/ported_static/stRandom2/test_random_statetest445.py index 7b9c52af8df..fcf7d51f873 100644 --- a/tests/ported_static/stRandom2/test_random_statetest445.py +++ b/tests/ported_static/stRandom2/test_random_statetest445.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest445. Ported from: -tests/static/state_tests/stRandom2/randomStatetest445Filler.json +state_tests/stRandom2/randomStatetest445Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest445Filler.json"], + ["state_tests/stRandom2/randomStatetest445Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest445( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest445.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,47 @@ def test_random_statetest445( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008756993365a1376155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008756993365a1376155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDF00487753FAFB7D8AC061B9F2FBE3488F0D83D7), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000008756993365a1376155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xdf00487753fafb7d8ac061b9f2fbe3488f0d83d7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000008756993365a13761" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008756993365a13761" # noqa: E501 ), gas_limit=100000, - value=340638033, + value=0x144DB951, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest446.py b/tests/ported_static/stRandom2/test_random_statetest446.py index 0d10491df62..e664b4ad2cb 100644 --- a/tests/ported_static/stRandom2/test_random_statetest446.py +++ b/tests/ported_static/stRandom2/test_random_statetest446.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest446. Ported from: -tests/static/state_tests/stRandom2/randomStatetest446Filler.json +state_tests/stRandom2/randomStatetest446Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest446Filler.json"], + ["state_tests/stRandom2/randomStatetest446Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest446( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest446.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,72 +46,63 @@ def test_random_statetest446( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x96AFBEF3471549B91FD7D4B57ACC0C10F822914C), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x96afbef3471549b91fd7d4b57acc0c10f822914c"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=141749433, + value=0x872ECB9, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFE000000000000000000000001FFFFFFFFFFFFFFFF: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest447.py b/tests/ported_static/stRandom2/test_random_statetest447.py index c065d057a64..165de5b1757 100644 --- a/tests/ported_static/stRandom2/test_random_statetest447.py +++ b/tests/ported_static/stRandom2/test_random_statetest447.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest447. Ported from: -tests/static/state_tests/stRandom2/randomStatetest447Filler.json +state_tests/stRandom2/randomStatetest447Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest447Filler.json"], + ["state_tests/stRandom2/randomStatetest447Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest447( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest447.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,71 +46,65 @@ def test_random_statetest447( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff085560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.ADDMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.NUMBER, + ), + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE1655B4F3E5F4FD17126A28F5CC273EFEB1C89B3), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.ADDMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.NUMBER, - ), - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe1655b4f3e5f4fd17126a28f5cc273efeb1c89b3"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe437f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff08" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff08" # noqa: E501 ), gas_limit=100000, - value=359263144, + value=0x1569EBA8, ) post = { - contract: Account( + target: Account( storage={0: 0x10000000000000000000000000000000000000000}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest448.py b/tests/ported_static/stRandom2/test_random_statetest448.py index f9c200b0c14..93d833f5681 100644 --- a/tests/ported_static/stRandom2/test_random_statetest448.py +++ b/tests/ported_static/stRandom2/test_random_statetest448.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest448. Ported from: -tests/static/state_tests/stRandom2/randomStatetest448Filler.json +state_tests/stRandom2/randomStatetest448Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest448Filler.json"], + ["state_tests/stRandom2/randomStatetest448Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest448( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest448.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,55 @@ def test_random_statetest448( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x427f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b940860005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.TIMESTAMP + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PC + + Op.RETURN(offset=Op.DUP2, size=Op.CALLVALUE) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x85646D53671639175B9408), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB2DA1F608A7E0626E721677FA30FC46D2D99C655), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PC - + Op.RETURN(offset=Op.DUP2, size=Op.CALLVALUE) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), value=0x85646D53671639175B9408 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb2da1f608a7e0626e721677fa30fc46d2d99c655"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "427f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b9408" # noqa: E501 + to=target, + data=Bytes( + "427f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b9408" # noqa: E501 ), gas_limit=4400000, - value=1485632, + value=0x16AB40, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest449.py b/tests/ported_static/stRandom2/test_random_statetest449.py index f4dfdb18a65..b8b10a9afc1 100644 --- a/tests/ported_static/stRandom2/test_random_statetest449.py +++ b/tests/ported_static/stRandom2/test_random_statetest449.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest449. Ported from: -tests/static/state_tests/stRandom2/randomStatetest449Filler.json +state_tests/stRandom2/randomStatetest449Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest449Filler.json"], + ["state_tests/stRandom2/randomStatetest449Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest449( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest449.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,58 @@ def test_random_statetest449( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x197f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008b66e4ff65a056f39b529f # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.NOT + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.MSTORE(offset=0xE4FF65A056F39B, value=Op.DUP12) + + Op.SWAP16, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA744E6FA67E6F6717D1AF2356F4679AE961CAD1E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NOT - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.MSTORE(offset=0xE4FF65A056F39B, value=Op.DUP12) - + Op.SWAP16 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa744e6fa67e6f6717d1af2356f4679ae961cad1e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "197f000000000000000000000000000000000000000000000000000000000000c3507fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f7014" # noqa: E501 - "64972e74606d6ea82d4d3080599a0e798b66e4ff65a056f39b529f" + to=target, + data=Bytes( + "197f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e798b66e4ff65a056f39b529f" # noqa: E501 ), gas_limit=100000, - value=1857649905, + value=0x6EB97CF1, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest450.py b/tests/ported_static/stRandom2/test_random_statetest450.py index 29443b96893..d3e1e43de6e 100644 --- a/tests/ported_static/stRandom2/test_random_statetest450.py +++ b/tests/ported_static/stRandom2/test_random_statetest450.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest450. Ported from: -tests/static/state_tests/stRandom2/randomStatetest450Filler.json +state_tests/stRandom2/randomStatetest450Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest450Filler.json"], + ["state_tests/stRandom2/randomStatetest450Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest450( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest450.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xEC7C2DE039694D1868A1956B3126454E8E17448344A219E03D859B64831B6AF8 ) @@ -45,68 +46,61 @@ def test_random_statetest450( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.CALLDATALOAD( - offset=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SUB( - Op.PUSH32[0x10000000000000000000000000000000000000000], - Op.PUSH32[0xC350], - ) - + Op.GASPRICE - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.DUP1) - ), + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000010000000000000000000000000000000000000000033a8060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.CALLDATALOAD( + offset=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + ) + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SUB( + Op.PUSH32[0x10000000000000000000000000000000000000000], + Op.PUSH32[0xC350], + ) + + Op.GASPRICE + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.DUP1), nonce=0, - address=Address("0x4cda9e76f4ec620ca74c0321e2393998b84f4b99"), # noqa: E501 + address=Address(0x4CDA9E76F4EC620CA74C0321E2393998B84F4B99), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A764000000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e79357fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000100000000" # noqa: E501 - "00000000000000000000000000000000033a80" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000010000000000000000000000000000000000000000033a80" # noqa: E501 ), gas_limit=100000, - value=1357943190, + value=0x50F09196, ) post = { - contract: Account(storage={0: 10}), + target: Account(storage={0: 10}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest451.py b/tests/ported_static/stRandom2/test_random_statetest451.py index 8d8fe540507..7123a211373 100644 --- a/tests/ported_static/stRandom2/test_random_statetest451.py +++ b/tests/ported_static/stRandom2/test_random_statetest451.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest451. Ported from: -tests/static/state_tests/stRandom2/randomStatetest451Filler.json +state_tests/stRandom2/randomStatetest451Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest451Filler.json"], + ["state_tests/stRandom2/randomStatetest451Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest451( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest451.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,61 @@ def test_random_statetest451( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000006fed05989a0659453076573a870411745560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xED05989A0659453076573A8704117455 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD3D2709429A6489E16C9CBCD44A7BBF746EEB5F2), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xED05989A0659453076573A8704117455, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd3d2709429a6489e16c9cbcd44a7bbf746eeb5f2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000017f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000006fed05989a0659453076573a87041174" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000006fed05989a0659453076573a87041174" # noqa: E501 ), gas_limit=100000, - value=812425754, + value=0x306CA21A, ) post = { - contract: Account(storage={0: 0xED05989A0659453076573A8704117455}), + target: Account( + storage={0: 0xED05989A0659453076573A8704117455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest452.py b/tests/ported_static/stRandom2/test_random_statetest452.py index 8dd80770210..8f12131f648 100644 --- a/tests/ported_static/stRandom2/test_random_statetest452.py +++ b/tests/ported_static/stRandom2/test_random_statetest452.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest452. Ported from: -tests/static/state_tests/stRandom2/randomStatetest452Filler.json +state_tests/stRandom2/randomStatetest452Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest452Filler.json"], + ["state_tests/stRandom2/randomStatetest452Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest452( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest452.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,61 @@ def test_random_statetest452( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000006f0a3289746806163630047dff9831055560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xA3289746806163630047DFF98310555 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF0FF5931AD08530E3D77980D2F2DE3D8A81A5AB4), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xA3289746806163630047DFF98310555, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf0ff5931ad08530e3d77980d2f2de3d8a81a5ab4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74" # noqa: E501 - "606d6ea82d4d3080599a0e796f0a3289746806163630047dff983105" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f0a3289746806163630047dff983105" # noqa: E501 ), gas_limit=100000, - value=1492613506, + value=0x58F77982, ) post = { - contract: Account(storage={0: 0xA3289746806163630047DFF98310555}), + target: Account( + storage={0: 0xA3289746806163630047DFF98310555}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest454.py b/tests/ported_static/stRandom2/test_random_statetest454.py index ac6839cb3b7..8fbfba7003e 100644 --- a/tests/ported_static/stRandom2/test_random_statetest454.py +++ b/tests/ported_static/stRandom2/test_random_statetest454.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest454. Ported from: -tests/static/state_tests/stRandom2/randomStatetest454Filler.json +state_tests/stRandom2/randomStatetest454Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest454Filler.json"], + ["state_tests/stRandom2/randomStatetest454Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest454( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest454.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,56 @@ def test_random_statetest454( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PUSH32[0x0], - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.SSTORE(key=Op.PUSH32[0x0], value=Op.PUSH32[0x0]) - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.EXP - + Op.DUP5 - + Op.CALLER - + Op.SWAP2 - + Op.LOG0(offset=0x6595668352, size=Op.DUP9) - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x8555) - ), + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000000557f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000557f0000000000000000000000000a84339188646595668352a061855560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PUSH32[0x0], + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ) + + Op.SSTORE(key=Op.PUSH32[0x0], value=Op.PUSH32[0x0]) + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.EXP + + Op.DUP5 + + Op.CALLER + + Op.SWAP2 + + Op.LOG0(offset=0x6595668352, size=Op.DUP9) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x8555), nonce=0, - address=Address("0x0089d9313f6c18f62805e3a145739544ee1459a7"), # noqa: E501 + address=Address(0x0089D9313F6C18F62805E3A145739544EE1459A7), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000557f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000557f000000000000000000" # noqa: E501 - "0000004f3f701464972e74606d6ea82d4d3080599a0e790a84339188646595668352a061" # noqa: E501 - "85" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000000557f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000557f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e790a84339188646595668352a06185" # noqa: E501 ), gas_limit=100000, - value=1431310051, + value=0x55500EE3, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest455.py b/tests/ported_static/stRandom2/test_random_statetest455.py index 8a790ac2ec0..ef2324e8980 100644 --- a/tests/ported_static/stRandom2/test_random_statetest455.py +++ b/tests/ported_static/stRandom2/test_random_statetest455.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest455. Ported from: -tests/static/state_tests/stRandom2/randomStatetest455Filler.json +state_tests/stRandom2/randomStatetest455Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest455Filler.json"], + ["state_tests/stRandom2/randomStatetest455Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest455( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest455.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,60 @@ def test_random_statetest455( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000006f858b1411f218693ca2245b918274f35560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x858B1411F218693CA2245B918274F355 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xFFBFD097BCE347E41311BED3648AAFFC63840DD6), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x858B1411F218693CA2245B918274F355, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xffbfd097bce347e41311bed3648aaffc63840dd6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000017f0000000000000000000000004f3f701464972e74" # noqa: E501 - "606d6ea82d4d3080599a0e796f858b1411f218693ca2245b918274f3" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f858b1411f218693ca2245b918274f3" # noqa: E501 ), gas_limit=100000, - value=737734735, + value=0x2BF8F04F, ) post = { - contract: Account(storage={0: 0x858B1411F218693CA2245B918274F355}), + target: Account( + storage={0: 0x858B1411F218693CA2245B918274F355}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest456.py b/tests/ported_static/stRandom2/test_random_statetest456.py index 3ea06d13fb5..12994399809 100644 --- a/tests/ported_static/stRandom2/test_random_statetest456.py +++ b/tests/ported_static/stRandom2/test_random_statetest456.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest456. Ported from: -tests/static/state_tests/stRandom2/randomStatetest456Filler.json +state_tests/stRandom2/randomStatetest456Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest456Filler.json"], + ["state_tests/stRandom2/randomStatetest456Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest456( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest456.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,41 +46,44 @@ def test_random_statetest456( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x41424143445a42f35b10773574016c9f + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("41424143445a42f35b10773574016c9f"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x832214236b4dc7829a505afafb05b91d152f9ff4"), # noqa: E501 + address=Address(0x832214236B4DC7829A505AFAFB05B91D152F9FF4), # noqa: E501 ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) + ), + balance=46, + nonce=0, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest457.py b/tests/ported_static/stRandom2/test_random_statetest457.py index fe4b63708d6..c9bcaf57971 100644 --- a/tests/ported_static/stRandom2/test_random_statetest457.py +++ b/tests/ported_static/stRandom2/test_random_statetest457.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest457. Ported from: -tests/static/state_tests/stRandom2/randomStatetest457Filler.json +state_tests/stRandom2/randomStatetest457Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest457Filler.json"], + ["state_tests/stRandom2/randomStatetest457Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest457( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest457.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,61 +46,58 @@ def test_random_statetest457( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x44417f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f949fa28af308a37a136c626218927d5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PREVRANDAO + + Op.COINBASE + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x949FA28AF308A37A136C626218927D55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x90C8AB55A939C61C361F2183F9057CCBDF966B43), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PREVRANDAO - + Op.COINBASE - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x949FA28AF308A37A136C626218927D55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x90c8ab55a939c61c361f2183f9057ccbdf966b43"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "44417f00000000000000000000000000000000000000000000000000000000000000017f" # noqa: E501 - "00000000000000000000000100000000000000000000000000000000000000007f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000007fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe6f949fa28af308a37a13" # noqa: E501 - "6c626218927d" + to=target, + data=Bytes( + "44417f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f949fa28af308a37a136c626218927d" # noqa: E501 ), gas_limit=100000, - value=316557712, + value=0x12DE4990, ) post = { - contract: Account(storage={0: 0x949FA28AF308A37A136C626218927D55}), + target: Account( + storage={0: 0x949FA28AF308A37A136C626218927D55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest458.py b/tests/ported_static/stRandom2/test_random_statetest458.py index 79643a5b963..9f678875984 100644 --- a/tests/ported_static/stRandom2/test_random_statetest458.py +++ b/tests/ported_static/stRandom2/test_random_statetest458.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest458. Ported from: -tests/static/state_tests/stRandom2/randomStatetest458Filler.json +state_tests/stRandom2/randomStatetest458Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest458Filler.json"], + ["state_tests/stRandom2/randomStatetest458Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest458( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest458.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,165 +47,142 @@ def test_random_statetest458( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH23[0x89747FB3520231748BBE5EB9617666E630019E3E84CE71] - + Op.PUSH26[0xC5D83B7E36050E5C05623956E599F54EB56213E4F96F69F402CD] - + Op.PUSH20[0xE13C366095A3FE56BDD6A815D9BA23F3A9729BC4] - + Op.PUSH3[0x385C69] - + Op.PUSH31[ - 0xD9F24192C949E33FF7ED256C84979D70148B8FD8A62438CA053DE264227145 # noqa: E501 - ] - + Op.PUSH14[0xDE46CE78CF7C6D1D2CC48EEE658A] - + Op.PUSH20[0xAD9F9CA1E550720490E2D0769E0A429773E42FC9] - + Op.PUSH6[0xEA1030F6C078] - + Op.PUSH28[ - 0x4E7BC4915150A99FC758D3373561D8917C4C7D605F0CD8D2203F4D69 - ] - + Op.PUSH1[0x61] - + Op.SWAP9 - + Op.NUMBER - + Op.PUSH21[0x29E2F2D2BF742B28760A9C0AB51203D0C5D5B9E16D] - + Op.PUSH21[0xCE0428945AAFF2D0F99240A901D3233BD04E366C36] - + Op.PUSH27[ - 0xB93ECEA0C206FBF01084254636DF9C1F308C7D6875D5D5D37F3CE2 - ] - + Op.PUSH26[0x89E39048F175F0D2DC49EAA86530DEF7AB70553F5D3904C843B5] - + Op.PUSH20[0x6025E321E7E2AB92AF570E5B3BEF4014C54E6531] - + Op.PUSH12[0xB546EB8906F155F7B9405326] - + Op.PUSH21[0x104D8F5D98DC97AC374AD0C58F4385E086891B9B2] - + Op.PUSH6[0x7E982EB15A36] - + Op.PUSH31[ - 0xAB6683B51EA9F219ABAE5CA39F669A1A88A82E14EFD4192A3EDBE04A12D356 # noqa: E501 - ] - + Op.PUSH26[0xCF6338130D67F37C324464D16CC866BE846B0304EF9FD3C6611E] - + Op.PUSH13[0xDF1277D65F6B2A58FFB61BA979] - + Op.PUSH21[0xB8DF72816602071E979E6029C9307D718FFDC70F3] - + Op.PUSH31[ - 0xA0019353C06B0FB56D8E3738DFDB18418E952092E8625B51749F276CC6AE41 # noqa: E501 - ] - + Op.PUSH11[0x85BD070C61E65240D8C271] - + Op.SWAP13 - + Op.PUSH23[0xB0420F84ECE41C9BE0F93D4F30581C28F6976839516393] - + Op.PUSH32[ - 0x95B86DA30FA76B6937870245D9250E06B6E07DFFEA8F849A37647378DD59AC83 # noqa: E501 - ] - + Op.PUSH6[0xA37DD908EEA2] - + Op.PUSH12[0xE2F53375E1DBEE32ECAA7E95] - + Op.PUSH31[ - 0xACE8C6F0883E4EF830485BD43B2B7851A0B11497F752D3EE4560E312A7A91B # noqa: E501 - ] - + Op.PUSH28[ - 0x2A88C109737C92FEB7807D481AC3FD823F038C4BA82DF40A60982A7C - ] - + Op.PUSH27[ - 0x6F6BA2CB95233C257B30E1C9D3C84AA37B6F4268FEC34FB9EEF1F8 - ] - + Op.PUSH1[0x2E] - + Op.PUSH11[0x7BF1EBFA162680B57AF09F] - + Op.PUSH27[ - 0x7FC584055FF32D68A92E59DDAF20BCAAAA70D5970FD71C04CDBAB4 - ] - + Op.PUSH13[0xF86E566E870664B6DF2C686134] - + Op.PUSH28[ - 0x2A3886788BBEBBD03CBB51ED29357F699C8B974C61528A0423F67A83 - ] - + Op.PUSH28[ - 0xFAB83AFA78A0BFF70A653EA0F398F73632D5E3BEA0A31115D65486FB - ] - + Op.PUSH14[0x667110448E0208264A3F76F35972] - + Op.PUSH7[0x6E7AA7339F23B0] - + Op.DUP15 - + Op.LOG0(offset=0x6337, size=0x28) - + Op.CALLDATASIZE - + Op.CALL( - gas=0x5706352B, - address=0x4F391713BDCA6E610DEA121DF82FF743D96D33B6, - value=0xE6DB38E, - args_offset=0xB, - args_size=0x14, - ret_offset=0x1D, - ret_size=0x16, - ) - + Op.PUSH10[0x5BB9E53D5AD3BA1191EA] - + Op.PUSH6[0xAE1880D46C68] - + Op.PUSH23[0x5148E427A09D40172DBDD5FC72FFFB1443080A39A0EE7] - + Op.PUSH32[ - 0xEED9DDC9050AFFCE41D68C34AD97C484F204A987BCFAF46B9FA4A9ED2DAD3738 # noqa: E501 - ] - + Op.PUSH24[0x1A3CF86B43F303A8DB8CDE3ED8A40AE35574B9084F4CAB88] - + Op.PUSH17[0x1D150E628D9B2A33E71C8F9FB0CE9E7286] - + Op.PUSH3[0x576917] - + Op.PUSH23[0xF999B7DDF64F22532351BD34743E08FACD1ACC94B0D6B5] - + Op.PUSH12[0xF97491D5ED9D726AF684D1A4] - + Op.PUSH27[ - 0xBCB243B7C29D12A315E939F70AF8D2617DF63567C3BC56C16609A2 - ] - + Op.PUSH25[0x71AF77631FE1CCAA0D15F8DA9BD9A712A544ABB92B925B1D75] - + Op.PUSH2[0xFCED] - + Op.PUSH1[0xB0] - + Op.SWAP12 - + Op.PUSH12[0x22F2121B105A65A209E151B7] - + Op.PUSH12[0x31BE481D57353D10A1D968CA] - + Op.PUSH27[ - 0x185495A8A2935571A0D17443A327BF11CB421BACA9064BC4E4497C - ] - + Op.PUSH30[ - 0x4C486C40082CC2D01B3F6023B726DE95AC2AD53AE0B731D741676338181E - ] - + Op.PUSH7[0xC8AC8DAF0D5477] - + Op.PUSH9[0x27987E79D9F617C51F] - + Op.PUSH16[0x4B87CF8FEE734C99E5E3FC2E37F17E62] - + Op.PUSH13[0xBFD1195157215D10FA39B4B094] - + Op.PUSH29[ - 0x3339139B280C0B042DA7EC93A24416D5C52E0BA21EC9D39D6FBCD3D742 - ] - + Op.PUSH7[0x580EEF6CA9BB9D] - + Op.PUSH23[0xBB4DC441F3D6D0CF38307B505251DEEA82AB39F9CCD17A] - + Op.PUSH6[0x7BF16B38640] - + Op.PUSH8[0x9C22F2134E8258F7] - + Op.SWAP12 - ), + # Source: raw + # 0x7689747fb3520231748bbe5eb9617666e630019e3e84ce7179c5d83b7e36050e5c05623956e599f54eb56213e4f96f69f402cd73e13c366095a3fe56bdd6a815d9ba23f3a9729bc462385c697ed9f24192c949e33ff7ed256c84979d70148b8fd8a62438ca053de2642271456dde46ce78cf7c6d1d2cc48eee658a73ad9f9ca1e550720490e2d0769e0a429773e42fc965ea1030f6c0787b4e7bc4915150a99fc758d3373561d8917c4c7d605f0cd8d2203f4d69606198437429e2f2d2bf742b28760a9c0ab51203d0c5d5b9e16d74ce0428945aaff2d0f99240a901d3233bd04e366c367ab93ecea0c206fbf01084254636df9c1f308c7d6875d5d5d37f3ce27989e39048f175f0d2dc49eaa86530def7ab70553f5d3904c843b5736025e321e7e2ab92af570e5b3bef4014c54e65316bb546eb8906f155f7b9405326740104d8f5d98dc97ac374ad0c58f4385e086891b9b2657e982eb15a367eab6683b51ea9f219abae5ca39f669a1a88a82e14efd4192a3edbe04a12d35679cf6338130d67f37c324464d16cc866be846b0304ef9fd3c6611e6cdf1277d65f6b2a58ffb61ba979740b8df72816602071e979e6029c9307d718ffdc70f37ea0019353c06b0fb56d8e3738dfdb18418e952092e8625b51749f276cc6ae416a85bd070c61e65240d8c2719c76b0420f84ece41c9be0f93d4f30581c28f69768395163937f95b86da30fa76b6937870245d9250e06b6e07dffea8f849a37647378dd59ac8365a37dd908eea26be2f53375e1dbee32ecaa7e957eace8c6f0883e4ef830485bd43b2b7851a0b11497f752d3ee4560e312a7a91b7b2a88c109737c92feb7807d481ac3fd823f038c4ba82df40a60982a7c7a6f6ba2cb95233c257b30e1c9d3c84aa37b6f4268fec34fb9eef1f8602e6a7bf1ebfa162680b57af09f7a7fc584055ff32d68a92e59ddaf20bcaaaa70d5970fd71c04cdbab46cf86e566e870664b6df2c6861347b2a3886788bbebbd03cbb51ed29357f699c8b974c61528a0423f67a837bfab83afa78a0bff70a653ea0f398f73632d5e3bea0a31115d65486fb6d667110448e0208264a3f76f35972666e7aa7339f23b08e6028616337a0366016601d6014600b630e6db38e73635706352bf1695bb9e53d5ad3ba1191ea65ae1880d46c687605148e427a09d40172dbdd5fc72fffb1443080a39a0ee77feed9ddc9050affce41d68c34ad97c484f204a987bcfaf46b9fa4a9ed2dad3738771a3cf86b43f303a8db8cde3ed8a40ae35574b9084f4cab88701d150e628d9b2a33e71c8f9fb0ce9e72866257691776f999b7ddf64f22532351bd34743e08facd1acc94b0d6b56bf97491d5ed9d726af684d1a47abcb243b7c29d12a315e939f70af8d2617df63567c3bc56c16609a27871af77631fe1ccaa0d15f8da9bd9a712a544abb92b925b1d7561fced60b09b6b22f2121b105a65a209e151b76b31be481d57353d10a1d968ca7a185495a8a2935571a0d17443a327bf11cb421baca9064bc4e4497c7d4c486c40082cc2d01b3f6023b726de95ac2ad53ae0b731d741676338181e66c8ac8daf0d54776827987e79d9f617c51f6f4b87cf8fee734c99e5e3fc2e37f17e626cbfd1195157215d10fa39b4b0947c3339139b280c0b042da7ec93a24416d5c52e0ba21ec9d39d6fbcd3d74266580eef6ca9bb9d76bb4dc441f3d6d0cf38307b505251deea82ab39f9ccd17a6507bf16b38640679c22f2134e8258f79b # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH23[0x89747FB3520231748BBE5EB9617666E630019E3E84CE71] + + Op.PUSH26[0xC5D83B7E36050E5C05623956E599F54EB56213E4F96F69F402CD] + + Op.PUSH20[0xE13C366095A3FE56BDD6A815D9BA23F3A9729BC4] + + Op.PUSH3[0x385C69] + + Op.PUSH31[ + 0xD9F24192C949E33FF7ED256C84979D70148B8FD8A62438CA053DE264227145 + ] + + Op.PUSH14[0xDE46CE78CF7C6D1D2CC48EEE658A] + + Op.PUSH20[0xAD9F9CA1E550720490E2D0769E0A429773E42FC9] + + Op.PUSH6[0xEA1030F6C078] + + Op.PUSH28[0x4E7BC4915150A99FC758D3373561D8917C4C7D605F0CD8D2203F4D69] + + Op.PUSH1[0x61] + + Op.SWAP9 + + Op.NUMBER + + Op.PUSH21[0x29E2F2D2BF742B28760A9C0AB51203D0C5D5B9E16D] + + Op.PUSH21[0xCE0428945AAFF2D0F99240A901D3233BD04E366C36] + + Op.PUSH27[0xB93ECEA0C206FBF01084254636DF9C1F308C7D6875D5D5D37F3CE2] + + Op.PUSH26[0x89E39048F175F0D2DC49EAA86530DEF7AB70553F5D3904C843B5] + + Op.PUSH20[0x6025E321E7E2AB92AF570E5B3BEF4014C54E6531] + + Op.PUSH12[0xB546EB8906F155F7B9405326] + + Op.PUSH21[0x104D8F5D98DC97AC374AD0C58F4385E086891B9B2] + + Op.PUSH6[0x7E982EB15A36] + + Op.PUSH31[ + 0xAB6683B51EA9F219ABAE5CA39F669A1A88A82E14EFD4192A3EDBE04A12D356 + ] + + Op.PUSH26[0xCF6338130D67F37C324464D16CC866BE846B0304EF9FD3C6611E] + + Op.PUSH13[0xDF1277D65F6B2A58FFB61BA979] + + Op.PUSH21[0xB8DF72816602071E979E6029C9307D718FFDC70F3] + + Op.PUSH31[ + 0xA0019353C06B0FB56D8E3738DFDB18418E952092E8625B51749F276CC6AE41 + ] + + Op.PUSH11[0x85BD070C61E65240D8C271] + + Op.SWAP13 + + Op.PUSH23[0xB0420F84ECE41C9BE0F93D4F30581C28F6976839516393] + + Op.PUSH32[ + 0x95B86DA30FA76B6937870245D9250E06B6E07DFFEA8F849A37647378DD59AC83 + ] + + Op.PUSH6[0xA37DD908EEA2] + + Op.PUSH12[0xE2F53375E1DBEE32ECAA7E95] + + Op.PUSH31[ + 0xACE8C6F0883E4EF830485BD43B2B7851A0B11497F752D3EE4560E312A7A91B + ] + + Op.PUSH28[0x2A88C109737C92FEB7807D481AC3FD823F038C4BA82DF40A60982A7C] + + Op.PUSH27[0x6F6BA2CB95233C257B30E1C9D3C84AA37B6F4268FEC34FB9EEF1F8] + + Op.PUSH1[0x2E] + + Op.PUSH11[0x7BF1EBFA162680B57AF09F] + + Op.PUSH27[0x7FC584055FF32D68A92E59DDAF20BCAAAA70D5970FD71C04CDBAB4] + + Op.PUSH13[0xF86E566E870664B6DF2C686134] + + Op.PUSH28[0x2A3886788BBEBBD03CBB51ED29357F699C8B974C61528A0423F67A83] + + Op.PUSH28[0xFAB83AFA78A0BFF70A653EA0F398F73632D5E3BEA0A31115D65486FB] + + Op.PUSH14[0x667110448E0208264A3F76F35972] + + Op.PUSH7[0x6E7AA7339F23B0] + + Op.DUP15 + + Op.LOG0(offset=0x6337, size=0x28) + + Op.CALLDATASIZE + + Op.CALL( + gas=0x5706352B, + address=0x4F391713BDCA6E610DEA121DF82FF743D96D33B6, + value=0xE6DB38E, + args_offset=0xB, + args_size=0x14, + ret_offset=0x1D, + ret_size=0x16, + ) + + Op.PUSH10[0x5BB9E53D5AD3BA1191EA] + + Op.PUSH6[0xAE1880D46C68] + + Op.PUSH23[0x5148E427A09D40172DBDD5FC72FFFB1443080A39A0EE7] + + Op.PUSH32[ + 0xEED9DDC9050AFFCE41D68C34AD97C484F204A987BCFAF46B9FA4A9ED2DAD3738 + ] + + Op.PUSH24[0x1A3CF86B43F303A8DB8CDE3ED8A40AE35574B9084F4CAB88] + + Op.PUSH17[0x1D150E628D9B2A33E71C8F9FB0CE9E7286] + + Op.PUSH3[0x576917] + + Op.PUSH23[0xF999B7DDF64F22532351BD34743E08FACD1ACC94B0D6B5] + + Op.PUSH12[0xF97491D5ED9D726AF684D1A4] + + Op.PUSH27[0xBCB243B7C29D12A315E939F70AF8D2617DF63567C3BC56C16609A2] + + Op.PUSH25[0x71AF77631FE1CCAA0D15F8DA9BD9A712A544ABB92B925B1D75] + + Op.PUSH2[0xFCED] + + Op.PUSH1[0xB0] + + Op.SWAP12 + + Op.PUSH12[0x22F2121B105A65A209E151B7] + + Op.PUSH12[0x31BE481D57353D10A1D968CA] + + Op.PUSH27[0x185495A8A2935571A0D17443A327BF11CB421BACA9064BC4E4497C] + + Op.PUSH30[ + 0x4C486C40082CC2D01B3F6023B726DE95AC2AD53AE0B731D741676338181E + ] + + Op.PUSH7[0xC8AC8DAF0D5477] + + Op.PUSH9[0x27987E79D9F617C51F] + + Op.PUSH16[0x4B87CF8FEE734C99E5E3FC2E37F17E62] + + Op.PUSH13[0xBFD1195157215D10FA39B4B094] + + Op.PUSH29[ + 0x3339139B280C0B042DA7EC93A24416D5C52E0BA21EC9D39D6FBCD3D742 + ] + + Op.PUSH7[0x580EEF6CA9BB9D] + + Op.PUSH23[0xBB4DC441F3D6D0CF38307B505251DEEA82AB39F9CCD17A] + + Op.PUSH6[0x7BF16B38640] + + Op.PUSH8[0x9C22F2134E8258F7] + + Op.SWAP12, nonce=0, - address=Address("0x4f391713bdca6e610dea121df82ff743d96d33b6"), # noqa: E501 + address=Address(0x4F391713BDCA6E610DEA121DF82FF743D96D33B6), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "6cff89fd2305930f9a427748410969e86bfeabd7748df8c60e9075e32f95abb7b73e260f" # noqa: E501 - "c345efb09ac919b22eb90402ff6b737a79722d83372adc70ef947e3a28e6dda50601f52f" # noqa: E501 - "ea5b45a7294d90ea73bb64de313534dce604ebc4a22c7519bd1a15bc91aca303759ffdfc" # noqa: E501 - "849b53ca82e03b1df66d1ede5b09b519084802396f8849817328c82f591c11d4b40c0653" # noqa: E501 - "e1ec91398ca9a1a6b872165aac3c0567020253bc3f5221edb93cbbd87c7486136d4f5649" # noqa: E501 - "a5f1ad8808013f373cbffc6c40c8707f2e0449a9ce33beba84b4974ed62803f8dd900ba3" # noqa: E501 - "b47d3cc55ba503f903701f1188" + to=target, + data=Bytes( + "6cff89fd2305930f9a427748410969e86bfeabd7748df8c60e9075e32f95abb7b73e260fc345efb09ac919b22eb90402ff6b737a79722d83372adc70ef947e3a28e6dda50601f52fea5b45a7294d90ea73bb64de313534dce604ebc4a22c7519bd1a15bc91aca303759ffdfc849b53ca82e03b1df66d1ede5b09b519084802396f8849817328c82f591c11d4b40c0653e1ec91398ca9a1a6b872165aac3c0567020253bc3f5221edb93cbbd87c7486136d4f5649a5f1ad8808013f373cbffc6c40c8707f2e0449a9ce33beba84b4974ed62803f8dd900ba3b47d3cc55ba503f903701f1188" # noqa: E501 ), gas_limit=1630523086, - value=2131886598, + value=0x7F120206, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest460.py b/tests/ported_static/stRandom2/test_random_statetest460.py index 35641973fde..0cf688d99e0 100644 --- a/tests/ported_static/stRandom2/test_random_statetest460.py +++ b/tests/ported_static/stRandom2/test_random_statetest460.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest460. Ported from: -tests/static/state_tests/stRandom2/randomStatetest460Filler.json +state_tests/stRandom2/randomStatetest460Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest460Filler.json"], + ["state_tests/stRandom2/randomStatetest460Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest460( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest460.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,63 @@ def test_random_statetest460( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000003a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350046f16a23c6c90739ba201697b4315778a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.GASPRICE + + Op.DIV( + Op.PUSH32[0xC350], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x16A23C6C90739BA201697B4315778A55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF25F4FEAE71940EBCA3222EBA62E73951DC4C72C), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.GASPRICE - + Op.DIV( - Op.PUSH32[0xC350], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x16A23C6C90739BA201697B4315778A55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf25f4feae71940ebca3222eba62e73951dc4c72c"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000003a7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c350046f16a23c6c90739ba201697b4315778a" # noqa: E501 + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000003a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350046f16a23c6c90739ba201697b4315778a" # noqa: E501 ), gas_limit=100000, - value=1518569663, + value=0x5A8388BF, ) post = { - contract: Account(storage={0: 0x16A23C6C90739BA201697B4315778A55}), + target: Account( + storage={0: 0x16A23C6C90739BA201697B4315778A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest461.py b/tests/ported_static/stRandom2/test_random_statetest461.py index 7d7b37a4beb..83e09db8050 100644 --- a/tests/ported_static/stRandom2/test_random_statetest461.py +++ b/tests/ported_static/stRandom2/test_random_statetest461.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest461. Ported from: -tests/static/state_tests/stRandom2/randomStatetest461Filler.json +state_tests/stRandom2/randomStatetest461Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest461Filler.json"], + ["state_tests/stRandom2/randomStatetest461Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest461( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest461.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,61 @@ def test_random_statetest461( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c350517f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4251525960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MLOAD(offset=Op.PUSH32[0xC350]) + + Op.PUSH32[0xC350] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.MSTORE( + offset=Op.MLOAD(offset=Op.TIMESTAMP), + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.MSIZE), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x65331D87609C6ECD5A695B8AF79603E6F023FC3D), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MLOAD(offset=Op.PUSH32[0xC350]) - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.MSTORE( - offset=Op.MLOAD(offset=Op.TIMESTAMP), - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.MSIZE) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x65331d87609c6ecd5a695b8af79603e6f023fc3d"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c350517f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff42515259" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c350517f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42515259" # noqa: E501 ), gas_limit=100000, - value=548509958, + value=0x20B19906, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 50048, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest462.py b/tests/ported_static/stRandom2/test_random_statetest462.py index 00f5fb3af86..163f48d89d0 100644 --- a/tests/ported_static/stRandom2/test_random_statetest462.py +++ b/tests/ported_static/stRandom2/test_random_statetest462.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest462. Ported from: -tests/static/state_tests/stRandom2/randomStatetest462Filler.json +state_tests/stRandom2/randomStatetest462Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest462Filler.json"], + ["state_tests/stRandom2/randomStatetest462Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest462( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest462.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,55 @@ def test_random_statetest462( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007f0000000000000000000000007f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000006f8e0186019d029d1354681482826f375560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 3 + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x8E0186019D029D1354681482826F3755 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xEDEF025388CA5B473F7F8A4F3FF29633328064C6), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x8E0186019D029D1354681482826F3755, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xedef025388ca5b473f7f8a4f3ff29633328064c6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464" # noqa: E501 - "972e74606d6ea82d4d3080599a0e797f0000000000000000000000010000000000000000" # noqa: E501 - "0000000000000000000000006f8e0186019d029d1354681482826f37" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000006f8e0186019d029d1354681482826f37" # noqa: E501 ), gas_limit=100000, - value=1447977690, + value=0x564E62DA, ) post = { - contract: Account(storage={0: 0x8E0186019D029D1354681482826F3755}), + target: Account( + storage={0: 0x8E0186019D029D1354681482826F3755}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest464.py b/tests/ported_static/stRandom2/test_random_statetest464.py index 4e1210b006a..1148054cb23 100644 --- a/tests/ported_static/stRandom2/test_random_statetest464.py +++ b/tests/ported_static/stRandom2/test_random_statetest464.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest464. Ported from: -tests/static/state_tests/stRandom2/randomStatetest464Filler.json +state_tests/stRandom2/randomStatetest464Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest464Filler.json"], + ["state_tests/stRandom2/randomStatetest464Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest464( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest464.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,63 @@ def test_random_statetest464( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x447f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82095560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PREVRANDAO + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] * 2 + + Op.SSTORE( + key=Op.MULMOD( + Op.DUP3, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDFEE2907D42610306F0012BFD671EC142C1E78DA), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PREVRANDAO - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MULMOD( - Op.DUP3, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xdfee2907d42610306f0012bfd671ec142c1e78da"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "447f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff8209" + to=target, + data=Bytes( + "447f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8209" # noqa: E501 ), gas_limit=100000, - value=2396601, + value=0x2491B9, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest465.py b/tests/ported_static/stRandom2/test_random_statetest465.py index a4f7164ea09..c458271a777 100644 --- a/tests/ported_static/stRandom2/test_random_statetest465.py +++ b/tests/ported_static/stRandom2/test_random_statetest465.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest465. Ported from: -tests/static/state_tests/stRandom2/randomStatetest465Filler.json +state_tests/stRandom2/randomStatetest465Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest465Filler.json"], + ["state_tests/stRandom2/randomStatetest465Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest465( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest465.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,56 @@ def test_random_statetest465( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.NUMBER - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.PUSH32[0x1]) - ), + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000437f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.NUMBER + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.PUSH32[0x1]), nonce=0, - address=Address("0x39c49de6b1821e4bf091113386607cc5533ab190"), # noqa: E501 + address=Address(0x39C49DE6B1821E4BF091113386607CC5533AB190), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e79437f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000001" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 ), gas_limit=100000, - value=1575037991, + value=0x5DE12C27, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest466.py b/tests/ported_static/stRandom2/test_random_statetest466.py index 9591d296cb5..63227140abe 100644 --- a/tests/ported_static/stRandom2/test_random_statetest466.py +++ b/tests/ported_static/stRandom2/test_random_statetest466.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest466. Ported from: -tests/static/state_tests/stRandom2/randomStatetest466Filler.json +state_tests/stRandom2/randomStatetest466Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest466Filler.json"], + ["state_tests/stRandom2/randomStatetest466Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest466( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest466.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,61 +46,56 @@ def test_random_statetest466( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.TIMESTAMP - + Op.PREVRANDAO - + Op.SWAP1 - + Op.DIV(Op.PREVRANDAO, Op.TIMESTAMP) - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff4244904244045560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.TIMESTAMP + + Op.PREVRANDAO + + Op.SWAP1 + + Op.DIV(Op.PREVRANDAO, Op.TIMESTAMP) + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x01b1e973a4d051cfbb5acde495eccdf5ad34a422"), # noqa: E501 + address=Address(0x01B1E973A4D051CFBB5ACDE495ECCDF5AD34A422), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff424490424404" # noqa: E501 + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff424490424404" # noqa: E501 ), gas_limit=14265563, - value=1790975802, + value=0x6AC01F3A, ) post = { - contract: Account(storage={0: 0x20000, 131: 1000}), + target: Account(storage={0: 0x20000, 131: 1000}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest467.py b/tests/ported_static/stRandom2/test_random_statetest467.py index 95edd8bb2af..c19f585f025 100644 --- a/tests/ported_static/stRandom2/test_random_statetest467.py +++ b/tests/ported_static/stRandom2/test_random_statetest467.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest467. Ported from: -tests/static/state_tests/stRandom2/randomStatetest467Filler.json +state_tests/stRandom2/randomStatetest467Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest467Filler.json"], + ["state_tests/stRandom2/randomStatetest467Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest467( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest467.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,113 +47,97 @@ def test_random_statetest467( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x700ab6605e03171122aeebd20b63699a72d454628639346ffaf92bcd1855c6dde5c90ba78a966a256c777ce8880c23f90f4a2ecc999a6cd42da7121d5e1fde1c9c340f9660b571a71e20a5753bc4e291adbd41a228289a0be175a606bc44dd2079ece46a2cba498bee0d80a41673d8016e7232f97a66b29954364570f6e2d08b6d429c6a75f737c594aca21580bc0d60e67c38a50ce1ddf0ce9963fd79da8a590429f5fcfb6e7fd9ee2d27201f95707235ce3dbc5997e44baa174111977f51dc6b333a9a63483e6a3d6f423ed5778057702664b65d4af9aab14d773a787d60bd24c439b29533c6b172278b6a78e64f8e319fbd6b45eeca466afd1eb2eecbaeed773da8711c4c65787e0a0a1297f525b7418f49fbc1b2446a847d74bb0a66e3b06ef70d8a8aa09a910a6be623c6a8239960381512da962eb868a21f99d90741128fcb711e029cff42f4f8f5d35947c4a7b39cff7fd46f916cc8612b146bbf52db1cd36e6c2fce7cd9ed232e21946081d78d87e61bc42fce313fa32b458d1e898e52cc2e607570a7e1d2ae3b5b7d58e0a70396bcfaae0789cd9202876488bb595d457a45bc48e190f5d56b34be6d244070ffe02107ceaf9313db08d9a1809b366fc956e6c5567da1d8a656406871eb0dd46268b5127366225cb464667bd081c949847a95e2821f589dad60c061ef2fa36b9e17c2b3a94181a8f8a89b486734ca1a8a0c86c26d076004601160066012635e0d738673636158e2e1f166e10de5d590572335 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SLOAD(key=0xAB6605E03171122AEEBD20B63699A72D4) + + Op.PUSH3[0x863934] + + Op.PUSH16[0xFAF92BCD1855C6DDE5C90BA78A966A25] + + Op.PUSH13[0x777CE8880C23F90F4A2ECC999A] + + Op.PUSH13[0xD42DA7121D5E1FDE1C9C340F96] + + Op.PUSH1[0xB5] + + Op.PUSH18[0xA71E20A5753BC4E291ADBD41A228289A0BE1] + + Op.PUSH22[0xA606BC44DD2079ECE46A2CBA498BEE0D80A41673D801] + + Op.PUSH15[0x7232F97A66B29954364570F6E2D08B] + + Op.PUSH14[0x429C6A75F737C594ACA21580BC0D] + + Op.PUSH1[0xE6] + + Op.PUSH29[ + 0x38A50CE1DDF0CE9963FD79DA8A590429F5FCFB6E7FD9EE2D27201F9570 + ] + + Op.PUSH19[0x35CE3DBC5997E44BAA174111977F51DC6B333A] + + Op.SWAP11 + + Op.PUSH4[0x483E6A3D] + + Op.PUSH16[0x423ED5778057702664B65D4AF9AAB14D] + + Op.PUSH24[0x3A787D60BD24C439B29533C6B172278B6A78E64F8E319FBD] + + Op.PUSH12[0x45EECA466AFD1EB2EECBAEED] + + Op.PUSH24[0x3DA8711C4C65787E0A0A1297F525B7418F49FBC1B2446A84] + + Op.PUSH30[ + 0x74BB0A66E3B06EF70D8A8AA09A910A6BE623C6A8239960381512DA962EB8 + ] + + Op.PUSH9[0xA21F99D90741128FCB] + + Op.PUSH18[0x1E029CFF42F4F8F5D35947C4A7B39CFF7FD4] + + Op.PUSH16[0x916CC8612B146BBF52DB1CD36E6C2FCE] + + Op.PUSH29[ + 0xD9ED232E21946081D78D87E61BC42FCE313FA32B458D1E898E52CC2E60 + ] + + Op.PUSH22[0x70A7E1D2AE3B5B7D58E0A70396BCFAAE0789CD920287] + + Op.PUSH5[0x88BB595D45] + + Op.PUSH27[0x45BC48E190F5D56B34BE6D244070FFE02107CEAF9313DB08D9A180] + + Op.SWAP12 + + Op.CALLDATASIZE + + Op.LOG3( + offset=0xEF2F, + size=0xC0, + topic_1=0x66225CB464667BD081C949847A95E2821F589DAD, + topic_2=0x68B512, + topic_3=0xC956E6C5567DA1D8A656406871EB0DD4, + ) + + Op.SMOD(0x34CA1A8A0C86C26D, 0x9E17C2B3A94181A8F8A89B48) + + Op.CALL( + gas=0x6158E2E1, + address=0x79940E2F1225EBA4FAB3405B111535075C733270, + value=0x5E0D7386, + args_offset=0x12, + args_size=0x6, + ret_offset=0x11, + ret_size=0x4, + ) + + Op.CALLDATALOAD(offset=0xE10DE5D5905723), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x79940E2F1225EBA4FAB3405B111535075C733270), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SLOAD(key=0xAB6605E03171122AEEBD20B63699A72D4) - + Op.PUSH3[0x863934] - + Op.PUSH16[0xFAF92BCD1855C6DDE5C90BA78A966A25] - + Op.PUSH13[0x777CE8880C23F90F4A2ECC999A] - + Op.PUSH13[0xD42DA7121D5E1FDE1C9C340F96] - + Op.PUSH1[0xB5] - + Op.PUSH18[0xA71E20A5753BC4E291ADBD41A228289A0BE1] - + Op.PUSH22[0xA606BC44DD2079ECE46A2CBA498BEE0D80A41673D801] - + Op.PUSH15[0x7232F97A66B29954364570F6E2D08B] - + Op.PUSH14[0x429C6A75F737C594ACA21580BC0D] - + Op.PUSH1[0xE6] - + Op.PUSH29[ - 0x38A50CE1DDF0CE9963FD79DA8A590429F5FCFB6E7FD9EE2D27201F9570 - ] - + Op.PUSH19[0x35CE3DBC5997E44BAA174111977F51DC6B333A] - + Op.SWAP11 - + Op.PUSH4[0x483E6A3D] - + Op.PUSH16[0x423ED5778057702664B65D4AF9AAB14D] - + Op.PUSH24[0x3A787D60BD24C439B29533C6B172278B6A78E64F8E319FBD] - + Op.PUSH12[0x45EECA466AFD1EB2EECBAEED] - + Op.PUSH24[0x3DA8711C4C65787E0A0A1297F525B7418F49FBC1B2446A84] - + Op.PUSH30[ - 0x74BB0A66E3B06EF70D8A8AA09A910A6BE623C6A8239960381512DA962EB8 - ] - + Op.PUSH9[0xA21F99D90741128FCB] - + Op.PUSH18[0x1E029CFF42F4F8F5D35947C4A7B39CFF7FD4] - + Op.PUSH16[0x916CC8612B146BBF52DB1CD36E6C2FCE] - + Op.PUSH29[ - 0xD9ED232E21946081D78D87E61BC42FCE313FA32B458D1E898E52CC2E60 - ] - + Op.PUSH22[0x70A7E1D2AE3B5B7D58E0A70396BCFAAE0789CD920287] - + Op.PUSH5[0x88BB595D45] - + Op.PUSH27[ - 0x45BC48E190F5D56B34BE6D244070FFE02107CEAF9313DB08D9A180 - ] - + Op.SWAP12 - + Op.CALLDATASIZE - + Op.LOG3( - offset=0xEF2F, - size=0xC0, - topic_1=0x66225CB464667BD081C949847A95E2821F589DAD, - topic_2=0x68B512, - topic_3=0xC956E6C5567DA1D8A656406871EB0DD4, - ) - + Op.SMOD(0x34CA1A8A0C86C26D, 0x9E17C2B3A94181A8F8A89B48) - + Op.CALL( - gas=0x6158E2E1, - address=0x79940E2F1225EBA4FAB3405B111535075C733270, - value=0x5E0D7386, - args_offset=0x12, - args_size=0x6, - ret_offset=0x11, - ret_size=0x4, - ) - + Op.CALLDATALOAD(offset=0xE10DE5D5905723) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x79940e2f1225eba4fab3405b111535075c733270"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "6f42af68ebb8fbfe65896d2993c75a18b06dbf26336197db938986312c4ea88b7aab8c2c" # noqa: E501 - "d436a05c5b765989d8ad6c97257fe7c4f1f33d9644b8e03c6898c8946d19a4dfed187482" # noqa: E501 - "dd95f88ea4f0c43f39f4ab261808bf1b1f658f0979b867eeb00baeadab37700449f87952" # noqa: E501 - "2b0bba9c6f2d87d2541b0b943275c57530b3790b225dd318baeca448b045ccf1477837e4" # noqa: E501 - "156d992ad881869b91a5f7f71de5884a703c659316ab330af945c7fd906936c695fe7913" # noqa: E501 - "4e48e46153702e81da6d3da14e05b90ae63b037d7b9e4fb17367c1e737162043aa587f4b" # noqa: E501 - "b580e87cfaad897bc8e3152e3741f1ba345cc4c762c99caede0c3c0de9f33e7c89de1511" # noqa: E501 - "64142941ef1cc6b81f618255c88f3e04316de6ff3f8b87fb187d3661e8d861b8134d518c" # noqa: E501 - "fe5123377034be1a24c27e19133f7fdcbddcadd272d4eb1f5205b897290ed5b28741f1d1" # noqa: E501 - "3f595f15604097426e31e5a64a6665f31f2ebca84c5be5d27a8632d85d7e123bac508bf4" # noqa: E501 - "7f6274f38f9f580ad68134f4d4e654d56693448be12412a37275c071ba6b6b017df1ec3d" # noqa: E501 - "04f5b5fe7af2c0aa65ed17249093e9601064716ca4d232779ee3cf649bff458fb2a37fd5" # noqa: E501 - "34556a505f3dbc4f9afd77cb7e2e37e0a6a739404993d8f68975614f1988a7130cadc924" # noqa: E501 - "5f9616c4776a3bfe77f48bb80ed67553de915c99302d13cc7ab0253d6f415cb1499866f3" # noqa: E501 - "a0512a188aa35477c52c8b4cce48dd291dc9fabd99de813a0e0db12447a11917353860c0" # noqa: E501 - "6efdf1c9532e0cf08a7c0a3185ab81d417" + to=target, + data=Bytes( + "6f42af68ebb8fbfe65896d2993c75a18b06dbf26336197db938986312c4ea88b7aab8c2cd436a05c5b765989d8ad6c97257fe7c4f1f33d9644b8e03c6898c8946d19a4dfed187482dd95f88ea4f0c43f39f4ab261808bf1b1f658f0979b867eeb00baeadab37700449f879522b0bba9c6f2d87d2541b0b943275c57530b3790b225dd318baeca448b045ccf1477837e4156d992ad881869b91a5f7f71de5884a703c659316ab330af945c7fd906936c695fe79134e48e46153702e81da6d3da14e05b90ae63b037d7b9e4fb17367c1e737162043aa587f4bb580e87cfaad897bc8e3152e3741f1ba345cc4c762c99caede0c3c0de9f33e7c89de151164142941ef1cc6b81f618255c88f3e04316de6ff3f8b87fb187d3661e8d861b8134d518cfe5123377034be1a24c27e19133f7fdcbddcadd272d4eb1f5205b897290ed5b28741f1d13f595f15604097426e31e5a64a6665f31f2ebca84c5be5d27a8632d85d7e123bac508bf47f6274f38f9f580ad68134f4d4e654d56693448be12412a37275c071ba6b6b017df1ec3d04f5b5fe7af2c0aa65ed17249093e9601064716ca4d232779ee3cf649bff458fb2a37fd534556a505f3dbc4f9afd77cb7e2e37e0a6a739404993d8f68975614f1988a7130cadc9245f9616c4776a3bfe77f48bb80ed67553de915c99302d13cc7ab0253d6f415cb1499866f3a0512a188aa35477c52c8b4cce48dd291dc9fabd99de813a0e0db12447a11917353860c06efdf1c9532e0cf08a7c0a3185ab81d417" # noqa: E501 ), gas_limit=1762815149, - value=1848680675, + value=0x6E30A0E3, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest469.py b/tests/ported_static/stRandom2/test_random_statetest469.py index 8e829e7d76d..976fc3df018 100644 --- a/tests/ported_static/stRandom2/test_random_statetest469.py +++ b/tests/ported_static/stRandom2/test_random_statetest469.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest469. Ported from: -tests/static/state_tests/stRandom2/randomStatetest469Filler.json +state_tests/stRandom2/randomStatetest469Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest469Filler.json"], + ["state_tests/stRandom2/randomStatetest469Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest469( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest469.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,59 +46,54 @@ def test_random_statetest469( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350f36409156a6aa261413b56f20855 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.LOG0(offset=Op.PUSH32[0x1], size=Op.PUSH32[0xC350]) + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] + + Op.RETURN(offset=Op.PUSH32[0xC350], size=Op.PUSH32[0xC350]) + + Op.PUSH5[0x9156A6AA2] + + Op.JUMP(pc=0x413B) + + Op.SSTORE(key=Op.ADDMOD, value=Op.CALLCODE), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x912E90647207810A8FA1F685D7CD4A5BAA06E85D), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.LOG0(offset=Op.PUSH32[0x1], size=Op.PUSH32[0xC350]) - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.RETURN(offset=Op.PUSH32[0xC350], size=Op.PUSH32[0xC350]) - + Op.PUSH5[0x9156A6AA2] - + Op.JUMP(pc=0x413B) - + Op.SSTORE(key=Op.ADDMOD, value=Op.CALLCODE) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x912e90647207810a8fa1f685d7cd4a5baa06e85d"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000001a07fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c350f36409156a6aa261413b56f208" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350f36409156a6aa261413b56f208" # noqa: E501 ), gas_limit=500000, - value=1762323696, + value=0x690AECF0, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest470.py b/tests/ported_static/stRandom2/test_random_statetest470.py index 54b1147be2a..fb98e3a10b1 100644 --- a/tests/ported_static/stRandom2/test_random_statetest470.py +++ b/tests/ported_static/stRandom2/test_random_statetest470.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest470. Ported from: -tests/static/state_tests/stRandom2/randomStatetest470Filler.json +state_tests/stRandom2/randomStatetest470Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest470Filler.json"], + ["state_tests/stRandom2/randomStatetest470Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest470( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest470.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,59 @@ def test_random_statetest470( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.SIGNEXTEND( - Op.PUSH32[0x0], - Op.CALLDATALOAD(offset=Op.PUSH32[0x1]), - ), - ) + # Source: raw + # 0x457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001357f00000000000000000000000000000000000000000000000000000000000000000b60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.SIGNEXTEND( + Op.PUSH32[0x0], Op.CALLDATALOAD(offset=Op.PUSH32[0x1]) + ), ), nonce=0, - address=Address("0x396527ef051c114a21d96eafe1f9316aa34def16"), # noqa: E501 + address=Address(0x396527EF051C114A21D96EAFE1F9316AA34DEF16), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000001357f000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000b" + to=target, + data=Bytes( + "457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001357f00000000000000000000000000000000000000000000000000000000000000000b" # noqa: E501 ), gas_limit=100000, - value=1740863815, + value=0x67C37947, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest471.py b/tests/ported_static/stRandom2/test_random_statetest471.py index 2fd3ba8263c..b6d9efc752c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest471.py +++ b/tests/ported_static/stRandom2/test_random_statetest471.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest471. Ported from: -tests/static/state_tests/stRandom2/randomStatetest471Filler.json +state_tests/stRandom2/randomStatetest471Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest471Filler.json"], + ["state_tests/stRandom2/randomStatetest471Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest471( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest471.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,52 @@ def test_random_statetest471( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09650618701355040655183a51377d8260005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09650618701355040655183a51377d8260005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA715E7DC86705B05E7A17A3D508149070BA35E0A), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000" # noqa: E501 - "0000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe09650618701355040655183a51377d8260005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa715e7dc86705b05e7a17a3d508149070ba35e0a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000" # noqa: E501 - "0000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe09650618701355040655183a51377d82" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09650618701355040655183a51377d82" # noqa: E501 ), gas_limit=100000, - value=1662521271, + value=0x63180FB7, ) post = { - contract: Account( + target: Account( storage={ 0x61870135504: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest472.py b/tests/ported_static/stRandom2/test_random_statetest472.py index f78cbdc8e39..b135610ea3c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest472.py +++ b/tests/ported_static/stRandom2/test_random_statetest472.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest472. Ported from: -tests/static/state_tests/stRandom2/randomStatetest472Filler.json +state_tests/stRandom2/randomStatetest472Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest472Filler.json"], + ["state_tests/stRandom2/randomStatetest472Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest472( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest472.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,59 @@ def test_random_statetest472( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000041437ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff090a60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.COINBASE + + Op.NUMBER + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.EXP( + Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5B9EFB31B8BE05E6E52F6921F9EE79769A6792D0), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.COINBASE - + Op.NUMBER - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.EXP( - Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5b9efb31b8be05e6e52f6921f9ee79769a6792d0"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7941437fffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000" # noqa: E501 - "000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff090a" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7941437ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff090a" # noqa: E501 ), gas_limit=100000, - value=1691421230, + value=0x64D10A2E, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest473.py b/tests/ported_static/stRandom2/test_random_statetest473.py index a414bea6aba..684ce3f34f4 100644 --- a/tests/ported_static/stRandom2/test_random_statetest473.py +++ b/tests/ported_static/stRandom2/test_random_statetest473.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest473. Ported from: -tests/static/state_tests/stRandom2/randomStatetest473Filler.json +state_tests/stRandom2/randomStatetest473Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest473Filler.json"], + ["state_tests/stRandom2/randomStatetest473Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest473( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest473.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,74 +47,68 @@ def test_random_statetest473( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.BALANCE( - address=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.SWAP2 - + Op.SSTORE(key=Op.MULMOD, value=Op.MUL) - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff317f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b59102095560005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.BALANCE( + address=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + ) + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.SWAP2 + + Op.SSTORE(key=Op.MULMOD, value=Op.MUL) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff317f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb" # noqa: E501 - "96065b2a98b57a48a06ae28d285a71b5910209" + to=contract_0, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff317f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5910209" # noqa: E501 ), gas_limit=100000, - value=1147652673, + value=0x4467CA41, ) post = { - contract: Account( + contract_0: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFF6BACFB1469F9A4D5674A85B75F951D72D7A58E4A: 50000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest474.py b/tests/ported_static/stRandom2/test_random_statetest474.py index 6c6fbd236b9..08f4aa4a5b8 100644 --- a/tests/ported_static/stRandom2/test_random_statetest474.py +++ b/tests/ported_static/stRandom2/test_random_statetest474.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest474. Ported from: -tests/static/state_tests/stRandom2/randomStatetest474Filler.json +state_tests/stRandom2/randomStatetest474Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest474Filler.json"], + ["state_tests/stRandom2/randomStatetest474Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest474( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest474.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,59 @@ def test_random_statetest474( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe027f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f7d6f6b1051778ea1670387810b58055560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.MUL( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + Op.PUSH32[0x10000000000000000000000000000000000000000], + ) + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7D6F6B1051778EA1670387810B580555 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x6581D000C652313B1574BDB42B3CA918D2106814), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.MUL( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0x10000000000000000000000000000000000000000], - ) - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7D6F6B1051778EA1670387810B580555, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x6581d000c652313b1574bdb42b3ca918d2106814"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe027f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff6f7d6f6b1051778ea1670387810b" # noqa: E501 - "5805" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe027f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f7d6f6b1051778ea1670387810b5805" # noqa: E501 ), gas_limit=100000, - value=2065350381, + value=0x7B1ABEED, ) post = { - contract: Account(storage={0: 0x7D6F6B1051778EA1670387810B580555}), + target: Account( + storage={0: 0x7D6F6B1051778EA1670387810B580555}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest475.py b/tests/ported_static/stRandom2/test_random_statetest475.py index d658f8499d7..9527bb1877b 100644 --- a/tests/ported_static/stRandom2/test_random_statetest475.py +++ b/tests/ported_static/stRandom2/test_random_statetest475.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest475. Ported from: -tests/static/state_tests/stRandom2/randomStatetest475Filler.json +state_tests/stRandom2/randomStatetest475Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest475Filler.json"], + ["state_tests/stRandom2/randomStatetest475Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest475( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest475.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,63 @@ def test_random_statetest475( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + value=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], ), nonce=0, - address=Address("0x4992e682e800cd8e1379eabf4279ff7afec36cc6"), # noqa: E501 + address=Address(0x4992E682E800CD8E1379EABF4279FF7AFEC36CC6), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=428358692, + value=0x19883C24, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFE000000000000000000000001FFFFFFFFFFFFFFFF: 0x4F3F701464972E74606D6EA82D4D3080599A0E79, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest476.py b/tests/ported_static/stRandom2/test_random_statetest476.py index fc25ab61a59..d6c0f36122b 100644 --- a/tests/ported_static/stRandom2/test_random_statetest476.py +++ b/tests/ported_static/stRandom2/test_random_statetest476.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest476. Ported from: -tests/static/state_tests/stRandom2/randomStatetest476Filler.json +state_tests/stRandom2/randomStatetest476Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest476Filler.json"], + ["state_tests/stRandom2/randomStatetest476Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest476( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest476.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,74 +47,65 @@ def test_random_statetest476( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000010000000000000000000000000000000000000000448243628c0970843ba460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PREVRANDAO + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.LOG4( + offset=Op.EXTCODESIZE(address=Op.DUP5), + size=0x8C0970, + topic_1=Op.NUMBER, + topic_2=Op.DUP3, + topic_3=Op.PREVRANDAO, + topic_4=Op.PUSH32[0x10000000000000000000000000000000000000000], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xAD6FFFED2E41E6D57F10DEBDF91B1DC35758B7AD), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PREVRANDAO - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.LOG4( - offset=Op.EXTCODESIZE(address=Op.DUP5), - size=0x8C0970, - topic_1=Op.NUMBER, - topic_2=Op.DUP3, - topic_3=Op.PREVRANDAO, - topic_4=Op.PUSH32[0x10000000000000000000000000000000000000000], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xad6fffed2e41e6d57f10debdf91b1dc35758b7ad"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017f00000000000000000000000100000000" # noqa: E501 - "00000000000000000000000000000000448243628c0970843ba4" + to=target, + data=Bytes( + "447ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000010000000000000000000000000000000000000000448243628c0970843ba4" # noqa: E501 ), gas_limit=1518298975, - value=2098819291, + value=0x7D1970DB, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest477.py b/tests/ported_static/stRandom2/test_random_statetest477.py index d9bd107b86c..8c86d2bbc8c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest477.py +++ b/tests/ported_static/stRandom2/test_random_statetest477.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest477. Ported from: -tests/static/state_tests/stRandom2/randomStatetest477Filler.json +state_tests/stRandom2/randomStatetest477Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest477Filler.json"], + ["state_tests/stRandom2/randomStatetest477Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest477( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest477.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,61 @@ def test_random_statetest477( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f9084a3758d3456763aa4f09c8b735b5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] * 2 + + Op.COINBASE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x9084A3758D3456763AA4F09C8B735B55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x50235D3527B930D9031704AA08E62B9D72A7CFBA), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.COINBASE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x9084A3758D3456763AA4F09C8B735B55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x50235d3527b930d9031704aa08e62b9d72a7cfba"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000001417fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe6f9084a3758d3456763aa4f09c8b735b" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001417ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f9084a3758d3456763aa4f09c8b735b" # noqa: E501 ), gas_limit=100000, - value=11119317, + value=0xA9AAD5, ) post = { - contract: Account(storage={0: 0x9084A3758D3456763AA4F09C8B735B55}), + target: Account( + storage={0: 0x9084A3758D3456763AA4F09C8B735B55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest478.py b/tests/ported_static/stRandom2/test_random_statetest478.py index 02eef02834c..5ce01792554 100644 --- a/tests/ported_static/stRandom2/test_random_statetest478.py +++ b/tests/ported_static/stRandom2/test_random_statetest478.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest478. Ported from: -tests/static/state_tests/stRandom2/randomStatetest478Filler.json +state_tests/stRandom2/randomStatetest478Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest478Filler.json"], + ["state_tests/stRandom2/randomStatetest478Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest478( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest478.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,135 +46,47 @@ def test_random_statetest478( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001447f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f1606588a909558021569 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001447f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c3507f1606588a909558021569" + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001447f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f1606588a909558021569" # noqa: E501 ), nonce=0, - address=Address("0xcfbded6c35b6aeffc2afe1c21fc42d489ad4e002"), # noqa: E501 + address=Address(0xCFBDED6C35B6AEFFC2AFE1C21FC42D489AD4E002), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001447f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c3507f1606588a909558021569" - ), - gas_limit=100000, - value=844312201, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest478Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest478_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001447f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c3507f1606588a909558021569" - ), - nonce=0, - address=Address("0xcfbded6c35b6aeffc2afe1c21fc42d489ad4e002"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001447f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000c3507f1606588a909558021569" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001447f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f1606588a909558021569" # noqa: E501 ), gas_limit=100000, - value=844312201, + value=0x32532E89, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest480.py b/tests/ported_static/stRandom2/test_random_statetest480.py index e527794abbc..5cb15764a91 100644 --- a/tests/ported_static/stRandom2/test_random_statetest480.py +++ b/tests/ported_static/stRandom2/test_random_statetest480.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest480. Ported from: -tests/static/state_tests/stRandom2/randomStatetest480Filler.json +state_tests/stRandom2/randomStatetest480Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest480Filler.json"], + ["state_tests/stRandom2/randomStatetest480Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest480( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest480.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,62 @@ def test_random_statetest480( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SUB( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.PUSH32[0x0] - + Op.TIMESTAMP - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x5AF3A474FF64F3A37D51F36A6A607F55, - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff037f0000000000000000000000000000000000000000000000000000000000000000427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f5af3a474ff64f3a37d51f36a6a607f5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SUB( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ) + + Op.PUSH32[0x0] + + Op.TIMESTAMP + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x5AF3A474FF64F3A37D51F36A6A607F55 ), nonce=0, - address=Address("0x0085349f22c7c8692fcee4f900382152fc914ffd"), # noqa: E501 + address=Address(0x0085349F22C7C8692FCEE4F900382152FC914FFD), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff037f00000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000427fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe6f5af3a474ff64f3a37d51f36a" # noqa: E501 - "6a607f" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff037f0000000000000000000000000000000000000000000000000000000000000000427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f5af3a474ff64f3a37d51f36a6a607f" # noqa: E501 ), gas_limit=100000, - value=745095931, + value=0x2C6942FB, ) post = { - contract: Account(storage={0: 0x5AF3A474FF64F3A37D51F36A6A607F55}), + target: Account( + storage={0: 0x5AF3A474FF64F3A37D51F36A6A607F55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest481.py b/tests/ported_static/stRandom2/test_random_statetest481.py index 383470c886b..d63f80b9b65 100644 --- a/tests/ported_static/stRandom2/test_random_statetest481.py +++ b/tests/ported_static/stRandom2/test_random_statetest481.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest481. Ported from: -tests/static/state_tests/stRandom2/randomStatetest481Filler.json +state_tests/stRandom2/randomStatetest481Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest481Filler.json"], + ["state_tests/stRandom2/randomStatetest481Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest481( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest481.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,52 +46,47 @@ def test_random_statetest481( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x447f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09437f0000000000000000000000010000000000000000000000000000000000000000a2695a7d52064361127350 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "447f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09437f0000000000000000000000010000000000000000000000000000000000000000a2695a7d52064361127350" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x6566EB05C057CAD2FD88C1FEC362190264DDE517), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "447f00000000000000000000000000000000000000000000000000000000000000017f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff09437f0000000000000000" # noqa: E501 - "000000010000000000000000000000000000000000000000a2695a7d52064361127350" # noqa: E501 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x6566eb05c057cad2fd88c1fec362190264dde517"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "447f00000000000000000000000000000000000000000000000000000000000000017f00" # noqa: E501 - "0000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff09437f0000000000000000" # noqa: E501 - "000000010000000000000000000000000000000000000000a2695a7d52064361127350" # noqa: E501 + to=target, + data=Bytes( + "447f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09437f0000000000000000000000010000000000000000000000000000000000000000a2695a7d52064361127350" # noqa: E501 ), gas_limit=100000, - value=1124860809, + value=0x430C0389, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest482.py b/tests/ported_static/stRandom2/test_random_statetest482.py index 5af316c7135..9f8f8b787da 100644 --- a/tests/ported_static/stRandom2/test_random_statetest482.py +++ b/tests/ported_static/stRandom2/test_random_statetest482.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest482. Ported from: -tests/static/state_tests/stRandom2/randomStatetest482Filler.json +state_tests/stRandom2/randomStatetest482Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest482Filler.json"], + ["state_tests/stRandom2/randomStatetest482Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest482( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest482.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,64 @@ def test_random_statetest482( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.NUMBER - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x27C9D313D9B09376505927C8E715655, - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f027c9d313d9b09376505927c8e71565560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.NUMBER + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x27C9D313D9B09376505927C8E715655 ), nonce=0, - address=Address("0x10bbdcd5333caca2b44aa07addc53e8ed2654b3c"), # noqa: E501 + address=Address(0x10BBDCD5333CACA2B44AA07ADDC53E8ED2654B3C), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e79437fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6f027c9d313d9b09376505927c8e7156" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f027c9d313d9b09376505927c8e7156" # noqa: E501 ), gas_limit=100000, - value=1668252863, + value=0x636F84BF, ) post = { - contract: Account(storage={0: 0x27C9D313D9B09376505927C8E715655}), + target: Account( + storage={0: 0x27C9D313D9B09376505927C8E715655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest483.py b/tests/ported_static/stRandom2/test_random_statetest483.py index 4578002488d..29956de705d 100644 --- a/tests/ported_static/stRandom2/test_random_statetest483.py +++ b/tests/ported_static/stRandom2/test_random_statetest483.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest483. Ported from: -tests/static/state_tests/stRandom2/randomStatetest483Filler.json +state_tests/stRandom2/randomStatetest483Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest483Filler.json"], + ["state_tests/stRandom2/randomStatetest483Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest483( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest483.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,55 @@ def test_random_statetest483( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe840955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.SSTORE( + key=Op.MULMOD( + Op.DUP5, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + value=Op.PUSH32[0x1], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB86AF9DC2BDCC686FFAB19D6CAC02521FD762055), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MULMOD( - Op.DUP5, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - value=Op.PUSH32[0x1], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb86af9dc2bdcc686ffab19d6cac02521fd762055"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe8409" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8409" # noqa: E501 ), gas_limit=100000, - value=2129514006, + value=0x7EEDCE16, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest484.py b/tests/ported_static/stRandom2/test_random_statetest484.py index baf0ebcd103..4731b266e5b 100644 --- a/tests/ported_static/stRandom2/test_random_statetest484.py +++ b/tests/ported_static/stRandom2/test_random_statetest484.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest484. Ported from: -tests/static/state_tests/stRandom2/randomStatetest484Filler.json +state_tests/stRandom2/randomStatetest484Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest484Filler.json"], + ["state_tests/stRandom2/randomStatetest484Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest484( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest484.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest484( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff35427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000595584a2558493a25b5a6a60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff35427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79595584a2558493a25b5a6a60005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x55CFF4F5475D77A24015AB0F01029B182814B37B), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff35427fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3507f000000000000000000000000" # noqa: E501 - "4f3f701464972e74606d6ea82d4d3080599a0e79595584a2558493a25b5a6a60005155" # noqa: E501 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x55cff4f5475d77a24015ab0f01029b182814b37b"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff35427fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3507f000000000000000000000000" # noqa: E501 - "4f3f701464972e74606d6ea82d4d3080599a0e79595584a2558493a25b5a6a" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff35427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79595584a2558493a25b5a6a" # noqa: E501 ), gas_limit=500000, - value=465395296, + value=0x1BBD5E60, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest485.py b/tests/ported_static/stRandom2/test_random_statetest485.py index 6dfe459b92b..20fd3919473 100644 --- a/tests/ported_static/stRandom2/test_random_statetest485.py +++ b/tests/ported_static/stRandom2/test_random_statetest485.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest485. Ported from: -tests/static/state_tests/stRandom2/randomStatetest485Filler.json +state_tests/stRandom2/randomStatetest485Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest485Filler.json"], + ["state_tests/stRandom2/randomStatetest485Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest485( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest485.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest485( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000008e447f00000000000000000000000100000000000000000000000000000000000000003a1a7e # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000008e447f00000000000000000000000100000000000000000000000000000000000000003a1a7e" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x91A7CC63F8BB623D64FE789D8CC49C06427BB9C2), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000008e447f000000000000000000000001" # noqa: E501 - "00000000000000000000000000000000000000003a1a7e" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x91a7cc63f8bb623d64fe789d8cc49c06427bb9c2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000008e447f000000000000000000000001" # noqa: E501 - "00000000000000000000000000000000000000003a1a7e" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000008e447f00000000000000000000000100000000000000000000000000000000000000003a1a7e" # noqa: E501 ), gas_limit=100000, - value=1573164058, + value=0x5DC4941A, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest487.py b/tests/ported_static/stRandom2/test_random_statetest487.py index ea989762802..e568bef5005 100644 --- a/tests/ported_static/stRandom2/test_random_statetest487.py +++ b/tests/ported_static/stRandom2/test_random_statetest487.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest487. Ported from: -tests/static/state_tests/stRandom2/randomStatetest487Filler.json +state_tests/stRandom2/randomStatetest487Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest487Filler.json"], + ["state_tests/stRandom2/randomStatetest487Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest487( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest487.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,49 @@ def test_random_statetest487( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0308ff9f708d1710086a73a0766a6b55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0308ff9f708d1710086a73a0766a6b55" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x62B2D76B6B68B324F9869058ECD93A807B45812B), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe337fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff0308ff9f708d1710086a73a0766a6b55" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x62b2d76b6b68b324f9869058ecd93a807b45812b"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe337fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff0308ff9f708d1710086a73a0766a6b" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0308ff9f708d1710086a73a0766a6b" # noqa: E501 ), gas_limit=100000, - value=841051523, + value=0x32216D83, ) - post: dict = {} + post = { + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, nonce=1), + Address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3CAE): Account( + storage={}, code=b"", nonce=0 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest488.py b/tests/ported_static/stRandom2/test_random_statetest488.py index e54445405ea..95d783e3890 100644 --- a/tests/ported_static/stRandom2/test_random_statetest488.py +++ b/tests/ported_static/stRandom2/test_random_statetest488.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest488. Ported from: -tests/static/state_tests/stRandom2/randomStatetest488Filler.json +state_tests/stRandom2/randomStatetest488Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest488Filler.json"], + ["state_tests/stRandom2/randomStatetest488Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest488( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest488.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,60 @@ def test_random_statetest488( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000427f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f3250648093577f6364a218f0907e7d5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.TIMESTAMP + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x3250648093577F6364A218F0907E7D55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDFD379AB9052FD0504226C54A761237FF69333B4), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.TIMESTAMP - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x3250648093577F6364A218F0907E7D55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xdfd379ab9052fd0504226c54a761237ff69333b4"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e79427f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe6f3250648093577f6364a218f0907e7d" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79427f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f3250648093577f6364a218f0907e7d" # noqa: E501 ), gas_limit=100000, - value=1401176215, + value=0x53844097, ) post = { - contract: Account(storage={0: 0x3250648093577F6364A218F0907E7D55}), + target: Account( + storage={0: 0x3250648093577F6364A218F0907E7D55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest489.py b/tests/ported_static/stRandom2/test_random_statetest489.py index 81d68193e49..4d99a89c114 100644 --- a/tests/ported_static/stRandom2/test_random_statetest489.py +++ b/tests/ported_static/stRandom2/test_random_statetest489.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest489. Ported from: -tests/static/state_tests/stRandom2/randomStatetest489Filler.json +state_tests/stRandom2/randomStatetest489Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest489Filler.json"], + ["state_tests/stRandom2/randomStatetest489Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest489( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest489.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,57 @@ def test_random_statetest489( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000456f2b8e846b91987417705a126e7707645560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 3 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] * 2 + + Op.GASLIMIT + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x2B8E846B91987417705A126E77076455 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x92E909C60772D315706B32F2A3271091EADD78ED), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.GASLIMIT - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x2B8E846B91987417705A126E77076455, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x92e909c60772d315706b32f2a3271091eadd78ed"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000456f2b8e846b91987417705a126e770764" # noqa: E501 + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000456f2b8e846b91987417705a126e770764" # noqa: E501 ), gas_limit=100000, - value=1856101458, + value=0x6EA1DC52, ) post = { - contract: Account(storage={0: 0x2B8E846B91987417705A126E77076455}), + target: Account( + storage={0: 0x2B8E846B91987417705A126E77076455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest491.py b/tests/ported_static/stRandom2/test_random_statetest491.py index 5cd97cc1a13..5c76a9dd2b4 100644 --- a/tests/ported_static/stRandom2/test_random_statetest491.py +++ b/tests/ported_static/stRandom2/test_random_statetest491.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest491. Ported from: -tests/static/state_tests/stRandom2/randomStatetest491Filler.json +state_tests/stRandom2/randomStatetest491Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest491Filler.json"], + ["state_tests/stRandom2/randomStatetest491Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest491( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest491.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,63 @@ def test_random_statetest491( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xA0F670645A778C71127D3B5598308B17, - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000006fa0f670645a778c71127d3b5598308b1760005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xA0F670645A778C71127D3B5598308B17 ), nonce=0, - address=Address("0x1716a97a6dbe8c31a23b2bcab7de7077d48be880"), # noqa: E501 + address=Address(0x1716A97A6DBE8C31A23B2BCAB7DE7077D48BE880), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000006fa0f670645a778c71127d3b5598308b17" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000006fa0f670645a778c71127d3b5598308b17" # noqa: E501 ), gas_limit=100000, - value=1805810722, + value=0x6BA27C22, ) post = { - contract: Account(storage={0: 0xA0F670645A778C71127D3B5598308B17}), + target: Account( + storage={0: 0xA0F670645A778C71127D3B5598308B17}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest493.py b/tests/ported_static/stRandom2/test_random_statetest493.py index eb04a4fbad2..5e438585237 100644 --- a/tests/ported_static/stRandom2/test_random_statetest493.py +++ b/tests/ported_static/stRandom2/test_random_statetest493.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest493. Ported from: -tests/static/state_tests/stRandom2/randomStatetest493Filler.json +state_tests/stRandom2/randomStatetest493Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest493Filler.json"], + ["state_tests/stRandom2/randomStatetest493Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest493( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest493.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,64 @@ def test_random_statetest493( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff095560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.NUMBER + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + value=Op.PUSH32[0x1], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB48BF563D8D32F5C2632D374277B74F85810617D), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.NUMBER - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - value=Op.PUSH32[0x1], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb48bf563d8d32f5c2632d374277b74f85810617d"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=1422979897, + value=0x54D0F339, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 1, }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest494.py b/tests/ported_static/stRandom2/test_random_statetest494.py index 9dcafffaf54..fd948b351b8 100644 --- a/tests/ported_static/stRandom2/test_random_statetest494.py +++ b/tests/ported_static/stRandom2/test_random_statetest494.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest494. Ported from: -tests/static/state_tests/stRandom2/randomStatetest494Filler.json +state_tests/stRandom2/randomStatetest494Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest494Filler.json"], + ["state_tests/stRandom2/randomStatetest494Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest494( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest494.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,50 +46,47 @@ def test_random_statetest494( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x847f000000000000000000000000000000000000000000000000000000000000c35043657f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4362f03c897f50f073f219105455 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "847f000000000000000000000000000000000000000000000000000000000000c3504365" # noqa: E501 - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4362f03c897f" # noqa: E501 - "50f073f219105455" + "847f000000000000000000000000000000000000000000000000000000000000c35043657f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4362f03c897f50f073f219105455" # noqa: E501 ), nonce=0, - address=Address("0x38b239ab7d6aaf0165c4ad27921248d64f77a368"), # noqa: E501 + address=Address(0x38B239AB7D6AAF0165C4AD27921248D64F77A368), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "847f000000000000000000000000000000000000000000000000000000000000c3504365" # noqa: E501 - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4362f03c897f" # noqa: E501 - "50f073f2191054" + to=target, + data=Bytes( + "847f000000000000000000000000000000000000000000000000000000000000c35043657f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4362f03c897f50f073f2191054" # noqa: E501 ), gas_limit=100000, - value=1741426477, + value=0x67CC0F2D, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest495.py b/tests/ported_static/stRandom2/test_random_statetest495.py index 1d291f073d7..9362c1419ad 100644 --- a/tests/ported_static/stRandom2/test_random_statetest495.py +++ b/tests/ported_static/stRandom2/test_random_statetest495.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest495. Ported from: -tests/static/state_tests/stRandom2/randomStatetest495Filler.json +state_tests/stRandom2/randomStatetest495Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest495Filler.json"], + ["state_tests/stRandom2/randomStatetest495Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest495( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest495.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,55 +46,49 @@ def test_random_statetest495( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000006f427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7e6410f26f519c538ea2070a6c60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000006f427fffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffe7e6410f26f519c538ea2070a6c600051" # noqa: E501 - "55" + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000006f427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7e6410f26f519c538ea2070a6c60005155" # noqa: E501 ), nonce=0, - address=Address("0x3960d00f7af05f0183ba04d1db89bfe241a50926"), # noqa: E501 + address=Address(0x3960D00F7AF05F0183BA04D1DB89BFE241A50926), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000006f427fffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffe7e6410f26f519c538ea2070a6c" # noqa: E501 + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000006f427ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7e6410f26f519c538ea2070a6c" # noqa: E501 ), gas_limit=100000, - value=211829998, + value=0xCA044EE, ) - post: dict = {} + post = { + Address(0x00000000427FFFFFFFFFFFFFFFFFFFFFFFFFFFFF): Account( + storage={}, code=b"", nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest496.py b/tests/ported_static/stRandom2/test_random_statetest496.py index a28b38fc959..05b427a8f2b 100644 --- a/tests/ported_static/stRandom2/test_random_statetest496.py +++ b/tests/ported_static/stRandom2/test_random_statetest496.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest496. Ported from: -tests/static/state_tests/stRandom2/randomStatetest496Filler.json +state_tests/stRandom2/randomStatetest496Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest496Filler.json"], + ["state_tests/stRandom2/randomStatetest496Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest496( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest496.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,59 +46,56 @@ def test_random_statetest496( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.GASLIMIT - + Op.CALLDATALOAD(offset=Op.PUSH32[0x0]) - + Op.JUMPDEST - + Op.MUL( - Op.SIGNEXTEND, - Op.SIGNEXTEND(Op.PUSH32[0xC350], Op.PUSH32[0x1]), - ) - + Op.SMOD - + Op.SWAP7 - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457f0000000000000000000000000000000000000000000000000000000000000000355b7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3500b0b0207965560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.GASLIMIT + + Op.CALLDATALOAD(offset=Op.PUSH32[0x0]) + + Op.JUMPDEST + + Op.MUL( + Op.SIGNEXTEND, Op.SIGNEXTEND(Op.PUSH32[0xC350], Op.PUSH32[0x1]) + ) + + Op.SMOD + + Op.SWAP7 + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x3cd8f98e1691532041c91df7d39ebf449b04cb9d"), # noqa: E501 + address=Address(0x3CD8F98E1691532041C91DF7D39EBF449B04CB9D), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457f00" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000355b7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3500b0b020796" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457f0000000000000000000000000000000000000000000000000000000000000000355b7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3500b0b020796" # noqa: E501 ), gas_limit=100000, - value=256677208, + value=0xF4C9558, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest497.py b/tests/ported_static/stRandom2/test_random_statetest497.py index 1b8b7c2694f..511f9f4ed96 100644 --- a/tests/ported_static/stRandom2/test_random_statetest497.py +++ b/tests/ported_static/stRandom2/test_random_statetest497.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest497. Ported from: -tests/static/state_tests/stRandom2/randomStatetest497Filler.json +state_tests/stRandom2/randomStatetest497Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest497Filler.json"], + ["state_tests/stRandom2/randomStatetest497Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest497( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest497.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,57 @@ def test_random_statetest497( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff090455 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.DIV( + Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ), + value=Op.PUSH32[0xC350], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xFCD27DEBF054614355478E0FF6C51D24676987C6), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.DIV( - Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), - value=Op.PUSH32[0xC350], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xfcd27debf054614355478e0ff6c51d24676987c6"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff0904" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0904" # noqa: E501 ), gas_limit=100000, - value=1143211377, + value=0x44240571, ) post = { - contract: Account(storage={0: 50000}), + target: Account(storage={0: 50000}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest498.py b/tests/ported_static/stRandom2/test_random_statetest498.py index 40f78ffbed3..4f2ac888eba 100644 --- a/tests/ported_static/stRandom2/test_random_statetest498.py +++ b/tests/ported_static/stRandom2/test_random_statetest498.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest498. Ported from: -tests/static/state_tests/stRandom2/randomStatetest498Filler.json +state_tests/stRandom2/randomStatetest498Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest498Filler.json"], + ["state_tests/stRandom2/randomStatetest498Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest498( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest498.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,154 +47,127 @@ def test_random_statetest498( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.ISZERO(0xD243DBCFDC6982733E4CD626) - + Op.PUSH21[0xFC6CDEC93282FF50EF24D8BE05D58BE29301DDB00D] - + Op.PUSH22[0x47F6B65997E73D232B76D6484C11EB15C87B01F89E27] - + Op.PUSH26[0xC427711BA193E4E163967EFD1B9315187C3227F67B9282FC7524] - + Op.PUSH10[0x2FBF851CB370D396D53F] - + Op.PUSH27[ - 0x86353AACECC5C1EADEDDBB3925522F935FC5ED03568FBF40261C05 - ] - + Op.PUSH11[0x124F1334CC9FA8EEA2BDBF] - + Op.PUSH9[0xF04C10CC08B6BABCBB] - + Op.PUSH15[0xE8D3FB88DD42D06D445B5EAB34CB5D] - + Op.PUSH5[0x408CF652FD] - + Op.PUSH22[0x68ACAA81B573F66FA8781E83185438E42796631AE9A9] - + Op.SWAP9 - + Op.LOG4( - offset=0xB52EFE, - size=0xF1, - topic_1=0x85A2C56B21A53C0E612AE0A8D78D, - topic_2=0x9A5213C33778AF679417D77733645F87B6042BE92C553DBB, - topic_3=0x6F9F495B0AC9E37FBE5F23014C68D8D032BFAE, - topic_4=0x714D986F94FC6354921A9367BB6B9E555F24107CB814557F8BD87547AD612C3E, # noqa: E501 - ) - + Op.SSTORE( - key=0x94198CDB286CD2F21F06659320130750E7AA2C83CEB28015, - value=0xEBB0472B3E, - ) - + Op.PUSH25[0x5C9F02455252560846587006E90CBFFC955445D9EF1F55EEB0] - + Op.PUSH17[0x11C02CEE02DF12DC35B36702539873E4B7] - + Op.PUSH7[0xE4AE9E829A4424] - + Op.PUSH1[0xDD] - + Op.PUSH32[ - 0x845CD37DC08F93BEF98A4D5B53ECD4CF4DD1A5C416F92116160F0FB673C30B78 # noqa: E501 - ] - + Op.PUSH20[0xB85A2FF6331A5D371F3D109F5794D712E03493B1] - + Op.PUSH32[ - 0xC562AC7589411127E654CE32D273F8300CC8544E7BD782AA7828B543958DADF8 # noqa: E501 - ] - + Op.PUSH19[0xD7F13401A51B13835CC8A36BE87CC7347CDF0F] - + Op.PUSH27[ - 0xA2DF420BB03E925C117D4BEFBC7E69472FD75F01F3F6C966DE8181 - ] - + Op.PUSH21[0xABA3B7A43014C3DD39414FB3D239D72E06852AE48E] - + Op.PUSH3[0x3C60A] - + Op.PUSH31[ - 0x844D6FD61C5B519D43780D383D103989F9BFCE5ED122804CBA183C188F5CE4 # noqa: E501 - ] - + Op.PUSH29[ - 0x348A96973ECA904F096AED4FB77D40CA9139447527F267A028EAE5E370 - ] - + Op.PUSH15[0x1975FC3E38327505E81D0E8C9FAB1F] - + Op.PUSH1[0xEC] - + Op.PUSH31[ - 0xCE71CC87510F308984EBDCB8AB84E1905DFDC0A19EE3C5F37E88DC3A9F2649 # noqa: E501 - ] - + Op.PUSH29[ - 0x51427DA28F6D777D9585B4EC790722BACAA179B1DC5B086D945623F9D2 - ] - + Op.SWAP16 - + Op.CALL( - gas=0x1AC754FA, - address=0x1A819DD2E8CEC87D7E886DF4843E21775F6672A4, - value=0x4F4421EB, - args_offset=0x19, - args_size=0x9, - ret_offset=0xC, - ret_size=0x13, - ) - + Op.PUSH22[0x6F9CC63229E7FE309B7A2F1ACF074A43AA4DD2B75BF] - + Op.PUSH14[0xADF21AADB9A3E239A9592F576C92] - + Op.PUSH6[0xEEBD2420E262] - + Op.PUSH14[0x2B2F1F7EE7A56725D7D4FE23DA45] - + Op.PUSH19[0x5E8B709D2976703147EF66A8FC9A6C1225DF7B] - + Op.PUSH26[0xEEC95DDDA5E91C6E19BBC55BAF9D6C440CC805F0D229738D17A7] - + Op.PUSH16[0x95E329F94D5BC48CC5964933F9597FB5] - + Op.PUSH27[ - 0x6F7290649722D68A72FA2D081C4547943B3BBCA2EDC5F4032C5C91 - ] - + Op.PUSH15[0x585FA6ABD1B209E2B6FB64498A37B9] - + Op.PUSH26[0x6C95DA3FDB8013C13EF99ED49B29282AE55458C651FDB8598B52] - + Op.PUSH17[0x24D2DA1E8A7015F65EE4AB0178B68AB8C8] - + Op.PUSH24[0xD55F3C89A7F1F7BC6C0D86BC69688CBCC252972693993BF7] - + Op.PUSH7[0xAAC4EFB2B65B21] - + Op.PUSH13[0xCA2E721DEA3F3B3DF3ABBBFB7B] - + Op.DUP14 - ), + # Source: raw + # 0x6bd243dbcfdc6982733e4cd6261574fc6cdec93282ff50ef24d8be05d58be29301ddb00d7547f6b65997e73d232b76d6484c11eb15c87b01f89e2779c427711ba193e4e163967efd1b9315187c3227f67b9282fc7524692fbf851cb370d396d53f7a86353aacecc5c1eadeddbb3925522f935fc5ed03568fbf40261c056a124f1334cc9fa8eea2bdbf68f04c10cc08b6babcbb6ee8d3fb88dd42d06d445b5eab34cb5d64408cf652fd7568acaa81b573f66fa8781e83185438e42796631ae9a9987f714d986f94fc6354921a9367bb6b9e555f24107cb814557f8bd87547ad612c3e726f9f495b0ac9e37fbe5f23014c68d8d032bfae779a5213c33778af679417d77733645f87b6042be92c553dbb6d85a2c56b21a53c0e612ae0a8d78d60f162b52efea464ebb0472b3e7794198cdb286cd2f21f06659320130750e7aa2c83ceb2801555785c9f02455252560846587006e90cbffc955445d9ef1f55eeb07011c02cee02df12dc35b36702539873e4b766e4ae9e829a442460dd7f845cd37dc08f93bef98a4d5b53ecd4cf4dd1a5c416f92116160f0fb673c30b7873b85a2ff6331a5d371f3d109f5794d712e03493b17fc562ac7589411127e654ce32d273f8300cc8544e7bd782aa7828b543958dadf872d7f13401a51b13835cc8a36be87cc7347cdf0f7aa2df420bb03e925c117d4befbc7e69472fd75f01f3f6c966de818174aba3b7a43014c3dd39414fb3d239d72e06852ae48e6203c60a7e844d6fd61c5b519d43780d383d103989f9bfce5ed122804cba183c188f5ce47c348a96973eca904f096aed4fb77d40ca9139447527f267a028eae5e3706e1975fc3e38327505e81d0e8c9fab1f60ec7ece71cc87510f308984ebdcb8ab84e1905dfdc0a19ee3c5f37e88dc3a9f26497c51427da28f6d777d9585b4ec790722bacaa179b1dc5b086d945623f9d29f6013600c60096019634f4421eb73631ac754faf17506f9cc63229e7fe309b7a2f1acf074a43aa4dd2b75bf6dadf21aadb9a3e239a9592f576c9265eebd2420e2626d2b2f1f7ee7a56725d7d4fe23da45725e8b709d2976703147ef66a8fc9a6c1225df7b79eec95ddda5e91c6e19bbc55baf9d6c440cc805f0d229738d17a76f95e329f94d5bc48cc5964933f9597fb57a6f7290649722d68a72fa2d081c4547943b3bbca2edc5f4032c5c916e585fa6abd1b209e2b6fb64498a37b9796c95da3fdb8013c13ef99ed49b29282ae55458c651fdb8598b527024d2da1e8a7015f65ee4ab0178b68ab8c877d55f3c89a7f1f7bc6c0d86bc69688cbcc252972693993bf766aac4efb2b65b216cca2e721dea3f3b3df3abbbfb7b8d # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.ISZERO(0xD243DBCFDC6982733E4CD626) + + Op.PUSH21[0xFC6CDEC93282FF50EF24D8BE05D58BE29301DDB00D] + + Op.PUSH22[0x47F6B65997E73D232B76D6484C11EB15C87B01F89E27] + + Op.PUSH26[0xC427711BA193E4E163967EFD1B9315187C3227F67B9282FC7524] + + Op.PUSH10[0x2FBF851CB370D396D53F] + + Op.PUSH27[0x86353AACECC5C1EADEDDBB3925522F935FC5ED03568FBF40261C05] + + Op.PUSH11[0x124F1334CC9FA8EEA2BDBF] + + Op.PUSH9[0xF04C10CC08B6BABCBB] + + Op.PUSH15[0xE8D3FB88DD42D06D445B5EAB34CB5D] + + Op.PUSH5[0x408CF652FD] + + Op.PUSH22[0x68ACAA81B573F66FA8781E83185438E42796631AE9A9] + + Op.SWAP9 + + Op.LOG4( + offset=0xB52EFE, + size=0xF1, + topic_1=0x85A2C56B21A53C0E612AE0A8D78D, + topic_2=0x9A5213C33778AF679417D77733645F87B6042BE92C553DBB, + topic_3=0x6F9F495B0AC9E37FBE5F23014C68D8D032BFAE, + topic_4=0x714D986F94FC6354921A9367BB6B9E555F24107CB814557F8BD87547AD612C3E, # noqa: E501 + ) + + Op.SSTORE( + key=0x94198CDB286CD2F21F06659320130750E7AA2C83CEB28015, + value=0xEBB0472B3E, + ) + + Op.PUSH25[0x5C9F02455252560846587006E90CBFFC955445D9EF1F55EEB0] + + Op.PUSH17[0x11C02CEE02DF12DC35B36702539873E4B7] + + Op.PUSH7[0xE4AE9E829A4424] + + Op.PUSH1[0xDD] + + Op.PUSH32[ + 0x845CD37DC08F93BEF98A4D5B53ECD4CF4DD1A5C416F92116160F0FB673C30B78 + ] + + Op.PUSH20[0xB85A2FF6331A5D371F3D109F5794D712E03493B1] + + Op.PUSH32[ + 0xC562AC7589411127E654CE32D273F8300CC8544E7BD782AA7828B543958DADF8 + ] + + Op.PUSH19[0xD7F13401A51B13835CC8A36BE87CC7347CDF0F] + + Op.PUSH27[0xA2DF420BB03E925C117D4BEFBC7E69472FD75F01F3F6C966DE8181] + + Op.PUSH21[0xABA3B7A43014C3DD39414FB3D239D72E06852AE48E] + + Op.PUSH3[0x3C60A] + + Op.PUSH31[ + 0x844D6FD61C5B519D43780D383D103989F9BFCE5ED122804CBA183C188F5CE4 + ] + + Op.PUSH29[ + 0x348A96973ECA904F096AED4FB77D40CA9139447527F267A028EAE5E370 + ] + + Op.PUSH15[0x1975FC3E38327505E81D0E8C9FAB1F] + + Op.PUSH1[0xEC] + + Op.PUSH31[ + 0xCE71CC87510F308984EBDCB8AB84E1905DFDC0A19EE3C5F37E88DC3A9F2649 + ] + + Op.PUSH29[ + 0x51427DA28F6D777D9585B4EC790722BACAA179B1DC5B086D945623F9D2 + ] + + Op.SWAP16 + + Op.CALL( + gas=0x1AC754FA, + address=0x1A819DD2E8CEC87D7E886DF4843E21775F6672A4, + value=0x4F4421EB, + args_offset=0x19, + args_size=0x9, + ret_offset=0xC, + ret_size=0x13, + ) + + Op.PUSH22[0x6F9CC63229E7FE309B7A2F1ACF074A43AA4DD2B75BF] + + Op.PUSH14[0xADF21AADB9A3E239A9592F576C92] + + Op.PUSH6[0xEEBD2420E262] + + Op.PUSH14[0x2B2F1F7EE7A56725D7D4FE23DA45] + + Op.PUSH19[0x5E8B709D2976703147EF66A8FC9A6C1225DF7B] + + Op.PUSH26[0xEEC95DDDA5E91C6E19BBC55BAF9D6C440CC805F0D229738D17A7] + + Op.PUSH16[0x95E329F94D5BC48CC5964933F9597FB5] + + Op.PUSH27[0x6F7290649722D68A72FA2D081C4547943B3BBCA2EDC5F4032C5C91] + + Op.PUSH15[0x585FA6ABD1B209E2B6FB64498A37B9] + + Op.PUSH26[0x6C95DA3FDB8013C13EF99ED49B29282AE55458C651FDB8598B52] + + Op.PUSH17[0x24D2DA1E8A7015F65EE4AB0178B68AB8C8] + + Op.PUSH24[0xD55F3C89A7F1F7BC6C0D86BC69688CBCC252972693993BF7] + + Op.PUSH7[0xAAC4EFB2B65B21] + + Op.PUSH13[0xCA2E721DEA3F3B3DF3ABBBFB7B] + + Op.DUP14, nonce=0, - address=Address("0x1a819dd2e8cec87d7e886df4843e21775f6672a4"), # noqa: E501 + address=Address(0x1A819DD2E8CEC87D7E886DF4843E21775F6672A4), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7349d4fb4fa5c26263087f9f9885a7033ed1f85282806175626c7aff6e85d032f987501c" # noqa: E501 - "7f07e672602eea9a752c14f2fea044cbadb4acbbbece186bfae0ddfa5c3a4f602e867451" # noqa: E501 - "6e7ead3a1b9f0c321f53474588f38a996f7512fbdf364372a2f5b5329a5866cb8867c095" # noqa: E501 - "26eabd04524486650cba94b9d20e8079263be537932206f67f64915b81ac1ea4b1f3723b" # noqa: E501 - "aa86b2d9ad667f11ff36b05f0ec27d14051ce250c5c524eaa31472f153582c9aafa7a0b3" # noqa: E501 - "17230863944f1b5e7444ad06685190a6f9ff72b7af0f52a4619591d022037c3bd19aa01d" # noqa: E501 - "358a540c4ec6e43870dc653bab5c707f953b919477ed89448472e11b10e241ad82a32be0" # noqa: E501 - "2adf21cd183ae47f2776bce3701b75afea9a175cd04e616f3a1913f3be49294c5e633b4d" # noqa: E501 - "01cf719e06325d1f498e74d5a153c41ba83f49339f6d7f4711edfa5370e2ee9c7986401c" # noqa: E501 - "6b27b5cb4f46435c84c8f0239876415740df4646423c790ce1917c3e178e3f0117f07b8a" # noqa: E501 - "e37a6353868f7ca9313379cd727ae9732fb0a56da2b8a4cb682eb38ca47df0353f6b9322" # noqa: E501 - "ac474740ac5b14488677765f48677e720ed20e2c76b94ca77acdd3e9e54f2230a0c2d120" # noqa: E501 - "3130ebbf95aeb6212d52393d33efa63f79c2feba7168b770a3cd3fa97b8b515fd38a1995" # noqa: E501 - "8fccde6ec198be7d2f780422a69c9047ab7474d8f1c3272b9836bca4050a856a916e9bb3" # noqa: E501 - "0724727d1ba26058199098d65ad54d5580e51dcb2bd077db415b0ff41457c68f61d0f86d" # noqa: E501 - "8c4c549388abf78a75cc9163016c7e988e60e97b95f1d253b52168cbb01407c8ebca87f9" # noqa: E501 - "50ca4049e12ac76cbe3e374065a3c7703bcd5f7af279a1c12425c93ef8e74a12b699f4a9" # noqa: E501 - "c651db15561be1d91ca95575636dad39636bea70b5309b3354a73bb1b83ba72ff63f6918" # noqa: E501 - "2888e8f17d3e1ec0367173eb3831614e653fc63989af65bc9b676645638915ede2603666" # noqa: E501 - "ccff0c03af0fda7ad7b7e846076158daad3df7ad07e1cfe8ce41757c4d77f02d65bee264" # noqa: E501 - "fe0a98374a61532e797167af5719a427a267234fa27697f1a3f47a1453ea150821da1c66" # noqa: E501 - "5de7878ac0e5e26fc78911427cc1d8d0b029ee09bf9322446635d50de718ecb79f" # noqa: E501 + to=target, + data=Bytes( + "7349d4fb4fa5c26263087f9f9885a7033ed1f85282806175626c7aff6e85d032f987501c7f07e672602eea9a752c14f2fea044cbadb4acbbbece186bfae0ddfa5c3a4f602e8674516e7ead3a1b9f0c321f53474588f38a996f7512fbdf364372a2f5b5329a5866cb8867c09526eabd04524486650cba94b9d20e8079263be537932206f67f64915b81ac1ea4b1f3723baa86b2d9ad667f11ff36b05f0ec27d14051ce250c5c524eaa31472f153582c9aafa7a0b317230863944f1b5e7444ad06685190a6f9ff72b7af0f52a4619591d022037c3bd19aa01d358a540c4ec6e43870dc653bab5c707f953b919477ed89448472e11b10e241ad82a32be02adf21cd183ae47f2776bce3701b75afea9a175cd04e616f3a1913f3be49294c5e633b4d01cf719e06325d1f498e74d5a153c41ba83f49339f6d7f4711edfa5370e2ee9c7986401c6b27b5cb4f46435c84c8f0239876415740df4646423c790ce1917c3e178e3f0117f07b8ae37a6353868f7ca9313379cd727ae9732fb0a56da2b8a4cb682eb38ca47df0353f6b9322ac474740ac5b14488677765f48677e720ed20e2c76b94ca77acdd3e9e54f2230a0c2d1203130ebbf95aeb6212d52393d33efa63f79c2feba7168b770a3cd3fa97b8b515fd38a19958fccde6ec198be7d2f780422a69c9047ab7474d8f1c3272b9836bca4050a856a916e9bb30724727d1ba26058199098d65ad54d5580e51dcb2bd077db415b0ff41457c68f61d0f86d8c4c549388abf78a75cc9163016c7e988e60e97b95f1d253b52168cbb01407c8ebca87f950ca4049e12ac76cbe3e374065a3c7703bcd5f7af279a1c12425c93ef8e74a12b699f4a9c651db15561be1d91ca95575636dad39636bea70b5309b3354a73bb1b83ba72ff63f69182888e8f17d3e1ec0367173eb3831614e653fc63989af65bc9b676645638915ede2603666ccff0c03af0fda7ad7b7e846076158daad3df7ad07e1cfe8ce41757c4d77f02d65bee264fe0a98374a61532e797167af5719a427a267234fa27697f1a3f47a1453ea150821da1c665de7878ac0e5e26fc78911427cc1d8d0b029ee09bf9322446635d50de718ecb79f" # noqa: E501 ), gas_limit=824267821, - value=1958828689, + value=0x74C15A91, ) post = { - contract: Account( + target: Account( storage={ 0x94198CDB286CD2F21F06659320130750E7AA2C83CEB28015: 0xEBB0472B3E, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest499.py b/tests/ported_static/stRandom2/test_random_statetest499.py index ae158835853..c86a08df6b5 100644 --- a/tests/ported_static/stRandom2/test_random_statetest499.py +++ b/tests/ported_static/stRandom2/test_random_statetest499.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest499. Ported from: -tests/static/state_tests/stRandom2/randomStatetest499Filler.json +state_tests/stRandom2/randomStatetest499Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest499Filler.json"], + ["state_tests/stRandom2/randomStatetest499Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest499( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest499.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest499( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.CODECOPY( - dest_offset=Op.PUSH32[0x0], - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SWAP16 - + Op.DUP7 - + Op.SWAP11 - + Op.SELFDESTRUCT - + Op.EXTCODESIZE - + Op.MOD - + Op.CALLER - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.CODESIZE) - ), + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000399f869aff3b06333860005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.CODECOPY( + dest_offset=Op.PUSH32[0x0], + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SWAP16 + + Op.DUP7 + + Op.SWAP11 + + Op.SELFDESTRUCT + + Op.EXTCODESIZE + + Op.MOD + + Op.CALLER + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.CODESIZE), nonce=0, - address=Address("0x3e92e47a39045fb9403ee960c8567d343dd24997"), # noqa: E501 + address=Address(0x3E92E47A39045FB9403EE960C8567D343DD24997), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000" # noqa: E501 - "0000000000000000000000000000007f0000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000399f869aff3b063338" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000399f869aff3b063338" # noqa: E501 ), gas_limit=100000, - value=2058040485, + value=0x7AAB34A5, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest500.py b/tests/ported_static/stRandom2/test_random_statetest500.py index 45136463f20..5f704ff3d29 100644 --- a/tests/ported_static/stRandom2/test_random_statetest500.py +++ b/tests/ported_static/stRandom2/test_random_statetest500.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest500. Ported from: -tests/static/state_tests/stRandom2/randomStatetest500Filler.json +state_tests/stRandom2/randomStatetest500Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest500Filler.json"], + ["state_tests/stRandom2/randomStatetest500Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest500( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest500.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,60 @@ def test_random_statetest500( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f87196584968a97046c6791993114825560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.DUP2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x87196584968A97046C67919931148255 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x869EFA3F6679D21D5A02396162D019DC6646B502), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.DUP2 - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x87196584968A97046C67919931148255, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x869efa3f6679d21d5a02396162d019dc6646b502"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff817fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff6f87196584968a97046c679199311482" # noqa: E501 + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f87196584968a97046c679199311482" # noqa: E501 ), gas_limit=100000, - value=34424143, + value=0x20D454F, ) post = { - contract: Account(storage={0: 0x87196584968A97046C67919931148255}), + target: Account( + storage={0: 0x87196584968A97046C67919931148255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest501.py b/tests/ported_static/stRandom2/test_random_statetest501.py index e5c191c058c..7eb49ed7e1a 100644 --- a/tests/ported_static/stRandom2/test_random_statetest501.py +++ b/tests/ported_static/stRandom2/test_random_statetest501.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest501. Ported from: -tests/static/state_tests/stRandom2/randomStatetest501Filler.json +state_tests/stRandom2/randomStatetest501Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest501Filler.json"], + ["state_tests/stRandom2/randomStatetest501Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest501( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest501.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,77 +46,70 @@ def test_random_statetest501( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff095560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + value=Op.PUSH32[0xC350], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x8DCBDF86469AD8B7711977CE5C41CFAC654EA87A), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - value=Op.PUSH32[0xC350], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x8dcbdf86469ad8b7711977ce5c41cfac654ea87a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff0955" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0955" # noqa: E501 ), gas_limit=100000, - value=156676500, + value=0x956B194, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000: 50000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest502.py b/tests/ported_static/stRandom2/test_random_statetest502.py index 8bbc58876a8..25f5fe7418e 100644 --- a/tests/ported_static/stRandom2/test_random_statetest502.py +++ b/tests/ported_static/stRandom2/test_random_statetest502.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest502. Ported from: -tests/static/state_tests/stRandom2/randomStatetest502Filler.json +state_tests/stRandom2/randomStatetest502Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest502Filler.json"], + ["state_tests/stRandom2/randomStatetest502Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest502( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest502.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,66 +47,61 @@ def test_random_statetest502( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.DUP1 - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.SSTORE( - key=0xB59C66369A85A46DA1821861586378600051, - value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c350807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b59c66369a85a46da182186158637860005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.DUP1 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.SSTORE( + key=0xB59C66369A85A46DA1821861586378600051, + value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c350807fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "0000945304eb96065b2a98b57a48a06ae28d285a71b57e7f000000000000000000000000" # noqa: E501 - "945304eb96065b2a98b57a48a06ae28d285a71b59c66369a85a46da1821861586378" # noqa: E501 + to=contract_0, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c350807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b59c66369a85a46da1821861586378" # noqa: E501 ), gas_limit=100000, - value=345377880, + value=0x14960C58, ) post = { - contract: Account( + contract_0: Account( storage={ 0xB59C66369A85A46DA1821861586378600051: 0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest503.py b/tests/ported_static/stRandom2/test_random_statetest503.py index f6dc3de0d31..c9faf48c8eb 100644 --- a/tests/ported_static/stRandom2/test_random_statetest503.py +++ b/tests/ported_static/stRandom2/test_random_statetest503.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest503. Ported from: -tests/static/state_tests/stRandom2/randomStatetest503Filler.json +state_tests/stRandom2/randomStatetest503Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest503Filler.json"], + ["state_tests/stRandom2/randomStatetest503Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest503( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest503.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,58 @@ def test_random_statetest503( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f0886a83c66553c9889528d8f1294ff5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] * 2 + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x886A83C66553C9889528D8F1294FF55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDE66163071CCA81175C48E89C536F856AE404946), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x886A83C66553C9889528D8F1294FF55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xde66163071cca81175c48e89c536f856ae404946"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000006f0886a83c66553c9889528d8f1294ff" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f0886a83c66553c9889528d8f1294ff" # noqa: E501 ), gas_limit=100000, - value=2071462314, + value=0x7B7801AA, ) post = { - contract: Account(storage={0: 0x886A83C66553C9889528D8F1294FF55}), + target: Account( + storage={0: 0x886A83C66553C9889528D8F1294FF55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest504.py b/tests/ported_static/stRandom2/test_random_statetest504.py index a1a42c94fe4..0a3f6789056 100644 --- a/tests/ported_static/stRandom2/test_random_statetest504.py +++ b/tests/ported_static/stRandom2/test_random_statetest504.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest504. Ported from: -tests/static/state_tests/stRandom2/randomStatetest504Filler.json +state_tests/stRandom2/randomStatetest504Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest504Filler.json"], + ["state_tests/stRandom2/randomStatetest504Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest504( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest504.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest504( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457f0000000000000000000000000000000000000000000000000000000000000001e37f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c35001589a84106d9c60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe457f00000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000001e37f000000000000000000" # noqa: E501 - "0000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c35001589a84106d9c60005155" + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457f0000000000000000000000000000000000000000000000000000000000000001e37f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c35001589a84106d9c60005155" # noqa: E501 ), nonce=0, - address=Address("0x2505f255caec67dd060d15a5d7a77efb5612b8b2"), # noqa: E501 + address=Address(0x2505F255CAEC67DD060D15A5D7A77EFB5612B8B2), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe457f00000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000001e37f000000000000000000" # noqa: E501 - "0000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c35001589a84106d9c" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457f0000000000000000000000000000000000000000000000000000000000000001e37f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c35001589a84106d9c" # noqa: E501 ), gas_limit=100000, - value=1095126158, + value=0x41464C8E, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest505.py b/tests/ported_static/stRandom2/test_random_statetest505.py index 16216d36de8..0819fbe3ed0 100644 --- a/tests/ported_static/stRandom2/test_random_statetest505.py +++ b/tests/ported_static/stRandom2/test_random_statetest505.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest505. Ported from: -tests/static/state_tests/stRandom2/randomStatetest505Filler.json +state_tests/stRandom2/randomStatetest505Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest505Filler.json"], + ["state_tests/stRandom2/randomStatetest505Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest505( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest505.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,62 @@ def test_random_statetest505( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000006f44a06f550371317376738c539984375560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.TIMESTAMP + + Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.GASLIMIT + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x44A06F550371317376738C5399843755 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7AA0FC7F8AA86925083A8FE4388167A152409E49), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.TIMESTAMP - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.GASLIMIT - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x44A06F550371317376738C5399843755, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7aa0fc7f8aa86925083a8fe4388167a152409e49"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe457f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000007f000000000000000000000001" # noqa: E501 - "00000000000000000000000000000000000000006f44a06f550371317376738c53998437" # noqa: E501 + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe457f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000006f44a06f550371317376738c53998437" # noqa: E501 ), gas_limit=100000, - value=1075033443, + value=0x4013B563, ) post = { - contract: Account(storage={0: 0x44A06F550371317376738C5399843755}), + target: Account( + storage={0: 0x44A06F550371317376738C5399843755}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest506.py b/tests/ported_static/stRandom2/test_random_statetest506.py index c16299db33e..a60ce2a0663 100644 --- a/tests/ported_static/stRandom2/test_random_statetest506.py +++ b/tests/ported_static/stRandom2/test_random_statetest506.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest506. Ported from: -tests/static/state_tests/stRandom2/randomStatetest506Filler.json +state_tests/stRandom2/randomStatetest506Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest506Filler.json"], + ["state_tests/stRandom2/randomStatetest506Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest506( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest506.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,64 @@ def test_random_statetest506( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000000042377f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000006ba218f370862059149e3cff2060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.CALLDATACOPY( + dest_offset=Op.TIMESTAMP, + offset=Op.PUSH32[0x0], + size=Op.PUSH32[0xC350], + ) + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xA218F370862059149E3CFF20 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF1812415DD5CF70796F6FF36F7BE5BD8ACD52A9B), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.CALLDATACOPY( - dest_offset=Op.TIMESTAMP, - offset=Op.PUSH32[0x0], - size=Op.PUSH32[0xC350], - ) - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), value=0xA218F370862059149E3CFF20 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf1812415dd5cf70796f6ff36f7be5bd8acd52a9b"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000042377f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000001" # noqa: E501 - "00000000000000000000000000000000000000006ba218f370862059149e3cff20" # noqa: E501 + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000000042377f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000006ba218f370862059149e3cff20" # noqa: E501 ), gas_limit=100000, - value=947509958, + value=0x3879DAC6, ) post = { - contract: Account(storage={0: 0xA218F370862059149E3CFF20}), + target: Account( + storage={ + 0: 0xA218F370862059149E3CFF20, + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0, # noqa: E501 + }, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest507.py b/tests/ported_static/stRandom2/test_random_statetest507.py index 38e723e3524..00c96ea5327 100644 --- a/tests/ported_static/stRandom2/test_random_statetest507.py +++ b/tests/ported_static/stRandom2/test_random_statetest507.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest507. Ported from: -tests/static/state_tests/stRandom2/randomStatetest507Filler.json +state_tests/stRandom2/randomStatetest507Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest507Filler.json"], + ["state_tests/stRandom2/randomStatetest507Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest507( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest507.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,63 +47,59 @@ def test_random_statetest507( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x5a7f0000000000000000000000010000000000000000000000000000000000000000327f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000006f99a4527612a199a06d1a348b02563a9b60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GAS + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.ORIGIN + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x99A4527612A199A06D1A348B02563A9B ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDA04E91DAE336F3095911CE42A208D591605593E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GAS - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.ORIGIN - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x99A4527612A199A06D1A348B02563A9B, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xda04e91dae336f3095911ce42a208d591605593e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "5a7f0000000000000000000000010000000000000000000000000000000000000000327f" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000017f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000" # noqa: E501 - "0000004f3f701464972e74606d6ea82d4d3080599a0e796f99a4527612a199a06d1a348b" # noqa: E501 - "02563a9b" + to=target, + data=Bytes( + "5a7f0000000000000000000000010000000000000000000000000000000000000000327f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f99a4527612a199a06d1a348b02563a9b" # noqa: E501 ), gas_limit=1868758461, - value=696746762, + value=0x2987830A, ) post = { - contract: Account(storage={0: 0x99A4527612A199A06D1A348B02563A9B}), + target: Account( + storage={0: 0x99A4527612A199A06D1A348B02563A9B}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest508.py b/tests/ported_static/stRandom2/test_random_statetest508.py index aefe7d54094..e7d3533fc2c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest508.py +++ b/tests/ported_static/stRandom2/test_random_statetest508.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest508. Ported from: -tests/static/state_tests/stRandom2/randomStatetest508Filler.json +state_tests/stRandom2/randomStatetest508Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest508Filler.json"], + ["state_tests/stRandom2/randomStatetest508Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest508( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest508.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,41 +46,44 @@ def test_random_statetest508( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x41414444424143448231537241317f55 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("41414444424143448231537241317f55"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x803d872dc9ff2fb294aedd7722eec3c197776ebc"), # noqa: E501 + address=Address(0x803D872DC9FF2FB294AEDD7722EEC3C197776EBC), # noqa: E501 ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) + ), + balance=46, + nonce=0, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest509.py b/tests/ported_static/stRandom2/test_random_statetest509.py index 7a34bac808d..df596f05e0b 100644 --- a/tests/ported_static/stRandom2/test_random_statetest509.py +++ b/tests/ported_static/stRandom2/test_random_statetest509.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest509. Ported from: -tests/static/state_tests/stRandom2/randomStatetest509Filler.json +state_tests/stRandom2/randomStatetest509Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest509Filler.json"], + ["state_tests/stRandom2/randomStatetest509Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest509( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest509.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,105 +46,49 @@ def test_random_statetest509( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x4542 + target = pre.deploy_contract( # noqa: F841 code=Op.GASLIMIT + Op.TIMESTAMP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbe28cde0901eda46d09a636150c7577a6cba7d0f"), # noqa: E501 + address=Address(0xBE28CDE0901EDA46D09A636150C7577A6CBA7D0F), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("42"), - gas_limit=400000, - value=100000, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest509Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest509_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=Op.GASLIMIT + Op.TIMESTAMP, - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xbe28cde0901eda46d09a636150c7577a6cba7d0f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex("4542"), + balance=0xDE0B6B3A76586A0, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest510.py b/tests/ported_static/stRandom2/test_random_statetest510.py index 5bd03bf4768..5687c6349da 100644 --- a/tests/ported_static/stRandom2/test_random_statetest510.py +++ b/tests/ported_static/stRandom2/test_random_statetest510.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest510. Ported from: -tests/static/state_tests/stRandom2/randomStatetest510Filler.json +state_tests/stRandom2/randomStatetest510Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest510Filler.json"], + ["state_tests/stRandom2/randomStatetest510Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest510( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest510.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,62 +47,58 @@ def test_random_statetest510( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000447f00000000000000000000000000000000000000000000000000000000000000005a456ff23a88535564545969f162615b93325560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PREVRANDAO + + Op.PUSH32[0x0] + + Op.GAS + + Op.GASLIMIT + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xF23A88535564545969F162615B933255 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xABDD1DD76E15AE75FF51BD7F2B12571004CDD8BA), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PREVRANDAO - + Op.PUSH32[0x0] - + Op.GAS - + Op.GASLIMIT - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xF23A88535564545969F162615B933255, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xabdd1dd76e15ae75ff51bd7f2b12571004cdd8ba"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000100000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e79447f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000005a456ff23a88535564545969f162" # noqa: E501 - "615b9332" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79447f00000000000000000000000000000000000000000000000000000000000000005a456ff23a88535564545969f162615b9332" # noqa: E501 ), gas_limit=1442721045, - value=1913364794, + value=0x720BA13A, ) post = { - contract: Account(storage={0: 0xF23A88535564545969F162615B933255}), + target: Account( + storage={0: 0xF23A88535564545969F162615B933255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest511.py b/tests/ported_static/stRandom2/test_random_statetest511.py index 92b98e88b13..3c157fa97a1 100644 --- a/tests/ported_static/stRandom2/test_random_statetest511.py +++ b/tests/ported_static/stRandom2/test_random_statetest511.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest511. Ported from: -tests/static/state_tests/stRandom2/randomStatetest511Filler.json +state_tests/stRandom2/randomStatetest511Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest511Filler.json"], + ["state_tests/stRandom2/randomStatetest511Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest511( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest511.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,59 @@ def test_random_statetest511( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff416f6a52027f41f267453843630a6644414560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.COINBASE + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x6A52027F41F267453843630A66444145 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5918A547A35780BD0961433F6B0A8AB1158E16F2), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.COINBASE - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x6A52027F41F267453843630A66444145, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5918a547a35780bd0961433f6b0a8ab1158e16f2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff416f6a52027f41f267453843630a66444145" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff416f6a52027f41f267453843630a66444145" # noqa: E501 ), gas_limit=100000, - value=462006051, + value=0x1B89A723, ) post = { - contract: Account(storage={0: 0x6A52027F41F267453843630A66444145}), + target: Account( + storage={0: 0x6A52027F41F267453843630A66444145}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest512.py b/tests/ported_static/stRandom2/test_random_statetest512.py index 05cae7fec6f..7651cb9e11a 100644 --- a/tests/ported_static/stRandom2/test_random_statetest512.py +++ b/tests/ported_static/stRandom2/test_random_statetest512.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest512. Ported from: -tests/static/state_tests/stRandom2/randomStatetest512Filler.json +state_tests/stRandom2/randomStatetest512Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest512Filler.json"], + ["state_tests/stRandom2/randomStatetest512Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest512( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest512.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,62 @@ def test_random_statetest512( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f3b5bff4056709774995150026344925560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.NUMBER + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x3B5BFF40567097749951500263449255 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE3CC9753FC23E1570C7CDE7B9C7D2253CE100254), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.NUMBER - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x3B5BFF40567097749951500263449255, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe3cc9753fc23e1570c7cde7b9c7d2253ce100254"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c350437fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6f3b5bff405670977499515002634492" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f3b5bff405670977499515002634492" # noqa: E501 ), gas_limit=100000, - value=871411208, + value=0x33F0AE08, ) post = { - contract: Account(storage={0: 0x3B5BFF40567097749951500263449255}), + target: Account( + storage={0: 0x3B5BFF40567097749951500263449255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest513.py b/tests/ported_static/stRandom2/test_random_statetest513.py index 295709bc716..01c5d6eaaef 100644 --- a/tests/ported_static/stRandom2/test_random_statetest513.py +++ b/tests/ported_static/stRandom2/test_random_statetest513.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest513. Ported from: -tests/static/state_tests/stRandom2/randomStatetest513Filler.json +state_tests/stRandom2/randomStatetest513Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest513Filler.json"], + ["state_tests/stRandom2/randomStatetest513Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest513( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest513.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest513( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff3b437ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001982046817382a13afa3760088d55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff3b437ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001982046817382a13afa3760088d55" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7254B47942E53D7BEB2E156F9239A7690AF65736), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff3b437fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000001982046817382a13afa3760088d55" # noqa: E501 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7254b47942e53d7beb2e156f9239a7690af65736"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff3b437fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000001982046817382a13afa3760088d" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff3b437ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001982046817382a13afa3760088d" # noqa: E501 ), gas_limit=100000, - value=406473464, + value=0x183A4AF8, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest514.py b/tests/ported_static/stRandom2/test_random_statetest514.py index 80d3e2d01c1..9893ae4df66 100644 --- a/tests/ported_static/stRandom2/test_random_statetest514.py +++ b/tests/ported_static/stRandom2/test_random_statetest514.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest514. Ported from: -tests/static/state_tests/stRandom2/randomStatetest514Filler.json +state_tests/stRandom2/randomStatetest514Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest514Filler.json"], + ["state_tests/stRandom2/randomStatetest514Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest514( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest514.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,58 @@ def test_random_statetest514( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe44447f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506c8ea356796d65546d3883768f5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PREVRANDAO * 2 + + Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x8EA356796D65546D3883768F55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xBE3897120C02CF547BD00C022D454CF657A04217), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PREVRANDAO - + Op.PREVRANDAO - + Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x8EA356796D65546D3883768F55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xbe3897120c02cf547bd00c022d454cf657a04217"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe44447f" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000c3507f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000017fffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c3506c8ea356796d65546d3883768f" # noqa: E501 + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe44447f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3506c8ea356796d65546d3883768f" # noqa: E501 ), gas_limit=100000, - value=274563245, + value=0x105D80AD, ) post = { - contract: Account(storage={0: 0x8EA356796D65546D3883768F55}), + target: Account(storage={0: 0x8EA356796D65546D3883768F55}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest516.py b/tests/ported_static/stRandom2/test_random_statetest516.py index d73fe50f722..70a22ec2f03 100644 --- a/tests/ported_static/stRandom2/test_random_statetest516.py +++ b/tests/ported_static/stRandom2/test_random_statetest516.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest516. Ported from: -tests/static/state_tests/stRandom2/randomStatetest516Filler.json +state_tests/stRandom2/randomStatetest516Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest516Filler.json"], + ["state_tests/stRandom2/randomStatetest516Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest516( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest516.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,76 +46,69 @@ def test_random_statetest516( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - 0x32787358019B3918686194, - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6a32787358019b39186861940960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + 0x32787358019B3918686194, + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), nonce=0, - address=Address("0x1853a343dcc27331d135d00368c976e01a147522"), # noqa: E501 + address=Address(0x1853A343DCC27331D135D00368C976E01A147522), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff6a32787358019b391868619409" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6a32787358019b391868619409" # noqa: E501 ), gas_limit=100000, - value=46630890, + value=0x2C787EA, ) post = { - contract: Account( + target: Account( storage={ 0: 0x32787358019B3918686193FFFFFFFFFFFFFFFFFFCD878CA7FE64C6E7979E6C, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest517.py b/tests/ported_static/stRandom2/test_random_statetest517.py index c7c4d65ce9b..4cee0263f2a 100644 --- a/tests/ported_static/stRandom2/test_random_statetest517.py +++ b/tests/ported_static/stRandom2/test_random_statetest517.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest517. Ported from: -tests/static/state_tests/stRandom2/randomStatetest517Filler.json +state_tests/stRandom2/randomStatetest517Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest517Filler.json"], + ["state_tests/stRandom2/randomStatetest517Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest517( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest517.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,63 @@ def test_random_statetest517( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.GASPRICE - + Op.PUSH16[0x450831A46A867F32569596F0099F7B8C] - + Op.SWAP2 - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff3a6f450831a46a867f32569596f0099f7b8c915560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.GASPRICE + + Op.PUSH16[0x450831A46A867F32569596F0099F7B8C] + + Op.SWAP2 + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x0fe6decc565c9f9247255d874ddb1b4d613d2b47"), # noqa: E501 + address=Address(0x0FE6DECC565C9F9247255D874DDB1B4D613D2B47), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff3a6f450831a46a867f32569596f009" # noqa: E501 - "9f7b8c91" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff3a6f450831a46a867f32569596f0099f7b8c91" # noqa: E501 ), gas_limit=100000, - value=1922148943, + value=0x7291AA4F, ) post = { - contract: Account( + target: Account( storage={ 0: 0x450831A46A867F32569596F0099F7B8C, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 10, }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest518.py b/tests/ported_static/stRandom2/test_random_statetest518.py index b1c26b5e0ec..f50a051705e 100644 --- a/tests/ported_static/stRandom2/test_random_statetest518.py +++ b/tests/ported_static/stRandom2/test_random_statetest518.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest518. Ported from: -tests/static/state_tests/stRandom2/randomStatetest518Filler.json +state_tests/stRandom2/randomStatetest518Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest518Filler.json"], + ["state_tests/stRandom2/randomStatetest518Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest518( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest518.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,60 @@ def test_random_statetest518( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x3C589F416D947A5134F268515B6C9255, - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f3c589f416d947a5134f268515b6c925560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x3C589F416D947A5134F268515B6C9255 ), nonce=0, - address=Address("0x47e68acdbfc1ed42dca998d584eab31897f4d6a7"), # noqa: E501 + address=Address(0x47E68ACDBFC1ED42DCA998D584EAB31897F4D6A7), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c3507f0000000000000000000000004f3f701464" # noqa: E501 - "972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff6f3c589f416d947a5134f268515b6c92" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f3c589f416d947a5134f268515b6c92" # noqa: E501 ), gas_limit=100000, - value=1096593865, + value=0x415CB1C9, ) post = { - contract: Account(storage={0: 0x3C589F416D947A5134F268515B6C9255}), + target: Account( + storage={0: 0x3C589F416D947A5134F268515B6C9255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest519.py b/tests/ported_static/stRandom2/test_random_statetest519.py index bd8f5f0a23f..f9698ab7c8d 100644 --- a/tests/ported_static/stRandom2/test_random_statetest519.py +++ b/tests/ported_static/stRandom2/test_random_statetest519.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest519. Ported from: -tests/static/state_tests/stRandom2/randomStatetest519Filler.json +state_tests/stRandom2/randomStatetest519Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest519Filler.json"], + ["state_tests/stRandom2/randomStatetest519Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest519( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest519.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,52 @@ def test_random_statetest519( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000001000000000000000000000000000000000000000009457f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3501a02556b85a4531155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000001000000000000000000000000000000000000000009457f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c3501a02556b85a4531155" + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000001000000000000000000000000000000000000000009457f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3501a02556b85a4531155" # noqa: E501 ), nonce=0, - address=Address("0x085d89dcbf18eb3da2e46582049e75a78b4b3667"), # noqa: E501 + address=Address(0x085D89DCBF18EB3DA2E46582049E75A78B4B3667), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000001000000000000000000000000000000000000000009457f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000c3501a02556b85a45311" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000001000000000000000000000000000000000000000009457f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3501a02556b85a45311" # noqa: E501 ), gas_limit=100000, - value=245898175, + value=0xEA81BBF, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest520.py b/tests/ported_static/stRandom2/test_random_statetest520.py index 1bdcb1a225f..2418d03c7ac 100644 --- a/tests/ported_static/stRandom2/test_random_statetest520.py +++ b/tests/ported_static/stRandom2/test_random_statetest520.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest520. Ported from: -tests/static/state_tests/stRandom2/randomStatetest520Filler.json +state_tests/stRandom2/randomStatetest520Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest520Filler.json"], + ["state_tests/stRandom2/randomStatetest520Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest520( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest520.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,79 +46,70 @@ def test_random_statetest520( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff19030860005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.ADDMOD( + Op.SUB( + Op.NOT( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + ), + Op.PUSH32[0x1], + ), + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xCADE5765CAC2E02A18BC236E1F6AA68271F2F26C), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.ADDMOD( - Op.SUB( - Op.NOT( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - ], - ), - Op.PUSH32[0x1], - ), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xcade5765cac2e02a18bc236e1f6aa68271f2f26c"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000017f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff190308" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff190308" # noqa: E501 ), gas_limit=100000, - value=333039523, + value=0x13D9C7A3, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest521.py b/tests/ported_static/stRandom2/test_random_statetest521.py index 3d6d8cef42c..0dfb47b65dd 100644 --- a/tests/ported_static/stRandom2/test_random_statetest521.py +++ b/tests/ported_static/stRandom2/test_random_statetest521.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest521. Ported from: -tests/static/state_tests/stRandom2/randomStatetest521Filler.json +state_tests/stRandom2/randomStatetest521Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest521Filler.json"], + ["state_tests/stRandom2/randomStatetest521Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest521( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest521.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,73 +46,66 @@ def test_random_statetest521( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6a73905597946a57769a6d9209335560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.CALLER, + value=Op.MULMOD( + 0x73905597946A57769A6D92, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x8F8604CF78869E976E9002B80CBFF3995443AE17), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.CALLER, - value=Op.MULMOD( - 0x73905597946A57769A6D92, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x8f8604cf78869e976e9002b80cbff3995443ae17"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000010000" # noqa: E501 - "0000000000000000000000000000000000007fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe6a73905597946a57769a6d920933" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6a73905597946a57769a6d920933" # noqa: E501 ), gas_limit=100000, - value=2095633379, + value=0x7CE8D3E3, ) post = { - contract: Account( + target: Account( storage={ 0: 0x10000000000000000000000000000000000000000, 0x2E3D0156D2B99A6EACBA540C55F423C8F5A33143: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C6FAA686B95A88965926D, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest523.py b/tests/ported_static/stRandom2/test_random_statetest523.py index 5f3581b087f..91e030fc3c5 100644 --- a/tests/ported_static/stRandom2/test_random_statetest523.py +++ b/tests/ported_static/stRandom2/test_random_statetest523.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest523. Ported from: -tests/static/state_tests/stRandom2/randomStatetest523Filler.json +state_tests/stRandom2/randomStatetest523Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest523Filler.json"], + ["state_tests/stRandom2/randomStatetest523Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest523( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest523.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,56 @@ def test_random_statetest523( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x417f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4450427f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000003560080b348d5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.COINBASE + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.POP(Op.PREVRANDAO) + + Op.TIMESTAMP + + Op.PUSH32[0x1] + + Op.SIGNEXTEND(0x8, Op.CALLDATALOAD(offset=Op.PUSH32[0x0])) + + Op.SSTORE(key=Op.DUP14, value=Op.CALLVALUE) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x78E06DD6F641C103CEEF456E564348A48A6F0BEF), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.COINBASE - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.POP(Op.PREVRANDAO) - + Op.TIMESTAMP - + Op.PUSH32[0x1] - + Op.SIGNEXTEND(0x8, Op.CALLDATALOAD(offset=Op.PUSH32[0x0])) - + Op.SSTORE(key=Op.DUP14, value=Op.CALLVALUE) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x78e06dd6f641c103ceef456e564348a48a6f0bef"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "417f00000000000000000000000000000000000000000000000000000000000000017fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4450427f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000003560080b348d" # noqa: E501 + to=target, + data=Bytes( + "417f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4450427f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000003560080b348d" # noqa: E501 ), gas_limit=100000, - value=1463926659, + value=0x5741BF83, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest524.py b/tests/ported_static/stRandom2/test_random_statetest524.py index e8d2c49edf0..82e51bb75c4 100644 --- a/tests/ported_static/stRandom2/test_random_statetest524.py +++ b/tests/ported_static/stRandom2/test_random_statetest524.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest524. Ported from: -tests/static/state_tests/stRandom2/randomStatetest524Filler.json +state_tests/stRandom2/randomStatetest524Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest524Filler.json"], + ["state_tests/stRandom2/randomStatetest524Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest524( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest524.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,60 @@ def test_random_statetest524( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff357f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000034208a340a9e5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.TIMESTAMP + + Op.CALLDATALOAD( + offset=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + ) + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.SHA3(offset=Op.CALLVALUE, size=Op.PUSH32[0x0]) + + Op.EXP(Op.CALLVALUE, Op.DUP11) + + Op.SWAP15 + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xAA56EE356B0DD8022AD49A794FB5A37C554B32AA), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.TIMESTAMP - + Op.CALLDATALOAD( - offset=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.SHA3(offset=Op.CALLVALUE, size=Op.PUSH32[0x0]) - + Op.EXP(Op.CALLVALUE, Op.DUP11) - + Op.SWAP15 - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xaa56ee356b0dd8022ad49a794fb5a37c554b32aa"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f" # noqa: E501 - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff357f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000034208a340a9e" + to=target, + data=Bytes( + "457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff357f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000034208a340a9e" # noqa: E501 ), gas_limit=100000, - value=1968091255, + value=0x754EB077, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest525.py b/tests/ported_static/stRandom2/test_random_statetest525.py index 03c8e4bb864..db99b8a01dd 100644 --- a/tests/ported_static/stRandom2/test_random_statetest525.py +++ b/tests/ported_static/stRandom2/test_random_statetest525.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest525. Ported from: -tests/static/state_tests/stRandom2/randomStatetest525Filler.json +state_tests/stRandom2/randomStatetest525Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest525Filler.json"], + ["state_tests/stRandom2/randomStatetest525Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest525( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest525.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest525( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff097ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02207160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff097fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe02207160005155" + "7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff097ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02207160005155" # noqa: E501 ), nonce=0, - address=Address("0x2a83e67b69429cfb983b8ed79b7e8a53e6824092"), # noqa: E501 + address=Address(0x2A83E67B69429CFB983B8ED79B7E8A53E6824092), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff097fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe022071" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff097ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe022071" # noqa: E501 ), gas_limit=100000, - value=177899732, + value=0xA9A88D4, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest526.py b/tests/ported_static/stRandom2/test_random_statetest526.py index ea771ac0e54..6e8aa766a68 100644 --- a/tests/ported_static/stRandom2/test_random_statetest526.py +++ b/tests/ported_static/stRandom2/test_random_statetest526.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest526. Ported from: -tests/static/state_tests/stRandom2/randomStatetest526Filler.json +state_tests/stRandom2/randomStatetest526Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest526Filler.json"], + ["state_tests/stRandom2/randomStatetest526Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest526( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest526.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,62 +47,57 @@ def test_random_statetest526( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.COINBASE - + Op.SSTORE( - key=0xB5419E01950777810975058C746F55600051, - value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5417e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5419e01950777810975058c746f5560005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[0x0] + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.COINBASE + + Op.SSTORE( + key=0xB5419E01950777810975058C746F55600051, + value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000945304eb96065b2a98b57a48a06ae28d285a71b5417e7f000000000000000000" # noqa: E501 - "000000945304eb96065b2a98b57a48a06ae28d285a71b5419e01950777810975058c746f" # noqa: E501 + to=contract_0, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5417e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5419e01950777810975058c746f" # noqa: E501 ), gas_limit=100000, - value=984138850, + value=0x3AA8C462, ) post = { - contract: Account( + contract_0: Account( storage={ 0xB5419E01950777810975058C746F55600051: 0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest527.py b/tests/ported_static/stRandom2/test_random_statetest527.py index a683cba1ca8..1b0dfbde10b 100644 --- a/tests/ported_static/stRandom2/test_random_statetest527.py +++ b/tests/ported_static/stRandom2/test_random_statetest527.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest527. Ported from: -tests/static/state_tests/stRandom2/randomStatetest527Filler.json +state_tests/stRandom2/randomStatetest527Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest527Filler.json"], + ["state_tests/stRandom2/randomStatetest527Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest527( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest527.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,61 +46,57 @@ def test_random_statetest527( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLVALUE - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PREVRANDAO - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.LOG1( - offset=Op.DUP1, - size=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - topic_1=Op.PUSH32[0xC350], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x347f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff447f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff80a160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLVALUE + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PREVRANDAO + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.LOG1( + offset=Op.DUP1, + size=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + topic_1=Op.PUSH32[0xC350], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x490584e08e20ca97487089106b76679f5986d234"), # noqa: E501 + address=Address(0x490584E08E20CA97487089106B76679F5986D234), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "347f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff447f" # noqa: E501 - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000017f000000000000" # noqa: E501 - "0000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3507f000000000000000000000000" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff80a1" + to=target, + data=Bytes( + "347f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff447f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff80a1" # noqa: E501 ), gas_limit=100000, - value=179309326, + value=0xAB00B0E, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest528.py b/tests/ported_static/stRandom2/test_random_statetest528.py index 397b32d7498..1bc46774fd7 100644 --- a/tests/ported_static/stRandom2/test_random_statetest528.py +++ b/tests/ported_static/stRandom2/test_random_statetest528.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest528. Ported from: -tests/static/state_tests/stRandom2/randomStatetest528Filler.json +state_tests/stRandom2/randomStatetest528Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest528Filler.json"], + ["state_tests/stRandom2/randomStatetest528Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest528( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest528.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,64 @@ def test_random_statetest528( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x457f000000000000000000000000000000000000000000000000000000000000c350397ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a9d30390b8c858455 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.PUSH32[0xC350] + + Op.CODECOPY + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.EXP( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ) + + Op.SWAP14 + + Op.ADDRESS + + Op.CODECOPY + + Op.SIGNEXTEND + + Op.DUP13 + + Op.SSTORE(key=Op.DUP5, value=Op.DUP6), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE95BB71003200148E7E9559EC3ECF538802C42BF), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.PUSH32[0xC350] - + Op.CODECOPY - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.EXP( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SWAP14 - + Op.ADDRESS - + Op.CODECOPY - + Op.SIGNEXTEND - + Op.DUP13 - + Op.SSTORE(key=Op.DUP5, value=Op.DUP6) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe95bb71003200148e7e9559ec3ecf538802c42bf"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457f000000000000000000000000000000000000000000000000000000000000c350397f" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000007fffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff0a9d30390b8c8584" + to=target, + data=Bytes( + "457f000000000000000000000000000000000000000000000000000000000000c350397ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a9d30390b8c8584" # noqa: E501 ), gas_limit=100000, - value=532918830, + value=0x1FC3B22E, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest531.py b/tests/ported_static/stRandom2/test_random_statetest531.py index af889a58c54..e05e6588fd3 100644 --- a/tests/ported_static/stRandom2/test_random_statetest531.py +++ b/tests/ported_static/stRandom2/test_random_statetest531.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest531. Ported from: -tests/static/state_tests/stRandom2/randomStatetest531Filler.json +state_tests/stRandom2/randomStatetest531Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest531Filler.json"], + ["state_tests/stRandom2/randomStatetest531Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest531( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest531.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,105 +46,44 @@ def test_random_statetest531( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x41414143434344456a12c140f3933655 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("41414143434344456a12c140f3933655"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x83c3fd438bec2a4bb605ae688641469341532d9f"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("42"), - gas_limit=400000, - value=100000, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest531Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest531_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, + address=Address(0x83C3FD438BEC2A4BB605AE688641469341532D9F), # noqa: E501 ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex("41414143434344456a12c140f3933655"), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x83c3fd438bec2a4bb605ae688641469341532d9f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest532.py b/tests/ported_static/stRandom2/test_random_statetest532.py index 75b89d0ecf5..4bfd62be2bb 100644 --- a/tests/ported_static/stRandom2/test_random_statetest532.py +++ b/tests/ported_static/stRandom2/test_random_statetest532.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest532. Ported from: -tests/static/state_tests/stRandom2/randomStatetest532Filler.json +state_tests/stRandom2/randomStatetest532Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest532Filler.json"], + ["state_tests/stRandom2/randomStatetest532Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest532( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest532.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,63 @@ def test_random_statetest532( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe54447f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f78297ba08ba478507f413b3597109c5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.SLOAD( + key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 + ) + + Op.PREVRANDAO + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x78297BA08BA478507F413B3597109C55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5D6F57A08139951A1B3A0FB5A68138F569E70EBA), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.SLOAD( - key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.PREVRANDAO - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x78297BA08BA478507F413B3597109C55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5d6f57a08139951a1b3a0fb5a68138f569e70eba"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe54447f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3507fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff6f78297ba08ba478507f413b3597109c" # noqa: E501 + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe54447f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f78297ba08ba478507f413b3597109c" # noqa: E501 ), gas_limit=100000, - value=1139122760, + value=0x43E5A248, ) post = { - contract: Account(storage={0: 0x78297BA08BA478507F413B3597109C55}), + target: Account( + storage={0: 0x78297BA08BA478507F413B3597109C55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest533.py b/tests/ported_static/stRandom2/test_random_statetest533.py index b1318bfcb43..3a35bc666ea 100644 --- a/tests/ported_static/stRandom2/test_random_statetest533.py +++ b/tests/ported_static/stRandom2/test_random_statetest533.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest533. Ported from: -tests/static/state_tests/stRandom2/randomStatetest533Filler.json +state_tests/stRandom2/randomStatetest533Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest533Filler.json"], + ["state_tests/stRandom2/randomStatetest533Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest533( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest533.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,56 @@ def test_random_statetest533( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001847f00000000000000000000000100000000000000000000000000000000000000003a0761525560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[0x1] + + Op.DUP5 + + Op.SMOD( + Op.GASPRICE, Op.PUSH32[0x10000000000000000000000000000000000000000] + ) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x5255), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x6905EBD1D92150C8ABD7E0EDC3CA2E570143A674), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.DUP5 - + Op.SMOD( - Op.GASPRICE, - Op.PUSH32[0x10000000000000000000000000000000000000000], - ) - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x5255) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x6905ebd1d92150c8abd7e0edc3ca2e570143a674"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000001847f00000000000000000000000100000000" # noqa: E501 - "000000000000000000000000000000003a076152" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001847f00000000000000000000000100000000000000000000000000000000000000003a076152" # noqa: E501 ), gas_limit=100000, - value=1893110004, + value=0x70D690F4, ) post = { - contract: Account(storage={0: 21077}), + target: Account(storage={0: 21077}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest534.py b/tests/ported_static/stRandom2/test_random_statetest534.py index 4740d574567..6457b95e4a3 100644 --- a/tests/ported_static/stRandom2/test_random_statetest534.py +++ b/tests/ported_static/stRandom2/test_random_statetest534.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest534. Ported from: -tests/static/state_tests/stRandom2/randomStatetest534Filler.json +state_tests/stRandom2/randomStatetest534Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest534Filler.json"], + ["state_tests/stRandom2/randomStatetest534Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest534( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest534.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,60 @@ def test_random_statetest534( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000001000000000000000000000000000000000000000045437f0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff457f0000000000000000000000000000000000000000000000000000000000000000436ff3075243846d88747b6a9e7ff28c615560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.GASLIMIT + + Op.NUMBER + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.GASLIMIT + + Op.PUSH32[0x0] + + Op.NUMBER + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xF3075243846D88747B6A9E7FF28C6155 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9114C469B911CB7089FE6B881F7E6F10C2109681), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.GASLIMIT - + Op.NUMBER - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.GASLIMIT - + Op.PUSH32[0x0] - + Op.NUMBER - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xF3075243846D88747B6A9E7FF28C6155, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9114c469b911cb7089fe6b881f7e6f10c2109681"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000001000000000000000000000000000000000000000045437f" # noqa: E501 - "0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff457f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000436ff3075243846d88" # noqa: E501 - "747b6a9e7ff28c61" + to=target, + data=Bytes( + "7f000000000000000000000001000000000000000000000000000000000000000045437f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff457f0000000000000000000000000000000000000000000000000000000000000000436ff3075243846d88747b6a9e7ff28c61" # noqa: E501 ), gas_limit=100000, - value=1440446145, + value=0x55DB76C1, ) post = { - contract: Account(storage={0: 0xF3075243846D88747B6A9E7FF28C6155}), + target: Account( + storage={0: 0xF3075243846D88747B6A9E7FF28C6155}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest535.py b/tests/ported_static/stRandom2/test_random_statetest535.py index 6e361b1d4df..fe086a7901f 100644 --- a/tests/ported_static/stRandom2/test_random_statetest535.py +++ b/tests/ported_static/stRandom2/test_random_statetest535.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest535. Ported from: -tests/static/state_tests/stRandom2/randomStatetest535Filler.json +state_tests/stRandom2/randomStatetest535Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest535Filler.json"], + ["state_tests/stRandom2/randomStatetest535Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest535( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest535.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,58 @@ def test_random_statetest535( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0x1] * 2 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.PUSH32[0x0], + value=Op.PUSH32[0x10000000000000000000000000000000000000000], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xFB33A18F5315642FAC0F83122A6C44C9FB6F4F4D), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.PUSH32[0x0], - value=Op.PUSH32[0x10000000000000000000000000000000000000000], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xfb33a18f5315642fac0f83122a6c44c9fb6f4f4d"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000010000000000" # noqa: E501 - "0000000000000000000000000000007f0000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 ), gas_limit=100000, - value=1289018416, + value=0x4CD4DC30, ) post = { - contract: Account( + target: Account( storage={0: 0x10000000000000000000000000000000000000000}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest536.py b/tests/ported_static/stRandom2/test_random_statetest536.py index 845a262c61e..e1fd50f5ad9 100644 --- a/tests/ported_static/stRandom2/test_random_statetest536.py +++ b/tests/ported_static/stRandom2/test_random_statetest536.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest536. Ported from: -tests/static/state_tests/stRandom2/randomStatetest536Filler.json +state_tests/stRandom2/randomStatetest536Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest536Filler.json"], + ["state_tests/stRandom2/randomStatetest536Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest536( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest536.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest536( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350537f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9309f3999c7d92795a947a6f317f55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350537f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9309f3999c7d92795a947a6f317f55" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x85E66F40EB86A2D63DF2DC248B3D6F4FC138B003), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c350537f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff9309f3999c7d92795a947a6f317f55" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x85e66f40eb86a2d63df2dc248b3d6f4fc138b003"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c350537f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff9309f3999c7d92795a947a6f317f" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c350537f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9309f3999c7d92795a947a6f317f" # noqa: E501 ), gas_limit=100000, - value=1392179737, + value=0x52FAFA19, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest537.py b/tests/ported_static/stRandom2/test_random_statetest537.py index 80757d47b44..e3663c7b6e3 100644 --- a/tests/ported_static/stRandom2/test_random_statetest537.py +++ b/tests/ported_static/stRandom2/test_random_statetest537.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest537. Ported from: -tests/static/state_tests/stRandom2/randomStatetest537Filler.json +state_tests/stRandom2/randomStatetest537Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest537Filler.json"], + ["state_tests/stRandom2/randomStatetest537Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest537( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest537.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,67 +47,60 @@ def test_random_statetest537( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=0xB5688068515A6A996A540A03686D6D600051, - value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5688068515a6a996a540a03686d6d60005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=0xB5688068515A6A996A540A03686D6D600051, + value=0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7e7f000000000000000000000000945304eb" # noqa: E501 - "96065b2a98b57a48a06ae28d285a71b5688068515a6a996a540a03686d6d" + to=contract_0, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7e7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5688068515a6a996a540a03686d6d" # noqa: E501 ), gas_limit=100000, - value=1910780625, + value=0x71E432D1, ) post = { - contract: Account( + contract_0: Account( storage={ 0xB5688068515A6A996A540A03686D6D600051: 0x7F000000000000000000000000945304EB96065B2A98B57A48A06AE28D285A, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest539.py b/tests/ported_static/stRandom2/test_random_statetest539.py index a3a6d105236..4ab1b585327 100644 --- a/tests/ported_static/stRandom2/test_random_statetest539.py +++ b/tests/ported_static/stRandom2/test_random_statetest539.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest539. Ported from: -tests/static/state_tests/stRandom2/randomStatetest539Filler.json +state_tests/stRandom2/randomStatetest539Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest539Filler.json"], + ["state_tests/stRandom2/randomStatetest539Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest539( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest539.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest539( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff096794200bf18b0b316e415560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.GASLIMIT + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.SSTORE(key=Op.COINBASE, value=0x94200BF18B0B316E) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xAC5AC5347CEB5432A5E7D78E439E0E9AFC7503AB), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.GASLIMIT - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.SSTORE(key=Op.COINBASE, value=0x94200BF18B0B316E) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xac5ac5347ceb5432a5e7d78e439e0e9afc7503ab"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff457f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff096794200bf18b0b316e41" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff096794200bf18b0b316e41" # noqa: E501 ), gas_limit=100000, - value=1428708105, + value=0x55285B09, ) post = { - contract: Account( + target: Account( storage={ 0x4F3F701464972E74606D6EA82D4D3080599A0E79: 0x94200BF18B0B316E, }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest541.py b/tests/ported_static/stRandom2/test_random_statetest541.py index a5a0e241371..e4c361076c8 100644 --- a/tests/ported_static/stRandom2/test_random_statetest541.py +++ b/tests/ported_static/stRandom2/test_random_statetest541.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest541. Ported from: -tests/static/state_tests/stRandom2/randomStatetest541Filler.json +state_tests/stRandom2/randomStatetest541Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest541Filler.json"], + ["state_tests/stRandom2/randomStatetest541Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest541( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest541.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,60 @@ def test_random_statetest541( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000004335696e089257368d07897d57350b105560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.GASLIMIT + + Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.LT( + Op.SIGNEXTEND( + Op.CALLDATALOAD(offset=0x6E089257368D07897D57), + Op.CALLDATALOAD(offset=Op.NUMBER), + ), + Op.PUSH32[0x10000000000000000000000000000000000000000], + ), + value=Op.PUSH32[0x0], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x854F4406999B8BB46770D32CA10F059498717BFC), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.GASLIMIT - + Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.LT( - Op.SIGNEXTEND( - Op.CALLDATALOAD(offset=0x6E089257368D07897D57), - Op.CALLDATALOAD(offset=Op.NUMBER), - ), - Op.PUSH32[0x10000000000000000000000000000000000000000], - ), - value=Op.PUSH32[0x0], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x854f4406999b8bb46770d32ca10f059498717bfc"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000004335696e089257368d07897d5735" # noqa: E501 - "0b10" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff457f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000004335696e089257368d07897d57350b10" # noqa: E501 ), gas_limit=100000, - value=525505301, + value=0x1F529315, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest542.py b/tests/ported_static/stRandom2/test_random_statetest542.py index d46ff594eae..d261ddd2d66 100644 --- a/tests/ported_static/stRandom2/test_random_statetest542.py +++ b/tests/ported_static/stRandom2/test_random_statetest542.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest542. Ported from: -tests/static/state_tests/stRandom2/randomStatetest542Filler.json +state_tests/stRandom2/randomStatetest542Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest542Filler.json"], + ["state_tests/stRandom2/randomStatetest542Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest542( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest542.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,65 @@ def test_random_statetest542( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CODECOPY( - dest_offset=Op.PUSH32[0x0], - offset=Op.PUSH32[0x10000000000000000000000000000000000000000], - size=Op.TIMESTAMP, - ) - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SWAP3 - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x427f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000397f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000925560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY( + dest_offset=Op.PUSH32[0x0], + offset=Op.PUSH32[0x10000000000000000000000000000000000000000], + size=Op.TIMESTAMP, + ) + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SWAP3 + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x0173c63bef6ff158e671bd806ede19a25095e723"), # noqa: E501 + address=Address(0x0173C63BEF6FF158E671BD806EDE19A25095E723), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "427f00000000000000000000000100000000000000000000000000000000000000007f00" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000397f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000" # noqa: E501 - "00000100000000000000000000000000000000000000007f000000000000000000000000" # noqa: E501 - "4f3f701464972e74606d6ea82d4d3080599a0e7992" + to=target, + data=Bytes( + "427f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000397f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7992" # noqa: E501 ), gas_limit=100000, - value=2111491039, + value=0x7DDACBDF, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0x10000000000000000000000000000000000000000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest543.py b/tests/ported_static/stRandom2/test_random_statetest543.py index 524a955f93c..99a861f4bf7 100644 --- a/tests/ported_static/stRandom2/test_random_statetest543.py +++ b/tests/ported_static/stRandom2/test_random_statetest543.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest543. Ported from: -tests/static/state_tests/stRandom2/randomStatetest543Filler.json +state_tests/stRandom2/randomStatetest543Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest543Filler.json"], + ["state_tests/stRandom2/randomStatetest543Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest543( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest543.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,147 +46,56 @@ def test_random_statetest543( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000004586 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x0] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.GASLIMIT + + Op.DUP7, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB04D75CC292C99077DA7BC4149CEAFB239447F01), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.GASLIMIT - + Op.DUP7 - ), - nonce=0, - address=Address("0xb04d75cc292c99077da7bc4149ceafb239447f01"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000004586" - ), - gas_limit=100000, - value=39701770, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest543Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest543_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.GASLIMIT - + Op.DUP7 - ), - nonce=0, - address=Address("0xb04d75cc292c99077da7bc4149ceafb239447f01"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000004586" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000004586" # noqa: E501 ), gas_limit=100000, - value=39701770, + value=0x25DCD0A, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest544.py b/tests/ported_static/stRandom2/test_random_statetest544.py index 6dc169178c1..1c8bf4beccc 100644 --- a/tests/ported_static/stRandom2/test_random_statetest544.py +++ b/tests/ported_static/stRandom2/test_random_statetest544.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest544. Ported from: -tests/static/state_tests/stRandom2/randomStatetest544Filler.json +state_tests/stRandom2/randomStatetest544Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest544Filler.json"], + ["state_tests/stRandom2/randomStatetest544Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest544( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest544.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,56 @@ def test_random_statetest544( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3503b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff097f000000000000000000000000000000000000000000000000000000000000000055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.EXTCODESIZE(address=Op.PUSH32[0xC350]) + + Op.SSTORE( + key=Op.PUSH32[0x0], + value=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7B05834538844EF8AFC51C81F98133359A02F745), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.EXTCODESIZE(address=Op.PUSH32[0xC350]) - + Op.SSTORE( - key=Op.PUSH32[0x0], - value=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7b05834538844ef8afc51c81f98133359a02f745"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3503b7fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff097f000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3503b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff097f0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 ), gas_limit=100000, - value=1348206974, + value=0x505C017E, ) post = { - contract: Account( + target: Account( storage={0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest545.py b/tests/ported_static/stRandom2/test_random_statetest545.py index dd9a6ae5973..1e12624c6ca 100644 --- a/tests/ported_static/stRandom2/test_random_statetest545.py +++ b/tests/ported_static/stRandom2/test_random_statetest545.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest545. Ported from: -tests/static/state_tests/stRandom2/randomStatetest545Filler.json +state_tests/stRandom2/randomStatetest545Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest545Filler.json"], + ["state_tests/stRandom2/randomStatetest545Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest545( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest545.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,68 +47,61 @@ def test_random_statetest545( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.SDIV(Op.ADDRESS, 0x7C9C8213), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350637c9c8213300560005155 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=Op.SDIV(Op.ADDRESS, 0x7C9C8213) ), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350637c9c82133005" + to=contract_0, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350637c9c82133005" # noqa: E501 ), gas_limit=100000, - value=321021476, + value=0x13226624, ) post = { - contract: Account(storage={0: 0x133F69D3ADDBD85DAA8B17484BED8731}), + contract_0: Account( + storage={0: 0x133F69D3ADDBD85DAA8B17484BED8731}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest546.py b/tests/ported_static/stRandom2/test_random_statetest546.py index 0fbb1e89545..ea3a0b634aa 100644 --- a/tests/ported_static/stRandom2/test_random_statetest546.py +++ b/tests/ported_static/stRandom2/test_random_statetest546.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest546. Ported from: -tests/static/state_tests/stRandom2/randomStatetest546Filler.json +state_tests/stRandom2/randomStatetest546Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest546Filler.json"], + ["state_tests/stRandom2/randomStatetest546Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest546( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest546.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,58 @@ def test_random_statetest546( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff447f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007f0000000000000000000000010000000000000000000000000000000000000000956f895258826c355765922086717315015560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PREVRANDAO + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 3 + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SWAP6 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x895258826C3557659220867173150155 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x6CAA66514A7ADF4757188ED6466A7FF7B1D3FE88), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PREVRANDAO - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SWAP6 - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x895258826C3557659220867173150155, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x6caa66514a7adf4757188ed6466a7ff7b1d3fe88"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff447f00" # noqa: E501 - "000000000000000000000100000000000000000000000000000000000000007f00000000" # noqa: E501 - "000000000000000100000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "00004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100" # noqa: E501 - "00000000000000000000000000000000000000956f895258826c35576592208671731501" # noqa: E501 + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff447f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000010000000000000000000000000000000000000000956f895258826c35576592208671731501" # noqa: E501 ), gas_limit=100000, - value=1796553007, + value=0x6B15392F, ) post = { - contract: Account(storage={0: 0x895258826C3557659220867173150155}), + target: Account( + storage={0: 0x895258826C3557659220867173150155}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest547.py b/tests/ported_static/stRandom2/test_random_statetest547.py index 4932b12db25..743047f764d 100644 --- a/tests/ported_static/stRandom2/test_random_statetest547.py +++ b/tests/ported_static/stRandom2/test_random_statetest547.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest547. Ported from: -tests/static/state_tests/stRandom2/randomStatetest547Filler.json +state_tests/stRandom2/randomStatetest547Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest547Filler.json"], + ["state_tests/stRandom2/randomStatetest547Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest547( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest547.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,54 +47,47 @@ def test_random_statetest547( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c35014623971943854a009768255 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c35014623971943854a009768255" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x63D5E8A1C6E9BB983F0C2249ADB82C045A7510A7), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000001417fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c35014623971943854a009768255" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x63d5e8a1c6e9bb983f0c2249adb82c045a7510a7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000001417fffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c35014623971943854a0097682" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c35014623971943854a0097682" # noqa: E501 ), gas_limit=1616347587, - value=1980806241, + value=0x7610B461, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest548.py b/tests/ported_static/stRandom2/test_random_statetest548.py index 99f7738d541..f7941a89e73 100644 --- a/tests/ported_static/stRandom2/test_random_statetest548.py +++ b/tests/ported_static/stRandom2/test_random_statetest548.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest548. Ported from: -tests/static/state_tests/stRandom2/randomStatetest548Filler.json +state_tests/stRandom2/randomStatetest548Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest548Filler.json"], + ["state_tests/stRandom2/randomStatetest548Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest548( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest548.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,61 @@ def test_random_statetest548( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000010000000000000000000000000000000000000000417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000001000000000000000000000000000000000000000019417f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f777a349a646633977da01a315a3c035560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.COINBASE + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.NOT(Op.PUSH32[0x10000000000000000000000000000000000000000]) + + Op.COINBASE + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x777A349A646633977DA01A315A3C0355 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE55284E4ED0F3E7100A11671FD4751A3F174C90F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.COINBASE - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.NOT(Op.PUSH32[0x10000000000000000000000000000000000000000]) - + Op.COINBASE - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x777A349A646633977DA01A315A3C0355, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe55284e4ed0f3e7100a11671fd4751a3f174c90f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000010000000000000000000000000000000000000000417fff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000" # noqa: E501 - "0000000000000001000000000000000000000000000000000000000019417f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff6f777a349a646633977da01a" # noqa: E501 - "315a3c03" + to=target, + data=Bytes( + "7f0000000000000000000000010000000000000000000000000000000000000000417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000001000000000000000000000000000000000000000019417f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f777a349a646633977da01a315a3c03" # noqa: E501 ), gas_limit=100000, - value=715419522, + value=0x2AA46F82, ) post = { - contract: Account(storage={0: 0x777A349A646633977DA01A315A3C0355}), + target: Account( + storage={0: 0x777A349A646633977DA01A315A3C0355}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest550.py b/tests/ported_static/stRandom2/test_random_statetest550.py index 1f007210f99..6254af7e41c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest550.py +++ b/tests/ported_static/stRandom2/test_random_statetest550.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest550. Ported from: -tests/static/state_tests/stRandom2/randomStatetest550Filler.json +state_tests/stRandom2/randomStatetest550Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest550Filler.json"], + ["state_tests/stRandom2/randomStatetest550Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest550( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest550.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,63 @@ def test_random_statetest550( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000006f4472a17829659c94a29041419564313a60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x4472A17829659C94A29041419564313A ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xFC0143D7F90756F7D88B105354C1062BA849BDA5), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x4472A17829659C94A29041419564313A, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xfc0143d7f90756f7d88b105354c1062ba849bda5"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000006f4472a17829659c94a29041419564313a" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000006f4472a17829659c94a29041419564313a" # noqa: E501 ), gas_limit=100000, - value=1391193544, + value=0x52EBEDC8, ) post = { - contract: Account(storage={0: 0x4472A17829659C94A29041419564313A}), + target: Account( + storage={0: 0x4472A17829659C94A29041419564313A}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest552.py b/tests/ported_static/stRandom2/test_random_statetest552.py index 66031ee4be7..fceb225140b 100644 --- a/tests/ported_static/stRandom2/test_random_statetest552.py +++ b/tests/ported_static/stRandom2/test_random_statetest552.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest552. Ported from: -tests/static/state_tests/stRandom2/randomStatetest552Filler.json +state_tests/stRandom2/randomStatetest552Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest552Filler.json"], + ["state_tests/stRandom2/randomStatetest552Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest552( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest552.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,61 @@ def test_random_statetest552( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.EQ( - Op.TIMESTAMP, - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.SLOAD( - key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x6A72A37B5219F089416D4336A08E8255, - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff42147ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe547f00000000000000000000000000000000000000000000000000000000000000006f6a72a37b5219f089416d4336a08e825560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.EQ( + Op.TIMESTAMP, Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + ) + + Op.SLOAD( + key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 + ) + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x6A72A37B5219F089416D4336A08E8255 ), nonce=0, - address=Address("0x43eb3631bab06952a00a4b8076033bacbf958089"), # noqa: E501 + address=Address(0x43EB3631BAB06952A00A4B8076033BACBF958089), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff42147fffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffe547f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000006f6a72a37b5219f089416d43" # noqa: E501 - "36a08e82" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff42147ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe547f00000000000000000000000000000000000000000000000000000000000000006f6a72a37b5219f089416d4336a08e82" # noqa: E501 ), gas_limit=100000, - value=1809429900, + value=0x6BD9B58C, ) post = { - contract: Account(storage={0: 0x6A72A37B5219F089416D4336A08E8255}), + target: Account( + storage={0: 0x6A72A37B5219F089416D4336A08E8255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest553.py b/tests/ported_static/stRandom2/test_random_statetest553.py index 39fd77d3c08..01cf511dce8 100644 --- a/tests/ported_static/stRandom2/test_random_statetest553.py +++ b/tests/ported_static/stRandom2/test_random_statetest553.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest553. Ported from: -tests/static/state_tests/stRandom2/randomStatetest553Filler.json +state_tests/stRandom2/randomStatetest553Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest553Filler.json"], + ["state_tests/stRandom2/randomStatetest553Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest553( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest553.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,58 @@ def test_random_statetest553( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x94819C780585376DA073368C45828CA0, - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000016f94819c780585376da073368c45828ca060005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[0x1] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x94819C780585376DA073368C45828CA0 ), nonce=0, - address=Address("0x4dc764749fdeab4feffb6d542712ebd2465eadde"), # noqa: E501 + address=Address(0x4DC764749FDEAB4FEFFB6D542712EBD2465EADDE), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000016f94819c780585376da073368c45828ca0" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000016f94819c780585376da073368c45828ca0" # noqa: E501 ), gas_limit=100000, - value=143286, + value=0x22FB6, ) post = { - contract: Account(storage={0: 0x94819C780585376DA073368C45828CA0}), + target: Account( + storage={0: 0x94819C780585376DA073368C45828CA0}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest554.py b/tests/ported_static/stRandom2/test_random_statetest554.py index c715a15385c..667fb3c5175 100644 --- a/tests/ported_static/stRandom2/test_random_statetest554.py +++ b/tests/ported_static/stRandom2/test_random_statetest554.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest554. Ported from: -tests/static/state_tests/stRandom2/randomStatetest554Filler.json +state_tests/stRandom2/randomStatetest554Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest554Filler.json"], + ["state_tests/stRandom2/randomStatetest554Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest554( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest554.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,131 +47,105 @@ def test_random_statetest554( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x601460dca06029728b67ba4c2fc8c63c46f19bb45a4be3f678b30669ba571e944074c21b140a7a65d14a921ec804a45ecf4d952aa923fb23a0574acd8ef9f82c7db17e157f651bbeb520203bd398160345137b0419a395630fce1a7ed24c0cccfd91766140e0682f6bd571db701b4616b567f215faf42fb37d2a7c43c05a634612322eda99f09cc2907a6cba01bb6869b7d24b897ec43b9b63a8747a897af14c1f4c0b186c6311d36de86b8c8172aa43c3dfe3ea16503380877fa7f32deb9f60254d124338105942b4b5b88c443351de5ebf14c2380f4a91327d68a0da66abd627db75739942675f5855728fd677646cafec536e37d0da8122cf8681bc106013601b600360086307efe33a7363176fe819f16566b603cccf387c5f10e5cdb2ba1b456d2a0386ee72ddf3ff65b33a551afa423f8af05e347b5c50b6fe69c77f0682ef890d8ed8ab3833f128389f6407911fb20590642c9765e97c7f31dfa251377a47ca45b72ce5c1896a697990d60a01cabaf5e4d8f55f11fd37427351d1f8e89810c7aeec6482fd03d7e7ca58fbaae361e3936936543d6dacb1f97f19c3721866491bad73f32faea37b4a8c273668e04dff8863a542e11775a693c3b4bcd4fc1a87ddb6450f8f6c2f1ba807aaffb67e62af22cd93175b5ffb428ee9116dad4a695aa514b8ca4d615fd728a61c124c796554a98241320ac2d6b9f16ee1c203dbba537a211142df4c2e626e4108f87ab6d5b8e9ce86f92aba50a47acc60d734e7a066131d99dad149451b386120eed210723bd8304caa61048c67512ca417ae8857a46ad24ca1f2cb75f75ef86a927152bd86981a216d8147f49ead4be46967dd10751491f9f1ac2f50fd5dad394b7838a9eb89b372698362647bddbb90586e4e921a8cc96ea0c50d07da472b3e6360a39c # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.LOG0(offset=0xDC, size=0x14) + + Op.PUSH1[0x29] + + Op.PUSH19[0x8B67BA4C2FC8C63C46F19BB45A4BE3F678B306] + + Op.PUSH10[0xBA571E944074C21B140A] + + Op.PUSH27[0x65D14A921EC804A45ECF4D952AA923FB23A0574ACD8EF9F82C7DB1] + + Op.PUSH31[ + 0x157F651BBEB520203BD398160345137B0419A395630FCE1A7ED24C0CCCFD91 + ] + + Op.PUSH23[0x6140E0682F6BD571DB701B4616B567F215FAF42FB37D2A] + + Op.PUSH29[ + 0x43C05A634612322EDA99F09CC2907A6CBA01BB6869B7D24B897EC43B9B + ] + + Op.PUSH4[0xA8747A89] + + Op.PUSH27[0xF14C1F4C0B186C6311D36DE86B8C8172AA43C3DFE3EA1650338087] + + Op.PUSH32[ + 0xA7F32DEB9F60254D124338105942B4B5B88C443351DE5EBF14C2380F4A91327D + ] + + Op.PUSH9[0xA0DA66ABD627DB7573] + + Op.SWAP10 + + Op.TIMESTAMP + + Op.LT(0xAFEC536E37D0DA8122CF8681BC, 0x5F5855728FD67764) + + Op.CALL( + gas=0x176FE819, + address=0xD4932C914A13BD1791675290FDD56965C3FCBD03, + value=0x7EFE33A, + args_offset=0x8, + args_size=0x3, + ret_offset=0x1B, + ret_size=0x13, + ) + + Op.PUSH6[0x66B603CCCF38] + + Op.PUSH29[ + 0x5F10E5CDB2BA1B456D2A0386EE72DDF3FF65B33A551AFA423F8AF05E34 + ] + + Op.PUSH28[0x5C50B6FE69C77F0682EF890D8ED8AB3833F128389F6407911FB20590] + + Op.PUSH5[0x2C9765E97C] + + Op.PUSH32[ + 0x31DFA251377A47CA45B72CE5C1896A697990D60A01CABAF5E4D8F55F11FD3742 + ] + + Op.PUSH20[0x51D1F8E89810C7AEEC6482FD03D7E7CA58FBAAE3] + + Op.PUSH2[0xE393] + + Op.PUSH10[0x36543D6DACB1F97F19C3] + + Op.PUSH19[0x1866491BAD73F32FAEA37B4A8C273668E04DFF] + + Op.DUP9 + + Op.PUSH4[0xA542E117] + + Op.PUSH22[0xA693C3B4BCD4FC1A87DDB6450F8F6C2F1BA807AAFFB6] + + Op.PUSH31[ + 0x62AF22CD93175B5FFB428EE9116DAD4A695AA514B8CA4D615FD728A61C124C + ] + + Op.PUSH26[0x6554A98241320AC2D6B9F16EE1C203DBBA537A211142DF4C2E62] + + Op.PUSH15[0x4108F87AB6D5B8E9CE86F92ABA50A4] + + Op.PUSH27[0xCC60D734E7A066131D99DAD149451B386120EED210723BD8304CAA] + + Op.PUSH2[0x48C] + + Op.PUSH8[0x512CA417AE8857A4] + + Op.PUSH11[0xD24CA1F2CB75F75EF86A92] + + Op.PUSH18[0x52BD86981A216D8147F49EAD4BE46967DD10] + + Op.PUSH22[0x1491F9F1AC2F50FD5DAD394B7838A9EB89B372698362] + + Op.PUSH5[0x7BDDBB9058] + + Op.PUSH15[0x4E921A8CC96EA0C50D07DA472B3E63] + + Op.PUSH1[0xA3] + + Op.SWAP13, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD4932C914A13BD1791675290FDD56965C3FCBD03), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.LOG0(offset=0xDC, size=0x14) - + Op.PUSH1[0x29] - + Op.PUSH19[0x8B67BA4C2FC8C63C46F19BB45A4BE3F678B306] - + Op.PUSH10[0xBA571E944074C21B140A] - + Op.PUSH27[ - 0x65D14A921EC804A45ECF4D952AA923FB23A0574ACD8EF9F82C7DB1 - ] - + Op.PUSH31[ - 0x157F651BBEB520203BD398160345137B0419A395630FCE1A7ED24C0CCCFD91 # noqa: E501 - ] - + Op.PUSH23[0x6140E0682F6BD571DB701B4616B567F215FAF42FB37D2A] - + Op.PUSH29[ - 0x43C05A634612322EDA99F09CC2907A6CBA01BB6869B7D24B897EC43B9B - ] - + Op.PUSH4[0xA8747A89] - + Op.PUSH27[ - 0xF14C1F4C0B186C6311D36DE86B8C8172AA43C3DFE3EA1650338087 - ] - + Op.PUSH32[ - 0xA7F32DEB9F60254D124338105942B4B5B88C443351DE5EBF14C2380F4A91327D # noqa: E501 - ] - + Op.PUSH9[0xA0DA66ABD627DB7573] - + Op.SWAP10 - + Op.TIMESTAMP - + Op.LT(0xAFEC536E37D0DA8122CF8681BC, 0x5F5855728FD67764) - + Op.CALL( - gas=0x176FE819, - address=0xD4932C914A13BD1791675290FDD56965C3FCBD03, - value=0x7EFE33A, - args_offset=0x8, - args_size=0x3, - ret_offset=0x1B, - ret_size=0x13, - ) - + Op.PUSH6[0x66B603CCCF38] - + Op.PUSH29[ - 0x5F10E5CDB2BA1B456D2A0386EE72DDF3FF65B33A551AFA423F8AF05E34 - ] - + Op.PUSH28[ - 0x5C50B6FE69C77F0682EF890D8ED8AB3833F128389F6407911FB20590 - ] - + Op.PUSH5[0x2C9765E97C] - + Op.PUSH32[ - 0x31DFA251377A47CA45B72CE5C1896A697990D60A01CABAF5E4D8F55F11FD3742 # noqa: E501 - ] - + Op.PUSH20[0x51D1F8E89810C7AEEC6482FD03D7E7CA58FBAAE3] - + Op.PUSH2[0xE393] - + Op.PUSH10[0x36543D6DACB1F97F19C3] - + Op.PUSH19[0x1866491BAD73F32FAEA37B4A8C273668E04DFF] - + Op.DUP9 - + Op.PUSH4[0xA542E117] - + Op.PUSH22[0xA693C3B4BCD4FC1A87DDB6450F8F6C2F1BA807AAFFB6] - + Op.PUSH31[ - 0x62AF22CD93175B5FFB428EE9116DAD4A695AA514B8CA4D615FD728A61C124C # noqa: E501 - ] - + Op.PUSH26[0x6554A98241320AC2D6B9F16EE1C203DBBA537A211142DF4C2E62] - + Op.PUSH15[0x4108F87AB6D5B8E9CE86F92ABA50A4] - + Op.PUSH27[ - 0xCC60D734E7A066131D99DAD149451B386120EED210723BD8304CAA - ] - + Op.PUSH2[0x48C] - + Op.PUSH8[0x512CA417AE8857A4] - + Op.PUSH11[0xD24CA1F2CB75F75EF86A92] - + Op.PUSH18[0x52BD86981A216D8147F49EAD4BE46967DD10] - + Op.PUSH22[0x1491F9F1AC2F50FD5DAD394B7838A9EB89B372698362] - + Op.PUSH5[0x7BDDBB9058] - + Op.PUSH15[0x4E921A8CC96EA0C50D07DA472B3E63] - + Op.PUSH1[0xA3] - + Op.SWAP13 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd4932c914a13bd1791675290fdd56965c3fcbd03"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "336e88fae59ccc17cac0ec3a4a984fcdc77c2ba8961cb09c97e4f874f69667ea58bce674" # noqa: E501 - "fe4d474c8898fff5b73e6a7e25d7d5e25ccea0601ea15066d5497deee377fccbfcf7d46f" # noqa: E501 - "462eb9d2fe6a3782658a9ffd73aa457677100ca7d35d68df5ee8465c2ca2af480e6e3cb2" # noqa: E501 - "04021b6ae2234a9f3462784bb45c4f087003c9352268b7e9890647fba7f034faad2663bf" # noqa: E501 - "b15f1e0b7381d4fe5d7ba9c59455e62fe93c8cca7dd3f20d81644c2494b098686d466eb0" # noqa: E501 - "fec9f497f163bdf627d76f49e3d1b74b142996652c0d53f709553560656e36e89deb34f3" # noqa: E501 - "2a7b7b5dfb3b309d57704dfa8c0ec20f2c0f70e1761c949c14c6fd619d947e42f23136ff" # noqa: E501 - "517ac0b92f6df9d2989eb6828d7213a0b9a20959957ade2b1c1f6222920664c7ddf31a03" # noqa: E501 - "7c866146cabefec6c2f9f02d050c2ec8ef5da91eb65cc7d0b0d7eb3654407e7cb3eae4ea" # noqa: E501 - "612eb678374b229c0e0fcc178293fd5d500210352eea769ccafa6c7a7e444322c60c241a" # noqa: E501 - "937bbcf365ba988cb9f0628f7a33e43ba75bc44c38707ca76e02d3ff70e772c56dc9b9bc" # noqa: E501 - "fd8116b972e66b6a28583e9f272065e9b7f112858c5f71c66dd37755c458bd56109d4dec" # noqa: E501 - "2015b23774fa549dd52567557117d2fbda2a4f53cbd065fc9b907736d432b2730969562c" # noqa: E501 - "e445fd6f9dcf91e092390173406e5b047944eafa8607c63c7e79aa872e5ce29de18e48ed" # noqa: E501 - "9a62f440a0d4d4651d624ff767ac7fc52281bc7fec896a501952622f30e718b484e56e8c" # noqa: E501 - "a7ab57c2ef2a6d37944e14759a52961dda795af1e984eea7d2689937b0a76ab8494b7acf" # noqa: E501 - "579c90a0eb949199c0f87e566759722c0799c2c03a027b51a87372e64f7a1fb661d72eac" # noqa: E501 - "23f2dc691d34981660bf7cfa421c5bf5e3225a4653ae7e0e43bfe4af206d4e69635b55c2" # noqa: E501 - "4537fe20705e010f348d477b1aef6aeb2388b508a44e640353e169a37221ba3dcf805c6a" # noqa: E501 - "9ebe283a53e9dcbaee4081a098" + to=target, + data=Bytes( + "336e88fae59ccc17cac0ec3a4a984fcdc77c2ba8961cb09c97e4f874f69667ea58bce674fe4d474c8898fff5b73e6a7e25d7d5e25ccea0601ea15066d5497deee377fccbfcf7d46f462eb9d2fe6a3782658a9ffd73aa457677100ca7d35d68df5ee8465c2ca2af480e6e3cb204021b6ae2234a9f3462784bb45c4f087003c9352268b7e9890647fba7f034faad2663bfb15f1e0b7381d4fe5d7ba9c59455e62fe93c8cca7dd3f20d81644c2494b098686d466eb0fec9f497f163bdf627d76f49e3d1b74b142996652c0d53f709553560656e36e89deb34f32a7b7b5dfb3b309d57704dfa8c0ec20f2c0f70e1761c949c14c6fd619d947e42f23136ff517ac0b92f6df9d2989eb6828d7213a0b9a20959957ade2b1c1f6222920664c7ddf31a037c866146cabefec6c2f9f02d050c2ec8ef5da91eb65cc7d0b0d7eb3654407e7cb3eae4ea612eb678374b229c0e0fcc178293fd5d500210352eea769ccafa6c7a7e444322c60c241a937bbcf365ba988cb9f0628f7a33e43ba75bc44c38707ca76e02d3ff70e772c56dc9b9bcfd8116b972e66b6a28583e9f272065e9b7f112858c5f71c66dd37755c458bd56109d4dec2015b23774fa549dd52567557117d2fbda2a4f53cbd065fc9b907736d432b2730969562ce445fd6f9dcf91e092390173406e5b047944eafa8607c63c7e79aa872e5ce29de18e48ed9a62f440a0d4d4651d624ff767ac7fc52281bc7fec896a501952622f30e718b484e56e8ca7ab57c2ef2a6d37944e14759a52961dda795af1e984eea7d2689937b0a76ab8494b7acf579c90a0eb949199c0f87e566759722c0799c2c03a027b51a87372e64f7a1fb661d72eac23f2dc691d34981660bf7cfa421c5bf5e3225a4653ae7e0e43bfe4af206d4e69635b55c24537fe20705e010f348d477b1aef6aeb2388b508a44e640353e169a37221ba3dcf805c6a9ebe283a53e9dcbaee4081a098" # noqa: E501 ), gas_limit=1845353713, - value=1213415884, + value=0x485341CC, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest555.py b/tests/ported_static/stRandom2/test_random_statetest555.py index 35d8d793ea9..79f4b703327 100644 --- a/tests/ported_static/stRandom2/test_random_statetest555.py +++ b/tests/ported_static/stRandom2/test_random_statetest555.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest555. Ported from: -tests/static/state_tests/stRandom2/randomStatetest555Filler.json +state_tests/stRandom2/randomStatetest555Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest555Filler.json"], + ["state_tests/stRandom2/randomStatetest555Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest555( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest555.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,59 @@ def test_random_statetest555( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000000000000000000000000000000000000000c3506f3b8f936e6f3874603c59120707e3588c60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.NUMBER + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.NUMBER + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x3B8F936E6F3874603C59120707E3588C ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7178694ADA9132CC970358F783090308D849DFAE), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.NUMBER - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.NUMBER - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x3B8F936E6F3874603C59120707E3588C, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7178694ada9132cc970358f783090308d849dfae"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe437f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff437f000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000c3506f3b8f936e6f3874603c591207" # noqa: E501 - "07e3588c" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff437f000000000000000000000000000000000000000000000000000000000000c3506f3b8f936e6f3874603c59120707e3588c" # noqa: E501 ), gas_limit=100000, - value=119135864, + value=0x719DE78, ) post = { - contract: Account(storage={0: 0x3B8F936E6F3874603C59120707E3588C}), + target: Account( + storage={0: 0x3B8F936E6F3874603C59120707E3588C}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest556.py b/tests/ported_static/stRandom2/test_random_statetest556.py index 65904780a9e..b188723be9c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest556.py +++ b/tests/ported_static/stRandom2/test_random_statetest556.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest556. Ported from: -tests/static/state_tests/stRandom2/randomStatetest556Filler.json +state_tests/stRandom2/randomStatetest556Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest556Filler.json"], + ["state_tests/stRandom2/randomStatetest556Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest556( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest556.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,60 @@ def test_random_statetest556( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000006f726e757692a2ad96526b9e8b77a33a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.NUMBER + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x726E757692A2AD96526B9E8B77A33A55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xFC0F78D9E0F19FC8E78CAA6A31AEE7CC3D523B5C), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.NUMBER - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x726E757692A2AD96526B9E8B77A33A55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xfc0f78d9e0f19fc8e78caa6a31aee7cc3d523b5c"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000010000000000000000000000000000000000000000437f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000006f726e757692a2ad96526b9e8b77a33a" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000006f726e757692a2ad96526b9e8b77a33a" # noqa: E501 ), gas_limit=100000, - value=1156625804, + value=0x44F0B58C, ) post = { - contract: Account(storage={0: 0x726E757692A2AD96526B9E8B77A33A55}), + target: Account( + storage={0: 0x726E757692A2AD96526B9E8B77A33A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest558.py b/tests/ported_static/stRandom2/test_random_statetest558.py index 06d85be1119..ff4ba1b42bc 100644 --- a/tests/ported_static/stRandom2/test_random_statetest558.py +++ b/tests/ported_static/stRandom2/test_random_statetest558.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest558. Ported from: -tests/static/state_tests/stRandom2/randomStatetest558Filler.json +state_tests/stRandom2/randomStatetest558Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest558Filler.json"], + ["state_tests/stRandom2/randomStatetest558Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest558( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest558.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,105 +46,44 @@ def test_random_statetest558( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x43767855 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("43767855"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfea0fd6f8e6416af47ab5057d310ed005855772a"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("42"), - gas_limit=400000, - value=100000, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest558Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest558_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, + address=Address(0xFEA0FD6F8E6416AF47AB5057D310ED005855772A), # noqa: E501 ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex("43767855"), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xfea0fd6f8e6416af47ab5057d310ed005855772a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest559.py b/tests/ported_static/stRandom2/test_random_statetest559.py index 6299bb8871c..914656d8623 100644 --- a/tests/ported_static/stRandom2/test_random_statetest559.py +++ b/tests/ported_static/stRandom2/test_random_statetest559.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest559. Ported from: -tests/static/state_tests/stRandom2/randomStatetest559Filler.json +state_tests/stRandom2/randomStatetest559Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest559Filler.json"], + ["state_tests/stRandom2/randomStatetest559Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest559( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest559.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,64 @@ def test_random_statetest559( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.SELFDESTRUCT( - address=Op.MULMOD( - Op.DUP6, - Op.PUSH32[0x10000000000000000000000000000000000000000], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ), + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000008509ff1555 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.SELFDESTRUCT( + address=Op.MULMOD( + Op.DUP6, + Op.PUSH32[0x10000000000000000000000000000000000000000], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ) - + Op.ISZERO - + Op.SSTORE - ), + ) + + Op.ISZERO + + Op.SSTORE, nonce=0, - address=Address("0x1e5faef71e88302d7aaed005a206baddc12897dc"), # noqa: E501 + address=Address(0x1E5FAEF71E88302D7AAED005A206BADDC12897DC), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000007f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000" # noqa: E501 - "0000000000000000000000008509ff15" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000008509ff15" # noqa: E501 ), gas_limit=100000, - value=312647948, + value=0x12A2A10C, ) - post: dict = {} + post = { + Address(0x0000000000000000FFFFFFFFFFFFFFFFFFFFFFFF): Account( + storage={}, code=b"", nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest560.py b/tests/ported_static/stRandom2/test_random_statetest560.py index 06225549ca5..44eeabf0f7b 100644 --- a/tests/ported_static/stRandom2/test_random_statetest560.py +++ b/tests/ported_static/stRandom2/test_random_statetest560.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest560. Ported from: -tests/static/state_tests/stRandom2/randomStatetest560Filler.json +state_tests/stRandom2/randomStatetest560Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest560Filler.json"], + ["state_tests/stRandom2/randomStatetest560Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest560( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest560.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,52 +46,47 @@ def test_random_statetest560( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c35059a17f0000000000000000000000000000000000000000000000000000000000000001f38f07bf60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c35059a17f0000000000000000000000000000000000000000000000000000000000000001f38f07bf60005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC9EDD4CF792E9FEFFEE7968E9A49A0BD81A7BA40), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c35059a17f000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000001f38f07bf60005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc9edd4cf792e9feffee7968e9a49a0bd81a7ba40"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c35059a17f000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000001f38f07bf" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c35059a17f0000000000000000000000000000000000000000000000000000000000000001f38f07bf" # noqa: E501 ), gas_limit=500000, - value=50481116, + value=0x30247DC, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest562.py b/tests/ported_static/stRandom2/test_random_statetest562.py index e92bbabc1cb..c099274d4b0 100644 --- a/tests/ported_static/stRandom2/test_random_statetest562.py +++ b/tests/ported_static/stRandom2/test_random_statetest562.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest562. Ported from: -tests/static/state_tests/stRandom2/randomStatetest562Filler.json +state_tests/stRandom2/randomStatetest562Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest562Filler.json"], + ["state_tests/stRandom2/randomStatetest562Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest562( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest562.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,61 @@ def test_random_statetest562( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350a094448744 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.SWAP4 + + Op.LOG0( + offset=Op.PUSH32[0xC350], + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SWAP5 + + Op.PREVRANDAO + + Op.DUP8 + + Op.PREVRANDAO, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x86E63B3928D89817589609C1E2180E22939D6A62), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.SWAP4 - + Op.LOG0( - offset=Op.PUSH32[0xC350], - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SWAP5 - + Op.PREVRANDAO - + Op.DUP8 - + Op.PREVRANDAO + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x86e63b3928d89817589609c1e2180e22939d6a62"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000001937fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c350a094448744" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c350a094448744" # noqa: E501 ), gas_limit=100000, - value=1494991145, + value=0x591BC129, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest563.py b/tests/ported_static/stRandom2/test_random_statetest563.py index 912937ca37b..09ed06b301c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest563.py +++ b/tests/ported_static/stRandom2/test_random_statetest563.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest563. Ported from: -tests/static/state_tests/stRandom2/randomStatetest563Filler.json +state_tests/stRandom2/randomStatetest563Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest563Filler.json"], + ["state_tests/stRandom2/randomStatetest563Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest563( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest563.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,47 @@ def test_random_statetest563( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe418b7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000461098038315ba267 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe418b7f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000" # noqa: E501 - "4f3f701464972e74606d6ea82d4d3080599a0e790461098038315ba267" + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe418b7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e790461098038315ba267" # noqa: E501 ), nonce=0, - address=Address("0x2f5f042c5d61da63b8afa98d3502ff4b4950c22b"), # noqa: E501 + address=Address(0x2F5F042C5D61DA63B8AFA98D3502FF4B4950C22B), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe418b7f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000" # noqa: E501 - "4f3f701464972e74606d6ea82d4d3080599a0e790461098038315ba267" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe418b7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e790461098038315ba267" # noqa: E501 ), gas_limit=100000, - value=1283542119, + value=0x4C814C67, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest564.py b/tests/ported_static/stRandom2/test_random_statetest564.py index 6f551a80aed..4812eaa5058 100644 --- a/tests/ported_static/stRandom2/test_random_statetest564.py +++ b/tests/ported_static/stRandom2/test_random_statetest564.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest564. Ported from: -tests/static/state_tests/stRandom2/randomStatetest564Filler.json +state_tests/stRandom2/randomStatetest564Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest564Filler.json"], + ["state_tests/stRandom2/randomStatetest564Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_random_statetest564( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5") + """Test_random_statetest564.""" + coinbase = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,71 +47,62 @@ def test_random_statetest564( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.POP(Op.GASLIMIT) - + Op.SSTORE(key=Op.AND, value=Op.ADDMOD) - ), + # Source: raw + # 0x5b7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4550081655 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.POP(Op.GASLIMIT) + + Op.SSTORE(key=Op.AND, value=Op.ADDMOD), nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "5b7f00000000000000000000000100000000000000000000000000000000000000007f00" # noqa: E501 - "000000000000000000000100000000000000000000000000000000000000007f00000000" # noqa: E501 - "0000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000" # noqa: E501 - "0000000000945304eb96065b2a98b57a48a06ae28d285a71b57fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe45500816" + to=contract_0, + data=Bytes( + "5b7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe45500816" # noqa: E501 ), gas_limit=100000, - value=286796184, + value=0x11182998, ) post = { - contract: Account( + contract_0: Account( storage={ 0x945304EB96065B2A98B57A48A06AE28D285A71B5: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest565.py b/tests/ported_static/stRandom2/test_random_statetest565.py index 60d9dbd4640..a6a3993b0f4 100644 --- a/tests/ported_static/stRandom2/test_random_statetest565.py +++ b/tests/ported_static/stRandom2/test_random_statetest565.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest565. Ported from: -tests/static/state_tests/stRandom2/randomStatetest565Filler.json +state_tests/stRandom2/randomStatetest565Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest565Filler.json"], + ["state_tests/stRandom2/randomStatetest565Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest565( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest565.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,61 @@ def test_random_statetest565( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SGT( - Op.PUSH32[0xC350], - Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], - ) - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SWAP3 - + Op.CALLDATACOPY - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000000000000000000000000000000000000000c350137f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000010000000000000000000000000000000000000000923760005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SGT( + Op.PUSH32[0xC350], + Op.PUSH32[0x945304EB96065B2A98B57A48A06AE28D285A71B5], + ) + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SWAP3 + + Op.CALLDATACOPY + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x3abd4b5fbca81075bf801f6cd4ad691531705e97"), # noqa: E501 + address=Address(0x3ABD4B5FBCA81075BF801F6CD4AD691531705E97), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c350137f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007f00000000000000000000000100" # noqa: E501 - "000000000000000000000000000000000000009237" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f000000000000000000000000000000000000000000000000000000000000c350137f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000009237" # noqa: E501 ), gas_limit=100000, - value=684525926, + value=0x28CD0966, ) post = { - contract: Account( + target: Account( storage={ 0x7F00000000000000000000000100000000000000000000000000000000000000: 0x10000000000000000000000000000000000000000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest566.py b/tests/ported_static/stRandom2/test_random_statetest566.py index 5d191565dd7..b2b6f020b69 100644 --- a/tests/ported_static/stRandom2/test_random_statetest566.py +++ b/tests/ported_static/stRandom2/test_random_statetest566.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest566. Ported from: -tests/static/state_tests/stRandom2/randomStatetest566Filler.json +state_tests/stRandom2/randomStatetest566Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest566Filler.json"], + ["state_tests/stRandom2/randomStatetest566Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest566( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest566.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,57 @@ def test_random_statetest566( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x9a7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000000117f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff427f00000000000000000000000093963332578665734360005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SWAP11 + + Op.GT(Op.PUSH32[0x0], Op.PUSH32[0xC350]) + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.TIMESTAMP + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SWAP4 + + Op.SWAP7 + + Op.JUMPI(pc=Op.ORIGIN, condition=Op.CALLER) + + Op.DUP7 + + Op.PUSH6[0x734360005155], nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE8FDA25222733F9C226C2E5B6DCA729EB71076FD), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SWAP11 - + Op.GT(Op.PUSH32[0x0], Op.PUSH32[0xC350]) - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.TIMESTAMP - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SWAP4 - + Op.SWAP7 - + Op.JUMPI(pc=Op.ORIGIN, condition=Op.CALLER) - + Op.DUP7 - + Op.PUSH6[0x734360005155] + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xe8fda25222733f9c226c2e5b6dca729eb71076fd"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "9a7f000000000000000000000000000000000000000000000000000000000000c3507f00" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000117f000000" # noqa: E501 - "00000000000000000100000000000000000000000000000000000000007fffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffff427f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e79939633325786657343" # noqa: E501 + to=target, + data=Bytes( + "9a7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000000117f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79939633325786657343" # noqa: E501 ), gas_limit=100000, - value=565778672, + value=0x21B918F0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest567.py b/tests/ported_static/stRandom2/test_random_statetest567.py index 1b7d414f659..4146843bf4d 100644 --- a/tests/ported_static/stRandom2/test_random_statetest567.py +++ b/tests/ported_static/stRandom2/test_random_statetest567.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest567. Ported from: -tests/static/state_tests/stRandom2/randomStatetest567Filler.json +state_tests/stRandom2/randomStatetest567Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest567Filler.json"], + ["state_tests/stRandom2/randomStatetest567Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest567( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest567.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,135 +46,47 @@ def test_random_statetest567( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017e7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe906697998df1160b # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017e7f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe906697998df1160b" + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017e7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe906697998df1160b" # noqa: E501 ), nonce=0, - address=Address("0x4860849f881f7ecbb6a4c146eef8f95f52f462bb"), # noqa: E501 + address=Address(0x4860849F881F7ECBB6A4C146EEF8F95F52F462BB), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017e7f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe906697998df1160b" - ), - gas_limit=100000, - value=600472398, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest567Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest567_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017e7f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe906697998df1160b" - ), - nonce=0, - address=Address("0x4860849f881f7ecbb6a4c146eef8f95f52f462bb"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507fffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017e7f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017fffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffe906697998df1160b" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017e7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe906697998df1160b" # noqa: E501 ), gas_limit=100000, - value=600472398, + value=0x23CA7B4E, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest569.py b/tests/ported_static/stRandom2/test_random_statetest569.py index 14faeec2839..8be41c17132 100644 --- a/tests/ported_static/stRandom2/test_random_statetest569.py +++ b/tests/ported_static/stRandom2/test_random_statetest569.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest569. Ported from: -tests/static/state_tests/stRandom2/randomStatetest569Filler.json +state_tests/stRandom2/randomStatetest569Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest569Filler.json"], + ["state_tests/stRandom2/randomStatetest569Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest569( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest569.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,55 +46,47 @@ def test_random_statetest569( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f000000000000000000000000097f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8e0781816fff31986c0a773c9b014460005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79097f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8e0781816fff31986c0a773c9b014460005155" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA3FC9ABF6758B048BB28CEE4C8F4F9722C90AFE2), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e79097f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000017fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffe8e0781816fff31986c0a773c9b014460" # noqa: E501 - "005155" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa3fc9abf6758b048bb28cee4c8f4f9722c90afe2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e79097f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000017fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffe8e0781816fff31986c0a773c9b0144" # noqa: E501 + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79097f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8e0781816fff31986c0a773c9b0144" # noqa: E501 ), gas_limit=100000, - value=1737878734, + value=0x6795ECCE, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest571.py b/tests/ported_static/stRandom2/test_random_statetest571.py index 898fc1623cf..1e6cb3dbd88 100644 --- a/tests/ported_static/stRandom2/test_random_statetest571.py +++ b/tests/ported_static/stRandom2/test_random_statetest571.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest571. Ported from: -tests/static/state_tests/stRandom2/randomStatetest571Filler.json +state_tests/stRandom2/randomStatetest571Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest571Filler.json"], + ["state_tests/stRandom2/randomStatetest571Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest571( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest571.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,57 @@ def test_random_statetest571( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000015b7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000003c6508766c8b6b403a60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.JUMPDEST + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.EXTCODECOPY + + Op.PUSH6[0x8766C8B6B40] + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.GASPRICE), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC983BD5257B89D1C32D59E0251C5456BC7397124), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.JUMPDEST - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.EXTCODECOPY - + Op.PUSH6[0x8766C8B6B40] - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=Op.GASPRICE) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc983bd5257b89d1c32d59e0251c5456bc7397124"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000015b7f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000017f0000000000000000000000004f3f7014" # noqa: E501 - "64972e74606d6ea82d4d3080599a0e793c6508766c8b6b403a" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000015b7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e793c6508766c8b6b403a" # noqa: E501 ), gas_limit=100000, - value=1402161028, + value=0x53934784, ) post = { - contract: Account(storage={0: 10}), + target: Account(storage={0: 10}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest572.py b/tests/ported_static/stRandom2/test_random_statetest572.py index 108d111b9c7..b3520e74675 100644 --- a/tests/ported_static/stRandom2/test_random_statetest572.py +++ b/tests/ported_static/stRandom2/test_random_statetest572.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest572. Ported from: -tests/static/state_tests/stRandom2/randomStatetest572Filler.json +state_tests/stRandom2/randomStatetest572Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest572Filler.json"], + ["state_tests/stRandom2/randomStatetest572Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest572( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest572.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,147 +46,59 @@ def test_random_statetest572( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097f000000000000000000000000440ba13b38 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.LOG1( + offset=Op.SIGNEXTEND( + Op.PREVRANDAO, + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + ), + size=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + topic_1=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.EXTCODESIZE + + Op.CODESIZE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x78F04949EEF09FC73B40744730BE09013E89F197), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.LOG1( - offset=Op.SIGNEXTEND( - Op.PREVRANDAO, - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ), - size=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - topic_1=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.EXTCODESIZE - + Op.CODESIZE - ), - nonce=0, - address=Address("0x78f04949eef09fc73b40744730be09013e89f197"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe097f000000000000000000" # noqa: E501 - "0000004f3f701464972e74606d6ea82d4d3080599a0e79440ba13b38" - ), - gas_limit=100000, - value=1943383964, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest572Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest572_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.LOG1( - offset=Op.SIGNEXTEND( - Op.PREVRANDAO, - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ), - size=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - topic_1=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.EXTCODESIZE - + Op.CODESIZE - ), - nonce=0, - address=Address("0x78f04949eef09fc73b40744730be09013e89f197"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe097f000000000000000000" # noqa: E501 - "0000004f3f701464972e74606d6ea82d4d3080599a0e79440ba13b38" + to=target, + data=Bytes( + "457f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79440ba13b38" # noqa: E501 ), gas_limit=100000, - value=1943383964, + value=0x73D5AF9C, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest574.py b/tests/ported_static/stRandom2/test_random_statetest574.py index 08bd73990fe..5124864ae2c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest574.py +++ b/tests/ported_static/stRandom2/test_random_statetest574.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest574. Ported from: -tests/static/state_tests/stRandom2/randomStatetest574Filler.json +state_tests/stRandom2/randomStatetest574Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest574Filler.json"], + ["state_tests/stRandom2/randomStatetest574Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest574( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest574.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest574( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001047f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff046d369354827d7433a335af5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.DIV(Op.PUSH32[0x1], Op.PUSH32[0xC350]) + + Op.PUSH32[0x1] + + Op.SSTORE( + key=0x369354827D7433A335AF55600051, + value=Op.DIV( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0xC350], + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9D24EE5545ABDCCF759A8A1BE28DB858416FA3E7), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.DIV(Op.PUSH32[0x1], Op.PUSH32[0xC350]) - + Op.PUSH32[0x1] - + Op.SSTORE( - key=0x369354827D7433A335AF55600051, - value=Op.DIV( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xC350], - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9d24ee5545abdccf759a8a1be28db858416fa3e7"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000001047f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff046d369354827d7433a335af" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000001047f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff046d369354827d7433a335af" # noqa: E501 ), gas_limit=100000, - value=1595303022, + value=0x5F16646E, ) post = { - contract: Account( + target: Account( storage={ 0x369354827D7433A335AF55600051: 0x14F8B588E368F08461F9F01B866E43AA79BBADC0980B242070B8CFBFC6540, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest575.py b/tests/ported_static/stRandom2/test_random_statetest575.py index b81d11970ff..d734d409077 100644 --- a/tests/ported_static/stRandom2/test_random_statetest575.py +++ b/tests/ported_static/stRandom2/test_random_statetest575.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest575. Ported from: -tests/static/state_tests/stRandom2/randomStatetest575Filler.json +state_tests/stRandom2/randomStatetest575Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest575Filler.json"], + ["state_tests/stRandom2/randomStatetest575Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest575( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest575.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,62 @@ def test_random_statetest575( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000095949655558f6771c7798d047d7b5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SWAP6 + + Op.SWAP5 + + Op.SWAP7 + + Op.SSTORE * 2 + + Op.DUP16 + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x71C7798D047D7B55), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB14048581095A497D29ABD14EA870A27E1BCDC77), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SWAP6 - + Op.SWAP5 - + Op.SWAP7 - + Op.SSTORE - + Op.SSTORE - + Op.DUP16 - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x71C7798D047D7B55) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb14048581095a497d29abd14ea870a27e1bcdc77"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74" # noqa: E501 - "606d6ea82d4d3080599a0e7995949655558f6771c7798d047d7b" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e7995949655558f6771c7798d047d7b" # noqa: E501 ), gas_limit=100000, - value=181388892, + value=0xACFC65C, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest576.py b/tests/ported_static/stRandom2/test_random_statetest576.py index 1ce3e274a6e..e2fc5041966 100644 --- a/tests/ported_static/stRandom2/test_random_statetest576.py +++ b/tests/ported_static/stRandom2/test_random_statetest576.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest576. Ported from: -tests/static/state_tests/stRandom2/randomStatetest576Filler.json +state_tests/stRandom2/randomStatetest576Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest576Filler.json"], + ["state_tests/stRandom2/randomStatetest576Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest576( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest576.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest576( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f0000000000000000000000000000000000000000000000000000000000000000447f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000086053a0b43890710810651116e1555 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000000447f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000086053a0b43890710810651116e1555" + "7f0000000000000000000000000000000000000000000000000000000000000000447f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000000086053a0b43890710810651116e1555" # noqa: E501 ), nonce=0, - address=Address("0x447d08abed1518b3b0d1adee769af4e010f53737"), # noqa: E501 + address=Address(0x447D08ABED1518B3B0D1ADEE769AF4E010F53737), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000000000000000000000000000000000000000000000447f00" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000c3507f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000017f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000086053a0b43890710810651116e15" + to=target, + data=Bytes( + "7f0000000000000000000000000000000000000000000000000000000000000000447f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000000086053a0b43890710810651116e15" # noqa: E501 ), gas_limit=100000, - value=768288943, + value=0x2DCB28AF, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest577.py b/tests/ported_static/stRandom2/test_random_statetest577.py index f03ad16351b..4d6bfa70a4b 100644 --- a/tests/ported_static/stRandom2/test_random_statetest577.py +++ b/tests/ported_static/stRandom2/test_random_statetest577.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest577. Ported from: -tests/static/state_tests/stRandom2/randomStatetest577Filler.json +state_tests/stRandom2/randomStatetest577Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest577Filler.json"], + ["state_tests/stRandom2/randomStatetest577Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest577( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest577.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,53 +46,54 @@ def test_random_statetest577( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x45414344434244413155 + target = pre.deploy_contract( # noqa: F841 + code=Op.GASLIMIT + + Op.COINBASE + + Op.NUMBER + + Op.PREVRANDAO + + Op.NUMBER + + Op.TIMESTAMP + + Op.SSTORE(key=Op.BALANCE(address=Op.COINBASE), value=Op.PREVRANDAO), + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xE2A7C7DE420AFC2CD4066E4B3782AD5BBAE7260C), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.GASLIMIT - + Op.COINBASE - + Op.NUMBER - + Op.PREVRANDAO - + Op.NUMBER - + Op.TIMESTAMP - + Op.SSTORE( - key=Op.BALANCE(address=Op.COINBASE), value=Op.PREVRANDAO - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0xe2a7c7de420afc2cd4066e4b3782ad5bbae7260c"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={46: 0x20000}), + target: Account( + storage={46: 0x20000}, + balance=0xDE0B6B3A76586A0, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest578.py b/tests/ported_static/stRandom2/test_random_statetest578.py index af19a7ecc32..1e5c6a6c4e9 100644 --- a/tests/ported_static/stRandom2/test_random_statetest578.py +++ b/tests/ported_static/stRandom2/test_random_statetest578.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest578. Ported from: -tests/static/state_tests/stRandom2/randomStatetest578Filler.json +state_tests/stRandom2/randomStatetest578Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest578Filler.json"], + ["state_tests/stRandom2/randomStatetest578Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest578( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest578.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,62 @@ def test_random_statetest578( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c350457f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff4255 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.GASLIMIT + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.TIMESTAMP, + value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9582D1A71DC779D62264389F2BBAF2B8196034C5), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.GASLIMIT - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.TIMESTAMP, - value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9582d1a71dc779d62264389f2bbaf2b8196034c5"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c350457f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000007fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff42" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c350457f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff42" # noqa: E501 ), gas_limit=100000, - value=399078357, + value=0x17C973D5, ) post = { - contract: Account( - storage={1000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}, + target: Account( + storage={ + 1: 0, + 1000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest579.py b/tests/ported_static/stRandom2/test_random_statetest579.py index 30c59045d2e..69d435af74c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest579.py +++ b/tests/ported_static/stRandom2/test_random_statetest579.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest579. Ported from: -tests/static/state_tests/stRandom2/randomStatetest579Filler.json +state_tests/stRandom2/randomStatetest579Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest579Filler.json"], + ["state_tests/stRandom2/randomStatetest579Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest579( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest579.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,58 +46,47 @@ def test_random_statetest579( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350f2075b67c755 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350f2075b67c755" # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x78442C2F07F963337C3CEF742D2A1BA66986A918), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000007f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000017f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350f2075b67c755" + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x78442c2f07f963337c3cef742d2a1ba66986a918"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000007f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000017f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350f2075b67c7" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350f2075b67c7" # noqa: E501 ), gas_limit=100000, - value=1929468879, + value=0x73015BCF, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest580.py b/tests/ported_static/stRandom2/test_random_statetest580.py index 86fbdefa0b2..4a411e13462 100644 --- a/tests/ported_static/stRandom2/test_random_statetest580.py +++ b/tests/ported_static/stRandom2/test_random_statetest580.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest580. Ported from: -tests/static/state_tests/stRandom2/randomStatetest580Filler.json +state_tests/stRandom2/randomStatetest580Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest580Filler.json"], + ["state_tests/stRandom2/randomStatetest580Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest580( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest580.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,60 @@ def test_random_statetest580( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000000457f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f4640879d18777b953a209836379a305560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.GASLIMIT + + Op.PUSH32[0x0] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x4640879D18777B953A209836379A3055 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA5BF46323464D6F1AD991DCB5D725E28FD5B267D), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.GASLIMIT - + Op.PUSH32[0x0] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x4640879D18777B953A209836379A3055, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa5bf46323464d6f1ad991dcb5d725e28fd5b267d"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000457f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000007f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000006f4640879d18777b953a209836379a30" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000000457f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000006f4640879d18777b953a209836379a30" # noqa: E501 ), gas_limit=100000, - value=741737505, + value=0x2C360421, ) post = { - contract: Account(storage={0: 0x4640879D18777B953A209836379A3055}), + target: Account( + storage={0: 0x4640879D18777B953A209836379A3055}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest581.py b/tests/ported_static/stRandom2/test_random_statetest581.py index b04e0a235f3..712efab1f3a 100644 --- a/tests/ported_static/stRandom2/test_random_statetest581.py +++ b/tests/ported_static/stRandom2/test_random_statetest581.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest581. Ported from: -tests/static/state_tests/stRandom2/randomStatetest581Filler.json +state_tests/stRandom2/randomStatetest581Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest581Filler.json"], + ["state_tests/stRandom2/randomStatetest581Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest581( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest581.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,54 +46,49 @@ def test_random_statetest581( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001037f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff44920907ff7e7d701260005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000001037f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff44920907ff7e7d701260005155" + "7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001037f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff44920907ff7e7d701260005155" # noqa: E501 ), nonce=0, - address=Address("0x2e41249a09bb2414d41641bd9cd9a15393d41e76"), # noqa: E501 + address=Address(0x2E41249A09BB2414D41641BD9CD9A15393D41E76), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017f0000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000001037f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "0000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff44920907ff7e7d7012" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000001037f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff44920907ff7e7d7012" # noqa: E501 ), gas_limit=100000, - value=1563515411, + value=0x5D315A13, ) - post: dict = {} + post = { + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + Address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF): Account( + storage={}, code=b"", nonce=0 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest582.py b/tests/ported_static/stRandom2/test_random_statetest582.py index 158ff91d864..35043f6656e 100644 --- a/tests/ported_static/stRandom2/test_random_statetest582.py +++ b/tests/ported_static/stRandom2/test_random_statetest582.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest582. Ported from: -tests/static/state_tests/stRandom2/randomStatetest582Filler.json +state_tests/stRandom2/randomStatetest582Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest582Filler.json"], + ["state_tests/stRandom2/randomStatetest582Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest582( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest582.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,57 @@ def test_random_statetest582( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000417f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000045086201771880f35560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.COINBASE + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xC350] + + Op.ADDMOD(Op.GASLIMIT, Op.PUSH32[0x0], Op.PUSH32[0x0]) + + Op.RETURN(offset=Op.DUP1, size=0x17718) + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x99E6F87CBA9C1737F49965828C1BADEC51A91DFD), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.COINBASE - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.ADDMOD(Op.GASLIMIT, Op.PUSH32[0x0], Op.PUSH32[0x0]) - + Op.RETURN(offset=Op.DUP1, size=0x17718) - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x99e6f87cba9c1737f49965828c1badec51a91dfd"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000007fffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c3507f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f00000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000045086201771880f3" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79417f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000045086201771880f3" # noqa: E501 ), gas_limit=200000, - value=1969973721, + value=0x756B69D9, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest583.py b/tests/ported_static/stRandom2/test_random_statetest583.py index 245ff0771a2..dd7f390a1cf 100644 --- a/tests/ported_static/stRandom2/test_random_statetest583.py +++ b/tests/ported_static/stRandom2/test_random_statetest583.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest583. Ported from: -tests/static/state_tests/stRandom2/randomStatetest583Filler.json +state_tests/stRandom2/randomStatetest583Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest583Filler.json"], + ["state_tests/stRandom2/randomStatetest583Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest583( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest583.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,66 +47,61 @@ def test_random_statetest583( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000425162327c5536a36af3809c3a8f396660005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.LOG3( + offset=Op.CALLDATASIZE, + size=0x327C55, + topic_1=Op.MLOAD(offset=Op.TIMESTAMP), + topic_2=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + topic_3=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + ) + + Op.PUSH11[0xF3809C3A8F396660005155], nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5ED77238CFAC99CEDF0D4438DDADFE34ED439D7F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.LOG3( - offset=Op.CALLDATASIZE, - size=0x327C55, - topic_1=Op.MLOAD(offset=Op.TIMESTAMP), - topic_2=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - topic_3=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.PUSH11[0xF3809C3A8F396660005155] + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5ed77238cfac99cedf0d4438ddadfe34ed439d7f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464" # noqa: E501 - "972e74606d6ea82d4d3080599a0e79425162327c5536a36af3809c3a8f3966" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79425162327c5536a36af3809c3a8f3966" # noqa: E501 ), gas_limit=1655377476, - value=1472402212, + value=0x57C31324, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest584.py b/tests/ported_static/stRandom2/test_random_statetest584.py index 21c8b8b8b05..184bf97bd23 100644 --- a/tests/ported_static/stRandom2/test_random_statetest584.py +++ b/tests/ported_static/stRandom2/test_random_statetest584.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest584. Ported from: -tests/static/state_tests/stRandom2/randomStatetest584Filler.json +state_tests/stRandom2/randomStatetest584Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest584Filler.json"], + ["state_tests/stRandom2/randomStatetest584Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest584( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest584.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,75 +46,68 @@ def test_random_statetest584( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe96921909335560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SWAP7 + + Op.SWAP3 + + Op.NOT + + Op.SSTORE(key=Op.CALLER, value=Op.MULMOD) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA6EB2C6959A0B259080FF4156A01C2B5CCAD2E29), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SWAP7 - + Op.SWAP3 - + Op.NOT - + Op.SSTORE(key=Op.CALLER, value=Op.MULMOD) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa6eb2c6959a0b259080ff4156a01c2b5ccad2e29"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000017fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe9692190933" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9692190933" # noqa: E501 ), gas_limit=100000, - value=352685837, + value=0x15058F0D, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 0x2E3D0156D2B99A6EACBA540C55F423C8F5A33143: 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest585.py b/tests/ported_static/stRandom2/test_random_statetest585.py index cc72c2ef1ab..ee7a07907da 100644 --- a/tests/ported_static/stRandom2/test_random_statetest585.py +++ b/tests/ported_static/stRandom2/test_random_statetest585.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest585. Ported from: -tests/static/state_tests/stRandom2/randomStatetest585Filler.json +state_tests/stRandom2/randomStatetest585Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest585Filler.json"], + ["state_tests/stRandom2/randomStatetest585Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest585( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest585.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,63 @@ def test_random_statetest585( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe55 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xAC0F5185BABC3F1B583C2B31429E4F4B5F843AC3), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xac0f5185babc3f1b583c2b31429e4f4b5f843ac3"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0100000000000000000000000000000000000000007fffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe" # noqa: E501 ), gas_limit=100000, - value=380785530, + value=0x16B2537A, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest586.py b/tests/ported_static/stRandom2/test_random_statetest586.py index 04b5f3c3786..ae76adb4b9d 100644 --- a/tests/ported_static/stRandom2/test_random_statetest586.py +++ b/tests/ported_static/stRandom2/test_random_statetest586.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest586. Ported from: -tests/static/state_tests/stRandom2/randomStatetest586Filler.json +state_tests/stRandom2/randomStatetest586Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest586Filler.json"], + ["state_tests/stRandom2/randomStatetest586Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest586( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest586.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,61 @@ def test_random_statetest586( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000013760005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] * 3 + + Op.PUSH32[0xC350] + + Op.CALLDATACOPY( + dest_offset=Op.PUSH32[0x1], + offset=Op.PUSH32[0x1], + size=Op.PUSH32[0xC350], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x92CF87191DD055F997CA7B4479B54F4345467BA9), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.CALLDATACOPY( - dest_offset=Op.PUSH32[0x1], - offset=Op.PUSH32[0x1], - size=Op.PUSH32[0xC350], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x92cf87191dd055f997ca7b4479b54f4345467ba9"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507f0000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000c3507f0000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000017f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000137" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000000137" # noqa: E501 ), gas_limit=100000, - value=1708929612, + value=0x65DC324C, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 50000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest587.py b/tests/ported_static/stRandom2/test_random_statetest587.py index b86fde493d0..707a9247b2a 100644 --- a/tests/ported_static/stRandom2/test_random_statetest587.py +++ b/tests/ported_static/stRandom2/test_random_statetest587.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest587. Ported from: -tests/static/state_tests/stRandom2/randomStatetest587Filler.json +state_tests/stRandom2/randomStatetest587Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest587Filler.json"], + ["state_tests/stRandom2/randomStatetest587Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest587( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest587.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,58 @@ def test_random_statetest587( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350117f0000000000000000000000000000000000000000000000000000000000000001457f0000000000000000000000006f8b7152a3958a923c1665b27557089a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.GT(Op.PUSH32[0xC350], Op.PUSH32[0x0]) + + Op.PUSH32[0x1] + + Op.GASLIMIT + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x8B7152A3958A923C1665B27557089A55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x5A19607CF239E82E6C621692577EEF772162D139), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.GT(Op.PUSH32[0xC350], Op.PUSH32[0x0]) - + Op.PUSH32[0x1] - + Op.GASLIMIT - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x8B7152A3958A923C1665B27557089A55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x5a19607cf239e82e6c621692577eef772162d139"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c350117f00000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000001457f000000000000000000000000" # noqa: E501 - "4f3f701464972e74606d6ea82d4d3080599a0e796f8b7152a3958a923c1665b27557089a" # noqa: E501 + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350117f0000000000000000000000000000000000000000000000000000000000000001457f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f8b7152a3958a923c1665b27557089a" # noqa: E501 ), gas_limit=100000, - value=291521552, + value=0x11604410, ) post = { - contract: Account(storage={0: 0x8B7152A3958A923C1665B27557089A55}), + target: Account( + storage={0: 0x8B7152A3958A923C1665B27557089A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest588.py b/tests/ported_static/stRandom2/test_random_statetest588.py index c53f1d71016..72f305a5b4d 100644 --- a/tests/ported_static/stRandom2/test_random_statetest588.py +++ b/tests/ported_static/stRandom2/test_random_statetest588.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest588. Ported from: -tests/static/state_tests/stRandom2/randomStatetest588Filler.json +state_tests/stRandom2/randomStatetest588Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest588Filler.json"], + ["state_tests/stRandom2/randomStatetest588Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest588( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest588.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,66 @@ def test_random_statetest588( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.COINBASE - + Op.NUMBER - + Op.PUSH32[0x1] - + Op.CALLDATACOPY( - dest_offset=Op.MOD( - Op.NUMBER, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - offset=Op.PUSH32[0x1], - size=Op.PUSH32[0xC350], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41437f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43063760005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.COINBASE + + Op.NUMBER + + Op.PUSH32[0x1] + + Op.CALLDATACOPY( + dest_offset=Op.MOD( + Op.NUMBER, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + offset=Op.PUSH32[0x1], + size=Op.PUSH32[0xC350], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x2c3d41995b7f3d32e08c6575e2ddaa1ae5cf2067"), # noqa: E501 + address=Address(0x2C3D41995B7F3D32E08C6575E2DDAA1AE5CF2067), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41437f" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000017f000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000c3507f000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000017fffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffff430637" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41437f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff430637" # noqa: E501 ), gas_limit=100000, - value=1725348983, + value=0x66D6BC77, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 1, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest589.py b/tests/ported_static/stRandom2/test_random_statetest589.py index e195026b0f9..09fd635981d 100644 --- a/tests/ported_static/stRandom2/test_random_statetest589.py +++ b/tests/ported_static/stRandom2/test_random_statetest589.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest589. Ported from: -tests/static/state_tests/stRandom2/randomStatetest589Filler.json +state_tests/stRandom2/randomStatetest589Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest589Filler.json"], + ["state_tests/stRandom2/randomStatetest589Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest589( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest589.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,55 @@ def test_random_statetest589( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x427f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b940860005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.TIMESTAMP + + Op.PUSH32[0x0] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PC + + Op.RETURN(offset=Op.DUP2, size=Op.CALLVALUE) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x85646D53671639175B9408), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB2DA1F608A7E0626E721677FA30FC46D2D99C655), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.PUSH32[0x0] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PC - + Op.RETURN(offset=Op.DUP2, size=Op.CALLVALUE) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), value=0x85646D53671639175B9408 - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb2da1f608a7e0626e721677fa30fc46d2d99c655"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "427f00000000000000000000000000000000000000000000000000000000000000007f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000" # noqa: E501 - "0000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b9408" # noqa: E501 + to=target, + data=Bytes( + "427f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff583481f36a85646d53671639175b9408" # noqa: E501 ), gas_limit=4400000, - value=1485632, + value=0x16AB40, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest592.py b/tests/ported_static/stRandom2/test_random_statetest592.py index fb48c787595..116fa17621c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest592.py +++ b/tests/ported_static/stRandom2/test_random_statetest592.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest592. Ported from: -tests/static/state_tests/stRandom2/randomStatetest592Filler.json +state_tests/stRandom2/randomStatetest592Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest592Filler.json"], + ["state_tests/stRandom2/randomStatetest592Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest592( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest592.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,61 @@ def test_random_statetest592( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.GASLIMIT - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.PUSH32[0x10000000000000000000000000000000000000000], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.GASLIMIT + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.PUSH32[0x10000000000000000000000000000000000000000], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), nonce=0, - address=Address("0x19cc73462c6b04d360707355ac19146db67eb609"), # noqa: E501 + address=Address(0x19CC73462C6B04D360707355AC19146DB67EB609), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e79457fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=1664737509, + value=0x6339E0E5, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest596.py b/tests/ported_static/stRandom2/test_random_statetest596.py index 85270aba81d..f6608164630 100644 --- a/tests/ported_static/stRandom2/test_random_statetest596.py +++ b/tests/ported_static/stRandom2/test_random_statetest596.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest596. Ported from: -tests/static/state_tests/stRandom2/randomStatetest596Filler.json +state_tests/stRandom2/randomStatetest596Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest596Filler.json"], + ["state_tests/stRandom2/randomStatetest596Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest596( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest596.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,56 @@ def test_random_statetest596( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001317f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000006f7066a3507f6e0906539456383065205560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.BALANCE(address=Op.PUSH32[0x1]) + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x7066A3507F6E09065394563830652055 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7DA4E942D745C3AA5378B0D785AABC77D03EBF58), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.BALANCE(address=Op.PUSH32[0x1]) - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x7066A3507F6E09065394563830652055, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7da4e942d745c3aa5378b0d785aabc77d03ebf58"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001317f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000006f7066a3507f6e090653945638306520" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001317f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000006f7066a3507f6e090653945638306520" # noqa: E501 ), gas_limit=100000, - value=765064321, + value=0x2D99F481, ) post = { - contract: Account(storage={0: 0x7066A3507F6E09065394563830652055}), + target: Account( + storage={0: 0x7066A3507F6E09065394563830652055}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest597.py b/tests/ported_static/stRandom2/test_random_statetest597.py index 7c25e626801..7060a11d36a 100644 --- a/tests/ported_static/stRandom2/test_random_statetest597.py +++ b/tests/ported_static/stRandom2/test_random_statetest597.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest597. Ported from: -tests/static/state_tests/stRandom2/randomStatetest597Filler.json +state_tests/stRandom2/randomStatetest597Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest597Filler.json"], + ["state_tests/stRandom2/randomStatetest597Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest597( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest597.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest597( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000967f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3a7e737d40070a156482930a0875 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79967f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff3a7e737d40070a156482930a0875" + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79967f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3a7e737d40070a156482930a0875" # noqa: E501 ), nonce=0, - address=Address("0x2f021da657fb4d77fbcc8556101f287ddc7e44db"), # noqa: E501 + address=Address(0x2F021DA657FB4D77FBCC8556101F287DDC7E44DB), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79967f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff3a7e737d40070a156482930a0875" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79967f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3a7e737d40070a156482930a0875" # noqa: E501 ), gas_limit=100000, - value=1879452952, + value=0x70062D18, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest599.py b/tests/ported_static/stRandom2/test_random_statetest599.py index fe10b029a72..9f35d88ac51 100644 --- a/tests/ported_static/stRandom2/test_random_statetest599.py +++ b/tests/ported_static/stRandom2/test_random_statetest599.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest599. Ported from: -tests/static/state_tests/stRandom2/randomStatetest599Filler.json +state_tests/stRandom2/randomStatetest599Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest599Filler.json"], + ["state_tests/stRandom2/randomStatetest599Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest599( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest599.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,72 +46,64 @@ def test_random_statetest599( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f8d6c60440a44449372068a976a83825560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + * 2 + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x8D6C60440A44449372068A976A838255 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDF8466089BD5913066F6D053AC12C5CF376BE1EC), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x8D6C60440A44449372068A976A838255, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xdf8466089bd5913066f6d053ac12c5cf376be1ec"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000017fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff6f8d6c60440a44449372068a976a8382" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f8d6c60440a44449372068a976a8382" # noqa: E501 ), gas_limit=100000, - value=1108427958, + value=0x421144B6, ) post = { - contract: Account(storage={0: 0x8D6C60440A44449372068A976A838255}), + target: Account( + storage={0: 0x8D6C60440A44449372068A976A838255}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest600.py b/tests/ported_static/stRandom2/test_random_statetest600.py index 8daf4db5cb7..9652cd21b9f 100644 --- a/tests/ported_static/stRandom2/test_random_statetest600.py +++ b/tests/ported_static/stRandom2/test_random_statetest600.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest600. Ported from: -tests/static/state_tests/stRandom2/randomStatetest600Filler.json +state_tests/stRandom2/randomStatetest600Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest600Filler.json"], + ["state_tests/stRandom2/randomStatetest600Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest600( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest600.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,60 @@ def test_random_statetest600( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c35043457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f0b6f37208e76a402927039198c96990760005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] * 2 + + Op.NUMBER + + Op.GASLIMIT + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0xB6F37208E76A402927039198C969907 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xEBCAA36388652F22565C63FD8945D8B9326018BA), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0xC350] - + Op.NUMBER - + Op.GASLIMIT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0xB6F37208E76A402927039198C969907, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xebcaa36388652f22565c63fd8945d8b9326018ba"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c3507f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c35043457fffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffe6f0b6f37208e76a40292703919" # noqa: E501 - "8c969907" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f000000000000000000000000000000000000000000000000000000000000c35043457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f0b6f37208e76a402927039198c969907" # noqa: E501 ), gas_limit=100000, - value=181662108, + value=0xAD3F19C, ) post = { - contract: Account(storage={0: 0xB6F37208E76A402927039198C969907}), + target: Account( + storage={0: 0xB6F37208E76A402927039198C969907}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest601.py b/tests/ported_static/stRandom2/test_random_statetest601.py index 53272f15613..63caca6e3fd 100644 --- a/tests/ported_static/stRandom2/test_random_statetest601.py +++ b/tests/ported_static/stRandom2/test_random_statetest601.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest601. Ported from: -tests/static/state_tests/stRandom2/randomStatetest601Filler.json +state_tests/stRandom2/randomStatetest601Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest601Filler.json"], + ["state_tests/stRandom2/randomStatetest601Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest601( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest601.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,56 +46,47 @@ def test_random_statetest601( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350377f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000000b3a09785b1084418866100af0868a3455 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "00000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c350377f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000100000000" # noqa: E501 - "000000000000000000000000000000000b3a09785b1084418866100af0868a3455" # noqa: E501 + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350377f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000000b3a09785b1084418866100af0868a3455" # noqa: E501 ), nonce=0, - address=Address("0x287d3f26febb148710a503235ebf7ac1f1b75838"), # noqa: E501 + address=Address(0x287D3F26FEBB148710A503235EBF7AC1F1B75838), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "00000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c350377f00000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000c3507f00000000000000000000000100000000" # noqa: E501 - "000000000000000000000000000000000b3a09785b1084418866100af0868a34" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350377f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000000b3a09785b1084418866100af0868a34" # noqa: E501 ), gas_limit=100000, - value=2056709657, + value=0x7A96E619, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest602.py b/tests/ported_static/stRandom2/test_random_statetest602.py index 7fbeb15b5d2..f04e4c1640b 100644 --- a/tests/ported_static/stRandom2/test_random_statetest602.py +++ b/tests/ported_static/stRandom2/test_random_statetest602.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest602. Ported from: -tests/static/state_tests/stRandom2/randomStatetest602Filler.json +state_tests/stRandom2/randomStatetest602Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest602Filler.json"], + ["state_tests/stRandom2/randomStatetest602Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest602( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest602.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,57 @@ def test_random_statetest602( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.PUSH32[0x1] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], ), nonce=0, - address=Address("0x1a15031b3876144e7362ee8e8e2ddfbe56e0cb51"), # noqa: E501 + address=Address(0x1A15031B3876144E7362EE8E8E2DDFBE56E0CB51), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "00000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017f0000000000000000000000010000000000" # noqa: E501 - "0000000000000000000000000000007f000000000000000000000000ffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffff" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" # noqa: E501 ), gas_limit=100000, - value=634394404, + value=0x25D01724, ) post = { - contract: Account( + target: Account( storage={0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest603.py b/tests/ported_static/stRandom2/test_random_statetest603.py index 27c385e5c55..d996cb9f084 100644 --- a/tests/ported_static/stRandom2/test_random_statetest603.py +++ b/tests/ported_static/stRandom2/test_random_statetest603.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest603. Ported from: -tests/static/state_tests/stRandom2/randomStatetest603Filler.json +state_tests/stRandom2/randomStatetest603Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest603Filler.json"], + ["state_tests/stRandom2/randomStatetest603Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest603( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest603.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,59 @@ def test_random_statetest603( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000427f0000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000086f655860560745326476a03cdc3606345560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.TIMESTAMP + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.ADDMOD( + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + Op.PUSH32[0x10000000000000000000000000000000000000000], + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x655860560745326476A03CDC36063455 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x503333F6D5DDC17E393A7A209DB4CF7842CE6D94), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.TIMESTAMP - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.ADDMOD( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - Op.PUSH32[0x10000000000000000000000000000000000000000], - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x655860560745326476A03CDC36063455, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x503333f6d5ddc17e393a7a209db4cf7842ce6d94"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79427f00000000" # noqa: E501 - "00000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e79086f655860560745326476a03cdc360634" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79427f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79086f655860560745326476a03cdc360634" # noqa: E501 ), gas_limit=100000, - value=603781106, + value=0x23FCF7F2, ) post = { - contract: Account(storage={0: 0x655860560745326476A03CDC36063455}), + target: Account( + storage={0: 0x655860560745326476A03CDC36063455}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest604.py b/tests/ported_static/stRandom2/test_random_statetest604.py index aa8fb93d43d..be96f4eadd2 100644 --- a/tests/ported_static/stRandom2/test_random_statetest604.py +++ b/tests/ported_static/stRandom2/test_random_statetest604.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest604. Ported from: -tests/static/state_tests/stRandom2/randomStatetest604Filler.json +state_tests/stRandom2/randomStatetest604Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest604Filler.json"], + ["state_tests/stRandom2/randomStatetest604Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest604( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest604.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,63 @@ def test_random_statetest604( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000437f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe44a4418a83039c0587363b0518204006065a06 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.LOG4( + offset=Op.PREVRANDAO, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + topic_1=Op.PUSH32[0x0], + topic_2=Op.NUMBER, + topic_3=Op.PUSH32[0x10000000000000000000000000000000000000000], + topic_4=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + ) + + Op.COINBASE + + Op.SUB(Op.DUP4, Op.DUP11) + + Op.SWAP13 + + Op.MOD( + Op.BLOCKHASH(block_number=Op.SHA3), + Op.XOR( + Op.SDIV(Op.EXTCODESIZE(address=Op.CALLDATASIZE), Op.DUP8), + Op.SDIV, + ), + ) + + Op.MOD(Op.GAS, Op.MOD), nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x7619F7A13BA66BB3E74B1D609BC4C979FDFDA283), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.LOG4( - offset=Op.PREVRANDAO, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - topic_1=Op.PUSH32[0x0], - topic_2=Op.NUMBER, - topic_3=Op.PUSH32[0x10000000000000000000000000000000000000000], - topic_4=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - ) - + Op.COINBASE - + Op.SUB(Op.DUP4, Op.DUP11) - + Op.SWAP13 - + Op.MOD( - Op.BLOCKHASH(block_number=Op.SHA3), - Op.XOR( - Op.SDIV(Op.EXTCODESIZE(address=Op.CALLDATASIZE), Op.DUP8), - Op.SDIV, - ), - ) - + Op.MOD(Op.GAS, Op.MOD) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x7619f7a13ba66bb3e74b1d609bc4c979fdfda283"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000010000000000000000000000000000000000000000437f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007fffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffe44a4418a83039c0587363b" # noqa: E501 - "0518204006065a06" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000437f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe44a4418a83039c0587363b0518204006065a06" # noqa: E501 ), gas_limit=100000, - value=1287981996, + value=0x4CC50BAC, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest605.py b/tests/ported_static/stRandom2/test_random_statetest605.py index a925ba20dc0..c24891105ad 100644 --- a/tests/ported_static/stRandom2/test_random_statetest605.py +++ b/tests/ported_static/stRandom2/test_random_statetest605.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest605. Ported from: -tests/static/state_tests/stRandom2/randomStatetest605Filler.json +state_tests/stRandom2/randomStatetest605Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest605Filler.json"], + ["state_tests/stRandom2/randomStatetest605Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest605( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest605.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,64 @@ def test_random_statetest605( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.NUMBER - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SWAP1 - + Op.ADDMOD(Op.DUP6, Op.SUB, Op.PC) - + Op.SSTORE - ), + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350437f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905803850855 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.NUMBER + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SWAP1 + + Op.ADDMOD(Op.DUP6, Op.SUB, Op.PC) + + Op.SSTORE, nonce=0, - address=Address("0x389ee64ba69526fd0e3f1c8a92544cb4b24b7a23"), # noqa: E501 + address=Address(0x389EE64BA69526FD0E3F1C8A92544CB4B24B7A23), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c350437f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff9058038508" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c350437f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9058038508" # noqa: E501 ), gas_limit=100000, - value=1694516474, + value=0x650044FA, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000E9: 0x10000000000000000000000000000000000000000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest607.py b/tests/ported_static/stRandom2/test_random_statetest607.py index ffec687c121..1b2d9a3beb4 100644 --- a/tests/ported_static/stRandom2/test_random_statetest607.py +++ b/tests/ported_static/stRandom2/test_random_statetest607.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest607. Ported from: -tests/static/state_tests/stRandom2/randomStatetest607Filler.json +state_tests/stRandom2/randomStatetest607Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest607Filler.json"], + ["state_tests/stRandom2/randomStatetest607Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest607( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest607.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,57 @@ def test_random_statetest607( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0955 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] * 2 + + Op.SSTORE( + key=Op.MULMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + value=Op.PUSH32[0x10000000000000000000000000000000000000000], ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xC89AE2A04DEC1D7AEF4B220588D9A25FF766DBE1), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MULMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - value=Op.PUSH32[0x10000000000000000000000000000000000000000], - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xc89ae2a04dec1d7aef4b220588d9a25ff766dbe1"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=275642360, + value=0x106DF7F8, ) post = { - contract: Account( + target: Account( storage={0: 0x10000000000000000000000000000000000000000}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest608.py b/tests/ported_static/stRandom2/test_random_statetest608.py index 69dff0bf57f..c1314942e61 100644 --- a/tests/ported_static/stRandom2/test_random_statetest608.py +++ b/tests/ported_static/stRandom2/test_random_statetest608.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest608. Ported from: -tests/static/state_tests/stRandom2/randomStatetest608Filler.json +state_tests/stRandom2/randomStatetest608Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest608Filler.json"], + ["state_tests/stRandom2/randomStatetest608Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest608( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest608.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,64 +46,59 @@ def test_random_statetest608( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0855 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.MSTORE8(offset=Op.PUSH32[0xC350], value=Op.PUSH32[0x1]) + + Op.ADDMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x743B4F9865E7D749E3DD1949963C890B0AF079BC), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.MSTORE8(offset=Op.PUSH32[0xC350], value=Op.PUSH32[0x1]) - + Op.ADDMOD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x743b4f9865e7d749e3dd1949963c890b0af079bc"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000c350537fffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffe08" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c350537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08" # noqa: E501 ), gas_limit=100000, - value=514995498, + value=0x1EB2352A, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest609.py b/tests/ported_static/stRandom2/test_random_statetest609.py index f1459989484..ba6ee4afcf1 100644 --- a/tests/ported_static/stRandom2/test_random_statetest609.py +++ b/tests/ported_static/stRandom2/test_random_statetest609.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest609. Ported from: -tests/static/state_tests/stRandom2/randomStatetest609Filler.json +state_tests/stRandom2/randomStatetest609Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest609Filler.json"], + ["state_tests/stRandom2/randomStatetest609Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest609( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest609.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,131 +46,47 @@ def test_random_statetest609( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000001a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000001a736e628f796436739660005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000001a7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100" # noqa: E501 - "000000000000000000000000000000000000001a736e628f796436739660005155" # noqa: E501 + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000001a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000001a736e628f796436739660005155" # noqa: E501 ), nonce=0, - address=Address("0xd9b6a1d9a0741c62dc96e8d37a972be5adb708e8"), # noqa: E501 + address=Address(0xD9B6A1D9A0741C62DC96E8D37A972BE5ADB708E8), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000001a7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100" # noqa: E501 - "000000000000000000000000000000000000001a736e628f7964367396" - ), - gas_limit=100000, - value=1675392723, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest609Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest609_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000001a7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100" # noqa: E501 - "000000000000000000000000000000000000001a736e628f796436739660005155" # noqa: E501 - ), - nonce=0, - address=Address("0xd9b6a1d9a0741c62dc96e8d37a972be5adb708e8"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000001a7fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100" # noqa: E501 - "000000000000000000000000000000000000001a736e628f7964367396" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000001a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000001a736e628f7964367396" # noqa: E501 ), gas_limit=100000, - value=1675392723, + value=0x63DC76D3, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest610.py b/tests/ported_static/stRandom2/test_random_statetest610.py index 44356fce411..c7598756b05 100644 --- a/tests/ported_static/stRandom2/test_random_statetest610.py +++ b/tests/ported_static/stRandom2/test_random_statetest610.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest610. Ported from: -tests/static/state_tests/stRandom2/randomStatetest610Filler.json +state_tests/stRandom2/randomStatetest610Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest610Filler.json"], + ["state_tests/stRandom2/randomStatetest610Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest610( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest610.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,65 +46,60 @@ def test_random_statetest610( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f01f353a2437e4384726497587b85565560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.COINBASE + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x1F353A2437E4384726497587B855655 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB31C72B16A9C3C9684628B4F39B4AAFDAFA85C1E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.COINBASE - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x1F353A2437E4384726497587B855655, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xb31c72b16a9c3c9684628b4f39b4aafdafa85c1e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "00000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000007f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6f01f353a2437e4384726497587b8556" + to=target, + data=Bytes( + "417f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f01f353a2437e4384726497587b8556" # noqa: E501 ), gas_limit=100000, - value=2145229980, + value=0x7FDD9C9C, ) post = { - contract: Account(storage={0: 0x1F353A2437E4384726497587B855655}), + target: Account( + storage={0: 0x1F353A2437E4384726497587B855655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest611.py b/tests/ported_static/stRandom2/test_random_statetest611.py index a59dab38152..76d7452a4a4 100644 --- a/tests/ported_static/stRandom2/test_random_statetest611.py +++ b/tests/ported_static/stRandom2/test_random_statetest611.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest611. Ported from: -tests/static/state_tests/stRandom2/randomStatetest611Filler.json +state_tests/stRandom2/randomStatetest611Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest611Filler.json"], + ["state_tests/stRandom2/randomStatetest611Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest611( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest611.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,60 +46,55 @@ def test_random_statetest611( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c350417f0000000000000000000000000000000000000000000000000000000000000001437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001357f00000000000000000000000000000000000000000000000000000000000000000b9b84a360005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.COINBASE + + Op.PUSH32[0x1] + + Op.NUMBER + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SIGNEXTEND(Op.PUSH32[0x0], Op.CALLDATALOAD(offset=Op.PUSH32[0x1])) + + Op.SWAP12 + + Op.DUP5 + + Op.LOG3 + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x54F36E7E44CEAB6D23E4D7EBD547858553649B64), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.COINBASE - + Op.PUSH32[0x1] - + Op.NUMBER - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SIGNEXTEND( - Op.PUSH32[0x0], Op.CALLDATALOAD(offset=Op.PUSH32[0x1]) - ) - + Op.SWAP12 - + Op.DUP5 - + Op.LOG3 - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x54f36e7e44ceab6d23e4d7ebd547858553649b64"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c350417f00" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000001437f000000" # noqa: E501 - "000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000001357f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000b9b84a3" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c350417f0000000000000000000000000000000000000000000000000000000000000001437f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000001357f00000000000000000000000000000000000000000000000000000000000000000b9b84a3" # noqa: E501 ), gas_limit=100000, - value=40953114, + value=0x270E51A, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest612.py b/tests/ported_static/stRandom2/test_random_statetest612.py index c4289fa693a..befe03ced89 100644 --- a/tests/ported_static/stRandom2/test_random_statetest612.py +++ b/tests/ported_static/stRandom2/test_random_statetest612.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest612. Ported from: -tests/static/state_tests/stRandom2/randomStatetest612Filler.json +state_tests/stRandom2/randomStatetest612Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest612Filler.json"], + ["state_tests/stRandom2/randomStatetest612Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest612( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest612.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,72 +46,66 @@ def test_random_statetest612( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff095560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.NUMBER + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.SSTORE( + key=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + value=Op.PUSH32[0x10000000000000000000000000000000000000000], + ) + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x93497AB2BBAF6BDDEC1226312F92598309CD1443), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.NUMBER - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.SSTORE( - key=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ), - value=Op.PUSH32[0x10000000000000000000000000000000000000000], - ) - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x93497ab2bbaf6bddec1226312f92598309cd1443"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f00" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000017f00000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000c3507f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007fffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000100000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=721306946, + value=0x2AFE4542, ) post = { - contract: Account( + target: Account( storage={ 0: 50000, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0x10000000000000000000000000000000000000000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest615.py b/tests/ported_static/stRandom2/test_random_statetest615.py index c06eb7dcbf5..354e1a4d9ec 100644 --- a/tests/ported_static/stRandom2/test_random_statetest615.py +++ b/tests/ported_static/stRandom2/test_random_statetest615.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest615. Ported from: -tests/static/state_tests/stRandom2/randomStatetest615Filler.json +state_tests/stRandom2/randomStatetest615Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest615Filler.json"], + ["state_tests/stRandom2/randomStatetest615Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest615( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest615.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,73 +46,67 @@ def test_random_statetest615( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MULMOD( - Op.PUSH32[0x10000000000000000000000000000000000000000], - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - Op.DUP4, - ), - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.PUSH13[0x6F390A3054D7368A9A55600051] - + Op.SSTORE - ), + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe837f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000001000000000000000000000000000000000000000009556c6f390a3054d7368a9a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MULMOD( + Op.PUSH32[0x10000000000000000000000000000000000000000], + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + Op.DUP4, + ), + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ) + + Op.PUSH13[0x6F390A3054D7368A9A55600051] + + Op.SSTORE, nonce=0, - address=Address("0x1c92f41f022def89bbb572a504b90f3ba61b9e9a"), # noqa: E501 + address=Address(0x1C92F41F022DEF89BBB572A504B90F3BA61B9E9A), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000007fffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffe837f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000" # noqa: E501 - "0000000000000000000000000000000009556c6f390a3054d7368a9a" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe837f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000001000000000000000000000000000000000000000009556c6f390a3054d7368a9a" # noqa: E501 ), gas_limit=100000, - value=2076977514, + value=0x7BCC296A, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFF: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest616.py b/tests/ported_static/stRandom2/test_random_statetest616.py index 2aa52a09669..8767459945f 100644 --- a/tests/ported_static/stRandom2/test_random_statetest616.py +++ b/tests/ported_static/stRandom2/test_random_statetest616.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest616. Ported from: -tests/static/state_tests/stRandom2/randomStatetest616Filler.json +state_tests/stRandom2/randomStatetest616Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest616Filler.json"], + ["state_tests/stRandom2/randomStatetest616Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest616( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest616.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,59 @@ def test_random_statetest616( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000006f86a2409b991539f0423c0342363c3b5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[0x0] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x86A2409B991539F0423C0342363C3B55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9725412A40F7E97D9D2E302200D69C3463F50E62), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x0] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x86A2409B991539F0423C0342363C3B55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9725412a40f7e97d9d2e302200d69c3463f50e62"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000007f0000000000000000" # noqa: E501 - "0000000100000000000000000000000000000000000000007f0000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000c3507f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000007fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000006f86a2409b991539f0423c0342363c3b" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000006f86a2409b991539f0423c0342363c3b" # noqa: E501 ), gas_limit=100000, - value=1167366767, + value=0x45949A6F, ) post = { - contract: Account(storage={0: 0x86A2409B991539F0423C0342363C3B55}), + target: Account( + storage={0: 0x86A2409B991539F0423C0342363C3B55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest618.py b/tests/ported_static/stRandom2/test_random_statetest618.py index a7f62d5930e..7ad782f88aa 100644 --- a/tests/ported_static/stRandom2/test_random_statetest618.py +++ b/tests/ported_static/stRandom2/test_random_statetest618.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest618. Ported from: -tests/static/state_tests/stRandom2/randomStatetest618Filler.json +state_tests/stRandom2/randomStatetest618Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest618Filler.json"], + ["state_tests/stRandom2/randomStatetest618Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest618( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest618.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,67 +47,63 @@ def test_random_statetest618( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000000427f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f00000000000000000000000100000000000000000000000000000000000000003bf1135a3a58 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SGT( + Op.CALL( + gas=Op.EXTCODESIZE( + address=Op.PUSH32[ + 0x10000000000000000000000000000000000000000 + ] + ), + address=Op.NUMBER, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + args_offset=Op.PUSH32[0xC350], + args_size=Op.TIMESTAMP, + ret_offset=Op.PUSH32[0x0], + ret_size=Op.PUSH32[0xC350], + ), + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + ) + + Op.GAS + + Op.GASPRICE + + Op.PC, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xCE2DE07F0AF237ED58F6F7E008C3A9D82EB1769A), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SGT( - Op.CALL( - gas=Op.EXTCODESIZE( - address=Op.PUSH32[ - 0x10000000000000000000000000000000000000000 - ], - ), - address=Op.NUMBER, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - args_offset=Op.PUSH32[0xC350], - args_size=Op.TIMESTAMP, - ret_offset=Op.PUSH32[0x0], - ret_size=Op.PUSH32[0xC350], - ), - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - ) - + Op.GAS - + Op.GASPRICE - + Op.PC + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xce2de07f0af237ed58f6f7e008c3a9d82eb1769a"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000427f00000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000c3507fffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffff437f000000000000000000000001" # noqa: E501 - "00000000000000000000000000000000000000003bf1135a3a58" + to=target, + data=Bytes( + "7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507f0000000000000000000000000000000000000000000000000000000000000000427f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff437f00000000000000000000000100000000000000000000000000000000000000003bf1135a3a58" # noqa: E501 ), gas_limit=1024268380, - value=1398079665, + value=0x535500B1, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest620.py b/tests/ported_static/stRandom2/test_random_statetest620.py index 634b508633a..84b9233f8d5 100644 --- a/tests/ported_static/stRandom2/test_random_statetest620.py +++ b/tests/ported_static/stRandom2/test_random_statetest620.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest620. Ported from: -tests/static/state_tests/stRandom2/randomStatetest620Filler.json +state_tests/stRandom2/randomStatetest620Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest620Filler.json"], + ["state_tests/stRandom2/randomStatetest620Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest620( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest620.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,66 +46,62 @@ def test_random_statetest620( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.TIMESTAMP - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.GASLIMIT - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x6C54A420327D73727D9D1A667BF38955, - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427f0000000000000000000000010000000000000000000000000000000000000000457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f6c54a420327d73727d9d1a667bf3895560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.TIMESTAMP + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.GASLIMIT + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x6C54A420327D73727D9D1A667BF38955 ), nonce=0, - address=Address("0x388b9f8645907d4c06dee4ebab70d61e76fa253c"), # noqa: E501 + address=Address(0x388B9F8645907D4C06DEE4EBAB70D61E76FA253C), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427f00" # noqa: E501 - "00000000000000000000010000000000000000000000000000000000000000457fffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000c3507f000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000007fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffff6f6c54a420327d73727d9d1a667bf389" # noqa: E501 + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff427f0000000000000000000000010000000000000000000000000000000000000000457ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f6c54a420327d73727d9d1a667bf389" # noqa: E501 ), gas_limit=100000, - value=1643601446, + value=0x61F75E26, ) post = { - contract: Account(storage={0: 0x6C54A420327D73727D9D1A667BF38955}), + target: Account( + storage={0: 0x6C54A420327D73727D9D1A667BF38955}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest621.py b/tests/ported_static/stRandom2/test_random_statetest621.py index db22974898c..d84548fc93c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest621.py +++ b/tests/ported_static/stRandom2/test_random_statetest621.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest621. Ported from: -tests/static/state_tests/stRandom2/randomStatetest621Filler.json +state_tests/stRandom2/randomStatetest621Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest621Filler.json"], + ["state_tests/stRandom2/randomStatetest621Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest621( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest621.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,59 +46,54 @@ def test_random_statetest621( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.BYTE(Op.PREVRANDAO, Op.PUSH32[0x0]) - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x3BA187A19366899E595220741232905B, - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007f0000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000441a7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f3ba187a19366899e595220741232905b60005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] * 2 + + Op.BYTE(Op.PREVRANDAO, Op.PUSH32[0x0]) + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x3BA187A19366899E595220741232905B ), nonce=0, - address=Address("0x3e00ab7141473834e4482f5650561879feeb3e7b"), # noqa: E501 + address=Address(0x3E00AB7141473834E4482F5650561879FEEB3E7B), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000441a7f000000000000000000" # noqa: E501 - "000000ffffffffffffffffffffffffffffffffffffffff6f3ba187a19366899e59522074" # noqa: E501 - "1232905b" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000000000000000000000000000000000441a7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6f3ba187a19366899e595220741232905b" # noqa: E501 ), gas_limit=100000, - value=2143896087, + value=0x7FC94217, ) post = { - contract: Account(storage={0: 0x3BA187A19366899E595220741232905B}), + target: Account( + storage={0: 0x3BA187A19366899E595220741232905B}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest624.py b/tests/ported_static/stRandom2/test_random_statetest624.py index eaff217dbfa..b89093a8f1f 100644 --- a/tests/ported_static/stRandom2/test_random_statetest624.py +++ b/tests/ported_static/stRandom2/test_random_statetest624.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest624. Ported from: -tests/static/state_tests/stRandom2/randomStatetest624Filler.json +state_tests/stRandom2/randomStatetest624Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest624Filler.json"], + ["state_tests/stRandom2/randomStatetest624Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest624( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest624.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,105 +46,44 @@ def test_random_statetest624( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x43424244457943455409635939 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("43424244457943455409635939"), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5ed2ae8463a1745023951e424fa0bf024f04fa55"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("42"), - gas_limit=400000, - value=100000, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest624Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest624_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") - sender = EOA( - key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, + address=Address(0x5ED2AE8463A1745023951E424FA0BF024F04FA55), # noqa: E501 ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex("43424244457943455409635939"), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x5ed2ae8463a1745023951e424fa0bf024f04fa55"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest625.py b/tests/ported_static/stRandom2/test_random_statetest625.py index bfe4f33d4e6..1af091857f7 100644 --- a/tests/ported_static/stRandom2/test_random_statetest625.py +++ b/tests/ported_static/stRandom2/test_random_statetest625.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest625. Ported from: -tests/static/state_tests/stRandom2/randomStatetest625Filler.json +state_tests/stRandom2/randomStatetest625Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest625Filler.json"], + ["state_tests/stRandom2/randomStatetest625Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest625( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest625.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,62 +46,58 @@ def test_random_statetest625( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.DUP9 - + Op.LOG3( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=Op.GASLIMIT, - topic_1=Op.PUSH32[0xC350], - topic_2=Op.PUSH32[0x0], - topic_3=Op.PUSH32[0x0], - ) - + Op.ADD - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE - ), + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3015560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.DUP9 + + Op.LOG3( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=Op.GASLIMIT, + topic_1=Op.PUSH32[0xC350], + topic_2=Op.PUSH32[0x0], + topic_3=Op.PUSH32[0x0], + ) + + Op.ADD + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=Address("0x2c7c249fd8a5bf9d65b5f5e62e5f093202f0e4ac"), # noqa: E501 + address=Address(0x2C7C249FD8A5BF9D65B5F5E62E5F093202F0E4AC), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "000000000000000000010000000000000000000000000000000000000000887f00000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000007f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000c350457fffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffa301" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa301" # noqa: E501 ), gas_limit=100000, - value=1618548956, + value=0x607918DC, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest626.py b/tests/ported_static/stRandom2/test_random_statetest626.py index a34015e7917..0e3c822052a 100644 --- a/tests/ported_static/stRandom2/test_random_statetest626.py +++ b/tests/ported_static/stRandom2/test_random_statetest626.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest626. Ported from: -tests/static/state_tests/stRandom2/randomStatetest626Filler.json +state_tests/stRandom2/randomStatetest626Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest626Filler.json"], + ["state_tests/stRandom2/randomStatetest626Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest626( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest626.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,60 @@ def test_random_statetest626( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c350f4fd94058f06a255 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.REVERT( + offset=Op.DELEGATECALL( + gas=Op.PUSH32[0xC350], + address=Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], + args_offset=Op.PUSH32[0x1], + args_size=Op.PUSH32[0x0], + ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ret_size=Op.PUSH32[0x1], + ), + size=Op.PUSH32[0xC350], + ) + + Op.SWAP5 + + Op.MOD(Op.DUP16, Op.SDIV) + + Op.LOG2 + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF55F25B074CBF8502ED5A9D1E2AAB4D351B67AF2), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.REVERT( - offset=Op.DELEGATECALL( - gas=Op.PUSH32[0xC350], - address=Op.PUSH32[ - 0x4F3F701464972E74606D6EA82D4D3080599A0E79 - ], - args_offset=Op.PUSH32[0x1], - args_size=Op.PUSH32[0x0], - ret_offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ret_size=Op.PUSH32[0x1], - ), - size=Op.PUSH32[0xC350], - ) - + Op.SWAP5 - + Op.MOD(Op.DUP16, Op.SDIV) - + Op.LOG2 - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf55f25b074cbf8502ed5a9d1e2aab4d351b67af2"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000c3507f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017fffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f0000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000017f0000000000000000000000004f3f701464" # noqa: E501 - "972e74606d6ea82d4d3080599a0e797f0000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000c350f4fd94058f06a2" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c350f4fd94058f06a2" # noqa: E501 ), gas_limit=100000, - value=1996511098, + value=0x7700577A, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest627.py b/tests/ported_static/stRandom2/test_random_statetest627.py index 73340738bf3..4644b0921de 100644 --- a/tests/ported_static/stRandom2/test_random_statetest627.py +++ b/tests/ported_static/stRandom2/test_random_statetest627.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest627. Ported from: -tests/static/state_tests/stRandom2/randomStatetest627Filler.json +state_tests/stRandom2/randomStatetest627Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest627Filler.json"], + ["state_tests/stRandom2/randomStatetest627Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest627( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest627.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,57 +46,60 @@ def test_random_statetest627( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x424243434442424254f262707f3b55 + target = pre.deploy_contract( # noqa: F841 + code=Op.TIMESTAMP + + Op.SSTORE( + key=0x707F3B, + value=Op.CALLCODE( + gas=Op.SLOAD(key=Op.TIMESTAMP), + address=Op.TIMESTAMP, + value=Op.TIMESTAMP, + args_offset=Op.PREVRANDAO, + args_size=Op.NUMBER, + ret_offset=Op.NUMBER, + ret_size=Op.TIMESTAMP, + ), ), - balance=46, + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xADE7DE10D61D1AC88700ADA2A18CB4D070D34F9E), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.SSTORE( - key=0x707F3B, - value=Op.CALLCODE( - gas=Op.SLOAD(key=Op.TIMESTAMP), - address=Op.TIMESTAMP, - value=Op.TIMESTAMP, - args_offset=Op.PREVRANDAO, - args_size=Op.NUMBER, - ret_offset=Op.NUMBER, - ret_size=Op.TIMESTAMP, - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0xade7de10d61d1ac88700ada2a18cb4d070d34f9e"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0x707F3B: 1}), + target: Account( + storage={0x707F3B: 1}, + balance=0xDE0B6B3A76586A0, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest628.py b/tests/ported_static/stRandom2/test_random_statetest628.py index 822bb5ed440..30cc17f247e 100644 --- a/tests/ported_static/stRandom2/test_random_statetest628.py +++ b/tests/ported_static/stRandom2/test_random_statetest628.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest628. Ported from: -tests/static/state_tests/stRandom2/randomStatetest628Filler.json +state_tests/stRandom2/randomStatetest628Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest628Filler.json"], + ["state_tests/stRandom2/randomStatetest628Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest628( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest628.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,45 +46,48 @@ def test_random_statetest628( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, - nonce=0, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x41413155 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=Op.BALANCE(address=Op.COINBASE), value=Op.COINBASE), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc897a0296abef0cc2b8e1cf7f133dd171d665337"), # noqa: E501 + address=Address(0xC897A0296ABEF0CC2B8E1CF7F133DD171D665337), # noqa: E501 ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) + ), + balance=46, + nonce=0, + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={46: 0x4F3F701464972E74606D6EA82D4D3080599A0E79}, + balance=0xDE0B6B3A76586A0, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest629.py b/tests/ported_static/stRandom2/test_random_statetest629.py index 93123cd0569..813a4a59324 100644 --- a/tests/ported_static/stRandom2/test_random_statetest629.py +++ b/tests/ported_static/stRandom2/test_random_statetest629.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest629. Ported from: -tests/static/state_tests/stRandom2/randomStatetest629Filler.json +state_tests/stRandom2/randomStatetest629Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest629Filler.json"], + ["state_tests/stRandom2/randomStatetest629Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest629( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest629.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,67 +46,62 @@ def test_random_statetest629( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000347f000000000000000000000000116f427277147c617f4354a35a1a47977a5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.GT( + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], Op.CALLVALUE + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x427277147C617F4354A35A1A47977A55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xD4302FBF760860B03F9B86B05D19F7F41567DC69), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.GT( - Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79], - Op.CALLVALUE, - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x427277147C617F4354A35A1A47977A55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xd4302fbf760860b03f9b86b05d19f7f41567dc69"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000007f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "004f3f701464972e74606d6ea82d4d3080599a0e79347f0000000000000000000000004f" # noqa: E501 - "3f701464972e74606d6ea82d4d3080599a0e79116f427277147c617f4354a35a1a47977a" # noqa: E501 + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79347f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e79116f427277147c617f4354a35a1a47977a" # noqa: E501 ), gas_limit=100000, - value=1003338368, + value=0x3BCDBA80, ) post = { - contract: Account(storage={0: 0x427277147C617F4354A35A1A47977A55}), + target: Account( + storage={0: 0x427277147C617F4354A35A1A47977A55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest630.py b/tests/ported_static/stRandom2/test_random_statetest630.py index 99e09e50924..42ec158dd52 100644 --- a/tests/ported_static/stRandom2/test_random_statetest630.py +++ b/tests/ported_static/stRandom2/test_random_statetest630.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest630. Ported from: -tests/static/state_tests/stRandom2/randomStatetest630Filler.json +state_tests/stRandom2/randomStatetest630Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest630Filler.json"], + ["state_tests/stRandom2/randomStatetest630Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest630( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest630.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,61 @@ def test_random_statetest630( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001427f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f9461a46e61507a1206917b17137e7e5560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x1] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.TIMESTAMP + + Op.PUSH32[0x10000000000000000000000000000000000000000] * 2 + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + * 2 + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x9461A46E61507A1206917B17137E7E55 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9D1AE3F0CE71AFC95B61A0F1071AF3D10AD1F7CD), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x1] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.TIMESTAMP - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x9461A46E61507A1206917B17137E7E55, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9d1ae3f0ce71afc95b61a0f1071af3d10ad1f7cd"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000017fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000001427f00000000000000" # noqa: E501 - "000000000100000000000000000000000000000000000000007f00000000000000000000" # noqa: E501 - "000100000000000000000000000000000000000000007fffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffff6f9461a46e61507a1206917b17137e7e" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000000000000000000000000000000000000000000001427f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000100000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f9461a46e61507a1206917b17137e7e" # noqa: E501 ), gas_limit=100000, - value=411786818, + value=0x188B5E42, ) post = { - contract: Account(storage={0: 0x9461A46E61507A1206917B17137E7E55}), + target: Account( + storage={0: 0x9461A46E61507A1206917B17137E7E55}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest632.py b/tests/ported_static/stRandom2/test_random_statetest632.py index 22c507fe6db..f56c65bd5e9 100644 --- a/tests/ported_static/stRandom2/test_random_statetest632.py +++ b/tests/ported_static/stRandom2/test_random_statetest632.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest632. Ported from: -tests/static/state_tests/stRandom2/randomStatetest632Filler.json +state_tests/stRandom2/randomStatetest632Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest632Filler.json"], + ["state_tests/stRandom2/randomStatetest632Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest632( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest632.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,51 +46,50 @@ def test_random_statetest632( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x434243434444424350303614f20a + target = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.TIMESTAMP + + Op.NUMBER * 2 + + Op.PREVRANDAO * 2 + + Op.TIMESTAMP + + Op.POP(Op.NUMBER) + + Op.EXP(Op.CALLCODE, Op.EQ(Op.CALLDATASIZE, Op.ADDRESS)), + balance=0xDE0B6B3A7640000, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xDE14E9D6C6F9145C355FDF3100FE961632D4CF85), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.NUMBER - + Op.TIMESTAMP - + Op.NUMBER - + Op.NUMBER - + Op.PREVRANDAO - + Op.PREVRANDAO - + Op.TIMESTAMP - + Op.POP(Op.NUMBER) - + Op.EXP(Op.CALLCODE, Op.EQ(Op.CALLDATASIZE, Op.ADDRESS)) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=46, nonce=0, - address=Address("0xde14e9d6c6f9145c355fdf3100fe961632d4cf85"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("42"), + to=target, + data=Bytes("42"), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest633.py b/tests/ported_static/stRandom2/test_random_statetest633.py index ce12ece5f2a..bfff82b2f1d 100644 --- a/tests/ported_static/stRandom2/test_random_statetest633.py +++ b/tests/ported_static/stRandom2/test_random_statetest633.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest633. Ported from: -tests/static/state_tests/stRandom2/randomStatetest633Filler.json +state_tests/stRandom2/randomStatetest633Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest633Filler.json"], + ["state_tests/stRandom2/randomStatetest633Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest633( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest633.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,70 +46,64 @@ def test_random_statetest633( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0x1] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x82941340756317567250F1573A897655, - ) + # Source: raw + # 0x7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000006f82941340756317567250f1573a89765560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0x1] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x82941340756317567250F1573A897655 ), nonce=0, - address=Address("0x3b397829d56c4555587f2c995a886cf28d35d63d"), # noqa: E501 + address=Address(0x3B397829D56C4555587F2C995A886CF28D35D63D), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000100000000000000000000000000000000000000007f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74" # noqa: E501 - "606d6ea82d4d3080599a0e796f82941340756317567250f1573a8976" + to=target, + data=Bytes( + "7f00000000000000000000000100000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e796f82941340756317567250f1573a8976" # noqa: E501 ), gas_limit=100000, - value=1358306105, + value=0x50F61B39, ) post = { - contract: Account(storage={0: 0x82941340756317567250F1573A897655}), + target: Account( + storage={0: 0x82941340756317567250F1573A897655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest635.py b/tests/ported_static/stRandom2/test_random_statetest635.py index aff6c4de53b..4827a18c760 100644 --- a/tests/ported_static/stRandom2/test_random_statetest635.py +++ b/tests/ported_static/stRandom2/test_random_statetest635.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest635. Ported from: -tests/static/state_tests/stRandom2/randomStatetest635Filler.json +state_tests/stRandom2/randomStatetest635Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest635Filler.json"], + ["state_tests/stRandom2/randomStatetest635Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest635( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest635.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,80 +46,58 @@ def test_random_statetest635( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6a5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe66f2707d83713b6b8f320855 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xC350] + + Op.PUSH32[0x1] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.SELFDESTRUCT(address=0x5B7FFFFFFFFFFFFFFFFFFF) + + Op.SELFDESTRUCT * 21 + + Op.INVALID + + Op.ADDMOD(Op.ORIGIN, Op.DUP16, 0xF2707D83713B6B) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xF7AEB24A99F1A55F6F033E85566D05393F214CEF), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xC350] - + Op.PUSH32[0x1] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.SELFDESTRUCT(address=0x5B7FFFFFFFFFFFFFFFFFFF) - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.SELFDESTRUCT - + Op.INVALID - + Op.ADDMOD(Op.ORIGIN, Op.DUP16, 0xF2707D83713B6B) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xf7aeb24a99f1a55f6f033e85566d05393f214cef"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000000000000000000000000000000000000000c3507f0000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000017f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000000000000000" # noqa: E501 - "00ffffffffffffffffffffffffffffffffffffffff6a5b7fffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffe66f2707d83713b6b8f3208" + to=target, + data=Bytes( + "7f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff6a5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe66f2707d83713b6b8f3208" # noqa: E501 ), gas_limit=100000, - value=1615246365, + value=0x6046B41D, ) - post: dict = {} + post = { + Address(0x0000000000000000005B7FFFFFFFFFFFFFFFFFFF): Account( + storage={}, code=b"", nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest636.py b/tests/ported_static/stRandom2/test_random_statetest636.py index da93d531b0f..f69cad28738 100644 --- a/tests/ported_static/stRandom2/test_random_statetest636.py +++ b/tests/ported_static/stRandom2/test_random_statetest636.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest636. Ported from: -tests/static/state_tests/stRandom2/randomStatetest636Filler.json +state_tests/stRandom2/randomStatetest636Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest636Filler.json"], + ["state_tests/stRandom2/randomStatetest636Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest636( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest636.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,126 +47,101 @@ def test_random_statetest636( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x74619921c0750ac3268e7a6703ca2bf6c43308e6fc36607561af1ca16db843f7a2e05bfc2e46afc179930b7a8724a04f9f561bdc65bba0ad5797dde0a28d5e8aca56e1510b724f676a6d33dee473d74664561e49e3d86338c8dcf260f06cbfa6283966d2d0f2591f54088e6f36545c0d90fcdea10d5629629ffb1b16626c339f6490829f1b1675f0f2f62b0b7c9d3f070fafd53f99f90f31e19e81d3db688929213e34affc41116e6ae6f54ad5c2062b27a9fbec78a52f7a26c6347408631a6c0efcf33fe576953a4043e846b686471403f38a615a0a8e601d600a600e60146301019a517363314bc0fef1600c7eb69785d3593d3a8552018a4faba5b591975e8b8056ebc01f5ce5f5f7c04eca9062b458a835649be8fbaa906f3c4d8f92f8c27517f0addd45e050bfcf55792d8bf87c39d39ed9b1ef6c8c070d8da4a624ce548b37d03ae8107ca6da49be4adffc9f5ae896c52b936a18bed4bd9fcbae531274706e9e9b9030619a40714bb4b22e7bef8cf7b01551327188ee4bb6247118d0e95549a92f7dd9305484cc054e5f206d70d008699a85896061427b05ae2a7f16230f66ab4dd548e03b0972010f5afff39a4f9a90e55e91584e86629f3e8775f53da16fceedd834103a50dbe72a6634e4dbf374c70e6bd041628dc8b30de3c3d7aa0e7bb48df927c78ed30b286e249c2cbe79fb55956f492e413e771d0cd63f7357ab1e9a38026a4ba9278427812728699a2c747189 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.LOG1( + offset=0xAF1C, + size=0x75, + topic_1=0x619921C0750AC3268E7A6703CA2BF6C43308E6FC36, + ) + + Op.PUSH14[0xB843F7A2E05BFC2E46AFC179930B] + + Op.PUSH27[0x8724A04F9F561BDC65BBA0AD5797DDE0A28D5E8ACA56E1510B724F] + + Op.PUSH8[0x6A6D33DEE473D746] + + Op.PUSH5[0x561E49E3D8] + + Op.PUSH4[0x38C8DCF2] + + Op.PUSH1[0xF0] + + Op.PUSH13[0xBFA6283966D2D0F2591F54088E] + + Op.PUSH16[0x36545C0D90FCDEA10D5629629FFB1B16] + + Op.PUSH3[0x6C339F] + + Op.PUSH5[0x90829F1B16] + + Op.PUSH22[0xF0F2F62B0B7C9D3F070FAFD53F99F90F31E19E81D3DB] + + Op.PUSH9[0x8929213E34AFFC4111] + + Op.PUSH15[0x6AE6F54AD5C2062B27A9FBEC78A52F] + + Op.PUSH27[0x26C6347408631A6C0EFCF33FE576953A4043E846B686471403F38A] + + Op.PUSH2[0x5A0A] + + Op.DUP15 + + Op.CALL( + gas=0x314BC0FE, + address=0xBDC4B8AF0F40B0EC2256166F7145B81CD824A868, + value=0x1019A51, + args_offset=0x14, + args_size=0xE, + ret_offset=0xA, + ret_size=0x1D, + ) + + Op.PUSH1[0xC] + + Op.PUSH31[ + 0xB69785D3593D3A8552018A4FABA5B591975E8B8056EBC01F5CE5F5F7C04ECA + ] + + Op.SWAP1 + + Op.CALLDATALOAD(offset=0xB458A8) + + Op.SSTORE(key=0x3C4D8F92F8C27517F0ADDD45E050BFCF, value=0x9BE8FBAA90) + + Op.PUSH26[0x2D8BF87C39D39ED9B1EF6C8C070D8DA4A624CE548B37D03AE810] + + Op.PUSH29[ + 0xA6DA49BE4ADFFC9F5AE896C52B936A18BED4BD9FCBAE531274706E9E9B + ] + + Op.SWAP1 + + Op.ADDRESS + + Op.PUSH2[0x9A40] + + Op.PUSH18[0x4BB4B22E7BEF8CF7B01551327188EE4BB624] + + Op.PUSH18[0x18D0E95549A92F7DD9305484CC054E5F206D] + + Op.PUSH17[0xD008699A85896061427B05AE2A7F16230F] + + Op.PUSH7[0xAB4DD548E03B09] + + Op.PUSH19[0x10F5AFFF39A4F9A90E55E91584E86629F3E87] + + Op.PUSH22[0xF53DA16FCEEDD834103A50DBE72A6634E4DBF374C70E] + + Op.PUSH12[0xD041628DC8B30DE3C3D7AA0E] + + Op.PUSH28[0xB48DF927C78ED30B286E249C2CBE79FB55956F492E413E771D0CD63F] + + Op.PUSH20[0x57AB1E9A38026A4BA9278427812728699A2C7471] + + Op.DUP10, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xBDC4B8AF0F40B0EC2256166F7145B81CD824A868), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.LOG1( - offset=0xAF1C, - size=0x75, - topic_1=0x619921C0750AC3268E7A6703CA2BF6C43308E6FC36, - ) - + Op.PUSH14[0xB843F7A2E05BFC2E46AFC179930B] - + Op.PUSH27[ - 0x8724A04F9F561BDC65BBA0AD5797DDE0A28D5E8ACA56E1510B724F - ] - + Op.PUSH8[0x6A6D33DEE473D746] - + Op.PUSH5[0x561E49E3D8] - + Op.PUSH4[0x38C8DCF2] - + Op.PUSH1[0xF0] - + Op.PUSH13[0xBFA6283966D2D0F2591F54088E] - + Op.PUSH16[0x36545C0D90FCDEA10D5629629FFB1B16] - + Op.PUSH3[0x6C339F] - + Op.PUSH5[0x90829F1B16] - + Op.PUSH22[0xF0F2F62B0B7C9D3F070FAFD53F99F90F31E19E81D3DB] - + Op.PUSH9[0x8929213E34AFFC4111] - + Op.PUSH15[0x6AE6F54AD5C2062B27A9FBEC78A52F] - + Op.PUSH27[ - 0x26C6347408631A6C0EFCF33FE576953A4043E846B686471403F38A - ] - + Op.PUSH2[0x5A0A] - + Op.DUP15 - + Op.CALL( - gas=0x314BC0FE, - address=0xBDC4B8AF0F40B0EC2256166F7145B81CD824A868, - value=0x1019A51, - args_offset=0x14, - args_size=0xE, - ret_offset=0xA, - ret_size=0x1D, - ) - + Op.PUSH1[0xC] - + Op.PUSH31[ - 0xB69785D3593D3A8552018A4FABA5B591975E8B8056EBC01F5CE5F5F7C04ECA # noqa: E501 - ] - + Op.SWAP1 - + Op.CALLDATALOAD(offset=0xB458A8) - + Op.SSTORE( - key=0x3C4D8F92F8C27517F0ADDD45E050BFCF, value=0x9BE8FBAA90 - ) - + Op.PUSH26[0x2D8BF87C39D39ED9B1EF6C8C070D8DA4A624CE548B37D03AE810] - + Op.PUSH29[ - 0xA6DA49BE4ADFFC9F5AE896C52B936A18BED4BD9FCBAE531274706E9E9B - ] - + Op.SWAP1 - + Op.ADDRESS - + Op.PUSH2[0x9A40] - + Op.PUSH18[0x4BB4B22E7BEF8CF7B01551327188EE4BB624] - + Op.PUSH18[0x18D0E95549A92F7DD9305484CC054E5F206D] - + Op.PUSH17[0xD008699A85896061427B05AE2A7F16230F] - + Op.PUSH7[0xAB4DD548E03B09] - + Op.PUSH19[0x10F5AFFF39A4F9A90E55E91584E86629F3E87] - + Op.PUSH22[0xF53DA16FCEEDD834103A50DBE72A6634E4DBF374C70E] - + Op.PUSH12[0xD041628DC8B30DE3C3D7AA0E] - + Op.PUSH28[ - 0xB48DF927C78ED30B286E249C2CBE79FB55956F492E413E771D0CD63F - ] - + Op.PUSH20[0x57AB1E9A38026A4BA9278427812728699A2C7471] - + Op.DUP10 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xbdc4b8af0f40b0ec2256166f7145b81cd824a868"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "648ae7baf084600e60746edc292e4f932e5d92d41f0bef49fc6b696d03a44c705cb4daaf" # noqa: E501 - "5160107d58356b0c4e1a7d81fb0b606143c7db58d8147776c02745b7de14b2c388e49568" # noqa: E501 - "e963334e695b39de93766519c9912b2dccb22bb3bd486cdf043cbc5c0cd3b4a35f6addc0" # noqa: E501 - "1cb4ad9b448c0c60ff6c78c1acc568b086c8181a90b01f613e5e6116e776e8d170f52005" # noqa: E501 - "efeb96d06594b7477815ea249e6143aaee6798a00d9dbba0552a73cd878ec8872e0e494d" # noqa: E501 - "f0325b92e8c7753a084c6b9763c56059eb608978797530a734a7ced61643b84aece9a393" # noqa: E501 - "44fab3c6363d62631369ff8d931e17c50dcadb1f72256d2bcfd07e62b68627374ae05b8f" # noqa: E501 - "f70a238f6b8717aebdaa6cd0696889d903742f20f313a8e4bcb5efae0edcbb74f41e2027" # noqa: E501 - "dc90b56ee50a7c151872c3f01c0746579073c26c78e58ca65d93cd6c945401024b70fae5" # noqa: E501 - "f6e17c1bc9636bd85c6c721b77f39c71e417a9bc43cf7288a2888f33b863c22e5e606ef7" # noqa: E501 - "03db601f52cf73b09b88fe1772d6693064e95ea20aa3da12c76fc929d6982f7ae98c7195" # noqa: E501 - "8c5fdd80f52a8d673027f0fa96116b85636464219d046962e9e728f947cc66e8a5806111" # noqa: E501 - "1b752dbc3bbd70bf3fa2e463969371f089c8226cb217fcf86fed7c5c87ada364a13ca107" # noqa: E501 - "785a1e76d56edd7b1f02caac7915e522478f790322601868ed8a345ba615388b5d77d405" # noqa: E501 - "d62f0abd72ed81f218f27c6ee6a6cde612b9c528d4107c25f6d842f8d91a37f4f098e3f5" # noqa: E501 - "52a5ce3c14d301fd1a0c7711f831c8c07197a419447c10662351b792bb34eef76c6f5d66" # noqa: E501 - "414b182911d942896b1bb156c0ba37a9bfe4420bc17ddfe7be8daeabb37222d4ae081dd8" # noqa: E501 - "89cb787c9bf801b07e186f274a70549a04" + to=target, + data=Bytes( + "648ae7baf084600e60746edc292e4f932e5d92d41f0bef49fc6b696d03a44c705cb4daaf5160107d58356b0c4e1a7d81fb0b606143c7db58d8147776c02745b7de14b2c388e49568e963334e695b39de93766519c9912b2dccb22bb3bd486cdf043cbc5c0cd3b4a35f6addc01cb4ad9b448c0c60ff6c78c1acc568b086c8181a90b01f613e5e6116e776e8d170f52005efeb96d06594b7477815ea249e6143aaee6798a00d9dbba0552a73cd878ec8872e0e494df0325b92e8c7753a084c6b9763c56059eb608978797530a734a7ced61643b84aece9a39344fab3c6363d62631369ff8d931e17c50dcadb1f72256d2bcfd07e62b68627374ae05b8ff70a238f6b8717aebdaa6cd0696889d903742f20f313a8e4bcb5efae0edcbb74f41e2027dc90b56ee50a7c151872c3f01c0746579073c26c78e58ca65d93cd6c945401024b70fae5f6e17c1bc9636bd85c6c721b77f39c71e417a9bc43cf7288a2888f33b863c22e5e606ef703db601f52cf73b09b88fe1772d6693064e95ea20aa3da12c76fc929d6982f7ae98c71958c5fdd80f52a8d673027f0fa96116b85636464219d046962e9e728f947cc66e8a58061111b752dbc3bbd70bf3fa2e463969371f089c8226cb217fcf86fed7c5c87ada364a13ca107785a1e76d56edd7b1f02caac7915e522478f790322601868ed8a345ba615388b5d77d405d62f0abd72ed81f218f27c6ee6a6cde612b9c528d4107c25f6d842f8d91a37f4f098e3f552a5ce3c14d301fd1a0c7711f831c8c07197a419447c10662351b792bb34eef76c6f5d66414b182911d942896b1bb156c0ba37a9bfe4420bc17ddfe7be8daeabb37222d4ae081dd889cb787c9bf801b07e186f274a70549a04" # noqa: E501 ), gas_limit=1635935265, - value=1962905609, + value=0x74FF9009, ) post = { - contract: Account( + target: Account( storage={0x3C4D8F92F8C27517F0ADDD45E050BFCF: 0x9BE8FBAA90}, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest637.py b/tests/ported_static/stRandom2/test_random_statetest637.py index d94878ebde0..8491b472ac7 100644 --- a/tests/ported_static/stRandom2/test_random_statetest637.py +++ b/tests/ported_static/stRandom2/test_random_statetest637.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest637. Ported from: -tests/static/state_tests/stRandom2/randomStatetest637Filler.json +state_tests/stRandom2/randomStatetest637Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest637Filler.json"], + ["state_tests/stRandom2/randomStatetest637Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest637( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest637.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,63 +46,59 @@ def test_random_statetest637( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f44931064138e9df1768334028c20147160005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0x0] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x44931064138E9DF1768334028C201471 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xFA7818308F562AC2BA41C5CCF0FED1D1EA327C0F), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0x0] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x44931064138E9DF1768334028C201471, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xfa7818308f562ac2ba41c5ccf0fed1d1ea327c0f"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f00000000000000000000000000000000000000000000000000000000000000007fffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff6f44931064138e9df1768334028c20" # noqa: E501 - "1471" + to=target, + data=Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6f44931064138e9df1768334028c201471" # noqa: E501 ), gas_limit=100000, - value=1479766116, + value=0x58337064, ) post = { - contract: Account(storage={0: 0x44931064138E9DF1768334028C201471}), + target: Account( + storage={0: 0x44931064138E9DF1768334028C201471}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest638.py b/tests/ported_static/stRandom2/test_random_statetest638.py index 117dc74b244..c95b274521c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest638.py +++ b/tests/ported_static/stRandom2/test_random_statetest638.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest638. Ported from: -tests/static/state_tests/stRandom2/randomStatetest638Filler.json +state_tests/stRandom2/randomStatetest638Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest638Filler.json"], + ["state_tests/stRandom2/randomStatetest638Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest638( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest638.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,69 +46,63 @@ def test_random_statetest638( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0960005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MULMOD( + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA4C61764109BF9617D10D1FB8856928BE9BE5686), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MULMOD( - Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF], - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa4c61764109bf9617d10d1fb8856928be9be5686"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "0000000000000000000100000000000000000000000000000000000000007f0000000000" # noqa: E501 - "00000000000000ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff09" + to=target, + data=Bytes( + "7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff09" # noqa: E501 ), gas_limit=100000, - value=2032022422, + value=0x791E3396, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000, # noqa: E501 }, + nonce=0, ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest639.py b/tests/ported_static/stRandom2/test_random_statetest639.py index f9ec54356a9..7fabc96e3bc 100644 --- a/tests/ported_static/stRandom2/test_random_statetest639.py +++ b/tests/ported_static/stRandom2/test_random_statetest639.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest639. Ported from: -tests/static/state_tests/stRandom2/randomStatetest639Filler.json +state_tests/stRandom2/randomStatetest639Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest639Filler.json"], + ["state_tests/stRandom2/randomStatetest639Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_random_statetest639( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest639.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,123 +47,121 @@ def test_random_statetest639( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x6e993d78e80807a0d34bdbfa4e0afa9d7eab95e6f8772a548229700e2dcc612ac9ceeb898af8436680a2e1074df8ced0137964d71c8fe8a10fb58f8706ea3ee1b54a0848e742ca357e3d023460c161b1f5a17c48da2ae1e6987c52223414746fab0e39130693d15a48d39b5130096a7c1570c4fb89343ef5d10e912decba682bf205de79e84c573c9e2b0ffbd4d6117e40046b4c2d77156ada28960d9bb97f56d243429aa245c32e1f800a686ebe298dd08349d864486d7a1569b5aae495776bb5e71206cd09f54d1cd713966557567542184c74b95cc0d8ac3d0e05d0264b8d42a3563826123fc0d964521b61b86374591a821818672ef0dea05d259bc4f98c34418d9e7a677173b211649c07df7670aca688053842de6157c4fb5e678adc0611fcc20a1d836ec69b9370d09b83f1b0293a1b102d6d73978584b14fb2ab517001867e6545dd2dc3438f9c7828f6d3c6e4da98113ce2486c1ad028dc9947b28590071b977e651d352b078cb96b27f9ff7252c9f3ce9e5151ae7af1064ab8a5d92ed543b9d59c341f85bb22aa2fa7d7ee7310ac8f519e66da165b9efe3663657b1e28f4eb3e7338391339af5346d12c14bbc0863c26d7e999776c7939cefac542ed69f518bbef5461c0df385004f5411c3faaa65c7b6abf900ca1ef1f40bb938f727695a1ca14012ba07cc01548f3df75544b11bb52b7693bed7e2fc1537b2f8d63c4db4c3d8fc72b6f5f7e7b4d1ec8c1ac89230936975d19626788f03504a8c9acf66437d6d885607778bee6fe54742ddc9a7d8373dbfe2e21aacf8816944c02ef983260156009600960186329ec801e736356837182f175259fc2ea2df7d720fb0914ed44bcb12b8ff15e712ef67d868fe7fba6b46fac671a45bcace82fa83b87b8744835ac63d2b6cf3d157d7526909f9c4d1efbf68d780af1c0f2dabbfc53d2c71dc461bf7f788e3a9c48cd1df8d146a7df97125985162ecd37b059204323d066cb4709a3a1715f7c4a9fb905c26ba87933ef2499d3447d5cd4df27a6205c8a1ce06719c3e065e66ab80222ff7ed1f72f533a1160330dbd8dcd0489ec2dac84d7522a4d8732c5ae9e08d9a251682fb33fa08ecc05197d897a1d5f28328caa78ca6cd6b86fd08a1748fa959665861d18c25a3cae79732fe4fb3ad8b48c17c8efeeb5ec22be8b20ec4eae2955d65b9a6c1415c23047aa8f2c29aeddd78765c1bc3eda63416d84cdb9b8d7942020db3b1ed861a966475eb6ef9f9920692a879ee6bf9d0a1dd9d386 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SGT( + 0xAB95E6F8772A548229700E2DCC612AC9CEEB898AF8436680A2E1074DF8CED0, + 0x993D78E80807A0D34BDBFA4E0AFA9D, + ) + + Op.LOG1( + offset=0xB1F5, + size=0xC1, + topic_1=0x64D71C8FE8A10FB58F8706EA3EE1B54A0848E742CA357E3D0234, + ) + + Op.ISZERO( + 0x48DA2AE1E6987C52223414746FAB0E39130693D15A48D39B5130096A7C + ) + + Op.PUSH17[0xC4FB89343EF5D10E912DECBA682BF205DE] + + Op.PUSH26[0xE84C573C9E2B0FFBD4D6117E40046B4C2D77156ADA28960D9BB9] + + Op.PUSH32[ + 0x56D243429AA245C32E1F800A686EBE298DD08349D864486D7A1569B5AAE49577 + ] + + Op.PUSH12[0xB5E71206CD09F54D1CD71396] + + Op.PUSH6[0x57567542184C] + + Op.PUSH21[0xB95CC0D8AC3D0E05D0264B8D42A3563826123FC0D9] + + Op.PUSH5[0x521B61B863] + + Op.PUSH21[0x591A821818672EF0DEA05D259BC4F98C34418D9E7A] + + Op.PUSH8[0x7173B211649C07DF] + + Op.PUSH23[0x70ACA688053842DE6157C4FB5E678ADC0611FCC20A1D83] + + Op.PUSH15[0xC69B9370D09B83F1B0293A1B102D6D] + + Op.PUSH20[0x978584B14FB2AB517001867E6545DD2DC3438F9C] + + Op.PUSH25[0x28F6D3C6E4DA98113CE2486C1AD028DC9947B28590071B977E] + + Op.PUSH6[0x1D352B078CB9] + + Op.PUSH12[0x27F9FF7252C9F3CE9E5151AE] + + Op.PUSH27[0xF1064AB8A5D92ED543B9D59C341F85BB22AA2FA7D7EE7310AC8F51] + + Op.SWAP15 + + Op.PUSH7[0xDA165B9EFE3663] + + Op.PUSH6[0x7B1E28F4EB3E] + + Op.PUSH20[0x38391339AF5346D12C14BBC0863C26D7E999776C] + + Op.PUSH26[0x39CEFAC542ED69F518BBEF5461C0DF385004F5411C3FAAA65C7B] + + Op.PUSH11[0xBF900CA1EF1F40BB938F72] + + Op.PUSH23[0x95A1CA14012BA07CC01548F3DF75544B11BB52B7693BED] + + Op.PUSH31[ + 0x2FC1537B2F8D63C4DB4C3D8FC72B6F5F7E7B4D1EC8C1AC89230936975D1962 + ] + + Op.PUSH8[0x88F03504A8C9ACF6] + + Op.PUSH5[0x37D6D88560] + + Op.PUSH24[0x78BEE6FE54742DDC9A7D8373DBFE2E21AACF8816944C02EF] + + Op.SWAP9 + + Op.ORIGIN + + Op.CALL( + gas=0x56837182, + address=0x9FECB32D9AE49C08DA1E2551BA9257BE9A181E76, + value=0x29EC801E, + args_offset=0x18, + args_size=0x9, + ret_offset=0x9, + ret_size=0x15, + ) + + Op.PUSH22[0x259FC2EA2DF7D720FB0914ED44BCB12B8FF15E712EF6] + + Op.PUSH30[ + 0x868FE7FBA6B46FAC671A45BCACE82FA83B87B8744835AC63D2B6CF3D157D + ] + + Op.PUSH22[0x26909F9C4D1EFBF68D780AF1C0F2DABBFC53D2C71DC4] + + Op.PUSH2[0xBF7F] + + Op.PUSH25[0x8E3A9C48CD1DF8D146A7DF97125985162ECD37B059204323D0] + + Op.PUSH7[0xCB4709A3A1715F] + + Op.PUSH29[ + 0x4A9FB905C26BA87933EF2499D3447D5CD4DF27A6205C8A1CE06719C3E0 + ] + + Op.PUSH6[0xE66AB80222FF] + + Op.PUSH31[ + 0xD1F72F533A1160330DBD8DCD0489EC2DAC84D7522A4D8732C5AE9E08D9A251 + ] + + Op.PUSH9[0x2FB33FA08ECC05197D] + + Op.DUP10 + + Op.PUSH27[0x1D5F28328CAA78CA6CD6B86FD08A1748FA959665861D18C25A3CAE] + + Op.PUSH26[0x732FE4FB3AD8B48C17C8EFEEB5EC22BE8B20EC4EAE2955D65B9A] + + Op.PUSH13[0x1415C23047AA8F2C29AEDDD787] + + Op.PUSH6[0xC1BC3EDA6341] + + Op.PUSH14[0x84CDB9B8D7942020DB3B1ED861A9] + + Op.PUSH7[0x475EB6EF9F9920] + + Op.PUSH10[0x2A879EE6BF9D0A1DD9D3] + + Op.DUP7, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x9FECB32D9AE49C08DA1E2551BA9257BE9A181E76), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SGT( - 0xAB95E6F8772A548229700E2DCC612AC9CEEB898AF8436680A2E1074DF8CED0, # noqa: E501 - 0x993D78E80807A0D34BDBFA4E0AFA9D, - ) - + Op.LOG1( - offset=0xB1F5, - size=0xC1, - topic_1=0x64D71C8FE8A10FB58F8706EA3EE1B54A0848E742CA357E3D0234, - ) - + Op.ISZERO( - 0x48DA2AE1E6987C52223414746FAB0E39130693D15A48D39B5130096A7C, - ) - + Op.PUSH17[0xC4FB89343EF5D10E912DECBA682BF205DE] - + Op.PUSH26[0xE84C573C9E2B0FFBD4D6117E40046B4C2D77156ADA28960D9BB9] - + Op.PUSH32[ - 0x56D243429AA245C32E1F800A686EBE298DD08349D864486D7A1569B5AAE49577 # noqa: E501 - ] - + Op.PUSH12[0xB5E71206CD09F54D1CD71396] - + Op.PUSH6[0x57567542184C] - + Op.PUSH21[0xB95CC0D8AC3D0E05D0264B8D42A3563826123FC0D9] - + Op.PUSH5[0x521B61B863] - + Op.PUSH21[0x591A821818672EF0DEA05D259BC4F98C34418D9E7A] - + Op.PUSH8[0x7173B211649C07DF] - + Op.PUSH23[0x70ACA688053842DE6157C4FB5E678ADC0611FCC20A1D83] - + Op.PUSH15[0xC69B9370D09B83F1B0293A1B102D6D] - + Op.PUSH20[0x978584B14FB2AB517001867E6545DD2DC3438F9C] - + Op.PUSH25[0x28F6D3C6E4DA98113CE2486C1AD028DC9947B28590071B977E] - + Op.PUSH6[0x1D352B078CB9] - + Op.PUSH12[0x27F9FF7252C9F3CE9E5151AE] - + Op.PUSH27[ - 0xF1064AB8A5D92ED543B9D59C341F85BB22AA2FA7D7EE7310AC8F51 - ] - + Op.SWAP15 - + Op.PUSH7[0xDA165B9EFE3663] - + Op.PUSH6[0x7B1E28F4EB3E] - + Op.PUSH20[0x38391339AF5346D12C14BBC0863C26D7E999776C] - + Op.PUSH26[0x39CEFAC542ED69F518BBEF5461C0DF385004F5411C3FAAA65C7B] - + Op.PUSH11[0xBF900CA1EF1F40BB938F72] - + Op.PUSH23[0x95A1CA14012BA07CC01548F3DF75544B11BB52B7693BED] - + Op.PUSH31[ - 0x2FC1537B2F8D63C4DB4C3D8FC72B6F5F7E7B4D1EC8C1AC89230936975D1962 # noqa: E501 - ] - + Op.PUSH8[0x88F03504A8C9ACF6] - + Op.PUSH5[0x37D6D88560] - + Op.PUSH24[0x78BEE6FE54742DDC9A7D8373DBFE2E21AACF8816944C02EF] - + Op.SWAP9 - + Op.ORIGIN - + Op.CALL( - gas=0x56837182, - address=0x9FECB32D9AE49C08DA1E2551BA9257BE9A181E76, - value=0x29EC801E, - args_offset=0x18, - args_size=0x9, - ret_offset=0x9, - ret_size=0x15, - ) - + Op.PUSH22[0x259FC2EA2DF7D720FB0914ED44BCB12B8FF15E712EF6] - + Op.PUSH30[ - 0x868FE7FBA6B46FAC671A45BCACE82FA83B87B8744835AC63D2B6CF3D157D - ] - + Op.PUSH22[0x26909F9C4D1EFBF68D780AF1C0F2DABBFC53D2C71DC4] - + Op.PUSH2[0xBF7F] - + Op.PUSH25[0x8E3A9C48CD1DF8D146A7DF97125985162ECD37B059204323D0] - + Op.PUSH7[0xCB4709A3A1715F] - + Op.PUSH29[ - 0x4A9FB905C26BA87933EF2499D3447D5CD4DF27A6205C8A1CE06719C3E0 - ] - + Op.PUSH6[0xE66AB80222FF] - + Op.PUSH31[ - 0xD1F72F533A1160330DBD8DCD0489EC2DAC84D7522A4D8732C5AE9E08D9A251 # noqa: E501 - ] - + Op.PUSH9[0x2FB33FA08ECC05197D] - + Op.DUP10 - + Op.PUSH27[ - 0x1D5F28328CAA78CA6CD6B86FD08A1748FA959665861D18C25A3CAE - ] - + Op.PUSH26[0x732FE4FB3AD8B48C17C8EFEEB5EC22BE8B20EC4EAE2955D65B9A] - + Op.PUSH13[0x1415C23047AA8F2C29AEDDD787] - + Op.PUSH6[0xC1BC3EDA6341] - + Op.PUSH14[0x84CDB9B8D7942020DB3B1ED861A9] - + Op.PUSH7[0x475EB6EF9F9920] - + Op.PUSH10[0x2A879EE6BF9D0A1DD9D3] - + Op.DUP7 + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x9fecb32d9ae49c08da1e2551ba9257be9a181e76"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1612042127, - value=1237321880, + value=0x49C00898, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest640.py b/tests/ported_static/stRandom2/test_random_statetest640.py index f7b340fd58a..fdd132094ba 100644 --- a/tests/ported_static/stRandom2/test_random_statetest640.py +++ b/tests/ported_static/stRandom2/test_random_statetest640.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest640. Ported from: -tests/static/state_tests/stRandom2/randomStatetest640Filler.json +state_tests/stRandom2/randomStatetest640Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest640Filler.json"], + ["state_tests/stRandom2/randomStatetest640Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest640( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest640.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,61 +46,56 @@ def test_random_statetest640( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=46, + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000807f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff50885560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x10000000000000000000000000000000000000000] + + Op.DUP1 + + Op.PUSH32[0x1] * 2 + + Op.POP(Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]) + + Op.DUP9 + + Op.SSTORE + + Op.MLOAD(offset=0x0) + + Op.SSTORE, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0x63EA2AA7FCD26F2C76102BE53BCB49AFFE48AEDA), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x10000000000000000000000000000000000000000] - + Op.DUP1 - + Op.PUSH32[0x1] - + Op.PUSH32[0x1] - + Op.POP(Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]) - + Op.DUP9 - + Op.SSTORE - + Op.MLOAD(offset=0x0) - + Op.SSTORE + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0x63ea2aa7fcd26f2c76102be53bcb49affe48aeda"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "000000000000010000000000000000000000000000000000000000807f00000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000017f00000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000017f000000000000000000000000ff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffffff5088" + to=target, + data=Bytes( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000010000000000000000000000000000000000000000807f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff5088" # noqa: E501 ), gas_limit=100000, - value=6954369, + value=0x6A1D81, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0, nonce=0), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest641.py b/tests/ported_static/stRandom2/test_random_statetest641.py index 77c02a1d8c2..7b8920397cc 100644 --- a/tests/ported_static/stRandom2/test_random_statetest641.py +++ b/tests/ported_static/stRandom2/test_random_statetest641.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest641. Ported from: -tests/static/state_tests/stRandom2/randomStatetest641Filler.json +state_tests/stRandom2/randomStatetest641Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest641Filler.json"], + ["state_tests/stRandom2/randomStatetest641Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_random_statetest641( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x4f3f701464972e74606d6ea82d4d3080599a0e79") + """Test_random_statetest641.""" + coinbase = Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,68 +46,62 @@ def test_random_statetest641( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000007f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f29199c9aa4054170f1a15a55056f965560005155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[0x1] + + Op.PUSH32[0xC350] + + Op.PUSH32[0x0] + + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] + + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ] + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), value=0x29199C9AA4054170F1A15A55056F9655 ), - balance=46, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xA482D90F6CDA557C1E8E41C3755C25821C27BB9D), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[0x1] - + Op.PUSH32[0xC350] - + Op.PUSH32[0x0] - + Op.PUSH32[0x4F3F701464972E74606D6EA82D4D3080599A0E79] - + Op.PUSH32[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE # noqa: E501 - ] - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=0x29199C9AA4054170F1A15A55056F9655, - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), + balance=46, nonce=0, - address=Address("0xa482d90f6cda557c1e8e41c3755c25821c27bb9d"), # noqa: E501 + address=Address(0x4F3F701464972E74606D6EA82D4D3080599A0E79), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f0000" # noqa: E501 - "00000000000000000000ffffffffffffffffffffffffffffffffffffffff7f0000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000017f0000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000c3507f0000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000007f0000000000000000000000004f3f" # noqa: E501 - "701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffff" # noqa: E501 - "ffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffffffffffffffffe6f29199c9aa4054170f1a15a55056f96" + to=target, + data=Bytes( + "7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000c3507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000004f3f701464972e74606d6ea82d4d3080599a0e797f000000000000000000000000ffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6f29199c9aa4054170f1a15a55056f96" # noqa: E501 ), gas_limit=100000, - value=252246116, + value=0xF08F864, ) post = { - contract: Account(storage={0: 0x29199C9AA4054170F1A15A55056F9655}), + target: Account( + storage={0: 0x29199C9AA4054170F1A15A55056F9655}, + nonce=0, + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest642.py b/tests/ported_static/stRandom2/test_random_statetest642.py index 3e492231eb1..6ed885da421 100644 --- a/tests/ported_static/stRandom2/test_random_statetest642.py +++ b/tests/ported_static/stRandom2/test_random_statetest642.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_random_statetest642. Ported from: -tests/static/state_tests/stRandom2/randomStatetest642Filler.json +state_tests/stRandom2/randomStatetest642Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest642Filler.json"], + ["state_tests/stRandom2/randomStatetest642Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,16 +31,14 @@ def test_random_statetest642( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb537d4a9cf2245238c2829345453a70dfd7a592") + """Test_random_statetest642.""" + addr_2 = Address(0x78D51368C50ED27350D847254125276522CF9DAC) sender = EOA( key=0x776D5E84B9AA14EAE66D436166D11BE9B04516CA480E3E2C7936A647DA1BE721 ) - contract = Address("0x0000000000000000000000000000000000000007") - callee = Address("0x78d51368c50ed27350d847254125276522cf9dac") env = Environment( - fee_recipient=coinbase, + fee_recipient=sender, number=1, timestamp=1000, prev_randao=0x20000, @@ -47,48 +46,41 @@ def test_random_statetest642( gas_limit=18137262409615484, ) - pre[callee] = Account(balance=0x11BAE0BB79D6A164, nonce=163) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SLOAD(key=0xF46A4F) - + Op.JUMPI( - pc=0x4C4F0FBF6DE0659784434FB240652FF52D08, - condition=0x169C9EDF92F4B39273FE47ACCC75D1209AE58463C2585607CE051FF6, # noqa: E501 - ) - + Op.MSTORE8(offset=0x51F765A4788A05, value=0x8F168A43A) - + Op.PUSH17[0x86290691D5A3239DB43EEFEA96B0012EA2] - + Op.MSTORE8( - offset=0x92F37FA731707F800683BAFB70815757D861AD8CC6804154CE5B9DE3146B58CD, # noqa: E501 - value=0x34E99E4BA9EE, - ) + pre[sender] = Account(balance=0x26551A696CACB206) + # Source: raw + # 0x62f46a4f547b169c9edf92f4b39273fe47accc75d1209ae58463c2585607ce051ff6714c4f0fbf6de0659784434fb240652ff52d08576408f168a43a6651f765a4788a05537086290691d5a3239db43eefea96b0012ea26534e99e4ba9ee7f92f37fa731707f800683bafb70815757d861ad8cc6804154ce5b9de3146b58cd53 # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SLOAD(key=0xF46A4F) + + Op.JUMPI( + pc=0x4C4F0FBF6DE0659784434FB240652FF52D08, + condition=0x169C9EDF92F4B39273FE47ACCC75D1209AE58463C2585607CE051FF6, # noqa: E501 + ) + + Op.MSTORE8(offset=0x51F765A4788A05, value=0x8F168A43A) + + Op.PUSH17[0x86290691D5A3239DB43EEFEA96B0012EA2] + + Op.MSTORE8( + offset=0x92F37FA731707F800683BAFB70815757D861AD8CC6804154CE5B9DE3146B58CD, # noqa: E501 + value=0x34E99E4BA9EE, ), balance=0x577686E8D1344340, nonce=112, - address=Address("0x88f8bb676eb054b4f4788abf1200cb51361038cf"), # noqa: E501 + address=Address(0x88F8BB676EB054B4F4788ABF1200CB51361038CF), # noqa: E501 ) - pre[sender] = Account(balance=0x26551A696CACB206) + pre[addr_2] = Account(balance=0x11BAE0BB79D6A164, nonce=163) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "73ac858c3531a0d29ea7a15dfca264e244056b35816eb2fa5e8b941bb7e03e269017ca7b" # noqa: E501 - "29556e2c50a4525c68460af5ba912653059274ec9907faed7f4ceacf55ed7b50228e7e26" # noqa: E501 - "e7113d6751750964de40c9f5bb9f378e19edc3fd6ffd6af7ee7710107f382df318b8e1c7" # noqa: E501 - "07719add3db4b00892ddfba9f3e970c8aa9b41f208c53bf041556585635e6534916c5ec0" # noqa: E501 - "ba7162ea7979164bb27d007c198e1e50cb945b54a4dca4ac110de1a1d47f43fa61c9a6e9" # noqa: E501 - "16d30c3e89695e77cb0da0bcea3bd98260927c609b5782488c5d7e06f07fc67aa5f1cb3c" # noqa: E501 - "2d7ee74a4054d94e0108b3c962a00fb567a505e96a974f83567a74b898ddd6136e1e6634" # noqa: E501 - "e4c85cb37db14f98d0080ac548e092928b6eee8d6863592d990f9298d7040cfa486e4e88" # noqa: E501 - "1b0f19eb06892d2185cc0b295d7f2669f00ac67c30de107cd324610a5af8bb29d1135478" # noqa: E501 - "3888e7b8ba5ab533f959729b6e25886d426bbf4cd00626cffbc0ec6beb6a62ae0d9e7166" # noqa: E501 - "a6303d22036c2b3d45e88057940ada00938e" + to=Address(0x0000000000000000000000000000000000000007), + data=Bytes( + "73ac858c3531a0d29ea7a15dfca264e244056b35816eb2fa5e8b941bb7e03e269017ca7b29556e2c50a4525c68460af5ba912653059274ec9907faed7f4ceacf55ed7b50228e7e26e7113d6751750964de40c9f5bb9f378e19edc3fd6ffd6af7ee7710107f382df318b8e1c707719add3db4b00892ddfba9f3e970c8aa9b41f208c53bf041556585635e6534916c5ec0ba7162ea7979164bb27d007c198e1e50cb945b54a4dca4ac110de1a1d47f43fa61c9a6e916d30c3e89695e77cb0da0bcea3bd98260927c609b5782488c5d7e06f07fc67aa5f1cb3c2d7ee74a4054d94e0108b3c962a00fb567a505e96a974f83567a74b898ddd6136e1e6634e4c85cb37db14f98d0080ac548e092928b6eee8d6863592d990f9298d7040cfa486e4e881b0f19eb06892d2185cc0b295d7f2669f00ac67c30de107cd324610a5af8bb29d11354783888e7b8ba5ab533f959729b6e25886d426bbf4cd00626cffbc0ec6beb6a62ae0d9e7166a6303d22036c2b3d45e88057940ada00938e" # noqa: E501 ), gas_limit=4901005, - value=4125477963, + value=0xF5E5CC4B, ) - post: dict = {} + post = { + sender: Account(storage={}, code=b"", nonce=1), + addr: Account(storage={}, nonce=112), + addr_2: Account(storage={}, code=b"", nonce=163), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest643.py b/tests/ported_static/stRandom2/test_random_statetest643.py index 3a565ba4969..6ee17f075c3 100644 --- a/tests/ported_static/stRandom2/test_random_statetest643.py +++ b/tests/ported_static/stRandom2/test_random_statetest643.py @@ -1,8 +1,8 @@ """ -Return ~1 MB out of bounds of the init code. should throw codesize error... +Return ~1 MB out of bounds of the init code. should throw codesize... Ported from: -tests/static/state_tests/stRandom2/randomStatetest643Filler.json +state_tests/stRandom2/randomStatetest643Filler.json """ import pytest @@ -22,7 +22,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest643Filler.json"], + ["state_tests/stRandom2/randomStatetest643Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,14 +30,13 @@ def test_random_statetest643( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Return ~1 MB out of bounds of the init code. should throw...""" - coinbase = Address("0x02a81f3b6340ef03047f2e09f2126aa8334233bd") + """Return ~1 MB out of bounds of the init code.""" sender = EOA( key=0x2C6BEC15D915620A88056CC6BFB70707AFA902ABD52C7DFEAB0864BE472CB8AF ) env = Environment( - fee_recipient=coinbase, + fee_recipient=sender, number=1, timestamp=1000, prev_randao=0x20000, @@ -45,76 +44,95 @@ def test_random_statetest643( gas_limit=35761922600709271, ) - pre[sender] = Account(balance=0xA015CDDAB7107B04) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH26[0xECFECF2AB84463F738FC85B069590FCFF0334FB1A7108861A444] - + Op.SIGNEXTEND( - 0xF893A1A95C84AFBECC79E1EE4ACC8FCA826DF1AB268BDFD9E712AD0D261F5EDE, # noqa: E501 - 0xA26237BC8329, - ) - + Op.SMOD(0x39EB0AC5B4C3EF35F0B4E6D9E05F, 0x45E6A7D46282) - + Op.LOG2( - offset=0x98BD15DA63A8614AA455DC593FA70386, - size=0xB57969CAA2F2493998537AD0ECBA9400EBAE911DAD, - topic_1=0x65C1E55EC0E2128768030E4EB0DE, - topic_2=0xFC63BE0C082847F6F9F7728764E142FCD95702C3, - ) - + Op.MSTORE(offset=0x70F1D7, value=0xC6) - + Op.MLOAD( - offset=0x75F1BF8A683B5D1721F7DD57755BD6A9BED9F874E3876CFCAC6762EA, # noqa: E501 - ) + # Source: raw + # 0x79ecfecf2ab84463f738fc85b069590fcff0334fb1a7108861a44465a26237bc83297ff893a1a95c84afbecc79e1ee4acc8fca826df1ab268bdfd9e712ad0d261f5ede0b6545e6a7d462826d39eb0ac5b4c3ef35f0b4e6d9e05f0773fc63be0c082847f6f9f7728764e142fcd95702c36d65c1e55ec0e2128768030e4eb0de74b57969caa2f2493998537ad0ecba9400ebae911dad6f98bd15da63a8614aa455dc593fa70386a260c66270f1d7527b75f1bf8a683b5d1721f7dd57755bd6a9bed9f874e3876cfcac6762ea51 # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.PUSH26[0xECFECF2AB84463F738FC85B069590FCFF0334FB1A7108861A444] + + Op.SIGNEXTEND( + 0xF893A1A95C84AFBECC79E1EE4ACC8FCA826DF1AB268BDFD9E712AD0D261F5EDE, + 0xA26237BC8329, + ) + + Op.SMOD(0x39EB0AC5B4C3EF35F0B4E6D9E05F, 0x45E6A7D46282) + + Op.LOG2( + offset=0x98BD15DA63A8614AA455DC593FA70386, + size=0xB57969CAA2F2493998537AD0ECBA9400EBAE911DAD, + topic_1=0x65C1E55EC0E2128768030E4EB0DE, + topic_2=0xFC63BE0C082847F6F9F7728764E142FCD95702C3, + ) + + Op.MSTORE(offset=0x70F1D7, value=0xC6) + + Op.MLOAD( + offset=0x75F1BF8A683B5D1721F7DD57755BD6A9BED9F874E3876CFCAC6762EA ), balance=0x3F91B25C1601534B, nonce=210, - address=Address("0x6e40c70f8be9a7633e8a31580c85f275b86362ef"), # noqa: E501 + address=Address(0x6E40C70F8BE9A7633E8A31580C85F275B86362EF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.NUMBER - + Op.PUSH14[0xEBC3912504EDED08F73B9FF9490D] - + Op.PUSH20[0xFC4F820A0890B7E8417FA97940713AEB870E59A7] - + Op.SWAP1 - + Op.MSTORE8(offset=0x3D5649E57458EA8692DA3232, value=0x7F) - + Op.SIGNEXTEND( - 0x1EB441440620426B3485AB683D44FF8D5544EB7F7FB3E1F4C3006364, - 0x5967657E3FC6E02F6DE1C0FF6CC18E051BDD52AD, - ) - + Op.GAS - + Op.DELEGATECALL( - gas=0x38F86B9A, - address=0x971AB94B9C20484B37B157476A9F106F639779ED, - args_offset=0x84319, - args_size=0x120847, - ret_offset=0x71DD59, - ret_size=0x6F341B, - ) + pre[sender] = Account(balance=0xA015CDDAB7107B04) + # Source: raw + # 0x436debc3912504eded08f73b9ff9490d73fc4f820a0890b7e8417fa97940713aeb870e59a790607f6b3d5649e57458ea8692da323253735967657e3fc6e02f6de1c0ff6cc18e051bdd52ad7b1eb441440620426b3485ab683d44ff8d5544eb7f7fb3e1f4c30063640b5a626f341b6271dd596212084762084319736338f86b9af4 # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER + + Op.PUSH14[0xEBC3912504EDED08F73B9FF9490D] + + Op.PUSH20[0xFC4F820A0890B7E8417FA97940713AEB870E59A7] + + Op.SWAP1 + + Op.MSTORE8(offset=0x3D5649E57458EA8692DA3232, value=0x7F) + + Op.SIGNEXTEND( + 0x1EB441440620426B3485AB683D44FF8D5544EB7F7FB3E1F4C3006364, + 0x5967657E3FC6E02F6DE1C0FF6CC18E051BDD52AD, + ) + + Op.GAS + + Op.DELEGATECALL( + gas=0x38F86B9A, + address=0x971AB94B9C20484B37B157476A9F106F639779ED, + args_offset=0x84319, + args_size=0x120847, + ret_offset=0x71DD59, + ret_size=0x6F341B, ), balance=0x262E8DE142312A2D, nonce=243, - address=Address("0x971ab94b9c20484b37b157476a9f106f639779ed"), # noqa: E501 + address=Address(0x971AB94B9C20484B37B157476A9F106F639779ED), # noqa: E501 ) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "620d15bc62074ac2f3789b4ff89d27fb5018b60a3730731819c16c8a1e6513c3c2703e63" # noqa: E501 - "f82ce3617b9c5bdd435cc4e8eaffa5d05d45aef99b6726757bbe89b4ae0e5b9b6062855c" # noqa: E501 - "2d525b6ca347c35412d0ab99dbc839a14f619a34621beef752635999fd987437da3edb75" # noqa: E501 - "b58f986d9b62ffc1e6dae25c7e0c019f73922a0ab96d77aef70627e71d0a63d38d2d09af" # noqa: E501 - "ec6a9f6dd36fff38e99a634e506f29060c4e3c3371d213d31078939857877d1780bc984b" # noqa: E501 - "1ae1225b8dc7cc534cd080ba4b324f436d2c211b3c30889cf66d57b8f669c1be7711d782" # noqa: E501 - "54d859636790551a4a0f6e0c06664680c8fadd1d7e7b3e887ea3cff5077d014551ed36a7" # noqa: E501 - "2977742f6dcee4113c33297428527783529e675399ca43d5df7d9a4151fcac7093585bb8" # noqa: E501 - "c6df7d6563faafe035226b81786f72b243bfdbc99e8fd67571df50e0ed7a8e1aaca76fcc" # noqa: E501 - "65151e7730dee525a07c75d1b3855ae0bfbe0d79ff4905974c837e30a06fb163d89d" # noqa: E501 - ), + data=Op.RETURN(offset=0x74AC2, size=0xD15BC) + + Op.PUSH25[0x9B4FF89D27FB5018B60A3730731819C16C8A1E6513C3C2703E] + + Op.PUSH4[0xF82CE361] + + Op.MSTORE( + offset=0x855C2D, + value=0x9C5BDD435CC4E8EAFFA5D05D45AEF99B6726757BBE89B4AE0E5B9B60, + ) + + Op.JUMPDEST + + Op.PUSH13[0xA347C35412D0AB99DBC839A14F] + + Op.MSTORE(offset=0x1BEEF7, value=0x9A34) + + Op.PUSH4[0x5999FD98] + + Op.PUSH21[0x37DA3EDB75B58F986D9B62FFC1E6DAE25C7E0C019F] + + Op.PUSH20[0x922A0AB96D77AEF70627E71D0A63D38D2D09AFEC] + + Op.PUSH11[0x9F6DD36FFF38E99A634E50] + + Op.PUSH16[0x29060C4E3C3371D213D3107893985787] + + Op.PUSH30[ + 0x1780BC984B1AE1225B8DC7CC534CD080BA4B324F436D2C211B3C30889CF6 + ] + + Op.PUSH14[0x57B8F669C1BE7711D78254D85963] + + Op.PUSH8[0x90551A4A0F6E0C06] + + Op.PUSH7[0x4680C8FADD1D7E] + + Op.PUSH28[0x3E887EA3CFF5077D014551ED36A72977742F6DCEE4113C3329742852] + + Op.PUSH24[0x83529E675399CA43D5DF7D9A4151FCAC7093585BB8C6DF7D] + + Op.PUSH6[0x63FAAFE03522] + + Op.PUSH12[0x81786F72B243BFDBC99E8FD6] + + Op.PUSH22[0x71DF50E0ED7A8E1AACA76FCC65151E7730DEE525A07C] + + Op.PUSH22[0xD1B3855AE0BFBE0D79FF4905974C837E30A06FB163D8] + + Op.SWAP14, gas_limit=9840869, - value=4042009829, + value=0xF0EC2CE5, ) - post: dict = {} + post = { + addr: Account(storage={}, nonce=210), + sender: Account(storage={}, code=b"", nonce=1), + addr_2: Account(storage={}, nonce=243), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest644.py b/tests/ported_static/stRandom2/test_random_statetest644.py index 1b1f3856e1b..0d951cafb83 100644 --- a/tests/ported_static/stRandom2/test_random_statetest644.py +++ b/tests/ported_static/stRandom2/test_random_statetest644.py @@ -2,7 +2,7 @@ Geth Failed this test on Frontier and Homestead. Ported from: -tests/static/state_tests/stRandom2/randomStatetest644Filler.json +state_tests/stRandom2/randomStatetest644Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,21 +23,19 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest644Filler.json"], + ["state_tests/stRandom2/randomStatetest644Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_random_statetest644( state_test: StateTestFiller, pre: Alloc, ) -> None: """Geth Failed this test on Frontier and Homestead.""" - coinbase = Address("0x02ebba385bd7f6dde6c57e2d3929a11a1ea0da7e") + coinbase = Address(0x02EBBA385BD7F6DDE6C57E2D3929A11A1EA0DA7E) sender = EOA( - key=0x0A10C9449493A34FD272F4BF6FC827C5B46ECE7D0253518E71286F47EC3AE23A + key=0xA10C9449493A34FD272F4BF6FC827C5B46ECE7D0253518E71286F47EC3AE23A ) - contract = Address("0x0000000000000000000000000000000000000001") env = Environment( fee_recipient=coinbase, @@ -47,294 +46,122 @@ def test_random_statetest644( gas_limit=27244094167015944, ) - pre.deploy_contract( - code=( - Op.PUSH24[0x351C4C5A02C8F13FA7C7F5800FA5C9BA2F3B971C13764F9B] - + Op.PUSH2[0xC2DB] - + Op.PUSH7[0xC3F909C17E434A] - + Op.PUSH9[0xD685402956CC341DBF] - + Op.PUSH8[0x79516900ED0A1E26] - + Op.PUSH7[0xDFA40E70F3BCEE] - + Op.PUSH24[0x3C2BFFD5B5422A2CF32B19E541F15AE2B6FBE16FD19BBD56] - + Op.PUSH24[0x28190F83569F036DCCD3886AA69C1E685736DA06152E3B24] - + Op.PUSH19[0x8B13546EA1ABD48EE47B1B2E1EC70B37FA14CC] - + Op.PUSH17[0x9D35FCE7380230F426455385DA80771FFC] - + Op.PUSH15[0x261F3BFE7BFE7F1827D17B0CF49A7D] - + Op.PUSH32[ - 0xF8CEB60B6A86EBBB762EB3E4DD1A8A09EAA9A500BC65CBEFD4251865B70CA7E2 # noqa: E501 - ] - + Op.PUSH7[0x82F1A2BAD52A4A] - + Op.PUSH10[0x7AA0BAF4EBE05130EC6A] - + Op.PUSH3[0xE66E71] - + Op.SWAP14 - + Op.LT(0x682DCA6786082A55EDA4D65F21E9, 0xB753654F0FF08533F6D088E1) - + Op.LOG0( - offset=0xF77E3D07CC9DAA30A1B2941C17F9039FFA3BADDF70DCE808, - size=0x345D12B775CE0F47447731E5EEEFF44CA0A946E1DF, - ) - + Op.SLOAD(key=0xACB22D3FE0B1ECEA101F659FD3FCFE7D9F16) - + Op.EXTCODECOPY( - address=0x2EBBA385BD7F6DDE6C57E2D3929A11A1EA0DA7E, - dest_offset=0x118942, - offset=0x32B792, - size=0x73B023, - ) - + Op.CALL( - gas=0xB2DF5D6, - address=0x2EBBA385BD7F6DDE6C57E2D3929A11A1EA0DA7E, - value=0x6BD26962, - args_offset=0x5B60D5, - args_size=0x1ACB67, - ret_offset=0x6AB8DE, - ret_size=0x47F037, - ) - + Op.CREATE(value=0x17EF5652, offset=0x958980, size=0x3402AF) - + Op.ORIGIN - ), - balance=0x532F42C819FA5BED, - nonce=28, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.EXTCODESIZE(address=0xA66737FDCC16CD591384A0B12FB650CE85011E55) - + Op.PUSH30[ - 0x85CC6995D8948AC88F5726F16627D809C92DBA32D01471809AD1C5046B53 - ] - + Op.PUSH9[0x7D1FF18BCA5A755A0C] - + Op.PUSH13[0xD7CE36E1DC18C7C2A909F6BC00] - + Op.PUSH20[0xD53F4C10A2121E6B4F0AEADC71B441C331B19EC5] - + Op.PUSH25[0x22835269748AE558697A082470ABAA3595D4B8256F8954C7ED] - + Op.PUSH6[0x5896EB04017A] - + Op.PUSH32[ - 0x522BE50FD88E38EE27DE7EBD20794466F490BCB43162328A337A6E42FD88CACF # noqa: E501 - ] - + Op.PUSH11[0x8ECB264FE21836CF31D0AE] - + Op.PUSH28[ - 0xE53DA5FE2CAC802905640C0A18B2CCFD806FED6D7CBAF1FC19C6931D - ] - + Op.PUSH13[0x37B9320599CA5061121076A654] - + Op.PUSH16[0xC888F04E94C09ADCC8A3CC9D00244883] - + Op.DUP10 - + Op.PUSH24[0xC1010C1CDEF7438B3D1E99CF6D78B9D4F55962B04476323F] - + Op.CALLVALUE - + Op.COINBASE - ), + # Source: raw + # 0x73a66737fdcc16cd591384a0b12fb650ce85011e553b7d85cc6995d8948ac88f5726f16627d809c92dba32d01471809ad1c5046b53687d1ff18bca5a755a0c6cd7ce36e1dc18c7c2a909f6bc0073d53f4c10a2121e6b4f0aeadc71b441c331b19ec57822835269748ae558697a082470abaa3595d4b8256f8954c7ed655896eb04017a7f522be50fd88e38ee27de7ebd20794466f490bcb43162328a337a6e42fd88cacf6a8ecb264fe21836cf31d0ae7be53da5fe2cac802905640c0a18b2ccfd806fed6d7cbaf1fc19c6931d6c37b9320599ca5061121076a6546fc888f04e94c09adcc8a3cc9d002448838977c1010c1cdef7438b3d1e99cf6d78b9d4f55962b04476323f3441 # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.EXTCODESIZE(address=0xA66737FDCC16CD591384A0B12FB650CE85011E55) + + Op.PUSH30[ + 0x85CC6995D8948AC88F5726F16627D809C92DBA32D01471809AD1C5046B53 + ] + + Op.PUSH9[0x7D1FF18BCA5A755A0C] + + Op.PUSH13[0xD7CE36E1DC18C7C2A909F6BC00] + + Op.PUSH20[0xD53F4C10A2121E6B4F0AEADC71B441C331B19EC5] + + Op.PUSH25[0x22835269748AE558697A082470ABAA3595D4B8256F8954C7ED] + + Op.PUSH6[0x5896EB04017A] + + Op.PUSH32[ + 0x522BE50FD88E38EE27DE7EBD20794466F490BCB43162328A337A6E42FD88CACF + ] + + Op.PUSH11[0x8ECB264FE21836CF31D0AE] + + Op.PUSH28[0xE53DA5FE2CAC802905640C0A18B2CCFD806FED6D7CBAF1FC19C6931D] + + Op.PUSH13[0x37B9320599CA5061121076A654] + + Op.PUSH16[0xC888F04E94C09ADCC8A3CC9D00244883] + + Op.DUP10 + + Op.PUSH24[0xC1010C1CDEF7438B3D1E99CF6D78B9D4F55962B04476323F] + + Op.CALLVALUE + + Op.COINBASE, balance=0x23C22AEB4961B17E, nonce=148, - address=Address("0x0346ad0b28ea31b7c3d398881dc11ebc97869461"), # noqa: E501 + address=Address(0x0346AD0B28EA31B7C3D398881DC11EBC97869461), # noqa: E501 ) pre[sender] = Account(balance=0x236D08FE524712CB) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH21[0x357A5ADE2DA3B4A5F5459FAFF84E5EA9B714B60ED2] - + Op.PUSH3[0x57EF59] - + Op.PUSH30[ - 0x9AA2E6D9316426366FE24FB9ED56C4A9E5DCF06AF08C42368FDAA12B7147 - ] - + Op.PUSH3[0x83C5BD] - + Op.PUSH2[0x47ED] - + Op.SWAP4 - + Op.DELEGATECALL( - gas=0xC30A604, - address=Op.PUSH20[0x5], - args_offset=0x28EC1A, - args_size=0x4971D8, - ret_offset=0x52D373, - ret_size=0x5663AE, - ) - + Op.SLOAD( - key=0xFE44ADD6669B247CAD0F00251697572FA913A16C98038931DF - ) - ), + # Source: raw + # 0x74357a5ade2da3b4a5f5459faff84e5ea9b714b60ed26257ef597d9aa2e6d9316426366fe24fb9ed56c4a9e5dcf06af08c42368fdaa12b71476283c5bd6147ed93625663ae6252d373624971d86228ec1a730000000000000000000000000000000000000005630c30a604f478fe44add6669b247cad0f00251697572fa913a16c98038931df54 # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH21[0x357A5ADE2DA3B4A5F5459FAFF84E5EA9B714B60ED2] + + Op.PUSH3[0x57EF59] + + Op.PUSH30[ + 0x9AA2E6D9316426366FE24FB9ED56C4A9E5DCF06AF08C42368FDAA12B7147 + ] + + Op.PUSH3[0x83C5BD] + + Op.PUSH2[0x47ED] + + Op.SWAP4 + + Op.DELEGATECALL( + gas=0xC30A604, + address=Op.PUSH20[0x5], + args_offset=0x28EC1A, + args_size=0x4971D8, + ret_offset=0x52D373, + ret_size=0x5663AE, + ) + + Op.SLOAD(key=0xFE44ADD6669B247CAD0F00251697572FA913A16C98038931DF), balance=0x9183FD5B40D86E03, nonce=28, - address=Address("0xe4882ba8527df19159e6536f4aee12c298d28f33"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7300000000000000000000000000000000000000013b7ea30da9ff11bd5f11e4529c93ce" # noqa: E501 - "4b37d5a256d61e1f1a0ecccb5fbb21fec97f6b3d456b8caaaa84ef30a44fd8779fae5a48" # noqa: E501 - "354b937835d82d57999d194d4edfbaf0a8dd026d727e3315a53e907b0e1873b4dcb7f806" # noqa: E501 - "014bc23164e8cc0560256f0c6a8c09c0df2f0f8208ff622bb459d46ffab16ce9d64bcf9c" # noqa: E501 - "ec668338ebbc7f9e64656ae99c617d0dd709c1f78f96bea46e2df76db8418e2b657fc77f" # noqa: E501 - "f2f979952911a73b767a6ce270c7392d2ff340648610fe0219aaf24df2b26e97e2761497" # noqa: E501 - "bc6b97dea1269de3aca3b69ec7098a7257114a4a2e22c401ec6319bc2deb70980ebef372" # noqa: E501 - "a327809b3c2473ab86578d2fccd458e6b99a277c4a1d3e96351fbebe62fe63d300444afd" # noqa: E501 - "3a9077c20905d2a92b5b2945de6bf9b28d1d42795ca74b029dce6934312994a31fed72e4" # noqa: E501 - "5da26c73c636b40b1f6d529f35488625624a9dfd0b62309f286277b5ab6259b2fd621447" # noqa: E501 - "22631c4722737300000000000000000000000000000000000000056317345497f13368b2" # noqa: E501 - "a96595a00933d8dd6dc111a13b90768f330898544a443407620316d3625614816282f1e9" # noqa: E501 - "622e741d730346ad0b28ea31b7c3d398881dc11ebc97869461631d791a38fa" - ), - gas_limit=48887, - value=4077944035, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest644Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_random_statetest644_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Geth Failed this test on Frontier and Homestead.""" - coinbase = Address("0x02ebba385bd7f6dde6c57e2d3929a11a1ea0da7e") - sender = EOA( - key=0x0A10C9449493A34FD272F4BF6FC827C5B46ECE7D0253518E71286F47EC3AE23A - ) - contract = Address("0x0000000000000000000000000000000000000001") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=27244094167015944, + address=Address(0xE4882BA8527DF19159E6536F4AEE12C298D28F33), # noqa: E501 ) - - pre.deploy_contract( - code=( - Op.PUSH24[0x351C4C5A02C8F13FA7C7F5800FA5C9BA2F3B971C13764F9B] - + Op.PUSH2[0xC2DB] - + Op.PUSH7[0xC3F909C17E434A] - + Op.PUSH9[0xD685402956CC341DBF] - + Op.PUSH8[0x79516900ED0A1E26] - + Op.PUSH7[0xDFA40E70F3BCEE] - + Op.PUSH24[0x3C2BFFD5B5422A2CF32B19E541F15AE2B6FBE16FD19BBD56] - + Op.PUSH24[0x28190F83569F036DCCD3886AA69C1E685736DA06152E3B24] - + Op.PUSH19[0x8B13546EA1ABD48EE47B1B2E1EC70B37FA14CC] - + Op.PUSH17[0x9D35FCE7380230F426455385DA80771FFC] - + Op.PUSH15[0x261F3BFE7BFE7F1827D17B0CF49A7D] - + Op.PUSH32[ - 0xF8CEB60B6A86EBBB762EB3E4DD1A8A09EAA9A500BC65CBEFD4251865B70CA7E2 # noqa: E501 - ] - + Op.PUSH7[0x82F1A2BAD52A4A] - + Op.PUSH10[0x7AA0BAF4EBE05130EC6A] - + Op.PUSH3[0xE66E71] - + Op.SWAP14 - + Op.LT(0x682DCA6786082A55EDA4D65F21E9, 0xB753654F0FF08533F6D088E1) - + Op.LOG0( - offset=0xF77E3D07CC9DAA30A1B2941C17F9039FFA3BADDF70DCE808, - size=0x345D12B775CE0F47447731E5EEEFF44CA0A946E1DF, - ) - + Op.SLOAD(key=0xACB22D3FE0B1ECEA101F659FD3FCFE7D9F16) - + Op.EXTCODECOPY( - address=0x2EBBA385BD7F6DDE6C57E2D3929A11A1EA0DA7E, - dest_offset=0x118942, - offset=0x32B792, - size=0x73B023, - ) - + Op.CALL( - gas=0xB2DF5D6, - address=0x2EBBA385BD7F6DDE6C57E2D3929A11A1EA0DA7E, - value=0x6BD26962, - args_offset=0x5B60D5, - args_size=0x1ACB67, - ret_offset=0x6AB8DE, - ret_size=0x47F037, - ) - + Op.CREATE(value=0x17EF5652, offset=0x958980, size=0x3402AF) - + Op.ORIGIN - ), + # Source: raw + # 0x77351c4c5a02c8f13fa7c7f5800fa5c9ba2f3b971c13764f9b61c2db66c3f909c17e434a68d685402956cc341dbf6779516900ed0a1e2666dfa40e70f3bcee773c2bffd5b5422a2cf32b19e541f15ae2b6fbe16fd19bbd567728190f83569f036dccd3886aa69c1e685736da06152e3b24728b13546ea1abd48ee47b1b2e1ec70b37fa14cc709d35fce7380230f426455385da80771ffc6e261f3bfe7bfe7f1827d17b0cf49a7d7ff8ceb60b6a86ebbb762eb3e4dd1a8a09eaa9a500bc65cbefd4251865b70ca7e26682f1a2bad52a4a697aa0baf4ebe05130ec6a62e66e719d6bb753654f0ff08533f6d088e16d682dca6786082a55eda4d65f21e91074345d12b775ce0f47447731e5eeeff44ca0a946e1df77f77e3d07cc9daa30a1b2941c17f9039ffa3baddf70dce808a071acb22d3fe0b1ecea101f659fd3fcfe7d9f16546273b0236232b79262118942733c6247f037626ab8de621acb67625b60d5636bd2696273630b2df5d6f1623402af629589806317ef5652f032 # noqa: E501 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.PUSH24[0x351C4C5A02C8F13FA7C7F5800FA5C9BA2F3B971C13764F9B] + + Op.PUSH2[0xC2DB] + + Op.PUSH7[0xC3F909C17E434A] + + Op.PUSH9[0xD685402956CC341DBF] + + Op.PUSH8[0x79516900ED0A1E26] + + Op.PUSH7[0xDFA40E70F3BCEE] + + Op.PUSH24[0x3C2BFFD5B5422A2CF32B19E541F15AE2B6FBE16FD19BBD56] + + Op.PUSH24[0x28190F83569F036DCCD3886AA69C1E685736DA06152E3B24] + + Op.PUSH19[0x8B13546EA1ABD48EE47B1B2E1EC70B37FA14CC] + + Op.PUSH17[0x9D35FCE7380230F426455385DA80771FFC] + + Op.PUSH15[0x261F3BFE7BFE7F1827D17B0CF49A7D] + + Op.PUSH32[ + 0xF8CEB60B6A86EBBB762EB3E4DD1A8A09EAA9A500BC65CBEFD4251865B70CA7E2 + ] + + Op.PUSH7[0x82F1A2BAD52A4A] + + Op.PUSH10[0x7AA0BAF4EBE05130EC6A] + + Op.PUSH3[0xE66E71] + + Op.SWAP14 + + Op.LT(0x682DCA6786082A55EDA4D65F21E9, 0xB753654F0FF08533F6D088E1) + + Op.LOG0( + offset=0xF77E3D07CC9DAA30A1B2941C17F9039FFA3BADDF70DCE808, + size=0x345D12B775CE0F47447731E5EEEFF44CA0A946E1DF, + ) + + Op.SLOAD(key=0xACB22D3FE0B1ECEA101F659FD3FCFE7D9F16) + + Op.EXTCODECOPY( + address=0x2EBBA385BD7F6DDE6C57E2D3929A11A1EA0DA7E, + dest_offset=0x118942, + offset=0x32B792, + size=0x73B023, + ) + + Op.CALL( + gas=0xB2DF5D6, + address=0x2EBBA385BD7F6DDE6C57E2D3929A11A1EA0DA7E, + value=0x6BD26962, + args_offset=0x5B60D5, + args_size=0x1ACB67, + ret_offset=0x6AB8DE, + ret_size=0x47F037, + ) + + Op.CREATE(value=0x17EF5652, offset=0x958980, size=0x3402AF) + + Op.ORIGIN, balance=0x532F42C819FA5BED, nonce=28, - address=coinbase, # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.EXTCODESIZE(address=0xA66737FDCC16CD591384A0B12FB650CE85011E55) - + Op.PUSH30[ - 0x85CC6995D8948AC88F5726F16627D809C92DBA32D01471809AD1C5046B53 - ] - + Op.PUSH9[0x7D1FF18BCA5A755A0C] - + Op.PUSH13[0xD7CE36E1DC18C7C2A909F6BC00] - + Op.PUSH20[0xD53F4C10A2121E6B4F0AEADC71B441C331B19EC5] - + Op.PUSH25[0x22835269748AE558697A082470ABAA3595D4B8256F8954C7ED] - + Op.PUSH6[0x5896EB04017A] - + Op.PUSH32[ - 0x522BE50FD88E38EE27DE7EBD20794466F490BCB43162328A337A6E42FD88CACF # noqa: E501 - ] - + Op.PUSH11[0x8ECB264FE21836CF31D0AE] - + Op.PUSH28[ - 0xE53DA5FE2CAC802905640C0A18B2CCFD806FED6D7CBAF1FC19C6931D - ] - + Op.PUSH13[0x37B9320599CA5061121076A654] - + Op.PUSH16[0xC888F04E94C09ADCC8A3CC9D00244883] - + Op.DUP10 - + Op.PUSH24[0xC1010C1CDEF7438B3D1E99CF6D78B9D4F55962B04476323F] - + Op.CALLVALUE - + Op.COINBASE - ), - balance=0x23C22AEB4961B17E, - nonce=148, - address=Address("0x0346ad0b28ea31b7c3d398881dc11ebc97869461"), # noqa: E501 - ) - pre[sender] = Account(balance=0x236D08FE524712CB) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PUSH21[0x357A5ADE2DA3B4A5F5459FAFF84E5EA9B714B60ED2] - + Op.PUSH3[0x57EF59] - + Op.PUSH30[ - 0x9AA2E6D9316426366FE24FB9ED56C4A9E5DCF06AF08C42368FDAA12B7147 - ] - + Op.PUSH3[0x83C5BD] - + Op.PUSH2[0x47ED] - + Op.SWAP4 - + Op.DELEGATECALL( - gas=0xC30A604, - address=Op.PUSH20[0x5], - args_offset=0x28EC1A, - args_size=0x4971D8, - ret_offset=0x52D373, - ret_size=0x5663AE, - ) - + Op.SLOAD( - key=0xFE44ADD6669B247CAD0F00251697572FA913A16C98038931DF - ) - ), - balance=0x9183FD5B40D86E03, - nonce=28, - address=Address("0xe4882ba8527df19159e6536f4aee12c298d28f33"), # noqa: E501 + address=Address(0x02EBBA385BD7F6DDE6C57E2D3929A11A1EA0DA7E), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7300000000000000000000000000000000000000013b7ea30da9ff11bd5f11e4529c93ce" # noqa: E501 - "4b37d5a256d61e1f1a0ecccb5fbb21fec97f6b3d456b8caaaa84ef30a44fd8779fae5a48" # noqa: E501 - "354b937835d82d57999d194d4edfbaf0a8dd026d727e3315a53e907b0e1873b4dcb7f806" # noqa: E501 - "014bc23164e8cc0560256f0c6a8c09c0df2f0f8208ff622bb459d46ffab16ce9d64bcf9c" # noqa: E501 - "ec668338ebbc7f9e64656ae99c617d0dd709c1f78f96bea46e2df76db8418e2b657fc77f" # noqa: E501 - "f2f979952911a73b767a6ce270c7392d2ff340648610fe0219aaf24df2b26e97e2761497" # noqa: E501 - "bc6b97dea1269de3aca3b69ec7098a7257114a4a2e22c401ec6319bc2deb70980ebef372" # noqa: E501 - "a327809b3c2473ab86578d2fccd458e6b99a277c4a1d3e96351fbebe62fe63d300444afd" # noqa: E501 - "3a9077c20905d2a92b5b2945de6bf9b28d1d42795ca74b029dce6934312994a31fed72e4" # noqa: E501 - "5da26c73c636b40b1f6d529f35488625624a9dfd0b62309f286277b5ab6259b2fd621447" # noqa: E501 - "22631c4722737300000000000000000000000000000000000000056317345497f13368b2" # noqa: E501 - "a96595a00933d8dd6dc111a13b90768f330898544a443407620316d3625614816282f1e9" # noqa: E501 - "622e741d730346ad0b28ea31b7c3d398881dc11ebc97869461631d791a38fa" + to=Address(0x0000000000000000000000000000000000000001), + data=Bytes( + "7300000000000000000000000000000000000000013b7ea30da9ff11bd5f11e4529c93ce4b37d5a256d61e1f1a0ecccb5fbb21fec97f6b3d456b8caaaa84ef30a44fd8779fae5a48354b937835d82d57999d194d4edfbaf0a8dd026d727e3315a53e907b0e1873b4dcb7f806014bc23164e8cc0560256f0c6a8c09c0df2f0f8208ff622bb459d46ffab16ce9d64bcf9cec668338ebbc7f9e64656ae99c617d0dd709c1f78f96bea46e2df76db8418e2b657fc77ff2f979952911a73b767a6ce270c7392d2ff340648610fe0219aaf24df2b26e97e2761497bc6b97dea1269de3aca3b69ec7098a7257114a4a2e22c401ec6319bc2deb70980ebef372a327809b3c2473ab86578d2fccd458e6b99a277c4a1d3e96351fbebe62fe63d300444afd3a9077c20905d2a92b5b2945de6bf9b28d1d42795ca74b029dce6934312994a31fed72e45da26c73c636b40b1f6d529f35488625624a9dfd0b62309f286277b5ab6259b2fd62144722631c4722737300000000000000000000000000000000000000056317345497f13368b2a96595a00933d8dd6dc111a13b90768f330898544a443407620316d3625614816282f1e9622e741d730346ad0b28ea31b7c3d398881dc11ebc97869461631d791a38fa" # noqa: E501 ), gas_limit=48887, - value=4077944035, + value=0xF3107CE3, ) - post: dict = {} + post = { + addr: Account(storage={}, nonce=148), + sender: Account(storage={}, code=b"", nonce=1), + addr_2: Account(storage={}, nonce=28), + coinbase: Account(storage={}, nonce=28), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest645.py b/tests/ported_static/stRandom2/test_random_statetest645.py index 4039e71a055..34e478b5292 100644 --- a/tests/ported_static/stRandom2/test_random_statetest645.py +++ b/tests/ported_static/stRandom2/test_random_statetest645.py @@ -2,7 +2,7 @@ Geth Failed this test on Frontier and Homestead. Ported from: -tests/static/state_tests/stRandom2/randomStatetest645Filler.json +state_tests/stRandom2/randomStatetest645Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,32 +24,41 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest645Filler.json"], + ["state_tests/stRandom2/randomStatetest645Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (4074160023, {}), - (0, {}), + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_random_statetest645( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Geth Failed this test on Frontier and Homestead.""" - coinbase = Address("0xaa0103980a7c3113d3a8f81478b0281492eb3d38") + coinbase = Address(0xAA0103980A7C3113D3A8F81478B0281492EB3D38) + addr_2 = Address(0x9E9C03F8F885C32813DB5207FD04870F08327F30) sender = EOA( - key=0x0E5FB93861A38E5458E9D2FF0203D01D1D8167FA9C0DB762CC5CA50EB43B3376 + key=0xE5FB93861A38E5458E9D2FF0203D01D1D8167FA9C0DB762CC5CA50EB43B3376 ) - contract = Address("0x0000000000000000000000000000000000000003") - callee_1 = Address("0x9e9c03f8f885c32813db5207fd04870f08327f30") env = Environment( fee_recipient=coinbase, @@ -58,135 +69,57 @@ def test_random_statetest645( gas_limit=13175566155172316, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PC - + Op.PUSH8[0x9B8E24022D8C28F3] - + Op.SGT(0x84BC2F83, 0xB55A0) - + Op.EQ( - 0xEA3E9D28799D45AA77BF1FC1A84EDF0193DEA2D610209EAAF9C8, - 0x15B61916F0F5, - ) + # Source: raw + # 0x58679b8e24022d8c28f3620b55a06384bc2f83136515b61916f0f579ea3e9d28799d45aa77bf1fc1a84edf0193dea2d610209eaaf9c814 # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.PC + + Op.PUSH8[0x9B8E24022D8C28F3] + + Op.SGT(0x84BC2F83, 0xB55A0) + + Op.EQ( + 0xEA3E9D28799D45AA77BF1FC1A84EDF0193DEA2D610209EAAF9C8, + 0x15B61916F0F5, ), balance=0xBCBAF5A33577F162, nonce=29, - address=Address("0x322c72dedad1a81092ab9ba908fbec8779ce1c32"), # noqa: E501 + address=Address(0x322C72DEDAD1A81092AB9BA908FBEC8779CE1C32), # noqa: E501 ) - pre[callee_1] = Account(balance=0xB3508C0F8A22F8A1, nonce=28) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1D72DE, value=0xCBB01282) - + Op.LOG1( - offset=0xC396EB18074F148D96FD766DDA35B6CC250661B5F83F0ED625BA68A5FF49A, # noqa: E501 - size=0x1EF17F23ED237D9F3262C4EB1B95112820595B127C516074DF06223DB, # noqa: E501 - topic_1=0x22948F746C938A0CB, - ) + pre[sender] = Account(balance=0x6F1F70FEA641F30A) + # Source: raw + # 0x63cbb01282621d72de5268022948f746c938a0cb7c01ef17f23ed237d9f3262c4eb1b95112820595b127c516074df06223db7e0c396eb18074f148d96fd766dda35b6cc250661b5f83f0ed625ba68a5ff49aa1 # noqa: E501 + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1D72DE, value=0xCBB01282) + + Op.LOG1( + offset=0xC396EB18074F148D96FD766DDA35B6CC250661B5F83F0ED625BA68A5FF49A, # noqa: E501 + size=0x1EF17F23ED237D9F3262C4EB1B95112820595B127C516074DF06223DB, + topic_1=0x22948F746C938A0CB, ), balance=0x2BE1CFD5D6D6B0B7, nonce=175, - address=coinbase, # noqa: E501 + address=Address(0xAA0103980A7C3113D3A8F81478B0281492EB3D38), # noqa: E501 ) - pre[sender] = Account(balance=0x6F1F70FEA641F30A) + pre[addr_2] = Account(balance=0xB3508C0F8A22F8A1, nonce=28) - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "326e3696ffc10e3e95c67d29784a35ba967d416feb1e1712098bcbb4d20454c1681694f5" # noqa: E501 - "1d8591ff7b80f0e4da50c89a0a777fa7666abccfbd600e213bd71da4925c2a2115799e9c" # noqa: E501 - "3bb1622f075452" + tx_data = [ + Bytes( + "326e3696ffc10e3e95c67d29784a35ba967d416feb1e1712098bcbb4d20454c1681694f51d8591ff7b80f0e4da50c89a0a777fa7666abccfbd600e213bd71da4925c2a2115799e9c3bb1622f075452" # noqa: E501 ), - gas_limit=26970, - value=tx_value, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest645Filler.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_value, expected_post", - [ - (4074160023, {}), - (0, {}), - ], - ids=["case0", "case1"], -) -@pytest.mark.pre_alloc_mutable -def test_random_statetest645_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_value: int, - expected_post: dict, -) -> None: - """Geth Failed this test on Frontier and Homestead.""" - coinbase = Address("0xaa0103980a7c3113d3a8f81478b0281492eb3d38") - sender = EOA( - key=0x0E5FB93861A38E5458E9D2FF0203D01D1D8167FA9C0DB762CC5CA50EB43B3376 - ) - contract = Address("0x0000000000000000000000000000000000000003") - callee_1 = Address("0x9e9c03f8f885c32813db5207fd04870f08327f30") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=13175566155172316, - ) - - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.PC - + Op.PUSH8[0x9B8E24022D8C28F3] - + Op.SGT(0x84BC2F83, 0xB55A0) - + Op.EQ( - 0xEA3E9D28799D45AA77BF1FC1A84EDF0193DEA2D610209EAAF9C8, - 0x15B61916F0F5, - ) - ), - balance=0xBCBAF5A33577F162, - nonce=29, - address=Address("0x322c72dedad1a81092ab9ba908fbec8779ce1c32"), # noqa: E501 - ) - pre[callee_1] = Account(balance=0xB3508C0F8A22F8A1, nonce=28) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1D72DE, value=0xCBB01282) - + Op.LOG1( - offset=0xC396EB18074F148D96FD766DDA35B6CC250661B5F83F0ED625BA68A5FF49A, # noqa: E501 - size=0x1EF17F23ED237D9F3262C4EB1B95112820595B127C516074DF06223DB, # noqa: E501 - topic_1=0x22948F746C938A0CB, - ) - ), - balance=0x2BE1CFD5D6D6B0B7, - nonce=175, - address=coinbase, # noqa: E501 - ) - pre[sender] = Account(balance=0x6F1F70FEA641F30A) + ] + tx_gas = [26970] + tx_value = [4074160023, 0] tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "326e3696ffc10e3e95c67d29784a35ba967d416feb1e1712098bcbb4d20454c1681694f5" # noqa: E501 - "1d8591ff7b80f0e4da50c89a0a777fa7666abccfbd600e213bd71da4925c2a2115799e9c" # noqa: E501 - "3bb1622f075452" - ), - gas_limit=26970, - value=tx_value, + to=Address(0x0000000000000000000000000000000000000003), + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + addr: Account(storage={}, nonce=29), + sender: Account(storage={}, code=b"", nonce=1), + coinbase: Account(storage={}, nonce=175), + addr_2: Account(storage={}, code=b"", nonce=28), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest646.py b/tests/ported_static/stRandom2/test_random_statetest646.py index 71cced32aba..112c3e9e5ee 100644 --- a/tests/ported_static/stRandom2/test_random_statetest646.py +++ b/tests/ported_static/stRandom2/test_random_statetest646.py @@ -2,7 +2,7 @@ Geth Failed this test on all networks. Ported from: -tests/static/state_tests/stRandom2/randomStatetest646Filler.json +state_tests/stRandom2/randomStatetest646Filler.json """ import pytest @@ -11,9 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,7 +25,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest646Filler.json"], + ["state_tests/stRandom2/randomStatetest646Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,11 +34,12 @@ def test_random_statetest646( pre: Alloc, ) -> None: """Geth Failed this test on all networks.""" - coinbase = Address("0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - callee = Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -47,41 +51,58 @@ def test_random_statetest646( ) pre[sender] = Account(balance=0x54465EF1C769628B) - pre[callee] = Account(balance=0x33888D4CE6B934, nonce=7) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SLOAD(key=0xBA8B878E01) - + Op.PUSH9[0x9B908F27ACB42E5269] - + Op.SSTORE( - key=0x609834BF9A7E578E45609242172907DD75A925, value=0x39 - ) - + Op.PUSH6[0x6C5AA6E92481] - + Op.CREATE(value=0x446D325D, offset=0x38648, size=0x13FFA) - + Op.CALLER - + Op.NOT(0x2C38CFA2F1CDF8CB623C05919874) - ), + pre[contract_0] = Account(balance=0x33888D4CE6B934, nonce=7) + # Source: raw + # 0x64ba8b878e0154689b908f27acb42e5269603972609834bf9a7e578e45609242172907dd75a92555656c5aa6e9248162013ffa6203864863446d325df0336d2c38cfa2f1cdf8cb623c0591987419 # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SLOAD(key=0xBA8B878E01) + + Op.PUSH9[0x9B908F27ACB42E5269] + + Op.SSTORE(key=0x609834BF9A7E578E45609242172907DD75A925, value=0x39) + + Op.PUSH6[0x6C5AA6E92481] + + Op.CREATE(value=0x446D325D, offset=0x38648, size=0x13FFA) + + Op.CALLER + + Op.NOT(0x2C38CFA2F1CDF8CB623C05919874), balance=0xD61773F0C27B842F, nonce=28, - address=Address("0xffffffffffffffffffffffffffffffffffffffff"), # noqa: E501 + address=Address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "785196fdcb5d7e54c4b381e68c7eaeae2735e5537830130057f554672e70a6b867385ea2" # noqa: E501 - "714ea3185b854bf0b4f9617fb47e6afe9ed4ed68f94b50776420fa24010960ce6b65e2a1" # noqa: E501 - "ebdce518181d6c69a678989d767fc3d28b6c524f52a87d05519cb32e38fbdc5f801f7569" # noqa: E501 - "22b90c0e2e5bc848bb9c6a5d08ee65470af4fbbeacf87a65c90dc57babd8cdc9819f8985" # noqa: E501 - "51925828bfd360e8a1f1616619d171c23004b0045424cc962e09d8a65d9fd94af9863d61" # noqa: E501 - "eba97d76dc150e19d991ff1b5fd340dd4fd7e522a659ddf69bcbc729599667aa30536cd8" # noqa: E501 - "5576cc3477495dae10c85b56" + to=contract_1, + data=Bytes("785196fd") + + Hash( + 0xCB5D7E54C4B381E68C7EAEAE2735E5537830130057F554672E70A6B867385EA2 + ) + + Hash( + 0x714EA3185B854BF0B4F9617FB47E6AFE9ED4ED68F94B50776420FA24010960CE + ) + + Hash( + 0x6B65E2A1EBDCE518181D6C69A678989D767FC3D28B6C524F52A87D05519CB32E + ) + + Hash( + 0x38FBDC5F801F756922B90C0E2E5BC848BB9C6A5D08EE65470AF4FBBEACF87A65 + ) + + Hash( + 0xC90DC57BABD8CDC9819F898551925828BFD360E8A1F1616619D171C23004B004 + ) + + Hash( + 0x5424CC962E09D8A65D9FD94AF9863D61EBA97D76DC150E19D991FF1B5FD340DD + ) + + Hash( + 0x4FD7E522A659DDF69BCBC729599667AA30536CD85576CC3477495DAE10C85B56 ), gas_limit=5786929, - value=1451538698, + value=0x5684B90A, ) - post: dict = {} + post = { + sender: Account(storage={}, code=b"", nonce=1), + compute_create_address( + address=contract_1, nonce=28 + ): Account.NONEXISTENT, + contract_0: Account(storage={}, code=b"", nonce=7), + contract_1: Account(storage={}, nonce=28), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest647.py b/tests/ported_static/stRandom2/test_random_statetest647.py index 0e18e9f40a3..6e369d401fd 100644 --- a/tests/ported_static/stRandom2/test_random_statetest647.py +++ b/tests/ported_static/stRandom2/test_random_statetest647.py @@ -2,7 +2,7 @@ Malicious bytecode found by fuzztest tool: returndatacopy(0,-1). Ported from: -tests/static/state_tests/stRandom2/randomStatetest647Filler.json +state_tests/stRandom2/randomStatetest647Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest647Filler.json"], + ["state_tests/stRandom2/randomStatetest647Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_random_statetest647( pre: Alloc, ) -> None: """Malicious bytecode found by fuzztest tool: returndatacopy(0,-1).""" - coinbase = Address("0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x5B7B8EFB6D003CD481E408D8759A25ADC79955092F1A380D8F8B57346C1D1342 ) @@ -45,25 +46,25 @@ def test_random_statetest647( gas_limit=18857228215205537, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.RETURNDATACOPY( - dest_offset=0x0, offset=Op.SUB(0x0, 0x1), size=0x1 - ) - + Op.STOP - ), + pre[sender] = Account(balance=0x174876E800) + # Source: raw + # 0x6001600160000360003e00 + target = pre.deploy_contract( # noqa: F841 + code=Op.RETURNDATACOPY( + dest_offset=0x0, offset=Op.SUB(0x0, 0x1), size=0x1 + ) + + Op.STOP, nonce=7, - address=Address("0x782b7c65205e1c08192df7357e2fe778c81256a9"), # noqa: E501 + address=Address(0x782B7C65205E1C08192DF7357E2FE778C81256A9), # noqa: E501 ) - pre[sender] = Account(balance=0x174876E800) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=5786929, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest648.py b/tests/ported_static/stRandom2/test_random_statetest648.py index e5c49447c3c..5a22cb04b9d 100644 --- a/tests/ported_static/stRandom2/test_random_statetest648.py +++ b/tests/ported_static/stRandom2/test_random_statetest648.py @@ -2,7 +2,7 @@ Consensus issue test produced by fuzz testing team 00000005-storagefuzz-1. Ported from: -tests/static/state_tests/stRandom2/randomStatetest648Filler.json +state_tests/stRandom2/randomStatetest648Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest648Filler.json"], + ["state_tests/stRandom2/randomStatetest648Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_random_statetest648( pre: Alloc, ) -> None: """Consensus issue test produced by fuzz testing team...""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xFF348633B687EC0F553647F4DDEED7590E90C7EA65B87C5BD399F4C869B9C9FC ) @@ -45,47 +46,45 @@ def test_random_statetest648( gas_limit=10944489199640098, ) - pre[sender] = Account(balance=0xFFFFFFFF) - # Source: raw bytecode - pre.deploy_contract( - code=Op.POP(0x0), + # Source: raw + # 0x600060006000600060f15af450600060005060f5fffd + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=Op.GAS, + address=0xF1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x0] + + Op.POP(0x0) + + Op.SELFDESTRUCT(address=0xF5) + + Op.REVERT, nonce=0, - address=Address("0xa828265d4b2db08e65a1c68d2878f15368b5ae75"), # noqa: E501 + address=Address(0xCA5C69FA03B9DFF4D059971AC17EDAC7EF758725), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xF1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x0] - + Op.POP(0x0) - + Op.SELFDESTRUCT(address=0xF5) - + Op.REVERT - ), + # Source: raw + # 0x600050 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP(0x0), nonce=0, - address=Address("0xca5c69fa03b9dff4d059971ac17edac7ef758725"), # noqa: E501 + address=Address(0xA828265D4B2DB08E65A1C68D2878F15368B5AE75), # noqa: E501 ) + pre[sender] = Account(balance=0xFFFFFFFF) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "384c289327fda733f319011b605929b98b6cc52e4915c942369264c71a3ca70ebce56fef" # noqa: E501 - "7e41103f1acc71e91f299bf6c5730b265d6f9d475936735ea60c58b9bb125a7817817178" # noqa: E501 - "4759606d696e98f8522b52fe213edee397b3df6ca9f0c6" + to=target, + data=Bytes( + "384c289327fda733f319011b605929b98b6cc52e4915c942369264c71a3ca70ebce56fef7e41103f1acc71e91f299bf6c5730b265d6f9d475936735ea60c58b9bb125a78178171784759606d696e98f8522b52fe213edee397b3df6ca9f0c6" # noqa: E501 ), gas_limit=343469, - value=14361094, + value=0xDB2206, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest649.py b/tests/ported_static/stRandom2/test_random_statetest649.py index 57c4741eddf..9a4305bee5c 100644 --- a/tests/ported_static/stRandom2/test_random_statetest649.py +++ b/tests/ported_static/stRandom2/test_random_statetest649.py @@ -2,7 +2,7 @@ Consensus issue test produced by fuzz testing team... Ported from: -tests/static/state_tests/stRandom2/randomStatetest649Filler.json +state_tests/stRandom2/randomStatetest649Filler.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest649Filler.json"], + ["state_tests/stRandom2/randomStatetest649Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +33,7 @@ def test_random_statetest649( pre: Alloc, ) -> None: """Consensus issue test produced by fuzz testing team...""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x61EC5E5029A151E121E39AE4D7546D549EA4B130F645F6F650CEEC0416FE27F4 ) @@ -45,133 +47,132 @@ def test_random_statetest649( gas_limit=10944489199640098, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6C756DBF65726963616E207F9439303733373936353331363631303037345A05, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x7265737582673075742074650041030A000000EFBF7125E86C756DBF65726963, # noqa: E501 - ) - + Op.PUSH32[ - 0x616E207F9439303733373936353331363631303037345A057265737582673075 # noqa: E501 - ] - + Op.PUSH32[ - 0x742074650041030A000000EFBF7125E86C756DBF65726963616E207F94393037 # noqa: E501 - ] - + Op.PUSH32[ - 0x33373936353331363631303037345A057265737582673075742074650041030A # noqa: E501 - ] - + Op.PUSH29[ - 0xEFBF7125E86C756DBF65726963616E207F943930373337393635333136 - ] - + Op.PUSH32[ - 0x3631303037345A057265737582673075742074650041030A000000EFBF7125E8 # noqa: E501 - ] - + Op.MSTORE8(offset=0xE0, value=0x6C) - + Op.MSTORE8(offset=0xE1, value=0x75) - + Op.MSTORE8(offset=0xE2, value=0x6D) - + Op.MSTORE8(offset=0xE3, value=0xBF) - + Op.MSTORE8(offset=0xE4, value=0x65) - + Op.MSTORE8(offset=0xE5, value=0x72) - + Op.MSTORE8(offset=0xE6, value=0x69) - + Op.MSTORE8(offset=0xE7, value=0x63) - + Op.CREATE(value=0x0, offset=0x0, size=0xE8) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.CODECOPY( - dest_offset=0x50507F7F943930373337, - offset=Op.GAS, - size=Op.DUP5, - ) - + Op.CALLDATALOAD(offset=Op.CALLDATASIZE) - + Op.BALANCE(address=Op.CALLER) - + Op.CALLDATASIZE - + Op.CALLDATACOPY( - dest_offset=Op.ADDRESS, - offset=Op.ADDRESS, - size=Op.BALANCE(address=Op.CALLDATASIZE), - ) - + Op.SDIV(Op.GAS, Op.CALLVALUE) - + Op.PUSH19[0x6573758267307574207460005260206000F35B] - + Op.COINBASE - + Op.STOP - + Op.CALL( - gas=0x12B9BBF, - address=0x5, - value=0x6572, - args_offset=0x6963, - args_size=0x616E, - ret_offset=0x207F, - ret_size=0x9439, - ) - + Op.JUMP(pc=Op.PUSH8[0x15F]) - + Op.JUMPDEST - + Op.JUMP(pc=Op.PUSH8[0x4CA6]) - + Op.SSTORE(key=0x3636, value=Op.MLOAD(offset=0x3635)) - + Op.SSTORE(key=0x3637, value=Op.MLOAD(offset=0x3655)) - + Op.SSTORE(key=0x3638, value=Op.MLOAD(offset=0x3675)) - + Op.SSTORE(key=0x3639, value=Op.MLOAD(offset=0x3695)) - + Op.SSTORE(key=0x363A, value=Op.MLOAD(offset=0x36B5)) - + Op.SSTORE(key=0x363B, value=Op.MLOAD(offset=0x36D5)) - + Op.SSTORE(key=0x363C, value=Op.MLOAD(offset=0x36F5)) - + Op.SSTORE(key=0x363D, value=Op.MLOAD(offset=0x3715)) - + Op.SSTORE(key=0x363E, value=Op.MLOAD(offset=0x3735)) - + Op.SSTORE(key=0x363F, value=Op.MLOAD(offset=0x3755)) - + Op.SSTORE(key=0x3640, value=Op.MLOAD(offset=0x3775)) - + Op.SSTORE(key=0x3641, value=Op.MLOAD(offset=0x3795)) - + Op.SSTORE(key=0x3642, value=Op.MLOAD(offset=0x37B5)) - + Op.SSTORE(key=0x3643, value=Op.MLOAD(offset=0x37D5)) - + Op.SSTORE(key=0x3644, value=Op.MLOAD(offset=0x37F5)) - + Op.SSTORE(key=0x3645, value=Op.MLOAD(offset=0x3815)) - + Op.SSTORE(key=0x3646, value=Op.MLOAD(offset=0x3835)) - + Op.SSTORE(key=0x3647, value=Op.MLOAD(offset=0x3855)) - + Op.SSTORE(key=0x3648, value=Op.MLOAD(offset=0x3875)) - + Op.SSTORE(key=0x3649, value=Op.MLOAD(offset=0x3895)) - + Op.SSTORE(key=0x364A, value=Op.MLOAD(offset=0x38B5)) - + Op.SSTORE(key=0x364B, value=Op.MLOAD(offset=0x38D5)) - + Op.SSTORE(key=0x364C, value=Op.MLOAD(offset=0x38F5)) - + Op.SSTORE(key=0x364D, value=Op.MLOAD(offset=0x3915)) - + Op.SSTORE(key=0x364E, value=Op.MLOAD(offset=0x3935)) - + Op.SSTORE(key=0x364F, value=Op.MLOAD(offset=0x3955)) - + Op.SSTORE(key=0x3650, value=Op.MLOAD(offset=0x3975)) - + Op.SSTORE(key=0x3651, value=Op.MLOAD(offset=0x3995)) - + Op.SSTORE(key=0x3652, value=Op.MLOAD(offset=0x39B5)) - + Op.SSTORE(key=0x3653, value=Op.MLOAD(offset=0x39D5)) - + Op.SSTORE(key=0x3654, value=Op.MLOAD(offset=0x39F5)) - + Op.SSTORE(key=0x3655, value=Op.MLOAD(offset=0x3A15)) - + Op.SSTORE(key=0x3656, value=Op.MLOAD(offset=0x3A35)) - + Op.SSTORE(key=0x3657, value=Op.MLOAD(offset=0x3A55)) - + Op.SSTORE(key=0x3658, value=Op.MLOAD(offset=0x3A75)) - + Op.SSTORE(key=0x3659, value=Op.MLOAD(offset=0x3A95)) - + Op.SSTORE(key=0x365A, value=Op.MLOAD(offset=0x3AB5)) - + Op.SSTORE(key=0x365B, value=Op.MLOAD(offset=0x3AD5)) - + Op.MLOAD(offset=0x3AF5) - + Op.PUSH2[0x365C] - + Op.STOP - ), + # Source: raw + # 0x7f6c756dbf65726963616e207f9439303733373936353331363631303037345a056000527f7265737582673075742074650041030a000000efbf7125e86c756dbf657269636020527f616e207f9439303733373936353331363631303037345a0572657375826730757f742074650041030a000000efbf7125e86c756dbf65726963616e207f943930377f33373936353331363631303037345a057265737582673075742074650041030a7cefbf7125e86c756dbf65726963616e207f9439303733373936353331367f3631303037345a057265737582673075742074650041030a000000efbf7125e8606c60e053607560e153606d60e25360bf60e353606560e453607260e553606960e653606360e75360e860006000f06000600060006000845a6950507f7f9439303733373936353331363631303037345a05726573758267307574207460005260206000f35b410061943961207f61616e616963616572600563012b9bbff167000000000000015f565b670000000000004ca65661363551613636556136555161363755613675516136385561369551613639556136b55161363a556136d55161363b556136f55161363c556137155161363d556137355161363e556137555161363f55613775516136405561379551613641556137b551613642556137d551613643556137f55161364455613815516136455561383551613646556138555161364755613875516136485561389551613649556138b55161364a556138d55161364b556138f55161364c556139155161364d556139355161364e556139555161364f55613975516136505561399551613651556139b551613652556139d551613653556139f55161365455613a155161365555613a355161365655613a555161365755613a755161365855613a955161365955613ab55161365a55613ad55161365b55613af55161365c00 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x6C756DBF65726963616E207F9439303733373936353331363631303037345A05, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x7265737582673075742074650041030A000000EFBF7125E86C756DBF65726963, # noqa: E501 + ) + + Op.PUSH32[ + 0x616E207F9439303733373936353331363631303037345A057265737582673075 + ] + + Op.PUSH32[ + 0x742074650041030A000000EFBF7125E86C756DBF65726963616E207F94393037 + ] + + Op.PUSH32[ + 0x33373936353331363631303037345A057265737582673075742074650041030A + ] + + Op.PUSH29[ + 0xEFBF7125E86C756DBF65726963616E207F943930373337393635333136 + ] + + Op.PUSH32[ + 0x3631303037345A057265737582673075742074650041030A000000EFBF7125E8 + ] + + Op.MSTORE8(offset=0xE0, value=0x6C) + + Op.MSTORE8(offset=0xE1, value=0x75) + + Op.MSTORE8(offset=0xE2, value=0x6D) + + Op.MSTORE8(offset=0xE3, value=0xBF) + + Op.MSTORE8(offset=0xE4, value=0x65) + + Op.MSTORE8(offset=0xE5, value=0x72) + + Op.MSTORE8(offset=0xE6, value=0x69) + + Op.MSTORE8(offset=0xE7, value=0x63) + + Op.CREATE(value=0x0, offset=0x0, size=0xE8) + + Op.PUSH1[0x0] * 4 + + Op.CODECOPY( + dest_offset=0x50507F7F943930373337, offset=Op.GAS, size=Op.DUP5 + ) + + Op.CALLDATALOAD(offset=Op.CALLDATASIZE) + + Op.BALANCE(address=Op.CALLER) + + Op.CALLDATASIZE + + Op.CALLDATACOPY( + dest_offset=Op.ADDRESS, + offset=Op.ADDRESS, + size=Op.BALANCE(address=Op.CALLDATASIZE), + ) + + Op.SDIV(Op.GAS, Op.CALLVALUE) + + Op.PUSH19[0x6573758267307574207460005260206000F35B] + + Op.COINBASE + + Op.STOP + + Op.CALL( + gas=0x12B9BBF, + address=0x5, + value=0x6572, + args_offset=0x6963, + args_size=0x616E, + ret_offset=0x207F, + ret_size=0x9439, + ) + + Op.JUMP(pc=Op.PUSH8[0x15F]) + + Op.JUMPDEST + + Op.JUMP(pc=Op.PUSH8[0x4CA6]) + + Op.SSTORE(key=0x3636, value=Op.MLOAD(offset=0x3635)) + + Op.SSTORE(key=0x3637, value=Op.MLOAD(offset=0x3655)) + + Op.SSTORE(key=0x3638, value=Op.MLOAD(offset=0x3675)) + + Op.SSTORE(key=0x3639, value=Op.MLOAD(offset=0x3695)) + + Op.SSTORE(key=0x363A, value=Op.MLOAD(offset=0x36B5)) + + Op.SSTORE(key=0x363B, value=Op.MLOAD(offset=0x36D5)) + + Op.SSTORE(key=0x363C, value=Op.MLOAD(offset=0x36F5)) + + Op.SSTORE(key=0x363D, value=Op.MLOAD(offset=0x3715)) + + Op.SSTORE(key=0x363E, value=Op.MLOAD(offset=0x3735)) + + Op.SSTORE(key=0x363F, value=Op.MLOAD(offset=0x3755)) + + Op.SSTORE(key=0x3640, value=Op.MLOAD(offset=0x3775)) + + Op.SSTORE(key=0x3641, value=Op.MLOAD(offset=0x3795)) + + Op.SSTORE(key=0x3642, value=Op.MLOAD(offset=0x37B5)) + + Op.SSTORE(key=0x3643, value=Op.MLOAD(offset=0x37D5)) + + Op.SSTORE(key=0x3644, value=Op.MLOAD(offset=0x37F5)) + + Op.SSTORE(key=0x3645, value=Op.MLOAD(offset=0x3815)) + + Op.SSTORE(key=0x3646, value=Op.MLOAD(offset=0x3835)) + + Op.SSTORE(key=0x3647, value=Op.MLOAD(offset=0x3855)) + + Op.SSTORE(key=0x3648, value=Op.MLOAD(offset=0x3875)) + + Op.SSTORE(key=0x3649, value=Op.MLOAD(offset=0x3895)) + + Op.SSTORE(key=0x364A, value=Op.MLOAD(offset=0x38B5)) + + Op.SSTORE(key=0x364B, value=Op.MLOAD(offset=0x38D5)) + + Op.SSTORE(key=0x364C, value=Op.MLOAD(offset=0x38F5)) + + Op.SSTORE(key=0x364D, value=Op.MLOAD(offset=0x3915)) + + Op.SSTORE(key=0x364E, value=Op.MLOAD(offset=0x3935)) + + Op.SSTORE(key=0x364F, value=Op.MLOAD(offset=0x3955)) + + Op.SSTORE(key=0x3650, value=Op.MLOAD(offset=0x3975)) + + Op.SSTORE(key=0x3651, value=Op.MLOAD(offset=0x3995)) + + Op.SSTORE(key=0x3652, value=Op.MLOAD(offset=0x39B5)) + + Op.SSTORE(key=0x3653, value=Op.MLOAD(offset=0x39D5)) + + Op.SSTORE(key=0x3654, value=Op.MLOAD(offset=0x39F5)) + + Op.SSTORE(key=0x3655, value=Op.MLOAD(offset=0x3A15)) + + Op.SSTORE(key=0x3656, value=Op.MLOAD(offset=0x3A35)) + + Op.SSTORE(key=0x3657, value=Op.MLOAD(offset=0x3A55)) + + Op.SSTORE(key=0x3658, value=Op.MLOAD(offset=0x3A75)) + + Op.SSTORE(key=0x3659, value=Op.MLOAD(offset=0x3A95)) + + Op.SSTORE(key=0x365A, value=Op.MLOAD(offset=0x3AB5)) + + Op.SSTORE(key=0x365B, value=Op.MLOAD(offset=0x3AD5)) + + Op.MLOAD(offset=0x3AF5) + + Op.PUSH2[0x365C] + + Op.STOP, nonce=0, - address=Address("0x39ab27391d04d35cae13dcdf2facaba711f0588f"), # noqa: E501 + address=Address(0x39AB27391D04D35CAE13DCDF2FACABA711F0588F), # noqa: E501 ) pre[sender] = Account(balance=0x3FFFFFFFFFFFFFFF) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "756dbf65726963616e207f9439303733373936353331363631303037345a057265737582" # noqa: E501 - "673075742074650041030a000000efbf7125e86c756dbf65726963616e207f9439303733" # noqa: E501 - "373936353331363631303037345a0572657375826730757420746500" + to=target, + data=Bytes("756dbf65") + + Hash( + 0x726963616E207F9439303733373936353331363631303037345A057265737582 + ) + + Hash( + 0x673075742074650041030A000000EFBF7125E86C756DBF65726963616E207F94 + ) + + Hash( + 0x39303733373936353331363631303037345A0572657375826730757420746500 ), gas_limit=147828, - value=4022300965, + value=0xEFBF7125, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRandom2/test_random_statetest650.py b/tests/ported_static/stRandom2/test_random_statetest650.py index a8c027edab1..c84cfc8e8eb 100644 --- a/tests/ported_static/stRandom2/test_random_statetest650.py +++ b/tests/ported_static/stRandom2/test_random_statetest650.py @@ -2,7 +2,7 @@ Consensus issue test produced by fuzz testing team... Ported from: -tests/static/state_tests/stRandom2/randomStatetest650Filler.json +state_tests/stRandom2/randomStatetest650Filler.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,17 +24,16 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest650Filler.json"], + ["state_tests/stRandom2/randomStatetest650Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.pre_alloc_mutable def test_random_statetest650( state_test: StateTestFiller, pre: Alloc, ) -> None: """Consensus issue test produced by fuzz testing team...""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x61EC5E5029A151E121E39AE4D7546D549EA4B130F645F6F650CEEC0416FE27F4 ) @@ -46,6581 +47,3283 @@ def test_random_statetest650( gas_limit=10944489199640098, ) - pre[sender] = Account(balance=0x3FFFFFFFFFFFFFFF) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x10000000) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE8(offset=0x60, value=0xF6) - + Op.MSTORE8(offset=0x61, value=0x73) - + Op.MSTORE8(offset=0x62, value=0xA) - + Op.MSTORE8(offset=0x63, value=0xEF) - + Op.MSTORE8(offset=0x64, value=0xBF) - + Op.MSTORE8(offset=0x65, value=0xBD) - + Op.MSTORE8(offset=0x66, value=0xEF) - + Op.MSTORE8(offset=0x67, value=0xBF) - + Op.MSTORE8(offset=0x68, value=0xBD) - + Op.MSTORE8(offset=0x69, value=0xEF) - + Op.MSTORE8(offset=0x6A, value=0xBF) - + Op.MSTORE8(offset=0x6B, value=0xBD) - + Op.MSTORE8(offset=0x6C, value=0xEF) - + Op.MSTORE8(offset=0x6D, value=0xBF) - + Op.MSTORE8(offset=0x6E, value=0xBD) - + Op.MSTORE8(offset=0x6F, value=0x3) - + Op.STATICCALL( - gas=0xD51402, - address=0x5, - args_offset=0x0, - args_size=0x70, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.SSTORE(key=0x5A430010, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) + # Source: raw + # 0x60006000526310000000602052600060405260f66060536073606153600a60625360ef60635360bf60645360bd60655360ef60665360bf60675360bd60685360ef60695360bf606a5360bd606b5360ef606c5360bf606d5360bd606e536003606f536040600060706000600562d51402fa6000635a430010557fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff16010615a436159ce6199b4610295600761d514f17fbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6730a6000527fefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f6736020527f0aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a430010f66040527f730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4300106060527ff6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a43006080527f10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a4360a0527e10f6730aefbfbdefbfbdefbfbdefbfbd03000000d514029599b459ce6d7f5a60c052604360e053600060e153601060e25360f660e353607360e453600a60e55360ef60e65360bf60e75360bd60e85360ef60e95360bf60ea5360bd60eb5360ef60ec5360bf60ed5360bd60ee536020600060ef600063bfbdefbf6002622368eff1 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x10000000) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE8(offset=0x60, value=0xF6) + + Op.MSTORE8(offset=0x61, value=0x73) + + Op.MSTORE8(offset=0x62, value=0xA) + + Op.MSTORE8(offset=0x63, value=0xEF) + + Op.MSTORE8(offset=0x64, value=0xBF) + + Op.MSTORE8(offset=0x65, value=0xBD) + + Op.MSTORE8(offset=0x66, value=0xEF) + + Op.MSTORE8(offset=0x67, value=0xBF) + + Op.MSTORE8(offset=0x68, value=0xBD) + + Op.MSTORE8(offset=0x69, value=0xEF) + + Op.MSTORE8(offset=0x6A, value=0xBF) + + Op.MSTORE8(offset=0x6B, value=0xBD) + + Op.MSTORE8(offset=0x6C, value=0xEF) + + Op.MSTORE8(offset=0x6D, value=0xBF) + + Op.MSTORE8(offset=0x6E, value=0xBD) + + Op.MSTORE8(offset=0x6F, value=0x3) + + Op.STATICCALL( + gas=0xD51402, + address=0x5, + args_offset=0x0, + args_size=0x70, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.SSTORE(key=0x5A430010, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, + ) + + Op.CALL( + gas=0xD514, + address=0x7, + value=0x295, + args_offset=0x99B4, + args_size=0x59CE, + ret_offset=0x5A43, + ret_size=0x10, + ) + + Op.MSTORE( + offset=0x0, + value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 + ) + + Op.MSTORE8(offset=0xE0, value=0x43) + + Op.MSTORE8(offset=0xE1, value=0x0) + + Op.MSTORE8(offset=0xE2, value=0x10) + + Op.MSTORE8(offset=0xE3, value=0xF6) + + Op.MSTORE8(offset=0xE4, value=0x73) + + Op.MSTORE8(offset=0xE5, value=0xA) + + Op.MSTORE8(offset=0xE6, value=0xEF) + + Op.MSTORE8(offset=0xE7, value=0xBF) + + Op.MSTORE8(offset=0xE8, value=0xBD) + + Op.MSTORE8(offset=0xE9, value=0xEF) + + Op.MSTORE8(offset=0xEA, value=0xBF) + + Op.MSTORE8(offset=0xEB, value=0xBD) + + Op.MSTORE8(offset=0xEC, value=0xEF) + + Op.MSTORE8(offset=0xED, value=0xBF) + + Op.MSTORE8(offset=0xEE, value=0xBD) + + Op.CALL( + gas=0x2368EF, + address=0x2, + value=0xBFBDEFBF, + args_offset=0x0, + args_size=0xEF, + ret_offset=0x0, + ret_size=0x20, ), nonce=0, - address=Address("0x9d258197de5279a844b4be3d23547ca4233a70bc"), # noqa: E501 + address=Address(0x9D258197DE5279A844B4BE3D23547CA4233A70BC), # noqa: E501 ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "000000d514029599b459ce6d7f5a430010f6730aefbfbdefbfbdefbfbdefbfbd03000000" # noqa: E501 - "d514029599b459ce6d7f5a430010f6730aefbfbdefbfbdefbfbdefbfbd03000000d51402" # noqa: E501 - "9599b459ce6d7f5a430010f6730aefbfbdefbfbdefbfbdefbfbd0300" - ), - gas_limit=1200000, - value=4022320387, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stRandom2/randomStatetest650Filler.json"], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.pre_alloc_mutable -def test_random_statetest650_from_osaka( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Consensus issue test produced by fuzz testing team...""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") - sender = EOA( - key=0x61EC5E5029A151E121E39AE4D7546D549EA4B130F645F6F650CEEC0416FE27F4 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10944489199640098, - ) - pre[sender] = Account(balance=0x3FFFFFFFFFFFFFFF) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x10000000) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE8(offset=0x60, value=0xF6) - + Op.MSTORE8(offset=0x61, value=0x73) - + Op.MSTORE8(offset=0x62, value=0xA) - + Op.MSTORE8(offset=0x63, value=0xEF) - + Op.MSTORE8(offset=0x64, value=0xBF) - + Op.MSTORE8(offset=0x65, value=0xBD) - + Op.MSTORE8(offset=0x66, value=0xEF) - + Op.MSTORE8(offset=0x67, value=0xBF) - + Op.MSTORE8(offset=0x68, value=0xBD) - + Op.MSTORE8(offset=0x69, value=0xEF) - + Op.MSTORE8(offset=0x6A, value=0xBF) - + Op.MSTORE8(offset=0x6B, value=0xBD) - + Op.MSTORE8(offset=0x6C, value=0xEF) - + Op.MSTORE8(offset=0x6D, value=0xBF) - + Op.MSTORE8(offset=0x6E, value=0xBD) - + Op.MSTORE8(offset=0x6F, value=0x3) - + Op.STATICCALL( - gas=0xD51402, - address=0x5, - args_offset=0x0, - args_size=0x70, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.SSTORE(key=0x5A430010, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - + Op.CALL( - gas=0xD514, - address=0x7, - value=0x295, - args_offset=0x99B4, - args_size=0x59CE, - ret_offset=0x5A43, - ret_size=0x10, - ) - + Op.MSTORE( - offset=0x0, - value=0xBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6730A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F673, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0xAEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010F6, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A430010, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0xF6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A4300, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A43, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x10F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000D514029599B459CE6D7F5A, # noqa: E501 - ) - + Op.MSTORE8(offset=0xE0, value=0x43) - + Op.MSTORE8(offset=0xE1, value=0x0) - + Op.MSTORE8(offset=0xE2, value=0x10) - + Op.MSTORE8(offset=0xE3, value=0xF6) - + Op.MSTORE8(offset=0xE4, value=0x73) - + Op.MSTORE8(offset=0xE5, value=0xA) - + Op.MSTORE8(offset=0xE6, value=0xEF) - + Op.MSTORE8(offset=0xE7, value=0xBF) - + Op.MSTORE8(offset=0xE8, value=0xBD) - + Op.MSTORE8(offset=0xE9, value=0xEF) - + Op.MSTORE8(offset=0xEA, value=0xBF) - + Op.MSTORE8(offset=0xEB, value=0xBD) - + Op.MSTORE8(offset=0xEC, value=0xEF) - + Op.MSTORE8(offset=0xED, value=0xBF) - + Op.MSTORE8(offset=0xEE, value=0xBD) - + Op.CALL( - gas=0x2368EF, - address=0x2, - value=0xBFBDEFBF, - args_offset=0x0, - args_size=0xEF, - ret_offset=0x0, - ret_size=0x20, - ) - ), - nonce=0, - address=Address("0x9d258197de5279a844b4be3d23547ca4233a70bc"), # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "000000d514029599b459ce6d7f5a430010f6730aefbfbdefbfbdefbfbdefbfbd03000000" # noqa: E501 - "d514029599b459ce6d7f5a430010f6730aefbfbdefbfbdefbfbdefbfbd03000000d51402" # noqa: E501 - "9599b459ce6d7f5a430010f6730aefbfbdefbfbdefbfbdefbfbd0300" + to=target, + data=Bytes("000000d5") + + Hash( + 0x14029599B459CE6D7F5A430010F6730AEFBFBDEFBFBDEFBFBDEFBFBD03000000 + ) + + Hash( + 0xD514029599B459CE6D7F5A430010F6730AEFBFBDEFBFBDEFBFBDEFBFBD030000 + ) + + Hash( + 0xD514029599B459CE6D7F5A430010F6730AEFBFBDEFBFBDEFBFBDEFBFBD0300 ), gas_limit=1200000, - value=4022320387, + value=0xEFBFBD03, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRecursiveCreate/__init__.py b/tests/ported_static/stRecursiveCreate/__init__.py index 0ec73d0fe80..cc994bb98ae 100644 --- a/tests/ported_static/stRecursiveCreate/__init__.py +++ b/tests/ported_static/stRecursiveCreate/__init__.py @@ -1 +1 @@ -"""Tests ported from stRecursiveCreate.""" +"""Ported static tests: stRecursiveCreate.""" # noqa: N999 diff --git a/tests/ported_static/stRecursiveCreate/test_recursive_create.py b/tests/ported_static/stRecursiveCreate/test_recursive_create.py index f365b211ee0..7bfcde15d6e 100644 --- a/tests/ported_static/stRecursiveCreate/test_recursive_create.py +++ b/tests/ported_static/stRecursiveCreate/test_recursive_create.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_recursive_create. Ported from: -tests/static/state_tests/stRecursiveCreate/recursiveCreateFiller.json +state_tests/stRecursiveCreate/recursiveCreateFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRecursiveCreate/recursiveCreateFiller.json"], + ["state_tests/stRecursiveCreate/recursiveCreateFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +32,9 @@ def test_recursive_create( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_recursive_create.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,27 +48,28 @@ def test_recursive_create( gas_limit=10000000, ) - # Source: LLL + # Source: lll # {(CODECOPY 0 0 32)(CREATE 0 0 32)} - contract = pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.CREATE(value=0x0, offset=0x0, size=0x20) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.CREATE(value=0x0, offset=0x0, size=0x20) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=465224, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + compute_create_address(address=contract_0, nonce=0): Account(nonce=2), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRecursiveCreate/test_recursive_create_return_value.py b/tests/ported_static/stRecursiveCreate/test_recursive_create_return_value.py index ebe67c52b63..ac0d8780754 100644 --- a/tests/ported_static/stRecursiveCreate/test_recursive_create_return_value.py +++ b/tests/ported_static/stRecursiveCreate/test_recursive_create_return_value.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_recursive_create_return_value. Ported from: -tests/static/state_tests/stRecursiveCreate -recursiveCreateReturnValueFiller.json +state_tests/stRecursiveCreate/recursiveCreateReturnValueFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -23,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRecursiveCreate/recursiveCreateReturnValueFiller.json", # noqa: E501 - ], + ["state_tests/stRecursiveCreate/recursiveCreateReturnValueFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -34,8 +33,9 @@ def test_recursive_create_return_value( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_recursive_create_return_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,1111 +49,31 @@ def test_recursive_create_return_value( gas_limit=10000000000, ) - # Source: LLL + # Source: lll # {(CODECOPY 0 0 32) [[ 0 ]] (ADD (CREATE 0 0 32) 1) } - contract = pre.deploy_contract( - code=( - Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE( - key=0x0, - value=Op.ADD(Op.CREATE(value=0x0, offset=0x0, size=0x20), 0x1), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE( + key=0x0, + value=Op.ADD(Op.CREATE(value=0x0, offset=0x0, size=0x20), 0x1), + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=1000000000, - value=100000, + value=0x186A0, ) post = { - Address("0x0124ac36deebf89244c22bedfcb6e05fb2f62f3b"): Account( - storage={0: 0xBBC2AEA32A7763BF59EA9157274F20E73C47210E}, - ), - Address("0x0153629ea98627274192fa275a6a9ad20191ab03"): Account( - storage={0: 0x953FE148ABF5E5D1B957446919F7D460FB8E0E05}, - ), - Address("0x015fc611579b182f9eddaf3662514c999974bed2"): Account( - storage={0: 0xE178AB0C8C219833CB17090483147B44AF97EA74}, - ), - Address("0x02660b1fc1d262f440733e8787f6ca21fb55bcd4"): Account( - storage={0: 0x73714E7E266D879BAFD2CB37528E2169CB508514}, - ), - Address("0x03b30e6dcce89e39590901b797c16935f14cfe7d"): Account( - storage={0: 0x4AEA3BD98CCC05D8B80D0225A47258FD9EAD31B4}, - ), - Address("0x03cd9f61e105543325910d9d7f8427235a29e850"): Account( - storage={0: 0x502E8922FFF35256C92F22F970802241C85A875B}, - ), - Address("0x0563ece055f8043c2fa7eae79f85a5974e2459ad"): Account( - storage={0: 0x2A5AFAB4B1B210196E2F8D6DDB24D7D1A3E8A365}, - ), - Address("0x05f76726986912c1fbda22db3aafdd295dc833aa"): Account( - storage={0: 0x5553AF7FAAA8EB68DE8787E8022DDA0C58BED06E}, - ), - Address("0x061b1ef6ec7572d0837a557a5d673d95d645cb8a"): Account( - storage={0: 0x21E2E15B2AF6454AD91E1B36E3830238CF755B49}, - ), - Address("0x078fcf5f2a71a260b50b04efe2feede4a4155f42"): Account( - storage={0: 0x38CDBB61FC5323DD5F6F4AA599D4F36406B766FF}, - ), - Address("0x07d4c830ba3d7b13dd3435b6a9de7f2bdcf90bc7"): Account( - storage={0: 0xF610A2A3A281686A9D78073EEB0A5F6A4619213C}, - ), - Address("0x089a70486f0cc448c7e5ac2ba11a9f71b970808e"): Account( - storage={0: 0x69AD22B81F58D128A7736328FDAC92D7DFD63CEF}, - ), - Address("0x08e3ffdc8d29af262542744f4d400983fe31c590"): Account( - storage={0: 0x52AEA75E06E98440B2DAA28313D03C31129ACEF7}, - ), - Address("0x094439b76fdd228f193958d098d2c8bf6238de1c"): Account( - storage={0: 0xB83F1B5B2F0FB059368E680B040B1DC118DB2587}, - ), - contract: Account( - storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB7}, - ), - Address("0x09a35a6f6607eebc286c6b5194a213370bcadb30"): Account( - storage={0: 0x18205DF1C43E9E29920725E96A362260AA5D3242}, - ), - Address("0x0a3fdfc866b2404c1ed78d478482c0f5107ce776"): Account( - storage={0: 0xE8849B2D422C4231AF55A706BCF7572F38F7A01A}, - ), - Address("0x0b057f3d7be9b4be7edf09b66f0a154da6a46ae4"): Account( - storage={0: 0x350A4186374A87DC45CADA137C2EED0022E23F0E}, - ), - Address("0x0b7cdb850b37437912005a1b54b1306452425679"): Account( - storage={0: 0x33C0B6CB54994491D359AF637DFB34E3065C98C7}, - ), - Address("0x0b9ee042a78ff660da0c6bd6fee0b2e22b414c03"): Account( - storage={0: 0x26A1838800D9131A3E7D3EE0A43D2F0122746FB5}, - ), - Address("0x0d3bc01519ee0a1216a632b99c19a06df8017c6b"): Account( - storage={0: 0x9A35A6F6607EEBC286C6B5194A213370BCADB31}, - ), - Address("0x0e0f3dc21b49a768b9933909a09531de8198f0a9"): Account( - storage={0: 0x81CD35AC42BC6C520C5C41640DEC4C9A3A9DE9D2}, - ), - Address("0x0f4f5cf7567448a171b08d58c9fcfc8c1acc0aa9"): Account( - storage={0: 0xD4F5A4A0A9770C53E8A43E80DFDDFE30DDC67A2B}, - ), - Address("0x10b3a8c098467317d86d530931b7424dd8a74f3c"): Account( - storage={0: 0x8FA40127106DBF70F7931DDD510E2F0211DFD15E}, - ), - Address("0x11802a2c1f85a5da238086378dc4820ccd19134f"): Account( - storage={0: 0x9AAE8B11A923F49FCAB42904F8C6759FCBAD37FA}, - ), - Address("0x135dde330f78ca8bdf3c694ea49d08065d49bdfd"): Account( - storage={0: 0xD454705BBB4750FF5D62CBF2A5134D02B272DB17}, - ), - Address("0x138de55ad30a7e72b8d19a27048203c0297a7750"): Account( - storage={0: 0xDF1050BDF2C8617339324E68A1E6E0E102E3CA32}, - ), - Address("0x13e0f4c536fc64dc3b82fa9055f717783566a99e"): Account( - storage={0: 0x230DD0589ED6366C0C89DC257ED902FC4E6648E4}, - ), - Address("0x14a6985982a43b5fcc2046c3d5ba3622e5ca00d2"): Account( - storage={0: 0x4132BAF092924FCB4B3185213462643A64E00670}, - ), - Address("0x14aef68e79d441e5d9fa6a397c8ea11fdaa111c8"): Account( - storage={0: 0x7E641E26DFAC957EDE0A2B9CA358EA9082150052}, - ), - Address("0x15533643df9a543582de7d814e1cd06c8d93ce73"): Account( - storage={0: 0xA95ABF1F117EC9CBA5DA9412AB5776299F19C9CD}, - ), - Address("0x18205df1c43e9e29920725e96a362260aa5d3241"): Account( - storage={0: 0x29133526942F54E611D0DEE32BBB3386CF1C891C}, - ), - Address("0x1902813a7606ced9e69222e4d756bd81bde3eff5"): Account( - storage={0: 0x812F8F7534D22508B43FC38E7679A3C5756D8E43}, - ), - Address("0x19a0689c7c59dbbe8a569b594572abdc7bd5c77c"): Account( - storage={0: 0xE0F3DC21B49A768B9933909A09531DE8198F0AA}, - ), - Address("0x1a21d699163a7f697a68977ce1fb21887d59cd7c"): Account( - storage={0: 0xB651A1E8312709EAE2DC95103BBE7FCA9E6E3574}, - ), - Address("0x1c38fae029602412d3789f348541577249bee123"): Account( - storage={0: 0xBA80321B067A71FC689104A602A589634A5F76CD}, - ), - Address("0x1cf9918897600e9c9e17f7c6e2797ed8fdd8af10"): Account( - storage={0: 0x90F83FCE5FB9BBECB55981C96F223F044786C40E}, - ), - Address("0x1d9cb40fa087e41cb84a4d56ad104226e3d6f018"): Account( - storage={0: 0xDC963C747DDED8C966CCA2E13C10A65CF04CEFC5}, - ), - Address("0x1e22452e40c125d338ca6b53c49773da2e3760eb"): Account( - storage={0: 0x4E2634D8427A529403ECDD1D44AA6DD137DA4625}, - ), - Address("0x1ec3bf52d870e0226044c2c0e84f0cd2883bbd92"): Account( - storage={0: 0x58675E090154B7E827E68883B3B9ECAF1C8BB8D5}, - ), - Address("0x1f1af23e708f4720910cb4ca9f83ef0188a23f0a"): Account( - storage={0: 0x3206FB12E53A9EEA5A1D4501394042FC9333AEEB}, - ), - Address("0x1fd0c0883bd94f7a6a87a7a216359f1dbfab7f51"): Account( - storage={0: 0x68610B9DB9EA182FF1921FAB9863150D1849C5F6}, - ), - Address("0x21e2e15b2af6454ad91e1b36e3830238cf755b48"): Account( - storage={0: 0xF9A151D133C315854462C5653437E34656CFDC38}, - ), - Address("0x22f1aff96e05248331ec9f15270c5552d665f41e"): Account( - storage={0: 0x2460590BF5FCC3D6E76CF72004944265B8ECDC14}, - ), - Address("0x230dd0589ed6366c0c89dc257ed902fc4e6648e3"): Account( - storage={0: 0x4F7B7C8E24BF233866A0FAD0AC657226DE940B64}, - ), - Address("0x23192662f87a4ab3db2759748c755d819e59cd2a"): Account( - storage={0: 0x4A53EAA64B683D0C95B5BA0B681B64CFD95E5E40}, - ), - Address("0x2460590bf5fcc3d6e76cf72004944265b8ecdc13"): Account( - storage={0: 0x683013D2114CAE8B41473CA318267C7DB219B8A0}, - ), - Address("0x24a18b9ffe06edc928eb9037ef40c9b24349d9ea"): Account( - storage={0: 0xE53A708ED6F6EF523576E12DDF568C79D25B79F8}, - ), - Address("0x24aafb1cf6510457d2a4aa39512393b490b24c61"): Account( - storage={0: 0x854C4F512B9ECC17467E602F6512496A89D5705D}, - ), - Address("0x2566a11ad8ac081e7c26ba1afff8d1c208642f5d"): Account( - storage={0: 0x2852018B3CE85CB2D700B9FB8699A2ECDAD0DC0B}, - ), - Address("0x25d8caa13d191aefbbc4a6b2f60ac679a2a56e00"): Account( - storage={0: 0x4BD7B245F707B5FDB259C3FE61DAC9255CB8BB25}, - ), - Address("0x26963175b50e69c2400aa12887cad973aa275ff0"): Account( - storage={0: 0x923945F4390EE06A73A80C1F56F979F7959755E0}, - ), - Address("0x26a1838800d9131a3e7d3ee0a43d2f0122746fb4"): Account( - storage={0: 0x5EE8A44AC78E6C8E2DB3297DBA0E4E0E61B08DE5}, - ), - Address("0x270fb896f474137cc0a51ac5cfa01e01994da981"): Account( - storage={0: 0xAA0A91BE8C06C9BA16CE1CE5836941E920CA9AFA}, - ), - Address("0x283b585ba5bc85d64a99cb5ecb9a8495ac944948"): Account( - storage={0: 0x4326E4B5AA29095A293F86C51E4776BEEEB13C9C}, - ), - Address("0x2852018b3ce85cb2d700b9fb8699a2ecdad0dc0a"): Account( - storage={0: 0x3CA9B7FADDD261997977E206A2F288B4B8374666}, - ), - Address("0x28cc863e08832ad7b9c1b28bfa2fbff5a1611745"): Account( - storage={0: 0x3CD9F61E105543325910D9D7F8427235A29E851}, - ), - Address("0x29133526942f54e611d0dee32bbb3386cf1c891b"): Account( - storage={0: 0xB0F2564F0A4CB0D593A648D256B69B4ECDAA036B}, - ), - Address("0x295cac445bfac8cb2244bc70cdb32d99594d47e3"): Account( - storage={0: 0xAE3FE33DC09C697BFB635C9AB4BF8F0BF4264680}, - ), - Address("0x29ba5a51398ab1b9a6e68f9afe8a08c301e098f0"): Account( - storage={0: 0x6473F78CE5E4E31A7057EF32B70DCB9E3AFD1D87}, - ), - Address("0x2a5afab4b1b210196e2f8d6ddb24d7d1a3e8a364"): Account( - storage={0: 0xBD5649FAF8BCC002DC4A58E3A58DC0FF4413E20E}, - ), - Address("0x2a8c62782a9ac9ad37ceed561522cf5279e80fed"): Account( - storage={0: 0x23192662F87A4AB3DB2759748C755D819E59CD2B}, - ), - Address("0x2b26fac300d8a9bab12c79d8374726af0e2eec13"): Account( - storage={0: 0x632465EED4E41F3AAAAAC5BB576838CB3F0EA943}, - ), - Address("0x2c0b3f7eba30e844978dd6a58127cca7fa9dd329"): Account( - storage={0: 0x94F69C9E63CF82C2F3A04943B4C57909D99397E6}, - ), - Address("0x2ccf72ae225fbeddf894606c87629c42f685ea77"): Account( - storage={0: 0x687DCCB33DC4DFA5E5DEA197C151095A4E19FDD3}, - ), - Address("0x2cec8e078d4f0b40547db5134af753177afb7157"): Account( - storage={0: 0xBABBD30645C383315B3F157D518AB54F22465AB3}, - ), - Address("0x2ea5d28deea6fd475333f03590fadb6a29514936"): Account( - storage={0: 0x2660B1FC1D262F440733E8787F6CA21FB55BCD5}, - ), - Address("0x2eccfda404dee5308012197c894b86789921ca30"): Account( - storage={0: 0x4E11236C11EBDEC00068C3C1997937935290A1EE}, - ), - Address("0x2fa655ac7839b95773bb43a5ca5bdd636c1c3f42"): Account( - storage={0: 0x94439B76FDD228F193958D098D2C8BF6238DE1D}, - ), - Address("0x3043fe71ffbc8cc57fc0e4373b9a2106dfa64402"): Account( - storage={0: 0xADCC47CD626CC70A6326F9858E889932AEC7487D}, - ), - Address("0x3206fb12e53a9eea5a1d4501394042fc9333aeea"): Account( - storage={0: 0xD85FDFF87CF6D94195CF56B5E9AD410E936AC125}, - ), - Address("0x33c0b6cb54994491d359af637dfb34e3065c98c6"): Account( - storage={0: 0x1A21D699163A7F697A68977CE1FB21887D59CD7D}, - ), - Address("0x3435a3a9c7a82796be5c2bf306e39132482b146a"): Account( - storage={0: 0x41871652222884569A03B4F357441DEC29DD4C04}, - ), - Address("0x350a4186374a87dc45cada137c2eed0022e23f0d"): Account( - storage={0: 0x3C3EFEB193BE9BDCC59A190BA343B7AA51AB3418}, - ), - Address("0x3515873bc24d6721857b331afbb9d2e18099e79f"): Account( - storage={0: 0xAEEC6641CB72FB4F1839CF9DF13FA59B80D91E34}, - ), - Address("0x359d51cf93b31de8b40707b6c1b22f8f1b70a336"): Account( - storage={0: 0x49D4EF28805E87178CAFC25B34E0F4FA720A7A57}, - ), - Address("0x35e9444cc45b5659787356b9a03a82789e5f6c37"): Account( - storage={0: 0x5718E750D8554E12E6AA9F5EAAD8F9858B4049DF}, - ), - Address("0x35ed71279933c3412f3277b383d1f8ed491d0196"): Account( - storage={0: 0xCBAF2598FC92602BA5DEBAC6782965149D2D371F}, - ), - Address("0x3846f21bbb8c38b4cccce0236b1f0c9e3c0d7ed2"): Account( - storage={0: 0x9B5B0F5D4E3EBC57965B4BB63D9FFCA825EB8CC7}, - ), - Address("0x38a10d085030b351f1e4522bd42c789e2718ff9a"): Account( - storage={0: 0x25D8CAA13D191AEFBBC4A6B2F60AC679A2A56E01}, - ), - Address("0x38cdbb61fc5323dd5f6f4aa599d4f36406b766fe"): Account( - storage={0: 0x6E6AB35A1C5454676D10E4E1F462030BB4DC00D8}, - ), - Address("0x39670caa919437d736560edef3f698ed952a836c"): Account( - storage={0: 0xD41572CAB02800C2DC729A8D03332F572DE96277}, - ), - Address("0x39bcb9056a944f0955dba921096bbc2ef4025942"): Account( - storage={0: 0xA2998816BC7B076AE2573878D1D8E599223652A6}, - ), - Address("0x3b1d2e5cb2f280a25afddefb35cbce1754421341"): Account( - storage={0: 0xAC2D104F5688A6D5C4498132F916602E4AF9254C}, - ), - Address("0x3bd18e0f7e4d743565dacc89d36faa37c70bbb41"): Account( - storage={0: 0x4889EBF7ECB03869EC2F481276F46F8C02DC0EC5}, - ), - Address("0x3c3efeb193be9bdcc59a190ba343b7aa51ab3417"): Account( - storage={0: 0x124AC36DEEBF89244C22BEDFCB6E05FB2F62F3C}, - ), - Address("0x3ca9b7faddd261997977e206a2f288b4b8374665"): Account( - storage={0: 0x7360E396473716A4FB94022E3B5FE49AC5EFD989}, - ), - Address("0x3dc54aa1f5987de1e630798ab223bd724f2eafeb"): Account( - storage={0: 0x24AAFB1CF6510457D2A4AA39512393B490B24C62}, - ), - Address("0x3e705425914e5043a7fe28a422494fbddd1fa0b7"): Account( - storage={0: 0x5E370CB559F97E00C4CCFF71324FCFC1D0F4F52B}, - ), - Address("0x4132baf092924fcb4b3185213462643a64e0066f"): Account( - storage={0: 0x80BF7CC16403098D8DB95EF9F802B168337AFF8C}, - ), - Address("0x4163459a50d3f33505101c03a67798d9aaff86a7"): Account( - storage={0: 0x9E9C39C1F8F48A4C7D92D2BEAD877287715D3EF2}, - ), - Address("0x41871652222884569a03b4f357441dec29dd4c03"): Account( - storage={0: 0x3515873BC24D6721857B331AFBB9D2E18099E7A0}, - ), - Address("0x41c744f06610636c5f3a78acf7019671046bbb17"): Account( - storage={0: 0x1902813A7606CED9E69222E4D756BD81BDE3EFF6}, - ), - Address("0x420d3ebd21ac77b879ff7d60d91a4178d88da386"): Account( - storage={0: 0x2CCF72AE225FBEDDF894606C87629C42F685EA78}, - ), - Address("0x4326e4b5aa29095a293f86c51e4776beeeb13c9b"): Account( - storage={0: 0x26963175B50E69C2400AA12887CAD973AA275FF1}, - ), - Address("0x44392aa670f14348e65eaace495fe52fb1f0276c"): Account( - storage={0: 0xEE2618F6774250978C45B19DE72DC9568EB06A14}, - ), - Address("0x4889ebf7ecb03869ec2f481276f46f8c02dc0ec4"): Account( - storage={0: 0xDA27862CFDE315DD4DB961AE77D0E70EAF09C36B}, - ), - Address("0x49d4ef28805e87178cafc25b34e0f4fa720a7a56"): Account( - storage={0: 0xF0F5BE7CFBE4ED7E2EE8C2949FDBDEE6BC283621}, - ), - Address("0x4a53eaa64b683d0c95b5ba0b681b64cfd95e5e3f"): Account( - storage={0: 0x7F16B98DE9DE619A80A6CBD8721896F9870B01CB}, - ), - Address("0x4aea3bd98ccc05d8b80d0225a47258fd9ead31b3"): Account( - storage={0: 0x4C6CF3CD7E2089B5624A20FEB57BD012E9337188}, - ), - Address("0x4b503c8ea51caa8f3617973b8068c89f787e3f36"): Account( - storage={0: 0xF89EEC0743BAC4CEE8EE6AD04A821E09232A2FB6}, - ), - Address("0x4bd7b245f707b5fdb259c3fe61dac9255cb8bb24"): Account( - storage={0: 0xC928A97A6E85C0A06E6D7BC17AEA51059ACC533C}, - ), - Address("0x4bdd7ba923660706078f4f1b5f11b3ef68267f8c"): Account( - storage={0: 0x5D72A22E4D2F63E5ADCF14699CC9306FBA181AB8}, - ), - Address("0x4be74ed02236365b2796309e9725fb380ca539eb"): Account( - storage={0: 0x8A26224559EA93F4EB25C5D7A9DF4CA7BCADEBBD}, - ), - Address("0x4c356bcbb80f0903fb14144a2040ffb35fc15fbc"): Account( - storage={0: 0xC50549CD84F0F605F2787C3861C80DB90AF82E96}, - ), - Address("0x4c6cf3cd7e2089b5624a20feb57bd012e9337187"): Account( - storage={0: 0xA563D05CDF426B6DCC4353EBAE2ACD475B854C8C}, - ), - Address("0x4d439e47505b6556114b968a9eb09a09c8074198"): Account( - storage={0: 0xACFD156153124AFDBC8A9404D3AA431E6621E59F}, - ), - Address("0x4e11236c11ebdec00068c3c1997937935290a1ed"): Account( - storage={0: 0x51C2F19B94B6EC398D71FD6B748B1D4F04D0696C}, - ), - Address("0x4e2634d8427a529403ecdd1d44aa6dd137da4624"): Account( - storage={0: 0x11802A2C1F85A5DA238086378DC4820CCD191350}, - ), - Address("0x4f7b7c8e24bf233866a0fad0ac657226de940b63"): Account( - storage={0: 0xE6B02F114BE963FC082526163D31BD78B9E906F8}, - ), - Address("0x502e8922fff35256c92f22f970802241c85a875a"): Account( - storage={0: 0x90F7031246D07C171C746CA8D0B5AC0C4A3B8BD2}, - ), - Address("0x504ee43710737cf77785cfa9774c812584c40979"): Account( - storage={0: 0xB4BD0B1EB4EA1C0730A80A3C635C2CA2995D83D0}, - ), - Address("0x51c2f19b94b6ec398d71fd6b748b1d4f04d0696b"): Account( - storage={0: 0x91A66CB6EA7854CA76CA6BCB6441E801DD046580}, - ), - Address("0x528648dcb94ec4db2a1adc469cc6e4aeecab70f1"): Account( - storage={0: 0x86F8AC4309C8386F45DF0FB9658EE6C0ABE59155}, - ), - Address("0x52aea75e06e98440b2daa28313d03c31129acef6"): Account( - storage={0: 0x782CC3FF4FD6BE97ECA0737E6772F96731CB75B3}, - ), - Address("0x53652ad6f344eec5e2b9e33b816ad9163998d0aa"): Account( - storage={0: 0xF0C49BEEA4B33147FD5D8940E30349C739B97626}, - ), - Address("0x551b0315698442787a7791ccfaee559fa18480a5"): Account( - storage={0: 0xD28566158CFA53F25EF6228228A227A8700B6883}, - ), - Address("0x551cc3090c98d0e0a07c34e7f7219d1139fede7e"): Account( - storage={0: 0xB057F3D7BE9B4BE7EDF09B66F0A154DA6A46AE5}, - ), - Address("0x552cb7ef312124663550f57d159fe2d03a05ef69"): Account( - storage={0: 0x28CC863E08832AD7B9C1B28BFA2FBFF5A1611746}, - ), - Address("0x5553af7faaa8eb68de8787e8022dda0c58bed06d"): Account( - storage={0: 0x35E9444CC45B5659787356B9A03A82789E5F6C38}, - ), - Address("0x56aaf858af96546df92985645d7f456c530bc0d1"): Account( - storage={0: 0xF8FF2045B963A3DCFBCC41F79F930A96AF8BECC1}, - ), - Address("0x5718e750d8554e12e6aa9f5eaad8f9858b4049de"): Account( - storage={0: 0xB16DD4F11693F1157AEC4A982DE406463BB2B715}, - ), - Address("0x576cfefd063104a0e03717593a425e69863b1736"): Account( - storage={0: 0x22F1AFF96E05248331EC9F15270C5552D665F41F}, - ), - Address("0x57906c3c5ec33e754f23ddefe0cf9e80e9170dbc"): Account( - storage={0: 0x39670CAA919437D736560EDEF3F698ED952A836D}, - ), - Address("0x58660d7c9e7b1d306dbf86fa4c975eb9e9a25452"): Account( - storage={0: 0x53652AD6F344EEC5E2B9E33B816AD9163998D0AB}, - ), - Address("0x58675e090154b7e827e68883b3b9ecaf1c8bb8d4"): Account( - storage={0: 0xECF592D553A78EA9EB580651A22D34F635A36011}, - ), - Address("0x5d72a22e4d2f63e5adcf14699cc9306fba181ab7"): Account( - storage={0: 0x38A10D085030B351F1E4522BD42C789E2718FF9B}, - ), - Address("0x5e370cb559f97e00c4ccff71324fcfc1d0f4f52a"): Account( - storage={0: 0xB5CD7C146EADD4DD6788A453C8EA2DB89DF35B07}, - ), - Address("0x5ee8a44ac78e6c8e2db3297dba0e4e0e61b08de4"): Account( - storage={0: 0x3DC54AA1F5987DE1E630798AB223BD724F2EAFEC}, - ), - Address("0x5f630aa382bd9cd2e33754130a500db2dc0109f2"): Account( - storage={0: 0xF22FD55AC64A4B6F96BEE3771818C73341CD4D05}, - ), - Address("0x606ab504d721676914e421c96c9c9907fa329386"): Account( - storage={0: 0x75A2A617B94F78ECFFF896FC7D7A55C8A000B149}, - ), - Address("0x60a9bf51b795423799851fdd8671858554886415"): Account( - storage={0: 0x135DDE330F78CA8BDF3C694EA49D08065D49BDFE}, - ), - Address("0x6224dfbaf1cccbe1f486789567ec41b633fe7562"): Account( - storage={0: 0x872D846F9CFD4E4A80106A89F75A79105B8A18E1}, - ), - Address("0x6252860664c6175b92453fbc567a66251f764853"): Account( - storage={0: 0xDC2B1F4F871B90B2232E02BB7A114F88831338A3}, - ), - Address("0x632465eed4e41f3aaaaac5bb576838cb3f0ea942"): Account( - storage={0: 0xD0204ECEAA9950CAEA0162FE07FD1DC84D1244E9}, - ), - Address("0x63c0e98de8f3816f46eaefe7f8797dbcdaa01ff8"): Account( - storage={0: 0xE2D49548EF5ACACE79D3AA334FBDA460A0662EFC}, - ), - Address("0x63c7a6d6988214080daca01dd8fa02ba7143e86c"): Account( - storage={0: 0xE60264D9EC4D7C93F8CFB6B1F47ECAE4C099A3C2}, - ), - Address("0x63db02c046296069b0c31419b1549f4e27e59cac"): Account( - storage={0: 0x678E131646361F7722BE1D0CDFD0A4E79767F2F8}, - ), - Address("0x647123dbfb8f16b4dd98fac0e86d8e780f4aefe8"): Account( - storage={0: 0x9B6263A8F6B9C8EB400EA447AD7F66102047D500}, - ), - Address("0x6473f78ce5e4e31a7057ef32b70dcb9e3afd1d86"): Account( - storage={0: 0x24A18B9FFE06EDC928EB9037EF40C9B24349D9EB}, - ), - Address("0x64a3e2a2ea958c6647add08ad95b9ab6972fb558"): Account( - storage={0: 0xA6CA5F3180992A52CA65843E9922BAA1E715A14B}, - ), - Address("0x6559462bb07df725d804c6c3eb11f86488cb8f34"): Account( - storage={0: 0x2B26FAC300D8A9BAB12C79D8374726AF0E2EEC14}, - ), - Address("0x66e84b7af7d89cf1e05b902eb34fa4a75fb4371b"): Account( - storage={0: 0x1F1AF23E708F4720910CB4CA9F83EF0188A23F0B}, - ), - Address("0x66fddf0c330ee5edcb4854883d27e9e01213de2c"): Account( - storage={0: 0xBC15FCEA3ABF3EDD959316D68EF6C6C01611869F}, - ), - Address("0x678e131646361f7722be1d0cdfd0a4e79767f2f7"): Account( - storage={0: 0xF41ADF0227F6556206527E96F729CF6260FBEBE0}, - ), - Address("0x683013d2114cae8b41473ca318267c7db219b89f"): Account( - storage={0: 0xCCC2223346B6FF188191B5AB747E75AC90388A37}, - ), - Address("0x68610b9db9ea182ff1921fab9863150d1849c5f5"): Account( - storage={0: 0x93321908D7923818D3CAEDBA4FE206138DC9C322}, - ), - Address("0x687dccb33dc4dfa5e5dea197c151095a4e19fdd2"): Account( - storage={0: 0xE53E22D617F23DA57FB232DEE4F8AFA03B5960A2}, - ), - Address("0x6965235e025001fb620d441803fedb005f7ac710"): Account( - storage={0: 0x283B585BA5BC85D64A99CB5ECB9A8495AC944949}, - ), - Address("0x69ad22b81f58d128a7736328fdac92d7dfd63cee"): Account( - storage={0: 0x13E0F4C536FC64DC3B82FA9055F717783566A99F}, - ), - Address("0x6a49ef58af93afcda6eb267bb7f082b36868771a"): Account( - storage={0: 0xDF71363D94E67DE4BC54EBAE9A5DDCADFB4BE71B}, - ), - Address("0x6b61d79d8680a739ac957dc2309a722b8d587d86"): Account( - storage={0: 0x138DE55AD30A7E72B8D19A27048203C0297A7751}, - ), - Address("0x6b6856673ca8777e1e08b9448f3dcc902c7656e4"): Account( - storage={0: 0x2CEC8E078D4F0B40547DB5134AF753177AFB7158}, - ), - Address("0x6c36ae21a70aecc27860c44f7424dfc409d56a44"): Account( - storage={0: 0x15533643DF9A543582DE7D814E1CD06C8D93CE74}, - ), - Address("0x6e6ab35a1c5454676d10e4e1f462030bb4dc00d7"): Account( - storage={0: 0xFB2413A3EBE46BEEB6CE7350F7A0110AED31FAFA}, - ), - Address("0x6e6ed53d9520671e00646b51160cc7ba65dc7ae3"): Account( - storage={0: 0x15FC611579B182F9EDDAF3662514C999974BED3}, - ), - Address("0x705055cea2b5eead57e7f2b2451bd151f692259a"): Account( - storage={0: 0xE878AD7340C78CA7A62AD9FC0CA05A00368D5705}, - ), - Address("0x7262c537e8b7c65f5fb1183478d802c05e847c89"): Account( - storage={0: 0x8142D2FE5B473E4819D9477F93D137C4FC03ACB9}, - ), - Address("0x72a2277942502b64d1b9d7273f3e0bf70c9959af"): Account( - storage={0: 0x8AA608FF16F8B19413561959D8C221BD2C13408B}, - ), - Address("0x72d03f30e5e592eba13e4f38a578e7bb37001ac3"): Account( - storage={0: 0x78FCF5F2A71A260B50B04EFE2FEEDE4A4155F43}, - ), - Address("0x7360e396473716a4fb94022e3b5fe49ac5efd988"): Account( - storage={0: 0xE24B78E82B9F3052FAE947427821B8BFC9E58181}, - ), - Address("0x73714e7e266d879bafd2cb37528e2169cb508513"): Account( - storage={0: 0x66FDDF0C330EE5EDCB4854883D27E9E01213DE2D}, - ), - Address("0x74298cb3d811abc2a7cabee9aaf9e32d1f0dda46"): Account( - storage={0: 0x8600FB81735E28330DD83B581F8FD160C4C7F7E6}, - ), - Address("0x74ace49be181f5733c773d34e1f0a4a651cb4c87"): Account( - storage={0: 0x8BE0154A131C2E2296748939688B11C3A9330A5E}, - ), - Address("0x74db82093ec212c48163e5cc87c62842d4f0298f"): Account( - storage={0: 0xA0A40E0CE528A8924656630E2C85FAAD3B20E763}, - ), - Address("0x74e34b17132ede1d8c0f02b06954a19d0bda0a00"): Account( - storage={0: 0x9B0FB1E205C2C42F0BFE448FFE62CF16959EEDE1}, - ), - Address("0x759101d9f01353039f5785449cf3eaf8c5f2b50b"): Account( - storage={0: 0x910C972A81E9A2D07EA2D582103703FA5C1E6E64}, - ), - Address("0x75a2a617b94f78ecfff896fc7d7a55c8a000b148"): Account( - storage={0: 0xAB9BBC26A4438D3C46652F51CC78516CC875790A}, - ), - Address("0x782cc3ff4fd6be97eca0737e6772f96731cb75b2"): Account( - storage={0: 0x9E4E90382B3D41CD05242850AB52F2066E944FCC}, - ), - Address("0x7840b2c702362fd49bed617e921503950a1dce07"): Account( - storage={0: 0x74298CB3D811ABC2A7CABEE9AAF9E32D1F0DDA47}, - ), - Address("0x788be3440d2c6fd3d071c54c503cfa485813924f"): Account( - storage={0: 0xCC78E0755E700914CC0082D847836FE20FBABACD}, - ), - Address("0x78e4c25b1965b3027e42c8be47c912bcf7343dca"): Account( - storage={0: 0x7840B2C702362FD49BED617E921503950A1DCE08}, - ), - Address("0x7960e69b2bfda2f03bacdacdd87e3042223eb9db"): Account( - storage={0: 0xDB7A5D82B82F7FE75AF931F626740BD651B1713D}, - ), - Address("0x799be994d950d06c04996073ea4494dd2a0a438e"): Account( - storage={0: 0xAD8FC1A395DB2C84E5B943C19D9977CF29F2BA05}, - ), - Address("0x79f1fdc03b73036a99412bf37dc7bb535ca65002"): Account( - storage={0: 0xF4F5CF7567448A171B08D58C9FCFC8C1ACC0AAA}, - ), - Address("0x7a5601bc727e42164cab285c9f7cab96d434e14a"): Account( - storage={0: 0x88F2ABF6A3FB18F836F2B69D368162244331A036}, - ), - Address("0x7aca2ed7a1e6f7b82f47a6b20607819f15007ebf"): Account( - storage={0: 0x4D439E47505B6556114B968A9EB09A09C8074199}, - ), - Address("0x7b43a066271d7ef10f66f8c652064db040c8fa8c"): Account( - storage={0: 0x3BD18E0F7E4D743565DACC89D36FAA37C70BBB42}, - ), - Address("0x7bbde03011a48d70bcc79c120c28177d1c7667d5"): Account( - storage={0: 0x3B1D2E5CB2F280A25AFDDEFB35CBCE1754421342}, - ), - Address("0x7e495061f514448f3dd51bb0cf909eef3c3f4712"): Account( - storage={0: 0xB1FE911ACF07CC8107D984408A443C5AF42389E1}, - ), - Address("0x7e641e26dfac957ede0a2b9ca358ea9082150051"): Account( - storage={0: 0xB3A36932E89006258CD41594A66FD217465AA0FB}, - ), - Address("0x7f16b98de9de619a80a6cbd8721896f9870b01ca"): Account( - storage={0: 0x551B0315698442787A7791CCFAEE559FA18480A6}, - ), - Address("0x80bf7cc16403098d8db95ef9f802b168337aff8b"): Account( - storage={0: 0xA60EBC9287019330B003770EC548FB7F38D3A021}, - ), - Address("0x812f8f7534d22508b43fc38e7679a3c5756d8e42"): Account( - storage={0: 0x8EC4B51809EB738F7BBBAC138F5F33FBF9CA46D9}, - ), - Address("0x8142d2fe5b473e4819d9477f93d137c4fc03acb8"): Account( - storage={0: 0xB90320DE803C40F7A1EE25482C4758C908872250}, - ), - Address("0x81b7c9ad8bf567196485da9d114dfc8eb77cd426"): Account( - storage={0: 0x552CB7EF312124663550F57D159FE2D03A05EF6A}, - ), - Address("0x81cd35ac42bc6c520c5c41640dec4c9a3a9de9d1"): Account( - storage={0: 0x705055CEA2B5EEAD57E7F2B2451BD151F692259B}, - ), - Address("0x8200a1966873be093601ab0ed1b06d7297307834"): Account( - storage={0: 0xDD03B49D9974CA4EEE27114F78463675BA13CE3D}, - ), - Address("0x825ffa59b7cd20192e871732df014067950a339c"): Account( - storage={0: 0xC8CBD95130A1E15BD93C9BF678FDFE4E4B04C147}, - ), - Address("0x84dd24d594f6d2d7991b7fcc96cb3dbe15396aaf"): Account( - storage={0: 0xA63723E01E6BD3D3CFB739EBB745E5BE82571D3C}, - ), - Address("0x854a2da430c3b5657ff41b9c3cbd5fc72525d31f"): Account( - storage={0: 0x60A9BF51B795423799851FDD8671858554886416}, - ), - Address("0x854c4f512b9ecc17467e602f6512496a89d5705c"): Account( - storage={0: 0x8A1137C56E3E63637336431B883D5AE8008A4FBF}, - ), - Address("0x8600fb81735e28330dd83b581f8fd160c4c7f7e5"): Account( - storage={0: 0x5F630AA382BD9CD2E33754130A500DB2DC0109F3}, - ), - Address("0x86f8ac4309c8386f45df0fb9658ee6c0abe59154"): Account( - storage={0: 0x295CAC445BFAC8CB2244BC70CDB32D99594D47E4}, - ), - Address("0x870080f904af2582e08624580c2e0b69f261ff21"): Account( - storage={0: 0xF1F45715A43FEF3AD11AAF60910E0FD0ED2B3FEB}, - ), - Address("0x872d846f9cfd4e4a80106a89f75a79105b8a18e0"): Account( - storage={0: 0x4C356BCBB80F0903FB14144A2040FFB35FC15FBD}, - ), - Address("0x88f2abf6a3fb18f836f2b69d368162244331a035"): Account( - storage={0: 0x29BA5A51398AB1B9A6E68F9AFE8A08C301E098F1}, - ), - Address("0x8a1137c56e3e63637336431b883d5ae8008a4fbe"): Account( - storage={0: 0xEEE14F748174F224761D6BE0A65DD4CB4CFB8FEE}, - ), - Address("0x8a26224559ea93f4eb25c5d7a9df4ca7bcadebbc"): Account( - storage={0: 0x1EC3BF52D870E0226044C2C0E84F0CD2883BBD93}, - ), - Address("0x8a59b09be87866145ecf0506298de203b1d10cb9"): Account( - storage={0: 0xE3DF7661083A3BCC1F459826AA8936831A90B985}, - ), - Address("0x8aa608ff16f8b19413561959d8c221bd2c13408a"): Account( - storage={0: 0xBA6933CEFFD2FB8D9DEA6B18817108E44F32AE95}, - ), - Address("0x8ae3c9da496eea395020df847f542f9d6af31310"): Account( - storage={0: 0xB22C14D45949E3B53947B6C7FCC5132C8B041381}, - ), - Address("0x8be0154a131c2e2296748939688b11c3a9330a5d"): Account( - storage={0: 0x79F1FDC03B73036A99412BF37DC7BB535CA65003}, - ), - Address("0x8cf4d1a905bb50ffbaaf359e63fb7cdf0dc33428"): Account( - storage={0: 0xD27CAF5F748DC645C35BFB970494E3DA492BF97D}, - ), - Address("0x8ec4b51809eb738f7bbbac138f5f33fbf9ca46d8"): Account( - storage={0: 0xFB79E8D788245FDF3328E3B74FAD52EFF821481E}, - ), - Address("0x8ed58354ec6fd381d608771c3eeff99b1422b840"): Account( - storage={0: 0xC3F7AB15F0973E66575BC8B987435B78E541442D}, - ), - Address("0x8fa40127106dbf70f7931ddd510e2f0211dfd15d"): Account( - storage={0: 0x61B1EF6EC7572D0837A557A5D673D95D645CB8B}, - ), - Address("0x8fd38e52d47dcb6cf8252e3ceb99ab2fa983cb1d"): Account( - storage={0: 0x5F76726986912C1FBDA22DB3AAFDD295DC833AB}, - ), - Address("0x8fe5d9c1ce55fb9d72ad33d25d46758ecbd9f806"): Account( - storage={0: 0x3435A3A9C7A82796BE5C2BF306E39132482B146B}, - ), - Address("0x90f7031246d07c171c746ca8d0b5ac0c4a3b8bd1"): Account( - storage={0: 0xDAF24907563344E025B30BAA8AA25E4B4C37EAF5}, - ), - Address("0x90f83fce5fb9bbecb55981c96f223f044786c40d"): Account( - storage={0: 0xB08FE65DB809F8EFA5BB5CF2FD2D2A1F45F7C453}, - ), - Address("0x910c972a81e9a2d07ea2d582103703fa5c1e6e63"): Account( - storage={0: 0x1C38FAE029602412D3789F348541577249BEE124}, - ), - Address("0x91a66cb6ea7854ca76ca6bcb6441e801dd04657f"): Account( - storage={0: 0x153629EA98627274192FA275A6A9AD20191AB04}, - ), - Address("0x91ed00a0a906270d466af043c4e111dadca970a3"): Account( - storage={0: 0xB679828FA6040990410B3282E916BFBD6C74F891}, - ), - Address("0x9212a0150ffaecc685aff0e94d15e75d8079c527"): Account( - storage={0: 0x14A6985982A43B5FCC2046C3D5BA3622E5CA00D3}, - ), - Address("0x923945f4390ee06a73a80c1f56f979f7959755df"): Account( - storage={0: 0xEC51D36BE1C8FD3FF3C74210E408A8710163CEB9}, - ), - Address("0x93321908d7923818d3caedba4fe206138dc9c321"): Account( - storage={0: 0x7A5601BC727E42164CAB285C9F7CAB96D434E14B}, - ), - Address("0x94f69c9e63cf82c2f3a04943b4c57909d99397e5"): Account( - storage={0: 0xD5A313463930D740250C19F53D6EA3FE596D18AA}, - ), - Address("0x953fe148abf5e5d1b957446919f7d460fb8e0e04"): Account( - storage={0: 0xAFB048240716CB7C59AA3322A6845AB7250080A8}, - ), - Address("0x9586ce20c98a913a4ce397ff5d9443de21df9f04"): Account( - storage={0: 0x8E3FFDC8D29AF262542744F4D400983FE31C591}, - ), - Address("0x964b8be9139d7c7100e34018979d17d83005748b"): Account( - storage={0: 0xD25F4F651D67B188B5AD87D9976B02585C2F3116}, - ), - Address("0x98f02c7f4f6f0c1ad8bff7411e07af88404ccfa2"): Account( - storage={0: 0x4163459A50D3F33505101C03A67798D9AAFF86A8}, - ), - Address("0x996d22e0533ff751ab345656c14a5159df187211"): Account( - storage={0: 0x6B61D79D8680A739AC957DC2309A722B8D587D87}, - ), - Address("0x9aae8b11a923f49fcab42904f8c6759fcbad37f9"): Account( - storage={0: 0xB650ECFE63D1F0CD6FA262334621F60B09EF1598}, - ), - Address("0x9b0fb1e205c2c42f0bfe448ffe62cf16959eede0"): Account( - storage={0: 0x8200A1966873BE093601AB0ED1B06D7297307835}, - ), - Address("0x9b5b0f5d4e3ebc57965b4bb63d9ffca825eb8cc6"): Account( - storage={0: 0xC11AC6E735399CCC13F277B7E0D14ACCFCBDFD5D}, - ), - Address("0x9b6263a8f6b9c8eb400ea447ad7f66102047d4ff"): Account( - storage={0: 0xB9EE042A78FF660DA0C6BD6FEE0B2E22B414C04}, - ), - Address("0x9bcc019a0001b920dbf169c44d1fb6896e223254"): Account( - storage={0: 0xE9A9082E1EEE305D59B35C5D0A4FBECCDEDFD9BD}, - ), - Address("0x9e4e90382b3d41cd05242850ab52f2066e944fcb"): Account( - storage={0: 0xF0350F749F60C4700F1BB72E4757D424137DBCE7}, - ), - Address("0x9e9c39c1f8f48a4c7d92d2bead877287715d3ef1"): Account( - storage={0: 0xD8C4C59E7CC8FDE66A855D1FC636F8DF05E38103}, - ), - Address("0x9f21fb734cd0e961d27de46f5fd806e7fb8e96cd"): Account( - storage={0: 0x72D03F30E5E592EBA13E4F38A578E7BB37001AC4}, - ), - Address("0xa0a40e0ce528a8924656630e2c85faad3b20e762"): Account( - storage={0: 0x6252860664C6175B92453FBC567A66251F764854}, - ), - Address("0xa2998816bc7b076ae2573878d1d8e599223652a5"): Account( - storage={0: 0x6E6ED53D9520671E00646B51160CC7BA65DC7AE4}, - ), - Address("0xa563d05cdf426b6dcc4353ebae2acd475b854c8b"): Account( - storage={0: 0xC0427BDC9EC7678C5BFD7A55C2E71F084E02016E}, - ), - Address("0xa60ebc9287019330b003770ec548fb7f38d3a020"): Account( - storage={0: 0x6224DFBAF1CCCBE1F486789567EC41B633FE7563}, - ), - Address("0xa63723e01e6bd3d3cfb739ebb745e5be82571d3b"): Account( - storage={0: 0x57906C3C5EC33E754F23DDEFE0CF9E80E9170DBD}, - ), - Address("0xa6ca5f3180992a52ca65843e9922baa1e715a14a"): Account( - storage={0: 0x606AB504D721676914E421C96C9C9907FA329387}, - ), - Address("0xa9150d0b2a6611206daab64ef804dcec594ef5f9"): Account( - storage={0: 0x359D51CF93B31DE8B40707B6C1B22F8F1B70A337}, - ), - Address("0xa95abf1f117ec9cba5da9412ab5776299f19c9cc"): Account( - storage={0: 0x9F21FB734CD0E961D27DE46F5FD806E7FB8E96CE}, - ), - Address("0xaa0a91be8c06c9ba16ce1ce5836941e920ca9af9"): Account( - storage={0: 0x759101D9F01353039F5785449CF3EAF8C5F2B50C}, - ), - Address("0xab9bbc26a4438d3c46652f51cc78516cc8757909"): Account( - storage={0: 0x6B6856673CA8777E1E08B9448F3DCC902C7656E5}, - ), - Address("0xac2d104f5688a6d5c4498132f916602e4af9254b"): Account( - storage={0: 0x44392AA670F14348E65EAACE495FE52FB1F0276D}, - ), - Address("0xaca4bb8422d054c48dc6b614cd712eb7cb25fb8d"): Account( - storage={0: 0x9BCC019A0001B920DBF169C44D1FB6896E223255}, - ), - Address("0xacfd156153124afdbc8a9404d3aa431e6621e59e"): Account( - storage={0: 0x647123DBFB8F16B4DD98FAC0E86D8E780F4AEFE9}, - ), - Address("0xad8fc1a395db2c84e5b943c19d9977cf29f2ba04"): Account( - storage={0: 0xD2261C1645CBBD7422CC42C8F317BFE74053A495}, - ), - Address("0xadcc47cd626cc70a6326f9858e889932aec7487c"): Account( - storage={0: 0x14AEF68E79D441E5D9FA6A397C8EA11FDAA111C9}, - ), - Address("0xae3fe33dc09c697bfb635c9ab4bf8f0bf426467f"): Account( - storage={0: 0x8A59B09BE87866145ECF0506298DE203B1D10CBA}, - ), - Address("0xaeec6641cb72fb4f1839cf9df13fa59b80d91e33"): Account( - storage={0: 0x7ACA2ED7A1E6F7B82F47A6B20607819F15007EC0}, - ), - Address("0xafb048240716cb7c59aa3322a6845ab7250080a7"): Account( - storage={0: 0x10B3A8C098467317D86D530931B7424DD8A74F3D}, - ), - Address("0xb0117629d3e337ac0f2937b29d4c913bda81d962"): Account( - storage={0: 0x72A2277942502B64D1B9D7273F3E0BF70C9959B0}, - ), - Address("0xb08fe65db809f8efa5bb5cf2fd2d2a1f45f7c452"): Account( - storage={0: 0x576CFEFD063104A0E03717593A425E69863B1737}, - ), - Address("0xb0e9e2634bfacae0505f803d5507d5afaeb78d84"): Account( - storage={0: 0x3E705425914E5043A7FE28A422494FBDDD1FA0B8}, - ), - Address("0xb0f2564f0a4cb0d593a648d256b69b4ecdaa036a"): Account( - storage={0: 0xE18C58DD8E5F9A3E0711112D5393563586E63320}, - ), - Address("0xb16dd4f11693f1157aec4a982de406463bb2b714"): Account( - storage={0: 0x63DB02C046296069B0C31419B1549F4E27E59CAD}, - ), - Address("0xb1aa49d81f87a70ead4809b17ebbc7c8ac43089c"): Account( - storage={0: 0x8CF4D1A905BB50FFBAAF359E63FB7CDF0DC33429}, - ), - Address("0xb1fe911acf07cc8107d984408a443c5af42389e0"): Account( - storage={0: 0xFA39C0440BDB586AB891B5B0A2DB29D81C2068FA}, - ), - Address("0xb22c14d45949e3b53947b6c7fcc5132c8b041380"): Account( - storage={0: 0x41C744F06610636C5F3A78ACF7019671046BBB18}, - ), - Address("0xb3a36932e89006258cd41594a66fd217465aa0fa"): Account( - storage={0: 0x58660D7C9E7B1D306DBF86FA4C975EB9E9A25453}, - ), - Address("0xb4bd0b1eb4ea1c0730a80a3c635c2ca2995d83cf"): Account( - storage={0: 0x81B7C9AD8BF567196485DA9D114DFC8EB77CD427}, - ), - Address("0xb52eaef155fa7e16b29c6d65342567f71d6501f3"): Account( - storage={0: 0x2ECCFDA404DEE5308012197C894B86789921CA31}, - ), - Address("0xb5cb668cdf8a1bf46fd5baadfb7ae5e0271879c0"): Account( - storage={0: 0xB0E9E2634BFACAE0505F803D5507D5AFAEB78D85}, - ), - Address("0xb5cd7c146eadd4dd6788a453c8ea2db89df35b06"): Account( - storage={0: 0xCD1B84945F85266BC3EAF65C3C2D6FE47521353A}, - ), - Address("0xb650ecfe63d1f0cd6fa262334621f60b09ef1597"): Account( - storage={0: 0x2EA5D28DEEA6FD475333F03590FADB6A29514937}, - ), - Address("0xb651a1e8312709eae2dc95103bbe7fca9e6e3573"): Account( - storage={0: 0x420D3EBD21AC77B879FF7D60D91A4178D88DA387}, - ), - Address("0xb679828fa6040990410b3282e916bfbd6c74f890"): Account( - storage={0: 0x6965235E025001FB620D441803FEDB005F7AC711}, - ), - Address("0xb83f1b5b2f0fb059368e680b040b1dc118db2586"): Account( - storage={0: 0xB52EAEF155FA7E16B29C6D65342567F71D6501F4}, - ), - Address("0xb90320de803c40f7a1ee25482c4758c90887224f"): Account( - storage={0: 0x35ED71279933C3412F3277B383D1F8ED491D0197}, - ), - Address("0xb94539ff043ed6f9e56e2a06ca170f05013d23a8"): Account( - storage={0: 0xF64C3EF1B6468D63C6119D7BA03E10196B8585A9}, - ), - Address("0xba6933ceffd2fb8d9dea6b18817108e44f32ae94"): Account( - storage={0: 0x7960E69B2BFDA2F03BACDACDD87E3042223EB9DC}, - ), - Address("0xba80321b067a71fc689104a602a589634a5f76cc"): Account( - storage={0: 0xCCF9F53823C1162DF56358DB1B8389C5DF3D2119}, - ), - Address("0xbabbd30645c383315b3f157d518ab54f22465ab2"): Account( - storage={0: 0x7BBDE03011A48D70BCC79C120C28177D1C7667D6}, - ), - Address("0xbad86da28de3a7d068479aa21c26bd0cef848adf"): Account( - storage={0: 0xFAD1CC360B83E277C5DF214536A634CBEC266A1C}, - ), - Address("0xbbc2aea32a7763bf59ea9157274f20e73c47210d"): Account( - storage={0: 0x2C0B3F7EBA30E844978DD6A58127CCA7FA9DD32A}, - ), - Address("0xbc15fcea3abf3edd959316d68ef6c6c01611869e"): Account( - storage={0: 0x996D22E0533FF751AB345656C14A5159DF187212}, - ), - Address("0xbc1ad174b38e4a427dcf903c04c1db5862bd1130"): Account( - storage={0: 0x4BDD7BA923660706078F4F1B5F11B3EF68267F8D}, - ), - Address("0xbd5649faf8bcc002dc4a58e3a58dc0ff4413e20d"): Account( - storage={0: 0x6559462BB07DF725D804C6C3EB11F86488CB8F35}, - ), - Address("0xc0427bdc9ec7678c5bfd7a55c2e71f084e02016d"): Account( - storage={0: 0x89A70486F0CC448C7E5AC2BA11A9F71B970808F}, - ), - Address("0xc11ac6e735399ccc13f277b7e0d14accfcbdfd5c"): Account( - storage={0: 0x3043FE71FFBC8CC57FC0E4373B9A2106DFA64403}, - ), - Address("0xc1c10fad7c38dca307a3623fb8a78b8c191d7bd8"): Account( - storage={0: 0xFECCDB40B5DBCD1993AA688E95A183B40ED76A06}, - ), - Address("0xc3e5e4000ed488092bd820cf94d0a52e7a072e37"): Account( - storage={0: 0xACA4BB8422D054C48DC6B614CD712EB7CB25FB8E}, - ), - Address("0xc3f7ab15f0973e66575bc8b987435b78e541442c"): Account( - storage={0: 0x504EE43710737CF77785CFA9774C812584C4097A}, - ), - Address("0xc50549cd84f0f605f2787c3861c80db90af82e95"): Account( - storage={0: 0x84DD24D594F6D2D7991B7FCC96CB3DBE15396AB0}, - ), - Address("0xc514bbdbe823fe790b5fadbafd713452c4664051"): Account( - storage={0: 0xF46269856DA75AE565825A9795CE581DE90047DB}, - ), - Address("0xc54066516aee09a32006c21475dfe31b6c06b41c"): Account( - storage={0: 0xB94539FF043ED6F9E56E2A06CA170F05013D23A9}, - ), - Address("0xc750f2459a31030bc412e28d6b8ac9920bd5af5e"): Account( - storage={0: 0x8ED58354EC6FD381D608771C3EEFF99B1422B841}, - ), - Address("0xc77a90da618a4b5066b130e6ba2934e70f78183c"): Account( - storage={0: 0xC750F2459A31030BC412E28D6B8AC9920BD5AF5F}, - ), - Address("0xc8cbd95130a1e15bd93c9bf678fdfe4e4b04c146"): Account( - storage={0: 0xFD6287DEB8F1D10BDB5CA199AF8F8129A6443894}, - ), - Address("0xc928a97a6e85c0a06e6d7bc17aea51059acc533b"): Account( - storage={0: 0xC77A90DA618A4B5066B130E6BA2934E70F78183D}, - ), - Address("0xcbaf2598fc92602ba5debac6782965149d2d371e"): Account( - storage={0: 0x270FB896F474137CC0A51AC5CFA01E01994DA982}, - ), - Address("0xcc78e0755e700914cc0082d847836fe20fbabacc"): Account( - storage={0: 0x6A49EF58AF93AFCDA6EB267BB7F082B36868771B}, - ), - Address("0xcc7da81f5f8612dc269b8acc1db3327100597646"): Account( - storage={0: 0x74ACE49BE181F5733C773D34E1F0A4A651CB4C88}, - ), - Address("0xccc2223346b6ff188191b5ab747e75ac90388a36"): Account( - storage={0: 0x1D9CB40FA087E41CB84A4D56AD104226E3D6F019}, - ), - Address("0xccee3bdd325f22421d250412d7d6edff7c1b9ceb"): Account( - storage={0: 0x63C7A6D6988214080DACA01DD8FA02BA7143E86D}, - ), - Address("0xccf9f53823c1162df56358db1b8389c5df3d2118"): Account( - storage={0: 0x7D4C830BA3D7B13DD3435B6A9DE7F2BDCF90BC8}, - ), - Address("0xcd1b84945f85266bc3eaf65c3c2d6fe475213539"): Account( - storage={0: 0x7262C537E8B7C65F5FB1183478D802C05E847C8A}, - ), - Address("0xd0204eceaa9950caea0162fe07fd1dc84d1244e8"): Account( - storage={0: 0x63C0E98DE8F3816F46EAEFE7F8797DBCDAA01FF9}, - ), - Address("0xd2261c1645cbbd7422cc42c8f317bfe74053a494"): Account( - storage={0: 0xD3A7D8EBC95C90CC78DE4BA3D795AAA2FE444D5C}, - ), - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={0: 0x91ED00A0A906270D466AF043C4E111DADCA970A4}, - ), - Address("0xd25f4f651d67b188b5ad87d9976b02585c2f3115"): Account( - storage={0: 0xCCEE3BDD325F22421D250412D7D6EDFF7C1B9CEC}, - ), - Address("0xd27caf5f748dc645c35bfb970494e3da492bf97c"): Account( - storage={0: 0xE33483CADE7BA1732161F33EDF083CB797B576B2}, - ), - Address("0xd28566158cfa53f25ef6228228a227a8700b6882"): Account( - storage={0: 0xF66EF7EC17F226C5AF3AF4F6DED9C6A9539F1FBD}, - ), - Address("0xd3a7d8ebc95c90cc78de4ba3d795aaa2fe444d5b"): Account( - storage={0: 1}, - ), - Address("0xd41572cab02800c2dc729a8d03332f572de96276"): Account( - storage={0: 0xC3E5E4000ED488092BD820CF94D0A52E7A072E38}, - ), - Address("0xd454705bbb4750ff5d62cbf2a5134d02b272db16"): Account( - storage={0: 0x6C36AE21A70AECC27860C44F7424DFC409D56A45}, - ), - Address("0xd4c40012e56397cf9ee6f19e278ab28fabd9ad9b"): Account( - storage={0: 0x9212A0150FFAECC685AFF0E94D15E75D8079C528}, - ), - Address("0xd4f5a4a0a9770c53e8a43e80dfddfe30ddc67a2a"): Account( - storage={0: 0x3B30E6DCCE89E39590901B797C16935F14CFE7E}, - ), - Address("0xd5a313463930d740250c19f53d6ea3fe596d18a9"): Account( - storage={0: 0x1E22452E40C125D338CA6B53C49773DA2E3760EC}, - ), - Address("0xd85fdff87cf6d94195cf56b5e9ad410e936ac124"): Account( - storage={0: 0x563ECE055F8043C2FA7EAE79F85A5974E2459AE}, - ), - Address("0xd8c4c59e7cc8fde66a855d1fc636f8df05e38102"): Account( - storage={0: 0xFF10977181344B4AF1385688B8E9A4FB6848D0D0}, - ), - Address("0xda27862cfde315dd4db961ae77d0e70eaf09c36a"): Account( - storage={0: 0x3846F21BBB8C38B4CCCCE0236B1F0C9E3C0D7ED3}, - ), - Address("0xda3864f09aba17cd282a26dface1e193f1611801"): Account( - storage={0: 0x98F02C7F4F6F0C1AD8BFF7411E07AF88404CCFA3}, - ), - Address("0xdaf24907563344e025b30baa8aa25e4b4c37eaf4"): Account( - storage={0: 0xEF3FB25BD47C023518E9427E300B142698B4D650}, - ), - Address("0xdb7a5d82b82f7fe75af931f626740bd651b1713c"): Account( - storage={0: 0x8AE3C9DA496EEA395020DF847F542F9D6AF31311}, - ), - Address("0xdc2b1f4f871b90b2232e02bb7a114f88831338a2"): Account( - storage={0: 0x4B503C8EA51CAA8F3617973B8068C89F787E3F37}, - ), - Address("0xdc963c747dded8c966cca2e13c10a65cf04cefc4"): Account( - storage={0: 0x8FE5D9C1CE55FB9D72AD33D25D46758ECBD9F807}, - ), - Address("0xdd03b49d9974ca4eee27114f78463675ba13ce3c"): Account( - storage={0: 0x56AAF858AF96546DF92985645D7F456C530BC0D2}, - ), - Address("0xdf1050bdf2c8617339324e68a1e6e0e102e3ca31"): Account( - storage={0: 0x39BCB9056A944F0955DBA921096BBC2EF4025943}, - ), - Address("0xdf71363d94e67de4bc54ebae9a5ddcadfb4be71a"): Account( - storage={0: 0x9586CE20C98A913A4CE397FF5D9443DE21DF9F05}, - ), - Address("0xe178ab0c8c219833cb17090483147b44af97ea73"): Account( - storage={0: 0x64A3E2A2EA958C6647ADD08AD95B9AB6972FB559}, - ), - Address("0xe18c58dd8e5f9a3e0711112d5393563586e6331f"): Account( - storage={0: 0x964B8BE9139D7C7100E34018979D17D83005748C}, - ), - Address("0xe24b78e82b9f3052fae947427821b8bfc9e58180"): Account( - storage={0: 0x78E4C25B1965B3027E42C8BE47C912BCF7343DCB}, - ), - Address("0xe2d49548ef5acace79d3aa334fbda460a0662efb"): Account( - storage={0: 0x2A8C62782A9AC9AD37CEED561522CF5279E80FEE}, - ), - Address("0xe33483cade7ba1732161f33edf083cb797b576b1"): Account( - storage={0: 0xF2680E26D01ED858391494603D73DCDA518B999E}, - ), - Address("0xe3df7661083a3bcc1f459826aa8936831a90b984"): Account( - storage={0: 0xB7CDB850B37437912005A1B54B130645242567A}, - ), - Address("0xe3e9fd3c13583a0afe10d63a0d4a83e3469dfe3d"): Account( - storage={0: 0x4BE74ED02236365B2796309E9725FB380CA539EC}, - ), - Address("0xe53a708ed6f6ef523576e12ddf568c79d25b79f7"): Account( - storage={0: 0xB0117629D3E337AC0F2937B29D4C913BDA81D963}, - ), - Address("0xe53e22d617f23da57fb232dee4f8afa03b5960a1"): Account( - storage={0: 0x870080F904AF2582E08624580C2E0B69F261FF22}, - ), - Address("0xe60264d9ec4d7c93f8cfb6b1f47ecae4c099a3c1"): Account( - storage={0: 0xE3E9FD3C13583A0AFE10D63A0D4A83E3469DFE3E}, - ), - Address("0xe66f534f19722097ca4296330805aa61c330a0b2"): Account( - storage={0: 0x19A0689C7C59DBBE8A569B594572ABDC7BD5C77D}, - ), - Address("0xe6b02f114be963fc082526163d31bd78b9e906f7"): Account( - storage={0: 0x799BE994D950D06C04996073EA4494DD2A0A438F}, - ), - Address("0xe878ad7340c78ca7a62ad9fc0ca05a00368d5704"): Account( - storage={0: 0x74E34B17132EDE1D8C0F02B06954A19D0BDA0A01}, - ), - Address("0xe8849b2d422c4231af55a706bcf7572f38f7a019"): Account( - storage={0: 0x1FD0C0883BD94F7A6A87A7A216359F1DBFAB7F52}, - ), - Address("0xe9a9082e1eee305d59b35c5d0a4fbeccdedfd9bc"): Account( - storage={0: 0xCC7DA81F5F8612DC269B8ACC1DB3327100597647}, - ), - Address("0xec51d36be1c8fd3ff3c74210e408a8710163ceb8"): Account( - storage={0: 0x7E495061F514448F3DD51BB0CF909EEF3C3F4713}, - ), - Address("0xecf592d553a78ea9eb580651a22d34f635a36010"): Account( - storage={0: 0x2566A11AD8AC081E7C26BA1AFFF8D1C208642F5E}, - ), - Address("0xee2618f6774250978c45b19de72dc9568eb06a13"): Account( - storage={0: 0xDA3864F09ABA17CD282A26DFACE1E193F1611802}, - ), - Address("0xeee14f748174f224761d6be0a65dd4cb4cfb8fed"): Account( - storage={0: 0x66E84B7AF7D89CF1E05B902EB34FA4A75FB4371C}, - ), - Address("0xef3fb25bd47c023518e9427e300b142698b4d64f"): Account( - storage={0: 0x74DB82093EC212C48163E5CC87C62842D4F02990}, - ), - Address("0xf0350f749f60c4700f1bb72e4757d424137dbce6"): Account( - storage={0: 0xB1AA49D81F87A70EAD4809B17EBBC7C8AC43089D}, - ), - Address("0xf05ba15908d728019c3e10a8e6f3da341ae34963"): Account( - storage={0: 0x1CF9918897600E9C9E17F7C6E2797ED8FDD8AF11}, - ), - Address("0xf0c49beea4b33147fd5d8940e30349c739b97625"): Account( - storage={0: 0x788BE3440D2C6FD3D071C54C503CFA4858139250}, - ), - Address("0xf0f5be7cfbe4ed7e2ee8c2949fdbdee6bc283620"): Account( - storage={0: 0x8FD38E52D47DCB6CF8252E3CEB99AB2FA983CB1E}, - ), - Address("0xf1f45715a43fef3ad11aaf60910e0fd0ed2b3fea"): Account( - storage={0: 0xF05BA15908D728019C3E10A8E6F3DA341AE34964}, - ), - Address("0xf22fd55ac64a4b6f96bee3771818c73341cd4d04"): Account( - storage={0: 0x854A2DA430C3B5657FF41B9C3CBD5FC72525D320}, - ), - Address("0xf2680e26d01ed858391494603d73dcda518b999d"): Account( - storage={0: 0xC514BBDBE823FE790B5FADBAFD713452C4664052}, - ), - Address("0xf41adf0227f6556206527e96f729cf6260fbebdf"): Account( - storage={0: 0xD3BC01519EE0A1216A632B99C19A06DF8017C6C}, - ), - Address("0xf46269856da75ae565825a9795ce581de90047da"): Account( - storage={0: 0xBC1AD174B38E4A427DCF903C04C1DB5862BD1131}, - ), - Address("0xf610a2a3a281686a9d78073eeb0a5f6a4619213b"): Account( - storage={0: 0xD4C40012E56397CF9EE6F19E278AB28FABD9AD9C}, - ), - Address("0xf64c3ef1b6468d63c6119d7ba03e10196b8585a8"): Account( - storage={0: 0x2FA655AC7839B95773BB43A5CA5BDD636C1C3F43}, - ), - Address("0xf66ef7ec17f226c5af3af4f6ded9c6a9539f1fbc"): Account( - storage={0: 0xB5CB668CDF8A1BF46FD5BAADFB7AE5E0271879C1}, - ), - Address("0xf89eec0743bac4cee8ee6ad04a821e09232a2fb5"): Account( - storage={0: 0x825FFA59B7CD20192E871732DF014067950A339D}, - ), - Address("0xf8ff2045b963a3dcfbcc41f79f930a96af8becc0"): Account( - storage={0: 0xC1C10FAD7C38DCA307A3623FB8A78B8C191D7BD9}, - ), - Address("0xf9a151d133c315854462c5653437e34656cfdc37"): Account( - storage={0: 0xBAD86DA28DE3A7D068479AA21C26BD0CEF848AE0}, - ), - Address("0xfa39c0440bdb586ab891b5b0a2db29d81c2068f9"): Account( - storage={0: 0x551CC3090C98D0E0A07C34E7F7219D1139FEDE7F}, - ), - Address("0xfad1cc360b83e277c5df214536a634cbec266a1b"): Account( - storage={0: 0xA3FDFC866B2404C1ED78D478482C0F5107CE777}, - ), - Address("0xfb2413a3ebe46beeb6ce7350f7a0110aed31faf9"): Account( - storage={0: 0xC54066516AEE09A32006C21475DFE31B6C06B41D}, - ), - Address("0xfb79e8d788245fdf3328e3b74fad52eff821481d"): Account( - storage={0: 0xE66F534F19722097CA4296330805AA61C330A0B3}, - ), - Address("0xfd6287deb8f1d10bdb5ca199af8f8129a6443893"): Account( - storage={0: 0x528648DCB94EC4DB2A1ADC469CC6E4AEECAB70F2}, - ), - Address("0xfeccdb40b5dbcd1993aa688e95a183b40ed76a05"): Account( - storage={0: 0x7B43A066271D7EF10F66F8C652064DB040C8FA8D}, - ), - Address("0xff10977181344b4af1385688b8e9a4fb6848d0cf"): Account( - storage={0: 0xA9150D0B2A6611206DAAB64EF804DCEC594EF5FA}, - ), + compute_create_address(address=contract_0, nonce=0): Account(nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/__init__.py b/tests/ported_static/stRefundTest/__init__.py index d93b5ad01cb..ed5367d5d71 100644 --- a/tests/ported_static/stRefundTest/__init__.py +++ b/tests/ported_static/stRefundTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stRefundTest.""" +"""Ported static tests: stRefundTest.""" # noqa: N999 diff --git a/tests/ported_static/stRefundTest/test_refund50_1.py b/tests/ported_static/stRefundTest/test_refund50_1.py index 28ef2808314..4c3dc22599e 100644 --- a/tests/ported_static/stRefundTest/test_refund50_1.py +++ b/tests/ported_static/stRefundTest/test_refund50_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund50_1. Ported from: -tests/static/state_tests/stRefundTest/refund50_1Filler.json +state_tests/stRefundTest/refund50_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund50_1Filler.json"], + ["state_tests/stRefundTest/refund50_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund50_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund50_1.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xDC4EFA209AECDD4C2D5201A419EA27506151B4EC687F14A613229E310932491B ) @@ -45,31 +46,34 @@ def test_refund50_1( gas_limit=1000000, ) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll # { [[ 1 ]] 0 [[ 2 ]] 0 [[ 3 ]] 0 [[ 4 ]] 0 [[ 5 ]] 0 } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.STOP - ), - storage={0x1: 0x1, 0x2: 0x1, 0x3: 0x1, 0x4: 0x1, 0x5: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.STOP, + storage={1: 1, 2: 1, 3: 1, 4: 1, 5: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6737eac10f0b6ff19a1c903cafc30b26752a5af4"), # noqa: E501 + address=Address(0x6737EAC10F0B6FF19A1C903CAFC30B26752A5AF4), # noqa: E501 ) pre[sender] = Account(balance=0x989680) - pre[coinbase] = Account(balance=0, nonce=1) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = { + target: Account(storage={}), + coinbase: Account(balance=0), + sender: Account(balance=0x92F810, nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund50_2.py b/tests/ported_static/stRefundTest/test_refund50_2.py index 5ff6a8fd661..ed6f0dddafc 100644 --- a/tests/ported_static/stRefundTest/test_refund50_2.py +++ b/tests/ported_static/stRefundTest/test_refund50_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund50_2. Ported from: -tests/static/state_tests/stRefundTest/refund50_2Filler.json +state_tests/stRefundTest/refund50_2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund50_2Filler.json"], + ["state_tests/stRefundTest/refund50_2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund50_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund50_2.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xDC4EFA209AECDD4C2D5201A419EA27506151B4EC687F14A613229E310932491B ) @@ -45,35 +46,36 @@ def test_refund50_2( gas_limit=1000000, ) - pre[sender] = Account(balance=0x989680) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll # { [[ 10 ]] 1 [[ 11 ]] 1 [[ 1 ]] 0 [[ 2 ]] 0 [[ 3 ]] 0 [[ 4 ]] 0 [[ 5 ]] 0 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.STOP - ), - storage={0x1: 0x1, 0x2: 0x1, 0x3: 0x1, 0x4: 0x1, 0x5: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.STOP, + storage={1: 1, 2: 1, 3: 1, 4: 1, 5: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xdd9bc2aec4f69625b8f1d9d0facb81c72e9a4d59"), # noqa: E501 + address=Address(0xDD9BC2AEC4F69625B8F1D9D0FACB81C72E9A4D59), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0x989680) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account(storage={10: 1, 11: 1}), + target: Account(storage={10: 1, 11: 1}), + coinbase: Account(balance=0), + sender: Account(balance=0x8D926C, nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund50percent_cap.py b/tests/ported_static/stRefundTest/test_refund50percent_cap.py index 8469382c35e..8aac98451c8 100644 --- a/tests/ported_static/stRefundTest/test_refund50percent_cap.py +++ b/tests/ported_static/stRefundTest/test_refund50percent_cap.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund50percent_cap. Ported from: -tests/static/state_tests/stRefundTest/refund50percentCapFiller.json +state_tests/stRefundTest/refund50percentCapFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund50percentCapFiller.json"], + ["state_tests/stRefundTest/refund50percentCapFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund50percent_cap( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund50percent_cap.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xDC4EFA209AECDD4C2D5201A419EA27506151B4EC687F14A613229E310932491B ) @@ -45,50 +46,44 @@ def test_refund50percent_cap( gas_limit=1000000, ) - pre[sender] = Account(balance=0x989680) pre[coinbase] = Account(balance=0, nonce=1) - # Source: LLL + # Source: lll # { @@1 @@2 [[ 10 ]] (EXP 2 0xff) [[ 11 ]] (BALANCE (ADDRESS)) [[ 1 ]] 0 [[ 2 ]] 0 [[ 3 ]] 0 [[ 4 ]] 0 [[ 5 ]] 0 [[ 6 ]] 0 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP(Op.SLOAD(key=0x1)) - + Op.POP(Op.SLOAD(key=0x2)) - + Op.SSTORE(key=0xA, value=Op.EXP(0x2, 0xFF)) - + Op.SSTORE(key=0xB, value=Op.BALANCE(address=Op.ADDRESS)) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x0) - + Op.STOP - ), - storage={ - 0x1: 0x1, - 0x2: 0x1, - 0x3: 0x1, - 0x4: 0x1, - 0x5: 0x1, - 0x6: 0x1, - }, + target = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SLOAD(key=0x1)) + + Op.POP(Op.SLOAD(key=0x2)) + + Op.SSTORE(key=0xA, value=Op.EXP(0x2, 0xFF)) + + Op.SSTORE(key=0xB, value=Op.BALANCE(address=Op.ADDRESS)) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x0) + + Op.STOP, + storage={1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xef67f354c8505e1056889970c3d9b5e0fe65d1e2"), # noqa: E501 + address=Address(0xEF67F354C8505E1056889970C3D9B5E0FE65D1E2), # noqa: E501 ) + pre[sender] = Account(balance=0x989680) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account( + target: Account( storage={ 10: 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 11: 0xDE0B6B3A7640000, }, ), + coinbase: Account(balance=0), + sender: Account(balance=0x8CF0A0), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund600.py b/tests/ported_static/stRefundTest/test_refund600.py index fdbee817b7b..64d950e48f0 100644 --- a/tests/ported_static/stRefundTest/test_refund600.py +++ b/tests/ported_static/stRefundTest/test_refund600.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund600. Ported from: -tests/static/state_tests/stRefundTest/refund600Filler.json +state_tests/stRefundTest/refund600Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund600Filler.json"], + ["state_tests/stRefundTest/refund600Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund600( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund600.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xDC4EFA209AECDD4C2D5201A419EA27506151B4EC687F14A613229E310932491B ) @@ -45,45 +46,39 @@ def test_refund600( gas_limit=1000000, ) - pre[sender] = Account(balance=0x989680) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll # { @@1 @@2 [[ 10 ]] (EXP 2 0xffff) [[ 11 ]] (BALANCE (ADDRESS)) [[ 1 ]] 0 [[ 2 ]] 0 [[ 3 ]] 0 [[ 4 ]] 0 [[ 5 ]] 0 [[ 6 ]] 0 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP(Op.SLOAD(key=0x1)) - + Op.POP(Op.SLOAD(key=0x2)) - + Op.SSTORE(key=0xA, value=Op.EXP(0x2, 0xFFFF)) - + Op.SSTORE(key=0xB, value=Op.BALANCE(address=Op.ADDRESS)) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x0) - + Op.STOP - ), - storage={ - 0x1: 0x1, - 0x2: 0x1, - 0x3: 0x1, - 0x4: 0x1, - 0x5: 0x1, - 0x6: 0x1, - }, + target = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.SLOAD(key=0x1)) + + Op.POP(Op.SLOAD(key=0x2)) + + Op.SSTORE(key=0xA, value=Op.EXP(0x2, 0xFFFF)) + + Op.SSTORE(key=0xB, value=Op.BALANCE(address=Op.ADDRESS)) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x0) + + Op.STOP, + storage={1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc09923e2275e4ee7822a1feb5eee1c18143575c7"), # noqa: E501 + address=Address(0xC09923E2275E4EE7822A1FEB5EEE1C18143575C7), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0x989680) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account(storage={11: 0xDE0B6B3A7640000}), + target: Account(storage={11: 0xDE0B6B3A7640000}), + coinbase: Account(balance=0), + sender: Account(balance=0x8F5CF0), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_call_a.py b/tests/ported_static/stRefundTest/test_refund_call_a.py index 4239a4d6aff..f78495153f9 100644 --- a/tests/ported_static/stRefundTest/test_refund_call_a.py +++ b/tests/ported_static/stRefundTest/test_refund_call_a.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_call_a. Ported from: -tests/static/state_tests/stRefundTest/refund_CallAFiller.json +state_tests/stRefundTest/refund_CallAFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund_CallAFiller.json"], + ["state_tests/stRefundTest/refund_CallAFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund_call_a( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_call_a.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0x752660E61324E901F7231DFAE39984F4D433A241D533838E4700925F477814FD ) @@ -45,48 +46,52 @@ def test_refund_call_a( gas_limit=1000000, ) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll # { [[ 0 ]] (CALL 5500 0 0 0 0 0 )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x157C, - address=0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - storage={0x1: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x157C, + address=0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3d72f604b4d56320853a5ece45772dbbf419f315"), # noqa: E501 + address=Address(0x3D72F604B4D56320853A5ECE45772DBBF419F315), # noqa: E501 ) pre[sender] = Account(balance=0x1312D00) - pre[coinbase] = Account(balance=0, nonce=1) - pre.deploy_contract( + # Source: lll + # { [[ 1 ]] 0 } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf4c9fc42faeda49049e3b8e2b97a17cc2fe95718"), # noqa: E501 + address=Address(0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, value=10, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B3A764000A), + coinbase: Account(balance=0), + sender: Account(balance=0x12A2AD2, nonce=1), + addr: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_call_a_not_enough_gas_in_call.py b/tests/ported_static/stRefundTest/test_refund_call_a_not_enough_gas_in_call.py index a7af069bc15..9a31197d1a1 100644 --- a/tests/ported_static/stRefundTest/test_refund_call_a_not_enough_gas_in_call.py +++ b/tests/ported_static/stRefundTest/test_refund_call_a_not_enough_gas_in_call.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_refund_call_a_not_enough_gas_in_call. Ported from: -tests/static/state_tests/stRefundTest -refund_CallA_notEnoughGasInCallFiller.json +state_tests/stRefundTest/refund_CallA_notEnoughGasInCallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRefundTest/refund_CallA_notEnoughGasInCallFiller.json", # noqa: E501 - ], + ["state_tests/stRefundTest/refund_CallA_notEnoughGasInCallFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,10 +31,10 @@ def test_refund_call_a_not_enough_gas_in_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_call_a_not_enough_gas_in_call.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( - key=0x07C857D62C76CE09F2E8EC3FA9277578C67B69C6547364568FDDB841071E5BD7 + key=0x7C857D62C76CE09F2E8EC3FA9277578C67B69C6547364568FDDB841071E5BD7 ) env = Environment( @@ -48,49 +46,52 @@ def test_refund_call_a_not_enough_gas_in_call( gas_limit=1000000, ) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll # { [[ 0 ]] (CALL 5005 0 0 0 0 0 )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x138D, - address=0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - storage={0x1: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x138D, + address=0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8329332ccfb6ae9df0412e842619fb1c989fbf48"), # noqa: E501 + address=Address(0x8329332CCFB6AE9DF0412E842619FB1C989FBF48), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) pre[sender] = Account(balance=0xF4240) - callee = pre.deploy_contract( + # Source: lll + # { [[ 1 ]] 0 } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf4c9fc42faeda49049e3b8e2b97a17cc2fe95718"), # noqa: E501 + address=Address(0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=85000, value=10, ) post = { - contract: Account(storage={1: 1}), - callee: Account(storage={1: 1}), + target: Account(storage={1: 1}, balance=0xDE0B6B3A764000A), + coinbase: Account(balance=0), + sender: Account(balance=0xA8DF4, nonce=1), + addr: Account(storage={1: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_call_a_oog.py b/tests/ported_static/stRefundTest/test_refund_call_a_oog.py index 0190091b99c..aca7b380114 100644 --- a/tests/ported_static/stRefundTest/test_refund_call_a_oog.py +++ b/tests/ported_static/stRefundTest/test_refund_call_a_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_call_a_oog. Ported from: -tests/static/state_tests/stRefundTest/refund_CallA_OOGFiller.json +state_tests/stRefundTest/refund_CallA_OOGFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund_CallA_OOGFiller.json"], + ["state_tests/stRefundTest/refund_CallA_OOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund_call_a_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_call_a_oog.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0x27B48AAA30A609C11C7ABA1CB67FC191B5B59F9FF876930F0085D5FAEF4A4824 ) @@ -45,49 +46,52 @@ def test_refund_call_a_oog( gas_limit=1000000, ) - pre[sender] = Account(balance=0x2DC6C0) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll # { [[ 0 ]] (CALL 6000 0 0 0 0 0 )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1770, - address=0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - storage={0x1: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1770, + address=0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1b98d6b82e06b90c71c779925ae5b84e28401256"), # noqa: E501 + address=Address(0x1B98D6B82E06B90C71C779925AE5B84E28401256), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) - callee = pre.deploy_contract( + pre[sender] = Account(balance=0x2DC6C0) + # Source: lll + # { [[ 1 ]] 0 } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf4c9fc42faeda49049e3b8e2b97a17cc2fe95718"), # noqa: E501 + address=Address(0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=31069, value=10, ) post = { - contract: Account(storage={1: 1}), - callee: Account(storage={1: 1}), + target: Account(storage={1: 1}, balance=0xDE0B6B3A7640000), + coinbase: Account(balance=0), + sender: Account(balance=0x29091E, nonce=1), + addr: Account(storage={1: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_call_to_suicide_no_storage.py b/tests/ported_static/stRefundTest/test_refund_call_to_suicide_no_storage.py index 2b8b01f03d1..e5b4113c10d 100644 --- a/tests/ported_static/stRefundTest/test_refund_call_to_suicide_no_storage.py +++ b/tests/ported_static/stRefundTest/test_refund_call_to_suicide_no_storage.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_call_to_suicide_no_storage. Ported from: -tests/static/state_tests/stRefundTest/refund_CallToSuicideNoStorageFiller.json +state_tests/stRefundTest/refund_CallToSuicideNoStorageFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,42 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRefundTest/refund_CallToSuicideNoStorageFiller.json", # noqa: E501 - ], + ["state_tests/stRefundTest/refund_CallToSuicideNoStorageFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000001f4", - { - Address("0x5be4b33890f720eff72be0019b122e0ff75cb937"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000000000000000000000000000000000000000010000", - { - Address("0x5be4b33890f720eff72be0019b122e0ff75cb937"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_refund_call_to_suicide_no_storage( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_refund_call_to_suicide_no_storage.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x6F0117D3E9C684C7D6E1E6B79DC3880DA2BEBE77C765B171C062FDFFD38A673F ) @@ -71,50 +71,79 @@ def test_refund_call_to_suicide_no_storage( gas_limit=100000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x5BE4B33890F720EFF72BE0019B122E0FF75CB937) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL (CALLDATALOAD 0) 0 0 0 0 0 )} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0x4FF65047CE9C85F968689E4369C10003026A41A9, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4ff65047ce9c85f968689e4369c10003026a41a9"), # noqa: E501 + address=Address(0x5BE4B33890F720EFF72BE0019B122E0FF75CB937), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (CALLDATALOAD 0) 0 0 0 0 0 )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0x4FF65047CE9C85F968689E4369C10003026A41A9, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - storage={0x1: 0x1}, + pre[sender] = Account(balance=0x2540BE400) + # Source: lll + # { (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x5BE4B33890F720EFF72BE0019B122E0FF75CB937 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5be4b33890f720eff72be0019b122e0ff75cb937"), # noqa: E501 + address=Address(0x4FF65047CE9C85F968689E4369C10003026A41A9), # noqa: E501 ) - pre[sender] = Account(balance=0x2540BE400) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 0, 1: 1}, balance=0xDE0B6B3A764000A + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 1, 1: 1}, balance=0x1BC16D674EC8000A + ), + sender: Account(nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x1F4), + Hash(0x10000), + ] + tx_gas = [10000000] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_call_to_suicide_storage.py b/tests/ported_static/stRefundTest/test_refund_call_to_suicide_storage.py index 729c88b9580..d9d88b0c1df 100644 --- a/tests/ported_static/stRefundTest/test_refund_call_to_suicide_storage.py +++ b/tests/ported_static/stRefundTest/test_refund_call_to_suicide_storage.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_call_to_suicide_storage. Ported from: -tests/static/state_tests/stRefundTest/refund_CallToSuicideStorageFiller.json +state_tests/stRefundTest/refund_CallToSuicideStorageFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,48 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRefundTest/refund_CallToSuicideStorageFiller.json", # noqa: E501 - ], + ["state_tests/stRefundTest/refund_CallToSuicideStorageFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000001f4", - { - Address("0x5be4b33890f720eff72be0019b122e0ff75cb937"): Account( - storage={1: 1} - ), - Address("0x9dea1ad5123f3d8b91cfc830b1c602597883e97c"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000000000000000000000000000000000000000010000", - { - Address("0x5be4b33890f720eff72be0019b122e0ff75cb937"): Account( - storage={0: 1, 1: 1} - ), - Address("0x9dea1ad5123f3d8b91cfc830b1c602597883e97c"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_refund_call_to_suicide_storage( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_refund_call_to_suicide_storage.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x6F0117D3E9C684C7D6E1E6B79DC3880DA2BEBE77C765B171C062FDFFD38A673F ) @@ -77,51 +71,82 @@ def test_refund_call_to_suicide_storage( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL (CALLDATALOAD 0) 0 0 0 0 0 )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0x9DEA1AD5123F3D8B91CFC830B1C602597883E97C, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - storage={0x1: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0x9DEA1AD5123F3D8B91CFC830B1C602597883E97C, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5be4b33890f720eff72be0019b122e0ff75cb937"), # noqa: E501 + address=Address(0x5BE4B33890F720EFF72BE0019B122E0FF75CB937), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x5BE4B33890F720EFF72BE0019B122E0FF75CB937) - + Op.STOP - ), - storage={0x1: 0x1}, + pre[sender] = Account(balance=0x2540BE400) + # Source: lll + # { (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x5BE4B33890F720EFF72BE0019B122E0FF75CB937 + ) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9dea1ad5123f3d8b91cfc830b1c602597883e97c"), # noqa: E501 + address=Address(0x9DEA1AD5123F3D8B91CFC830B1C602597883E97C), # noqa: E501 ) - pre[sender] = Account(balance=0x2540BE400) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 0, 1: 1}, balance=0xDE0B6B3A764000A + ), + sender: Account(nonce=1), + addr: Account(storage={0: 0, 1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 1, 1: 1}, balance=0x1BC16D674EC8000A + ), + sender: Account(nonce=1), + addr: Account(storage={1: 1}, balance=0, nonce=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x1F4), + Hash(0x10000), + ] + tx_gas = [10000000] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_call_to_suicide_twice.py b/tests/ported_static/stRefundTest/test_refund_call_to_suicide_twice.py index 991842a4db2..817d9990510 100644 --- a/tests/ported_static/stRefundTest/test_refund_call_to_suicide_twice.py +++ b/tests/ported_static/stRefundTest/test_refund_call_to_suicide_twice.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_call_to_suicide_twice. Ported from: -tests/static/state_tests/stRefundTest/refund_CallToSuicideTwiceFiller.json +state_tests/stRefundTest/refund_CallToSuicideTwiceFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,48 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRefundTest/refund_CallToSuicideTwiceFiller.json", # noqa: E501 - ], + ["state_tests/stRefundTest/refund_CallToSuicideTwiceFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000001f4", - { - Address("0x81bdbaa560b5ad52b0f9857cf4ca40b74d4b6996"): Account( - storage={1: 1} - ), - Address("0x9dea1ad5123f3d8b91cfc830b1c602597883e97c"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000000000000000000000000000000000000000010000", - { - Address("0x81bdbaa560b5ad52b0f9857cf4ca40b74d4b6996"): Account( - storage={0: 1, 1: 1} - ), - Address("0x9dea1ad5123f3d8b91cfc830b1c602597883e97c"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_refund_call_to_suicide_twice( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_refund_call_to_suicide_twice.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x6F0117D3E9C684C7D6E1E6B79DC3880DA2BEBE77C765B171C062FDFFD38A673F ) @@ -77,23 +71,12 @@ def test_refund_call_to_suicide_twice( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL (CALLDATALOAD 0) 0 0 0 0 0 ) (CALL (CALLDATALOAD 0) 0 0 0 0 0 )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0x9DEA1AD5123F3D8B91CFC830B1C602597883E97C, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.CALL( + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( gas=Op.CALLDATALOAD(offset=0x0), address=0x9DEA1AD5123F3D8B91CFC830B1C602597883E97C, value=0x0, @@ -101,36 +84,78 @@ def test_refund_call_to_suicide_twice( args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), - storage={0x1: 0x1}, + ), + ) + + Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0x9DEA1AD5123F3D8B91CFC830B1C602597883E97C, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x81bdbaa560b5ad52b0f9857cf4ca40b74d4b6996"), # noqa: E501 + address=Address(0x81BDBAA560B5AD52B0F9857CF4CA40B74D4B6996), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x81BDBAA560B5AD52B0F9857CF4CA40B74D4B6996) - + Op.STOP - ), - storage={0x1: 0x1}, + pre[sender] = Account(balance=0x2540BE400) + # Source: lll + # { (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x81BDBAA560B5AD52B0F9857CF4CA40B74D4B6996 + ) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9dea1ad5123f3d8b91cfc830b1c602597883e97c"), # noqa: E501 + address=Address(0x9DEA1AD5123F3D8B91CFC830B1C602597883E97C), # noqa: E501 ) - pre[sender] = Account(balance=0x2540BE400) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 0, 1: 1}, balance=0xDE0B6B3A764000A + ), + sender: Account(nonce=1), + addr: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 1, 1: 1}, balance=0x1BC16D674EC8000A + ), + sender: Account(nonce=1), + addr: Account(storage={1: 1}, balance=0, nonce=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x1F4), + Hash(0x10000), + ] + tx_gas = [10000000] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_change_non_zero_storage.py b/tests/ported_static/stRefundTest/test_refund_change_non_zero_storage.py index 47f64724da9..6a8453af941 100644 --- a/tests/ported_static/stRefundTest/test_refund_change_non_zero_storage.py +++ b/tests/ported_static/stRefundTest/test_refund_change_non_zero_storage.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_change_non_zero_storage. Ported from: -tests/static/state_tests/stRefundTest/refund_changeNonZeroStorageFiller.json +state_tests/stRefundTest/refund_changeNonZeroStorageFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRefundTest/refund_changeNonZeroStorageFiller.json", # noqa: E501 - ], + ["state_tests/stRefundTest/refund_changeNonZeroStorageFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_refund_change_non_zero_storage( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_change_non_zero_storage.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0x4D9FC6FDF95098986741EE78843AC52BEED77C8C801DC87BD3F04CD6BBF1A3EB ) @@ -47,27 +46,30 @@ def test_refund_change_non_zero_storage( gas_limit=1000000, ) - pre[sender] = Account(balance=0x3C336080) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll # { [[ 1 ]] 23 } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x17) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x904261b07d3a5f213bbd6fb9f3bb66f4fb65c7eb"), # noqa: E501 + address=Address(0x904261B07D3A5F213BBD6FB9F3BB66F4FB65C7EB), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0x3C336080) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=228500, value=10, ) post = { - contract: Account(storage={1: 23}), + target: Account(storage={1: 23}, balance=0xDE0B6B3A764000A), + coinbase: Account(balance=0), + sender: Account(balance=0x3C2F689A, nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_ff.py b/tests/ported_static/stRefundTest/test_refund_ff.py index a601a50bb3d..e6da1b6192c 100644 --- a/tests/ported_static/stRefundTest/test_refund_ff.py +++ b/tests/ported_static/stRefundTest/test_refund_ff.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stRefundTest/refundFFFiller.yml +state_tests/stRefundTest/refundFFFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refundFFFiller.yml"], + ["state_tests/stRefundTest/refundFFFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,12 +31,12 @@ def test_refund_ff( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3) sender = EOA( key=0xD6B0676AFDE099A078F9D00F24D2C1CB4278546E1734927015023DB0980A92C5 ) - callee = Address("0x7704d8a022a1ba8f3539fc82c7d7fb065abc0df3") env = Environment( fee_recipient=coinbase, @@ -46,28 +47,31 @@ def test_refund_ff( gas_limit=16777216, ) - pre[sender] = Account(balance=0xE8D6599218, nonce=1) - pre[callee] = Account(balance=0, nonce=1) - # Source: Yul + # Source: yul + # berlin # { # selfdestruct() # } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3) + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3 ), - address=Address("0xa45b53c7b70adf8ea2e910d0e826df8d895b2b49"), # noqa: E501 + nonce=1, + address=Address(0xA45B53C7B70ADF8EA2E910D0E826DF8D895B2B49), # noqa: E501 ) + pre[addr] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0xE8D6599218, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=2601000, - gas_price=1000, nonce=1, + gas_price=1000, + access_list=[], ) - post: dict = {} + post = {sender: Account(balance=0xE8D4A51000)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_get_ether_back.py b/tests/ported_static/stRefundTest/test_refund_get_ether_back.py index 3be85021b96..97d15c97dd6 100644 --- a/tests/ported_static/stRefundTest/test_refund_get_ether_back.py +++ b/tests/ported_static/stRefundTest/test_refund_get_ether_back.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_get_ether_back. Ported from: -tests/static/state_tests/stRefundTest/refund_getEtherBackFiller.json +state_tests/stRefundTest/refund_getEtherBackFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund_getEtherBackFiller.json"], + ["state_tests/stRefundTest/refund_getEtherBackFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund_get_ether_back( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_get_ether_back.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0x29268B0C3308094249E9A06C02739F688D492D6325CA24B36EF949E5FC20AF27 ) @@ -45,25 +46,30 @@ def test_refund_get_ether_back( gas_limit=228500, ) - pre[sender] = Account(balance=0x3CF773D0) pre[coinbase] = Account(balance=0, nonce=1) - # Source: LLL + # Source: lll # { [[ 1 ]] 0 } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf4c9fc42faeda49049e3b8e2b97a17cc2fe95718"), # noqa: E501 + address=Address(0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718), # noqa: E501 ) + pre[sender] = Account(balance=0x3CF773D0) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=228500, value=10, ) - post: dict = {} + post = { + target: Account(storage={}, balance=0xDE0B6B3A764000A), + coinbase: Account(balance=0), + sender: Account(balance=0x3CF4376A, nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_max.py b/tests/ported_static/stRefundTest/test_refund_max.py index 2d0b388c1fd..211468231e7 100644 --- a/tests/ported_static/stRefundTest/test_refund_max.py +++ b/tests/ported_static/stRefundTest/test_refund_max.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stRefundTest/refundMaxFiller.yml +state_tests/stRefundTest/refundMaxFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refundMaxFiller.yml"], + ["state_tests/stRefundTest/refundMaxFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund_max( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB5555C6F8171A6EB3C0A84ED8F01AF5CE65A85A096A824A60EE5E2C2C2E076D1 ) @@ -45,7 +46,8 @@ def test_refund_max( gas_limit=16777216, ) - # Source: Yul + # Source: yul + # berlin # { # let newVal := 0 # sstore(0x00,newVal) @@ -60,44 +62,44 @@ def test_refund_max( # // Get rid of Yul optimizations # newVal := msize() # } - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.SSTORE(key=0x0, value=Op.DUP1) - + Op.SSTORE(key=0x1, value=Op.DUP1) - + Op.SSTORE(key=0x2, value=Op.DUP1) - + Op.SSTORE(key=0x3, value=Op.DUP1) - + Op.SSTORE(key=0x4, value=Op.DUP1) - + Op.SSTORE(key=0x5, value=Op.DUP1) - + Op.SSTORE(key=0x6, value=Op.DUP1) - + Op.PUSH1[0x7] - + Op.SSTORE - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.SSTORE(key=0x0, value=Op.DUP1) + + Op.SSTORE(key=0x1, value=Op.DUP1) + + Op.SSTORE(key=0x2, value=Op.DUP1) + + Op.SSTORE(key=0x3, value=Op.DUP1) + + Op.SSTORE(key=0x4, value=Op.DUP1) + + Op.SSTORE(key=0x5, value=Op.DUP1) + + Op.SSTORE(key=0x6, value=Op.DUP1) + + Op.PUSH1[0x7] + + Op.SSTORE + + Op.STOP, storage={ - 0x0: 0x60A7, - 0x1: 0x60A7, - 0x2: 0x60A7, - 0x3: 0x60A7, - 0x4: 0x60A7, - 0x5: 0x60A7, - 0x6: 0x60A7, - 0x7: 0x60A7, + 0: 24743, + 1: 24743, + 2: 24743, + 3: 24743, + 4: 24743, + 5: 24743, + 6: 24743, + 7: 24743, }, balance=0xDE0B6B3A7640000, - address=Address("0x7e9d1ff50f8eb9591a0434abfe3230054a934124"), # noqa: E501 + nonce=1, + address=Address(0x7E9D1FF50F8EB9591A0434ABFE3230054A934124), # noqa: E501 ) pre[sender] = Account(balance=0xE8D848C3A0, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=2601000, - gas_price=1000, nonce=1, + gas_price=1000, + access_list=[], ) - post: dict = {} + post = {sender: Account(balance=0xE8D55F7E90)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_multimple_suicide.py b/tests/ported_static/stRefundTest/test_refund_multimple_suicide.py index af82e2e6523..5b88df85551 100644 --- a/tests/ported_static/stRefundTest/test_refund_multimple_suicide.py +++ b/tests/ported_static/stRefundTest/test_refund_multimple_suicide.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_multimple_suicide. Ported from: -tests/static/state_tests/stRefundTest/refund_multimpleSuicideFiller.json +state_tests/stRefundTest/refund_multimpleSuicideFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRefundTest/refund_multimpleSuicideFiller.json", # noqa: E501 - ], + ["state_tests/stRefundTest/refund_multimpleSuicideFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_refund_multimple_suicide( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_multimple_suicide.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xC69694690A07D1418B0AADFD424A00EA9F25D84B94FECEF12943DE9CD38EDE14 ) @@ -47,123 +46,120 @@ def test_refund_multimple_suicide( gas_limit=1000000, ) - pre[sender] = Account(balance=0x623A7C0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x40, value=0x60) - + Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xE0)) - + Op.JUMPI(pc=Op.PUSH2[0x31], condition=Op.EQ(Op.DUP2, 0x9E587A5)) - + Op.JUMPI(pc=Op.PUSH2[0x4D], condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x5A], condition=Op.EQ(0xDD4F1F2A, Op.DUP1)) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x2F] - + Op.SELFDESTRUCT( - address=Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.CALLER, - ), - ) - + Op.JUMPDEST - + Op.PUSH2[0xF5] - + Op.PUSH1[0x0] - + Op.PUSH2[0x109] - + Op.JUMP(pc=Op.PUSH2[0x5E]) - + Op.JUMPDEST - + Op.PUSH2[0x2F] - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.ADDRESS - + Op.SWAP1 - + Op.POP - + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP1) - + Op.PUSH4[0x9E587A5] - + Op.MLOAD(offset=0x40) - + Op.MSTORE( - offset=Op.DUP2, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP2) - ) - + Op.PUSH1[0x4] - + Op.ADD - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0x2], - condition=Op.ISZERO( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x61DA), - address=Op.DUP8, - value=0x0, - args_offset=Op.DUP2, - args_size=Op.SUB(Op.DUP4, Op.DUP1), - ret_offset=Op.MLOAD(offset=0x40), - ret_size=0x0, - ), - ), - ) - + Op.POP - + Op.PUSH1[0x40] - + Op.MLOAD(offset=Op.DUP1) - + Op.MSTORE( - offset=Op.DUP2, - value=0x9E587A500000000000000000000000000000000000000000000000000000000, # noqa: E501 + pre[coinbase] = Account(balance=0, nonce=1) + # Source: raw + # 0x606060405260e060020a600035046309e587a58114610031578063c04062261461004d578063dd4f1f2a1461005a575b005b61002f3373ffffffffffffffffffffffffffffffffffffffff16ff5b6100f5600061010961005e565b61002f5b60003090508073ffffffffffffffffffffffffffffffffffffffff166309e587a56040518160e060020a0281526004018090506000604051808303816000876161da5a03f1156100025750604080517f09e587a500000000000000000000000000000000000000000000000000000000815290516004828101926000929190829003018183876161da5a03f1156100025750505050565b604080519115158252519081900360200190f35b5060019056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x40, value=0x60) + + Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xE0)) + + Op.JUMPI(pc=Op.PUSH2[0x31], condition=Op.EQ(Op.DUP2, 0x9E587A5)) + + Op.JUMPI(pc=Op.PUSH2[0x4D], condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x5A], condition=Op.EQ(0xDD4F1F2A, Op.DUP1)) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x2F] + + Op.SELFDESTRUCT( + address=Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.CALLER ) - + Op.SWAP1 - + Op.MLOAD - + Op.PUSH1[0x4] - + Op.ADD(Op.DUP2, Op.DUP3) - + Op.SWAP3 - + Op.PUSH1[0x0] - + Op.SWAP3 - + Op.SWAP2 - + Op.SWAP1 - + Op.DUP3 - + Op.SWAP1 - + Op.SUB - + Op.ADD - + Op.DUP2 - + Op.DUP4 - + Op.DUP8 - + Op.SUB(Op.GAS, 0x61DA) - + Op.JUMPI(pc=Op.PUSH2[0x2], condition=Op.ISZERO(Op.CALL)) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x40] - + Op.MLOAD(offset=Op.DUP1) - + Op.SWAP2 - + Op.MSTORE(offset=Op.DUP3, value=Op.ISZERO(Op.ISZERO)) - + Op.MLOAD - + Op.SWAP1 - + Op.DUP2 - + Op.SWAP1 - + Op.ADD(0x20, Op.SUB) - + Op.SWAP1 - + Op.RETURN - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.JUMP - ), + ) + + Op.JUMPDEST + + Op.PUSH2[0xF5] + + Op.PUSH1[0x0] + + Op.PUSH2[0x109] + + Op.JUMP(pc=Op.PUSH2[0x5E]) + + Op.JUMPDEST + + Op.PUSH2[0x2F] + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.ADDRESS + + Op.SWAP1 + + Op.POP + + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP1) + + Op.PUSH4[0x9E587A5] + + Op.MLOAD(offset=0x40) + + Op.MSTORE(offset=Op.DUP2, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP2)) + + Op.PUSH1[0x4] + + Op.ADD + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0x2], + condition=Op.ISZERO( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x61DA), + address=Op.DUP8, + value=0x0, + args_offset=Op.DUP2, + args_size=Op.SUB(Op.DUP4, Op.DUP1), + ret_offset=Op.MLOAD(offset=0x40), + ret_size=0x0, + ) + ), + ) + + Op.POP + + Op.PUSH1[0x40] + + Op.MLOAD(offset=Op.DUP1) + + Op.MSTORE( + offset=Op.DUP2, + value=0x9E587A500000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.SWAP1 + + Op.MLOAD + + Op.PUSH1[0x4] + + Op.ADD(Op.DUP2, Op.DUP3) + + Op.SWAP3 + + Op.PUSH1[0x0] + + Op.SWAP3 + + Op.SWAP2 + + Op.SWAP1 + + Op.DUP3 + + Op.SWAP1 + + Op.SUB + + Op.ADD + + Op.DUP2 + + Op.DUP4 + + Op.DUP8 + + Op.SUB(Op.GAS, 0x61DA) + + Op.JUMPI(pc=Op.PUSH2[0x2], condition=Op.ISZERO(Op.CALL)) + + Op.POP * 4 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x40] + + Op.MLOAD(offset=Op.DUP1) + + Op.SWAP2 + + Op.MSTORE(offset=Op.DUP3, value=Op.ISZERO(Op.ISZERO)) + + Op.MLOAD + + Op.SWAP1 + + Op.DUP2 + + Op.SWAP1 + + Op.ADD(0x20, Op.SUB) + + Op.SWAP1 + + Op.RETURN + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.JUMP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8b9574e5049501f581886404adf7037002276e78"), # noqa: E501 + address=Address(0x8B9574E5049501F581886404ADF7037002276E78), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0x623A7C0) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=300000, ) - post: dict = {} + post = { + target: Account(balance=0xDE0B6B3A7640000), + coinbase: Account(balance=0), + sender: Account(balance=0x61EC43A, nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_no_oog_1.py b/tests/ported_static/stRefundTest/test_refund_no_oog_1.py index 07689ebffb1..17b04e13d68 100644 --- a/tests/ported_static/stRefundTest/test_refund_no_oog_1.py +++ b/tests/ported_static/stRefundTest/test_refund_no_oog_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_no_oog_1. Ported from: -tests/static/state_tests/stRefundTest/refund_NoOOG_1Filler.json +state_tests/stRefundTest/refund_NoOOG_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund_NoOOG_1Filler.json"], + ["state_tests/stRefundTest/refund_NoOOG_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund_no_oog_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_no_oog_1.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0x791307ECE6DFD40DF62DC66EFBC482096DD34650382AEB5D46DBEEDED66508F7 ) @@ -45,24 +46,29 @@ def test_refund_no_oog_1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xA03F70) pre[coinbase] = Account(balance=0, nonce=1) - # Source: LLL + # Source: lll # { [[ 1 ]] 0 } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf4c9fc42faeda49049e3b8e2b97a17cc2fe95718"), # noqa: E501 + address=Address(0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718), # noqa: E501 ) + pre[sender] = Account(balance=0xA03F70) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=26006, ) - post: dict = {} + post = { + target: Account(storage={}), + coinbase: Account(balance=0), + sender: Account(balance=0x9D0314, nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_oog.py b/tests/ported_static/stRefundTest/test_refund_oog.py index 93de7fa41f8..c5f1f3d0a7a 100644 --- a/tests/ported_static/stRefundTest/test_refund_oog.py +++ b/tests/ported_static/stRefundTest/test_refund_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_oog. Ported from: -tests/static/state_tests/stRefundTest/refund_OOGFiller.json +state_tests/stRefundTest/refund_OOGFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund_OOGFiller.json"], + ["state_tests/stRefundTest/refund_OOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_oog.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0x8518C6B13163F88376ADBDE956B3D6C1E4E027E25E20994C1AD0D78B8FD7FAC9 ) @@ -45,27 +46,30 @@ def test_refund_oog( gas_limit=1000000, ) - pre[sender] = Account(balance=0x7A120) pre[coinbase] = Account(balance=0, nonce=1) - # Source: LLL + # Source: lll # { [[ 1 ]] 0 } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf4c9fc42faeda49049e3b8e2b97a17cc2fe95718"), # noqa: E501 + address=Address(0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718), # noqa: E501 ) + pre[sender] = Account(balance=0x7A120) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=26005, value=10, ) post = { - contract: Account(storage={1: 1}), + target: Account(storage={1: 1}, balance=0xDE0B6B3A7640000), + coinbase: Account(balance=0), + sender: Account(balance=0x3A94E, nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_single_suicide.py b/tests/ported_static/stRefundTest/test_refund_single_suicide.py index 863ce973f8b..2896869cb47 100644 --- a/tests/ported_static/stRefundTest/test_refund_single_suicide.py +++ b/tests/ported_static/stRefundTest/test_refund_single_suicide.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_single_suicide. Ported from: -tests/static/state_tests/stRefundTest/refund_singleSuicideFiller.json +state_tests/stRefundTest/refund_singleSuicideFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund_singleSuicideFiller.json"], + ["state_tests/stRefundTest/refund_singleSuicideFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund_single_suicide( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_single_suicide.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0x2B75D0C814EB07C075FCCBDD9A036FAF651D9C46D7477D6C4F30772CFCA90D38 ) @@ -45,98 +46,95 @@ def test_refund_single_suicide( gas_limit=1000000, ) - pre[sender] = Account(balance=0x1C9C380) pre[coinbase] = Account(balance=0, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x40, value=0x60) - + Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xE0)) - + Op.JUMPI(pc=0x2E, condition=Op.EQ(Op.DUP2, 0x9E587A5)) - + Op.JUMPI(pc=0x49, condition=Op.EQ(0x2E4699ED, Op.DUP1)) - + Op.JUMPI(pc=0x9B, condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x2C] - + Op.SELFDESTRUCT( - address=Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.CALLER, - ), - ) - + Op.JUMPDEST - + Op.PUSH1[0x2C] - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.ADDRESS - + Op.SWAP1 - + Op.POP - + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP1) - + Op.PUSH4[0x9E587A5] - + Op.MLOAD(offset=0x40) - + Op.MSTORE( - offset=Op.DUP2, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP2) + # Source: raw + # 0x606060405260e060020a600035046309e587a58114602e5780632e4699ed146049578063c040622614609b575b005b602c3373ffffffffffffffffffffffffffffffffffffffff16ff5b602c5b60003090508073ffffffffffffffffffffffffffffffffffffffff166309e587a56040518160e060020a0281526004018090506000604051808303816000876161da5a03f11560025750505050565b60a5600060b9604c565b604080519115158252519081900360200190f35b5060019056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x40, value=0x60) + + Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xE0)) + + Op.JUMPI(pc=0x2E, condition=Op.EQ(Op.DUP2, 0x9E587A5)) + + Op.JUMPI(pc=0x49, condition=Op.EQ(0x2E4699ED, Op.DUP1)) + + Op.JUMPI(pc=0x9B, condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x2C] + + Op.SELFDESTRUCT( + address=Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.CALLER ) - + Op.PUSH1[0x4] - + Op.ADD - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.JUMPI( - pc=0x2, - condition=Op.ISZERO( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x61DA), - address=Op.DUP8, - value=0x0, - args_offset=Op.DUP2, - args_size=Op.SUB(Op.DUP4, Op.DUP1), - ret_offset=Op.MLOAD(offset=0x40), - ret_size=0x0, - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0xA5] - + Op.PUSH1[0x0] - + Op.PUSH1[0xB9] - + Op.JUMP(pc=0x4C) - + Op.JUMPDEST - + Op.PUSH1[0x40] - + Op.MLOAD(offset=Op.DUP1) - + Op.SWAP2 - + Op.MSTORE(offset=Op.DUP3, value=Op.ISZERO(Op.ISZERO)) - + Op.MLOAD - + Op.SWAP1 - + Op.DUP2 - + Op.SWAP1 - + Op.ADD(0x20, Op.SUB) - + Op.SWAP1 - + Op.RETURN - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.JUMP - ), + ) + + Op.JUMPDEST + + Op.PUSH1[0x2C] + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.ADDRESS + + Op.SWAP1 + + Op.POP + + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP1) + + Op.PUSH4[0x9E587A5] + + Op.MLOAD(offset=0x40) + + Op.MSTORE(offset=Op.DUP2, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP2)) + + Op.PUSH1[0x4] + + Op.ADD + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.JUMPI( + pc=0x2, + condition=Op.ISZERO( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x61DA), + address=Op.DUP8, + value=0x0, + args_offset=Op.DUP2, + args_size=Op.SUB(Op.DUP4, Op.DUP1), + ret_offset=Op.MLOAD(offset=0x40), + ret_size=0x0, + ) + ), + ) + + Op.POP * 4 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0xA5] + + Op.PUSH1[0x0] + + Op.PUSH1[0xB9] + + Op.JUMP(pc=0x4C) + + Op.JUMPDEST + + Op.PUSH1[0x40] + + Op.MLOAD(offset=Op.DUP1) + + Op.SWAP2 + + Op.MSTORE(offset=Op.DUP3, value=Op.ISZERO(Op.ISZERO)) + + Op.MLOAD + + Op.SWAP1 + + Op.DUP2 + + Op.SWAP1 + + Op.ADD(0x20, Op.SUB) + + Op.SWAP1 + + Op.RETURN + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.JUMP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfc2c9403120f755b844fd30d99c231483e701631"), # noqa: E501 + address=Address(0xFC2C9403120F755B844FD30D99C231483E701631), # noqa: E501 ) + pre[sender] = Account(balance=0x1C9C380) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=300000, ) - post: dict = {} + post = { + target: Account(balance=0xDE0B6B3A7640000), + coinbase: Account(balance=0), + sender: Account(balance=0x1C5AF34, nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_sstore.py b/tests/ported_static/stRefundTest/test_refund_sstore.py index 659808d92da..70bd9105a19 100644 --- a/tests/ported_static/stRefundTest/test_refund_sstore.py +++ b/tests/ported_static/stRefundTest/test_refund_sstore.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stRefundTest/refundSSTOREFiller.yml +state_tests/stRefundTest/refundSSTOREFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refundSSTOREFiller.yml"], + ["state_tests/stRefundTest/refundSSTOREFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund_sstore( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x8C45B94DCA330650C0392398FB2097BB64764E973720A845EE67605FFABF0C7C ) @@ -45,27 +46,30 @@ def test_refund_sstore( gas_limit=16777216, ) - pre[sender] = Account(balance=0xE8D631F190, nonce=1) - # Source: Yul + # Source: yul + # berlin # { # sstore(0,0x0) # } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=Op.DUP1, value=0x0) + Op.STOP, - storage={0x0: 0x60A7}, + storage={0: 24743}, balance=0xDE0B6B3A7640000, - address=Address("0xf5f86b947fc07a75e19106a6b7e4953d431ad57f"), # noqa: E501 + nonce=1, + address=Address(0xF5F86B947FC07A75E19106A6B7E4953D431AD57F), # noqa: E501 ) + pre[sender] = Account(balance=0xE8D631F190, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00"), + to=target, + data=Bytes("00"), gas_limit=2601000, - gas_price=1000, nonce=1, + gas_price=1000, + access_list=[], ) - post: dict = {} + post = {sender: Account(balance=0xE8D4EE4E00)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_suicide50procent_cap.py b/tests/ported_static/stRefundTest/test_refund_suicide50procent_cap.py index dc7f5ba438d..2a5b94d69dd 100644 --- a/tests/ported_static/stRefundTest/test_refund_suicide50procent_cap.py +++ b/tests/ported_static/stRefundTest/test_refund_suicide50procent_cap.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_suicide50procent_cap. Ported from: -tests/static/state_tests/stRefundTest/refundSuicide50procentCapFiller.json +state_tests/stRefundTest/refundSuicide50procentCapFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,42 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRefundTest/refundSuicide50procentCapFiller.json", # noqa: E501 - ], + ["state_tests/stRefundTest/refundSuicide50procentCapFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000001f4", - { - Address("0xa6cc2ca5611255d50118601aa8ece6f124fc4c45"): Account( - storage={10: 1, 23: 0x107A7} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000000000000000000000000000000000000000010000", - { - Address("0xa6cc2ca5611255d50118601aa8ece6f124fc4c45"): Account( - storage={10: 1, 11: 1, 23: 0x166FA} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_refund_suicide50procent_cap( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_suicide50procent_cap.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -71,70 +71,91 @@ def test_refund_suicide50procent_cap( gas_limit=100000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xA6CC2CA5611255D50118601AA8ECE6F124FC4C45) - + Op.STOP - ), + pre[coinbase] = Account(balance=0, nonce=1) + # Source: lll + # { [22] (GAS) [[ 10 ]] 1 [[ 11 ]] (CALL (CALLDATALOAD 0) 0 0 0 0 0 ) [[ 1 ]] 0 [[ 2 ]] 0 [[ 3 ]] 0 [[ 4 ]] 0 [[ 5 ]] 0 [[ 6 ]] 0 [[ 7 ]] 0 [[ 8 ]] 0 [[ 23 ]] (SUB @22 (GAS)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x16, value=Op.GAS) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE( + key=0xB, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0x4FF65047CE9C85F968689E4369C10003026A41A9, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x17, value=Op.SUB(Op.MLOAD(offset=0x16), Op.GAS)) + + Op.STOP, + storage={1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4ff65047ce9c85f968689e4369c10003026a41a9"), # noqa: E501 + address=Address(0xA6CC2CA5611255D50118601AA8ECE6F124FC4C45), # noqa: E501 ) - # Source: LLL - # { [22] (GAS) [[ 10 ]] 1 [[ 11 ]] (CALL (CALLDATALOAD 0) 0 0 0 0 0 ) [[ 1 ]] 0 [[ 2 ]] 0 [[ 3 ]] 0 [[ 4 ]] 0 [[ 5 ]] 0 [[ 6 ]] 0 [[ 7 ]] 0 [[ 8 ]] 0 [[ 23 ]] (SUB @22 (GAS)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x16, value=Op.GAS) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE( - key=0xB, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0x4FF65047CE9C85F968689E4369C10003026A41A9, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x17, value=Op.SUB(Op.MLOAD(offset=0x16), Op.GAS)) - + Op.STOP - ), - storage={ - 0x1: 0x1, - 0x2: 0x1, - 0x3: 0x1, - 0x4: 0x1, - 0x5: 0x1, - 0x6: 0x1, - 0x7: 0x1, - 0x8: 0x1, - }, + pre[sender] = Account(balance=0x3B9ACA00) + # Source: lll + # { (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xA6CC2CA5611255D50118601AA8ECE6F124FC4C45 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa6cc2ca5611255d50118601aa8ece6f124fc4c45"), # noqa: E501 + address=Address(0x4FF65047CE9C85F968689E4369C10003026A41A9), # noqa: E501 ) - pre[sender] = Account(balance=0x3B9ACA00) - pre[coinbase] = Account(balance=0, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={10: 1, 11: 0, 23: 0x107A7}, + balance=0xDE0B6B3A7640000, + ), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={10: 1, 11: 1, 23: 0x166FA}, + balance=0x1BC16D674EC80000, + ), + sender: Account(nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x1F4), + Hash(0x10000), + ] + tx_gas = [10000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_tx_to_suicide.py b/tests/ported_static/stRefundTest/test_refund_tx_to_suicide.py index c9403e6923f..ab754657c75 100644 --- a/tests/ported_static/stRefundTest/test_refund_tx_to_suicide.py +++ b/tests/ported_static/stRefundTest/test_refund_tx_to_suicide.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_tx_to_suicide. Ported from: -tests/static/state_tests/stRefundTest/refund_TxToSuicideFiller.json +state_tests/stRefundTest/refund_TxToSuicideFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund_TxToSuicideFiller.json"], + ["state_tests/stRefundTest/refund_TxToSuicideFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund_tx_to_suicide( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_tx_to_suicide.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -45,30 +46,34 @@ def test_refund_tx_to_suicide( gas_limit=10000000, ) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0x5F5E100) + # Source: lll # { (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) - + Op.STOP - ), - storage={0x1: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2bc33a472f0fba1e30bf2317d07910367908c7f6"), # noqa: E501 + address=Address(0x2BC33A472F0FBA1E30BF2317D07910367908C7F6), # noqa: E501 ) - pre[sender] = Account(balance=0x5F5E100) - pre[coinbase] = Account(balance=0, nonce=1) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=61003, value=10, ) post = { - contract: Account(storage={1: 1}), + Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87): Account( + storage={}, balance=0xDE0B6B3A764000A + ), + coinbase: Account(balance=0), + sender: Account(balance=0x5EDB318, nonce=1), + target: Account(storage={1: 1}, balance=0, nonce=0), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRefundTest/test_refund_tx_to_suicide_oog.py b/tests/ported_static/stRefundTest/test_refund_tx_to_suicide_oog.py index 977ff8e4a20..ea7b0792815 100644 --- a/tests/ported_static/stRefundTest/test_refund_tx_to_suicide_oog.py +++ b/tests/ported_static/stRefundTest/test_refund_tx_to_suicide_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_refund_tx_to_suicide_oog. Ported from: -tests/static/state_tests/stRefundTest/refund_TxToSuicideOOGFiller.json +state_tests/stRefundTest/refund_TxToSuicideOOGFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRefundTest/refund_TxToSuicideOOGFiller.json"], + ["state_tests/stRefundTest/refund_TxToSuicideOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_refund_tx_to_suicide_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_refund_tx_to_suicide_oog.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -45,30 +46,31 @@ def test_refund_tx_to_suicide_oog( gas_limit=10000000, ) - # Source: LLL + pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0x5F5E100) + # Source: lll # { (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) - + Op.STOP - ), - storage={0x1: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2bc33a472f0fba1e30bf2317d07910367908c7f6"), # noqa: E501 + address=Address(0x2BC33A472F0FBA1E30BF2317D07910367908C7F6), # noqa: E501 ) - pre[sender] = Account(balance=0x5F5E100) - pre[coinbase] = Account(balance=0, nonce=1) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=21002, value=10, ) post = { - contract: Account(storage={1: 1}), + coinbase: Account(balance=0), + sender: Account(balance=0x5F2AC9C, nonce=1), + target: Account(storage={1: 1}, balance=0xDE0B6B3A7640000), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/__init__.py b/tests/ported_static/stReturnDataTest/__init__.py index 8329187ab9d..22f53724d59 100644 --- a/tests/ported_static/stReturnDataTest/__init__.py +++ b/tests/ported_static/stReturnDataTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stReturnDataTest.""" +"""Ported static tests: stReturnDataTest.""" # noqa: N999 diff --git a/tests/ported_static/stReturnDataTest/test_call_ecrec_success_empty_then_returndatasize.py b/tests/ported_static/stReturnDataTest/test_call_ecrec_success_empty_then_returndatasize.py index 806247b2d89..ed27bb9acc7 100644 --- a/tests/ported_static/stReturnDataTest/test_call_ecrec_success_empty_then_returndatasize.py +++ b/tests/ported_static/stReturnDataTest/test_call_ecrec_success_empty_then_returndatasize.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_ecrec_success_empty_then_returndatasize. Ported from: -tests/static/state_tests/stReturnDataTest -call_ecrec_success_empty_then_returndatasizeFiller.json +state_tests/stReturnDataTest/call_ecrec_success_empty_then_returndatasizeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/call_ecrec_success_empty_then_returndatasizeFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/call_ecrec_success_empty_then_returndatasizeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_ecrec_success_empty_then_returndatasize( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_ecrec_success_empty_then_returndatasize.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,36 +48,35 @@ def test_call_ecrec_success_empty_then_returndatasize( gas_limit=111669149696, ) - # Source: LLL + # Source: lll # { (seq (CALL 0x9000 0x1 0 0 0 0 0xaa) (SSTORE 0 (RETURNDATASIZE)) )} - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x9000, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xAA, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x9000, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xAA, ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - ), - storage={0x0: 0x60A7}, + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP, + storage={0: 24743}, nonce=0, - address=Address("0x77e2f61794bcfd86b1c2380c34aab5fb7c25e95e"), # noqa: E501 + address=Address(0x77E2F61794BCFD86B1C2380C34AAB5FB7C25E95E), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_call_outsize_then_create_successful_then_returndatasize.py b/tests/ported_static/stReturnDataTest/test_call_outsize_then_create_successful_then_returndatasize.py index cdd21c46419..a09332a6a48 100644 --- a/tests/ported_static/stReturnDataTest/test_call_outsize_then_create_successful_then_returndatasize.py +++ b/tests/ported_static/stReturnDataTest/test_call_outsize_then_create_successful_then_returndatasize.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_outsize_then_create_successful_then_returndatasize. Ported from: -tests/static/state_tests/stReturnDataTest -call_outsize_then_create_successful_then_returndatasizeFiller.json +state_tests/stReturnDataTest/call_outsize_then_create_successful_then_returndatasizeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/call_outsize_then_create_successful_then_returndatasizeFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/call_outsize_then_create_successful_then_returndatasizeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_outsize_then_create_successful_then_returndatasize( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_outsize_then_create_successful_then_returndatasize.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,60 +48,55 @@ def test_call_outsize_then_create_successful_then_returndatasize( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), + # Source: lll + # { (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32) (STOP) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP * 2, nonce=0, - address=Address("0x24b406508240d6f2783499d1fd65fedd0feeef37"), # noqa: E501 + address=Address(0x24B406508240D6F2783499D1FD65FEDD0FEEEF37), # noqa: E501 ) - # Source: LLL + # Source: lll # { (seq (CALL 0x0900000000 0 0 0 0 0x20) (CREATE 0 0 (lll (seq (mstore 0 0x112233) (RETURN 0 32) (STOP) ) 0)) (SSTORE 0 (RETURNDATASIZE)) (STOP) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x900000000, - address=0x24B406508240D6F2783499D1FD65FEDD0FEEEF37, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x900000000, + address=0x24B406508240D6F2783499D1FD65FEDD0FEEEF37, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.PUSH1[0xE] - + Op.CODECOPY(dest_offset=0x0, offset=0x3C, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=0x112233) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + ) + + Op.PUSH1[0xE] + + Op.CODECOPY(dest_offset=0x0, offset=0x3C, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0x3875f9536b829cb75f84cdcb2f72b000b5a41855"), # noqa: E501 + address=Address(0x3875F9536B829CB75F84CDCB2F72B000B5A41855), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_call_then_call_value_fail_then_returndatasize.py b/tests/ported_static/stReturnDataTest/test_call_then_call_value_fail_then_returndatasize.py index 0be66eb80a9..bcea45321de 100644 --- a/tests/ported_static/stReturnDataTest/test_call_then_call_value_fail_then_returndatasize.py +++ b/tests/ported_static/stReturnDataTest/test_call_then_call_value_fail_then_returndatasize.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_then_call_value_fail_then_returndatasize. Ported from: -tests/static/state_tests/stReturnDataTest -call_then_call_value_fail_then_returndatasizeFiller.json +state_tests/stReturnDataTest/call_then_call_value_fail_then_returndatasizeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/call_then_call_value_fail_then_returndatasizeFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/call_then_call_value_fail_then_returndatasizeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_then_call_value_fail_then_returndatasize( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_then_call_value_fail_then_returndatasize.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,59 +48,58 @@ def test_call_then_call_value_fail_then_returndatasize( gas_limit=111669149696, ) - # Source: LLL - # { (seq (CALL 0x0900000000 0 0 0 0 0x20) (CALL 0x0900000000 0xffffffffffff 0 0 0 0x20) (SSTORE 0 (RETURNDATASIZE)) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x900000000, - address=0x9898DD5E5C526B55EC49B1047E298705C13279F1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.POP( - Op.CALL( - gas=0x900000000, - address=0x9898DD5E5C526B55EC49B1047E298705C13279F1, - value=0xFFFFFFFFFFFF, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - ), - storage={0x0: 0x1}, + # Source: lll + # { (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0x0e496b29ad2f0e55adf292c08a6a9289cb163835"), # noqa: E501 + address=Address(0x9898DD5E5C526B55EC49B1047E298705C13279F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + # Source: lll + # { (seq (CALL 0x0900000000 0 0 0 0 0x20) (CALL 0x0900000000 0xffffffffffff 0 0 0 0x20) (SSTORE 0 (RETURNDATASIZE)) )} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x900000000, + address=0x9898DD5E5C526B55EC49B1047E298705C13279F1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ) + ) + + Op.POP( + Op.CALL( + gas=0x900000000, + address=0x9898DD5E5C526B55EC49B1047E298705C13279F1, + value=0xFFFFFFFFFFFF, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x9898dd5e5c526b55ec49b1047e298705c13279f1"), # noqa: E501 + address=Address(0x0E496B29AD2F0E55ADF292C08A6A9289CB163835), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_call_then_create_successful_then_returndatasize.py b/tests/ported_static/stReturnDataTest/test_call_then_create_successful_then_returndatasize.py index 02e4065a486..849239321ec 100644 --- a/tests/ported_static/stReturnDataTest/test_call_then_create_successful_then_returndatasize.py +++ b/tests/ported_static/stReturnDataTest/test_call_then_create_successful_then_returndatasize.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_then_create_successful_then_returndatasize. Ported from: -tests/static/state_tests/stReturnDataTest -call_then_create_successful_then_returndatasizeFiller.json +state_tests/stReturnDataTest/call_then_create_successful_then_returndatasizeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/call_then_create_successful_then_returndatasizeFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/call_then_create_successful_then_returndatasizeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_then_create_successful_then_returndatasize( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_then_create_successful_then_returndatasize.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,60 +48,55 @@ def test_call_then_create_successful_then_returndatasize( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), + # Source: lll + # { (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32) (STOP) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP * 2, nonce=0, - address=Address("0x24b406508240d6f2783499d1fd65fedd0feeef37"), # noqa: E501 + address=Address(0x24B406508240D6F2783499D1FD65FEDD0FEEEF37), # noqa: E501 ) - pre[sender] = Account(balance=0x6400000000) - # Source: LLL + # Source: lll # { (seq (CALL 0x0900000000 0 0 0 0 0) (CREATE 0 0 (lll (seq (mstore 0 0x112233) (RETURN 0 32) (STOP) ) 0)) (SSTORE 0 (RETURNDATASIZE)) (STOP) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x900000000, - address=0x24B406508240D6F2783499D1FD65FEDD0FEEEF37, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x900000000, + address=0x24B406508240D6F2783499D1FD65FEDD0FEEEF37, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.PUSH1[0xE] - + Op.CODECOPY(dest_offset=0x0, offset=0x3C, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=0x112233) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + ) + + Op.PUSH1[0xE] + + Op.CODECOPY(dest_offset=0x0, offset=0x3C, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0xcc5fbabb1e86f7744ed4840b4153736d3c0ae2a2"), # noqa: E501 + address=Address(0xCC5FBABB1E86F7744ED4840B4153736D3C0AE2A2), # noqa: E501 ) + pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_clear_return_buffer.py b/tests/ported_static/stReturnDataTest/test_clear_return_buffer.py index 734b49798d1..254e8928038 100644 --- a/tests/ported_static/stReturnDataTest/test_clear_return_buffer.py +++ b/tests/ported_static/stReturnDataTest/test_clear_return_buffer.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stReturnDataTest/clearReturnBufferFiller.yml +state_tests/stReturnDataTest/clearReturnBufferFiller.yml """ import pytest @@ -11,1660 +11,1056 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, + Storage, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" +def _storage_with_any(base: dict, any_keys: list) -> Storage: + """Create Storage with set_expect_any for specified keys.""" + s = Storage(base) + for k in any_keys: + s.set_expect_any(k) + return s + + @pytest.mark.ported_from( - ["tests/static/state_tests/stReturnDataTest/clearReturnBufferFiller.yml"], + ["state_tests/stReturnDataTest/clearReturnBufferFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62461} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000001 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62461} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f4000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F0000000000000000000000000000000000000000000000000000000000000F # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62461} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011fa000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000010 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000001 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F0000000000000000000000000000000000000000000000000000000000000F # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000010 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000001 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F0000000000000000000000000000000000000000000000000000000000000F # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000010 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000001 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F0000000000000000000000000000000000000000000000000000000000000F # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000010 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000001 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F0000000000000000000000000000000000000000000000000000000000000F # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f5000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000010 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000001 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F0000000000000000000000000000000000000000000000000000000000000F # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000010 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000001 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F0000000000000000000000000000000000000000000000000000000000000F # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000010 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62461} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62461} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000001 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62461} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F0000000000000000000000000000000000000000000000000000000000000F # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62461} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000010 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000f3f300000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000f3fd0000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62461} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000fdfd00000000000000000000000000000000000000000000000000000000000000ff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000100", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000fff", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f1000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000001000", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000f3f30000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 62451} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000011f2000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000020", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={1: 65021} - ) - }, - ), - ( - "048071d300000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000fdfd0000000000000000000000000000000000000000000000000000000000000010", # noqa: E501 - { - Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"): Account( - storage={ - 1: 0x7F00000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - ], ) @pytest.mark.pre_alloc_mutable def test_clear_return_buffer( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 ) @@ -1678,31 +1074,118 @@ def test_clear_return_buffer( gas_limit=100000000, ) - pre.deploy_contract( - code=( - Op.PUSH1[0x20] - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.DUP2 - + Op.DUP1 - + Op.CALLDATALOAD(offset=Op.DUP1) - + Op.MSTORE(offset=Op.DUP3, value=Op.CALLDATALOAD(offset=Op.DUP4)) - + Op.GAS - + Op.POP(Op.CALL) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.SSTORE(key=0x1, value=Op.ADDRESS) - + Op.STOP - ), + # Source: yul + # berlin + # { + # // no need to complicate things with an ABI + # let bufLen := calldataload(0) + # mstore(0, 0x60A7) + # return(0, bufLen) + # } + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.MSTORE(offset=0x0, value=0x60A7) + + Op.PUSH1[0x0] + + Op.RETURN, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x0fabe6f4dfa10093ecd1c05df08ee0b199f2f36d"), # noqa: E501 + nonce=1, + address=Address(0xBD0BB2600F59ACDEE19A917DB4F3F7B00C9C9759), # noqa: E501 ) - pre.deploy_contract( + # Source: yul + # berlin + # { + # // no need to complicate things with an ABI + # let bufLen := calldataload(0) + # mstore(0, 0x60A7) + # revert(0, bufLen) + # } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.MSTORE(offset=0x0, value=0x60A7) + + Op.PUSH1[0x0] + + Op.REVERT, + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0x4C24D17E84F86907F0A33776F83C754D52E46D13), # noqa: E501 + ) + # Source: yul + # berlin + # { + # // no need to complicate things with an ABI + # let addr := calldataload(0x00) + # let bufLen := calldataload(0x20) + # let static := calldataload(0x40) + # mstore(0, bufLen) + # pop(call(gas(), addr, 0, 0, 0x20, 0, 0x20)) + # sstore(0, returndatasize()) + # sstore(1, address()) + # stop() + # } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x20] + + Op.PUSH1[0x0] + + Op.DUP2 * 2 + + Op.DUP1 + + Op.CALLDATALOAD(offset=Op.DUP1) + + Op.MSTORE(offset=Op.DUP3, value=Op.CALLDATALOAD(offset=Op.DUP4)) + + Op.GAS + + Op.POP(Op.CALL) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.SSTORE(key=0x1, value=Op.ADDRESS) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0x4940BB1DE279F6B55DC0BF40ED1FDEF517D8C2E9), # noqa: E501 + ) + # Source: yul + # berlin + # { + # // no need to complicate things with an ABI + # let addr := calldataload(0x00) + # let bufLen := calldataload(0x20) + # let static := calldataload(0x40) + # mstore(0, bufLen) + # pop(call(gas(), addr, 0, 0, 0x20, 0, 0x20)) + # sstore(0, returndatasize()) + # sstore(1, address()) + # stop() + # } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x20] + + Op.PUSH1[0x0] + + Op.DUP2 * 2 + + Op.DUP1 + + Op.CALLDATALOAD(offset=Op.DUP1) + + Op.MSTORE(offset=Op.DUP3, value=Op.CALLDATALOAD(offset=Op.DUP4)) + + Op.GAS + + Op.POP(Op.CALL) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.SSTORE(key=0x1, value=Op.ADDRESS) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=1, + address=Address(0x0FABE6F4DFA10093ECD1C05DF08EE0B199F2F36D), # noqa: E501 + ) + # Source: yul + # berlin + # { + # // no need to complicate things with an ABI + # let addr := calldataload(0x00) + # let bufLen := calldataload(0x20) + # mstore(0, bufLen) + # pop(call(gas(), addr, 0, 0, 0x20, 0, 0x20)) + # + # // Crash with an illegal opcode + # verbatim_0i_0o("0xFE") + # } + addr_5 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("602060008181808035833582525af1503078464500"), balance=0xBA1A9CE0BA1A9CE, - address=Address("0x421ab4bf2ff9bd61e45075062aec737a6f1b726d"), # noqa: E501 + nonce=1, + address=Address(0x421AB4BF2FF9BD61E45075062AEC737A6F1B726D), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: Yul + # Source: yul + # berlin # { # // The operation that we ran and that after which we're supposed # // to have an empty buffer @@ -1732,305 +1215,437 @@ def test_clear_return_buffer( # // # // Write the buffer length to memory (so we can send it) # // 0x0 PUSH32 - # mstore8(0x0, 0x7F) - # ... (154 more lines) - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x44) - + Op.CALLDATALOAD(offset=0x24) - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMPI(pc=0x19F, condition=Op.EQ(Op.DUP2, 0xF0)) - + Op.JUMPI(pc=0x18A, condition=Op.EQ(0x11F0, Op.DUP1)) - + Op.JUMPI(pc=0x17C, condition=Op.EQ(0xF5, Op.DUP1)) - + Op.JUMPI(pc=0x164, condition=Op.EQ(0x11F5, Op.DUP1)) - + Op.JUMPI(pc=0x147, condition=Op.EQ(0xF1, Op.DUP1)) - + Op.JUMPI(pc=0x129, condition=Op.EQ(0x11F1, Op.DUP1)) - + Op.JUMPI(pc=0x10C, condition=Op.EQ(0xF2, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0xEE], condition=Op.EQ(0x11F2, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0xD2], condition=Op.EQ(0xF4, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0xB5], condition=Op.EQ(0x11F4, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x96], condition=Op.EQ(0xFA, Op.DUP1)) - + Op.PUSH2[0x11FA] - + Op.JUMPI(pc=Op.PUSH2[0x72], condition=Op.EQ) - + Op.REVERT(offset=Op.DUP1, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.MSTORE - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xBAD0CA11, - args_offset=0x0, - args_size=0x40, - ret_offset=0x100, - ret_size=0x20, - ), + # ... (155 more lines) + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x44) + + Op.CALLDATALOAD(offset=0x24) + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMPI(pc=0x19F, condition=Op.EQ(Op.DUP2, 0xF0)) + + Op.JUMPI(pc=0x18A, condition=Op.EQ(0x11F0, Op.DUP1)) + + Op.JUMPI(pc=0x17C, condition=Op.EQ(0xF5, Op.DUP1)) + + Op.JUMPI(pc=0x164, condition=Op.EQ(0x11F5, Op.DUP1)) + + Op.JUMPI(pc=0x147, condition=Op.EQ(0xF1, Op.DUP1)) + + Op.JUMPI(pc=0x129, condition=Op.EQ(0x11F1, Op.DUP1)) + + Op.JUMPI(pc=0x10C, condition=Op.EQ(0xF2, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0xEE], condition=Op.EQ(0x11F2, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0xD2], condition=Op.EQ(0xF4, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0xB5], condition=Op.EQ(0x11F4, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x96], condition=Op.EQ(0xFA, Op.DUP1)) + + Op.PUSH2[0x11FA] + + Op.JUMPI(pc=Op.PUSH2[0x72], condition=Op.EQ) + + Op.REVERT(offset=Op.DUP1, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.MSTORE + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0xBAD0CA11, + args_offset=0x0, + args_size=0x40, + ret_offset=0x100, + ret_size=0x20, ) - + Op.JUMPDEST - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.MSTORE - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0x57A700CA11ED, - args_offset=0x0, - args_size=0x40, - ret_offset=0x100, - ret_size=0x20, - ), + ) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.MSTORE + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0x57A700CA11ED, + args_offset=0x0, + args_size=0x40, + ret_offset=0x100, + ret_size=0x20, ) - + Op.JUMP(pc=Op.PUSH2[0x8A]) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.MSTORE - + Op.POP( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xBAD0CA11, - args_offset=0x0, - args_size=0x40, - ret_offset=0x100, - ret_size=0x20, - ), + ) + + Op.JUMP(pc=Op.PUSH2[0x8A]) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.MSTORE + + Op.POP( + Op.DELEGATECALL( + gas=Op.GAS, + address=0xBAD0CA11, + args_offset=0x0, + args_size=0x40, + ret_offset=0x100, + ret_size=0x20, ) - + Op.JUMP(pc=Op.PUSH2[0x8A]) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.MSTORE - + Op.POP( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xCA11ED, - args_offset=0x0, - args_size=0x40, - ret_offset=0x100, - ret_size=0x20, - ), + ) + + Op.JUMP(pc=Op.PUSH2[0x8A]) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.MSTORE + + Op.POP( + Op.DELEGATECALL( + gas=Op.GAS, + address=0xCA11ED, + args_offset=0x0, + args_size=0x40, + ret_offset=0x100, + ret_size=0x20, ) - + Op.JUMP(pc=Op.PUSH2[0x8A]) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.MSTORE - + Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=0xBAD0CA11, - value=Op.DUP1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x100, - ret_size=0x20, - ), + ) + + Op.JUMP(pc=Op.PUSH2[0x8A]) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.MSTORE + + Op.POP( + Op.CALLCODE( + gas=Op.GAS, + address=0xBAD0CA11, + value=Op.DUP1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x100, + ret_size=0x20, ) - + Op.JUMP(pc=Op.PUSH2[0x8A]) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.MSTORE - + Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=0xCA11ED, - value=Op.DUP1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x100, - ret_size=0x20, - ), + ) + + Op.JUMP(pc=Op.PUSH2[0x8A]) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.MSTORE + + Op.POP( + Op.CALLCODE( + gas=Op.GAS, + address=0xCA11ED, + value=Op.DUP1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x100, + ret_size=0x20, ) - + Op.JUMP(pc=Op.PUSH2[0x8A]) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xBAD0CA11, - value=Op.DUP1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x100, - ret_size=0x20, - ), + ) + + Op.JUMP(pc=Op.PUSH2[0x8A]) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xBAD0CA11, + value=Op.DUP1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x100, + ret_size=0x20, ) - + Op.JUMP(pc=Op.PUSH2[0x8A]) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xCA11ED, - value=Op.DUP1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x100, - ret_size=0x20, - ), + ) + + Op.JUMP(pc=Op.PUSH2[0x8A]) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xCA11ED, + value=Op.DUP1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x100, + ret_size=0x20, ) - + Op.JUMP(pc=Op.PUSH2[0x8A]) - + Op.JUMPDEST - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP2 - + Op.PUSH2[0x172] - + Op.SWAP2 - + Op.JUMP(pc=0x23E) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.POP(Op.CREATE2) - + Op.JUMP(pc=Op.PUSH2[0x8A]) - + Op.JUMPDEST - + Op.POP - + Op.PUSH2[0x5A17] - + Op.SWAP2 - + Op.PUSH2[0x172] - + Op.SWAP2 - + Op.JUMP(pc=0x1A6) - + Op.JUMPDEST - + Op.POP - + Op.SWAP1 - + Op.PUSH2[0x195] - + Op.SWAP2 - + Op.JUMP(pc=0x23E) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.POP(Op.CREATE) - + Op.JUMP(pc=Op.PUSH2[0x8A]) - + Op.JUMPDEST - + Op.POP - + Op.SWAP1 - + Op.PUSH2[0x195] - + Op.SWAP2 - + Op.JUMPDEST - + Op.SWAP1 - + Op.MSTORE8(offset=0x0, value=0x7F) - + Op.PUSH1[0x1] - + Op.MSTORE - + Op.MSTORE8(offset=0x21, value=0x60) - + Op.MSTORE8(offset=0x22, value=0x0) - + Op.MSTORE8(offset=0x23, value=0x52) - + Op.MSTORE8(offset=0x24, value=0x60) - + Op.MSTORE8(offset=0x25, value=0xFF) - + Op.MSTORE8(offset=0x26, value=0x60) - + Op.MSTORE8(offset=0x27, value=0x20) - + Op.MSTORE8(offset=0x28, value=0x60) - + Op.MSTORE8(offset=0x29, value=0x20) - + Op.MSTORE8(offset=0x2A, value=0x60) - + Op.MSTORE8(offset=0x2B, value=0x0) - + Op.MSTORE8(offset=0x2C, value=0x60) - + Op.MSTORE8(offset=0x2D, value=0x0) - + Op.MSTORE8(offset=0x2E, value=0x7F) - + Op.PUSH1[0x2F] - + Op.MSTORE - + Op.MSTORE8(offset=0x4F, value=0x5A) - + Op.MSTORE8(offset=0x50, value=0xF1) - + Op.MSTORE8(offset=0x51, value=0x60) - + Op.MSTORE8(offset=0x52, value=0x20) - + Op.MSTORE8(offset=0x53, value=0x51) - + Op.MSTORE8(offset=0x54, value=0x60) - + Op.MSTORE8(offset=0x55, value=0x0) - + Op.MSTORE8(offset=0x56, value=0x55) - + Op.MSTORE8(offset=0x57, value=0x3D) - + Op.MSTORE8(offset=0x58, value=0x60) - + Op.MSTORE8(offset=0x59, value=0x1) - + Op.MSTORE8(offset=0x5A, value=0x55) - + Op.MSTORE8(offset=0x5B, value=0x0) - + Op.PUSH1[0x5C] - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.SWAP1 - + Op.PUSH2[0x248] - + Op.SWAP2 - + Op.JUMP(pc=0x1A6) - + Op.JUMPDEST - + Op.MSTORE8(offset=Op.SUB(Op.DUP3, 0x1), value=0xFE) - + Op.SWAP1 - + Op.JUMP - ), - storage={0x0: 0x60A7}, - balance=0xBA1A9CE0BA1A9CE, - address=Address("0x48db33b0a06dd1e98df44d8bef0da3f1d948571d"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.PUSH1[0x20] - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.DUP2 - + Op.DUP1 - + Op.CALLDATALOAD(offset=Op.DUP1) - + Op.MSTORE(offset=Op.DUP3, value=Op.CALLDATALOAD(offset=Op.DUP4)) - + Op.GAS - + Op.POP(Op.CALL) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.SSTORE(key=0x1, value=Op.ADDRESS) - + Op.STOP - ), + ) + + Op.JUMP(pc=Op.PUSH2[0x8A]) + + Op.JUMPDEST + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP2 + + Op.PUSH2[0x172] + + Op.SWAP2 + + Op.JUMP(pc=0x23E) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.POP(Op.CREATE2) + + Op.JUMP(pc=Op.PUSH2[0x8A]) + + Op.JUMPDEST + + Op.POP + + Op.PUSH2[0x5A17] + + Op.SWAP2 + + Op.PUSH2[0x172] + + Op.SWAP2 + + Op.JUMP(pc=0x1A6) + + Op.JUMPDEST + + Op.POP + + Op.SWAP1 + + Op.PUSH2[0x195] + + Op.SWAP2 + + Op.JUMP(pc=0x23E) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.POP(Op.CREATE) + + Op.JUMP(pc=Op.PUSH2[0x8A]) + + Op.JUMPDEST + + Op.POP + + Op.SWAP1 + + Op.PUSH2[0x195] + + Op.SWAP2 + + Op.JUMPDEST + + Op.SWAP1 + + Op.MSTORE8(offset=0x0, value=0x7F) + + Op.PUSH1[0x1] + + Op.MSTORE + + Op.MSTORE8(offset=0x21, value=0x60) + + Op.MSTORE8(offset=0x22, value=0x0) + + Op.MSTORE8(offset=0x23, value=0x52) + + Op.MSTORE8(offset=0x24, value=0x60) + + Op.MSTORE8(offset=0x25, value=0xFF) + + Op.MSTORE8(offset=0x26, value=0x60) + + Op.MSTORE8(offset=0x27, value=0x20) + + Op.MSTORE8(offset=0x28, value=0x60) + + Op.MSTORE8(offset=0x29, value=0x20) + + Op.MSTORE8(offset=0x2A, value=0x60) + + Op.MSTORE8(offset=0x2B, value=0x0) + + Op.MSTORE8(offset=0x2C, value=0x60) + + Op.MSTORE8(offset=0x2D, value=0x0) + + Op.MSTORE8(offset=0x2E, value=0x7F) + + Op.PUSH1[0x2F] + + Op.MSTORE + + Op.MSTORE8(offset=0x4F, value=0x5A) + + Op.MSTORE8(offset=0x50, value=0xF1) + + Op.MSTORE8(offset=0x51, value=0x60) + + Op.MSTORE8(offset=0x52, value=0x20) + + Op.MSTORE8(offset=0x53, value=0x51) + + Op.MSTORE8(offset=0x54, value=0x60) + + Op.MSTORE8(offset=0x55, value=0x0) + + Op.MSTORE8(offset=0x56, value=0x55) + + Op.MSTORE8(offset=0x57, value=0x3D) + + Op.MSTORE8(offset=0x58, value=0x60) + + Op.MSTORE8(offset=0x59, value=0x1) + + Op.MSTORE8(offset=0x5A, value=0x55) + + Op.MSTORE8(offset=0x5B, value=0x0) + + Op.PUSH1[0x5C] + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.SWAP1 + + Op.PUSH2[0x248] + + Op.SWAP2 + + Op.JUMP(pc=0x1A6) + + Op.JUMPDEST + + Op.MSTORE8(offset=Op.SUB(Op.DUP3, 0x1), value=0xFE) + + Op.SWAP1 + + Op.JUMP, + storage={0: 24743}, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x4940bb1de279f6b55dc0bf40ed1fdef517d8c2e9"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.MSTORE(offset=0x0, value=0x60A7) - + Op.PUSH1[0x0] - + Op.REVERT - ), - balance=0xBA1A9CE0BA1A9CE, - address=Address("0x4c24d17e84f86907f0a33776f83c754d52e46d13"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.MSTORE(offset=0x0, value=0x60A7) - + Op.PUSH1[0x0] - + Op.RETURN - ), - balance=0xBA1A9CE0BA1A9CE, - address=Address("0xbd0bb2600f59acdee19a917db4f3f7b00c9c9759"), # noqa: E501 + nonce=1, + address=Address(0x48DB33B0A06DD1E98DF44D8BEF0DA3F1D948571D), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("048071d3") + Hash(0x11F0) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0xF0) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0xF0) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0xF0) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0xF0) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0xF0) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0xF0) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xF0) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0xF0) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0xF0) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0xF0) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0xF0) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0xF0) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xF0) + Hash(0xFDFD) + Hash(0x1000), + Bytes("048071d3") + Hash(0xF5) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0xF5) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0xF5) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0xF5) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0xF5) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0xF5) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0xF5) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xF5) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0xF5) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0xF5) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0xF5) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0xF5) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0xF5) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xF5) + Hash(0xFDFD) + Hash(0x1000), + Bytes("048071d3") + Hash(0xF1) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0xF1) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0xF1) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0xF1) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0xF1) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0xF1) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0xF1) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xF1) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0xF1) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0xF1) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0xF1) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0xF1) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0xF1) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xF1) + Hash(0xFDFD) + Hash(0x1000), + Bytes("048071d3") + Hash(0xF2) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0xF2) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0xF2) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0xF2) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0xF2) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0xF2) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0xF2) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xF2) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0xF2) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0xF2) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0xF2) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0xF2) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0xF2) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xF2) + Hash(0xFDFD) + Hash(0x1000), + Bytes("048071d3") + Hash(0xF4) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0xF4) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0xF4) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0xF4) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0xF4) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0xF4) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0xF4) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xF4) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0xF4) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0xF4) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0xF4) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0xF4) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0xF4) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xF4) + Hash(0xFDFD) + Hash(0x1000), + Bytes("048071d3") + Hash(0xFA) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0xFA) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0xFA) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0xFA) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0xFA) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0xFA) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0xFA) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xFA) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0xFA) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0xFA) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0xFA) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0xFA) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0xFA) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0xFA) + Hash(0xFDFD) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11F1) + Hash(0xFDFD) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11F2) + Hash(0xFDFD) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11F4) + Hash(0xFDFD) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11FA) + Hash(0xFDFD) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11F0) + Hash(0xFDFD) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xF3F3) + Hash(0x20), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xFDFD) + Hash(0x20), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xF3F3) + Hash(0x1), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xF3F3) + Hash(0x10), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xF3F3) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xF3F3) + Hash(0x100), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xF3F3) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xF3F3) + Hash(0x1000), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xF3FD) + Hash(0x1), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xFDFD) + Hash(0x10), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xFDFD) + Hash(0xFF), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xFDFD) + Hash(0x100), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xFDFD) + Hash(0xFFF), + Bytes("048071d3") + Hash(0x11F5) + Hash(0xFDFD) + Hash(0x1000), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], nonce=1, - value=1, ) - post = expected_post + post = {target: Account(storage=_storage_with_any({0: 0}, [1]))} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_create_callprecompile_returndatasize.py b/tests/ported_static/stReturnDataTest/test_create_callprecompile_returndatasize.py index ed334002301..c724da2953d 100644 --- a/tests/ported_static/stReturnDataTest/test_create_callprecompile_returndatasize.py +++ b/tests/ported_static/stReturnDataTest/test_create_callprecompile_returndatasize.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_callprecompile_returndatasize. Ported from: -tests/static/state_tests/stReturnDataTest -create_callprecompile_returndatasizeFiller.json +state_tests/stReturnDataTest/create_callprecompile_returndatasizeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/create_callprecompile_returndatasizeFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/create_callprecompile_returndatasizeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_create_callprecompile_returndatasize( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_callprecompile_returndatasize.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,64 +48,56 @@ def test_create_callprecompile_returndatasize( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + # Source: lll + # { (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0x9898dd5e5c526b55ec49b1047e298705c13279f1"), # noqa: E501 + address=Address(0x9898DD5E5C526B55EC49B1047E298705C13279F1), # noqa: E501 ) - # Source: LLL + # Source: lll # { (seq (CREATE 0 0 (lll (seq (mstore 0 0x112233) (CALL 0x9000 4 0 0 32 0 32) (SSTORE 0 (RETURNDATASIZE)) (RETURN 0 32) (STOP) ) 0)) (SSTORE 0 (RETURNDATASIZE)) (STOP) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x23] - + Op.CODECOPY(dest_offset=0x0, offset=0x15, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=0x112233) - + Op.POP( - Op.CALL( - gas=0x9000, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x23] + + Op.CODECOPY(dest_offset=0x0, offset=0x15, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.POP( + Op.CALL( + gas=0x9000, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0xa2412b1e2a1e23e8fd87f52566c8a89f48682676"), # noqa: E501 + address=Address(0xA2412B1E2A1E23E8FD87F52566C8A89F48682676), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - Address("0xf234137fe508cc371f3da359ab482e4138d0b0c9"): Account( - storage={0: 32}, - ), - } + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_modexp_modsize0_returndatasize.py b/tests/ported_static/stReturnDataTest/test_modexp_modsize0_returndatasize.py index 0d3573a8561..9209d1f3b21 100644 --- a/tests/ported_static/stReturnDataTest/test_modexp_modsize0_returndatasize.py +++ b/tests/ported_static/stReturnDataTest/test_modexp_modsize0_returndatasize.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_modexp_modsize0_returndatasize. Ported from: -tests/static/state_tests/stReturnDataTest -modexp_modsize0_returndatasizeFiller.json +state_tests/stReturnDataTest/modexp_modsize0_returndatasizeFiller.json """ import pytest @@ -12,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,63 +28,55 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stReturnDataTest/modexp_modsize0_returndatasizeFiller.json", # noqa: E501 - ], + ["state_tests/stReturnDataTest/modexp_modsize0_returndatasizeFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101", # noqa: E501 - { - Address("0x4263c26963e4c1dd1cb69c116009e749f9e4eec2"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001010101", # noqa: E501 - { - Address("0x4263c26963e4c1dd1cb69c116009e749f9e4eec2"): Account( - storage={1: 1, 3: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000645442ddc2b70f66c1f6d2b296c0a875be7eddd0a80958cbc7425f1899ccf90511a5c318226e48ee23f130b44dc17a691ce66be5da18b85ed7943535b205aa125e9f59294a00f05155c23e97dac6b3a00b0c63c8411bf815fc183b420b4d9dc5f715040d5c60957f52d334b843197adec58c131c907cd96059fc5adce9dda351b5df3d666fcf3eb63c46851c1816e323f2119ebdf5ef35", # noqa: E501 - { - Address("0x4263c26963e4c1dd1cb69c116009e749f9e4eec2"): Account( - storage={1: 1, 3: 100} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100f536269e59acdb356459b59f1ea6acc924650f8f05dae101a3b463d33342dcc6265d1ba9465fd0f1106b3f03a4af0a0b553e8b6ba8682584ba19c3835430ff310904a717282064031bcf9185dd172dad65305ee0e61d0c638b0a0ef0f4e51653996020c2723faea116881e25fb3d554dbc51b180052c981fc79ca93567eb6ff0e619deeb2984ae3ca232523aa5bd21ea4f8caa12cb8cd90dbafb9bd6951dcaef0fc4a74d195f5341bc6c3d7217df82597b84c4e1bbef4f2ce8c32aedbd99430f4e1a59b886c4ceb9bf7a00a415c207f3a4ccf95d5483642f95a9b240806c508c29bb48de38c8e1229257d5d807229fb3708ad6ac619b133fd7c1fe3c375f90ce55689018465a8a3d7c08097d415c702e7f57fcd6de6ea55cca75c49b835c6c90172753948fbd5dee5a74a422e3169d0cf5665ffc9198dc7f3fa502da817f1c81af0843ef5bec2ca2e8f3e24a76ac7322dab5a5bda802b247f1cf5282936cd1cb115f40e71db8d62b58c7d6c0ae7c78888987c22ff6afae345ade859a9beb127d", # noqa: E501 - { - Address("0x4263c26963e4c1dd1cb69c116009e749f9e4eec2"): Account( - storage={1: 1, 3: 256} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000f3f14010101", # noqa: E501 - {}, + pytest.param( + 4, + 0, + 0, + id="d4", ), ], - ids=["case0", "case1", "case2", "case3", "case4"], ) @pytest.mark.pre_alloc_mutable def test_modexp_modsize0_returndatasize( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_modexp_modsize0_returndatasize.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 ) @@ -93,153 +90,122 @@ def test_modexp_modsize0_returndatasize( gas_limit=100000000000, ) - # Source: LLL + # Source: lll # { (CALLDATACOPY 0 0 (CALLDATASIZE)) [[1]] (CALLCODE (GAS) 5 0 0 (CALLDATASIZE) 1000 32) [[2]](MLOAD 1000) [[3]](RETURNDATASIZE) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=Op.CALLDATASIZE, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x3, value=Op.RETURNDATASIZE) - + Op.STOP - ), - storage={0x3: 0xFFFFFFFF}, + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=Op.CALLDATASIZE, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x3E8)) + + Op.SSTORE(key=0x3, value=Op.RETURNDATASIZE) + + Op.STOP, + storage={3: 0xFFFFFFFF}, nonce=0, - address=Address("0x4263c26963e4c1dd1cb69c116009e749f9e4eec2"), # noqa: E501 + address=Address(0x4263C26963E4C1DD1CB69C116009E749F9E4EEC2), # noqa: E501 ) pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stReturnDataTest/modexp_modsize0_returndatasizeFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101", # noqa: E501 - { - Address("0x4263c26963e4c1dd1cb69c116009e749f9e4eec2"): Account( - storage={1: 1} - ) - }, + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 1, 2: 0, 3: 0})}, + }, + { + "indexes": {"data": 1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 1, 2: 0, 3: 1})}, + }, + { + "indexes": {"data": 2, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 1, 2: 0, 3: 100})}, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 1, 2: 0, 3: 256})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes( + "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101" # noqa: E501 ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001010101", # noqa: E501 - { - Address("0x4263c26963e4c1dd1cb69c116009e749f9e4eec2"): Account( - storage={1: 1, 3: 1} - ) - }, + Bytes( + "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001010101" # noqa: E501 ), - ( - "0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000645442ddc2b70f66c1f6d2b296c0a875be7eddd0a80958cbc7425f1899ccf90511a5c318226e48ee23f130b44dc17a691ce66be5da18b85ed7943535b205aa125e9f59294a00f05155c23e97dac6b3a00b0c63c8411bf815fc183b420b4d9dc5f715040d5c60957f52d334b843197adec58c131c907cd96059fc5adce9dda351b5df3d666fcf3eb63c46851c1816e323f2119ebdf5ef35", # noqa: E501 - { - Address("0x4263c26963e4c1dd1cb69c116009e749f9e4eec2"): Account( - storage={1: 1, 3: 100} - ) - }, + Bytes( + "0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000645442ddc2b70f66c1f6d2b296c0a875be7eddd0a80958cbc7425f1899ccf90511a5c318226e48ee23f130b44dc17a691ce66be5da18b85ed7943535b205aa125e9f59294a00f05155c23e97dac6b3a00b0c63c8411bf815fc183b420b4d9dc5f715040d5c60957f52d334b843197adec58c131c907cd96059fc5adce9dda351b5df3d666fcf3eb63c46851c1816e323f2119ebdf5ef35" # noqa: E501 ), - ( - "000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100f536269e59acdb356459b59f1ea6acc924650f8f05dae101a3b463d33342dcc6265d1ba9465fd0f1106b3f03a4af0a0b553e8b6ba8682584ba19c3835430ff310904a717282064031bcf9185dd172dad65305ee0e61d0c638b0a0ef0f4e51653996020c2723faea116881e25fb3d554dbc51b180052c981fc79ca93567eb6ff0e619deeb2984ae3ca232523aa5bd21ea4f8caa12cb8cd90dbafb9bd6951dcaef0fc4a74d195f5341bc6c3d7217df82597b84c4e1bbef4f2ce8c32aedbd99430f4e1a59b886c4ceb9bf7a00a415c207f3a4ccf95d5483642f95a9b240806c508c29bb48de38c8e1229257d5d807229fb3708ad6ac619b133fd7c1fe3c375f90ce55689018465a8a3d7c08097d415c702e7f57fcd6de6ea55cca75c49b835c6c90172753948fbd5dee5a74a422e3169d0cf5665ffc9198dc7f3fa502da817f1c81af0843ef5bec2ca2e8f3e24a76ac7322dab5a5bda802b247f1cf5282936cd1cb115f40e71db8d62b58c7d6c0ae7c78888987c22ff6afae345ade859a9beb127d", # noqa: E501 - { - Address("0x4263c26963e4c1dd1cb69c116009e749f9e4eec2"): Account( - storage={1: 1, 3: 256} - ) - }, + Hash(0x100) + + Hash(0x100) + + Hash(0x100) + + Hash( + 0xF536269E59ACDB356459B59F1EA6ACC924650F8F05DAE101A3B463D33342DCC6 + ) + + Hash( + 0x265D1BA9465FD0F1106B3F03A4AF0A0B553E8B6BA8682584BA19C3835430FF31 + ) + + Hash( + 0x904A717282064031BCF9185DD172DAD65305EE0E61D0C638B0A0EF0F4E51653 + ) + + Hash( + 0x996020C2723FAEA116881E25FB3D554DBC51B180052C981FC79CA93567EB6FF0 + ) + + Hash( + 0xE619DEEB2984AE3CA232523AA5BD21EA4F8CAA12CB8CD90DBAFB9BD6951DCAEF + ) + + Hash( + 0xFC4A74D195F5341BC6C3D7217DF82597B84C4E1BBEF4F2CE8C32AEDBD99430F + ) + + Hash( + 0x4E1A59B886C4CEB9BF7A00A415C207F3A4CCF95D5483642F95A9B240806C508C + ) + + Hash( + 0x29BB48DE38C8E1229257D5D807229FB3708AD6AC619B133FD7C1FE3C375F90CE + ) + + Hash( + 0x55689018465A8A3D7C08097D415C702E7F57FCD6DE6EA55CCA75C49B835C6C90 + ) + + Hash( + 0x172753948FBD5DEE5A74A422E3169D0CF5665FFC9198DC7F3FA502DA817F1C81 + ) + + Hash( + 0xAF0843EF5BEC2CA2E8F3E24A76AC7322DAB5A5BDA802B247F1CF5282936CD1CB + ) + + Hash( + 0x115F40E71DB8D62B58C7D6C0AE7C78888987C22FF6AFAE345ADE859A9BEB127D ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000f3f14010101", # noqa: E501 - {}, + Bytes( + "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000f3f14010101" # noqa: E501 ), - ], - ids=["case0", "case1", "case2", "case3", "case4"], -) -@pytest.mark.pre_alloc_mutable -def test_modexp_modsize0_returndatasize_from_osaka( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000000, - ) - - # Source: LLL - # { (CALLDATACOPY 0 0 (CALLDATASIZE)) [[1]] (CALLCODE (GAS) 5 0 0 (CALLDATASIZE) 1000 32) [[2]](MLOAD 1000) [[3]](RETURNDATASIZE) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=Op.CALLDATASIZE, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x3, value=Op.RETURNDATASIZE) - + Op.STOP - ), - storage={0x3: 0xFFFFFFFF}, - nonce=0, - address=Address("0x4263c26963e4c1dd1cb69c116009e749f9e4eec2"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + ] + tx_gas = [10000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_0_0_following_successful_create.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_0_0_following_successful_create.py index 947f9555070..d6ff2c451ff 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_0_0_following_successful_create.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_0_0_following_successful_create.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_0_0_following_successful_create. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_0_0_following_successful_createFiller.json +state_tests/stReturnDataTest/returndatacopy_0_0_following_successful_createFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_0_0_following_successful_createFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_0_0_following_successful_createFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_returndatacopy_0_0_following_successful_create( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_0_0_following_successful_create.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,39 +50,36 @@ def test_returndatacopy_0_0_following_successful_create( gas_limit=111669149696, ) - # Source: LLL + # Source: lll # { (CREATE 0 0 (lll (seq (SSTORE 0 1) (STOP)) 0)) (RETURNDATACOPY 0 0 0) (SSTORE 0 0) (STOP) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x7] - + Op.CODECOPY(dest_offset=0x0, offset=0x1D, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) - + Op.SSTORE(key=0x0, value=0x0) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.SSTORE(key=0x0, value=0x1) - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x7] + + Op.CODECOPY(dest_offset=0x0, offset=0x1D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) + + Op.SSTORE(key=0x0, value=0x0) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=100000, ) post = { - Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5"): Account( - storage={0: 1}, + contract_0: Account(storage={0: 0}), + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 1} ), } diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_callcode.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_callcode.py index 0da6b3c4d66..877fbe70c32 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_callcode.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_callcode.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_after_failing_callcode. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_after_failing_callcodeFiller.json +state_tests/stReturnDataTest/returndatacopy_after_failing_callcodeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_after_failing_callcodeFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_after_failing_callcodeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_returndatacopy_after_failing_callcode( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_after_failing_callcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x285D0814904BEBB3B4ADD3B531A07647C2D08F59) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) - callee = Address("0x285d0814904bebb3b4add3b531a07647c2d08f59") env = Environment( fee_recipient=coinbase, @@ -49,47 +49,45 @@ def test_returndatacopy_after_failing_callcode( gas_limit=111669149696, ) - # Source: LLL + pre[addr] = Account(balance=0x10000000) + # Source: lll # { (CALLCODE 0 0 0 0 0 0) (RETURNDATACOPY 0x0 0x0 32) (SSTORE 0 (MLOAD 0))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x0, - address=0x665521FD750490FD880EE369C267FCA44ED8A078, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x0, + address=0x665521FD750490FD880EE369C267FCA44ED8A078, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0xFFFFFFFFFFFF}, + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 0xFFFFFFFFFFFF}, nonce=0, - address=Address("0x24878b81dd27c2d76258b421acddf26835bc1484"), # noqa: E501 + address=Address(0x24878B81DD27C2D76258B421ACDDF26835BC1484), # noqa: E501 ) - pre[callee] = Account(balance=0x10000000, nonce=0) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0xfd + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.REVERT, balance=0x6400000000, nonce=0, - address=Address("0x665521fd750490fd880ee369c267fca44ed8a078"), # noqa: E501 + address=Address(0x665521FD750490FD880EE369C267FCA44ED8A078), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 0xFFFFFFFFFFFF}), - } + post = {target: Account(storage={0: 0xFFFFFFFFFFFF})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_create.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_create.py index 7b5ddc311b0..46b78f692c5 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_create.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_create.py @@ -2,8 +2,7 @@ Returndatacopy after failing create case due to 0xfd code. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_afterFailing_createFiller.json +state_tests/stReturnDataTest/returndatacopy_afterFailing_createFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_afterFailing_createFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_afterFailing_createFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,7 +34,7 @@ def test_returndatacopy_after_failing_create( pre: Alloc, ) -> None: """Returndatacopy after failing create case due to 0xfd code.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,31 +48,28 @@ def test_returndatacopy_after_failing_create( gas_limit=111669149696, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x600260005260206000fd) (create 0 22 10) (SSTORE 0 (RETURNDATASIZE)) (RETURNDATACOPY 0 0 32) (SSTORE 1 (MLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x600260005260206000FD) - + Op.POP(Op.CREATE(value=0x0, offset=0x16, size=0xA)) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x600260005260206000FD) + + Op.POP(Op.CREATE(value=0x0, offset=0x16, size=0xA)) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x1f2642dd423c1bac7e318ee8df07608c3216d725"), # noqa: E501 + address=Address(0x1F2642DD423C1BAC7E318EE8DF07608C3216D725), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 32, 1: 2}), - } + post = {target: Account(storage={0: 32, 1: 2})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_delegatecall.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_delegatecall.py index 0f44a12853b..52902c450df 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_delegatecall.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_delegatecall.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_after_failing_delegatecall. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_after_failing_delegatecallFiller.json +state_tests/stReturnDataTest/returndatacopy_after_failing_delegatecallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_after_failing_delegatecallFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_after_failing_delegatecallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_returndatacopy_after_failing_delegatecall( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_after_failing_delegatecall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x905C744ACAF4D8F5436C9C5E91E0626D44ADD821) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) - contract = Address("0x905c744acaf4d8f5436c9c5e91e0626d44add821") env = Environment( fee_recipient=coinbase, @@ -49,46 +49,48 @@ def test_returndatacopy_after_failing_delegatecall( gas_limit=111669149696, ) - callee = pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x2710, - address=0x665521FD750490FD880EE369C267FCA44ED8A078, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + pre[addr] = Account(balance=0x100000) + # Source: lll + # { (DELEGATECALL 10000 0 0 0 0) (RETURNDATACOPY 0x0 0x0 32) ( SSTORE 0 (MLOAD 0))} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x2710, + address=0x665521FD750490FD880EE369C267FCA44ED8A078, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, storage={ - 0x0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, nonce=0, - address=Address("0x5242f2ad00427020024f504ae629e0576ca6a01a"), # noqa: E501 + address=Address(0x5242F2AD00427020024F504AE629E0576CA6A01A), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0xfd + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.REVERT, balance=0x6400000000, nonce=0, - address=Address("0x665521fd750490fd880ee369c267fca44ed8a078"), # noqa: E501 + address=Address(0x665521FD750490FD880EE369C267FCA44ED8A078), # noqa: E501 ) - pre[contract] = Account(balance=0x100000, nonce=0) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=addr, + data=Bytes(""), gas_limit=100000, ) post = { - callee: Account( + addr_2: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_staticcall.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_staticcall.py index 7a42110f985..141faf2ddfb 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_staticcall.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_failing_staticcall.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_after_failing_staticcall. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_after_failing_staticcallFiller.json +state_tests/stReturnDataTest/returndatacopy_after_failing_staticcallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_after_failing_staticcallFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_after_failing_staticcallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_returndatacopy_after_failing_staticcall( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_after_failing_staticcall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x905C744ACAF4D8F5436C9C5E91E0626D44ADD821) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) - callee_1 = Address("0x905c744acaf4d8f5436c9c5e91e0626d44add821") env = Environment( fee_recipient=coinbase, @@ -49,51 +49,50 @@ def test_returndatacopy_after_failing_staticcall( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLER) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - balance=0x6400000000, - nonce=0, - address=Address("0x52fd0cbc013ee33577eec035031dbc4489a1e0bd"), # noqa: E501 - ) - # Source: LLL + pre[addr] = Account(balance=0x100000) + # Source: lll # { (STATICCALL 0 0 0 0 0) (RETURNDATACOPY 0x0 0x0 32) ( SSTORE 0 (MLOAD 0))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x0, - address=0x52FD0CBC013EE33577EEC035031DBC4489A1E0BD, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x0, + address=0x52FD0CBC013EE33577EEC035031DBC4489A1E0BD, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, storage={ - 0x0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, nonce=0, - address=Address("0x7acae812141b61313bea3d8b33b2f9c69f4e6720"), # noqa: E501 + address=Address(0x7ACAE812141B61313BEA3D8B33B2F9C69F4E6720), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0x0 (CALLER)) (RETURN 0 32) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLER) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, + balance=0x6400000000, + nonce=0, + address=Address(0x52FD0CBC013EE33577EEC035031DBC4489A1E0BD), # noqa: E501 ) - pre[callee_1] = Account(balance=0x100000, nonce=0) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_revert_in_staticcall.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_revert_in_staticcall.py index 8536e4234d1..042cbcb5917 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_revert_in_staticcall.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_revert_in_staticcall.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_after_revert_in_staticcall. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_after_revert_in_staticcallFiller.json +state_tests/stReturnDataTest/returndatacopy_after_revert_in_staticcallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_after_revert_in_staticcallFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_after_revert_in_staticcallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_returndatacopy_after_revert_in_staticcall( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_after_revert_in_staticcall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x6C7410DA158FA432392FCAD5989E1B28280F99D8) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) - callee_1 = Address("0x6c7410da158fa432392fcad5989e1b28280f99d8") env = Environment( fee_recipient=coinbase, @@ -49,51 +49,50 @@ def test_returndatacopy_after_revert_in_staticcall( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLER) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - ), - balance=0x6400000000, - nonce=0, - address=Address("0x3706580d60f246111e3848ffba4f4ab76c9a01e8"), # noqa: E501 - ) - # Source: LLL + pre[addr] = Account(balance=0x1000000) + # Source: lll # { (STATICCALL 60000 0 0 0 0) (RETURNDATACOPY 0x0 0x0 32) ( SSTORE 0 (MLOAD 0))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xEA60, - address=0x3706580D60F246111E3848FFBA4F4AB76C9A01E8, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=0x3706580D60F246111E3848FFBA4F4AB76C9A01E8, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, storage={ - 0x0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, nonce=0, - address=Address("0x4bedf636cb41e5dcf09d038de843004824dfbb3a"), # noqa: E501 + address=Address(0x4BEDF636CB41E5DCF09D038DE843004824DFBB3A), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0x0 (CALLER)) (REVERT 0 32) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLER) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + balance=0x6400000000, + nonce=0, + address=Address(0x3706580D60F246111E3848FFBA4F4AB76C9A01E8), # noqa: E501 ) - pre[callee_1] = Account(balance=0x1000000, nonce=0) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account( + target: Account( storage={0: 0x4BEDF636CB41E5DCF09D038DE843004824DFBB3A}, ), } diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_callcode.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_callcode.py index c349211cbcd..d1ebd26a452 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_callcode.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_callcode.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_after_successful_callcode. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_after_successful_callcodeFiller.json +state_tests/stReturnDataTest/returndatacopy_after_successful_callcodeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_after_successful_callcodeFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_after_successful_callcodeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatacopy_after_successful_callcode( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_after_successful_callcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,52 +48,51 @@ def test_returndatacopy_after_successful_callcode( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + # Source: lll + # { (CALLCODE 60000 0 0 0 0 0) (RETURNDATACOPY 0x0 0x0 32) (SSTORE 0 (MLOAD 0))} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0xEA60, + address=0x53B272D553D8179D017AAE6F3BADF0570743593A, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - balance=0x6400000000, + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 0xFFFFFFFFFFFF}, nonce=0, - address=Address("0x53b272d553d8179d017aae6f3badf0570743593a"), # noqa: E501 + address=Address(0x7E319028B16C006ECC1B068CCE1A1C9B0B457B0D), # noqa: E501 ) - # Source: LLL - # { (CALLCODE 60000 0 0 0 0 0) (RETURNDATACOPY 0x0 0x0 32) (SSTORE 0 (MLOAD 0))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xEA60, - address=0x53B272D553D8179D017AAE6F3BADF0570743593A, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0xFFFFFFFFFFFF}, + # Source: lll + # { (MSTORE 0x0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (RETURN 0 32) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, + balance=0x6400000000, nonce=0, - address=Address("0x7e319028b16c006ecc1b068cce1a1c9b0b457b0d"), # noqa: E501 + address=Address(0x53B272D553D8179D017AAE6F3BADF0570743593A), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_delegatecall.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_delegatecall.py index d6e104d0314..0aa89b298c5 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_delegatecall.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_delegatecall.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_after_successful_delegatecall. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_after_successful_delegatecallFiller.json +state_tests/stReturnDataTest/returndatacopy_after_successful_delegatecallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_after_successful_delegatecallFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_after_successful_delegatecallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatacopy_after_successful_delegatecall( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_after_successful_delegatecall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,50 +48,49 @@ def test_returndatacopy_after_successful_delegatecall( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLER) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), - balance=0x6400000000, - nonce=0, - address=Address("0x52fd0cbc013ee33577eec035031dbc4489a1e0bd"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (DELEGATECALL 60000 0 0 0 0) (RETURNDATACOPY 0x0 0x0 32) ( SSTORE 0 (MLOAD 0))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0xEA60, - address=0x52FD0CBC013EE33577EEC035031DBC4489A1E0BD, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0xEA60, + address=0x52FD0CBC013EE33577EEC035031DBC4489A1E0BD, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, storage={ - 0x0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, nonce=0, - address=Address("0xb669c96e9e7ccfd69d0fd0ffcf9260e9d1e6f5c4"), # noqa: E501 + address=Address(0xB669C96E9E7CCFD69D0FD0FFCF9260E9D1E6F5C4), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0x0 (CALLER)) (RETURN 0 32) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLER) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, + balance=0x6400000000, + nonce=0, + address=Address(0x52FD0CBC013EE33577EEC035031DBC4489A1E0BD), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account( + target: Account( storage={0: 0xC102734F6A1E4747310179C0A0FC16E674AA901D}, ), } diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_staticcall.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_staticcall.py index 520666038a4..7bfb2fcf9f3 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_staticcall.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_after_successful_staticcall.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_after_successful_staticcall. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_after_successful_staticcallFiller.json +state_tests/stReturnDataTest/returndatacopy_after_successful_staticcallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_after_successful_staticcallFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_after_successful_staticcallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_returndatacopy_after_successful_staticcall( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_after_successful_staticcall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x6C7410DA158FA432392FCAD5989E1B28280F99D8) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) - callee_1 = Address("0x6c7410da158fa432392fcad5989e1b28280f99d8") env = Environment( fee_recipient=coinbase, @@ -49,51 +49,50 @@ def test_returndatacopy_after_successful_staticcall( gas_limit=111669149696, ) - # Source: LLL + pre[addr] = Account(balance=0x1000000) + # Source: lll # { (STATICCALL 60000 0 0 0 0) (RETURNDATACOPY 0x0 0x0 32) ( SSTORE 0 (MLOAD 0))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xEA60, - address=0x52FD0CBC013EE33577EEC035031DBC4489A1E0BD, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=0x52FD0CBC013EE33577EEC035031DBC4489A1E0BD, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, storage={ - 0x0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, nonce=0, - address=Address("0x4bedf636cb41e5dcf09d038de843004824dfbb3a"), # noqa: E501 + address=Address(0x4BEDF636CB41E5DCF09D038DE843004824DFBB3A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLER) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0x0 (CALLER)) (RETURN 0 32) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLER) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, balance=0x6400000000, nonce=0, - address=Address("0x52fd0cbc013ee33577eec035031dbc4489a1e0bd"), # noqa: E501 + address=Address(0x52FD0CBC013EE33577EEC035031DBC4489A1E0BD), # noqa: E501 ) - pre[callee_1] = Account(balance=0x1000000, nonce=0) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account( + target: Account( storage={0: 0x4BEDF636CB41E5DCF09D038DE843004824DFBB3A}, ), } diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_call.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_call.py index a0e150d6bb2..fd8e16e7fd6 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_call.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_call.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_following_call. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_following_callFiller.json +state_tests/stReturnDataTest/returndatacopy_following_callFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_following_callFiller.json", # noqa: E501 - ], + ["state_tests/stReturnDataTest/returndatacopy_following_callFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_returndatacopy_following_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_following_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,51 +46,50 @@ def test_returndatacopy_following_call( gas_limit=111669149696, ) - # Source: LLL - # { (seq (CALL 0x0900000000 0 0 0 0 0) (RETURNDATACOPY 0 0 32) (SSTORE 0 (MLOAD 0)) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x900000000, - address=0x9898DD5E5C526B55EC49B1047E298705C13279F1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x1}, + # Source: lll + # { (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0x2faf9d2a81304665c9a06a42935ddc42b24f488b"), # noqa: E501 + address=Address(0x9898DD5E5C526B55EC49B1047E298705C13279F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + # Source: lll + # { (seq (CALL 0x0900000000 0 0 0 0 0) (RETURNDATACOPY 0 0 32) (SSTORE 0 (MLOAD 0)) )} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x900000000, + address=0x9898DD5E5C526B55EC49B1047E298705C13279F1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x9898dd5e5c526b55ec49b1047e298705c13279f1"), # noqa: E501 + address=Address(0x2FAF9D2A81304665C9A06A42935DDC42B24F488B), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account( + target: Account( storage={ 0: 0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_create.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_create.py index bdb34d60c10..f39d48ec707 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_create.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_create.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_following_create. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_following_createFiller.json +state_tests/stReturnDataTest/returndatacopy_following_createFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_following_createFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_following_createFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatacopy_following_create( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_following_create.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,54 +48,48 @@ def test_returndatacopy_following_create( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + # Source: lll + # { (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0x9898dd5e5c526b55ec49b1047e298705c13279f1"), # noqa: E501 + address=Address(0x9898DD5E5C526B55EC49B1047E298705C13279F1), # noqa: E501 ) - # Source: LLL + # Source: lll # { (seq (create (STOP)) (RETURNDATACOPY 0 0 32) (SSTORE 0 (MLOAD 0)) )} - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x0, value=Op.MSIZE) - + Op.PUSH1[0x2] - + Op.CODECOPY( - dest_offset=Op.MLOAD(offset=0x0), - offset=0x28, - size=Op.DUP1, - ) - + Op.MLOAD(offset=0x0) - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.INVALID - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x0, value=Op.MSIZE) + + Op.PUSH1[0x2] + + Op.CODECOPY( + dest_offset=Op.MLOAD(offset=0x0), offset=0x28, size=Op.DUP1 + ) + + Op.MLOAD(offset=0x0) + + Op.PUSH1[0x0] + + Op.POP(Op.CREATE) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP + + Op.INVALID + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0xb2f12f3b77dad19c11029cb8ee4eecb144e05ad3"), # noqa: E501 + address=Address(0xB2F12F3B77DAD19C11029CB8EE4EECB144E05AD3), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_failing_call.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_failing_call.py index 9e2bd76e78c..568faf33ab5 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_failing_call.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_failing_call.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_following_failing_call. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_following_failing_callFiller.json +state_tests/stReturnDataTest/returndatacopy_following_failing_callFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_following_failing_callFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_following_failing_callFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatacopy_following_failing_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_following_failing_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,45 +48,43 @@ def test_returndatacopy_following_failing_call( gas_limit=111669149696, ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0xfd + addr = pre.deploy_contract( # noqa: F841 code=Op.REVERT, nonce=0, - address=Address("0x3141bb954e8294e47a14ebd08229f30e6294ba83"), # noqa: E501 + address=Address(0x3141BB954E8294E47A14EBD08229F30E6294BA83), # noqa: E501 ) - # Source: LLL + # Source: lll # { (CALL 0x0900000000 0 0 0 0 0) (RETURNDATACOPY 0 1 32) (SSTORE 0 (MLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x900000000, - address=0x3141BB954E8294E47A14EBD08229F30E6294BA83, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x900000000, + address=0x3141BB954E8294E47A14EBD08229F30E6294BA83, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x1, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x1}, + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x1, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x71a277f82c43ff98682eb8d6db4a3ecd680407eb"), # noqa: E501 + address=Address(0x71A277F82C43FF98682EB8D6DB4A3ECD680407EB), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_revert.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_revert.py index 683e2ec1014..a2121b9b101 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_revert.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_following_revert. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_following_revertFiller.json +state_tests/stReturnDataTest/returndatacopy_following_revertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_following_revertFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_following_revertFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatacopy_following_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_following_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,51 +48,50 @@ def test_returndatacopy_following_revert( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 - ) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - ), + # Source: lll + # { (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (REVERT 0 32)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0x2159735ba26480adc67f0ee9d4a05e5405a5cf83"), # noqa: E501 + address=Address(0x2159735BA26480ADC67F0EE9D4A05E5405A5CF83), # noqa: E501 ) - # Source: LLL + # Source: lll # { (seq (CALL 0x0900000000 0 0 0 0 0) (RETURNDATACOPY 0 0 32) (SSTORE 0 (MLOAD 0)) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x900000000, - address=0x2159735BA26480ADC67F0EE9D4A05E5405A5CF83, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x900000000, + address=0x2159735BA26480ADC67F0EE9D4A05E5405A5CF83, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x1}, + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x2faf9d2a81304665c9a06a42935ddc42b24f488b"), # noqa: E501 + address=Address(0x2FAF9D2A81304665C9A06A42935DDC42B24F488B), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account( + target: Account( storage={ 0: 0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_revert_in_create.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_revert_in_create.py index 4ca2c1a63e1..30ded33f7c6 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_revert_in_create.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_revert_in_create.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_following_revert_in_create. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_following_revert_in_createFiller.json +state_tests/stReturnDataTest/returndatacopy_following_revert_in_createFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_following_revert_in_createFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_following_revert_in_createFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatacopy_following_revert_in_create( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_following_revert_in_create.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,42 +48,38 @@ def test_returndatacopy_following_revert_in_create( gas_limit=111669149696, ) - # Source: LLL + # Source: lll # { (seq (CREATE 0 0 (lll (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (REVERT 0 32) (STOP) ) 0)) (RETURNDATACOPY 0 0 32) (SSTORE 0 (MLOAD 0)) (STOP) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x29] - + Op.CODECOPY(dest_offset=0x0, offset=0x1E, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 - ) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x29] + + Op.CODECOPY(dest_offset=0x0, offset=0x1E, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0x70b8403604734d52990000d1503d165b056dc00a"), # noqa: E501 + address=Address(0x70B8403604734D52990000D1503D165B056DC00A), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) post = { - contract: Account( + target: Account( storage={ 0: 0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_successful_create.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_successful_create.py index e26e8357441..09e5f12003f 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_successful_create.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_successful_create.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_following_successful_create. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_following_successful_createFiller.json +state_tests/stReturnDataTest/returndatacopy_following_successful_createFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_following_successful_createFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_following_successful_createFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatacopy_following_successful_create( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_following_successful_create.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,42 +48,36 @@ def test_returndatacopy_following_successful_create( gas_limit=111669149696, ) - # Source: LLL + # Source: lll # { (create (STOP)) (RETURNDATACOPY 0 1 32) (SSTORE 0 (MLOAD 0)) } - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x0, value=Op.MSIZE) - + Op.PUSH1[0x2] - + Op.CODECOPY( - dest_offset=Op.MLOAD(offset=0x0), - offset=0x28, - size=Op.DUP1, - ) - + Op.MLOAD(offset=0x0) - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x1, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - + Op.INVALID - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x2}, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x0, value=Op.MSIZE) + + Op.PUSH1[0x2] + + Op.CODECOPY( + dest_offset=Op.MLOAD(offset=0x0), offset=0x28, size=Op.DUP1 + ) + + Op.MLOAD(offset=0x0) + + Op.PUSH1[0x0] + + Op.POP(Op.CREATE) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x1, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP + + Op.INVALID + + Op.STOP * 2, + storage={0: 2}, nonce=0, - address=Address("0xbabe109963095efa4c742d15426f841a7033d6aa"), # noqa: E501 + address=Address(0xBABE109963095EFA4C742D15426F841A7033D6AA), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 2}), - } + post = {target: Account(storage={0: 2})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_too_big_transfer.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_too_big_transfer.py index 7a3cadfacdc..83a4c8018d6 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_following_too_big_transfer.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_following_too_big_transfer.py @@ -1,9 +1,8 @@ """ -Test tries RETURNDATACOPY with a non-zero size after a CALL that fails... +Test: this test tries RETURNDATACOPY with a non-zero size after a CALL... Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_following_too_big_transferFiller.json +state_tests/stReturnDataTest/returndatacopy_following_too_big_transferFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_following_too_big_transferFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatacopy_following_too_big_transferFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatacopy_following_too_big_transfer( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test tries RETURNDATACOPY with a non-zero size after a CALL that...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test: tis test tries RETURNDATACOPY with a non-zero size after a CALL...""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,51 +48,48 @@ def test_returndatacopy_following_too_big_transfer( gas_limit=111669149696, ) - # Source: LLL - # { (seq (CALL 0x0900000000 10000000 0 0 0 0) (RETURNDATACOPY 0 0 32) (SSTORE 0 200) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x900000000, - address=0x9898DD5E5C526B55EC49B1047E298705C13279F1, - value=0x989680, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=0xC8) - + Op.STOP - ), - storage={0x0: 0x1}, + # Source: lll + # { (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0x386e9fc96c1e60f449c2df320f37545cca30f58d"), # noqa: E501 + address=Address(0x9898DD5E5C526B55EC49B1047E298705C13279F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + # Source: lll + # { (seq (CALL 0x0900000000 10000000 0 0 0 0) (RETURNDATACOPY 0 0 32) (SSTORE 0 200) )} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x900000000, + address=0x9898DD5E5C526B55EC49B1047E298705C13279F1, + value=0x989680, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + ) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=0xC8) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x9898dd5e5c526b55ec49b1047e298705c13279f1"), # noqa: E501 + address=Address(0x386E9FC96C1E60F449C2DF320F37545CCA30F58D), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_initial.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_initial.py index 463d7d68db5..154bc32035b 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_initial.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_initial.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_initial. Ported from: -tests/static/state_tests/stReturnDataTest/returndatacopy_initialFiller.json +state_tests/stReturnDataTest/returndatacopy_initialFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_initialFiller.json", # noqa: E501 - ], + ["state_tests/stReturnDataTest/returndatacopy_initialFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_returndatacopy_initial( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_initial.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -47,30 +46,27 @@ def test_returndatacopy_initial( gas_limit=111669149696, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x112233445566778899aabbccddeeff) (RETURNDATACOPY 0 0 32) (SSTORE 0 (MLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x112233445566778899AABBCCDDEEFF) - + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x112233445566778899AABBCCDDEEFF) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7d970b9ad2e5f64518ff774031441f22b78be4c7"), # noqa: E501 + address=Address(0x7D970B9AD2E5F64518FF774031441F22B78BE4C7), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_initial_256.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_initial_256.py index a3daf44e38a..a4b18bb5286 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_initial_256.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_initial_256.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_initial_256. Ported from: -tests/static/state_tests/stReturnDataTest/returndatacopy_initial_256Filler.json +state_tests/stReturnDataTest/returndatacopy_initial_256Filler.json """ import pytest @@ -12,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,43 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_initial_256Filler.json", # noqa: E501 - ], + ["state_tests/stReturnDataTest/returndatacopy_initial_256Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "0000000000000000000000000000000000000000000000000000000000000064", - "0000000000000000000000000000000000000000000000000000000000000063", - "0000000000000000000000000000000000000000000000000000000000000065", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_returndatacopy_initial_256( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_initial_256.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -57,37 +74,38 @@ def test_returndatacopy_initial_256( gas_limit=111669149696, ) - # Source: LLL + # Source: lll # { (RETURNDATACOPY (- 0 (CALLDATALOAD 0)) 0 0x64) (MSTORE 0 0x112233445566778899aabbccddeeff) (SSTORE 0 (MLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.RETURNDATACOPY( - dest_offset=Op.SUB(0x0, Op.CALLDATALOAD(offset=0x0)), - offset=0x0, - size=0x64, - ) - + Op.MSTORE(offset=0x0, value=0x112233445566778899AABBCCDDEEFF) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.RETURNDATACOPY( + dest_offset=Op.SUB(0x0, Op.CALLDATALOAD(offset=0x0)), + offset=0x0, + size=0x64, + ) + + Op.MSTORE(offset=0x0, value=0x112233445566778899AABBCCDDEEFF) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x28f194b678152b435b5910dbdf69c091fa056347"), # noqa: E501 + address=Address(0x28F194B678152B435B5910DBDF69C091FA056347), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(0x64), + Hash(0x63), + Hash(0x65), + ] + tx_gas = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_initial_big_sum.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_initial_big_sum.py index a8680cd6470..c9bbeb936d4 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_initial_big_sum.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_initial_big_sum.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_initial_big_sum. Ported from: -tests/static/state_tests/stReturnDataTest -returndatacopy_initial_big_sumFiller.json +state_tests/stReturnDataTest/returndatacopy_initial_big_sumFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_initial_big_sumFiller.json", # noqa: E501 - ], + ["state_tests/stReturnDataTest/returndatacopy_initial_big_sumFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_returndatacopy_initial_big_sum( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_initial_big_sum.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,34 +46,29 @@ def test_returndatacopy_initial_big_sum( gas_limit=111669149696, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x112233445566778899aabbccddeeff) (RETURNDATACOPY 0 (EXP 2 63) (EXP 2 63)) (SSTORE 0 (MLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x112233445566778899AABBCCDDEEFF) - + Op.RETURNDATACOPY( - dest_offset=0x0, - offset=Op.EXP(0x2, 0x3F), - size=Op.EXP(0x2, 0x3F), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x112233445566778899AABBCCDDEEFF) + + Op.RETURNDATACOPY( + dest_offset=0x0, offset=Op.EXP(0x2, 0x3F), size=Op.EXP(0x2, 0x3F) + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3c975790c6cbb489ae5eaf7af45202f98dffccdf"), # noqa: E501 + address=Address(0x3C975790C6CBB489AE5EAF7AF45202F98DFFCCDF), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatacopy_overrun.py b/tests/ported_static/stReturnDataTest/test_returndatacopy_overrun.py index 09b6a7ab02a..bc3789859a1 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatacopy_overrun.py +++ b/tests/ported_static/stReturnDataTest/test_returndatacopy_overrun.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_returndatacopy_overrun. Ported from: -tests/static/state_tests/stReturnDataTest/returndatacopy_overrunFiller.json +state_tests/stReturnDataTest/returndatacopy_overrunFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stReturnDataTest/returndatacopy_overrunFiller.json", # noqa: E501 - ], + ["state_tests/stReturnDataTest/returndatacopy_overrunFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_returndatacopy_overrun( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatacopy_overrun.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -47,55 +46,52 @@ def test_returndatacopy_overrun( gas_limit=111669149696, ) - # Source: LLL - # { (seq (CALL 0x0900000000 0 0 0 0 0) (RETURNDATACOPY 0 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 100) (SSTORE 0 (MLOAD 0)) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x900000000, - address=0x9898DD5E5C526B55EC49B1047E298705C13279F1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.RETURNDATACOPY( - dest_offset=0x0, - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 - size=0x64, - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x1}, + # Source: lll + # { (seq (MSTORE 0 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff) (RETURN 0 32)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0x36e328acf112f37630c605bb27c130c5646d2915"), # noqa: E501 + address=Address(0x9898DD5E5C526B55EC49B1047E298705C13279F1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + # Source: lll + # { (seq (CALL 0x0900000000 0 0 0 0 0) (RETURNDATACOPY 0 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 100) (SSTORE 0 (MLOAD 0)) )} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x900000000, + address=0x9898DD5E5C526B55EC49B1047E298705C13279F1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + ) + + Op.RETURNDATACOPY( + dest_offset=0x0, + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 + size=0x64, + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x9898dd5e5c526b55ec49b1047e298705c13279f1"), # noqa: E501 + address=Address(0x36E328ACF112F37630C605BB27C130C5646D2915), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_callcode.py b/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_callcode.py index 9f98d8813aa..bcaf88ed0c1 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_callcode.py +++ b/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_callcode.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatasize_after_failing_callcode. Ported from: -tests/static/state_tests/stReturnDataTest -returndatasize_after_failing_callcodeFiller.json +state_tests/stReturnDataTest/returndatasize_after_failing_callcodeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatasize_after_failing_callcodeFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatasize_after_failing_callcodeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_returndatasize_after_failing_callcode( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatasize_after_failing_callcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x285D0814904BEBB3B4ADD3B531A07647C2D08F59) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) - callee = Address("0x285d0814904bebb3b4add3b531a07647c2d08f59") env = Environment( fee_recipient=coinbase, @@ -49,44 +49,44 @@ def test_returndatasize_after_failing_callcode( gas_limit=111669149696, ) - pre[callee] = Account(balance=0x10000000, nonce=0) - # Source: raw bytecode - pre.deploy_contract( - code=Op.REVERT, - balance=0x6400000000, - nonce=0, - address=Address("0x665521fd750490fd880ee369c267fca44ed8a078"), # noqa: E501 - ) - # Source: LLL + pre[addr] = Account(balance=0x10000000) + # Source: lll # { (seq (CALLCODE 100000 0 0 0 0 0) (SSTORE 0 (RETURNDATASIZE)))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x186A0, - address=0x665521FD750490FD880EE369C267FCA44ED8A078, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x186A0, + address=0x665521FD750490FD880EE369C267FCA44ED8A078, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - ), - storage={0x0: 0xFFFFFFFF}, + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP, + storage={0: 0xFFFFFFFF}, + nonce=0, + address=Address(0x716E4812F69C442687F8917638E10BBE6EB00592), # noqa: E501 + ) + # Source: raw + # 0xfd + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT, + balance=0x6400000000, nonce=0, - address=Address("0x716e4812f69c442687f8917638e10bbe6eb00592"), # noqa: E501 + address=Address(0x665521FD750490FD880EE369C267FCA44ED8A078), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_delegatecall.py b/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_delegatecall.py index 82938b77e38..d2d9054921e 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_delegatecall.py +++ b/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_delegatecall.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatasize_after_failing_delegatecall. Ported from: -tests/static/state_tests/stReturnDataTest -returndatasize_after_failing_delegatecallFiller.json +state_tests/stReturnDataTest/returndatasize_after_failing_delegatecallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatasize_after_failing_delegatecallFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatasize_after_failing_delegatecallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_returndatasize_after_failing_delegatecall( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatasize_after_failing_delegatecall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x6C7410DA158FA432392FCAD5989E1B28280F99D8) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) - callee_1 = Address("0x6c7410da158fa432392fcad5989e1b28280f99d8") env = Environment( fee_recipient=coinbase, @@ -49,45 +49,45 @@ def test_returndatasize_after_failing_delegatecall( gas_limit=111669149696, ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.REVERT, - balance=0x6400000000, - nonce=0, - address=Address("0x665521fd750490fd880ee369c267fca44ed8a078"), # noqa: E501 - ) - pre[callee_1] = Account(balance=0x1000000, nonce=0) - # Source: LLL + pre[addr] = Account(balance=0x1000000) + # Source: lll # { (seq (DELEGATECALL 10000 0 0 0 0) (SSTORE 0 (RETURNDATASIZE)))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x2710, - address=0x665521FD750490FD880EE369C267FCA44ED8A078, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x2710, + address=0x665521FD750490FD880EE369C267FCA44ED8A078, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP, storage={ - 0x0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, nonce=0, - address=Address("0xacb6ad74f94ea8c5a482f1e89d1c0946600a9888"), # noqa: E501 + address=Address(0xACB6AD74F94EA8C5A482F1E89D1C0946600A9888), # noqa: E501 + ) + # Source: raw + # 0xfd + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT, + balance=0x6400000000, + nonce=0, + address=Address(0x665521FD750490FD880EE369C267FCA44ED8A078), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_staticcall.py b/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_staticcall.py index 025a0e104f7..a0900a3eb6a 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_staticcall.py +++ b/tests/ported_static/stReturnDataTest/test_returndatasize_after_failing_staticcall.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatasize_after_failing_staticcall. Ported from: -tests/static/state_tests/stReturnDataTest -returndatasize_after_failing_staticcallFiller.json +state_tests/stReturnDataTest/returndatasize_after_failing_staticcallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatasize_after_failing_staticcallFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatasize_after_failing_staticcallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_returndatasize_after_failing_staticcall( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatasize_after_failing_staticcall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x905C744ACAF4D8F5436C9C5E91E0626D44ADD821) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) - callee_1 = Address("0x905c744acaf4d8f5436c9c5e91e0626d44add821") env = Environment( fee_recipient=coinbase, @@ -49,45 +49,45 @@ def test_returndatasize_after_failing_staticcall( gas_limit=111669149696, ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.REVERT, - balance=0x6400000000, - nonce=0, - address=Address("0x665521fd750490fd880ee369c267fca44ed8a078"), # noqa: E501 - ) - pre[callee_1] = Account(balance=0x100000, nonce=0) - # Source: LLL + pre[addr] = Account(balance=0x100000) + # Source: lll # { (seq (STATICCALL 60000 0 0 0 0) (SSTORE 0 (RETURNDATASIZE)))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xEA60, - address=0x665521FD750490FD880EE369C267FCA44ED8A078, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=0x665521FD750490FD880EE369C267FCA44ED8A078, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP, storage={ - 0x0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, nonce=0, - address=Address("0xb59b41f3a1359dd85455601db8e79f621d7e63f6"), # noqa: E501 + address=Address(0xB59B41F3A1359DD85455601DB8E79F621D7E63F6), # noqa: E501 + ) + # Source: raw + # 0xfd + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT, + balance=0x6400000000, + nonce=0, + address=Address(0x665521FD750490FD880EE369C267FCA44ED8A078), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatasize_after_oog_after_deeper.py b/tests/ported_static/stReturnDataTest/test_returndatasize_after_oog_after_deeper.py index 5c03d0bc7f3..e6e10aaf816 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatasize_after_oog_after_deeper.py +++ b/tests/ported_static/stReturnDataTest/test_returndatasize_after_oog_after_deeper.py @@ -1,9 +1,8 @@ """ -transaction calls A (CALL B(CALL C(RETURN) OOG) 'check buffers'). +Transaction calls A (CALL B(CALL C(RETURN) OOG) 'check buffers'). Ported from: -tests/static/state_tests/stReturnDataTest -returndatasize_after_oog_after_deeperFiller.json +state_tests/stReturnDataTest/returndatasize_after_oog_after_deeperFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatasize_after_oog_after_deeperFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatasize_after_oog_after_deeperFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,11 +34,11 @@ def test_returndatasize_after_oog_after_deeper( pre: Alloc, ) -> None: """Transaction calls A (CALL B(CALL C(RETURN) OOG) 'check buffers').""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0xBDA572E15071B6AB42CFEC01423F1FBB1DE68703) sender = EOA( key=0x987C63506890B18862BD2304513F21B726A7E35961C9214954326694141FDB46 ) - callee_1 = Address("0xbda572e15071b6ab42cfec01423f1fbb1de68703") env = Environment( fee_recipient=coinbase, @@ -49,76 +49,71 @@ def test_returndatasize_after_oog_after_deeper( gas_limit=111669149696, ) - # Source: LLL + pre[addr] = Account(balance=0x1000000000) + # Source: lll # { (seq (SSTORE 2 (CALL 100000 0 0 0 0 32)) (SSTORE 0 (RETURNDATASIZE))) (SSTORE 1 (MLOAD 0))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x186A0, - address=0xCB33B9A773995316746A40201081D054635D02DA, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={ - 0x0: 0xFFFFFFFF, - 0x1: 0xFFFFFFFF, - 0x2: 0xFFFFFFFF, - }, - nonce=0, - address=Address("0x58eaa3041ad52c24e38e485222953f1cc19c7484"), # noqa: E501 - ) - pre[sender] = Account(balance=0x100000000000) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xFF) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x186A0, + address=0xCB33B9A773995316746A40201081D054635D02DA, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 0xFFFFFFFF, 1: 0xFFFFFFFF, 2: 0xFFFFFFFF}, nonce=0, - address=Address("0x8e0c75135225713d8c9acbb889abba5a5f598920"), # noqa: E501 + address=Address(0x58EAA3041AD52C24E38E485222953F1CC19C7484), # noqa: E501 ) - pre[callee_1] = Account(balance=0x1000000000, nonce=0) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x186A0, - address=0x8E0C75135225713D8C9ACBB889ABBA5A5F598920, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (seq (CALL 100000 0 0 0 0 0) (while 1 (SSTORE 0 1)) )} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x186A0, + address=0x8E0C75135225713D8C9ACBB889ABBA5A5F598920, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x34, condition=Op.ISZERO(0x1)) - + Op.SSTORE(key=0x0, value=0x1) - + Op.JUMP(pc=0x25) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI(pc=0x34, condition=Op.ISZERO(0x1)) + + Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x25) + + Op.JUMPDEST + + Op.STOP, balance=0x6400000000, nonce=0, - address=Address("0xcb33b9a773995316746a40201081d054635d02da"), # noqa: E501 + address=Address(0xCB33B9A773995316746A40201081D054635D02DA), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + # Source: lll + # { (seq (MSTORE 0 255) (RETURN 0 32) )} + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xFF) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, + nonce=0, + address=Address(0x8E0C75135225713D8C9ACBB889ABBA5A5F598920), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, ) - post: dict = {} + post = {target: Account(storage={0: 0, 1: 0, 2: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_callcode.py b/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_callcode.py index 67f619b558a..0363ef0790b 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_callcode.py +++ b/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_callcode.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatasize_after_successful_callcode. Ported from: -tests/static/state_tests/stReturnDataTest -returndatasize_after_successful_callcodeFiller.json +state_tests/stReturnDataTest/returndatasize_after_successful_callcodeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatasize_after_successful_callcodeFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatasize_after_successful_callcodeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatasize_after_successful_callcode( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatasize_after_successful_callcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,51 +48,48 @@ def test_returndatasize_after_successful_callcode( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + # Source: lll + # { (seq (CALLCODE 60000 0 0 0 0 0) (SSTORE 0 (RETURNDATASIZE)))} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0xEA60, + address=0xC6426EE9B84CE08176D8D295613A7D10C48576B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.RETURN(offset=0x0, size=0x6) - + Op.STOP - ), - balance=0x6400000000, + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP, + storage={0: 0}, nonce=0, - address=Address("0x0c6426ee9b84ce08176d8d295613a7d10c48576b"), # noqa: E501 + address=Address(0xC8005FEC752AB6F5F4691BB1A54DCCE7EE3D1EB9), # noqa: E501 ) - pre[sender] = Account(balance=0x6400000000) - # Source: LLL - # { (seq (CALLCODE 60000 0 0 0 0 0) (SSTORE 0 (RETURNDATASIZE)))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xEA60, - address=0xC6426EE9B84CE08176D8D295613A7D10C48576B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - ), - storage={0x0: 0x0}, + # Source: lll + # { (MSTORE 0x0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (RETURN 0 6) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x6) + + Op.STOP, + balance=0x6400000000, nonce=0, - address=Address("0xc8005fec752ab6f5f4691bb1a54dcce7ee3d1eb9"), # noqa: E501 + address=Address(0x0C6426EE9B84CE08176D8D295613A7D10C48576B), # noqa: E501 ) + pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 6}), - } + post = {target: Account(storage={0: 6})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_delegatecall.py b/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_delegatecall.py index 2cce09adbfa..d079b091aa9 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_delegatecall.py +++ b/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_delegatecall.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatasize_after_successful_delegatecall. Ported from: -tests/static/state_tests/stReturnDataTest -returndatasize_after_successful_delegatecallFiller.json +state_tests/stReturnDataTest/returndatasize_after_successful_delegatecallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatasize_after_successful_delegatecallFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatasize_after_successful_delegatecallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatasize_after_successful_delegatecall( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatasize_after_successful_delegatecall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,49 +48,46 @@ def test_returndatasize_after_successful_delegatecall( gas_limit=111669149696, ) - # Source: LLL + # Source: lll # { (seq (DELEGATECALL 60000 0 0 0 0) (SSTORE 0 (RETURNDATASIZE)))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0xEA60, - address=0x7C17DBBFA29DC8391BFA19022ECB4FDA54FC826A, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0xEA60, + address=0x7C17DBBFA29DC8391BFA19022ECB4FDA54FC826A, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP, storage={ - 0x0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, nonce=0, - address=Address("0x1c7cce7753e67952a031524e6505e53f170520be"), # noqa: E501 + address=Address(0x1C7CCE7753E67952A031524E6505E53F170520BE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLER) - + Op.RETURN(offset=0x0, size=0x14) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0x0 (CALLER)) (RETURN 0 20) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLER) + + Op.RETURN(offset=0x0, size=0x14) + + Op.STOP, balance=0x6400000000, nonce=0, - address=Address("0x7c17dbbfa29dc8391bfa19022ecb4fda54fc826a"), # noqa: E501 + address=Address(0x7C17DBBFA29DC8391BFA19022ECB4FDA54FC826A), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 20}), - } + post = {target: Account(storage={0: 20})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_staticcall.py b/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_staticcall.py index d043164ac1f..10e705d58d5 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_staticcall.py +++ b/tests/ported_static/stReturnDataTest/test_returndatasize_after_successful_staticcall.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatasize_after_successful_staticcall. Ported from: -tests/static/state_tests/stReturnDataTest -returndatasize_after_successful_staticcallFiller.json +state_tests/stReturnDataTest/returndatasize_after_successful_staticcallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatasize_after_successful_staticcallFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatasize_after_successful_staticcallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatasize_after_successful_staticcall( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatasize_after_successful_staticcall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,52 +48,49 @@ def test_returndatasize_after_successful_staticcall( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.RETURN(offset=0x0, size=0x6) - + Op.STOP - ), - balance=0x6400000000, - nonce=0, - address=Address("0x0c6426ee9b84ce08176d8d295613a7d10c48576b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (seq (STATICCALL 60000 0 0 0 0) (SSTORE 0 (RETURNDATASIZE)))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xEA60, - address=0xC6426EE9B84CE08176D8D295613A7D10C48576B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=0xC6426EE9B84CE08176D8D295613A7D10C48576B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP, storage={ - 0x0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, nonce=0, - address=Address("0xb59b41f3a1359dd85455601db8e79f621d7e63f6"), # noqa: E501 + address=Address(0xB59B41F3A1359DD85455601DB8E79F621D7E63F6), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0x0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (RETURN 0 6) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x6) + + Op.STOP, + balance=0x6400000000, + nonce=0, + address=Address(0x0C6426EE9B84CE08176D8D295613A7D10C48576B), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 6}), - } + post = {target: Account(storage={0: 6})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatasize_bug.py b/tests/ported_static/stReturnDataTest/test_returndatasize_bug.py index 5bd2ce5f107..70a1ddf41bc 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatasize_bug.py +++ b/tests/ported_static/stReturnDataTest/test_returndatasize_bug.py @@ -1,8 +1,8 @@ """ -RETURNDATASIZE after a failing CALL (due to insufficient balance) should... +RETURNDATASIZE after a failing CALL (due to insufficient balance)... Ported from: -tests/static/state_tests/stReturnDataTest/returndatasize_bugFiller.json +state_tests/stReturnDataTest/returndatasize_bugFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stReturnDataTest/returndatasize_bugFiller.json", # noqa: E501 - ], + ["state_tests/stReturnDataTest/returndatasize_bugFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,7 +32,7 @@ def test_returndatasize_bug( pre: Alloc, ) -> None: """RETURNDATASIZE after a failing CALL (due to insufficient balance)...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -47,56 +46,58 @@ def test_returndatasize_bug( gas_limit=111669149696, ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0xA, - address=0x1, - value=0xC350, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (CALL 1 50000 0 0 0 0) (SSTORE 0 (RETURNDATASIZE)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x1, + address=0xA6DE4978FAA392285CC6411DFE442872304DEB1, + value=0xC350, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP, + storage={0: 1}, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0a6de4978faa392285cc6411dfe442872304deb1"), # noqa: E501 + address=Address(0x0D7BC2FBD330F7D4EC71764551A8B9CFB11619F5), # noqa: E501 ) - # Source: LLL - # { (CALL 1 50000 0 0 0 0) (SSTORE 0 (RETURNDATASIZE)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x1, - address=0xA6DE4978FAA392285CC6411DFE442872304DEB1, - value=0xC350, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (CALL 10 1 50000 0 0 0 0) (SSTORE 1 1) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0xA, + address=0x1, + value=0xC350, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - ), - storage={0x0: 0x1}, - balance=0xDE0B6B3A7640000, + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x0d7bc2fbd330f7d4ec71764551a8b9cfb11619f5"), # noqa: E501 + address=Address(0x0A6DE4978FAA392285CC6411DFE442872304DEB1), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = { + target: Account(storage={0: 0}), + addr: Account(storage={1: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatasize_following_successful_create.py b/tests/ported_static/stReturnDataTest/test_returndatasize_following_successful_create.py index 92428a8186a..2ed2ecf0c7a 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatasize_following_successful_create.py +++ b/tests/ported_static/stReturnDataTest/test_returndatasize_following_successful_create.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatasize_following_successful_create. Ported from: -tests/static/state_tests/stReturnDataTest -returndatasize_following_successful_createFiller.json +state_tests/stReturnDataTest/returndatasize_following_successful_createFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatasize_following_successful_createFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatasize_following_successful_createFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_returndatasize_following_successful_create( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatasize_following_successful_create.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -48,36 +48,32 @@ def test_returndatasize_following_successful_create( gas_limit=111669149696, ) - pre[sender] = Account(balance=0x6400000000) - # Source: LLL + # Source: lll # { (seq (CREATE 0 0 (lll (seq (mstore 0 0x112233) (RETURN 0 32) (STOP) ) 0)) (SSTORE 0 (RETURNDATASIZE)) (STOP) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.PUSH1[0xE] - + Op.CODECOPY(dest_offset=0x0, offset=0x15, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=0x112233) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - + Op.STOP - ), - storage={0x0: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0xE] + + Op.CODECOPY(dest_offset=0x0, offset=0x15, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP * 2, + storage={0: 1}, nonce=0, - address=Address("0xe7e262ca8ef9761acca450874326b1f3f483a73f"), # noqa: E501 + address=Address(0xE7E262CA8EF9761ACCA450874326B1F3F483A73F), # noqa: E501 ) + pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatasize_initial.py b/tests/ported_static/stReturnDataTest/test_returndatasize_initial.py index 7f2bce3cde5..4bec111f2c0 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatasize_initial.py +++ b/tests/ported_static/stReturnDataTest/test_returndatasize_initial.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_returndatasize_initial. Ported from: -tests/static/state_tests/stReturnDataTest/returndatasize_initialFiller.json +state_tests/stReturnDataTest/returndatasize_initialFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stReturnDataTest/returndatasize_initialFiller.json", # noqa: E501 - ], + ["state_tests/stReturnDataTest/returndatasize_initialFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_returndatasize_initial( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatasize_initial.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -47,23 +46,24 @@ def test_returndatasize_initial( gas_limit=111669149696, ) - # Source: LLL + # Source: lll # { (SSTORE 0 (RETURNDATASIZE)) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + Op.STOP, - storage={0x0: 0x1}, + storage={0: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3a939fcca7da8b1332893bcca91690406f4b7a82"), # noqa: E501 + address=Address(0x3A939FCCA7DA8B1332893BCCA91690406F4B7A82), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_returndatasize_initial_zero_read.py b/tests/ported_static/stReturnDataTest/test_returndatasize_initial_zero_read.py index 7ff1bd17242..82e2eea989d 100644 --- a/tests/ported_static/stReturnDataTest/test_returndatasize_initial_zero_read.py +++ b/tests/ported_static/stReturnDataTest/test_returndatasize_initial_zero_read.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_returndatasize_initial_zero_read. Ported from: -tests/static/state_tests/stReturnDataTest -returndatasize_initial_zero_readFiller.json +state_tests/stReturnDataTest/returndatasize_initial_zero_readFiller.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,38 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stReturnDataTest/returndatasize_initial_zero_readFiller.json", # noqa: E501 + "state_tests/stReturnDataTest/returndatasize_initial_zero_readFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ("", {}), - ("992919aa", {}), + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_returndatasize_initial_zero_read( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_returndatasize_initial_zero_read.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -58,30 +70,32 @@ def test_returndatasize_initial_zero_read( gas_limit=111669149696, ) - # Source: LLL + # Source: lll # { (RETURNDATACOPY 0 0 0) (SSTORE 0 (MLOAD 0)) } - contract = pre.deploy_contract( - code=( - Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x537cd1744af41c3a74d5aa5ae93958d1160ca98f"), # noqa: E501 + address=Address(0x537CD1744AF41C3A74D5AA5AE93958D1160CA98F), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes(""), + Bytes("992919aa"), + ] + tx_gas = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_revert_ret_data_size.py b/tests/ported_static/stReturnDataTest/test_revert_ret_data_size.py index 4be4b2e40c6..520ad4a4f47 100644 --- a/tests/ported_static/stReturnDataTest/test_revert_ret_data_size.py +++ b/tests/ported_static/stReturnDataTest/test_revert_ret_data_size.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stReturnDataTest/revertRetDataSizeFiller.yml +state_tests/stReturnDataTest/revertRetDataSizeFiller.yml """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,349 +25,247 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stReturnDataTest/revertRetDataSizeFiller.yml"], + ["state_tests/stReturnDataTest/revertRetDataSizeFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000200", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000200", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000300", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000300", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000300", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000300", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000300", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000300", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000400", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000400", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000400", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000400", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000400", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000400", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000500", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000500", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000500", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000500", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000500", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000500", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f1000000000000000000000000000000000000000000000000000000000000ff00", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f2000000000000000000000000000000000000000000000000000000000000ff00", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f4000000000000000000000000000000000000000000000000000000000000ff00", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000ff00", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000ff00", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f5000000000000000000000000000000000000000000000000000000000000ff00", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f50000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f10000000000000000000000000000000000000000000000000000000000000200", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000200", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000000000000000000000000000000000000000200", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000200", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 64, 2: 24743} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - ], ) @pytest.mark.pre_alloc_mutable def test_revert_ret_data_size( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + contract_1 = Address(0x0000000000000000000000000000000000001000) + contract_2 = Address(0x0000000000000000000000000000000000000200) + contract_3 = Address(0x0000000000000000000000000000000000000300) + contract_4 = Address(0x0000000000000000000000000000000000000400) + contract_5 = Address(0x0000000000000000000000000000000000000500) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -378,47 +279,7 @@ def test_revert_ret_data_size( gas_limit=100000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.POP + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000200"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.JUMP(pc=0x0), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000300"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.JUMPI(pc=0x1, condition=0x1), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000400"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.INVALID + Op.STOP, - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000000500"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.DIV(Op.SUB(0x0, 0x1), 0x2)) - + Op.MSTORE(offset=0x20, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.RETURN(offset=0x0, size=0x40) - + Op.STOP - ), - balance=0xBA1A9CE0BA1A9CE, - nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL + # Source: lll # { ; $4 is the type of thing that fails # ; $36 is the failure itself # @@ -450,437 +311,516 @@ def test_revert_ret_data_size( # (if (= failureType oog) # [codeLength] (lll (sha3 0 (- 0 1)) codeLoc) # ... (170 more lines) - contract = pre.deploy_contract( - code=( - Op.JUMPI( - pc=Op.PUSH2[0x11], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x1F]) - + Op.JUMPDEST - + Op.PUSH1[0x9] - + Op.CODECOPY(dest_offset=0x0, offset=0x391, size=Op.DUP1) - + Op.PUSH2[0x100] - + Op.MSTORE - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x32], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xFF00), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x46]) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x100, - value=Op.CALL( - gas=Op.GAS, - address=0xFF00, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x59], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x200), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x6D]) - + Op.JUMPDEST - + Op.MSTORE8(offset=0x0, value=0x50) - + Op.MSTORE8(offset=Op.ADD(0x0, 0x1), value=0x0) - + Op.MSTORE(offset=0x100, value=0x2) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x80], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x300), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xA4]) - + Op.JUMPDEST - + Op.MSTORE8(offset=0x0, value=0x60) - + Op.MSTORE8(offset=Op.ADD(0x0, 0x1), value=0x0) - + Op.MSTORE8(offset=Op.ADD(0x0, 0x2), value=0x56) - + Op.MSTORE8(offset=Op.ADD(0x0, 0x2), value=0x0) - + Op.MSTORE(offset=0x100, value=0x4) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xB7], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x400), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xEB]) - + Op.JUMPDEST - + Op.MSTORE8(offset=0x0, value=0x60) - + Op.MSTORE8(offset=Op.ADD(0x0, 0x1), value=0x1) - + Op.MSTORE8(offset=Op.ADD(0x0, 0x2), value=0x60) - + Op.MSTORE8(offset=Op.ADD(0x0, 0x3), value=0x1) - + Op.MSTORE8(offset=Op.ADD(0x0, 0x4), value=0x57) - + Op.MSTORE8(offset=Op.ADD(0x0, 0x5), value=0x0) - + Op.MSTORE(offset=0x100, value=0x6) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xFE], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x500), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x112) - + Op.JUMPDEST - + Op.MSTORE8(offset=0x0, value=0xFE) - + Op.MSTORE8(offset=Op.ADD(0x0, 0x1), value=0x0) - + Op.MSTORE(offset=0x100, value=0x2) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x12B, - condition=Op.AND( - Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF1), - Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), - ), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x155) - + Op.JUMPDEST - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x1000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.POP( - Op.CALL( - gas=0x0, - address=0x1000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x16E, - condition=Op.AND( - Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF1), - Op.GT(Op.CALLDATALOAD(offset=0x24), 0x0), - ), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x19C) - + Op.JUMPDEST - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x1000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0xF0000), - address=Op.CALLDATALOAD(offset=0x24), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1B5, - condition=Op.AND( - Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF2), - Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), - ), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x1DF) - + Op.JUMPDEST - + Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=0x1000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.POP( - Op.CALLCODE( - gas=0x0, - address=0x1000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1F8, - condition=Op.AND( - Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF2), - Op.GT(Op.CALLDATALOAD(offset=0x24), 0x0), - ), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x221) - + Op.JUMPDEST - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x1000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x24), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x23A, - condition=Op.AND( - Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF4), - Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), - ), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x260) - + Op.JUMPDEST - + Op.POP( - Op.DELEGATECALL( - gas=Op.GAS, - address=0x1000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.POP( - Op.DELEGATECALL( - gas=0x0, - address=0x1000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x279, - condition=Op.AND( - Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF4), - Op.GT(Op.CALLDATALOAD(offset=0x24), 0x0), - ), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x2A0) - + Op.JUMPDEST - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x1000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.POP( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x24), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2B9, - condition=Op.AND( - Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFA), - Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), - ), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x2DF) - + Op.JUMPDEST - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0x1000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.POP( - Op.STATICCALL( - gas=0x0, - address=0x1000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2F8, - condition=Op.AND( - Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFA), - Op.GT(Op.CALLDATALOAD(offset=0x24), 0x0), - ), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x31F) - + Op.JUMPDEST - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x1000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x24), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x331, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x352) - + Op.JUMPDEST - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0x1000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.POP( - Op.CREATE(value=0x0, offset=0x0, size=Op.MLOAD(offset=0x100)) - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x364, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF5), - ) - + Op.POP(0x0) - + Op.JUMP(pc=0x388) - + Op.JUMPDEST - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0x1000, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.POP( - Op.CREATE2( - value=0x5A17, - offset=0x0, - size=0x0, - salt=Op.MLOAD(offset=0x100), - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.JUMPDEST - + Op.SSTORE(key=0x2, value=0x60A7) - + Op.STOP - + Op.INVALID - + Op.SHA3(offset=0x0, size=Op.SUB(0x0, 0x1)) - + Op.STOP - ), - storage={0x0: 0x60A7, 0x1: 0x60A7}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=Op.PUSH2[0x11], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x1F]) + + Op.JUMPDEST + + Op.PUSH1[0x9] + + Op.CODECOPY(dest_offset=0x0, offset=0x391, size=Op.DUP1) + + Op.PUSH2[0x100] + + Op.MSTORE + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x32], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0xFF00), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x46]) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x100, + value=Op.CALL( + gas=Op.GAS, + address=0xFF00, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x59], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x200), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x6D]) + + Op.JUMPDEST + + Op.MSTORE8(offset=0x0, value=0x50) + + Op.MSTORE8(offset=Op.ADD(0x0, 0x1), value=0x0) + + Op.MSTORE(offset=0x100, value=0x2) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x80], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x300), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xA4]) + + Op.JUMPDEST + + Op.MSTORE8(offset=0x0, value=0x60) + + Op.MSTORE8(offset=Op.ADD(0x0, 0x1), value=0x0) + + Op.MSTORE8(offset=Op.ADD(0x0, 0x2), value=0x56) + + Op.MSTORE8(offset=Op.ADD(0x0, 0x2), value=0x0) + + Op.MSTORE(offset=0x100, value=0x4) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xB7], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x400), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xEB]) + + Op.JUMPDEST + + Op.MSTORE8(offset=0x0, value=0x60) + + Op.MSTORE8(offset=Op.ADD(0x0, 0x1), value=0x1) + + Op.MSTORE8(offset=Op.ADD(0x0, 0x2), value=0x60) + + Op.MSTORE8(offset=Op.ADD(0x0, 0x3), value=0x1) + + Op.MSTORE8(offset=Op.ADD(0x0, 0x4), value=0x57) + + Op.MSTORE8(offset=Op.ADD(0x0, 0x5), value=0x0) + + Op.MSTORE(offset=0x100, value=0x6) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xFE], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x500), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x112) + + Op.JUMPDEST + + Op.MSTORE8(offset=0x0, value=0xFE) + + Op.MSTORE8(offset=Op.ADD(0x0, 0x1), value=0x0) + + Op.MSTORE(offset=0x100, value=0x2) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x12B, + condition=Op.AND( + Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF1), + Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), + ), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x155) + + Op.JUMPDEST + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x1000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.POP( + Op.CALL( + gas=0x0, + address=0x1000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x16E, + condition=Op.AND( + Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF1), + Op.GT(Op.CALLDATALOAD(offset=0x24), 0x0), + ), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x19C) + + Op.JUMPDEST + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x1000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0xF0000), + address=Op.CALLDATALOAD(offset=0x24), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1B5, + condition=Op.AND( + Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF2), + Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), + ), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x1DF) + + Op.JUMPDEST + + Op.POP( + Op.CALLCODE( + gas=Op.GAS, + address=0x1000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.POP( + Op.CALLCODE( + gas=0x0, + address=0x1000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1F8, + condition=Op.AND( + Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF2), + Op.GT(Op.CALLDATALOAD(offset=0x24), 0x0), + ), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x221) + + Op.JUMPDEST + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x1000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.POP( + Op.CALLCODE( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x24), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x23A, + condition=Op.AND( + Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF4), + Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), + ), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x260) + + Op.JUMPDEST + + Op.POP( + Op.DELEGATECALL( + gas=Op.GAS, + address=0x1000, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.POP( + Op.DELEGATECALL( + gas=0x0, + address=0x1000, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x279, + condition=Op.AND( + Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF4), + Op.GT(Op.CALLDATALOAD(offset=0x24), 0x0), + ), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x2A0) + + Op.JUMPDEST + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x1000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.POP( + Op.DELEGATECALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x24), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x2B9, + condition=Op.AND( + Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFA), + Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), + ), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x2DF) + + Op.JUMPDEST + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0x1000, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.POP( + Op.STATICCALL( + gas=0x0, + address=0x1000, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x2F8, + condition=Op.AND( + Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xFA), + Op.GT(Op.CALLDATALOAD(offset=0x24), 0x0), + ), + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x31F) + + Op.JUMPDEST + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0x1000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x24), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x331, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF0) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x352) + + Op.JUMPDEST + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0x1000, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=Op.MLOAD(offset=0x100))) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x364, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0xF5) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x388) + + Op.JUMPDEST + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0x1000, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.POP( + Op.CREATE2( + value=0x5A17, offset=0x0, size=0x0, salt=Op.MLOAD(offset=0x100) + ) + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.JUMPDEST + + Op.SSTORE(key=0x2, value=0x60A7) + + Op.STOP + + Op.INVALID + + Op.SHA3(offset=0x0, size=Op.SUB(0x0, 0x1)) + + Op.STOP, + storage={0: 24743, 1: 24743}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + # Source: lll + # { + # [0x00] (/ (- 0 1) 2) + # [0x20] (+ @0x00 1) + # + # (return 0 0x40) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.DIV(Op.SUB(0x0, 0x1), 0x2)) + + Op.MSTORE(offset=0x20, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.RETURN(offset=0x0, size=0x40) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: raw + # 0x5000 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000200), # noqa: E501 + ) + # Source: raw + # 0x600056 + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0x0), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000300), # noqa: E501 + ) + # Source: raw + # 0x6001600157 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x1, condition=0x1), balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000000400), # noqa: E501 ) + # Source: raw + # 0xFE00 + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.INVALID + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000500), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("1a8451e6") + Hash(0xF1) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0x0), + Bytes("1a8451e6") + Hash(0xF1) + Hash(contract_2, left_padding=True), + Bytes("1a8451e6") + Hash(0xF2) + Hash(contract_2, left_padding=True), + Bytes("1a8451e6") + Hash(0xF4) + Hash(contract_2, left_padding=True), + Bytes("1a8451e6") + Hash(0xFA) + Hash(contract_2, left_padding=True), + Bytes("1a8451e6") + Hash(0xF0) + Hash(contract_2, left_padding=True), + Bytes("1a8451e6") + Hash(0xF5) + Hash(contract_2, left_padding=True), + Bytes("1a8451e6") + Hash(0xF1) + Hash(contract_3, left_padding=True), + Bytes("1a8451e6") + Hash(0xF2) + Hash(contract_3, left_padding=True), + Bytes("1a8451e6") + Hash(0xF4) + Hash(contract_3, left_padding=True), + Bytes("1a8451e6") + Hash(0xFA) + Hash(contract_3, left_padding=True), + Bytes("1a8451e6") + Hash(0xF0) + Hash(contract_3, left_padding=True), + Bytes("1a8451e6") + Hash(0xF5) + Hash(contract_3, left_padding=True), + Bytes("1a8451e6") + Hash(0xF1) + Hash(contract_4, left_padding=True), + Bytes("1a8451e6") + Hash(0xF2) + Hash(contract_4, left_padding=True), + Bytes("1a8451e6") + Hash(0xF4) + Hash(contract_4, left_padding=True), + Bytes("1a8451e6") + Hash(0xFA) + Hash(contract_4, left_padding=True), + Bytes("1a8451e6") + Hash(0xF0) + Hash(contract_4, left_padding=True), + Bytes("1a8451e6") + Hash(0xF5) + Hash(contract_4, left_padding=True), + Bytes("1a8451e6") + Hash(0xF1) + Hash(contract_5, left_padding=True), + Bytes("1a8451e6") + Hash(0xF2) + Hash(contract_5, left_padding=True), + Bytes("1a8451e6") + Hash(0xF4) + Hash(contract_5, left_padding=True), + Bytes("1a8451e6") + Hash(0xFA) + Hash(contract_5, left_padding=True), + Bytes("1a8451e6") + Hash(0xF0) + Hash(contract_5, left_padding=True), + Bytes("1a8451e6") + Hash(0xF5) + Hash(contract_5, left_padding=True), + Bytes("1a8451e6") + Hash(0xF1) + Hash(0xFF00), + Bytes("1a8451e6") + Hash(0xF2) + Hash(0xFF00), + Bytes("1a8451e6") + Hash(0xF4) + Hash(0xFF00), + Bytes("1a8451e6") + Hash(0xFA) + Hash(0xFF00), + Bytes("1a8451e6") + Hash(0xF0) + Hash(0xFF00), + Bytes("1a8451e6") + Hash(0xF5) + Hash(0xFF00), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {contract_0: Account(storage={0: 64, 1: 0, 2: 24743})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stReturnDataTest/test_subcall_return_more_then_expected.py b/tests/ported_static/stReturnDataTest/test_subcall_return_more_then_expected.py index 8e4861bb369..d4f8c030888 100644 --- a/tests/ported_static/stReturnDataTest/test_subcall_return_more_then_expected.py +++ b/tests/ported_static/stReturnDataTest/test_subcall_return_more_then_expected.py @@ -1,9 +1,8 @@ """ -https://github.com/ethereum/tests/issues/558 (subcall/opcode return more... +Https://github.com/ethereum/tests/issues/558 (subcall/opcode return... Ported from: -tests/static/state_tests/stReturnDataTest -subcallReturnMoreThenExpectedFiller.yml +state_tests/stReturnDataTest/subcallReturnMoreThenExpectedFiller.yml """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stReturnDataTest/subcallReturnMoreThenExpectedFiller.yml", # noqa: E501 - ], + ["state_tests/stReturnDataTest/subcallReturnMoreThenExpectedFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_subcall_return_more_then_expected( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Https://github.com/ethereum/tests/issues/558 (subcall/opcode...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,41 +46,7 @@ def test_subcall_return_more_then_expected( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x1122334455667788991011121314151617181920212223242526272829303132, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3334353637383940414243444546474849505152535455565758596061626364, # noqa: E501 - ) - + Op.REVERT(offset=0x0, size=0x40) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x028cdafc3d5d27d006ffb88e1ecf2fa4b412ee4f"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x1122334455667788991011121314151617181920212223242526272829303132, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3334353637383940414243444546474849505152535455565758596061626364, # noqa: E501 - ) - + Op.RETURN(offset=0x0, size=0x40) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xa8592f39b32943f9f464090497722b4f9c15f598"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { # ;; Get returndata from a subcall # (CALL 200000 0 0 0 0 12) # noqa: E501 @@ -111,124 +75,165 @@ def test_subcall_return_more_then_expected( # (CALLCODE 200000 0 0 0 0 12) # noqa: E501 # [[7]] (MLOAD 0) # } - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x30D40, - address=0xA8592F39B32943F9F464090497722B4F9C15F598, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xC, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x30D40, + address=0xA8592F39B32943F9F464090497722B4F9C15F598, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xC, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.POP( - Op.DELEGATECALL( - gas=0x30D40, - address=0xA8592F39B32943F9F464090497722B4F9C15F598, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xC, - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.POP( + Op.DELEGATECALL( + gas=0x30D40, + address=0xA8592F39B32943F9F464090497722B4F9C15F598, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xC, ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.POP( - Op.STATICCALL( - gas=0x30D40, - address=0xA8592F39B32943F9F464090497722B4F9C15F598, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xC, - ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.POP( + Op.STATICCALL( + gas=0x30D40, + address=0xA8592F39B32943F9F464090497722B4F9C15F598, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xC, ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.POP( - Op.CALLCODE( - gas=0x30D40, - address=0xA8592F39B32943F9F464090497722B4F9C15F598, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xC, - ), + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.POP( + Op.CALLCODE( + gas=0x30D40, + address=0xA8592F39B32943F9F464090497722B4F9C15F598, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xC, ) - + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.POP( - Op.CALL( - gas=0x30D40, - address=0x28CDAFC3D5D27D006FFB88E1ECF2FA4B412EE4F, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xC, - ), + ) + + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.POP( + Op.CALL( + gas=0x30D40, + address=0x28CDAFC3D5D27D006FFB88E1ECF2FA4B412EE4F, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xC, ) - + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.POP( - Op.DELEGATECALL( - gas=0x30D40, - address=0x28CDAFC3D5D27D006FFB88E1ECF2FA4B412EE4F, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xC, - ), + ) + + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.POP( + Op.DELEGATECALL( + gas=0x30D40, + address=0x28CDAFC3D5D27D006FFB88E1ECF2FA4B412EE4F, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xC, ) - + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.POP( - Op.STATICCALL( - gas=0x30D40, - address=0x28CDAFC3D5D27D006FFB88E1ECF2FA4B412EE4F, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xC, - ), + ) + + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.POP( + Op.STATICCALL( + gas=0x30D40, + address=0x28CDAFC3D5D27D006FFB88E1ECF2FA4B412EE4F, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xC, ) - + Op.SSTORE(key=0x6, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.POP( - Op.CALLCODE( - gas=0x30D40, - address=0x28CDAFC3D5D27D006FFB88E1ECF2FA4B412EE4F, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xC, - ), + ) + + Op.SSTORE(key=0x6, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.POP( + Op.CALLCODE( + gas=0x30D40, + address=0x28CDAFC3D5D27D006FFB88E1ECF2FA4B412EE4F, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xC, ) - + Op.SSTORE(key=0x7, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x7, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0xCA70835D5E9B8C8E139A9693AB05705D291F86BB), # noqa: E501 + ) + # Source: lll + # { + # (MSTORE 0 0x1122334455667788991011121314151617181920212223242526272829303132) # noqa: E501 + # (MSTORE 32 0x3334353637383940414243444546474849505152535455565758596061626364) # noqa: E501 + # (RETURN 0 64) + # } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x1122334455667788991011121314151617181920212223242526272829303132, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x3334353637383940414243444546474849505152535455565758596061626364, # noqa: E501 + ) + + Op.RETURN(offset=0x0, size=0x40) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0xA8592F39B32943F9F464090497722B4F9C15F598), # noqa: E501 + ) + # Source: lll + # { + # (MSTORE 0 0x1122334455667788991011121314151617181920212223242526272829303132) # noqa: E501 + # (MSTORE 32 0x3334353637383940414243444546474849505152535455565758596061626364) # noqa: E501 + # (REVERT 0 64) + # } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x1122334455667788991011121314151617181920212223242526272829303132, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x3334353637383940414243444546474849505152535455565758596061626364, # noqa: E501 + ) + + Op.REVERT(offset=0x0, size=0x40) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xca70835d5e9b8c8e139a9693ab05705d291f86bb"), # noqa: E501 + address=Address(0x028CDAFC3D5D27D006FFB88E1ECF2FA4B412EE4F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, value=1, ) post = { - contract: Account( + target: Account( storage={ 0: 0x1122334455667788991011120000000000000000000000000000000000000000, # noqa: E501 1: 0x1122334455667788991011120000000000000000000000000000000000000000, # noqa: E501 @@ -239,6 +244,7 @@ def test_subcall_return_more_then_expected( 6: 0x1122334455667788991011120000000000000000000000000000000000000000, # noqa: E501 7: 0x1122334455667788991011120000000000000000000000000000000000000000, # noqa: E501 }, + balance=0xDE0B6B3A7640001, ), } diff --git a/tests/ported_static/stReturnDataTest/test_too_long_return_data_copy.py b/tests/ported_static/stReturnDataTest/test_too_long_return_data_copy.py index f3b987a8645..1ff03bc0321 100644 --- a/tests/ported_static/stReturnDataTest/test_too_long_return_data_copy.py +++ b/tests/ported_static/stReturnDataTest/test_too_long_return_data_copy.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stReturnDataTest/tooLongReturnDataCopyFiller.yml +state_tests/stReturnDataTest/tooLongReturnDataCopyFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,257 +28,171 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stReturnDataTest/tooLongReturnDataCopyFiller.yml", # noqa: E501 - ], + ["state_tests/stReturnDataTest/tooLongReturnDataCopyFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "917694f900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 0, + 0, + 0, + id="success", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000800000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 1, + 0, + 0, + id="fail", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000800000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 2, + 0, + 0, + id="success", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 3, + 0, + 0, + id="success", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 4, + 0, + 0, + id="fail", ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 5, + 0, + 0, + id="success", ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 6, + 0, + 0, + id="fail", ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 7, + 0, + 0, + id="success", ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 8, + 0, + 0, + id="fail", ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 9, + 0, + 0, + id="fail", ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 10, + 0, + 0, + id="fail", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 11, + 0, + 0, + id="fail", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 12, + 0, + 0, + id="success", ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 13, + 0, + 0, + id="fail", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000800000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 57005} - ) - }, + pytest.param( + 14, + 0, + 0, + id="success", ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xa6e4f86617d6ab14d857f9115c2ab9f2787157ba"): Account( - storage={0: 16} - ), - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 57005} - ), - }, + pytest.param( + 15, + 0, + 0, + id="success", ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xa6e4f86617d6ab14d857f9115c2ab9f2787157ba"): Account( - storage={0: 16} - ), - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 57005} - ), - }, + pytest.param( + 16, + 0, + 0, + id="fail", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xa6e4f86617d6ab14d857f9115c2ab9f2787157ba"): Account( - storage={0: 16} - ), - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 57005} - ), - }, + pytest.param( + 17, + 0, + 0, + id="success", ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xa6e4f86617d6ab14d857f9115c2ab9f2787157ba"): Account( - storage={0: 16} - ), - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 57005} - ), - }, + pytest.param( + 18, + 0, + 0, + id="fail", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 57005} - ) - }, + pytest.param( + 19, + 0, + 0, + id="success", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 57005} - ) - }, + pytest.param( + 20, + 0, + 0, + id="fail", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 57005} - ) - }, + pytest.param( + 21, + 0, + 0, + id="fail", ), - ( - "917694f900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000023eef957bcfb3738417aee7fdf4294cf110d7881", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 57005} - ) - }, + pytest.param( + 22, + 0, + 0, + id="fail", ), - ( - "917694f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a6e4f86617d6ab14d857f9115c2ab9f2787157ba", # noqa: E501 - { - Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"): Account( - storage={0: 57005} - ) - }, + pytest.param( + 23, + 0, + 0, + id="fail", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - ], ) @pytest.mark.pre_alloc_mutable def test_too_long_return_data_copy( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( - key=0x04DC42D61413D4DED993826AC4D6ED7A4A970C60335D2B285C60A4274E792FF1 + key=0x4DC42D61413D4DED993826AC4D6ED7A4A970C60335D2B285C60A4274E792FF1 ) env = Environment( @@ -284,34 +204,60 @@ def test_too_long_return_data_copy( gas_limit=4503599627370496, ) - pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1F1E1D1C1B1A191817161514131211100F0E0D0C0B0A090807060504030201FF, # noqa: E501 - ) - + Op.SSTORE(key=0x0, value=Op.DUP1) - + Op.PUSH1[0x0] - + Op.REVERT - ), - address=Address("0x23eef957bcfb3738417aee7fdf4294cf110d7881"), # noqa: E501 + # Source: yul + # berlin + # { + # // How many bytes to return + # let byteCount := calldataload(0) + # + # // Some junk data + # mstore(0, 0x1F1E1D1C1B1A191817161514131211100F0E0D0C0B0A090807060504030201FF) # noqa: E501 + # + # sstore(0, byteCount) + # + # // Return the result + # return(0x00, byteCount) + # } + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.MSTORE( + offset=0x0, + value=0x1F1E1D1C1B1A191817161514131211100F0E0D0C0B0A090807060504030201FF, # noqa: E501 + ) + + Op.SSTORE(key=0x0, value=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN, + nonce=1, + address=Address(0xA6E4F86617D6AB14D857F9115C2AB9F2787157BA), # noqa: E501 ) - pre[sender] = Account(balance=0x3635C9ADC5DEA00000, nonce=1) - pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1F1E1D1C1B1A191817161514131211100F0E0D0C0B0A090807060504030201FF, # noqa: E501 - ) - + Op.SSTORE(key=0x0, value=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - ), - address=Address("0xa6e4f86617d6ab14d857f9115c2ab9f2787157ba"), # noqa: E501 + # Source: yul + # berlin + # { + # // How many bytes to return + # let byteCount := calldataload(0) + # + # // Some junk data + # mstore(0, 0x1F1E1D1C1B1A191817161514131211100F0E0D0C0B0A090807060504030201FF) # noqa: E501 + # + # sstore(0, byteCount) + # + # // Return the result + # revert(0x00, byteCount) + # } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.MSTORE( + offset=0x0, + value=0x1F1E1D1C1B1A191817161514131211100F0E0D0C0B0A090807060504030201FF, # noqa: E501 + ) + + Op.SSTORE(key=0x0, value=Op.DUP1) + + Op.PUSH1[0x0] + + Op.REVERT, + nonce=1, + address=Address(0x23EEF957BCFB3738417AEE7FDF4294CF110D7881), # noqa: E501 ) - # Source: Yul + # Source: yul + # berlin # { # let lengthReturned := calldataload(0x04) # let offsetCopied := calldataload(0x24) @@ -341,66 +287,206 @@ def test_too_long_return_data_copy( # # // If we get here, kill the goat to show success # sstore(0, 0xDEAD) - # } - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x4) - + Op.CALLDATALOAD(offset=0x24) - + Op.PUSH2[0x100] - + Op.PUSH1[0x0] - + Op.PUSH1[0x20] - + Op.DUP2 - + Op.DUP1 - + Op.CALLDATALOAD(offset=0x44) - + Op.SWAP7 - + Op.CALLDATALOAD(offset=0x64) - + Op.SWAP1 - + Op.DUP3 - + Op.MSTORE - + Op.GAS - + Op.POP(Op.CALL) - + Op.PUSH2[0x100] - + Op.RETURNDATACOPY - + Op.EXTCODECOPY( - address=0xA6E4F86617D6AB14D857F9115C2AB9F2787157BA, - dest_offset=Op.DUP1, - offset=0x0, - size=Op.ADD( - 0x20, - Op.EXTCODESIZE( - address=0xA6E4F86617D6AB14D857F9115C2AB9F2787157BA, - ), + # ... (1 more lines) + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x4) + + Op.CALLDATALOAD(offset=0x24) + + Op.PUSH2[0x100] + + Op.PUSH1[0x0] + + Op.PUSH1[0x20] + + Op.DUP2 + + Op.DUP1 + + Op.CALLDATALOAD(offset=0x44) + + Op.SWAP7 + + Op.CALLDATALOAD(offset=0x64) + + Op.SWAP1 + + Op.DUP3 + + Op.MSTORE + + Op.GAS + + Op.POP(Op.CALL) + + Op.PUSH2[0x100] + + Op.RETURNDATACOPY + + Op.EXTCODECOPY( + address=0xA6E4F86617D6AB14D857F9115C2AB9F2787157BA, + dest_offset=Op.DUP1, + offset=0x0, + size=Op.ADD( + 0x20, + Op.EXTCODESIZE( + address=0xA6E4F86617D6AB14D857F9115C2AB9F2787157BA ), - ) - + Op.CALLDATACOPY( - dest_offset=Op.DUP1, - offset=0x0, - size=Op.ADD(0x20, Op.CALLDATASIZE), - ) - + Op.CODECOPY( - dest_offset=Op.DUP1, - offset=0x0, - size=Op.ADD(0x20, Op.CODESIZE), - ) - + Op.SSTORE(key=0x0, value=0xDEAD) - + Op.STOP - ), - storage={0x0: 0x60A7}, + ), + ) + + Op.CALLDATACOPY( + dest_offset=Op.DUP1, offset=0x0, size=Op.ADD(0x20, Op.CALLDATASIZE) + ) + + Op.CODECOPY( + dest_offset=Op.DUP1, offset=0x0, size=Op.ADD(0x20, Op.CODESIZE) + ) + + Op.SSTORE(key=0x0, value=0xDEAD) + + Op.STOP, + storage={0: 24743}, balance=0xDE0B6B3A7640000, - address=Address("0xe4592ed5b9c3a9302d66798e39bfb7dfd44fafc1"), # noqa: E501 + nonce=1, + address=Address(0xE4592ED5B9C3A9302D66798E39BFB7DFD44FAFC1), # noqa: E501 ) + pre[sender] = Account(balance=0x3635C9ADC5DEA00000, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [1, 4, 6, 8, 9, 10, 11, 13, 16, 18, 20, 21, 22, 23], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 24743})}, + }, + { + "indexes": { + "data": [0, 2, 3, 5, 7, 12, 14, 15, 17, 19], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 57005})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("917694f9") + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x0) + + Hash(0x1) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x0) + + Hash(0x8) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x0) + + Hash(0x10) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x0) + + Hash(0x11) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x1) + + Hash(0xF) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x1) + + Hash(0x10) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x8) + + Hash(0x8) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x9) + + Hash(0x8) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x10) + + Hash(0x8) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x10) + + Hash(0x10) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x20) + + Hash(0x10) + + Hash(addr, left_padding=True), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(addr_2, left_padding=True), + Bytes("917694f9") + + Hash(0x0) + + Hash(0x0) + + Hash(0x1) + + Hash(addr_2, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x0) + + Hash(0x8) + + Hash(addr_2, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x0) + + Hash(0x10) + + Hash(addr_2, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x0) + + Hash(0x11) + + Hash(addr_2, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x1) + + Hash(0xF) + + Hash(addr_2, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x1) + + Hash(0x10) + + Hash(addr_2, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x8) + + Hash(0x8) + + Hash(addr_2, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x9) + + Hash(0x8) + + Hash(addr_2, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x10) + + Hash(0x8) + + Hash(addr_2, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x10) + + Hash(0x10) + + Hash(addr_2, left_padding=True), + Bytes("917694f9") + + Hash(0x10) + + Hash(0x20) + + Hash(0x10) + + Hash(addr_2, left_padding=True), + ] + tx_gas = [16777216] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - gas_price=100, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + gas_price=100, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/__init__.py b/tests/ported_static/stRevertTest/__init__.py index 07e5b318406..f8639ee4a2d 100644 --- a/tests/ported_static/stRevertTest/__init__.py +++ b/tests/ported_static/stRevertTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stRevertTest.""" +"""Ported static tests: stRevertTest.""" # noqa: N999 diff --git a/tests/ported_static/stRevertTest/test_cost_revert.py b/tests/ported_static/stRevertTest/test_cost_revert.py index 8839428934e..c12c2f4a942 100644 --- a/tests/ported_static/stRevertTest/test_cost_revert.py +++ b/tests/ported_static/stRevertTest/test_cost_revert.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stRevertTest/costRevertFiller.yml +state_tests/stRevertTest/costRevertFiller.yml """ import pytest @@ -11,10 +11,16 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,278 +28,202 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/costRevertFiller.yml"], + ["state_tests/stRevertTest/costRevertFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010030000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010030000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010030000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010030000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010040000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010040000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010040000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010040000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2609} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2609} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2609} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 2609} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010060000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010060000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010060000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010060000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010050000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010050000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010050000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010050000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, - ), - ( - "1a8451e600000000000000000000000000000000000000000000000000000000000010020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 0xFFFFFF} - ) - }, + pytest.param( + 0, + 0, + 0, + id="revert", + ), + pytest.param( + 1, + 0, + 0, + id="outOfGas", + ), + pytest.param( + 2, + 0, + 0, + id="xtremeOOG", + ), + pytest.param( + 3, + 0, + 0, + id="badOpcode", + ), + pytest.param( + 4, + 0, + 0, + id="jumpBadly", + ), + pytest.param( + 5, + 0, + 0, + id="stackUnder", + ), + pytest.param( + 6, + 0, + 0, + id="stackOver", + ), + pytest.param( + 7, + 0, + 0, + id="revert", + ), + pytest.param( + 8, + 0, + 0, + id="outOfGas", + ), + pytest.param( + 9, + 0, + 0, + id="xtremeOOG", + ), + pytest.param( + 10, + 0, + 0, + id="badOpcode", + ), + pytest.param( + 11, + 0, + 0, + id="jumpBadly", + ), + pytest.param( + 12, + 0, + 0, + id="stackUnder", + ), + pytest.param( + 13, + 0, + 0, + id="stackOver", + ), + pytest.param( + 14, + 0, + 0, + id="revert", + ), + pytest.param( + 15, + 0, + 0, + id="outOfGas", + ), + pytest.param( + 16, + 0, + 0, + id="xtremeOOG", + ), + pytest.param( + 17, + 0, + 0, + id="badOpcode", + ), + pytest.param( + 18, + 0, + 0, + id="jumpBadly", + ), + pytest.param( + 19, + 0, + 0, + id="stackUnder", + ), + pytest.param( + 20, + 0, + 0, + id="stackOver", + ), + pytest.param( + 21, + 0, + 0, + id="revert", + ), + pytest.param( + 22, + 0, + 0, + id="outOfGas", + ), + pytest.param( + 23, + 0, + 0, + id="xtremeOOG", + ), + pytest.param( + 24, + 0, + 0, + id="badOpcode", + ), + pytest.param( + 25, + 0, + 0, + id="jumpBadly", + ), + pytest.param( + 26, + 0, + 0, + id="stackUnder", + ), + pytest.param( + 27, + 0, + 0, + id="stackOver", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - ], ) @pytest.mark.pre_alloc_mutable def test_cost_revert( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -307,76 +237,87 @@ def test_cost_revert( gas_limit=100000000, ) - pre.deploy_contract( + # Source: lll + # { + # (revert 0 0x10) + # } + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.REVERT(offset=0x0, size=0x10) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI(pc=0x13, condition=Op.ISZERO(0x1)) - + Op.POP(Op.SHA3(offset=0x0, size=0x1000000)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { + # (while 1 (sha3 0 0x1000000)) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI(pc=0x13, condition=Op.ISZERO(0x1)) + + Op.POP(Op.SHA3(offset=0x0, size=0x1000000)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001001"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { + # (sha3 0 (- 0 1)) + # } + contract_2 = pre.deploy_contract( # noqa: F841 code=Op.SHA3(offset=0x0, size=Op.SUB(0x0, 0x1)) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001002"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x610103600155600060006000600061dead6175305a03f450BA + contract_3 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( "610103600155600060006000600061dead6175305a03f450ba" ), balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001003"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x104) - + Op.POP( - Op.DELEGATECALL( - gas=Op.SUB(Op.GAS, 0x7530), - address=0xDEAD, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: raw + # 0x610104600155600060006000600061dead6175305a03f450600056 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x104) + + Op.POP( + Op.DELEGATECALL( + gas=Op.SUB(Op.GAS, 0x7530), + address=0xDEAD, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMP(pc=0x0) - ), + ) + + Op.JUMP(pc=0x0), balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001004"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x1000 + contract_5 = pre.deploy_contract( # noqa: F841 code=Op.LT + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001005"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x5b586004580356 + contract_6 = pre.deploy_contract( # noqa: F841 code=Op.JUMPDEST + Op.PC + Op.JUMP(pc=Op.SUB(Op.PC, 0x4)), balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001006"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 ) - pre[sender] = Account(balance=0x100000000000) - # Source: LLL + # Source: lll # { # (if (= $36 0) { ; CALL # [0x00] (gas) @@ -408,143 +349,212 @@ def test_cost_revert( # ; 17-1 POP 2 24761 79954047 # # ... (59 more lines) - contract = pre.deploy_contract( - code=( - Op.JUMPI( - pc=Op.PUSH2[0x11], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x3B]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x7530), - address=Op.CALLDATALOAD(offset=0x4), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), - 0x2A, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x4D], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0x75]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.DELEGATECALL( - gas=Op.SUB(Op.GAS, 0x7530), - address=Op.CALLDATALOAD(offset=0x4), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), - 0x27, - ), + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=Op.PUSH2[0x11], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x0), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x3B]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x7530), + address=Op.CALLDATALOAD(offset=0x4), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x87], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x2), + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), 0x2A + ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x4D], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x1), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0x75]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.DELEGATECALL( + gas=Op.SUB(Op.GAS, 0x7530), + address=Op.CALLDATALOAD(offset=0x4), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xAF]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x7530), - address=Op.CALLDATALOAD(offset=0x4), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), 0x27 + ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x87], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x2), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xAF]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x7530), + address=Op.CALLDATALOAD(offset=0x4), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), - 0x27, - ), + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), 0x27 + ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xC1], + condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x3), + ) + + Op.POP(0x0) + + Op.JUMP(pc=Op.PUSH2[0xEB]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.POP( + Op.CALLCODE( + gas=Op.SUB(Op.GAS, 0x7530), + address=Op.CALLDATALOAD(offset=0x4), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xC1], - condition=Op.EQ(Op.CALLDATALOAD(offset=0x24), 0x3), - ) - + Op.POP(0x0) - + Op.JUMP(pc=Op.PUSH2[0xEB]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.POP( - Op.CALLCODE( - gas=Op.SUB(Op.GAS, 0x7530), - address=Op.CALLDATALOAD(offset=0x4), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x20, value=Op.GAS) - + Op.SSTORE( - key=0x0, - value=Op.SUB( - Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), - 0x2A, - ), - ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x100, condition=Op.GT(Op.SLOAD(key=0x0), 0x4000000)) - + Op.SLOAD(key=0x0) - + Op.JUMP(pc=0x105) - + Op.JUMPDEST - + Op.PUSH3[0xFFFFFF] - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=Op.GAS) + + Op.SSTORE( + key=0x0, + value=Op.SUB( + Op.SUB(Op.MLOAD(offset=0x0), Op.MLOAD(offset=0x20)), 0x2A + ), + ) + + Op.JUMPDEST + + Op.JUMPI(pc=0x100, condition=Op.GT(Op.SLOAD(key=0x0), 0x4000000)) + + Op.SLOAD(key=0x0) + + Op.JUMP(pc=0x105) + + Op.JUMPDEST + + Op.PUSH3[0xFFFFFF] + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SSTORE + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0x100000000000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 21, 14, 7], "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_loop_calls_depth_then_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -47,53 +46,52 @@ def test_loop_calls_depth_then_revert( gas_limit=100000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.CALL( - gas=Op.GAS, - address=0xF59FD1C021541704A4A52C067454304566717666, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] (+ (SLOAD 0) 1) (CALL (GAS) 0 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.CALL( + gas=Op.GAS, + address=0x80D46FA47B41AB46A227915AE4F63559C0D4DFE2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x80d46fa47b41ab46a227915ae4f63559c0d4dfe2"), # noqa: E501 + address=Address(0xF59FD1C021541704A4A52C067454304566717666), # noqa: E501 ) - # Source: LLL - # { [[0]] (+ (SLOAD 0) 1) (CALL (GAS) 0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.CALL( - gas=Op.GAS, - address=0x80D46FA47B41AB46A227915AE4F63559C0D4DFE2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { [[0]] (+ (SLOAD 0) 1) (CALL (GAS) 0 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.CALL( + gas=Op.GAS, + address=0xF59FD1C021541704A4A52C067454304566717666, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xf59fd1c021541704a4a52c067454304566717666"), # noqa: E501 + address=Address(0x80D46FA47B41AB46A227915AE4F63559C0D4DFE2), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, ) post = { - callee: Account(storage={0: 192}), - contract: Account(storage={0: 193}), + target: Account(storage={0: 193}), + addr: Account(storage={0: 192}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_loop_calls_depth_then_revert2.py b/tests/ported_static/stRevertTest/test_loop_calls_depth_then_revert2.py index ee70b4a7159..ed6a5e22284 100644 --- a/tests/ported_static/stRevertTest/test_loop_calls_depth_then_revert2.py +++ b/tests/ported_static/stRevertTest/test_loop_calls_depth_then_revert2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_loop_calls_depth_then_revert2. Ported from: -tests/static/state_tests/stRevertTest/LoopCallsDepthThenRevert2Filler.json +state_tests/stRevertTest/LoopCallsDepthThenRevert2Filler.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/LoopCallsDepthThenRevert2Filler.json", # noqa: E501 - ], + ["state_tests/stRevertTest/LoopCallsDepthThenRevert2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -33,8 +33,9 @@ def test_loop_calls_depth_then_revert2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_loop_calls_depth_then_revert2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,42 +49,44 @@ def test_loop_calls_depth_then_revert2( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMPI(pc=0x3F, condition=Op.EQ(Op.SLOAD(key=0x0), 0x3FF)) - + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + pre[sender] = Account(balance=0x13426172C74D822B878FE800000000) + # Source: raw + # 0x6103ff60005414603f576001600054016000556000600060006000600073a0000000000000000000000000000000000000005af15061041a600054106053575b66600060006002f0600052600760196003f0505b # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x3F, condition=Op.EQ(Op.SLOAD(key=0x0), 0x3FF)) + + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xA000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPI(pc=0x53, condition=Op.LT(Op.SLOAD(key=0x0), 0x41A)) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=0x600060006002F0) - + Op.POP(Op.CREATE(value=0x3, offset=0x19, size=0x7)) - + Op.JUMPDEST - ), + ) + + Op.JUMPI(pc=0x53, condition=Op.LT(Op.SLOAD(key=0x0), 0x41A)) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=0x600060006002F0) + + Op.POP(Op.CREATE(value=0x3, offset=0x19, size=0x7)) + + Op.JUMPDEST, balance=10, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0x13426172C74D822B878FE800000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=9214364837600034817, ) post = { - contract: Account(storage={0: 1023}), + compute_create_address(address=contract_0, nonce=0): Account( + balance=3, nonce=1 + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_loop_calls_depth_then_revert3.py b/tests/ported_static/stRevertTest/test_loop_calls_depth_then_revert3.py index 4e52b22b7e5..b00e868bc95 100644 --- a/tests/ported_static/stRevertTest/test_loop_calls_depth_then_revert3.py +++ b/tests/ported_static/stRevertTest/test_loop_calls_depth_then_revert3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_loop_calls_depth_then_revert3. Ported from: -tests/static/state_tests/stRevertTest/LoopCallsDepthThenRevert3Filler.json +state_tests/stRevertTest/LoopCallsDepthThenRevert3Filler.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/LoopCallsDepthThenRevert3Filler.json", # noqa: E501 - ], + ["state_tests/stRevertTest/LoopCallsDepthThenRevert3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -33,8 +33,9 @@ def test_loop_calls_depth_then_revert3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_loop_calls_depth_then_revert3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,42 +49,47 @@ def test_loop_calls_depth_then_revert3( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMPI(pc=0x3F, condition=Op.EQ(Op.SLOAD(key=0x0), 0x3FE)) - + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + pre[sender] = Account(balance=0x13426172C74D822B878FE800000000) + # Source: raw + # 0x6103fe60005414603f576001600054016000556000600060006000600073a0000000000000000000000000000000000000005af15061041a600054106053575b66600060006002f0600052600760196003f0505b # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x3F, condition=Op.EQ(Op.SLOAD(key=0x0), 0x3FE)) + + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xA000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPI(pc=0x53, condition=Op.LT(Op.SLOAD(key=0x0), 0x41A)) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=0x600060006002F0) - + Op.POP(Op.CREATE(value=0x3, offset=0x19, size=0x7)) - + Op.JUMPDEST - ), + ) + + Op.JUMPI(pc=0x53, condition=Op.LT(Op.SLOAD(key=0x0), 0x41A)) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=0x600060006002F0) + + Op.POP(Op.CREATE(value=0x3, offset=0x19, size=0x7)) + + Op.JUMPDEST, balance=10, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0x13426172C74D822B878FE800000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=9214364837600034817, ) post = { - contract: Account(storage={0: 1022}), + compute_create_address(address=contract_0, nonce=0): Account( + balance=1, nonce=2 + ), + Address(0xCD6807039CAFFDDBD1C28A749EC91BEF15F448E5): Account( + balance=2, nonce=1 + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_loop_calls_then_revert.py b/tests/ported_static/stRevertTest/test_loop_calls_then_revert.py index b6fb29390cc..82f49a403f8 100644 --- a/tests/ported_static/stRevertTest/test_loop_calls_then_revert.py +++ b/tests/ported_static/stRevertTest/test_loop_calls_then_revert.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_loop_calls_then_revert. Ported from: -tests/static/state_tests/stRevertTest/LoopCallsThenRevertFiller.json +state_tests/stRevertTest/LoopCallsThenRevertFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/LoopCallsThenRevertFiller.json"], + ["state_tests/stRevertTest/LoopCallsThenRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_loop_calls_then_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_loop_calls_then_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -45,45 +46,47 @@ def test_loop_calls_then_revert( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.SSTORE(key=0x0, value=Op.SUB(Op.SLOAD(key=0x0), 0x1)) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0xC47BCBF49DD735566CFDE927821E938D5B33014C, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: raw + # 0x5b600160005403600055600060006000600060007361c350f150600054600057 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.SUB(Op.SLOAD(key=0x0), 0x1)) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0xC47BCBF49DD735566CFDE927821E938D5B33014C, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPI(pc=0x0, condition=Op.SLOAD(key=0x0)) - ), - storage={0x0: 0x352}, + ) + + Op.JUMPI(pc=0x0, condition=Op.SLOAD(key=0x0)), + storage={0: 850}, nonce=0, - address=Address("0x0347aff20d9d3c574e18f3b17dc267ddcd2d75ca"), # noqa: E501 + address=Address(0x0347AFF20D9D3C574E18F3B17DC267DDCD2D75CA), # noqa: E501 ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { [[0]] (ADD 1 (SLOAD 0)) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0xc47bcbf49dd735566cfde927821e938d5b33014c"), # noqa: E501 + address=Address(0xC47BCBF49DD735566CFDE927821E938D5B33014C), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, ) post = { - callee: Account(storage={0: 850}), + target: Account(storage={0: 0}), + addr: Account(storage={0: 850}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_loop_delegate_calls_depth_then_revert.py b/tests/ported_static/stRevertTest/test_loop_delegate_calls_depth_then_revert.py index 2a65f2c557e..39bc63f8f88 100644 --- a/tests/ported_static/stRevertTest/test_loop_delegate_calls_depth_then_revert.py +++ b/tests/ported_static/stRevertTest/test_loop_delegate_calls_depth_then_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_loop_delegate_calls_depth_then_revert. Ported from: -tests/static/state_tests/stRevertTest -LoopDelegateCallsDepthThenRevertFiller.json +state_tests/stRevertTest/LoopDelegateCallsDepthThenRevertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/LoopDelegateCallsDepthThenRevertFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/LoopDelegateCallsDepthThenRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_loop_delegate_calls_depth_then_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_loop_delegate_calls_depth_then_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,50 +46,50 @@ def test_loop_delegate_calls_depth_then_revert( gas_limit=100000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]] (+ (SLOAD 0) 1) (DELEGATECALL (GAS) 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xF798CB78490DA31DFACDCD1F2B3FB1948BB2B228, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xF798CB78490DA31DFACDCD1F2B3FB1948BB2B228, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xb0923c4a632de291fcdac653e6c6cc2b4e4cdfa8"), # noqa: E501 + address=Address(0xB0923C4A632DE291FCDAC653E6C6CC2B4E4CDFA8), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.DELEGATECALL( - gas=Op.GAS, - address=0xB0923C4A632DE291FCDAC653E6C6CC2B4E4CDFA8, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { [[0]] (+ (SLOAD 0) 1) (DELEGATECALL (GAS) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.DELEGATECALL( + gas=Op.GAS, + address=0xB0923C4A632DE291FCDAC653E6C6CC2B4E4CDFA8, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xf798cb78490da31dfacdcd1f2b3fb1948bb2b228"), # noqa: E501 + address=Address(0xF798CB78490DA31DFACDCD1F2B3FB1948BB2B228), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, ) post = { - contract: Account(storage={0: 386}), + target: Account(storage={0: 386}), + addr: Account(storage={}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_nashatyrev_suicide_revert.py b/tests/ported_static/stRevertTest/test_nashatyrev_suicide_revert.py index 69b57517f79..3d38439d3a7 100644 --- a/tests/ported_static/stRevertTest/test_nashatyrev_suicide_revert.py +++ b/tests/ported_static/stRevertTest/test_nashatyrev_suicide_revert.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_nashatyrev_suicide_revert. Ported from: -tests/static/state_tests/stRevertTest/NashatyrevSuicideRevertFiller.json +state_tests/stRevertTest/NashatyrevSuicideRevertFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/NashatyrevSuicideRevertFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/NashatyrevSuicideRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +30,8 @@ def test_nashatyrev_suicide_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_nashatyrev_suicide_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -46,43 +45,27 @@ def test_nashatyrev_suicide_revert( gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + pre[sender] = Account(balance=0xE8D4A51000) + # Source: raw + # 0x60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680639c3674fc14610049578063c040622614610058575b610000565b3461000057610056610067565b005b3461000057610065610147565b005b600060405160a680610200833901809050604051809103906000f080156100005790508073ffffffffffffffffffffffffffffffffffffffff1660405180807f6628290000000000000000000000000000000000000000000000000000000000815250600301905060405180910390207c010000000000000000000000000000000000000000000000000000000090046040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018090506000604051808303816000876161da5a03f19250505050610000565b50565b3073ffffffffffffffffffffffffffffffffffffffff1660405180807f6261642829000000000000000000000000000000000000000000000000000000815250600501905060405180910390207c010000000000000000000000000000000000000000000000000000000090046040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018090506000604051808303816000876161da5a03f192505050505b56006060604052346000575b608f806100176000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806326121ff014603c575b6000565b3460005760466048565b005b3373ffffffffffffffffffffffffffffffffffffffff16ff5b5600a165627a7a723058203d1a897befde21eff26abc325fb3da2f526bbc99de1c5c857d1835f673744ebd0029a165627a7a72305820850a52b31ec4745b7af15ba3bffdb1ba17f5d9a00a5f263ee287a92b568f534c0029 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "60606040526000357c010000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000900463ffffffff1680639c3674fc14610049578063c040622614610058575b610000" # noqa: E501 - "565b3461000057610056610067565b005b3461000057610065610147565b005b60006040" # noqa: E501 - "5160a680610200833901809050604051809103906000f080156100005790508073ffffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffff1660405180807f662829000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000081525060030190506040518091039020" # noqa: E501 - "7c0100000000000000000000000000000000000000000000000000000000900460405181" # noqa: E501 - "63ffffffff167c0100000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0281526004018090506000604051808303816000876161da5a03f1925050505061000056" # noqa: E501 - "5b50565b3073ffffffffffffffffffffffffffffffffffffffff1660405180807f626164" # noqa: E501 - "282900000000000000000000000000000000000000000000000000000081525060050190" # noqa: E501 - "5060405180910390207c0100000000000000000000000000000000000000000000000000" # noqa: E501 - "00000090046040518163ffffffff167c0100000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000281526004018090506000604051808303816000876161da5a03f1" # noqa: E501 - "92505050505b56006060604052346000575b608f806100176000396000f3006060604052" # noqa: E501 - "6000357c0100000000000000000000000000000000000000000000000000000000900463" # noqa: E501 - "ffffffff16806326121ff014603c575b6000565b3460005760466048565b005b3373ffff" # noqa: E501 - "ffffffffffffffffffffffffffffffffffff16ff5b5600a165627a7a723058203d1a897b" # noqa: E501 - "efde21eff26abc325fb3da2f526bbc99de1c5c857d1835f673744ebd0029a165627a7a72" # noqa: E501 - "305820850a52b31ec4745b7af15ba3bffdb1ba17f5d9a00a5f263ee287a92b568f534c00" # noqa: E501 - "29" + "60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680639c3674fc14610049578063c040622614610058575b610000565b3461000057610056610067565b005b3461000057610065610147565b005b600060405160a680610200833901809050604051809103906000f080156100005790508073ffffffffffffffffffffffffffffffffffffffff1660405180807f6628290000000000000000000000000000000000000000000000000000000000815250600301905060405180910390207c010000000000000000000000000000000000000000000000000000000090046040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018090506000604051808303816000876161da5a03f19250505050610000565b50565b3073ffffffffffffffffffffffffffffffffffffffff1660405180807f6261642829000000000000000000000000000000000000000000000000000000815250600501905060405180910390207c010000000000000000000000000000000000000000000000000000000090046040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018090506000604051808303816000876161da5a03f192505050505b56006060604052346000575b608f806100176000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806326121ff014603c575b6000565b3460005760466048565b005b3373ffffffffffffffffffffffffffffffffffffffff16ff5b5600a165627a7a723058203d1a897befde21eff26abc325fb3da2f526bbc99de1c5c857d1835f673744ebd0029a165627a7a72305820850a52b31ec4745b7af15ba3bffdb1ba17f5d9a00a5f263ee287a92b568f534c0029" # noqa: E501 ), nonce=0, - address=Address("0xd926bbc3745f0070528fc04cbfd3a2c9f9ca6a19"), # noqa: E501 + address=Address(0xD926BBC3745F0070528FC04CBFD3A2C9F9CA6A19), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=500000, ) - post: dict = {} + post = { + target: Account(storage={}, nonce=0), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_python_revert_test_tue201814_minus_1430.py b/tests/ported_static/stRevertTest/test_python_revert_test_tue201814_minus_1430.py index 2e3eeb98329..72570819b28 100644 --- a/tests/ported_static/stRevertTest/test_python_revert_test_tue201814_minus_1430.py +++ b/tests/ported_static/stRevertTest/test_python_revert_test_tue201814_minus_1430.py @@ -2,7 +2,7 @@ A random test that had failed in Python ethereum implementation. Ported from: -tests/static/state_tests/stRevertTest/PythonRevertTestTue201814-1430Filler.json +state_tests/stRevertTest/PythonRevertTestTue201814-1430Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,16 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/PythonRevertTestTue201814-1430Filler.json", # noqa: E501 - ], + ["state_tests/stRevertTest/PythonRevertTestTue201814-1430Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_python_revert_test_tue201814_minus_1430( state_test: StateTestFiller, pre: Alloc, ) -> None: """A random test that had failed in Python ethereum implementation.""" - coinbase = Address("0xf7b2e80637a148b5e46945e29388928dafd5aa25") + coinbase = Address(0xF7B2E80637A148B5E46945E29388928DAFD5AA25) sender = EOA( key=0x3E297DF41E49C542F54718BBEE92D449778686880729C852F6D2C3C40D135341 ) @@ -48,911 +46,400 @@ def test_python_revert_test_tue201814_minus_1430( gas_limit=5805800386153628, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x1F, - value=0xBEE2A270429ABBD3FF3B9945F72F58DCF4F8B344417A87DFA1EBD7, - ) - + Op.ORIGIN - + Op.CALLCODE( - gas=0x2C1E2816, - address=0x69859649E8A52DE717592B881508371F8A8ED6B9, - value=0x42A46F50, - args_offset=0x132, - args_size=0x27B, - ret_offset=0x3EE, - ret_size=0x9B, - ) - + Op.STATICCALL( - gas=0x2318D76F, - address=0x843E0B83D4D70DEDE90D9A4D93FA3F10BB5011C7, - args_offset=0x124, - args_size=0x131, - ret_offset=0x1EC, - ret_size=0x172, - ) - + Op.PUSH19[0x1A0FF381BB40BB828D7781D2EF7C0FD8695F7] - + Op.PUSH29[ - 0x5465FBADF99FDFFEF2AFD94B0E76531B6EA0D23D2332D13C20368A072 - ] - + Op.MSTORE8( - offset=0xA6B1EBC3464527E34C26A4379F9DFE4F8E57981A9FC08558C90D, - value=0x4E41BC1130, - ) - + Op.JUMPI( - pc=0xCF72F489A4, - condition=0x38079F1921B60FE6FA448171FEC55C4C63E811712211, - ) - + Op.SLOAD(key=0xE83A2F5427EAB647B075A910929DE0A6554FC1426B49) - + Op.MSTORE8( - offset=0x3BD089A6663F6DFF488574195B848FBB357EB7BE1FFF076E997770D03B7028, # noqa: E501 - value=0xCD8E2C770339616CE9C501FB746715DD4A20219229D0673AC05599, - ) - + Op.DELEGATECALL( - gas=0x47CFE65D, - address=0x69859649E8A52DE717592B881508371F8A8ED6B9, - args_offset=0x2DB, - args_size=0x305, - ret_offset=0x284, - ret_size=0x3B3, - ) - + Op.TIMESTAMP - + Op.GASPRICE - + Op.PUSH12[0x8679871DC28AA5A1399B21C8] - + Op.STATICCALL( - gas=0x11ECD01B, - address=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - args_offset=0x5B, - args_size=0x1F3, - ret_offset=0x47, - ret_size=0x2E4, - ) - + Op.PUSH23[0xAFA8155ECD75DD05F9D7EB42FA3E79C6A2109DFF2A1E53] - + Op.REVERT(offset=0x1B2, size=0x30A) - + Op.CALLCODE( - gas=0x42CE224D, - address=Op.PUSH20[0x5], - value=0x459D135B, - args_offset=0x27F, - args_size=0x117, - ret_offset=0x58, - ret_size=0x263, - ) - + Op.MSTORE( - offset=0xE3, - value=0xE612FBE000BED18EEC8345F005F537C72820D8B973, - ) - + Op.PUSH12[0x50AE523A8F7467AE14A8BD9A] - + Op.PUSH11[0xAEE55862B685E32476CC67] - + Op.PUSH3[0xAE2C40] - + Op.PUSH9[0xCF55729540D111F44C] - + Op.SWAP3 - + Op.RETURNDATACOPY(dest_offset=0x3F3, offset=0x1BC, size=0xE7) - + Op.LT(0x9ED3BB, 0x639458DAE7AD2A9B38) - + Op.REVERT(offset=0x36A, size=0xD8) - + Op.CREATE(value=0x6DB4B55B, offset=0x359, size=0x123) - + Op.MSTORE(offset=0x177, value=0x602169) - + Op.BYTE(0x1BCF921919, 0xEA8A7B3A) - + Op.RETURNDATACOPY(dest_offset=0x1F7, offset=0x371, size=0x3BE) - + Op.MSTORE8( - offset=0xA0B67479A345D1E70065, - value=0xC0413CB5D609CA9A51645238E4F1F8268F973C3A01, - ) - + Op.CALL( - gas=0x35ADEABD, - address=Op.PUSH20[0x6], - value=0x3FF89B31, - args_offset=0x214, - args_size=0x2F2, - ret_offset=0x173, - ret_size=0x16, - ) - + Op.RETURNDATASIZE - + Op.SLOAD( - key=0xE6D218AF54C3D8045447D06C726801695CFA26FDFAA6460A8685CD662855A5, # noqa: E501 - ) - + Op.MLOAD( - offset=0x5716140AE0B1E25AEAF04AE7CF54E8AA7A22206DA5A6E52BDD3EF82AD40A4681, # noqa: E501 - ) - + Op.PUSH24[0xD25811167B0A3F66A727652592924DC1291A6085D537C5DA] - + Op.RETURNDATACOPY(dest_offset=0x3A3, offset=0x1D, size=0x1B1) - + Op.PUSH22[0x2D6272A54F882460BC76407D6361C40CC56BC88A8BC9] - + Op.DELEGATECALL( - gas=0x5F449586, - address=0xE7E620C9CF6045209EDCAD4D6EF43413BEDF0949, - args_offset=0x1F3, - args_size=0x2C1, - ret_offset=0x3EC, - ret_size=0x72, - ) - ), - balance=0x882FD85BC18C9F00, - nonce=29, - address=Address("0x69859649e8a52de717592b881508371f8a8ed6b9"), # noqa: E501 - ) - pre[sender] = Account(balance=0xAB56295C9D120548) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x277795A, - address=0xF7B2E80637A148B5E46945E29388928DAFD5AA25, - args_offset=0x148, - args_size=0xF5, - ret_offset=0xFF, - ret_size=0x2FA, - ) - + Op.PUSH9[0x9497EDB6A665EAE52F] - + Op.RETURNDATASIZE - + Op.MSTORE(offset=0x3A5, value=0x524975) - + Op.RETURNDATACOPY(dest_offset=0xCB, offset=0xFB, size=0xA8) - + Op.REVERT(offset=0x3E0, size=0x2DD) - + Op.PUSH16[0x568A159C0CAE9044D258C55B10F4D100] - + Op.PUSH3[0x8D29AB] - + Op.PUSH25[0x1DF7FCEBB789E2A8CDBAA9C67C42CD1EBE81716EAD0E94C721] - + Op.PUSH14[0x279DD3A0B3DE311596D547292878] - + Op.PUSH20[0x449CCCE511E6991B3DC636A178159A3D9A062274] - + Op.PUSH3[0xCD9A67] - + Op.PUSH9[0xCCBA17C2CB06DE468E] - + Op.SWAP6 - + Op.PUSH20[0xBF78E55AF17E19973F2C3F5D4C21C169890B9A9] - + Op.PUSH8[0x2491F91AA1E71426] - + Op.PUSH8[0x60D385ED594E21B] - + Op.PUSH14[0x2B23A6C4C50E7AB6A3EF66F83A2] - + Op.SWAP3 - + Op.DIV( - 0x906C348472B7CB, - 0x9845B4BA85C4FDFBD0054A0123AD93EFF4B525B0F4B08D285F36F3BCAC6A985B, # noqa: E501 - ) - + Op.LOG3( - offset=0x61BE606EF617322E6448E3E4124DBE061257A8F486529DE397F08CE92502, # noqa: E501 - size=0x3BFDFA7683AE0DF68BBCB534, - topic_1=0x44C0173C10F1806BA284F9C9C7C13670005DE594DEC538CD56C274, # noqa: E501 - topic_2=0xF536A04D436AD418A1CA, - topic_3=0xC5A02E618666F0C50EECDC11F20FC1DC41C2FD957752E55EDE4E56F4, # noqa: E501 - ) - + Op.MSTORE( - offset=0x314, - value=0x957F855818082B5B5B49E36DE5A83E8A270663088571BF2FDF8F5F29, # noqa: E501 - ) - + Op.ORIGIN - + Op.SSTORE(key=0x43, value=0xB9499741E3859928A237F5E5DF84C13C) - + Op.SIGNEXTEND( - 0x74D84835800999791ABC41260472D96F604D07198E859ADC, - 0x1E82328F9093E64DEFBDD07D, - ) - + Op.MSTORE8( - offset=0x900E69A68B0F0E9E4F1299872881, - value=0x806BEAE7200CF116D2B55E89DDD564ABC3, - ) - + Op.LOG3( - offset=0xC0F49ABE102CD44E474AB71C0237247865FA2ADD74C8B2, - size=0x6ECF21D3A41AD554F79584DCAB761D4C8437774CAD4BB13B2BECE140358DF93E, # noqa: E501 - topic_1=0xD270ECE7, - topic_2=0x1C42F3B109ED2BD72A6CF13500241C2A5E5C4E17EA9ED9B05BA9B57D70D, # noqa: E501 - topic_3=0x5D, - ) - + Op.RETURNDATASIZE - + Op.PUSH16[0x7041C5718A2554A72662720296DFF5B3] - + Op.PUSH24[0xB559DF4558B8A5B2C9E7D15EB3947A70064F935C8FDF0A4E] - + Op.PUSH19[0x6F644AA31B42C10280E50EA92A366C3D060C12] - + Op.PUSH17[0xC6A16A75522FBEB3D7CCA702807F521781] - + Op.PUSH15[0xAB9CCEB9E237EE8FDE4ED3A23D3EC8] - + Op.PUSH27[ - 0xDB334AC1CAA7E06523B0132DD615CF3FC16140D34C191617823C3A - ] - + Op.PUSH28[ - 0xF47C42BC36B69CB4385463595C7F6F9EA451E05303603E0CD401E13D - ] - + Op.PUSH16[0xF744E2A673824D943941551704FF14DF] - + Op.PUSH32[ - 0xA8646EFBB2D8ABC4AC6E258E9924924B8001F8F0650D66B37411D484B18F41E7 # noqa: E501 - ] - + Op.PUSH29[ - 0x792BD1C169FA52BBFC8AF4A45F20ACB0EF95DB2ECBC0D4EADBBBF6732F - ] - + Op.PUSH5[0x8BD33B3633] - + Op.PUSH14[0xC0FAF0CF1970BCD38093A50A44FD] - + Op.PUSH12[0x253B0E74F2706239C499217B] - + Op.DUP13 - + Op.ORIGIN - + Op.SLOAD(key=0xDAE332E2) - + Op.CALLDATALOAD(offset=0x1D5D5E7E795C998CCEED14CF46977E7D3CBB) - + Op.CALLDATALOAD( - offset=0x3C79EF0530C3A8AC3FD8D49F10BB0AE919FA149ADEAD67DAE0, - ) - + Op.EXTCODECOPY( - address=0x69859649E8A52DE717592B881508371F8A8ED6B9, - dest_offset=0x71B518, - offset=0x2813AC, - size=0x7DE430, - ) - + Op.PUSH32[ - 0xB9BA628E056E0E87E029B8E5F42821D775338E6774301ECB428B3938236EE22B # noqa: E501 - ] - + Op.PUSH30[ - 0xB5EDF2AD6997869F427BA0672A7168614233E85F61DAE5ED4283A53F605 - ] - + Op.PUSH17[0x116DAD586DCE62833A62CA8C914C641F86] - + Op.DELEGATECALL( - gas=0x33D3D55F, - address=0xF7B2E80637A148B5E46945E29388928DAFD5AA25, - args_offset=0x31C, - args_size=0x107, - ret_offset=0x1D7, - ret_size=0x52, - ) - + Op.PUSH2[0x1A5B] - + Op.PUSH4[0x1C4EA729] - + Op.DUP2 - + Op.DELEGATECALL( - gas=0x202B2EA8, - address=Op.PUSH20[0x6], - args_offset=0x14A, - args_size=0x1C1, - ret_offset=0x3CE, - ret_size=0x256, - ) - + Op.RETURNDATACOPY(dest_offset=0x2E, offset=0x106, size=0x221) - + Op.PUSH5[0x8A95029ECB] - + Op.DIV( - 0xB8F2B53E55FE01A152C8496CBCC6997447062B734CEBDE, - 0x849FE0943CB9D854C7D50AD04CFDFE648E2868, - ) - + Op.PUSH26[0x6C6452E9EFC4ABA5BF071CBFF56208A525A8EF5F52399B4F3369] - + Op.PUSH28[ - 0xD988884F58166D734881774EFF46D77BB189C89C55B1C6591F178D2D - ] - + Op.PUSH29[ - 0x21BF2B023ADF9BC5B8621235E3346D98D56047A3F71241FD5A24ABBB0C - ] - + Op.PUSH20[0xFC463FB8A5E67E32055696FE51258DD07526EBD8] - + Op.PUSH31[ - 0x439BCEBB514AE26DC12D653A5C1263705109097EC5DCDB3918AB114985F709 # noqa: E501 - ] - + Op.PUSH32[ - 0xD3003B50E58FBA91007825A6B800F644EAA306051808460FC3B2D8E276B2187C # noqa: E501 - ] - + Op.PUSH28[ - 0x583FF29EE0B0C34F9EE57BAC9EBB996402E3300DDF06C760FC5F531F - ] - + Op.PUSH21[0x6B1E2BEDA7A15C07F90F92422822E8D33C5D2409EA] - + Op.PUSH20[0x75197F7CD6D61770EDDB078206CFC7C5006CD0E9] - + Op.PUSH30[ - 0xA9EC65FA4FC683DA22CFAF6DFC995FEB5F8386A052851FC502F32E7EF934 - ] - + Op.PUSH15[0x3D4633DEF4C0A4B9BE12F2CD7C6460] - + Op.PUSH3[0xE14CA3] - + Op.PUSH29[ - 0xFB977524F677714C3D994EA05F1997A2462FC0AB20ED2A5958F3712602 - ] - + Op.SWAP12 - + Op.DELEGATECALL( - gas=0x2E83DBE, - address=0x69859649E8A52DE717592B881508371F8A8ED6B9, - args_offset=0x3A1, - args_size=0x5D, - ret_offset=0x2C9, - ret_size=0x205, - ) + # Source: raw + # 0x6102fa60ff60f561014873630277795afa689497edb6a665eae52f3d625249756103a55260a860fb60cb3e6102dd6103e0fd6f568a159c0cae9044d258c55b10f4d100628d29ab781df7fcebb789e2a8cdbaa9c67c42cd1ebe81716ead0e94c7216d279dd3a0b3de311596d54729287873449ccce511e6991b3dc636a178159a3d9a06227462cd9a6768ccba17c2cb06de468e95730bf78e55af17e19973f2c3f5d4c21c169890b9a9672491f91aa1e7142667060d385ed594e21b6d02b23a6c4c50e7ab6a3ef66f83a2927f9845b4ba85c4fdfbd0054a0123ad93eff4b525b0f4b08d285f36f3bcac6a985b66906c348472b7cb047bc5a02e618666f0c50eecdc11f20fc1dc41c2fd957752e55ede4e56f469f536a04d436ad418a1ca7a44c0173c10f1806ba284f9c9c7c13670005de594dec538cd56c2746b3bfdfa7683ae0df68bbcb5347d61be606ef617322e6448e3e4124dbe061257a8f486529de397f08ce92502a37b957f855818082b5b5b49e36de5a83e8a270663088571bf2fdf8f5f2961031452326fb9499741e3859928a237f5e5df84c13c6043556b1e82328f9093e64defbdd07d7774d84835800999791abc41260472d96f604d07198e859adc0b70806beae7200cf116d2b55e89ddd564abc36d900e69a68b0f0e9e4f129987288153605d7d01c42f3b109ed2bd72a6cf13500241c2a5e5c4e17ea9ed9b05ba9b57d70d63d270ece77f6ecf21d3a41ad554f79584dcab761d4c8437774cad4bb13b2bece140358df93e76c0f49abe102cd44e474ab71c0237247865fa2add74c8b2a33d6f7041c5718a2554a72662720296dff5b377b559df4558b8a5b2c9e7d15eb3947a70064f935c8fdf0a4e726f644aa31b42c10280e50ea92a366c3d060c1270c6a16a75522fbeb3d7cca702807f5217816eab9cceb9e237ee8fde4ed3a23d3ec87adb334ac1caa7e06523b0132dd615cf3fc16140d34c191617823c3a7bf47c42bc36b69cb4385463595c7f6f9ea451e05303603e0cd401e13d6ff744e2a673824d943941551704ff14df7fa8646efbb2d8abc4ac6e258e9924924b8001f8f0650d66b37411d484b18f41e77c792bd1c169fa52bbfc8af4a45f20acb0ef95db2ecbc0d4eadbbbf6732f648bd33b36336dc0faf0cf1970bcd38093a50a44fd6b253b0e74f2706239c499217b8c3263dae332e254711d5d5e7e795c998cceed14cf46977e7d3cbb35783c79ef0530c3a8ac3fd8d49f10bb0ae919fa149adead67dae035627de430622813ac6271b518733c7fb9ba628e056e0e87e029b8e5f42821d775338e6774301ecb428b3938236ee22b7d0b5edf2ad6997869f427ba0672a7168614233e85f61dae5ed4283a53f60570116dad586dce62833a62ca8c914c641f8660526101d761010761031c736333d3d55ff4611a5b631c4ea729816102566103ce6101c161014a73000000000000000000000000000000000000000663202b2ea8f4610221610106602e3e648a95029ecb72849fe0943cb9d854c7d50ad04cfdfe648e286876b8f2b53e55fe01a152c8496cbcc6997447062b734cebde04796c6452e9efc4aba5bf071cbff56208a525a8ef5f52399b4f33697bd988884f58166d734881774eff46d77bb189c89c55b1c6591f178d2d7c21bf2b023adf9bc5b8621235e3346d98d56047a3f71241fd5a24abbb0c73fc463fb8a5e67e32055696fe51258dd07526ebd87e439bcebb514ae26dc12d653a5c1263705109097ec5dcdb3918ab114985f7097fd3003b50e58fba91007825a6b800f644eaa306051808460fc3b2d8e276b2187c7b583ff29ee0b0c34f9ee57bac9ebb996402e3300ddf06c760fc5f531f746b1e2beda7a15c07f90f92422822e8d33c5d2409ea7375197f7cd6d61770eddb078206cfc7c5006cd0e97da9ec65fa4fc683da22cfaf6dfc995feb5f8386a052851fc502f32e7ef9346e3d4633def4c0a4b9be12f2cd7c646062e14ca37cfb977524f677714c3d994ea05f1997a2462fc0ab20ed2a5958f37126029b6102056102c9605d6103a1736302e83dbef4 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x277795A, + address=0xF7B2E80637A148B5E46945E29388928DAFD5AA25, + args_offset=0x148, + args_size=0xF5, + ret_offset=0xFF, + ret_size=0x2FA, + ) + + Op.PUSH9[0x9497EDB6A665EAE52F] + + Op.RETURNDATASIZE + + Op.MSTORE(offset=0x3A5, value=0x524975) + + Op.RETURNDATACOPY(dest_offset=0xCB, offset=0xFB, size=0xA8) + + Op.REVERT(offset=0x3E0, size=0x2DD) + + Op.PUSH16[0x568A159C0CAE9044D258C55B10F4D100] + + Op.PUSH3[0x8D29AB] + + Op.PUSH25[0x1DF7FCEBB789E2A8CDBAA9C67C42CD1EBE81716EAD0E94C721] + + Op.PUSH14[0x279DD3A0B3DE311596D547292878] + + Op.PUSH20[0x449CCCE511E6991B3DC636A178159A3D9A062274] + + Op.PUSH3[0xCD9A67] + + Op.PUSH9[0xCCBA17C2CB06DE468E] + + Op.SWAP6 + + Op.PUSH20[0xBF78E55AF17E19973F2C3F5D4C21C169890B9A9] + + Op.PUSH8[0x2491F91AA1E71426] + + Op.PUSH8[0x60D385ED594E21B] + + Op.PUSH14[0x2B23A6C4C50E7AB6A3EF66F83A2] + + Op.SWAP3 + + Op.DIV( + 0x906C348472B7CB, + 0x9845B4BA85C4FDFBD0054A0123AD93EFF4B525B0F4B08D285F36F3BCAC6A985B, + ) + + Op.LOG3( + offset=0x61BE606EF617322E6448E3E4124DBE061257A8F486529DE397F08CE92502, # noqa: E501 + size=0x3BFDFA7683AE0DF68BBCB534, + topic_1=0x44C0173C10F1806BA284F9C9C7C13670005DE594DEC538CD56C274, + topic_2=0xF536A04D436AD418A1CA, + topic_3=0xC5A02E618666F0C50EECDC11F20FC1DC41C2FD957752E55EDE4E56F4, + ) + + Op.MSTORE( + offset=0x314, + value=0x957F855818082B5B5B49E36DE5A83E8A270663088571BF2FDF8F5F29, + ) + + Op.ORIGIN + + Op.SSTORE(key=0x43, value=0xB9499741E3859928A237F5E5DF84C13C) + + Op.SIGNEXTEND( + 0x74D84835800999791ABC41260472D96F604D07198E859ADC, + 0x1E82328F9093E64DEFBDD07D, + ) + + Op.MSTORE8( + offset=0x900E69A68B0F0E9E4F1299872881, + value=0x806BEAE7200CF116D2B55E89DDD564ABC3, + ) + + Op.LOG3( + offset=0xC0F49ABE102CD44E474AB71C0237247865FA2ADD74C8B2, + size=0x6ECF21D3A41AD554F79584DCAB761D4C8437774CAD4BB13B2BECE140358DF93E, # noqa: E501 + topic_1=0xD270ECE7, + topic_2=0x1C42F3B109ED2BD72A6CF13500241C2A5E5C4E17EA9ED9B05BA9B57D70D, # noqa: E501 + topic_3=0x5D, + ) + + Op.RETURNDATASIZE + + Op.PUSH16[0x7041C5718A2554A72662720296DFF5B3] + + Op.PUSH24[0xB559DF4558B8A5B2C9E7D15EB3947A70064F935C8FDF0A4E] + + Op.PUSH19[0x6F644AA31B42C10280E50EA92A366C3D060C12] + + Op.PUSH17[0xC6A16A75522FBEB3D7CCA702807F521781] + + Op.PUSH15[0xAB9CCEB9E237EE8FDE4ED3A23D3EC8] + + Op.PUSH27[0xDB334AC1CAA7E06523B0132DD615CF3FC16140D34C191617823C3A] + + Op.PUSH28[0xF47C42BC36B69CB4385463595C7F6F9EA451E05303603E0CD401E13D] + + Op.PUSH16[0xF744E2A673824D943941551704FF14DF] + + Op.PUSH32[ + 0xA8646EFBB2D8ABC4AC6E258E9924924B8001F8F0650D66B37411D484B18F41E7 + ] + + Op.PUSH29[ + 0x792BD1C169FA52BBFC8AF4A45F20ACB0EF95DB2ECBC0D4EADBBBF6732F + ] + + Op.PUSH5[0x8BD33B3633] + + Op.PUSH14[0xC0FAF0CF1970BCD38093A50A44FD] + + Op.PUSH12[0x253B0E74F2706239C499217B] + + Op.DUP13 + + Op.ORIGIN + + Op.SLOAD(key=0xDAE332E2) + + Op.CALLDATALOAD(offset=0x1D5D5E7E795C998CCEED14CF46977E7D3CBB) + + Op.CALLDATALOAD( + offset=0x3C79EF0530C3A8AC3FD8D49F10BB0AE919FA149ADEAD67DAE0 + ) + + Op.EXTCODECOPY( + address=0x69859649E8A52DE717592B881508371F8A8ED6B9, + dest_offset=0x71B518, + offset=0x2813AC, + size=0x7DE430, + ) + + Op.PUSH32[ + 0xB9BA628E056E0E87E029B8E5F42821D775338E6774301ECB428B3938236EE22B + ] + + Op.PUSH30[ + 0xB5EDF2AD6997869F427BA0672A7168614233E85F61DAE5ED4283A53F605 + ] + + Op.PUSH17[0x116DAD586DCE62833A62CA8C914C641F86] + + Op.DELEGATECALL( + gas=0x33D3D55F, + address=0xF7B2E80637A148B5E46945E29388928DAFD5AA25, + args_offset=0x31C, + args_size=0x107, + ret_offset=0x1D7, + ret_size=0x52, + ) + + Op.PUSH2[0x1A5B] + + Op.PUSH4[0x1C4EA729] + + Op.DUP2 + + Op.DELEGATECALL( + gas=0x202B2EA8, + address=Op.PUSH20[0x6], + args_offset=0x14A, + args_size=0x1C1, + ret_offset=0x3CE, + ret_size=0x256, + ) + + Op.RETURNDATACOPY(dest_offset=0x2E, offset=0x106, size=0x221) + + Op.PUSH5[0x8A95029ECB] + + Op.DIV( + 0xB8F2B53E55FE01A152C8496CBCC6997447062B734CEBDE, + 0x849FE0943CB9D854C7D50AD04CFDFE648E2868, + ) + + Op.PUSH26[0x6C6452E9EFC4ABA5BF071CBFF56208A525A8EF5F52399B4F3369] + + Op.PUSH28[0xD988884F58166D734881774EFF46D77BB189C89C55B1C6591F178D2D] + + Op.PUSH29[ + 0x21BF2B023ADF9BC5B8621235E3346D98D56047A3F71241FD5A24ABBB0C + ] + + Op.PUSH20[0xFC463FB8A5E67E32055696FE51258DD07526EBD8] + + Op.PUSH31[ + 0x439BCEBB514AE26DC12D653A5C1263705109097EC5DCDB3918AB114985F709 + ] + + Op.PUSH32[ + 0xD3003B50E58FBA91007825A6B800F644EAA306051808460FC3B2D8E276B2187C + ] + + Op.PUSH28[0x583FF29EE0B0C34F9EE57BAC9EBB996402E3300DDF06C760FC5F531F] + + Op.PUSH21[0x6B1E2BEDA7A15C07F90F92422822E8D33C5D2409EA] + + Op.PUSH20[0x75197F7CD6D61770EDDB078206CFC7C5006CD0E9] + + Op.PUSH30[ + 0xA9EC65FA4FC683DA22CFAF6DFC995FEB5F8386A052851FC502F32E7EF934 + ] + + Op.PUSH15[0x3D4633DEF4C0A4B9BE12F2CD7C6460] + + Op.PUSH3[0xE14CA3] + + Op.PUSH29[ + 0xFB977524F677714C3D994EA05F1997A2462FC0AB20ED2A5958F3712602 + ] + + Op.SWAP12 + + Op.DELEGATECALL( + gas=0x2E83DBE, + address=0x69859649E8A52DE717592B881508371F8A8ED6B9, + args_offset=0x3A1, + args_size=0x5D, + ret_offset=0x2C9, + ret_size=0x205, ), balance=0x845252B8509DC215, nonce=29, - address=Address("0x843e0b83d4d70dede90d9a4d93fa3f10bb5011c7"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.RETURNDATACOPY(dest_offset=0x101, offset=0x19F, size=0x13) - + Op.PUSH16[0x338DB2B1165B4918F178852663192A95] - + Op.PUSH14[0x79A68B50EEFDC639CA0B62AB4D52] - + Op.PUSH24[0x1DB054CCC801C0666B34B3C6242BBFC5E98F20C14FB95E01] - + Op.PUSH8[0x18BE9AD033D50E21] - + Op.PUSH8[0x5FF59297861847EA] - + Op.PUSH11[0x911A6A9D135E2F826DC603] - + Op.PUSH30[ - 0x850E0DB21D105B8732A34B873C7D943050B8659794F0BD3E841D35A2231E - ] - + Op.PUSH6[0xF697F8CDE117] - + Op.PUSH8[0x28FA2051E87933CF] - + Op.PUSH7[0x858E4E5E91BAA7] - + Op.PUSH23[0x4FC1E9FFE4C7B15BA600E88F095989DC68F47ED704BE2B] - + Op.SWAP10 - + Op.CREATE(value=0x200FBD63, offset=0x215, size=0x17) - + Op.RETURNDATACOPY( - dest_offset=0x99C91C, - offset=0x93AFAA8CE1769C96CD0751AA76A98C8196FA8C92E70D7BDA17, - size=0x41C7F86732F4D5419B41E6887CCA98E0943F141A5C66DF98BD0C6D6C4CEC65, # noqa: E501 - ) - + Op.PUSH27[ - 0x7F05DE3181109B8194387746F9EC15A6E0233F759E43360BD4E0A0 - ] - + Op.MSTORE(offset=0x161, value=0x4E9F395117AFCD072774CE12D13DC7) - + Op.ADDRESS - + Op.GASPRICE - + Op.PUSH9[0x3305858002A92140B6] - + Op.PUSH25[0x508E3A3BE377D4825DBF618A393C7C061E75A8A496A33AFE0F] - + Op.PUSH19[0x17F2E33549E321838B083D48893F23DCED459] - + Op.PUSH31[ - 0x2E9EA08FE3F80970D6334B6C6F1FDE8BCC81D03A7CCC244231CB6606DBA6D0 # noqa: E501 - ] - + Op.PUSH15[0xC1C5158EF0DB6994192ACBD4CAC6AB] - + Op.PUSH11[0xC8449D80FC2C32471946E0] - + Op.PUSH18[0xD9606BD390266D7F712766F4765076283AD6] - + Op.PUSH9[0x7450D7AB4DF6F3F6EE] - + Op.SWAP7 - + Op.MSTORE8( - offset=0xB802EC9D7ED96DC0B9CE7BD14B193DC1F0, value=0x14A - ) - + Op.PUSH23[0xD11CE19283C7F651D4D2E7C180715FF7FCBC995EA8B276] - + Op.PUSH3[0x13CC51] - + Op.PUSH30[ - 0x6DAD16D17F29A93220CE0DDB0A65D3D474DBC39CBA5BCB3D4FCF9FEF1910 - ] - + Op.PUSH1[0x7D] - + Op.PUSH5[0xC04511DF27] - + Op.PUSH32[ - 0x522AB2475FBB2BA0720711A903DBECFA0429BF11E6E90CBB0F13D4EE050C52C8 # noqa: E501 - ] - + Op.PUSH20[0x65E0216B4096186FC604FB563FA59F1263EE91D5] - + Op.PUSH10[0x5E407FDFFE82CA1558F7] - + Op.DUP8 - + Op.PUSH11[0x93F3A218DD9BA6901FDEA9] - + Op.RETURNDATASIZE - + Op.PUSH12[0xE498F0B0E1874331115E31AA] - + Op.PUSH16[0xAD4D87227362A9EC3E1C1BE11CDB2309] - + Op.PUSH10[0x7BBC0C692EEADFA91616] - + Op.PUSH10[0xB8AEC24564487DC74F8E] - + Op.PUSH30[ - 0x17E6A133B5DBE576838697DE73F856197203EF1A3A54F7EDB0DBD60F9D52 - ] - + Op.PUSH21[0xDB6B5C1477169B77F0D817ED731A20DB4B9E5B83D2] - + Op.PUSH25[0x6BFFEFAB084A31C4AFDA168156612F281DA0BE688E5BDB1F31] - + Op.PUSH23[0xED78BC62343A7665ABAD6573482449E68B3ACFE820993D] - + Op.PUSH24[0xDF5785384D51AAA0612DAB5DDBF2A9BF550736AD42293387] - + Op.DUP9 - + Op.REVERT(offset=0x23F, size=0x119) - + Op.CALL( - gas=0x792C6916, - address=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - value=0x5AF7465B, - args_offset=0x36E, - args_size=0x216, - ret_offset=0x22D, - ret_size=0x8F, - ) - + Op.PUSH15[0xD70693587DF6CCFAE5218D01559BAC] - + Op.PUSH1[0x15] - + Op.REVERT(offset=0x1AD, size=0x200) - ), - balance=0x5B1936A53E6E440F, - nonce=21, - address=Address("0xe7e620c9cf6045209edcad4d6ef43413bedf0949"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=bytes.fromhex( - "610326610100f379c940b5f2046740058558468f238b85db7f6bbe3f3d51e92a3e3268b7" # noqa: E501 - "f7c4147541c695f376705288410b81b217e80726fb9e4c5c7b4c49eca0c1b6b97e117c16" # noqa: E501 - "c26c9816459f38396ffc36da48d65defdc7d055cbc846c07e81cfab0fb607c6cbc968774" # noqa: E501 - "d4de7df8e3236f581e688cc2081a96b1cad9e0609b70f4fddda49ae97714e7d325ceab23" # noqa: E501 - "acd5f46ba15b5210474116121921a04f68f3f933b9ad91b735bf71bfe41da706499c5d47" # noqa: E501 - "b6de1fe398cb91fdf66481cbb8661d71d457cf3cef75dabf5ea496d7012f4c56b9fe70e6" # noqa: E501 - "c4204720e3ce66874cead08499d57a547b97d37744ce205e051f296fb116fc9e5f3c2809" # noqa: E501 - "19aff3c93c5d5cefff9a6102d86103ca6364b68c8ef07d" - ), - balance=0x54C814F188394C8, - nonce=29, - address=coinbase, # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "66a9b45d44c78cfe774333fe0c49418dd61f183d41132f5340e48ababb825a26eb0a75c0" # noqa: E501 - "ca693a8b465121200fd21a7b4c365a65a3255278f672705e5ca0f6146fccd36a6e5b9dec" # noqa: E501 - "fb6e5096887651e829313a2cc9d5b518e25861c31ba04ed3f5a3310bd966993aa534b007" # noqa: E501 - "85778d9545342410ce8c156d780a8cb4a65efed30aa9d6bd63c4778a134c9cb0c677ecda" # noqa: E501 - "48aacef0c191de37e3cfdae69153747c2406995ea81bbae6a201663b9b37a6a9f597ae4f" # noqa: E501 - "40e44e74ea92616bc2956328ced0d77412c265c2925470320e5f285d15a08a263b0a4445" # noqa: E501 - "16817c266bd51fe726677144df3c080d07dd47c4eb9e44a87541ddc5a697163260a06921" # noqa: E501 - "033eb3542b375cd0d073dfb48f6acde07152794b5539563efff1afed3b0a6b1516652617" # noqa: E501 - "5e7184b83cc2de68df61ec5d65d1eee66ea376fcb84f2c73335db9fba49e3d40638cd7f4" # noqa: E501 - "62f1d3b315f17b8dc1f692a68b2431b166ee71a4ba159dd322b9fa5f3237dfb85d259405" # noqa: E501 - "6102f261025b61021d6101d3631fe4bdc373ffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffff631ea09dc6f263edd580947c8177bd72d2244f7652371e3428d28bc6356c553b18d0" # noqa: E501 - "0e6b3cf60206c273abbd7763059f61940b0d19fde33f7b5a96080d25791e9ae89c718dd4" # noqa: E501 - "1c3f57b0c304fbb83978de28d23499bdd19c0472301ff527ccc9f7ed74a8dbd906b468d4" # noqa: E501 - "48fba77f38f193e3047b02e40beb08b4f11707681ef103ec1b00585a85f27227a179f15e" # noqa: E501 - "7e97a359268b06ff34bcee23a869974fbca6e201cb16179743ac0f8c9f8603d570e26a5a" # noqa: E501 - "ad5217ebfff3140716923723efaa79b6cd87fbc9fd408d4ac5a048e43fb4e7a2b94053bf" # noqa: E501 - "1fb7257562977725cde415738a99e1a7690cbe409744b737367dedc82e3063516c5bc57e" # noqa: E501 - "35fcb2038306d9a3a6e46103515279ddcb9d30879e470f5dd81e1148184f62bd61ae9708" # noqa: E501 - "ff61cee25c63694a73437a42be5043b1fde117ba383682ba0d91e0db8b29c882a044d0c8" # noqa: E501 - "bb49056a25a66d8480df1b1ccc2564791df94f43d5802aa8f44bf70a6817ed784e5725bd" # noqa: E501 - "c7718a54d6a567234286085240ba847d575dac25d7fc32c59999a9d38fee0d25e7c23986" # noqa: E501 - "009c5bb022f7d28a2cab6e01a4bb37dd42ea42d5141d55f5730c7bd82bf08bff3928aea7" # noqa: E501 - "7e7153bcc4a3a53996be367ec98cb6fe85797e771d020284d4d302c8b4ebe6b28a9c64a9" # noqa: E501 - "ae2ad6894716732f6b245e7fdc5243f79a0ae9b8d874900caa1c5796a2854ceddb00a82b" # noqa: E501 - "4ec01b513ed61c72ce89400a06fe90a109bad6d5e028143e7552937a0136347eb71a49db" # noqa: E501 - "0072c87bd437b9cd7b2f7e6e9f3a85875c9ede6036650f9d06d4c2e8692caf2e87043c0b" # noqa: E501 - "f5a2359c66431acbb35dcbfc6a7b86074b99c9e6f959d8417784e5e40c854c280218c0cd" # noqa: E501 - "4e98dc3bc44f7d651d7191ead455" - ), - gas_limit=2643883, - value=625999040, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/PythonRevertTestTue201814-1430Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_python_revert_test_tue201814_minus_1430_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """A random test that had failed in Python ethereum implementation.""" - coinbase = Address("0xf7b2e80637a148b5e46945e29388928dafd5aa25") - sender = EOA( - key=0x3E297DF41E49C542F54718BBEE92D449778686880729C852F6D2C3C40D135341 + address=Address(0x843E0B83D4D70DEDE90D9A4D93FA3F10BB5011C7), # noqa: E501 ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=5805800386153628, - ) - - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x1F, - value=0xBEE2A270429ABBD3FF3B9945F72F58DCF4F8B344417A87DFA1EBD7, - ) - + Op.ORIGIN - + Op.CALLCODE( - gas=0x2C1E2816, - address=0x69859649E8A52DE717592B881508371F8A8ED6B9, - value=0x42A46F50, - args_offset=0x132, - args_size=0x27B, - ret_offset=0x3EE, - ret_size=0x9B, - ) - + Op.STATICCALL( - gas=0x2318D76F, - address=0x843E0B83D4D70DEDE90D9A4D93FA3F10BB5011C7, - args_offset=0x124, - args_size=0x131, - ret_offset=0x1EC, - ret_size=0x172, - ) - + Op.PUSH19[0x1A0FF381BB40BB828D7781D2EF7C0FD8695F7] - + Op.PUSH29[ - 0x5465FBADF99FDFFEF2AFD94B0E76531B6EA0D23D2332D13C20368A072 - ] - + Op.MSTORE8( - offset=0xA6B1EBC3464527E34C26A4379F9DFE4F8E57981A9FC08558C90D, - value=0x4E41BC1130, - ) - + Op.JUMPI( - pc=0xCF72F489A4, - condition=0x38079F1921B60FE6FA448171FEC55C4C63E811712211, - ) - + Op.SLOAD(key=0xE83A2F5427EAB647B075A910929DE0A6554FC1426B49) - + Op.MSTORE8( - offset=0x3BD089A6663F6DFF488574195B848FBB357EB7BE1FFF076E997770D03B7028, # noqa: E501 - value=0xCD8E2C770339616CE9C501FB746715DD4A20219229D0673AC05599, - ) - + Op.DELEGATECALL( - gas=0x47CFE65D, - address=0x69859649E8A52DE717592B881508371F8A8ED6B9, - args_offset=0x2DB, - args_size=0x305, - ret_offset=0x284, - ret_size=0x3B3, - ) - + Op.TIMESTAMP - + Op.GASPRICE - + Op.PUSH12[0x8679871DC28AA5A1399B21C8] - + Op.STATICCALL( - gas=0x11ECD01B, - address=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - args_offset=0x5B, - args_size=0x1F3, - ret_offset=0x47, - ret_size=0x2E4, - ) - + Op.PUSH23[0xAFA8155ECD75DD05F9D7EB42FA3E79C6A2109DFF2A1E53] - + Op.REVERT(offset=0x1B2, size=0x30A) - + Op.CALLCODE( - gas=0x42CE224D, - address=Op.PUSH20[0x5], - value=0x459D135B, - args_offset=0x27F, - args_size=0x117, - ret_offset=0x58, - ret_size=0x263, - ) - + Op.MSTORE( - offset=0xE3, - value=0xE612FBE000BED18EEC8345F005F537C72820D8B973, - ) - + Op.PUSH12[0x50AE523A8F7467AE14A8BD9A] - + Op.PUSH11[0xAEE55862B685E32476CC67] - + Op.PUSH3[0xAE2C40] - + Op.PUSH9[0xCF55729540D111F44C] - + Op.SWAP3 - + Op.RETURNDATACOPY(dest_offset=0x3F3, offset=0x1BC, size=0xE7) - + Op.LT(0x9ED3BB, 0x639458DAE7AD2A9B38) - + Op.REVERT(offset=0x36A, size=0xD8) - + Op.CREATE(value=0x6DB4B55B, offset=0x359, size=0x123) - + Op.MSTORE(offset=0x177, value=0x602169) - + Op.BYTE(0x1BCF921919, 0xEA8A7B3A) - + Op.RETURNDATACOPY(dest_offset=0x1F7, offset=0x371, size=0x3BE) - + Op.MSTORE8( - offset=0xA0B67479A345D1E70065, - value=0xC0413CB5D609CA9A51645238E4F1F8268F973C3A01, - ) - + Op.CALL( - gas=0x35ADEABD, - address=Op.PUSH20[0x6], - value=0x3FF89B31, - args_offset=0x214, - args_size=0x2F2, - ret_offset=0x173, - ret_size=0x16, - ) - + Op.RETURNDATASIZE - + Op.SLOAD( - key=0xE6D218AF54C3D8045447D06C726801695CFA26FDFAA6460A8685CD662855A5, # noqa: E501 - ) - + Op.MLOAD( - offset=0x5716140AE0B1E25AEAF04AE7CF54E8AA7A22206DA5A6E52BDD3EF82AD40A4681, # noqa: E501 - ) - + Op.PUSH24[0xD25811167B0A3F66A727652592924DC1291A6085D537C5DA] - + Op.RETURNDATACOPY(dest_offset=0x3A3, offset=0x1D, size=0x1B1) - + Op.PUSH22[0x2D6272A54F882460BC76407D6361C40CC56BC88A8BC9] - + Op.DELEGATECALL( - gas=0x5F449586, - address=0xE7E620C9CF6045209EDCAD4D6EF43413BEDF0949, - args_offset=0x1F3, - args_size=0x2C1, - ret_offset=0x3EC, - ret_size=0x72, - ) + # Source: raw + # 0x7abee2a270429abbd3ff3b9945f72f58dcf4f8b344417a87dfa1ebd7601f5232609b6103ee61027b6101326342a46f5073632c1e2816f26101726101ec61013161012473632318d76ffa7201a0ff381bb40bb828d7781d2ef7c0fd8695f77c05465fbadf99fdffef2afd94b0e76531b6ea0d23d2332d13c20368a072644e41bc113079a6b1ebc3464527e34c26a4379f9dfe4f8e57981a9fc08558c90d537538079f1921b60fe6fa448171fec55c4c63e81171221164cf72f489a45775e83a2f5427eab647b075a910929de0a6554fc1426b49547acd8e2c770339616ce9c501fb746715dd4a20219229d0673ac055997e3bd089a6663f6dff488574195b848fbb357eb7be1fff076e997770d03b7028536103b36102846103056102db736347cfe65df4423a6b8679871dc28aa5a1399b21c86102e460476101f3605b73ffffffffffffffffffffffffffffffffffffffff6311ecd01bfa76afa8155ecd75dd05f9d7eb42fa3e79c6a2109dff2a1e5361030a6101b2fd610263605861011761027f63459d135b7300000000000000000000000000000000000000056342ce224df274e612fbe000bed18eec8345f005f537c72820d8b97360e3526b50ae523a8f7467ae14a8bd9a6aaee55862b685e32476cc6762ae2c4068cf55729540d111f44c9260e76101bc6103f33e68639458dae7ad2a9b38629ed3bb1060d861036afd610123610359636db4b55bf0626021696101775263ea8a7b3a641bcf9219191a6103be6103716101f73e74c0413cb5d609ca9a51645238e4f1f8268f973c3a0169a0b67479a345d1e700655360166101736102f2610214633ff89b317300000000000000000000000000000000000000066335adeabdf13d7ee6d218af54c3d8045447d06c726801695cfa26fdfaa6460a8685cd662855a5547f5716140ae0b1e25aeaf04ae7cf54e8aa7a22206da5a6e52bdd3ef82ad40a46815177d25811167b0a3f66a727652592924dc1291a6085d537c5da6101b1601d6103a33e752d6272a54f882460bc76407d6361c40cc56bc88a8bc960726103ec6102c16101f373635f449586f4 # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x1F, + value=0xBEE2A270429ABBD3FF3B9945F72F58DCF4F8B344417A87DFA1EBD7, + ) + + Op.ORIGIN + + Op.CALLCODE( + gas=0x2C1E2816, + address=0x69859649E8A52DE717592B881508371F8A8ED6B9, + value=0x42A46F50, + args_offset=0x132, + args_size=0x27B, + ret_offset=0x3EE, + ret_size=0x9B, + ) + + Op.STATICCALL( + gas=0x2318D76F, + address=0x843E0B83D4D70DEDE90D9A4D93FA3F10BB5011C7, + args_offset=0x124, + args_size=0x131, + ret_offset=0x1EC, + ret_size=0x172, + ) + + Op.PUSH19[0x1A0FF381BB40BB828D7781D2EF7C0FD8695F7] + + Op.PUSH29[ + 0x5465FBADF99FDFFEF2AFD94B0E76531B6EA0D23D2332D13C20368A072 + ] + + Op.MSTORE8( + offset=0xA6B1EBC3464527E34C26A4379F9DFE4F8E57981A9FC08558C90D, + value=0x4E41BC1130, + ) + + Op.JUMPI( + pc=0xCF72F489A4, + condition=0x38079F1921B60FE6FA448171FEC55C4C63E811712211, + ) + + Op.SLOAD(key=0xE83A2F5427EAB647B075A910929DE0A6554FC1426B49) + + Op.MSTORE8( + offset=0x3BD089A6663F6DFF488574195B848FBB357EB7BE1FFF076E997770D03B7028, # noqa: E501 + value=0xCD8E2C770339616CE9C501FB746715DD4A20219229D0673AC05599, + ) + + Op.DELEGATECALL( + gas=0x47CFE65D, + address=0x69859649E8A52DE717592B881508371F8A8ED6B9, + args_offset=0x2DB, + args_size=0x305, + ret_offset=0x284, + ret_size=0x3B3, + ) + + Op.TIMESTAMP + + Op.GASPRICE + + Op.PUSH12[0x8679871DC28AA5A1399B21C8] + + Op.STATICCALL( + gas=0x11ECD01B, + address=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + args_offset=0x5B, + args_size=0x1F3, + ret_offset=0x47, + ret_size=0x2E4, + ) + + Op.PUSH23[0xAFA8155ECD75DD05F9D7EB42FA3E79C6A2109DFF2A1E53] + + Op.REVERT(offset=0x1B2, size=0x30A) + + Op.CALLCODE( + gas=0x42CE224D, + address=Op.PUSH20[0x5], + value=0x459D135B, + args_offset=0x27F, + args_size=0x117, + ret_offset=0x58, + ret_size=0x263, + ) + + Op.MSTORE( + offset=0xE3, value=0xE612FBE000BED18EEC8345F005F537C72820D8B973 + ) + + Op.PUSH12[0x50AE523A8F7467AE14A8BD9A] + + Op.PUSH11[0xAEE55862B685E32476CC67] + + Op.PUSH3[0xAE2C40] + + Op.PUSH9[0xCF55729540D111F44C] + + Op.SWAP3 + + Op.RETURNDATACOPY(dest_offset=0x3F3, offset=0x1BC, size=0xE7) + + Op.LT(0x9ED3BB, 0x639458DAE7AD2A9B38) + + Op.REVERT(offset=0x36A, size=0xD8) + + Op.CREATE(value=0x6DB4B55B, offset=0x359, size=0x123) + + Op.MSTORE(offset=0x177, value=0x602169) + + Op.BYTE(0x1BCF921919, 0xEA8A7B3A) + + Op.RETURNDATACOPY(dest_offset=0x1F7, offset=0x371, size=0x3BE) + + Op.MSTORE8( + offset=0xA0B67479A345D1E70065, + value=0xC0413CB5D609CA9A51645238E4F1F8268F973C3A01, + ) + + Op.CALL( + gas=0x35ADEABD, + address=Op.PUSH20[0x6], + value=0x3FF89B31, + args_offset=0x214, + args_size=0x2F2, + ret_offset=0x173, + ret_size=0x16, + ) + + Op.RETURNDATASIZE + + Op.SLOAD( + key=0xE6D218AF54C3D8045447D06C726801695CFA26FDFAA6460A8685CD662855A5 # noqa: E501 + ) + + Op.MLOAD( + offset=0x5716140AE0B1E25AEAF04AE7CF54E8AA7A22206DA5A6E52BDD3EF82AD40A4681 # noqa: E501 + ) + + Op.PUSH24[0xD25811167B0A3F66A727652592924DC1291A6085D537C5DA] + + Op.RETURNDATACOPY(dest_offset=0x3A3, offset=0x1D, size=0x1B1) + + Op.PUSH22[0x2D6272A54F882460BC76407D6361C40CC56BC88A8BC9] + + Op.DELEGATECALL( + gas=0x5F449586, + address=0xE7E620C9CF6045209EDCAD4D6EF43413BEDF0949, + args_offset=0x1F3, + args_size=0x2C1, + ret_offset=0x3EC, + ret_size=0x72, ), balance=0x882FD85BC18C9F00, nonce=29, - address=Address("0x69859649e8a52de717592b881508371f8a8ed6b9"), # noqa: E501 + address=Address(0x69859649E8A52DE717592B881508371F8A8ED6B9), # noqa: E501 ) pre[sender] = Account(balance=0xAB56295C9D120548) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x277795A, - address=0xF7B2E80637A148B5E46945E29388928DAFD5AA25, - args_offset=0x148, - args_size=0xF5, - ret_offset=0xFF, - ret_size=0x2FA, - ) - + Op.PUSH9[0x9497EDB6A665EAE52F] - + Op.RETURNDATASIZE - + Op.MSTORE(offset=0x3A5, value=0x524975) - + Op.RETURNDATACOPY(dest_offset=0xCB, offset=0xFB, size=0xA8) - + Op.REVERT(offset=0x3E0, size=0x2DD) - + Op.PUSH16[0x568A159C0CAE9044D258C55B10F4D100] - + Op.PUSH3[0x8D29AB] - + Op.PUSH25[0x1DF7FCEBB789E2A8CDBAA9C67C42CD1EBE81716EAD0E94C721] - + Op.PUSH14[0x279DD3A0B3DE311596D547292878] - + Op.PUSH20[0x449CCCE511E6991B3DC636A178159A3D9A062274] - + Op.PUSH3[0xCD9A67] - + Op.PUSH9[0xCCBA17C2CB06DE468E] - + Op.SWAP6 - + Op.PUSH20[0xBF78E55AF17E19973F2C3F5D4C21C169890B9A9] - + Op.PUSH8[0x2491F91AA1E71426] - + Op.PUSH8[0x60D385ED594E21B] - + Op.PUSH14[0x2B23A6C4C50E7AB6A3EF66F83A2] - + Op.SWAP3 - + Op.DIV( - 0x906C348472B7CB, - 0x9845B4BA85C4FDFBD0054A0123AD93EFF4B525B0F4B08D285F36F3BCAC6A985B, # noqa: E501 - ) - + Op.LOG3( - offset=0x61BE606EF617322E6448E3E4124DBE061257A8F486529DE397F08CE92502, # noqa: E501 - size=0x3BFDFA7683AE0DF68BBCB534, - topic_1=0x44C0173C10F1806BA284F9C9C7C13670005DE594DEC538CD56C274, # noqa: E501 - topic_2=0xF536A04D436AD418A1CA, - topic_3=0xC5A02E618666F0C50EECDC11F20FC1DC41C2FD957752E55EDE4E56F4, # noqa: E501 - ) - + Op.MSTORE( - offset=0x314, - value=0x957F855818082B5B5B49E36DE5A83E8A270663088571BF2FDF8F5F29, # noqa: E501 - ) - + Op.ORIGIN - + Op.SSTORE(key=0x43, value=0xB9499741E3859928A237F5E5DF84C13C) - + Op.SIGNEXTEND( - 0x74D84835800999791ABC41260472D96F604D07198E859ADC, - 0x1E82328F9093E64DEFBDD07D, - ) - + Op.MSTORE8( - offset=0x900E69A68B0F0E9E4F1299872881, - value=0x806BEAE7200CF116D2B55E89DDD564ABC3, - ) - + Op.LOG3( - offset=0xC0F49ABE102CD44E474AB71C0237247865FA2ADD74C8B2, - size=0x6ECF21D3A41AD554F79584DCAB761D4C8437774CAD4BB13B2BECE140358DF93E, # noqa: E501 - topic_1=0xD270ECE7, - topic_2=0x1C42F3B109ED2BD72A6CF13500241C2A5E5C4E17EA9ED9B05BA9B57D70D, # noqa: E501 - topic_3=0x5D, - ) - + Op.RETURNDATASIZE - + Op.PUSH16[0x7041C5718A2554A72662720296DFF5B3] - + Op.PUSH24[0xB559DF4558B8A5B2C9E7D15EB3947A70064F935C8FDF0A4E] - + Op.PUSH19[0x6F644AA31B42C10280E50EA92A366C3D060C12] - + Op.PUSH17[0xC6A16A75522FBEB3D7CCA702807F521781] - + Op.PUSH15[0xAB9CCEB9E237EE8FDE4ED3A23D3EC8] - + Op.PUSH27[ - 0xDB334AC1CAA7E06523B0132DD615CF3FC16140D34C191617823C3A - ] - + Op.PUSH28[ - 0xF47C42BC36B69CB4385463595C7F6F9EA451E05303603E0CD401E13D - ] - + Op.PUSH16[0xF744E2A673824D943941551704FF14DF] - + Op.PUSH32[ - 0xA8646EFBB2D8ABC4AC6E258E9924924B8001F8F0650D66B37411D484B18F41E7 # noqa: E501 - ] - + Op.PUSH29[ - 0x792BD1C169FA52BBFC8AF4A45F20ACB0EF95DB2ECBC0D4EADBBBF6732F - ] - + Op.PUSH5[0x8BD33B3633] - + Op.PUSH14[0xC0FAF0CF1970BCD38093A50A44FD] - + Op.PUSH12[0x253B0E74F2706239C499217B] - + Op.DUP13 - + Op.ORIGIN - + Op.SLOAD(key=0xDAE332E2) - + Op.CALLDATALOAD(offset=0x1D5D5E7E795C998CCEED14CF46977E7D3CBB) - + Op.CALLDATALOAD( - offset=0x3C79EF0530C3A8AC3FD8D49F10BB0AE919FA149ADEAD67DAE0, - ) - + Op.EXTCODECOPY( - address=0x69859649E8A52DE717592B881508371F8A8ED6B9, - dest_offset=0x71B518, - offset=0x2813AC, - size=0x7DE430, - ) - + Op.PUSH32[ - 0xB9BA628E056E0E87E029B8E5F42821D775338E6774301ECB428B3938236EE22B # noqa: E501 - ] - + Op.PUSH30[ - 0xB5EDF2AD6997869F427BA0672A7168614233E85F61DAE5ED4283A53F605 - ] - + Op.PUSH17[0x116DAD586DCE62833A62CA8C914C641F86] - + Op.DELEGATECALL( - gas=0x33D3D55F, - address=0xF7B2E80637A148B5E46945E29388928DAFD5AA25, - args_offset=0x31C, - args_size=0x107, - ret_offset=0x1D7, - ret_size=0x52, - ) - + Op.PUSH2[0x1A5B] - + Op.PUSH4[0x1C4EA729] - + Op.DUP2 - + Op.DELEGATECALL( - gas=0x202B2EA8, - address=Op.PUSH20[0x6], - args_offset=0x14A, - args_size=0x1C1, - ret_offset=0x3CE, - ret_size=0x256, - ) - + Op.RETURNDATACOPY(dest_offset=0x2E, offset=0x106, size=0x221) - + Op.PUSH5[0x8A95029ECB] - + Op.DIV( - 0xB8F2B53E55FE01A152C8496CBCC6997447062B734CEBDE, - 0x849FE0943CB9D854C7D50AD04CFDFE648E2868, - ) - + Op.PUSH26[0x6C6452E9EFC4ABA5BF071CBFF56208A525A8EF5F52399B4F3369] - + Op.PUSH28[ - 0xD988884F58166D734881774EFF46D77BB189C89C55B1C6591F178D2D - ] - + Op.PUSH29[ - 0x21BF2B023ADF9BC5B8621235E3346D98D56047A3F71241FD5A24ABBB0C - ] - + Op.PUSH20[0xFC463FB8A5E67E32055696FE51258DD07526EBD8] - + Op.PUSH31[ - 0x439BCEBB514AE26DC12D653A5C1263705109097EC5DCDB3918AB114985F709 # noqa: E501 - ] - + Op.PUSH32[ - 0xD3003B50E58FBA91007825A6B800F644EAA306051808460FC3B2D8E276B2187C # noqa: E501 - ] - + Op.PUSH28[ - 0x583FF29EE0B0C34F9EE57BAC9EBB996402E3300DDF06C760FC5F531F - ] - + Op.PUSH21[0x6B1E2BEDA7A15C07F90F92422822E8D33C5D2409EA] - + Op.PUSH20[0x75197F7CD6D61770EDDB078206CFC7C5006CD0E9] - + Op.PUSH30[ - 0xA9EC65FA4FC683DA22CFAF6DFC995FEB5F8386A052851FC502F32E7EF934 - ] - + Op.PUSH15[0x3D4633DEF4C0A4B9BE12F2CD7C6460] - + Op.PUSH3[0xE14CA3] - + Op.PUSH29[ - 0xFB977524F677714C3D994EA05F1997A2462FC0AB20ED2A5958F3712602 - ] - + Op.SWAP12 - + Op.DELEGATECALL( - gas=0x2E83DBE, - address=0x69859649E8A52DE717592B881508371F8A8ED6B9, - args_offset=0x3A1, - args_size=0x5D, - ret_offset=0x2C9, - ret_size=0x205, - ) - ), - balance=0x845252B8509DC215, - nonce=29, - address=Address("0x843e0b83d4d70dede90d9a4d93fa3f10bb5011c7"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.RETURNDATACOPY(dest_offset=0x101, offset=0x19F, size=0x13) - + Op.PUSH16[0x338DB2B1165B4918F178852663192A95] - + Op.PUSH14[0x79A68B50EEFDC639CA0B62AB4D52] - + Op.PUSH24[0x1DB054CCC801C0666B34B3C6242BBFC5E98F20C14FB95E01] - + Op.PUSH8[0x18BE9AD033D50E21] - + Op.PUSH8[0x5FF59297861847EA] - + Op.PUSH11[0x911A6A9D135E2F826DC603] - + Op.PUSH30[ - 0x850E0DB21D105B8732A34B873C7D943050B8659794F0BD3E841D35A2231E - ] - + Op.PUSH6[0xF697F8CDE117] - + Op.PUSH8[0x28FA2051E87933CF] - + Op.PUSH7[0x858E4E5E91BAA7] - + Op.PUSH23[0x4FC1E9FFE4C7B15BA600E88F095989DC68F47ED704BE2B] - + Op.SWAP10 - + Op.CREATE(value=0x200FBD63, offset=0x215, size=0x17) - + Op.RETURNDATACOPY( - dest_offset=0x99C91C, - offset=0x93AFAA8CE1769C96CD0751AA76A98C8196FA8C92E70D7BDA17, - size=0x41C7F86732F4D5419B41E6887CCA98E0943F141A5C66DF98BD0C6D6C4CEC65, # noqa: E501 - ) - + Op.PUSH27[ - 0x7F05DE3181109B8194387746F9EC15A6E0233F759E43360BD4E0A0 - ] - + Op.MSTORE(offset=0x161, value=0x4E9F395117AFCD072774CE12D13DC7) - + Op.ADDRESS - + Op.GASPRICE - + Op.PUSH9[0x3305858002A92140B6] - + Op.PUSH25[0x508E3A3BE377D4825DBF618A393C7C061E75A8A496A33AFE0F] - + Op.PUSH19[0x17F2E33549E321838B083D48893F23DCED459] - + Op.PUSH31[ - 0x2E9EA08FE3F80970D6334B6C6F1FDE8BCC81D03A7CCC244231CB6606DBA6D0 # noqa: E501 - ] - + Op.PUSH15[0xC1C5158EF0DB6994192ACBD4CAC6AB] - + Op.PUSH11[0xC8449D80FC2C32471946E0] - + Op.PUSH18[0xD9606BD390266D7F712766F4765076283AD6] - + Op.PUSH9[0x7450D7AB4DF6F3F6EE] - + Op.SWAP7 - + Op.MSTORE8( - offset=0xB802EC9D7ED96DC0B9CE7BD14B193DC1F0, value=0x14A - ) - + Op.PUSH23[0xD11CE19283C7F651D4D2E7C180715FF7FCBC995EA8B276] - + Op.PUSH3[0x13CC51] - + Op.PUSH30[ - 0x6DAD16D17F29A93220CE0DDB0A65D3D474DBC39CBA5BCB3D4FCF9FEF1910 - ] - + Op.PUSH1[0x7D] - + Op.PUSH5[0xC04511DF27] - + Op.PUSH32[ - 0x522AB2475FBB2BA0720711A903DBECFA0429BF11E6E90CBB0F13D4EE050C52C8 # noqa: E501 - ] - + Op.PUSH20[0x65E0216B4096186FC604FB563FA59F1263EE91D5] - + Op.PUSH10[0x5E407FDFFE82CA1558F7] - + Op.DUP8 - + Op.PUSH11[0x93F3A218DD9BA6901FDEA9] - + Op.RETURNDATASIZE - + Op.PUSH12[0xE498F0B0E1874331115E31AA] - + Op.PUSH16[0xAD4D87227362A9EC3E1C1BE11CDB2309] - + Op.PUSH10[0x7BBC0C692EEADFA91616] - + Op.PUSH10[0xB8AEC24564487DC74F8E] - + Op.PUSH30[ - 0x17E6A133B5DBE576838697DE73F856197203EF1A3A54F7EDB0DBD60F9D52 - ] - + Op.PUSH21[0xDB6B5C1477169B77F0D817ED731A20DB4B9E5B83D2] - + Op.PUSH25[0x6BFFEFAB084A31C4AFDA168156612F281DA0BE688E5BDB1F31] - + Op.PUSH23[0xED78BC62343A7665ABAD6573482449E68B3ACFE820993D] - + Op.PUSH24[0xDF5785384D51AAA0612DAB5DDBF2A9BF550736AD42293387] - + Op.DUP9 - + Op.REVERT(offset=0x23F, size=0x119) - + Op.CALL( - gas=0x792C6916, - address=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - value=0x5AF7465B, - args_offset=0x36E, - args_size=0x216, - ret_offset=0x22D, - ret_size=0x8F, - ) - + Op.PUSH15[0xD70693587DF6CCFAE5218D01559BAC] - + Op.PUSH1[0x15] - + Op.REVERT(offset=0x1AD, size=0x200) - ), + # Source: raw + # 0x601361019f6101013e6f338db2b1165b4918f178852663192a956d79a68b50eefdc639ca0b62ab4d52771db054ccc801c0666b34b3c6242bbfc5e98f20c14fb95e016718be9ad033d50e21675ff59297861847ea6a911a6a9d135e2f826dc6037d850e0db21d105b8732a34b873c7d943050b8659794f0bd3e841d35a2231e65f697f8cde1176728fa2051e87933cf66858e4e5e91baa7764fc1e9ffe4c7b15ba600e88f095989dc68f47ed704be2b99601761021563200fbd63f07e41c7f86732f4d5419b41e6887cca98e0943f141a5c66df98bd0c6d6c4cec657893afaa8ce1769c96cd0751aa76a98c8196fa8c92e70d7bda176299c91c3e7a7f05de3181109b8194387746f9ec15a6e0233f759e43360bd4e0a06e4e9f395117afcd072774ce12d13dc761016152303a683305858002a92140b678508e3a3be377d4825dbf618a393c7c061e75a8a496a33afe0f72017f2e33549e321838b083d48893f23dced4597e2e9ea08fe3f80970d6334b6c6f1fde8bcc81d03a7ccc244231cb6606dba6d06ec1c5158ef0db6994192acbd4cac6ab6ac8449d80fc2c32471946e071d9606bd390266d7f712766f4765076283ad6687450d7ab4df6f3f6ee9661014a70b802ec9d7ed96dc0b9ce7bd14b193dc1f05376d11ce19283c7f651d4d2e7c180715ff7fcbc995ea8b2766213cc517d6dad16d17f29a93220ce0ddb0a65d3d474dbc39cba5bcb3d4fcf9fef1910607d64c04511df277f522ab2475fbb2ba0720711a903dbecfa0429bf11e6e90cbb0f13d4ee050c52c87365e0216b4096186fc604fb563fa59f1263ee91d5695e407fdffe82ca1558f7876a93f3a218dd9ba6901fdea93d6be498f0b0e1874331115e31aa6fad4d87227362a9ec3e1c1be11cdb2309697bbc0c692eeadfa9161669b8aec24564487dc74f8e7d17e6a133b5dbe576838697de73f856197203ef1a3a54f7edb0dbd60f9d5274db6b5c1477169b77f0d817ed731a20db4b9e5b83d2786bffefab084a31c4afda168156612f281da0be688e5bdb1f3176ed78bc62343a7665abad6573482449e68b3acfe820993d77df5785384d51aaa0612dab5ddbf2a9bf550736ad422933878861011961023ffd608f61022d61021661036e635af7465b73ffffffffffffffffffffffffffffffffffffffff63792c6916f16ed70693587df6ccfae5218d01559bac60156102006101adfd # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.RETURNDATACOPY(dest_offset=0x101, offset=0x19F, size=0x13) + + Op.PUSH16[0x338DB2B1165B4918F178852663192A95] + + Op.PUSH14[0x79A68B50EEFDC639CA0B62AB4D52] + + Op.PUSH24[0x1DB054CCC801C0666B34B3C6242BBFC5E98F20C14FB95E01] + + Op.PUSH8[0x18BE9AD033D50E21] + + Op.PUSH8[0x5FF59297861847EA] + + Op.PUSH11[0x911A6A9D135E2F826DC603] + + Op.PUSH30[ + 0x850E0DB21D105B8732A34B873C7D943050B8659794F0BD3E841D35A2231E + ] + + Op.PUSH6[0xF697F8CDE117] + + Op.PUSH8[0x28FA2051E87933CF] + + Op.PUSH7[0x858E4E5E91BAA7] + + Op.PUSH23[0x4FC1E9FFE4C7B15BA600E88F095989DC68F47ED704BE2B] + + Op.SWAP10 + + Op.CREATE(value=0x200FBD63, offset=0x215, size=0x17) + + Op.RETURNDATACOPY( + dest_offset=0x99C91C, + offset=0x93AFAA8CE1769C96CD0751AA76A98C8196FA8C92E70D7BDA17, + size=0x41C7F86732F4D5419B41E6887CCA98E0943F141A5C66DF98BD0C6D6C4CEC65, # noqa: E501 + ) + + Op.PUSH27[0x7F05DE3181109B8194387746F9EC15A6E0233F759E43360BD4E0A0] + + Op.MSTORE(offset=0x161, value=0x4E9F395117AFCD072774CE12D13DC7) + + Op.ADDRESS + + Op.GASPRICE + + Op.PUSH9[0x3305858002A92140B6] + + Op.PUSH25[0x508E3A3BE377D4825DBF618A393C7C061E75A8A496A33AFE0F] + + Op.PUSH19[0x17F2E33549E321838B083D48893F23DCED459] + + Op.PUSH31[ + 0x2E9EA08FE3F80970D6334B6C6F1FDE8BCC81D03A7CCC244231CB6606DBA6D0 + ] + + Op.PUSH15[0xC1C5158EF0DB6994192ACBD4CAC6AB] + + Op.PUSH11[0xC8449D80FC2C32471946E0] + + Op.PUSH18[0xD9606BD390266D7F712766F4765076283AD6] + + Op.PUSH9[0x7450D7AB4DF6F3F6EE] + + Op.SWAP7 + + Op.MSTORE8(offset=0xB802EC9D7ED96DC0B9CE7BD14B193DC1F0, value=0x14A) + + Op.PUSH23[0xD11CE19283C7F651D4D2E7C180715FF7FCBC995EA8B276] + + Op.PUSH3[0x13CC51] + + Op.PUSH30[ + 0x6DAD16D17F29A93220CE0DDB0A65D3D474DBC39CBA5BCB3D4FCF9FEF1910 + ] + + Op.PUSH1[0x7D] + + Op.PUSH5[0xC04511DF27] + + Op.PUSH32[ + 0x522AB2475FBB2BA0720711A903DBECFA0429BF11E6E90CBB0F13D4EE050C52C8 + ] + + Op.PUSH20[0x65E0216B4096186FC604FB563FA59F1263EE91D5] + + Op.PUSH10[0x5E407FDFFE82CA1558F7] + + Op.DUP8 + + Op.PUSH11[0x93F3A218DD9BA6901FDEA9] + + Op.RETURNDATASIZE + + Op.PUSH12[0xE498F0B0E1874331115E31AA] + + Op.PUSH16[0xAD4D87227362A9EC3E1C1BE11CDB2309] + + Op.PUSH10[0x7BBC0C692EEADFA91616] + + Op.PUSH10[0xB8AEC24564487DC74F8E] + + Op.PUSH30[ + 0x17E6A133B5DBE576838697DE73F856197203EF1A3A54F7EDB0DBD60F9D52 + ] + + Op.PUSH21[0xDB6B5C1477169B77F0D817ED731A20DB4B9E5B83D2] + + Op.PUSH25[0x6BFFEFAB084A31C4AFDA168156612F281DA0BE688E5BDB1F31] + + Op.PUSH23[0xED78BC62343A7665ABAD6573482449E68B3ACFE820993D] + + Op.PUSH24[0xDF5785384D51AAA0612DAB5DDBF2A9BF550736AD42293387] + + Op.DUP9 + + Op.REVERT(offset=0x23F, size=0x119) + + Op.CALL( + gas=0x792C6916, + address=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + value=0x5AF7465B, + args_offset=0x36E, + args_size=0x216, + ret_offset=0x22D, + ret_size=0x8F, + ) + + Op.PUSH15[0xD70693587DF6CCFAE5218D01559BAC] + + Op.PUSH1[0x15] + + Op.REVERT(offset=0x1AD, size=0x200), balance=0x5B1936A53E6E440F, nonce=21, - address=Address("0xe7e620c9cf6045209edcad4d6ef43413bedf0949"), # noqa: E501 + address=Address(0xE7E620C9CF6045209EDCAD4D6EF43413BEDF0949), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x610326610100f379c940b5f2046740058558468f238b85db7f6bbe3f3d51e92a3e3268b7f7c4147541c695f376705288410b81b217e80726fb9e4c5c7b4c49eca0c1b6b97e117c16c26c9816459f38396ffc36da48d65defdc7d055cbc846c07e81cfab0fb607c6cbc968774d4de7df8e3236f581e688cc2081a96b1cad9e0609b70f4fddda49ae97714e7d325ceab23acd5f46ba15b5210474116121921a04f68f3f933b9ad91b735bf71bfe41da706499c5d47b6de1fe398cb91fdf66481cbb8661d71d457cf3cef75dabf5ea496d7012f4c56b9fe70e6c4204720e3ce66874cead08499d57a547b97d37744ce205e051f296fb116fc9e5f3c280919aff3c93c5d5cefff9a6102d86103ca6364b68c8ef07d # noqa: E501 + coinbase = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "610326610100f379c940b5f2046740058558468f238b85db7f6bbe3f3d51e92a3e3268b7" # noqa: E501 - "f7c4147541c695f376705288410b81b217e80726fb9e4c5c7b4c49eca0c1b6b97e117c16" # noqa: E501 - "c26c9816459f38396ffc36da48d65defdc7d055cbc846c07e81cfab0fb607c6cbc968774" # noqa: E501 - "d4de7df8e3236f581e688cc2081a96b1cad9e0609b70f4fddda49ae97714e7d325ceab23" # noqa: E501 - "acd5f46ba15b5210474116121921a04f68f3f933b9ad91b735bf71bfe41da706499c5d47" # noqa: E501 - "b6de1fe398cb91fdf66481cbb8661d71d457cf3cef75dabf5ea496d7012f4c56b9fe70e6" # noqa: E501 - "c4204720e3ce66874cead08499d57a547b97d37744ce205e051f296fb116fc9e5f3c2809" # noqa: E501 - "19aff3c93c5d5cefff9a6102d86103ca6364b68c8ef07d" + "610326610100f379c940b5f2046740058558468f238b85db7f6bbe3f3d51e92a3e3268b7f7c4147541c695f376705288410b81b217e80726fb9e4c5c7b4c49eca0c1b6b97e117c16c26c9816459f38396ffc36da48d65defdc7d055cbc846c07e81cfab0fb607c6cbc968774d4de7df8e3236f581e688cc2081a96b1cad9e0609b70f4fddda49ae97714e7d325ceab23acd5f46ba15b5210474116121921a04f68f3f933b9ad91b735bf71bfe41da706499c5d47b6de1fe398cb91fdf66481cbb8661d71d457cf3cef75dabf5ea496d7012f4c56b9fe70e6c4204720e3ce66874cead08499d57a547b97d37744ce205e051f296fb116fc9e5f3c280919aff3c93c5d5cefff9a6102d86103ca6364b68c8ef07d" # noqa: E501 ), balance=0x54C814F188394C8, nonce=29, - address=coinbase, # noqa: E501 + address=Address(0xF7B2E80637A148B5E46945E29388928DAFD5AA25), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "66a9b45d44c78cfe774333fe0c49418dd61f183d41132f5340e48ababb825a26eb0a75c0" # noqa: E501 - "ca693a8b465121200fd21a7b4c365a65a3255278f672705e5ca0f6146fccd36a6e5b9dec" # noqa: E501 - "fb6e5096887651e829313a2cc9d5b518e25861c31ba04ed3f5a3310bd966993aa534b007" # noqa: E501 - "85778d9545342410ce8c156d780a8cb4a65efed30aa9d6bd63c4778a134c9cb0c677ecda" # noqa: E501 - "48aacef0c191de37e3cfdae69153747c2406995ea81bbae6a201663b9b37a6a9f597ae4f" # noqa: E501 - "40e44e74ea92616bc2956328ced0d77412c265c2925470320e5f285d15a08a263b0a4445" # noqa: E501 - "16817c266bd51fe726677144df3c080d07dd47c4eb9e44a87541ddc5a697163260a06921" # noqa: E501 - "033eb3542b375cd0d073dfb48f6acde07152794b5539563efff1afed3b0a6b1516652617" # noqa: E501 - "5e7184b83cc2de68df61ec5d65d1eee66ea376fcb84f2c73335db9fba49e3d40638cd7f4" # noqa: E501 - "62f1d3b315f17b8dc1f692a68b2431b166ee71a4ba159dd322b9fa5f3237dfb85d259405" # noqa: E501 - "6102f261025b61021d6101d3631fe4bdc373ffffffffffffffffffffffffffffffffffff" # noqa: E501 - "ffff631ea09dc6f263edd580947c8177bd72d2244f7652371e3428d28bc6356c553b18d0" # noqa: E501 - "0e6b3cf60206c273abbd7763059f61940b0d19fde33f7b5a96080d25791e9ae89c718dd4" # noqa: E501 - "1c3f57b0c304fbb83978de28d23499bdd19c0472301ff527ccc9f7ed74a8dbd906b468d4" # noqa: E501 - "48fba77f38f193e3047b02e40beb08b4f11707681ef103ec1b00585a85f27227a179f15e" # noqa: E501 - "7e97a359268b06ff34bcee23a869974fbca6e201cb16179743ac0f8c9f8603d570e26a5a" # noqa: E501 - "ad5217ebfff3140716923723efaa79b6cd87fbc9fd408d4ac5a048e43fb4e7a2b94053bf" # noqa: E501 - "1fb7257562977725cde415738a99e1a7690cbe409744b737367dedc82e3063516c5bc57e" # noqa: E501 - "35fcb2038306d9a3a6e46103515279ddcb9d30879e470f5dd81e1148184f62bd61ae9708" # noqa: E501 - "ff61cee25c63694a73437a42be5043b1fde117ba383682ba0d91e0db8b29c882a044d0c8" # noqa: E501 - "bb49056a25a66d8480df1b1ccc2564791df94f43d5802aa8f44bf70a6817ed784e5725bd" # noqa: E501 - "c7718a54d6a567234286085240ba847d575dac25d7fc32c59999a9d38fee0d25e7c23986" # noqa: E501 - "009c5bb022f7d28a2cab6e01a4bb37dd42ea42d5141d55f5730c7bd82bf08bff3928aea7" # noqa: E501 - "7e7153bcc4a3a53996be367ec98cb6fe85797e771d020284d4d302c8b4ebe6b28a9c64a9" # noqa: E501 - "ae2ad6894716732f6b245e7fdc5243f79a0ae9b8d874900caa1c5796a2854ceddb00a82b" # noqa: E501 - "4ec01b513ed61c72ce89400a06fe90a109bad6d5e028143e7552937a0136347eb71a49db" # noqa: E501 - "0072c87bd437b9cd7b2f7e6e9f3a85875c9ede6036650f9d06d4c2e8692caf2e87043c0b" # noqa: E501 - "f5a2359c66431acbb35dcbfc6a7b86074b99c9e6f959d8417784e5e40c854c280218c0cd" # noqa: E501 - "4e98dc3bc44f7d651d7191ead455" + to=target, + data=Bytes( + "66a9b45d44c78cfe774333fe0c49418dd61f183d41132f5340e48ababb825a26eb0a75c0ca693a8b465121200fd21a7b4c365a65a3255278f672705e5ca0f6146fccd36a6e5b9decfb6e5096887651e829313a2cc9d5b518e25861c31ba04ed3f5a3310bd966993aa534b00785778d9545342410ce8c156d780a8cb4a65efed30aa9d6bd63c4778a134c9cb0c677ecda48aacef0c191de37e3cfdae69153747c2406995ea81bbae6a201663b9b37a6a9f597ae4f40e44e74ea92616bc2956328ced0d77412c265c2925470320e5f285d15a08a263b0a444516817c266bd51fe726677144df3c080d07dd47c4eb9e44a87541ddc5a697163260a06921033eb3542b375cd0d073dfb48f6acde07152794b5539563efff1afed3b0a6b15166526175e7184b83cc2de68df61ec5d65d1eee66ea376fcb84f2c73335db9fba49e3d40638cd7f462f1d3b315f17b8dc1f692a68b2431b166ee71a4ba159dd322b9fa5f3237dfb85d2594056102f261025b61021d6101d3631fe4bdc373ffffffffffffffffffffffffffffffffffffffff631ea09dc6f263edd580947c8177bd72d2244f7652371e3428d28bc6356c553b18d00e6b3cf60206c273abbd7763059f61940b0d19fde33f7b5a96080d25791e9ae89c718dd41c3f57b0c304fbb83978de28d23499bdd19c0472301ff527ccc9f7ed74a8dbd906b468d448fba77f38f193e3047b02e40beb08b4f11707681ef103ec1b00585a85f27227a179f15e7e97a359268b06ff34bcee23a869974fbca6e201cb16179743ac0f8c9f8603d570e26a5aad5217ebfff3140716923723efaa79b6cd87fbc9fd408d4ac5a048e43fb4e7a2b94053bf1fb7257562977725cde415738a99e1a7690cbe409744b737367dedc82e3063516c5bc57e35fcb2038306d9a3a6e46103515279ddcb9d30879e470f5dd81e1148184f62bd61ae9708ff61cee25c63694a73437a42be5043b1fde117ba383682ba0d91e0db8b29c882a044d0c8bb49056a25a66d8480df1b1ccc2564791df94f43d5802aa8f44bf70a6817ed784e5725bdc7718a54d6a567234286085240ba847d575dac25d7fc32c59999a9d38fee0d25e7c23986009c5bb022f7d28a2cab6e01a4bb37dd42ea42d5141d55f5730c7bd82bf08bff3928aea77e7153bcc4a3a53996be367ec98cb6fe85797e771d020284d4d302c8b4ebe6b28a9c64a9ae2ad6894716732f6b245e7fdc5243f79a0ae9b8d874900caa1c5796a2854ceddb00a82b4ec01b513ed61c72ce89400a06fe90a109bad6d5e028143e7552937a0136347eb71a49db0072c87bd437b9cd7b2f7e6e9f3a85875c9ede6036650f9d06d4c2e8692caf2e87043c0bf5a2359c66431acbb35dcbfc6a7b86074b99c9e6f959d8417784e5e40c854c280218c0cd4e98dc3bc44f7d651d7191ead455" # noqa: E501 ), gas_limit=2643883, - value=625999040, + value=0x254FFCC0, ) - post: dict = {} + post = { + target: Account(storage={}), + addr: Account(storage={}), + sender: Account(storage={}), + addr_2: Account(storage={}), + coinbase: Account(storage={}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_depth2.py b/tests/ported_static/stRevertTest/test_revert_depth2.py index 1cdf656807f..b1911b948b5 100644 --- a/tests/ported_static/stRevertTest/test_revert_depth2.py +++ b/tests/ported_static/stRevertTest/test_revert_depth2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_depth2. Ported from: -tests/static/state_tests/stRevertTest/RevertDepth2Filler.json +state_tests/stRevertTest/RevertDepth2Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,26 +24,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertDepth2Filler.json"], + ["state_tests/stRevertTest/RevertDepth2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (170685, {}), - (136685, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_revert_depth2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_depth2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -55,96 +68,107 @@ def test_revert_depth2( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xC350, - address=0xC47BCBF49DD735566CFDE927821E938D5B33014C, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] (ADD 1 (SLOAD 0)) [[1]] (CALL 150000 0 0 0 0 0) [[2]] (CALL 150000 0 0 0 0 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x249F0, + address=0x707F29673F05E46FEEB7C4766419A222010AE45, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x249F0, + address=0x78ED2EB0809CD080C7837DC83AFC388A2B98D200, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x0707f29673f05e46feeb7c4766419a222010ae45"), # noqa: E501 + address=Address(0x68EA09E164A8B66DE117A2C306B3966E6D71CA93), # noqa: E501 ) - # Source: LLL - # { [[0]] (ADD 1 (SLOAD 0)) [[1]] (CALL 150000 0 0 0 0 0) [[2]] (CALL 150000 0 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x249F0, - address=0x707F29673F05E46FEEB7C4766419A222010AE45, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x249F0, - address=0x78ED2EB0809CD080C7837DC83AFC388A2B98D200, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[0]] (ADD 1 (SLOAD 0)) [[1]] (CALL 50000 0 0 0 0 0)} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xC350, + address=0xC47BCBF49DD735566CFDE927821E938D5B33014C, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x68ea09e164a8b66de117a2c306b3966e6d71ca93"), # noqa: E501 + address=Address(0x0707F29673F05E46FEEB7C4766419A222010AE45), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xC350, - address=0xC47BCBF49DD735566CFDE927821E938D5B33014C, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { [[0]] (ADD 1 (SLOAD 0)) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.STOP, nonce=0, - address=Address("0x78ed2eb0809cd080c7837dc83afc388a2b98d200"), # noqa: E501 + address=Address(0xC47BCBF49DD735566CFDE927821E938D5B33014C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + Op.STOP - ), + # Source: lll + # { [[0]] (ADD 1 (SLOAD 0)) [[1]] (CALL 50000 0 0 0 0 0) [[2]] (GAS)} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xC350, + address=0xC47BCBF49DD735566CFDE927821E938D5B33014C, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xc47bcbf49dd735566cfde927821e938d5b33014c"), # noqa: E501 + address=Address(0x78ED2EB0809CD080C7837DC83AFC388A2B98D200), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + + tx_data = [ + Bytes(""), + ] + tx_gas = [170685, 136685] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = { + target: Account(storage={0: 0, 1: 0, 2: 0}), + addr: Account(storage={0: 0, 1: 0}), + addr_2: Account(storage={0: 0}), + addr_3: Account(storage={0: 0, 1: 0, 2: 0}), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_depth_create_address_collision.py b/tests/ported_static/stRevertTest/test_revert_depth_create_address_collision.py index 98f53438fca..12681db6341 100644 --- a/tests/ported_static/stRevertTest/test_revert_depth_create_address_collision.py +++ b/tests/ported_static/stRevertTest/test_revert_depth_create_address_collision.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_revert_depth_create_address_collision. Ported from: -tests/static/state_tests/stRevertTest -RevertDepthCreateAddressCollisionFiller.json +state_tests/stRevertTest/RevertDepthCreateAddressCollisionFiller.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,93 +27,73 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertDepthCreateAddressCollisionFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertDepthCreateAddressCollisionFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, - 1, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, + pytest.param( + 0, 0, - {}, + 0, + id="d0-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 160000, + pytest.param( + 0, + 0, 1, - { - Address("0x97e33a176b7c8d61b356d1c170ac2119d28867df"): Account( - storage={0: 1, 4: 12} - ) - }, + id="d0-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 160000, + pytest.param( 0, - { - Address("0x97e33a176b7c8d61b356d1c170ac2119d28867df"): Account( - storage={0: 1, 4: 12} - ) - }, + 1, + 0, + id="d0-g1-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 0, 1, - {}, + 1, + id="d0-g1-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 1, 0, - {}, + 0, + id="d1-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 160000, + pytest.param( + 1, + 0, 1, - {}, + id="d1-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 160000, + pytest.param( + 1, + 1, 0, - {}, + id="d1-g1-v0", + ), + pytest.param( + 1, + 1, + 1, + id="d1-g1-v1", ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", ], ) @pytest.mark.pre_alloc_mutable def test_revert_depth_create_address_collision( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_depth_create_address_collision.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -123,52 +107,116 @@ def test_revert_depth_create_address_collision( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]] 1 [[1]] (CALL (CALLDATALOAD 0) 0 0 0 0 0) [[4]] 12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0xB1B49241A4ECF7860872E686090781C906B1B437, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x4, value=0xC) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0xB1B49241A4ECF7860872E686090781C906B1B437, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x4, value=0xC) + + Op.STOP, balance=5, nonce=54, - address=Address("0x97e33a176b7c8d61b356d1c170ac2119d28867df"), # noqa: E501 + address=Address(0x97E33A176B7C8D61B356D1C170AC2119D28867DF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x8) - + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=0x0)) - + Op.SSTORE(key=0x3, value=0xC) - + Op.STOP - ), + # Source: lll + # { [[2]] 8 (CREATE 0 0 0) [[3]] 12} + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x8) + + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=0x0)) + + Op.SSTORE(key=0x3, value=0xC) + + Op.STOP, nonce=0, - address=Address("0xb1b49241a4ecf7860872e686090781c906b1b437"), # noqa: E501 + address=Address(0xB1B49241A4ECF7860872E686090781C906B1B437), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={}, + code=bytes.fromhex( + "60016000556000600060006000600073b1b49241a4ecf7860872e686090781c906b1b437600035f1600155600c60045500" # noqa: E501 + ), + nonce=54, + ), + addr: Account(storage={}), + }, + }, + { + "indexes": {"data": 0, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 1, 4: 12}, + code=bytes.fromhex( + "60016000556000600060006000600073b1b49241a4ecf7860872e686090781c906b1b437600035f1600155600c60045500" # noqa: E501 + ), + nonce=54, + ), + addr: Account(storage={}), + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={}, + code=bytes.fromhex( + "60016000556000600060006000600073b1b49241a4ecf7860872e686090781c906b1b437600035f1600155600c60045500" # noqa: E501 + ), + balance=5, + nonce=54, + ), + addr: Account(storage={}), + }, + }, + { + "indexes": {"data": 0, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={}, + code=bytes.fromhex( + "60016000556000600060006000600073b1b49241a4ecf7860872e686090781c906b1b437600035f1600155600c60045500" # noqa: E501 + ), + nonce=54, + ), + addr: Account(storage={}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0xEA60), + Hash(0x1EA60), + ] + tx_gas = [110000, 160000] + tx_value = [1, 0] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_depth_create_oog.py b/tests/ported_static/stRevertTest/test_revert_depth_create_oog.py index 980fb73a5a5..ffb39b2905f 100644 --- a/tests/ported_static/stRevertTest/test_revert_depth_create_oog.py +++ b/tests/ported_static/stRevertTest/test_revert_depth_create_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_depth_create_oog. Ported from: -tests/static/state_tests/stRevertTest/RevertDepthCreateOOGFiller.json +state_tests/stRevertTest/RevertDepthCreateOOGFiller.json """ import pytest @@ -12,8 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,105 +28,75 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertDepthCreateOOGFiller.json"], + ["state_tests/stRevertTest/RevertDepthCreateOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, - 1, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 110000, + pytest.param( 0, - {}, + 0, + 0, + id="d0-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 180000, + pytest.param( + 0, + 0, 1, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 4: 12} - ) - }, + id="d0-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000000ea60", - 180000, + pytest.param( 0, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 4: 12} - ) - }, + 1, + 0, + id="d0-g1-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 0, + 1, 1, - {}, + id="d0-g1-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 110000, + pytest.param( + 1, 0, - {}, + 0, + id="d1-g0-v0", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 180000, + pytest.param( 1, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 4: 12} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={2: 8, 3: 12} - ), - }, + 0, + 1, + id="d1-g0-v1", ), - ( - "000000000000000000000000000000000000000000000000000000000001ea60", - 180000, + pytest.param( + 1, + 1, 0, - { - Address("0xa000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 4: 12} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={2: 8, 3: 12} - ), - }, + id="d1-g1-v0", + ), + pytest.param( + 1, + 1, + 1, + id="d1-g1-v1", ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", ], ) @pytest.mark.pre_alloc_mutable def test_revert_depth_create_oog( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_depth_create_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA000000000000000000000000000000000000000) + contract_1 = Address(0xB000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -134,54 +110,92 @@ def test_revert_depth_create_oog( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]] 1 [[1]] (CALL (CALLDATALOAD 0) 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[4]] 12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0xB000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x4, value=0xC) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0xB000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x4, value=0xC) + + Op.STOP, balance=5, nonce=54, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[2]] 8 (CREATE 0 0 0) [[3]] 12} - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x8) - + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=0x0)) - + Op.SSTORE(key=0x3, value=0xC) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x8) + + Op.POP(Op.CREATE(value=0x0, offset=0x0, size=0x0)) + + Op.SSTORE(key=0x3, value=0xC) + + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=contract_1, nonce=0): Account( + nonce=1 + ), + contract_0: Account(storage={0: 1, 1: 1, 4: 12}), + contract_1: Account(storage={2: 8, 3: 12}), + }, + }, + { + "indexes": {"data": 0, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address( + address=contract_1, nonce=0 + ): Account.NONEXISTENT, + contract_0: Account(storage={0: 1, 4: 12}), + contract_1: Account(storage={}), + }, + }, + { + "indexes": {"data": [0, 1], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address( + address=contract_1, nonce=0 + ): Account.NONEXISTENT, + contract_0: Account(storage={}), + contract_1: Account(storage={}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0xEA60), + Hash(0x1EA60), + ] + tx_gas = [110000, 180000] + tx_value = [1, 0] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_in_call_code.py b/tests/ported_static/stRevertTest/test_revert_in_call_code.py index 10806fddaf9..445c7143457 100644 --- a/tests/ported_static/stRevertTest/test_revert_in_call_code.py +++ b/tests/ported_static/stRevertTest/test_revert_in_call_code.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_in_call_code. Ported from: -tests/static/state_tests/stRevertTest/RevertInCallCodeFiller.json +state_tests/stRevertTest/RevertInCallCodeFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertInCallCodeFiller.json"], + ["state_tests/stRevertTest/RevertInCallCodeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_revert_in_call_code( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_in_call_code.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -45,50 +46,47 @@ def test_revert_in_call_code( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x2232) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - ), - nonce=0, - address=Address("0x26bc42b8191ccb142cb8cbc3490bd3bdce465591"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 50000 1000 0 64 0 64 ) [[ 1 ]] (RETURNDATASIZE) (RETURNDATACOPY 64 0 32) [[ 2 ]] (MLOAD 64) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC350, - address=0x26BC42B8191CCB142CB8CBC3490BD3BDCE465591, - value=0x3E8, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY(dest_offset=0x40, offset=0x0, size=0x20) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x40)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC350, + address=0x26BC42B8191CCB142CB8CBC3490BD3BDCE465591, + value=0x3E8, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY(dest_offset=0x40, offset=0x0, size=0x20) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x40)) + + Op.STOP, balance=1000, nonce=0, - address=Address("0x5e1d76d7badbad41710e47410dba9226c255d229"), # noqa: E501 + address=Address(0x5E1D76D7BADBAD41710E47410DBA9226C255D229), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 0x2232) (REVERT 0 32) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x2232) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + nonce=0, + address=Address(0x26BC42B8191CCB142CB8CBC3490BD3BDCE465591), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=105044, ) - post = { - contract: Account(storage={1: 32, 2: 8754}), - } + post = {target: Account(storage={1: 32, 2: 8754})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_in_create_in_init_paris.py b/tests/ported_static/stRevertTest/test_revert_in_create_in_init_paris.py index dd611ffd93c..e1f2206890f 100644 --- a/tests/ported_static/stRevertTest/test_revert_in_create_in_init_paris.py +++ b/tests/ported_static/stRevertTest/test_revert_in_create_in_init_paris.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_in_create_in_init_paris. Ported from: -tests/static/state_tests/stRevertTest/RevertInCreateInInit_ParisFiller.json +state_tests/stRevertTest/RevertInCreateInInit_ParisFiller.json """ import pytest @@ -15,15 +15,14 @@ StateTestFiller, Transaction, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertInCreateInInit_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertInCreateInInit_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,12 +30,12 @@ def test_revert_in_create_in_init_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_in_create_in_init_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) - contract = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -47,24 +46,28 @@ def test_revert_in_create_in_init_paris( gas_limit=42949672960, ) - pre[contract] = Account(balance=10, nonce=0, storage={0x0: 0x1}) + pre[addr] = Account(balance=10, storage={0: 1}) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "3050600d80602460003960006000f0503d6000556020600060003e6000516001550000fe" # noqa: E501 - "6211223360005260206000fd00" - ), + data=Op.POP(Op.ADDRESS) + + Op.PUSH1[0xD] + + Op.CODECOPY(dest_offset=0x0, offset=0x24, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, gas_limit=200000, ) - post = { - Address("0x1775da0b19ad27f26c9de9e2b1e61a91cf8134cc"): Account( - storage={0: 32, 1: 0x112233}, - ), - contract: Account(storage={0: 1}), - } + post = {addr: Account(storage={0: 1}, balance=10)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_in_delegate_call.py b/tests/ported_static/stRevertTest/test_revert_in_delegate_call.py index 2c1adcecad8..97d01bf7273 100644 --- a/tests/ported_static/stRevertTest/test_revert_in_delegate_call.py +++ b/tests/ported_static/stRevertTest/test_revert_in_delegate_call.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_in_delegate_call. Ported from: -tests/static/state_tests/stRevertTest/RevertInDelegateCallFiller.json +state_tests/stRevertTest/RevertInDelegateCallFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertInDelegateCallFiller.json"], + ["state_tests/stRevertTest/RevertInDelegateCallFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_revert_in_delegate_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_in_delegate_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -45,49 +46,46 @@ def test_revert_in_delegate_call( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 50000 0 64 0 64 ) [[ 1 ]] (RETURNDATASIZE) (RETURNDATACOPY 63 0 32) [[2]](MLOAD 63)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC350, - address=0xC3ECFE24C185AD3C946EBFF4624131E8AF5220A2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.RETURNDATACOPY(dest_offset=0x3F, offset=0x0, size=0x20) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x3F)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC350, + address=0xC3ECFE24C185AD3C946EBFF4624131E8AF5220A2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.RETURNDATACOPY(dest_offset=0x3F, offset=0x0, size=0x20) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x3F)) + + Op.STOP, balance=1000, nonce=0, - address=Address("0x23ea33dc3aa11f5a1da3643bb13956382b9b6767"), # noqa: E501 + address=Address(0x23EA33DC3AA11F5A1DA3643BB13956382B9B6767), # noqa: E501 ) - pre[sender] = Account(balance=0x5F5E100) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x20, value=0xA) - + Op.REVERT(offset=0x20, size=0x20) - + Op.STOP - ), + # Source: lll + # { (MSTORE 32 10) (REVERT 32 32) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x20, value=0xA) + + Op.REVERT(offset=0x20, size=0x20) + + Op.STOP, nonce=0, - address=Address("0xc3ecfe24c185ad3c946ebff4624131e8af5220a2"), # noqa: E501 + address=Address(0xC3ECFE24C185AD3C946EBFF4624131E8AF5220A2), # noqa: E501 ) + pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=105044, ) - post = { - contract: Account(storage={1: 32, 2: 10}), - } + post = {target: Account(storage={1: 32, 2: 10})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_in_static_call.py b/tests/ported_static/stRevertTest/test_revert_in_static_call.py index d8c3010b45b..1e4a9eeba00 100644 --- a/tests/ported_static/stRevertTest/test_revert_in_static_call.py +++ b/tests/ported_static/stRevertTest/test_revert_in_static_call.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_in_static_call. Ported from: -tests/static/state_tests/stRevertTest/RevertInStaticCallFiller.json +state_tests/stRevertTest/RevertInStaticCallFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertInStaticCallFiller.json"], + ["state_tests/stRevertTest/RevertInStaticCallFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_revert_in_static_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_in_static_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -45,40 +46,41 @@ def test_revert_in_static_call( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 50000 0 64 0 64 )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xC350, - address=0x33FCF0576AB8B4527C9426094E2E355A7FFC7E71, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xC350, + address=0x33FCF0576AB8B4527C9426094E2E355A7FFC7E71, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=1000, nonce=0, - address=Address("0x30f7398d20afe518491069c036185caf69d5aae9"), # noqa: E501 + address=Address(0x30F7398D20AFE518491069C036185CAF69D5AAE9), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (REVERT 0 0) } + addr = pre.deploy_contract( # noqa: F841 code=Op.REVERT(offset=0x0, size=0x0) + Op.STOP, nonce=0, - address=Address("0x33fcf0576ab8b4527c9426094e2e355a7ffc7e71"), # noqa: E501 + address=Address(0x33FCF0576AB8B4527C9426094E2E355A7FFC7E71), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=105044, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_on_empty_stack.py b/tests/ported_static/stRevertTest/test_revert_on_empty_stack.py index c2a4cd826d7..15e2b17b1d7 100644 --- a/tests/ported_static/stRevertTest/test_revert_on_empty_stack.py +++ b/tests/ported_static/stRevertTest/test_revert_on_empty_stack.py @@ -1,8 +1,8 @@ """ -Calling a runtime code that contains only a single `REVERT` should consume... +Calling a runtime code that contains only a single `REVERT` should... Ported from: -tests/static/state_tests/stRevertTest/RevertOnEmptyStackFiller.json +state_tests/stRevertTest/RevertOnEmptyStackFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertOnEmptyStackFiller.json"], + ["state_tests/stRevertTest/RevertOnEmptyStackFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_revert_on_empty_stack( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Calling a runtime code that contains only a single `REVERT`...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Calling a runtime code that contains only a single `REVERT` should...""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x3327048BBC0B8C348A6352BE62994144E64B8FF2CEC68D9FF4CA4E911ECD5D22 ) @@ -45,20 +46,22 @@ def test_revert_on_empty_stack( gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + pre[sender] = Account(balance=0x5AF3107A4000) + # Source: raw + # 0xfd + target = pre.deploy_contract( # noqa: F841 code=Op.REVERT, nonce=0, - address=Address("0x3141bb954e8294e47a14ebd08229f30e6294ba83"), # noqa: E501 + address=Address(0x3141BB954E8294E47A14EBD08229F30E6294BA83), # noqa: E501 ) - pre[sender] = Account(balance=0x5AF3107A4000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=2000000, ) - post: dict = {} + post = {sender: Account(balance=0x5AF30F491300, nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_opcode.py b/tests/ported_static/stRevertTest/test_revert_opcode.py index fba32638328..58f0e64e247 100644 --- a/tests/ported_static/stRevertTest/test_revert_opcode.py +++ b/tests/ported_static/stRevertTest/test_revert_opcode.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_opcode. Ported from: -tests/static/state_tests/stRevertTest/RevertOpcodeFiller.json +state_tests/stRevertTest/RevertOpcodeFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,29 +27,49 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertOpcodeFiller.json"], + ["state_tests/stRevertTest/RevertOpcodeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - (800000, 0, {}), - (800000, 10, {}), - (30000, 0, {}), - (30000, 10, {}), + pytest.param( + 0, + 0, + 0, + id="-g0-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-g0-v1", + ), + pytest.param( + 0, + 1, + 0, + id="-g1-v0", + ), + pytest.param( + 0, + 1, + 1, + id="-g1-v1", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_revert_opcode( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_opcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -58,25 +83,51 @@ def test_revert_opcode( gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x1) - + Op.REVERT(offset=0x0, size=0x1) - + Op.SSTORE(key=0x1, value=0x11) - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: raw + # 0x600160005560016000fd6011600155 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.REVERT(offset=0x0, size=0x1) + + Op.SSTORE(key=0x1, value=0x11), nonce=0, - address=Address("0xf5eaf70f313ab7c223ded96f5a804abc49bf804a"), # noqa: E501 + address=Address(0xF5EAF70F313AB7C223DED96F5A804ABC49BF804A), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={}, balance=0), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={}, balance=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [800000, 30000] + tx_value = [0, 10] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_opcode_calls.py b/tests/ported_static/stRevertTest/test_revert_opcode_calls.py index 2686fa96bf6..d5e7373d93d 100644 --- a/tests/ported_static/stRevertTest/test_revert_opcode_calls.py +++ b/tests/ported_static/stRevertTest/test_revert_opcode_calls.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_opcode_calls. Ported from: -tests/static/state_tests/stRevertTest/RevertOpcodeCallsFiller.json +state_tests/stRevertTest/RevertOpcodeCallsFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,105 +27,73 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertOpcodeCallsFiller.json"], + ["state_tests/stRevertTest/RevertOpcodeCallsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "000000000000000000000000ceb48d108c874b5b014acdd1a2466d65a3d01de6", - 460000, - { - Address("0x1ada72179309fd8a562e308928e38763a543ed6c"): Account( - storage={10: 1} - ), - Address("0xceb48d108c874b5b014acdd1a2466d65a3d01de6"): Account( - storage={2: 14} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "000000000000000000000000ceb48d108c874b5b014acdd1a2466d65a3d01de6", - 83622, - {}, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "000000000000000000000000737f82ed94146e759790d925492df5a8ced35885", - 460000, - { - Address("0x1ada72179309fd8a562e308928e38763a543ed6c"): Account( - storage={10: 1} - ), - Address("0x737f82ed94146e759790d925492df5a8ced35885"): Account( - storage={2: 14} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "000000000000000000000000737f82ed94146e759790d925492df5a8ced35885", - 83622, - {}, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "0000000000000000000000006b8268ac8921e6a6e59a4b1d51a76f4e807e17af", - 460000, - { - Address("0x1ada72179309fd8a562e308928e38763a543ed6c"): Account( - storage={10: 1} - ), - Address("0x6b8268ac8921e6a6e59a4b1d51a76f4e807e17af"): Account( - storage={2: 14} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "0000000000000000000000006b8268ac8921e6a6e59a4b1d51a76f4e807e17af", - 83622, - {}, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "000000000000000000000000bf3fc188d9c8d699ffa12f0369e3b2bcf8428f7c", - 460000, - { - Address("0x1ada72179309fd8a562e308928e38763a543ed6c"): Account( - storage={10: 1} - ), - Address("0x652761b88018ea027f6f27e456fe55c2dc5d6a91"): Account( - storage={5: 14} - ), - Address("0xbf3fc188d9c8d699ffa12f0369e3b2bcf8428f7c"): Account( - storage={0: 1, 2: 14} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "000000000000000000000000bf3fc188d9c8d699ffa12f0369e3b2bcf8428f7c", - 83622, - {}, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - ], ) @pytest.mark.pre_alloc_mutable def test_revert_opcode_calls( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_opcode_calls.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -134,154 +107,233 @@ def test_revert_opcode_calls( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[10]] (CALL 260000 (CALLDATALOAD 0) 0 0 0 0 0)} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0xA, - value=Op.CALL( - gas=0x3F7A0, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0xA, + value=Op.CALL( + gas=0x3F7A0, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=1, nonce=0, - address=Address("0x1ada72179309fd8a562e308928e38763a543ed6c"), # noqa: E501 + address=Address(0x1ADA72179309FD8A562E308928E38763A543ED6C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x4, - value=Op.CALL( - gas=0xC350, - address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x5, value=0xE) - + Op.STOP - ), + # Source: lll + # { [[0]] (CALL 50000 0 0 0 0 0) [[2]] 14 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC350, + address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xE) + + Op.STOP, balance=1, nonce=0, - address=Address("0x652761b88018ea027f6f27e456fe55c2dc5d6a91"), # noqa: E501 + address=Address(0xCEB48D108C874B5B014ACDD1A2466D65A3D01DE6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xE) - + Op.STOP - ), + # Source: lll + # { [[0]] (CALLCODE 50000 0 0 0 0 0) [[2]] 14 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC350, + address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xE) + + Op.STOP, balance=1, nonce=0, - address=Address("0x6b8268ac8921e6a6e59a4b1d51a76f4e807e17af"), # noqa: E501 + address=Address(0x737F82ED94146E759790D925492DF5A8CED35885), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC350, - address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xE) - + Op.STOP - ), + # Source: lll + # { [[0]] (DELEGATECALL 50000 0 0 0 0) [[2]] 14 } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xE) + + Op.STOP, balance=1, nonce=0, - address=Address("0x737f82ed94146e759790d925492df5a8ced35885"), # noqa: E501 + address=Address(0x6B8268AC8921E6A6E59A4B1D51A76F4E807E17AF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0xC) - + Op.REVERT(offset=0x0, size=0x1) - + Op.SSTORE(key=0x3, value=0xD) - + Op.STOP - ), + # Source: lll + # { [[0]] (CALL 100000 0 0 0 0 0) [[2]] 14 } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x186A0, + address=0x652761B88018EA027F6F27E456FE55C2DC5D6A91, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xE) + + Op.STOP, balance=1, nonce=0, - address=Address("0x93a599bde9a3b6390afdb06952aa5ec0b8c44f3b"), # noqa: E501 + address=Address(0xBF3FC188D9C8D699FFA12F0369E3B2BCF8428F7C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x186A0, - address=0x652761B88018EA027F6F27E456FE55C2DC5D6A91, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xE) - + Op.STOP - ), + # Source: lll + # { [[4]] (CALL 50000 0 0 0 0 0) [[5]] 14 } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x4, + value=Op.CALL( + gas=0xC350, + address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x5, value=0xE) + + Op.STOP, balance=1, nonce=0, - address=Address("0xbf3fc188d9c8d699ffa12f0369e3b2bcf8428f7c"), # noqa: E501 + address=Address(0x652761B88018EA027F6F27E456FE55C2DC5D6A91), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC350, - address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xE) - + Op.STOP - ), + # Source: lll + # { [[1]] 12 (REVERT 0 1) [[3]] 13 } + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0xC) + + Op.REVERT(offset=0x0, size=0x1) + + Op.SSTORE(key=0x3, value=0xD) + + Op.STOP, balance=1, nonce=0, - address=Address("0xceb48d108c874b5b014acdd1a2466d65a3d01de6"), # noqa: E501 + address=Address(0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + target: Account(storage={10: 1}), + addr: Account(storage={0: 0, 2: 14}, nonce=0), + }, + }, + { + "indexes": {"data": 0, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + addr: Account(storage={}), + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + target: Account(storage={10: 1}), + addr_2: Account(storage={0: 0, 2: 14}, nonce=0), + }, + }, + { + "indexes": {"data": 1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + addr_2: Account(storage={}), + }, + }, + { + "indexes": {"data": 2, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + target: Account(storage={10: 1}), + addr_3: Account(storage={0: 0, 2: 14}, nonce=0), + }, + }, + { + "indexes": {"data": 2, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + addr_3: Account(storage={}), + }, + }, + { + "indexes": {"data": 3, "gas": [0], "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + target: Account(storage={10: 1}), + addr_4: Account(storage={0: 1, 2: 14}, nonce=0), + addr_5: Account(storage={4: 0, 5: 14}, nonce=0), + }, + }, + { + "indexes": {"data": 3, "gas": [1], "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + target: Account(storage={10: 0}), + addr_4: Account(storage={0: 0, 2: 0}, nonce=0), + addr_5: Account(storage={4: 0, 5: 0}, nonce=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [460000, 83622] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_opcode_create.py b/tests/ported_static/stRevertTest/test_revert_opcode_create.py index d15c4078816..f8fbd1a67fa 100644 --- a/tests/ported_static/stRevertTest/test_revert_opcode_create.py +++ b/tests/ported_static/stRevertTest/test_revert_opcode_create.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_opcode_create. Ported from: -tests/static/state_tests/stRevertTest/RevertOpcodeCreateFiller.json +state_tests/stRevertTest/RevertOpcodeCreateFiller.json """ import pytest @@ -11,9 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,33 +28,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertOpcodeCreateFiller.json"], + ["state_tests/stRevertTest/RevertOpcodeCreateFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 460000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 12} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), - (70000, {}), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_revert_opcode_create( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_opcode_create.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -63,29 +74,54 @@ def test_revert_opcode_create( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x600160005560016000fd6011600155 ) [[1]](CREATE 1 17 15) [[0]] 12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x600160005560016000FD6011600155) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x1, offset=0x11, size=0xF) - ) - + Op.SSTORE(key=0x0, value=0xC) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x600160005560016000FD6011600155) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x1, offset=0x11, size=0xF)) + + Op.SSTORE(key=0x0, value=0xC) + + Op.STOP, balance=1, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + contract_0: Account(storage={0: 12, 1: 0}, nonce=1), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + contract_0: Account(nonce=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("600160005560016000fe6011600155"), + ] + tx_gas = [460000, 70000] + tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("600160005560016000fe6011600155"), - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_opcode_direct_call.py b/tests/ported_static/stRevertTest/test_revert_opcode_direct_call.py index 389e83c3e8e..dbf05069936 100644 --- a/tests/ported_static/stRevertTest/test_revert_opcode_direct_call.py +++ b/tests/ported_static/stRevertTest/test_revert_opcode_direct_call.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_opcode_direct_call. Ported from: -tests/static/state_tests/stRevertTest/RevertOpcodeDirectCallFiller.json +state_tests/stRevertTest/RevertOpcodeDirectCallFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,35 +27,37 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertOpcodeDirectCallFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertOpcodeDirectCallFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 460000, - { - Address("0xceb48d108c874b5b014acdd1a2466d65a3d01de6"): Account( - storage={2: 14} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), - (62912, {}), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_revert_opcode_direct_call( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_opcode_direct_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -64,71 +71,92 @@ def test_revert_opcode_direct_call( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0xC) - + Op.REVERT(offset=0x0, size=0x1) - + Op.SSTORE(key=0x3, value=0xD) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[10]] (CALL 60000 (CALLDATALOAD 0) 0 0 0 0 0)} + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0xA, + value=Op.CALL( + gas=0xEA60, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=1, nonce=0, - address=Address("0x93a599bde9a3b6390afdb06952aa5ec0b8c44f3b"), # noqa: E501 + address=Address(0xF94D87FAF19D8C731E70E1B0A25F9668718F6E17), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[0]] (CALL 50000 0 0 0 0 0) [[2]] 14 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC350, - address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC350, + address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xE) + + Op.STOP, balance=1, nonce=0, - address=Address("0xceb48d108c874b5b014acdd1a2466d65a3d01de6"), # noqa: E501 + address=Address(0xCEB48D108C874B5B014ACDD1A2466D65A3D01DE6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0xA, - value=Op.CALL( - gas=0xEA60, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[1]] 12 (REVERT 0 1) [[3]] 13 } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0xC) + + Op.REVERT(offset=0x0, size=0x1) + + Op.SSTORE(key=0x3, value=0xD) + + Op.STOP, balance=1, nonce=0, - address=Address("0xf94d87faf19d8c731e70e1b0a25f9668718f6e17"), # noqa: E501 + address=Address(0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_2: Account(storage={}), + target: Account(storage={0: 0, 2: 14}, nonce=0), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_2: Account(storage={}), + target: Account(storage={}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(target, left_padding=True), + ] + tx_gas = [460000, 62912] tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "000000000000000000000000ceb48d108c874b5b014acdd1a2466d65a3d01de6" - ), - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_opcode_in_calls_on_non_empty_return_data.py b/tests/ported_static/stRevertTest/test_revert_opcode_in_calls_on_non_empty_return_data.py index eb90cfe5a72..2d520c359c8 100644 --- a/tests/ported_static/stRevertTest/test_revert_opcode_in_calls_on_non_empty_return_data.py +++ b/tests/ported_static/stRevertTest/test_revert_opcode_in_calls_on_non_empty_return_data.py @@ -1,9 +1,8 @@ """ -Test checks that the returndata buffer is changed when a subcall REVERTs. ... +Test: this test checks that the returndata buffer is changed when a... Ported from: -tests/static/state_tests/stRevertTest -RevertOpcodeInCallsOnNonEmptyReturnDataFiller.json +state_tests/stRevertTest/RevertOpcodeInCallsOnNonEmptyReturnDataFiller.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,122 +28,74 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stRevertTest/RevertOpcodeInCallsOnNonEmptyReturnDataFiller.json", # noqa: E501 + "state_tests/stRevertTest/RevertOpcodeInCallsOnNonEmptyReturnDataFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "000000000000000000000000e73611b5b479b30c93ac377aeb3bfb199764f3c3", - 860000, - { - Address("0x172a8f572404293aa810685dfdc6f740c300cc4b"): Account( - storage={10: 1} - ), - Address("0xe73611b5b479b30c93ac377aeb3bfb199764f3c3"): Account( - storage={2: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "000000000000000000000000e73611b5b479b30c93ac377aeb3bfb199764f3c3", - 28000, - { - Address("0x172a8f572404293aa810685dfdc6f740c300cc4b"): Account( - storage={10: 255} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "000000000000000000000000c9da6cd8413f64323f12cd44c99671f280f15e1c", - 860000, - { - Address("0x172a8f572404293aa810685dfdc6f740c300cc4b"): Account( - storage={10: 1} - ), - Address("0xc9da6cd8413f64323f12cd44c99671f280f15e1c"): Account( - storage={2: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "000000000000000000000000c9da6cd8413f64323f12cd44c99671f280f15e1c", - 28000, - { - Address("0x172a8f572404293aa810685dfdc6f740c300cc4b"): Account( - storage={10: 255} - ) - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "000000000000000000000000f20ccaf271beaa36e7cf4c9ced2867fac9558f14", - 860000, - { - Address("0x172a8f572404293aa810685dfdc6f740c300cc4b"): Account( - storage={10: 1} - ), - Address("0xf20ccaf271beaa36e7cf4c9ced2867fac9558f14"): Account( - storage={2: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "000000000000000000000000f20ccaf271beaa36e7cf4c9ced2867fac9558f14", - 28000, - { - Address("0x172a8f572404293aa810685dfdc6f740c300cc4b"): Account( - storage={10: 255} - ) - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "0000000000000000000000006bacdfa8216dbb2a09819f8739e57ae3574c9fff", - 860000, - { - Address("0x172a8f572404293aa810685dfdc6f740c300cc4b"): Account( - storage={10: 1} - ), - Address("0x6bacdfa8216dbb2a09819f8739e57ae3574c9fff"): Account( - storage={0: 1} - ), - Address("0xea519c47889074e6378b0d83747f2c3ea0b9cbc9"): Account( - storage={5: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "0000000000000000000000006bacdfa8216dbb2a09819f8739e57ae3574c9fff", - 28000, - { - Address("0x172a8f572404293aa810685dfdc6f740c300cc4b"): Account( - storage={10: 255} - ) - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - ], ) @pytest.mark.pre_alloc_mutable def test_revert_opcode_in_calls_on_non_empty_return_data( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test checks that the returndata buffer is changed when a subcall...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test: tis test checks that the returndata buffer is changed when a...""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -153,231 +109,310 @@ def test_revert_opcode_in_calls_on_non_empty_return_data( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0xC) - + Op.RETURN(offset=0x0, size=0x40) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (CALL 0 0 0 0 0 0) [[10]] (CALL 260000 (CALLDATALOAD 0) 0 0 0 0 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x0, + address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE( + key=0xA, + value=Op.CALL( + gas=0x3F7A0, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + storage={10: 255}, balance=1, nonce=0, - address=Address("0x127eaf7e31d691a8393b7a2f84a6e94372190c01"), # noqa: E501 + address=Address(0x172A8F572404293AA810685DFDC6F740C300CC4B), # noqa: E501 ) - # Source: LLL - # { (CALL 0 0 0 0 0 0) [[10]] (CALL 260000 (CALLDATALOAD 0) 0 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x0, - address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xA, - value=Op.CALL( - gas=0x3F7A0, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (CALL 0 0 0 0 0 0) [[0]] (CALL 50000 0 0 0 0 0) [[2]] (RETURNDATASIZE) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x0, + address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.STOP - ), - storage={0xA: 0xFF}, + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC350, + address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=Op.RETURNDATASIZE) + + Op.STOP, balance=1, nonce=0, - address=Address("0x172a8f572404293aa810685dfdc6f740c300cc4b"), # noqa: E501 + address=Address(0xE73611B5B479B30C93AC377AEB3BFB199764F3C3), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x0, - address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (CALL 0 0 0 0 0 0) [[0]] (CALLCODE 50000 0 0 0 0 0) [[2]] (RETURNDATASIZE) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x0, + address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x186A0, - address=0xEA519C47889074E6378B0D83747F2C3EA0B9CBC9, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=Op.RETURNDATASIZE) - + Op.STOP - ), + ) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC350, + address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=Op.RETURNDATASIZE) + + Op.STOP, balance=1, nonce=0, - address=Address("0x6bacdfa8216dbb2a09819f8739e57ae3574c9fff"), # noqa: E501 + address=Address(0xC9DA6CD8413F64323F12CD44C99671F280F15E1C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0xC) - + Op.REVERT(offset=0x0, size=0x1) - + Op.SSTORE(key=0x3, value=0xD) - + Op.STOP - ), + # Source: lll + # { (CALL 0 0 0 0 0 0) [[0]] (DELEGATECALL 50000 0 0 0 0) [[2]] (RETURNDATASIZE) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x0, + address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=Op.RETURNDATASIZE) + + Op.STOP, balance=1, nonce=0, - address=Address("0x93a599bde9a3b6390afdb06952aa5ec0b8c44f3b"), # noqa: E501 + address=Address(0xF20CCAF271BEAA36E7CF4C9CED2867FAC9558F14), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x0, - address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC350, - address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (CALL 0 0 0 0 0 0) [[0]] (CALL 100000 0 0 0 0 0) [[2]] (RETURNDATASIZE) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x0, + address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x2, value=Op.RETURNDATASIZE) - + Op.STOP - ), + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x186A0, + address=0xEA519C47889074E6378B0D83747F2C3EA0B9CBC9, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=Op.RETURNDATASIZE) + + Op.STOP, balance=1, nonce=0, - address=Address("0xc9da6cd8413f64323f12cd44c99671f280f15e1c"), # noqa: E501 + address=Address(0x6BACDFA8216DBB2A09819F8739E57AE3574C9FFF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x0, - address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC350, - address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (CALL 0 0 0 0 0 0) [[4]] (CALL 50000 0 0 0 0 0) [[5]] (RETURNDATASIZE) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x0, + address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x2, value=Op.RETURNDATASIZE) - + Op.STOP - ), + ) + + Op.SSTORE( + key=0x4, + value=Op.CALL( + gas=0xC350, + address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x5, value=Op.RETURNDATASIZE) + + Op.STOP, balance=1, nonce=0, - address=Address("0xe73611b5b479b30c93ac377aeb3bfb199764f3c3"), # noqa: E501 + address=Address(0xEA519C47889074E6378B0D83747F2C3EA0B9CBC9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x0, - address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x4, - value=Op.CALL( - gas=0xC350, - address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x5, value=Op.RETURNDATASIZE) - + Op.STOP - ), + # Source: lll + # { [[1]] 12 (REVERT 0 1) [[3]] 13 } + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0xC) + + Op.REVERT(offset=0x0, size=0x1) + + Op.SSTORE(key=0x3, value=0xD) + + Op.STOP, balance=1, nonce=0, - address=Address("0xea519c47889074e6378b0d83747f2c3ea0b9cbc9"), # noqa: E501 + address=Address(0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x0, - address=0x127EAF7E31D691A8393B7A2F84A6E94372190C01, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x93A599BDE9A3B6390AFDB06952AA5EC0B8C44F3B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=Op.RETURNDATASIZE) - + Op.STOP - ), + # Source: lll + # { [1] 12 (RETURN 0 64) } + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0xC) + + Op.RETURN(offset=0x0, size=0x40) + + Op.STOP, balance=1, nonce=0, - address=Address("0xf20ccaf271beaa36e7cf4c9ced2867fac9558f14"), # noqa: E501 + address=Address(0x127EAF7E31D691A8393B7A2F84A6E94372190C01), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + target: Account(storage={10: 1}), + addr: Account(storage={2: 1}, nonce=0), + }, + }, + { + "indexes": {"data": 0, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + addr: Account(storage={}), + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + target: Account(storage={10: 1}), + addr_2: Account(storage={2: 1}, nonce=0), + }, + }, + { + "indexes": {"data": 1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + addr_2: Account(storage={}), + }, + }, + { + "indexes": {"data": 2, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + target: Account(storage={10: 1}), + addr_3: Account(storage={2: 1}, nonce=0), + }, + }, + { + "indexes": {"data": 2, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + addr_3: Account(storage={}), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + target: Account(storage={10: 1}), + addr_4: Account(storage={0: 1}, nonce=0), + addr_5: Account(storage={5: 1}, nonce=0), + }, + }, + { + "indexes": {"data": 3, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_6: Account(storage={}), + target: Account(storage={10: 255}), + addr_4: Account(storage={0: 0}, nonce=0), + addr_5: Account(storage={5: 0}, nonce=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [860000, 28000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_opcode_in_create_returns.py b/tests/ported_static/stRevertTest/test_revert_opcode_in_create_returns.py index 58d248a92d0..4b74185f565 100644 --- a/tests/ported_static/stRevertTest/test_revert_opcode_in_create_returns.py +++ b/tests/ported_static/stRevertTest/test_revert_opcode_in_create_returns.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_opcode_in_create_returns. Ported from: -tests/static/state_tests/stRevertTest/RevertOpcodeInCreateReturnsFiller.json +state_tests/stRevertTest/RevertOpcodeInCreateReturnsFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertOpcodeInCreateReturnsFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertOpcodeInCreateReturnsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_revert_opcode_in_create_returns( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_opcode_in_create_returns.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) @@ -47,37 +46,32 @@ def test_revert_opcode_in_create_returns( gas_limit=42949672960, ) - # Source: LLL + # Source: lll # { (seq (CREATE 0 0 (lll (seq (mstore 0 0x112233) (revert 0 32)) 0)) (SSTORE 0 (RETURNDATASIZE)) (STOP) )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.PUSH1[0xD] - + Op.CODECOPY(dest_offset=0x0, offset=0x15, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.POP(Op.CREATE) - + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) - + Op.STOP - + Op.STOP - + Op.INVALID - + Op.MSTORE(offset=0x0, value=0x112233) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - ), - storage={0x0: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0xD] + + Op.CODECOPY(dest_offset=0x0, offset=0x15, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE) + + Op.SSTORE(key=0x0, value=Op.RETURNDATASIZE) + + Op.STOP * 2 + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x910073ceed5c2372dc67ffd941b0f148dc4ebaf5"), # noqa: E501 + address=Address(0x910073CEED5C2372DC67FFD941B0F148DC4EBAF5), # noqa: E501 ) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={0: 32}), - } + post = {target: Account(storage={0: 32})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_opcode_in_init.py b/tests/ported_static/stRevertTest/test_revert_opcode_in_init.py index f097754e703..d6997f18cdb 100644 --- a/tests/ported_static/stRevertTest/test_revert_opcode_in_init.py +++ b/tests/ported_static/stRevertTest/test_revert_opcode_in_init.py @@ -2,7 +2,7 @@ TODO revertOpcodeInInit followed by OOG. Ported from: -tests/static/state_tests/stRevertTest/RevertOpcodeInInitFiller.json +state_tests/stRevertTest/RevertOpcodeInInitFiller.json """ import pytest @@ -14,32 +14,47 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertOpcodeInInitFiller.json"], + ["state_tests/stRevertTest/RevertOpcodeInInitFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value", + "d, g, v", [ - 0, - 10, + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_revert_opcode_in_init( state_test: StateTestFiller, pre: Alloc, - tx_value: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """TODO revertOpcodeInInit followed by OOG.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -55,14 +70,25 @@ def test_revert_opcode_in_init( pre[sender] = Account(balance=0xE8D4A51000) + tx_data = [ + Op.SSTORE(key=0x0, value=0x1) + + Op.REVERT(offset=0x0, size=0x1) + + Op.SSTORE(key=0x1, value=0x11), + ] + tx_gas = [160000] + tx_value = [0, 10] + tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("600160005560016000fd6011600155"), - gas_limit=160000, - value=tx_value, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_opcode_multiple_sub_calls.py b/tests/ported_static/stRevertTest/test_revert_opcode_multiple_sub_calls.py index d43c327fc33..da763d19f8b 100644 --- a/tests/ported_static/stRevertTest/test_revert_opcode_multiple_sub_calls.py +++ b/tests/ported_static/stRevertTest/test_revert_opcode_multiple_sub_calls.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_opcode_multiple_sub_calls. Ported from: -tests/static/state_tests/stRevertTest/RevertOpcodeMultipleSubCallsFiller.json +state_tests/stRevertTest/RevertOpcodeMultipleSubCallsFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,317 +27,217 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertOpcodeMultipleSubCallsFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertOpcodeMultipleSubCallsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - "000000000000000000000000d7e294f032a5cc430e9e6c4148220867e9704dcd", - 800000, - 0, - { - Address("0xd7e294f032a5cc430e9e6c4148220867e9704dcd"): Account( - storage={4: 12, 5: 12} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0-v0", ), - ( - "000000000000000000000000d7e294f032a5cc430e9e6c4148220867e9704dcd", - 800000, - 10, - { - Address("0xd7e294f032a5cc430e9e6c4148220867e9704dcd"): Account( - storage={4: 12, 5: 12} - ) - }, + pytest.param( + 0, + 0, + 1, + id="d0-g0-v1", ), - ( - "000000000000000000000000d7e294f032a5cc430e9e6c4148220867e9704dcd", - 126200, + pytest.param( 0, - {}, + 1, + 0, + id="d0-g1-v0", ), - ( - "000000000000000000000000d7e294f032a5cc430e9e6c4148220867e9704dcd", - 126200, - 10, - {}, + pytest.param( + 0, + 1, + 1, + id="d0-g1-v1", ), - ( - "000000000000000000000000d7e294f032a5cc430e9e6c4148220867e9704dcd", - 160000, + pytest.param( 0, - { - Address("0xd7e294f032a5cc430e9e6c4148220867e9704dcd"): Account( - storage={4: 12, 5: 12} - ) - }, + 2, + 0, + id="d0-g2-v0", ), - ( - "000000000000000000000000d7e294f032a5cc430e9e6c4148220867e9704dcd", - 160000, - 10, - { - Address("0xd7e294f032a5cc430e9e6c4148220867e9704dcd"): Account( - storage={4: 12, 5: 12} - ) - }, + pytest.param( + 0, + 2, + 1, + id="d0-g2-v1", ), - ( - "000000000000000000000000d7e294f032a5cc430e9e6c4148220867e9704dcd", - 50000, + pytest.param( 0, - {}, + 3, + 0, + id="d0-g3-v0", ), - ( - "000000000000000000000000d7e294f032a5cc430e9e6c4148220867e9704dcd", - 50000, - 10, - {}, + pytest.param( + 0, + 3, + 1, + id="d0-g3-v1", ), - ( - "000000000000000000000000ee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf", - 800000, + pytest.param( + 1, 0, - { - Address("0xee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf"): Account( - storage={4: 12, 5: 12} - ) - }, + 0, + id="d1-g0-v0", ), - ( - "000000000000000000000000ee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf", - 800000, - 10, - { - Address("0xee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf"): Account( - storage={4: 12, 5: 12} - ) - }, + pytest.param( + 1, + 0, + 1, + id="d1-g0-v1", ), - ( - "000000000000000000000000ee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf", - 126200, + pytest.param( + 1, + 1, 0, - {}, + id="d1-g1-v0", ), - ( - "000000000000000000000000ee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf", - 126200, - 10, - {}, + pytest.param( + 1, + 1, + 1, + id="d1-g1-v1", ), - ( - "000000000000000000000000ee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf", - 160000, + pytest.param( + 1, + 2, 0, - { - Address("0xee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf"): Account( - storage={4: 12, 5: 12} - ) - }, + id="d1-g2-v0", ), - ( - "000000000000000000000000ee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf", - 160000, - 10, - { - Address("0xee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf"): Account( - storage={4: 12, 5: 12} - ) - }, + pytest.param( + 1, + 2, + 1, + id="d1-g2-v1", ), - ( - "000000000000000000000000ee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf", - 50000, + pytest.param( + 1, + 3, 0, - {}, + id="d1-g3-v0", ), - ( - "000000000000000000000000ee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf", - 50000, - 10, - {}, + pytest.param( + 1, + 3, + 1, + id="d1-g3-v1", ), - ( - "00000000000000000000000068cf97c6ca41ecfc5623d8a7e9b6f72068213e95", - 800000, + pytest.param( + 2, 0, - { - Address("0x68cf97c6ca41ecfc5623d8a7e9b6f72068213e95"): Account( - storage={4: 12, 5: 12} - ) - }, + 0, + id="d2-g0-v0", ), - ( - "00000000000000000000000068cf97c6ca41ecfc5623d8a7e9b6f72068213e95", - 800000, - 10, - { - Address("0x68cf97c6ca41ecfc5623d8a7e9b6f72068213e95"): Account( - storage={4: 12, 5: 12} - ) - }, + pytest.param( + 2, + 0, + 1, + id="d2-g0-v1", ), - ( - "00000000000000000000000068cf97c6ca41ecfc5623d8a7e9b6f72068213e95", - 126200, + pytest.param( + 2, + 1, 0, - {}, + id="d2-g1-v0", ), - ( - "00000000000000000000000068cf97c6ca41ecfc5623d8a7e9b6f72068213e95", - 126200, - 10, - {}, + pytest.param( + 2, + 1, + 1, + id="d2-g1-v1", ), - ( - "00000000000000000000000068cf97c6ca41ecfc5623d8a7e9b6f72068213e95", - 160000, + pytest.param( + 2, + 2, 0, - { - Address("0x68cf97c6ca41ecfc5623d8a7e9b6f72068213e95"): Account( - storage={4: 12, 5: 12} - ) - }, + id="d2-g2-v0", ), - ( - "00000000000000000000000068cf97c6ca41ecfc5623d8a7e9b6f72068213e95", - 160000, - 10, - { - Address("0x68cf97c6ca41ecfc5623d8a7e9b6f72068213e95"): Account( - storage={4: 12, 5: 12} - ) - }, + pytest.param( + 2, + 2, + 1, + id="d2-g2-v1", ), - ( - "00000000000000000000000068cf97c6ca41ecfc5623d8a7e9b6f72068213e95", - 50000, + pytest.param( + 2, + 3, 0, - {}, + id="d2-g3-v0", ), - ( - "00000000000000000000000068cf97c6ca41ecfc5623d8a7e9b6f72068213e95", - 50000, - 10, - {}, + pytest.param( + 2, + 3, + 1, + id="d2-g3-v1", ), - ( - "0000000000000000000000001302fd3b212e7e634f82ed6d00ac14544e8b1cab", - 800000, + pytest.param( + 3, 0, - { - Address("0x1302fd3b212e7e634f82ed6d00ac14544e8b1cab"): Account( - storage={4: 12, 5: 12} - ) - }, + 0, + id="d3-g0-v0", ), - ( - "0000000000000000000000001302fd3b212e7e634f82ed6d00ac14544e8b1cab", - 800000, - 10, - { - Address("0x1302fd3b212e7e634f82ed6d00ac14544e8b1cab"): Account( - storage={4: 12, 5: 12} - ) - }, + pytest.param( + 3, + 0, + 1, + id="d3-g0-v1", ), - ( - "0000000000000000000000001302fd3b212e7e634f82ed6d00ac14544e8b1cab", - 126200, + pytest.param( + 3, + 1, 0, - {}, + id="d3-g1-v0", ), - ( - "0000000000000000000000001302fd3b212e7e634f82ed6d00ac14544e8b1cab", - 126200, - 10, - {}, + pytest.param( + 3, + 1, + 1, + id="d3-g1-v1", ), - ( - "0000000000000000000000001302fd3b212e7e634f82ed6d00ac14544e8b1cab", - 160000, + pytest.param( + 3, + 2, 0, - { - Address("0x1302fd3b212e7e634f82ed6d00ac14544e8b1cab"): Account( - storage={4: 12, 5: 12} - ) - }, + id="d3-g2-v0", ), - ( - "0000000000000000000000001302fd3b212e7e634f82ed6d00ac14544e8b1cab", - 160000, - 10, - { - Address("0x1302fd3b212e7e634f82ed6d00ac14544e8b1cab"): Account( - storage={4: 12, 5: 12} - ) - }, + pytest.param( + 3, + 2, + 1, + id="d3-g2-v1", ), - ( - "0000000000000000000000001302fd3b212e7e634f82ed6d00ac14544e8b1cab", - 50000, + pytest.param( + 3, + 3, 0, - {}, + id="d3-g3-v0", ), - ( - "0000000000000000000000001302fd3b212e7e634f82ed6d00ac14544e8b1cab", - 50000, - 10, - {}, + pytest.param( + 3, + 3, + 1, + id="d3-g3-v1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - ], ) @pytest.mark.pre_alloc_mutable def test_revert_opcode_multiple_sub_calls( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_opcode_multiple_sub_calls.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -346,239 +251,350 @@ def test_revert_opcode_multiple_sub_calls( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0xA, - value=Op.CALL( - gas=0xC350, - address=0x86C575F296A8A021A2A64972E57A20B06FE8B897, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xB, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x3D2496D905CF0E9C77473CBFB6E100062B5AF57F, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xC, - value=Op.CALLCODE( - gas=0xC350, - address=0x83BAC26DD305C061381C042D0BAC07B08D15BBCE, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x5, value=0xC) - + Op.STOP - ), - nonce=0, - address=Address("0x1302fd3b212e7e634f82ed6d00ac14544e8b1cab"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0xC) - + Op.REVERT(offset=0x0, size=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (CALL 260000 (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x3F7A0, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x3d2496d905cf0e9c77473cbfb6e100062b5af57f"), # noqa: E501 + address=Address(0x89AB420962193A25593B5663462B75C083D56148), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0xA, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x86C575F296A8A021A2A64972E57A20B06FE8B897, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xB, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x3D2496D905CF0E9C77473CBFB6E100062B5AF57F, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xC, - value=Op.DELEGATECALL( - gas=0xC350, - address=0x83BAC26DD305C061381C042D0BAC07B08D15BBCE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x5, value=0xC) - + Op.STOP - ), + # Source: lll + # { [[10]](CALL 50000 0 0 0 0 0) [[11]](CALL 50000 0 0 0 0 0) [[12]](CALL 50000 0 0 0 0 0) [[4]]12 [[5]]12 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0xA, + value=Op.CALL( + gas=0xC350, + address=0x86C575F296A8A021A2A64972E57A20B06FE8B897, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xB, + value=Op.CALL( + gas=0xC350, + address=0x3D2496D905CF0E9C77473CBFB6E100062B5AF57F, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xC, + value=Op.CALL( + gas=0xC350, + address=0x83BAC26DD305C061381C042D0BAC07B08D15BBCE, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x5, value=0xC) + + Op.STOP, nonce=0, - address=Address("0x68cf97c6ca41ecfc5623d8a7e9b6f72068213e95"), # noqa: E501 + address=Address(0xD7E294F032A5CC430E9E6C4148220867E9704DCD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0xC) - + Op.REVERT(offset=0x0, size=0x1) - + Op.STOP - ), + # Source: lll + # { [[10]](CALLCODE 50000 0 0 0 0 0) [[11]](CALLCODE 50000 0 0 0 0 0) [[12]](CALLCODE 50000 0 0 0 0 0) [[4]]12 [[5]]12 } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0xA, + value=Op.CALLCODE( + gas=0xC350, + address=0x86C575F296A8A021A2A64972E57A20B06FE8B897, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xB, + value=Op.CALLCODE( + gas=0xC350, + address=0x3D2496D905CF0E9C77473CBFB6E100062B5AF57F, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xC, + value=Op.CALLCODE( + gas=0xC350, + address=0x83BAC26DD305C061381C042D0BAC07B08D15BBCE, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x5, value=0xC) + + Op.STOP, nonce=0, - address=Address("0x83bac26dd305c061381c042d0bac07b08d15bbce"), # noqa: E501 + address=Address(0xEE88DFD8455D7D9D6D33231F3DAF6D9A4526D5CF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0xC) - + Op.REVERT(offset=0x0, size=0x1) - + Op.STOP - ), + # Source: lll + # { [[10]](DELEGATECALL 50000 0 0 0 0) [[11]](DELEGATECALL 50000 0 0 0 0) [[12]](DELEGATECALL 50000 0 0 0 0) [[4]]12 [[5]]12 } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0xA, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x86C575F296A8A021A2A64972E57A20B06FE8B897, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xB, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x3D2496D905CF0E9C77473CBFB6E100062B5AF57F, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xC, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x83BAC26DD305C061381C042D0BAC07B08D15BBCE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x5, value=0xC) + + Op.STOP, nonce=0, - address=Address("0x86c575f296a8a021a2a64972e57a20b06fe8b897"), # noqa: E501 + address=Address(0x68CF97C6CA41ECFC5623D8A7E9B6F72068213E95), # noqa: E501 ) - # Source: LLL - # { (CALL 260000 (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x3F7A0, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, + # Source: lll + # { [[10]](CALL 50000 0 0 0 0 0) [[11]](DELEGATECALL 50000 0 0 0 0) [[12]](CALLCODE 50000 0 0 0 0 0) [[4]]12 [[5]]12 } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0xA, + value=Op.CALL( + gas=0xC350, + address=0x86C575F296A8A021A2A64972E57A20B06FE8B897, + value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE( + key=0xB, + value=Op.DELEGATECALL( + gas=0xC350, + address=0x3D2496D905CF0E9C77473CBFB6E100062B5AF57F, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xC, + value=Op.CALLCODE( + gas=0xC350, + address=0x83BAC26DD305C061381C042D0BAC07B08D15BBCE, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x5, value=0xC) + + Op.STOP, + nonce=0, + address=Address(0x1302FD3B212E7E634F82ED6D00AC14544E8B1CAB), # noqa: E501 + ) + # Source: lll + # { [[1]] 12 (REVERT 0 1) } + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0xC) + + Op.REVERT(offset=0x0, size=0x1) + + Op.STOP, nonce=0, - address=Address("0x89ab420962193a25593b5663462b75c083d56148"), # noqa: E501 + address=Address(0x86C575F296A8A021A2A64972E57A20B06FE8B897), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0xA, - value=Op.CALL( - gas=0xC350, - address=0x86C575F296A8A021A2A64972E57A20B06FE8B897, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + # Source: lll + # { [[2]] 12 (REVERT 0 1) } + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0xC) + + Op.REVERT(offset=0x0, size=0x1) + + Op.STOP, + nonce=0, + address=Address(0x3D2496D905CF0E9C77473CBFB6E100062B5AF57F), # noqa: E501 + ) + # Source: lll + # { [[3]] 12 (REVERT 0 1) } + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0xC) + + Op.REVERT(offset=0x0, size=0x1) + + Op.STOP, + nonce=0, + address=Address(0x83BAC26DD305C061381C042D0BAC07B08D15BBCE), # noqa: E501 + ) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr: Account( + storage={4: 12, 5: 12, 10: 0, 11: 0, 12: 0}, + nonce=0, + ), + addr_5: Account(storage={1: 0, 2: 0, 3: 0}), + addr_6: Account(storage={1: 0, 2: 0, 3: 0}), + addr_7: Account(storage={1: 0, 2: 0, 3: 0}), + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr_2: Account( + storage={4: 12, 5: 12, 10: 0, 11: 0, 12: 0}, + nonce=0, ), - ) - + Op.SSTORE( - key=0xB, - value=Op.CALL( - gas=0xC350, - address=0x3D2496D905CF0E9C77473CBFB6E100062B5AF57F, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + addr_5: Account(storage={1: 0, 2: 0, 3: 0}), + addr_6: Account(storage={1: 0, 2: 0, 3: 0}), + addr_7: Account(storage={1: 0, 2: 0, 3: 0}), + }, + }, + { + "indexes": {"data": 2, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr_3: Account( + storage={4: 12, 5: 12, 10: 0, 11: 0, 12: 0}, + nonce=0, ), - ) - + Op.SSTORE( - key=0xC, - value=Op.CALL( - gas=0xC350, - address=0x83BAC26DD305C061381C042D0BAC07B08D15BBCE, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + addr_5: Account(storage={1: 0, 2: 0, 3: 0}), + addr_6: Account(storage={1: 0, 2: 0, 3: 0}), + addr_7: Account(storage={1: 0, 2: 0, 3: 0}), + }, + }, + { + "indexes": {"data": 3, "gas": [0, 2], "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr_4: Account( + storage={4: 12, 5: 12, 10: 0, 11: 0, 12: 0}, + nonce=0, ), - ) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x5, value=0xC) - + Op.STOP - ), - nonce=0, - address=Address("0xd7e294f032a5cc430e9e6c4148220867e9704dcd"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0xA, - value=Op.CALLCODE( - gas=0xC350, - address=0x86C575F296A8A021A2A64972E57A20B06FE8B897, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + addr_5: Account(storage={1: 0, 2: 0, 3: 0}), + addr_6: Account(storage={1: 0, 2: 0, 3: 0}), + addr_7: Account(storage={1: 0, 2: 0, 3: 0}), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 2, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr_4: Account( + storage={4: 0, 5: 0, 10: 0, 11: 0, 12: 0}, nonce=0 ), - ) - + Op.SSTORE( - key=0xB, - value=Op.CALLCODE( - gas=0xC350, - address=0x3D2496D905CF0E9C77473CBFB6E100062B5AF57F, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + addr_5: Account(storage={1: 0, 2: 0, 3: 0}), + addr_6: Account(storage={1: 0, 2: 0, 3: 0}), + addr_7: Account(storage={1: 0, 2: 0, 3: 0}), + }, + }, + { + "indexes": {"data": 0, "gas": [2], "value": [0, 1]}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr: Account( + storage={4: 12, 5: 12, 10: 0, 11: 0, 12: 0}, + nonce=0, ), - ) - + Op.SSTORE( - key=0xC, - value=Op.CALLCODE( - gas=0xC350, - address=0x83BAC26DD305C061381C042D0BAC07B08D15BBCE, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + addr_2: Account(storage={}, nonce=0), + addr_3: Account(storage={}, nonce=0), + addr_4: Account(storage={}, nonce=0), + addr_5: Account(storage={1: 0, 2: 0, 3: 0}), + addr_6: Account(storage={1: 0, 2: 0, 3: 0}), + addr_7: Account(storage={1: 0, 2: 0, 3: 0}), + }, + }, + { + "indexes": {"data": -1, "gas": [1, 3], "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr: Account( + storage={4: 0, 5: 0, 10: 0, 11: 0, 12: 0}, nonce=0 ), - ) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x5, value=0xC) - + Op.STOP - ), - nonce=0, - address=Address("0xee88dfd8455d7d9d6d33231f3daf6d9a4526d5cf"), # noqa: E501 - ) - pre[sender] = Account(balance=0xE8D4A51000) + addr_2: Account(storage={}, nonce=0), + addr_3: Account(storage={}, nonce=0), + addr_4: Account(storage={}, nonce=0), + addr_5: Account(storage={1: 0, 2: 0, 3: 0}), + addr_6: Account(storage={1: 0, 2: 0, 3: 0}), + addr_7: Account(storage={1: 0, 2: 0, 3: 0}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [800000, 126200, 160000, 50000] + tx_value = [0, 10] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_opcode_return.py b/tests/ported_static/stRevertTest/test_revert_opcode_return.py index 21eb486a29c..4cd809a728e 100644 --- a/tests/ported_static/stRevertTest/test_revert_opcode_return.py +++ b/tests/ported_static/stRevertTest/test_revert_opcode_return.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_opcode_return. Ported from: -tests/static/state_tests/stRevertTest/RevertOpcodeReturnFiller.json +state_tests/stRevertTest/RevertOpcodeReturnFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,106 +27,97 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertOpcodeReturnFiller.json"], + ["state_tests/stRevertTest/RevertOpcodeReturnFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "0000000000000000000000001963fd2c717f5b4b9fa3d6baf38d66241e1ec005", - 800000, - { - Address("0x1fc98371f1a058f1a6042e30a141aa8bb67dd1bc"): Account( - storage={2: 0x726576657274206D657373616765} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "0000000000000000000000001963fd2c717f5b4b9fa3d6baf38d66241e1ec005", - 80000, - { - Address("0x1fc98371f1a058f1a6042e30a141aa8bb67dd1bc"): Account( - storage={2: 0x726576657274206D657373616765} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "000000000000000000000000745e52346d8549444323699e9fc383ae89bdd24f", - 800000, - {}, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "000000000000000000000000745e52346d8549444323699e9fc383ae89bdd24f", - 80000, - {}, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "00000000000000000000000050eaca0a040ac6242d0c01cc1ff82f5b95cc10e4", - 800000, - {}, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "00000000000000000000000050eaca0a040ac6242d0c01cc1ff82f5b95cc10e4", - 80000, - {}, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "000000000000000000000000f933d2374d5875de033a8ed9d9c1ce5dea25c78b", - 800000, - {}, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "000000000000000000000000f933d2374d5875de033a8ed9d9c1ce5dea25c78b", - 80000, - {}, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "000000000000000000000000e5b2dfe7f932f2d5eaa7c8fb2e1e9a8b6a846fd7", - 800000, - {}, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "000000000000000000000000e5b2dfe7f932f2d5eaa7c8fb2e1e9a8b6a846fd7", - 80000, - {}, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "000000000000000000000000858f82bbfd84fc9eb91291458511df77311dbd0d", - 800000, - {}, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "000000000000000000000000858f82bbfd84fc9eb91291458511df77311dbd0d", - 80000, - {}, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - ], ) @pytest.mark.pre_alloc_mutable def test_revert_opcode_return( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_opcode_return.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -135,99 +131,129 @@ def test_revert_opcode_return( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x72657665727465642064617461) - + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) - + Op.REVERT(offset=0x0, size=0x20) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[1]](CALL 150000 (CALLDATALOAD 0) 0 0 0 0 32) [[2]] (MLOAD 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x249F0, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.STOP, nonce=0, - address=Address("0x1963fd2c717f5b4b9fa3d6baf38d66241e1ec005"), # noqa: E501 + address=Address(0x1FC98371F1A058F1A6042E30A141AA8BB67DD1BC), # noqa: E501 ) - # Source: LLL - # { [[1]](CALL 150000 (CALLDATALOAD 0) 0 0 0 0 32) [[2]] (MLOAD 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x249F0, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: lll + # { (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0 32) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x72657665727465642064617461) + + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, nonce=0, - address=Address("0x1fc98371f1a058f1a6042e30a141aa8bb67dd1bc"), # noqa: E501 + address=Address(0x1963FD2C717F5B4B9FA3D6BAF38D66241E1EC005), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x72657665727465642064617461) - + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) - + Op.REVERT(offset=0x0, size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.STOP - ), + # Source: lll + # { (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x72657665727465642064617461) + + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) + + Op.REVERT(offset=0x0, size=0x0) + + Op.STOP, nonce=0, - address=Address("0x50eaca0a040ac6242d0c01cc1ff82f5b95cc10e4"), # noqa: E501 + address=Address(0x745E52346D8549444323699E9FC383AE89BDD24F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x72657665727465642064617461) - + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) - + Op.REVERT(offset=0x0, size=0x0) - + Op.STOP - ), + # Source: lll + # { (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0 0xfffffffffffffffffffffffffffff) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x72657665727465642064617461) + + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) + + Op.REVERT(offset=0x0, size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.STOP, nonce=0, - address=Address("0x745e52346d8549444323699e9fc383ae89bdd24f"), # noqa: E501 + address=Address(0x50EACA0A040AC6242D0C01CC1FF82F5B95CC10E4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x72657665727465642064617461) - + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) - + Op.REVERT(offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, size=0x0) - + Op.STOP - ), + # Source: lll + # { (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0x0100 0x00) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x72657665727465642064617461) + + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) + + Op.REVERT(offset=0x100, size=0x0) + + Op.STOP, nonce=0, - address=Address("0x858f82bbfd84fc9eb91291458511df77311dbd0d"), # noqa: E501 + address=Address(0xF933D2374D5875DE033A8ED9D9C1CE5DEA25C78B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x72657665727465642064617461) - + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) - + Op.REVERT(offset=0x1, size=0x0) - + Op.STOP - ), + # Source: lll + # { (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0x01 0x00) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x72657665727465642064617461) + + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) + + Op.REVERT(offset=0x1, size=0x0) + + Op.STOP, nonce=0, - address=Address("0xe5b2dfe7f932f2d5eaa7c8fb2e1e9a8b6a846fd7"), # noqa: E501 + address=Address(0xE5B2DFE7F932F2D5EAA7C8FB2E1E9A8B6A846FD7), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x72657665727465642064617461) - + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) - + Op.REVERT(offset=0x100, size=0x0) - + Op.STOP - ), + # Source: lll + # { (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0xfffffffffffffffffffffffffffff 0x00) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x72657665727465642064617461) + + Op.MSTORE(offset=0x0, value=0x726576657274206D657373616765) + + Op.REVERT(offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, size=0x0) + + Op.STOP, nonce=0, - address=Address("0xf933d2374d5875de033a8ed9d9c1ce5dea25c78b"), # noqa: E501 + address=Address(0x858F82BBFD84FC9EB91291458511DF77311DBD0D), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account( + storage={1: 0, 2: 0x726576657274206D657373616765} + ), + addr: Account(storage={}), + }, + }, + { + "indexes": {"data": [1, 2, 3, 4, 5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={1: 0, 2: 0}), + addr: Account(storage={}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + Hash(addr_5, left_padding=True), + Hash(addr_6, left_padding=True), + ] + tx_gas = [800000, 80000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_opcode_with_big_output_in_init.py b/tests/ported_static/stRevertTest/test_revert_opcode_with_big_output_in_init.py index bb1263bb06f..96e57fe4b56 100644 --- a/tests/ported_static/stRevertTest/test_revert_opcode_with_big_output_in_init.py +++ b/tests/ported_static/stRevertTest/test_revert_opcode_with_big_output_in_init.py @@ -2,8 +2,7 @@ A REVERT with a big output should not be confused with a big code... Ported from: -tests/static/state_tests/stRevertTest -RevertOpcodeWithBigOutputInInitFiller.json +state_tests/stRevertTest/RevertOpcodeWithBigOutputInInitFiller.json """ import pytest @@ -15,34 +14,47 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertOpcodeWithBigOutputInInitFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertOpcodeWithBigOutputInInitFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value", + "d, g, v", [ - 0, - 10, + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-v1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_revert_opcode_with_big_output_in_init( state_test: StateTestFiller, pre: Alloc, - tx_value: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """A REVERT with a big output should not be confused with a big code...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -58,14 +70,25 @@ def test_revert_opcode_with_big_output_in_init( pre[sender] = Account(balance=0xE8D4A51000) + tx_data = [ + Op.SSTORE(key=0x0, value=0x1) + + Op.REVERT(offset=0x0, size=0x1) + + Op.SSTORE(key=0x1, value=0x11), + ] + tx_gas = [1600000] + tx_value = [0, 10] + tx = Transaction( sender=sender, to=None, - data=bytes.fromhex("600160005560016000fd6011600155"), - gas_limit=1600000, - value=tx_value, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_precompiled_touch_exact_oog_paris.py b/tests/ported_static/stRevertTest/test_revert_precompiled_touch_exact_oog_paris.py index 8654c9b6c48..9860ca0eaca 100644 --- a/tests/ported_static/stRevertTest/test_revert_precompiled_touch_exact_oog_paris.py +++ b/tests/ported_static/stRevertTest/test_revert_precompiled_touch_exact_oog_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_revert_precompiled_touch_exact_oog_paris. Ported from: -tests/static/state_tests/stRevertTest -RevertPrecompiledTouchExactOOG_ParisFiller.json +state_tests/stRevertTest/RevertPrecompiledTouchExactOOG_ParisFiller.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,614 +28,613 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stRevertTest/RevertPrecompiledTouchExactOOG_ParisFiller.json", # noqa: E501 + "state_tests/stRevertTest/RevertPrecompiledTouchExactOOG_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 69000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 22500, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 120000, - {}, - ), - ( - "00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 69000, - {}, + pytest.param( + 0, + 0, + 0, + id="d0-g0", + ), + pytest.param( + 0, + 1, + 0, + id="d0-g1", + ), + pytest.param( + 0, + 2, + 0, + id="d0-g2", + ), + pytest.param( + 1, + 0, + 0, + id="d1-g0", + ), + pytest.param( + 1, + 1, + 0, + id="d1-g1", + ), + pytest.param( + 1, + 2, + 0, + id="d1-g2", + ), + pytest.param( + 2, + 0, + 0, + id="d2-g0", + ), + pytest.param( + 2, + 1, + 0, + id="d2-g1", + ), + pytest.param( + 2, + 2, + 0, + id="d2-g2", + ), + pytest.param( + 3, + 0, + 0, + id="d3-g0", + ), + pytest.param( + 3, + 1, + 0, + id="d3-g1", + ), + pytest.param( + 3, + 2, + 0, + id="d3-g2", + ), + pytest.param( + 4, + 0, + 0, + id="d4-g0", + ), + pytest.param( + 4, + 1, + 0, + id="d4-g1", + ), + pytest.param( + 4, + 2, + 0, + id="d4-g2", + ), + pytest.param( + 5, + 0, + 0, + id="d5-g0", + ), + pytest.param( + 5, + 1, + 0, + id="d5-g1", + ), + pytest.param( + 5, + 2, + 0, + id="d5-g2", + ), + pytest.param( + 6, + 0, + 0, + id="d6-g0", + ), + pytest.param( + 6, + 1, + 0, + id="d6-g1", + ), + pytest.param( + 6, + 2, + 0, + id="d6-g2", + ), + pytest.param( + 7, + 0, + 0, + id="d7-g0", + ), + pytest.param( + 7, + 1, + 0, + id="d7-g1", + ), + pytest.param( + 7, + 2, + 0, + id="d7-g2", + ), + pytest.param( + 8, + 0, + 0, + id="d8-g0", + ), + pytest.param( + 8, + 1, + 0, + id="d8-g1", + ), + pytest.param( + 8, + 2, + 0, + id="d8-g2", + ), + pytest.param( + 9, + 0, + 0, + id="d9-g0", + ), + pytest.param( + 9, + 1, + 0, + id="d9-g1", + ), + pytest.param( + 9, + 2, + 0, + id="d9-g2", + ), + pytest.param( + 10, + 0, + 0, + id="d10-g0", + ), + pytest.param( + 10, + 1, + 0, + id="d10-g1", + ), + pytest.param( + 10, + 2, + 0, + id="d10-g2", + ), + pytest.param( + 11, + 0, + 0, + id="d11-g0", + ), + pytest.param( + 11, + 1, + 0, + id="d11-g1", + ), + pytest.param( + 11, + 2, + 0, + id="d11-g2", + ), + pytest.param( + 12, + 0, + 0, + id="d12-g0", + ), + pytest.param( + 12, + 1, + 0, + id="d12-g1", + ), + pytest.param( + 12, + 2, + 0, + id="d12-g2", + ), + pytest.param( + 13, + 0, + 0, + id="d13-g0", + ), + pytest.param( + 13, + 1, + 0, + id="d13-g1", + ), + pytest.param( + 13, + 2, + 0, + id="d13-g2", + ), + pytest.param( + 14, + 0, + 0, + id="d14-g0", + ), + pytest.param( + 14, + 1, + 0, + id="d14-g1", + ), + pytest.param( + 14, + 2, + 0, + id="d14-g2", + ), + pytest.param( + 15, + 0, + 0, + id="d15-g0", + ), + pytest.param( + 15, + 1, + 0, + id="d15-g1", + ), + pytest.param( + 15, + 2, + 0, + id="d15-g2", + ), + pytest.param( + 16, + 0, + 0, + id="d16-g0", + ), + pytest.param( + 16, + 1, + 0, + id="d16-g1", + ), + pytest.param( + 16, + 2, + 0, + id="d16-g2", + ), + pytest.param( + 17, + 0, + 0, + id="d17-g0", + ), + pytest.param( + 17, + 1, + 0, + id="d17-g1", + ), + pytest.param( + 17, + 2, + 0, + id="d17-g2", + ), + pytest.param( + 18, + 0, + 0, + id="d18-g0", + ), + pytest.param( + 18, + 1, + 0, + id="d18-g1", + ), + pytest.param( + 18, + 2, + 0, + id="d18-g2", + ), + pytest.param( + 19, + 0, + 0, + id="d19-g0", + ), + pytest.param( + 19, + 1, + 0, + id="d19-g1", + ), + pytest.param( + 19, + 2, + 0, + id="d19-g2", + ), + pytest.param( + 20, + 0, + 0, + id="d20-g0", + ), + pytest.param( + 20, + 1, + 0, + id="d20-g1", + ), + pytest.param( + 20, + 2, + 0, + id="d20-g2", + ), + pytest.param( + 21, + 0, + 0, + id="d21-g0", + ), + pytest.param( + 21, + 1, + 0, + id="d21-g1", + ), + pytest.param( + 21, + 2, + 0, + id="d21-g2", + ), + pytest.param( + 22, + 0, + 0, + id="d22-g0", + ), + pytest.param( + 22, + 1, + 0, + id="d22-g1", + ), + pytest.param( + 22, + 2, + 0, + id="d22-g2", + ), + pytest.param( + 23, + 0, + 0, + id="d23-g0", + ), + pytest.param( + 23, + 1, + 0, + id="d23-g1", + ), + pytest.param( + 23, + 2, + 0, + id="d23-g2", + ), + pytest.param( + 24, + 0, + 0, + id="d24-g0", + ), + pytest.param( + 24, + 1, + 0, + id="d24-g1", + ), + pytest.param( + 24, + 2, + 0, + id="d24-g2", + ), + pytest.param( + 25, + 0, + 0, + id="d25-g0", + ), + pytest.param( + 25, + 1, + 0, + id="d25-g1", + ), + pytest.param( + 25, + 2, + 0, + id="d25-g2", + ), + pytest.param( + 26, + 0, + 0, + id="d26-g0", + ), + pytest.param( + 26, + 1, + 0, + id="d26-g1", + ), + pytest.param( + 26, + 2, + 0, + id="d26-g2", + ), + pytest.param( + 27, + 0, + 0, + id="d27-g0", + ), + pytest.param( + 27, + 1, + 0, + id="d27-g1", + ), + pytest.param( + 27, + 2, + 0, + id="d27-g2", + ), + pytest.param( + 28, + 0, + 0, + id="d28-g0", + ), + pytest.param( + 28, + 1, + 0, + id="d28-g1", + ), + pytest.param( + 28, + 2, + 0, + id="d28-g2", + ), + pytest.param( + 29, + 0, + 0, + id="d29-g0", + ), + pytest.param( + 29, + 1, + 0, + id="d29-g1", + ), + pytest.param( + 29, + 2, + 0, + id="d29-g2", + ), + pytest.param( + 30, + 0, + 0, + id="d30-g0", + ), + pytest.param( + 30, + 1, + 0, + id="d30-g1", + ), + pytest.param( + 30, + 2, + 0, + id="d30-g2", + ), + pytest.param( + 31, + 0, + 0, + id="d31-g0", + ), + pytest.param( + 31, + 1, + 0, + id="d31-g1", + ), + pytest.param( + 31, + 2, + 0, + id="d31-g2", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - ], ) @pytest.mark.pre_alloc_mutable def test_revert_precompiled_touch_exact_oog_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") + """Test_revert_precompiled_touch_exact_oog_paris.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) + addr_5 = Address(0x6EB9AFCB5D985B12549B7AC2E65C093F7113A0C7) + addr_6 = Address(0xF07A794E0F8AAB4242B86368503D3C1DE15481F8) + addr_7 = Address(0x9E6C35DECED6E05EB21D3465B5BBBB57B9CD57D6) + addr_8 = Address(0x1688023D9AE9E25EA02A2447A77B9CC9D22CE57B) + addr_9 = Address(0xD085AB47BC36D1238FC092679B21B10792746640) + addr_10 = Address(0xAD3DF2901B7C6642E397C35E0E9F3DEA5D098238) + addr_11 = Address(0xBE44B82021B08CFECC33A2E57FF5ADCB7FE3B049) + addr_12 = Address(0x85FDDE91FD0CE22A2968E1F1B2EBB9F9E5A180BA) sender = EOA( - key=0x0FF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B + key=0xFF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B ) - callee = Address("0x1688023d9ae9e25ea02a2447a77b9cc9d22ce57b") - callee_2 = Address("0x6eb9afcb5d985b12549b7ac2e65c093f7113a0c7") - callee_4 = Address("0x85fdde91fd0ce22a2968e1f1b2ebb9f9e5a180ba") - callee_5 = Address("0x9e6c35deced6e05eb21d3465b5bbbb57b9cd57d6") - callee_7 = Address("0xad3df2901b7c6642e397c35e0e9f3dea5d098238") - callee_8 = Address("0xbe44b82021b08cfecc33a2e57ff5adcb7fe3b049") - callee_10 = Address("0xd085ab47bc36d1238fc092679b21b10792746640") - callee_11 = Address("0xf07a794e0f8aab4242b86368503d3c1de15481f8") env = Environment( fee_recipient=coinbase, @@ -642,106 +645,267 @@ def test_revert_precompiled_touch_exact_oog_paris( gas_limit=4012015, ) - pre[callee] = Account(balance=1, nonce=0) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=Op.GAS, - address=Op.CALLDATASIZE, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 (CALLDATALOAD 32) 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=Op.CALLDATALOAD(offset=0x20), + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x33506407e929a3834ea7bfa65f86b41c7b7e57b9"), # noqa: E501 + address=Address(0x6C7FAC59C79986689878E37545DF629F68278098), # noqa: E501 ) - # Source: LLL - # { (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 (CALLDATALOAD 32) 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALLCODE( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=Op.CALLDATALOAD(offset=0x20), - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (CALL (GAS) (CALLDATASIZE) 0 0 0 0 0) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATASIZE, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x6c7fac59c79986689878e37545df629f68278098"), # noqa: E501 + address=Address(0xA2F144D2206204D88E039B31BB7DB14A28A06FED), # noqa: E501 ) - pre[callee_2] = Account(balance=1, nonce=0) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=Op.GAS, - address=Op.CALLDATASIZE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL (GAS) (CALLDATASIZE) 0 0 0 0) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.CALLDATASIZE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x81f666fdc784482530048e74cee651ea98a0733d"), # noqa: E501 + address=Address(0x81F666FDC784482530048E74CEE651EA98A0733D), # noqa: E501 ) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre.deploy_contract( - code=( - Op.CALL( - gas=Op.GAS, - address=Op.CALLDATASIZE, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE (GAS) (CALLDATASIZE) 0 0 0 0 0) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.GAS, + address=Op.CALLDATASIZE, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xa2f144d2206204d88e039b31bb7db14a28a06fed"), # noqa: E501 + address=Address(0x33506407E929A3834EA7BFA65F86B41C7B7E57B9), # noqa: E501 ) - pre[callee_7] = Account(balance=1, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - pre[callee_8] = Account(balance=1, nonce=0) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=Op.GAS, - address=Op.CALLDATASIZE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL (GAS) (CALLDATASIZE) 0 0 0 0) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=Op.GAS, + address=Op.CALLDATASIZE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xc02fff115e5eee4ff4420eba1cb7cb8772e0598e"), # noqa: E501 + address=Address(0xC02FFF115E5EEE4FF4420EBA1CB7CB8772E0598E), # noqa: E501 ) - pre[callee_10] = Account(balance=1, nonce=0) - pre[callee_11] = Account(balance=1, nonce=0) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + pre[addr_5] = Account(balance=1) + pre[addr_6] = Account(balance=1) + pre[addr_7] = Account(balance=1) + pre[addr_8] = Account(balance=1) + pre[addr_9] = Account(balance=1) + pre[addr_10] = Account(balance=1) + pre[addr_11] = Account(balance=1) + pre[addr_12] = Account(balance=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 8, 16, 24], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {addr_5: Account(nonce=0)}, + }, + { + "indexes": {"data": [1, 25, 9, 17], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {addr_6: Account(nonce=0)}, + }, + { + "indexes": {"data": [18, 26, 2, 10], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {addr_7: Account(nonce=0)}, + }, + { + "indexes": {"data": [11, 19, 3, 27], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {addr_8: Account(nonce=0)}, + }, + { + "indexes": {"data": [20, 28, 4, 12], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {addr_9: Account(nonce=0)}, + }, + { + "indexes": {"data": [29, 13, 21, 5], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {addr_10: Account(nonce=0)}, + }, + { + "indexes": {"data": [22, 30, 6, 14], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {addr_11: Account(nonce=0)}, + }, + { + "indexes": {"data": [31, 15, 23, 7], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {addr_12: Account(nonce=0)}, + }, + { + "indexes": {"data": [8, 16], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_5: Account(nonce=0)}, + }, + { + "indexes": {"data": [0, 24], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_5: Account(nonce=0)}, + }, + { + "indexes": {"data": [9, 17], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_6: Account(nonce=0)}, + }, + { + "indexes": {"data": [1, 25], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_6: Account(nonce=0)}, + }, + { + "indexes": {"data": [10, 18], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_7: Account(nonce=0)}, + }, + { + "indexes": {"data": [2, 26], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_7: Account(nonce=0)}, + }, + { + "indexes": {"data": [19, 11], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_8: Account(nonce=0)}, + }, + { + "indexes": {"data": [27, 3], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_8: Account(nonce=0)}, + }, + { + "indexes": {"data": [12, 20], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_9: Account(nonce=0)}, + }, + { + "indexes": {"data": [4, 28], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_9: Account(nonce=0)}, + }, + { + "indexes": {"data": [21, 13], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_10: Account(nonce=0)}, + }, + { + "indexes": {"data": [29, 5], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_10: Account(nonce=0)}, + }, + { + "indexes": {"data": [14, 22], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_11: Account(nonce=0)}, + }, + { + "indexes": {"data": [6, 30], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_11: Account(nonce=0)}, + }, + { + "indexes": {"data": [23, 15], "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {addr_12: Account(nonce=0)}, + }, + { + "indexes": {"data": [31, 7], "gas": 2, "value": -1}, + "network": [">=Cancun"], + "result": {addr_12: Account(nonce=0)}, + }, + { + "indexes": {"data": [31, 7], "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {addr_12: Account(nonce=0)}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x1000000000000000000000000000000000000000) + Hash(0x1), + Hash(0x1000000000000000000000000000000000000000) + Hash(0x2), + Hash(0x1000000000000000000000000000000000000000) + Hash(0x3), + Hash(0x1000000000000000000000000000000000000000) + Hash(0x4), + Hash(0x1000000000000000000000000000000000000000) + Hash(0x5), + Hash(0x1000000000000000000000000000000000000000) + Hash(0x6), + Hash(0x1000000000000000000000000000000000000000) + Hash(0x7), + Hash(0x1000000000000000000000000000000000000000) + Hash(0x8), + Hash(0x2000000000000000000000000000000000000000) + Hash(0x1), + Hash(0x2000000000000000000000000000000000000000) + Hash(0x2), + Hash(0x2000000000000000000000000000000000000000) + Hash(0x3), + Hash(0x2000000000000000000000000000000000000000) + Hash(0x4), + Hash(0x2000000000000000000000000000000000000000) + Hash(0x5), + Hash(0x2000000000000000000000000000000000000000) + Hash(0x6), + Hash(0x2000000000000000000000000000000000000000) + Hash(0x7), + Hash(0x2000000000000000000000000000000000000000) + Hash(0x8), + Hash(0x3000000000000000000000000000000000000000) + Hash(0x1), + Hash(0x3000000000000000000000000000000000000000) + Hash(0x2), + Hash(0x3000000000000000000000000000000000000000) + Hash(0x3), + Hash(0x3000000000000000000000000000000000000000) + Hash(0x4), + Hash(0x3000000000000000000000000000000000000000) + Hash(0x5), + Hash(0x3000000000000000000000000000000000000000) + Hash(0x6), + Hash(0x3000000000000000000000000000000000000000) + Hash(0x7), + Hash(0x3000000000000000000000000000000000000000) + Hash(0x8), + Hash(0x4000000000000000000000000000000000000000) + Hash(0x1), + Hash(0x4000000000000000000000000000000000000000) + Hash(0x2), + Hash(0x4000000000000000000000000000000000000000) + Hash(0x3), + Hash(0x4000000000000000000000000000000000000000) + Hash(0x4), + Hash(0x4000000000000000000000000000000000000000) + Hash(0x5), + Hash(0x4000000000000000000000000000000000000000) + Hash(0x6), + Hash(0x4000000000000000000000000000000000000000) + Hash(0x7), + Hash(0x4000000000000000000000000000000000000000) + Hash(0x8), + ] + tx_gas = [22500, 120000, 69000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_precompiled_touch_nonce.py b/tests/ported_static/stRevertTest/test_revert_precompiled_touch_nonce.py index b8b06027f7a..0e607516f42 100644 --- a/tests/ported_static/stRevertTest/test_revert_precompiled_touch_nonce.py +++ b/tests/ported_static/stRevertTest/test_revert_precompiled_touch_nonce.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_precompiled_touch_nonce. Ported from: -tests/static/state_tests/stRevertTest/RevertPrecompiledTouch_nonceFiller.json +state_tests/stRevertTest/RevertPrecompiledTouch_nonceFiller.json """ import pytest @@ -12,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,40 +24,60 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertPrecompiledTouch_nonceFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertPrecompiledTouch_nonceFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "00000000000000000000000087aaeb9e422487283b0b008ef445e32acb9dd1ae", - "00000000000000000000000031f52a66cf9d94c60f089a2ca9c4e784261c57fa", - "000000000000000000000000de1200b7ecaea2d15b57d0f331ad5ade8e924255", - "00000000000000000000000010ef6d6218ada53728683cec4d5160c8c72159bd", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_revert_precompiled_touch_nonce( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") + """Test_revert_precompiled_touch_nonce.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) + addr_5 = Address(0xB478E245708BE95C33C6C35DEA161C0429D02DD2) + addr_6 = Address(0x6A22458E937F487E2DAFFA193B9C5FB610DC4789) + addr_7 = Address(0x8D1D883976DF004B96C383782A828DC5BC82EF9D) + addr_8 = Address(0x05A4FAF1EDE8E96AAE92AE51915074E42787F868) + addr_9 = Address(0xF8F0AEC70F4BBDADCE829783A0AFFF43F384C640) + addr_10 = Address(0x4BA6259BB96E9D7822A5FB3A1F8037BC68A08D43) + addr_11 = Address(0xBEB47E021A70649B079C4BDF150108C0D8C6ACCB) + addr_12 = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( - key=0x0FF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B + key=0xFF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B ) - callee = Address("0x05a4faf1ede8e96aae92ae51915074e42787f868") - callee_3 = Address("0x4ba6259bb96e9d7822a5fb3a1f8037bc68a08d43") - callee_4 = Address("0x6a22458e937f487e2daffa193b9c5fb610dc4789") - callee_6 = Address("0x8d1d883976df004b96c383782a828dc5bc82ef9d") - callee_7 = Address("0xb478e245708be95c33c6c35dea161c0429d02dd2") - callee_8 = Address("0xbeb47e021a70649b079c4bdf150108c0d8c6accb") - callee_10 = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") - callee_11 = Address("0xf8f0aec70f4bbdadce829783a0afff43f384c640") env = Environment( fee_recipient=coinbase, @@ -66,420 +88,433 @@ def test_revert_precompiled_touch_nonce( gas_limit=4012015, ) - pre[callee] = Account(balance=0, nonce=1) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x8, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), - nonce=0, - address=Address("0x10ef6d6218ada53728683cec4d5160c8c72159bd"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x8, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x31f52a66cf9d94c60f089a2ca9c4e784261c57fa"), # noqa: E501 + address=Address(0xE7C596DE24CCC387DAA5C017066AEB25EA8D2F3F), # noqa: E501 ) - pre[callee_3] = Account(balance=0, nonce=1) - pre[callee_4] = Account(balance=0, nonce=1) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0xC350, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (CALL 50000 1 0 0 0 0 0) (CALL 50000 2 0 0 0 0 0) (CALL 50000 3 0 0 0 0 0) (CALL 50000 4 0 0 0 0 0) (CALL 50000 5 0 0 0 0 0) (CALL 50000 6 0 0 0 0 0) (CALL 50000 7 0 0 0 0 0) (CALL 50000 8 0 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0xC350, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x8, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x87aaeb9e422487283b0b008ef445e32acb9dd1ae"), # noqa: E501 + address=Address(0x87AAEB9E422487283B0B008EF445E32ACB9DD1AE), # noqa: E501 ) - pre[callee_6] = Account(balance=0, nonce=1) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - pre[callee_7] = Account(balance=0, nonce=1) - pre[callee_8] = Account(balance=0, nonce=1) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 50000 1 0 0 0 0) (DELEGATECALL 50000 2 0 0 0 0) (DELEGATECALL 50000 3 0 0 0 0) (DELEGATECALL 50000 4 0 0 0 0) (DELEGATECALL 50000 5 0 0 0 0) (DELEGATECALL 50000 6 0 0 0 0) (DELEGATECALL 50000 7 0 0 0 0) (DELEGATECALL 50000 8 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x8, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xde1200b7ecaea2d15b57d0f331ad5ade8e924255"), # noqa: E501 + address=Address(0x31F52A66CF9D94C60F089A2CA9C4E784261C57FA), # noqa: E501 ) - # Source: LLL - # { (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( + # Source: lll + # { (CALLCODE 50000 1 0 0 0 0 0) (CALLCODE 50000 2 0 0 0 0 0) (CALLCODE 50000 3 0 0 0 0 0) (CALLCODE 50000 4 0 0 0 0 0) (CALLCODE 50000 5 0 0 0 0 0) (CALLCODE 50000 6 0 0 0 0 0) (CALLCODE 50000 7 0 0 0 0 0) (CALLCODE 50000 8 0 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( Op.CALLCODE( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), + gas=0xC350, + address=0x1, value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x8, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xe7c596de24ccc387daa5c017066aeb25ea8d2f3f"), # noqa: E501 + address=Address(0xDE1200B7ECAEA2D15B57D0F331AD5ADE8E924255), # noqa: E501 ) - pre[callee_10] = Account(balance=0, nonce=1) - pre[callee_11] = Account(balance=0, nonce=1) + # Source: lll + # { (STATICCALL 50000 1 0 0 0 0) (STATICCALL 50000 2 0 0 0 0) (STATICCALL 50000 3 0 0 0 0) (STATICCALL 50000 4 0 0 0 0) (STATICCALL 50000 5 0 0 0 0) (STATICCALL 50000 6 0 0 0 0) (STATICCALL 50000 7 0 0 0 0) (STATICCALL 50000 8 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x8, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, + nonce=0, + address=Address(0x10EF6D6218ADA53728683CEC4D5160C8C72159BD), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + pre[addr_5] = Account(balance=0, nonce=1) + pre[addr_6] = Account(balance=0, nonce=1) + pre[addr_7] = Account(balance=0, nonce=1) + pre[addr_8] = Account(balance=0, nonce=1) + pre[addr_9] = Account(balance=0, nonce=1) + pre[addr_10] = Account(balance=0, nonce=1) + pre[addr_11] = Account(balance=0, nonce=1) + pre[addr_12] = Account(balance=0, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, ) - post: dict = {} + post = { + addr_5: Account(balance=0, nonce=1), + addr_6: Account(balance=0, nonce=1), + addr_7: Account(balance=0, nonce=1), + addr_8: Account(balance=0, nonce=1), + addr_9: Account(balance=0, nonce=1), + addr_10: Account(balance=0, nonce=1), + addr_11: Account(balance=0, nonce=1), + addr_12: Account(balance=0, nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_precompiled_touch_noncestorage.py b/tests/ported_static/stRevertTest/test_revert_precompiled_touch_noncestorage.py index cd50daa0a2a..0c42b17c3e1 100644 --- a/tests/ported_static/stRevertTest/test_revert_precompiled_touch_noncestorage.py +++ b/tests/ported_static/stRevertTest/test_revert_precompiled_touch_noncestorage.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_revert_precompiled_touch_noncestorage. Ported from: -tests/static/state_tests/stRevertTest -RevertPrecompiledTouch_noncestorageFiller.json +state_tests/stRevertTest/RevertPrecompiledTouch_noncestorageFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,39 +25,61 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stRevertTest/RevertPrecompiledTouch_noncestorageFiller.json", # noqa: E501 + "state_tests/stRevertTest/RevertPrecompiledTouch_noncestorageFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "00000000000000000000000087aaeb9e422487283b0b008ef445e32acb9dd1ae", - "00000000000000000000000031f52a66cf9d94c60f089a2ca9c4e784261c57fa", - "000000000000000000000000de1200b7ecaea2d15b57d0f331ad5ade8e924255", - "00000000000000000000000010ef6d6218ada53728683cec4d5160c8c72159bd", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_revert_precompiled_touch_noncestorage( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") + """Test_revert_precompiled_touch_noncestorage.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) + addr_5 = Address(0xB0A7B7B80BC0F95F8890E6E2070DDC906BBFDBCD) + addr_6 = Address(0xE2041123687B446E6F4BA274BFED4CE0206D4C8E) + addr_7 = Address(0x0D6D2DA01A9DA2C336E2AFFE3E6A9D0787069B56) + addr_8 = Address(0x1E28DB5341D617CCE6178F0BBCCB352C51C5909D) + addr_9 = Address(0xAE321AB38D9488985A884ED293F2C1466D2C806B) + addr_10 = Address(0xF6165BB84BEB5028557005861FAA9B085C1381D9) + addr_11 = Address(0x9BCE9E56A0A95F42D0B6A7B550E26604D7C5299F) + addr_12 = Address(0x0E145EDEA519E730A2C24124733E22E8B8DE1202) sender = EOA( - key=0x0FF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B + key=0xFF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B ) - callee = Address("0x0d6d2da01a9da2c336e2affe3e6a9d0787069b56") - callee_1 = Address("0x0e145edea519e730a2c24124733e22e8b8de1202") - callee_3 = Address("0x1e28db5341d617cce6178f0bbccb352c51c5909d") - callee_6 = Address("0x9bce9e56a0a95f42d0b6a7b550e26604d7c5299f") - callee_7 = Address("0xae321ab38d9488985a884ed293f2c1466d2c806b") - callee_8 = Address("0xb0a7b7b80bc0f95f8890e6e2070ddc906bbfdbcd") - callee_10 = Address("0xe2041123687b446e6f4ba274bfed4ce0206d4c8e") - callee_11 = Address("0xf6165bb84beb5028557005861faa9b085c1381d9") env = Environment( fee_recipient=coinbase, @@ -67,429 +90,433 @@ def test_revert_precompiled_touch_noncestorage( gas_limit=4012015, ) - pre[callee] = Account(balance=0, nonce=1, storage={0x0: 0x1}) - pre[callee_1] = Account(balance=0, nonce=1, storage={0x0: 0x1}) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x8, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), - nonce=0, - address=Address("0x10ef6d6218ada53728683cec4d5160c8c72159bd"), # noqa: E501 - ) - pre[callee_3] = Account(balance=0, nonce=1, storage={0x0: 0x1}) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x8, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x31f52a66cf9d94c60f089a2ca9c4e784261c57fa"), # noqa: E501 + address=Address(0xE7C596DE24CCC387DAA5C017066AEB25EA8D2F3F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0xC350, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (CALL 50000 1 0 0 0 0 0) (CALL 50000 2 0 0 0 0 0) (CALL 50000 3 0 0 0 0 0) (CALL 50000 4 0 0 0 0 0) (CALL 50000 5 0 0 0 0 0) (CALL 50000 6 0 0 0 0 0) (CALL 50000 7 0 0 0 0 0) (CALL 50000 8 0 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0xC350, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x8, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x87aaeb9e422487283b0b008ef445e32acb9dd1ae"), # noqa: E501 + address=Address(0x87AAEB9E422487283B0B008EF445E32ACB9DD1AE), # noqa: E501 ) - pre[callee_6] = Account(balance=0, nonce=1, storage={0x0: 0x1}) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - pre[callee_7] = Account(balance=0, nonce=1, storage={0x0: 0x1}) - pre[callee_8] = Account(balance=0, nonce=1, storage={0x0: 0x1}) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 50000 1 0 0 0 0) (DELEGATECALL 50000 2 0 0 0 0) (DELEGATECALL 50000 3 0 0 0 0) (DELEGATECALL 50000 4 0 0 0 0) (DELEGATECALL 50000 5 0 0 0 0) (DELEGATECALL 50000 6 0 0 0 0) (DELEGATECALL 50000 7 0 0 0 0) (DELEGATECALL 50000 8 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x8, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xde1200b7ecaea2d15b57d0f331ad5ade8e924255"), # noqa: E501 + address=Address(0x31F52A66CF9D94C60F089A2CA9C4E784261C57FA), # noqa: E501 ) - pre[callee_10] = Account(balance=0, nonce=1, storage={0x0: 0x1}) - # Source: LLL - # { (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( + # Source: lll + # { (CALLCODE 50000 1 0 0 0 0 0) (CALLCODE 50000 2 0 0 0 0 0) (CALLCODE 50000 3 0 0 0 0 0) (CALLCODE 50000 4 0 0 0 0 0) (CALLCODE 50000 5 0 0 0 0 0) (CALLCODE 50000 6 0 0 0 0 0) (CALLCODE 50000 7 0 0 0 0 0) (CALLCODE 50000 8 0 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( Op.CALLCODE( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), + gas=0xC350, + address=0x1, value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x8, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, + nonce=0, + address=Address(0xDE1200B7ECAEA2D15B57D0F331AD5ADE8E924255), # noqa: E501 + ) + # Source: lll + # { (STATICCALL 50000 1 0 0 0 0) (STATICCALL 50000 2 0 0 0 0) (STATICCALL 50000 3 0 0 0 0) (STATICCALL 50000 4 0 0 0 0) (STATICCALL 50000 5 0 0 0 0) (STATICCALL 50000 6 0 0 0 0) (STATICCALL 50000 7 0 0 0 0) (STATICCALL 50000 8 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x8, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xe7c596de24ccc387daa5c017066aeb25ea8d2f3f"), # noqa: E501 + address=Address(0x10EF6D6218ADA53728683CEC4D5160C8C72159BD), # noqa: E501 ) - pre[callee_11] = Account(balance=0, nonce=1, storage={0x0: 0x1}) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + pre[addr_5] = Account(balance=0, nonce=1, storage={0: 1}) + pre[addr_6] = Account(balance=0, nonce=1, storage={0: 1}) + pre[addr_7] = Account(balance=0, nonce=1, storage={0: 1}) + pre[addr_8] = Account(balance=0, nonce=1, storage={0: 1}) + pre[addr_9] = Account(balance=0, nonce=1, storage={0: 1}) + pre[addr_10] = Account(balance=0, nonce=1, storage={0: 1}) + pre[addr_11] = Account(balance=0, nonce=1, storage={0: 1}) + pre[addr_12] = Account(balance=0, nonce=1, storage={0: 1}) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, ) post = { - callee: Account(storage={0: 1}), - callee_1: Account(storage={0: 1}), - callee_3: Account(storage={0: 1}), - callee_6: Account(storage={0: 1}), - callee_7: Account(storage={0: 1}), - callee_8: Account(storage={0: 1}), - callee_10: Account(storage={0: 1}), - callee_11: Account(storage={0: 1}), + addr_5: Account(storage={0: 1}, nonce=1), + addr_6: Account(storage={0: 1}, nonce=1), + addr_7: Account(storage={0: 1}, nonce=1), + addr_8: Account(storage={0: 1}, nonce=1), + addr_9: Account(storage={0: 1}, nonce=1), + addr_10: Account(storage={0: 1}, nonce=1), + addr_11: Account(storage={0: 1}, nonce=1), + addr_12: Account(storage={0: 1}, nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_precompiled_touch_paris.py b/tests/ported_static/stRevertTest/test_revert_precompiled_touch_paris.py index c739e4fb640..2e938522306 100644 --- a/tests/ported_static/stRevertTest/test_revert_precompiled_touch_paris.py +++ b/tests/ported_static/stRevertTest/test_revert_precompiled_touch_paris.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_precompiled_touch_paris. Ported from: -tests/static/state_tests/stRevertTest/RevertPrecompiledTouch_ParisFiller.json +state_tests/stRevertTest/RevertPrecompiledTouch_ParisFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,40 +27,60 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertPrecompiledTouch_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertPrecompiledTouch_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "00000000000000000000000087aaeb9e422487283b0b008ef445e32acb9dd1ae", - "00000000000000000000000031f52a66cf9d94c60f089a2ca9c4e784261c57fa", - "000000000000000000000000de1200b7ecaea2d15b57d0f331ad5ade8e924255", - "00000000000000000000000010ef6d6218ada53728683cec4d5160c8c72159bd", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_revert_precompiled_touch_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") + """Test_revert_precompiled_touch_paris.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) + addr_5 = Address(0x6EB9AFCB5D985B12549B7AC2E65C093F7113A0C7) + addr_6 = Address(0xF07A794E0F8AAB4242B86368503D3C1DE15481F8) + addr_7 = Address(0x9E6C35DECED6E05EB21D3465B5BBBB57B9CD57D6) + addr_8 = Address(0x1688023D9AE9E25EA02A2447A77B9CC9D22CE57B) + addr_9 = Address(0xD085AB47BC36D1238FC092679B21B10792746640) + addr_10 = Address(0xAD3DF2901B7C6642E397C35E0E9F3DEA5D098238) + addr_11 = Address(0xBE44B82021B08CFECC33A2E57FF5ADCB7FE3B049) + addr_12 = Address(0x85FDDE91FD0CE22A2968E1F1B2EBB9F9E5A180BA) sender = EOA( - key=0x0FF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B + key=0xFF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B ) - callee_1 = Address("0x1688023d9ae9e25ea02a2447a77b9cc9d22ce57b") - callee_3 = Address("0x6eb9afcb5d985b12549b7ac2e65c093f7113a0c7") - callee_4 = Address("0x85fdde91fd0ce22a2968e1f1b2ebb9f9e5a180ba") - callee_6 = Address("0x9e6c35deced6e05eb21d3465b5bbbb57b9cd57d6") - callee_7 = Address("0xad3df2901b7c6642e397c35e0e9f3dea5d098238") - callee_8 = Address("0xbe44b82021b08cfecc33a2e57ff5adcb7fe3b049") - callee_9 = Address("0xd085ab47bc36d1238fc092679b21b10792746640") - callee_11 = Address("0xf07a794e0f8aab4242b86368503d3c1de15481f8") env = Environment( fee_recipient=coinbase, @@ -66,420 +91,456 @@ def test_revert_precompiled_touch_paris( gas_limit=4012015, ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x8, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), - nonce=0, - address=Address("0x10ef6d6218ada53728683cec4d5160c8c72159bd"), # noqa: E501 - ) - pre[callee_1] = Account(balance=1, nonce=0) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x8, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x31f52a66cf9d94c60f089a2ca9c4e784261c57fa"), # noqa: E501 + address=Address(0xE7C596DE24CCC387DAA5C017066AEB25EA8D2F3F), # noqa: E501 ) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0xC350, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (CALL 50000 1 0 0 0 0 0) (CALL 50000 2 0 0 0 0 0) (CALL 50000 3 0 0 0 0 0) (CALL 50000 4 0 0 0 0 0) (CALL 50000 5 0 0 0 0 0) (CALL 50000 6 0 0 0 0 0) (CALL 50000 7 0 0 0 0 0) (CALL 50000 8 0 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0xC350, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x8, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x87aaeb9e422487283b0b008ef445e32acb9dd1ae"), # noqa: E501 + address=Address(0x87AAEB9E422487283B0B008EF445E32ACB9DD1AE), # noqa: E501 ) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - pre[callee_8] = Account(balance=1, nonce=0) - pre[callee_9] = Account(balance=1, nonce=0) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 50000 1 0 0 0 0) (DELEGATECALL 50000 2 0 0 0 0) (DELEGATECALL 50000 3 0 0 0 0) (DELEGATECALL 50000 4 0 0 0 0) (DELEGATECALL 50000 5 0 0 0 0) (DELEGATECALL 50000 6 0 0 0 0) (DELEGATECALL 50000 7 0 0 0 0) (DELEGATECALL 50000 8 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x8, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xde1200b7ecaea2d15b57d0f331ad5ade8e924255"), # noqa: E501 + address=Address(0x31F52A66CF9D94C60F089A2CA9C4E784261C57FA), # noqa: E501 ) - # Source: LLL - # { (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( + # Source: lll + # { (CALLCODE 50000 1 0 0 0 0 0) (CALLCODE 50000 2 0 0 0 0 0) (CALLCODE 50000 3 0 0 0 0 0) (CALLCODE 50000 4 0 0 0 0 0) (CALLCODE 50000 5 0 0 0 0 0) (CALLCODE 50000 6 0 0 0 0 0) (CALLCODE 50000 7 0 0 0 0 0) (CALLCODE 50000 8 0 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( Op.CALLCODE( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), + gas=0xC350, + address=0x1, value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x8, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, + nonce=0, + address=Address(0xDE1200B7ECAEA2D15B57D0F331AD5ADE8E924255), # noqa: E501 + ) + # Source: lll + # { (STATICCALL 50000 1 0 0 0 0) (STATICCALL 50000 2 0 0 0 0) (STATICCALL 50000 3 0 0 0 0) (STATICCALL 50000 4 0 0 0 0) (STATICCALL 50000 5 0 0 0 0) (STATICCALL 50000 6 0 0 0 0) (STATICCALL 50000 7 0 0 0 0) (STATICCALL 50000 8 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x8, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xe7c596de24ccc387daa5c017066aeb25ea8d2f3f"), # noqa: E501 + address=Address(0x10EF6D6218ADA53728683CEC4D5160C8C72159BD), # noqa: E501 ) - pre[callee_11] = Account(balance=1, nonce=0) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + pre[addr_5] = Account(balance=1) + pre[addr_6] = Account(balance=1) + pre[addr_7] = Account(balance=1) + pre[addr_8] = Account(balance=1) + pre[addr_9] = Account(balance=1) + pre[addr_10] = Account(balance=1) + pre[addr_11] = Account(balance=1) + pre[addr_12] = Account(balance=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_5: Account(nonce=0), + addr_6: Account(nonce=0), + addr_7: Account(nonce=0), + addr_8: Account(nonce=0), + addr_9: Account(nonce=0), + addr_10: Account(nonce=0), + addr_11: Account(nonce=0), + addr_12: Account(nonce=0), + }, + }, + { + "indexes": {"data": [1, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_5: Account(nonce=0), + addr_6: Account(nonce=0), + addr_7: Account(nonce=0), + addr_8: Account(nonce=0), + addr_9: Account(nonce=0), + addr_10: Account(nonce=0), + addr_11: Account(nonce=0), + addr_12: Account(nonce=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post: dict = {} - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_precompiled_touch_storage_paris.py b/tests/ported_static/stRevertTest/test_revert_precompiled_touch_storage_paris.py index 970698f98a8..cd8295af53c 100644 --- a/tests/ported_static/stRevertTest/test_revert_precompiled_touch_storage_paris.py +++ b/tests/ported_static/stRevertTest/test_revert_precompiled_touch_storage_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_revert_precompiled_touch_storage_paris. Ported from: -tests/static/state_tests/stRevertTest -RevertPrecompiledTouch_storage_ParisFiller.json +state_tests/stRevertTest/RevertPrecompiledTouch_storage_ParisFiller.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,39 +28,61 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stRevertTest/RevertPrecompiledTouch_storage_ParisFiller.json", # noqa: E501 + "state_tests/stRevertTest/RevertPrecompiledTouch_storage_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "00000000000000000000000087aaeb9e422487283b0b008ef445e32acb9dd1ae", - "00000000000000000000000031f52a66cf9d94c60f089a2ca9c4e784261c57fa", - "000000000000000000000000de1200b7ecaea2d15b57d0f331ad5ade8e924255", - "00000000000000000000000010ef6d6218ada53728683cec4d5160c8c72159bd", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_revert_precompiled_touch_storage_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") + """Test_revert_precompiled_touch_storage_paris.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) + addr_5 = Address(0x9DEB46A3B3E955BD56ECC4072DA4B42BD9B5DB2C) + addr_6 = Address(0xA8FD4CB9C2C538ED7FF94C3B711B2E08A08C7FB8) + addr_7 = Address(0x6D15138CE372D9B89EE38FC3973B715477426F11) + addr_8 = Address(0x46AC2E7E1550D911E5A72FBC51C15CA817DBB1D5) + addr_9 = Address(0x0DC4B229346287FE9FA441960081A9886B71C42D) + addr_10 = Address(0x3A3EEE808C401A574F92824DC64D89EDB05FAFE4) + addr_11 = Address(0xDA7F8ADD6896B7E58F28331A97B315DDE5FB8CD1) + addr_12 = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( - key=0x0FF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B + key=0xFF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B ) - callee = Address("0x0dc4b229346287fe9fa441960081a9886b71c42d") - callee_3 = Address("0x3a3eee808c401a574f92824dc64d89edb05fafe4") - callee_4 = Address("0x46ac2e7e1550d911e5a72fbc51c15ca817dbb1d5") - callee_5 = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") - callee_6 = Address("0x6d15138ce372d9b89ee38fc3973b715477426f11") - callee_8 = Address("0x9deb46a3b3e955bd56ecc4072da4b42bd9b5db2c") - callee_9 = Address("0xa8fd4cb9c2c538ed7ff94c3b711b2e08a08c7fb8") - callee_10 = Address("0xda7f8add6896b7e58f28331a97b315dde5fb8cd1") env = Environment( fee_recipient=coinbase, @@ -67,429 +93,456 @@ def test_revert_precompiled_touch_storage_paris( gas_limit=4012015, ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x8, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), - nonce=0, - address=Address("0x10ef6d6218ada53728683cec4d5160c8c72159bd"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x8, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x31f52a66cf9d94c60f089a2ca9c4e784261c57fa"), # noqa: E501 + address=Address(0xE7C596DE24CCC387DAA5C017066AEB25EA8D2F3F), # noqa: E501 ) - pre[callee_3] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre[callee_4] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre[callee_5] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre[callee_6] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0xC350, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (CALL 50000 1 0 0 0 0 0) (CALL 50000 2 0 0 0 0 0) (CALL 50000 3 0 0 0 0 0) (CALL 50000 4 0 0 0 0 0) (CALL 50000 5 0 0 0 0 0) (CALL 50000 6 0 0 0 0 0) (CALL 50000 7 0 0 0 0 0) (CALL 50000 8 0 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0xC350, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x8, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x87aaeb9e422487283b0b008ef445e32acb9dd1ae"), # noqa: E501 + address=Address(0x87AAEB9E422487283B0B008EF445E32ACB9DD1AE), # noqa: E501 ) - pre[callee_8] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre[callee_9] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - pre[callee_10] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE(key=0x3, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 50000 1 0 0 0 0) (DELEGATECALL 50000 2 0 0 0 0) (DELEGATECALL 50000 3 0 0 0 0) (DELEGATECALL 50000 4 0 0 0 0) (DELEGATECALL 50000 5 0 0 0 0) (DELEGATECALL 50000 6 0 0 0 0) (DELEGATECALL 50000 7 0 0 0 0) (DELEGATECALL 50000 8 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x8, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xde1200b7ecaea2d15b57d0f331ad5ade8e924255"), # noqa: E501 + address=Address(0x31F52A66CF9D94C60F089A2CA9C4E784261C57FA), # noqa: E501 ) - # Source: LLL - # { (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( + # Source: lll + # { (CALLCODE 50000 1 0 0 0 0 0) (CALLCODE 50000 2 0 0 0 0 0) (CALLCODE 50000 3 0 0 0 0 0) (CALLCODE 50000 4 0 0 0 0 0) (CALLCODE 50000 5 0 0 0 0 0) (CALLCODE 50000 6 0 0 0 0 0) (CALLCODE 50000 7 0 0 0 0 0) (CALLCODE 50000 8 0 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( Op.CALLCODE( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), + gas=0xC350, + address=0x1, value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x8, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xe7c596de24ccc387daa5c017066aeb25ea8d2f3f"), # noqa: E501 + address=Address(0xDE1200B7ECAEA2D15B57D0F331AD5ADE8E924255), # noqa: E501 ) + # Source: lll + # { (STATICCALL 50000 1 0 0 0 0) (STATICCALL 50000 2 0 0 0 0) (STATICCALL 50000 3 0 0 0 0) (STATICCALL 50000 4 0 0 0 0) (STATICCALL 50000 5 0 0 0 0) (STATICCALL 50000 6 0 0 0 0) (STATICCALL 50000 7 0 0 0 0) (STATICCALL 50000 8 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x8, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE(key=0x3, value=Op.GAS) + + Op.STOP, + nonce=0, + address=Address(0x10EF6D6218ADA53728683CEC4D5160C8C72159BD), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + pre[addr_5] = Account(balance=10, storage={0: 1}) + pre[addr_6] = Account(balance=10, storage={0: 1}) + pre[addr_7] = Account(balance=10, storage={0: 1}) + pre[addr_8] = Account(balance=10, storage={0: 1}) + pre[addr_9] = Account(balance=10, storage={0: 1}) + pre[addr_10] = Account(balance=10, storage={0: 1}) + pre[addr_11] = Account(balance=10, storage={0: 1}) + pre[addr_12] = Account(balance=10, storage={0: 1}) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_5: Account(storage={0: 1}), + addr_6: Account(storage={0: 1}), + addr_7: Account(balance=10), + addr_8: Account(storage={0: 1}), + addr_9: Account(storage={0: 1}), + addr_10: Account(storage={0: 1}), + addr_11: Account(storage={0: 1}), + addr_12: Account(storage={0: 1}), + }, + }, + { + "indexes": {"data": [1, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_5: Account(storage={0: 1}), + addr_6: Account(storage={0: 1}), + addr_7: Account(storage={0: 1}), + addr_8: Account(storage={0: 1}), + addr_9: Account(storage={0: 1}), + addr_10: Account(storage={0: 1}), + addr_11: Account(storage={0: 1}), + addr_12: Account(storage={0: 1}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = { - callee: Account(storage={0: 1}), - callee_3: Account(storage={0: 1}), - callee_4: Account(storage={0: 1}), - callee_5: Account(storage={0: 1}), - callee_6: Account(storage={0: 1}), - callee_8: Account(storage={0: 1}), - callee_9: Account(storage={0: 1}), - callee_10: Account(storage={0: 1}), - } - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_prefound.py b/tests/ported_static/stRevertTest/test_revert_prefound.py index 8b2b9950e4e..c1537da38d0 100644 --- a/tests/ported_static/stRevertTest/test_revert_prefound.py +++ b/tests/ported_static/stRevertTest/test_revert_prefound.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_prefound. Ported from: -tests/static/state_tests/stRevertTest/RevertPrefoundFiller.json +state_tests/stRevertTest/RevertPrefoundFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertPrefoundFiller.json"], + ["state_tests/stRevertTest/RevertPrefoundFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,12 +31,13 @@ def test_revert_prefound( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_prefound.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x7DB299E0885C85039F56FA504A13DD8CE8A56AA7) + contract_1 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - callee = Address("0x7db299e0885c85039f56fa504a13dd8ce8a56aa7") env = Environment( fee_recipient=coinbase, @@ -46,36 +48,28 @@ def test_revert_prefound( gas_limit=10000000, ) - pre[callee] = Account(balance=1, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + pre[contract_0] = Account(balance=1) + # Source: lll # { [[0]] (CREATE 0 0 32) [[1]]12} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) - ) - + Op.SSTORE(key=0x1, value=0xC) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) + ) + + Op.SSTORE(key=0x1, value=0xC) + + Op.STOP, balance=1, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=contract_1, + data=Bytes(""), gas_limit=1040000, ) - post = { - contract: Account( - storage={ - 0: 0x7DB299E0885C85039F56FA504A13DD8CE8A56AA7, - 1: 12, - }, - ), - } + post = {contract_0: Account(storage={}, code=b"", balance=1, nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_prefound_call.py b/tests/ported_static/stRevertTest/test_revert_prefound_call.py index ff0006773ec..6edd7015083 100644 --- a/tests/ported_static/stRevertTest/test_revert_prefound_call.py +++ b/tests/ported_static/stRevertTest/test_revert_prefound_call.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_prefound_call. Ported from: -tests/static/state_tests/stRevertTest/RevertPrefoundCallFiller.json +state_tests/stRevertTest/RevertPrefoundCallFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertPrefoundCallFiller.json"], + ["state_tests/stRevertTest/RevertPrefoundCallFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,12 +31,12 @@ def test_revert_prefound_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_prefound_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x85FDDE91FD0CE22A2968E1F1B2EBB9F9E5A180BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x85fdde91fd0ce22a2968e1f1b2ebb9f9e5a180ba") env = Environment( fee_recipient=coinbase, @@ -46,40 +47,37 @@ def test_revert_prefound_call( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=1) + # Source: lll # { [[0]] (CALL 50000 0 0 32 0 32) [[1]]12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC350, - address=0x85FDDE91FD0CE22A2968E1F1B2EBB9F9E5A180BA, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x1, value=0xC) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC350, + address=0x85FDDE91FD0CE22A2968E1F1B2EBB9F9E5A180BA, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x1, value=0xC) + + Op.STOP, balance=1, nonce=0, - address=Address("0x10e193907aa28773cc8f835c3b27bb02d064ce8c"), # noqa: E501 + address=Address(0x10E193907AA28773CC8F835C3B27BB02D064CE8C), # noqa: E501 ) - pre[callee] = Account(balance=1, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=94000, ) - post = { - contract: Account(storage={0: 1, 1: 12}), - } + post = {addr: Account(storage={}, code=b"", balance=1, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_prefound_call_oog.py b/tests/ported_static/stRevertTest/test_revert_prefound_call_oog.py index f1a6f17b7a4..43f6cb9ff10 100644 --- a/tests/ported_static/stRevertTest/test_revert_prefound_call_oog.py +++ b/tests/ported_static/stRevertTest/test_revert_prefound_call_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_prefound_call_oog. Ported from: -tests/static/state_tests/stRevertTest/RevertPrefoundCallOOGFiller.json +state_tests/stRevertTest/RevertPrefoundCallOOGFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertPrefoundCallOOGFiller.json"], + ["state_tests/stRevertTest/RevertPrefoundCallOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,12 +31,12 @@ def test_revert_prefound_call_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_prefound_call_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x85FDDE91FD0CE22A2968E1F1B2EBB9F9E5A180BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x85fdde91fd0ce22a2968e1f1b2ebb9f9e5a180ba") env = Environment( fee_recipient=coinbase, @@ -46,39 +47,38 @@ def test_revert_prefound_call_oog( gas_limit=10000000, ) - pre[callee] = Account(balance=1, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=1) + # Source: lll # { [[0]] (CALL 50000 0 0 32 0 32) [[1]]12 [[2]]12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC350, - address=0x85FDDE91FD0CE22A2968E1F1B2EBB9F9E5A180BA, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x1, value=0xC) - + Op.SSTORE(key=0x2, value=0xC) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC350, + address=0x85FDDE91FD0CE22A2968E1F1B2EBB9F9E5A180BA, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x1, value=0xC) + + Op.SSTORE(key=0x2, value=0xC) + + Op.STOP, balance=1, nonce=0, - address=Address("0xf679bfe5f61e7640b9a66db191d5d86abc7b5c0a"), # noqa: E501 + address=Address(0xF679BFE5F61E7640B9A66DB191D5D86ABC7B5C0A), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=63000, ) - post: dict = {} + post = {addr: Account(storage={}, code=b"", balance=1, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_prefound_empty_call_oog_paris.py b/tests/ported_static/stRevertTest/test_revert_prefound_empty_call_oog_paris.py index 69356d1eaa7..9b1d30c4405 100644 --- a/tests/ported_static/stRevertTest/test_revert_prefound_empty_call_oog_paris.py +++ b/tests/ported_static/stRevertTest/test_revert_prefound_empty_call_oog_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_revert_prefound_empty_call_oog_paris. Ported from: -tests/static/state_tests/stRevertTest -RevertPrefoundEmptyCallOOG_ParisFiller.json +state_tests/stRevertTest/RevertPrefoundEmptyCallOOG_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertPrefoundEmptyCallOOG_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertPrefoundEmptyCallOOG_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,12 +31,12 @@ def test_revert_prefound_empty_call_oog_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_prefound_empty_call_oog_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,39 +47,38 @@ def test_revert_prefound_empty_call_oog_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) + # Source: lll # { [[0]] (CALL 50000 0 0 32 0 32) [[1]]12 [[2]]12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC350, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x1, value=0xC) - + Op.SSTORE(key=0x2, value=0xC) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC350, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x1, value=0xC) + + Op.SSTORE(key=0x2, value=0xC) + + Op.STOP, balance=1, nonce=0, - address=Address("0xf679bfe5f61e7640b9a66db191d5d86abc7b5c0a"), # noqa: E501 + address=Address(0xF679BFE5F61E7640B9A66DB191D5D86ABC7B5C0A), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=63000, ) - post: dict = {} + post = {addr: Account(storage={}, code=b"", balance=10, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_prefound_empty_call_paris.py b/tests/ported_static/stRevertTest/test_revert_prefound_empty_call_paris.py index 4a815605885..1d991f29514 100644 --- a/tests/ported_static/stRevertTest/test_revert_prefound_empty_call_paris.py +++ b/tests/ported_static/stRevertTest/test_revert_prefound_empty_call_paris.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_prefound_empty_call_paris. Ported from: -tests/static/state_tests/stRevertTest/RevertPrefoundEmptyCall_ParisFiller.json +state_tests/stRevertTest/RevertPrefoundEmptyCall_ParisFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertPrefoundEmptyCall_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertPrefoundEmptyCall_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,12 +31,12 @@ def test_revert_prefound_empty_call_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_prefound_empty_call_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -48,40 +47,37 @@ def test_revert_prefound_empty_call_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) + # Source: lll # { [[0]] (CALL 50000 0 0 32 0 32) [[1]]12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xC350, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x1, value=0xC) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xC350, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x1, value=0xC) + + Op.STOP, balance=1, nonce=0, - address=Address("0x10e193907aa28773cc8f835c3b27bb02d064ce8c"), # noqa: E501 + address=Address(0x10E193907AA28773CC8F835C3B27BB02D064CE8C), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=94000, ) - post = { - contract: Account(storage={0: 1, 1: 12}), - } + post = {addr: Account(balance=10, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_prefound_empty_oog_paris.py b/tests/ported_static/stRevertTest/test_revert_prefound_empty_oog_paris.py index d827cf3004f..a60de2e277b 100644 --- a/tests/ported_static/stRevertTest/test_revert_prefound_empty_oog_paris.py +++ b/tests/ported_static/stRevertTest/test_revert_prefound_empty_oog_paris.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_prefound_empty_oog_paris. Ported from: -tests/static/state_tests/stRevertTest/RevertPrefoundEmptyOOG_ParisFiller.json +state_tests/stRevertTest/RevertPrefoundEmptyOOG_ParisFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertPrefoundEmptyOOG_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertPrefoundEmptyOOG_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,12 +31,12 @@ def test_revert_prefound_empty_oog_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_prefound_empty_oog_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -48,29 +47,28 @@ def test_revert_prefound_empty_oog_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) + # Source: lll # { [[0]] (CREATE 0 0 32) (KECCAK256 0x00 0x2fffff) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, balance=1, nonce=0, - address=Address("0x35b3f8ca79c46f2cbc3db596a2162ade570b0add"), # noqa: E501 + address=Address(0x35B3F8CA79C46F2CBC3DB596A2162ADE570B0ADD), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=930000, ) - post: dict = {} + post = {addr: Account(storage={}, code=b"", balance=10, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_prefound_empty_paris.py b/tests/ported_static/stRevertTest/test_revert_prefound_empty_paris.py index 899a6f19c74..278e7f6f008 100644 --- a/tests/ported_static/stRevertTest/test_revert_prefound_empty_paris.py +++ b/tests/ported_static/stRevertTest/test_revert_prefound_empty_paris.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_prefound_empty_paris. Ported from: -tests/static/state_tests/stRevertTest/RevertPrefoundEmpty_ParisFiller.json +state_tests/stRevertTest/RevertPrefoundEmpty_ParisFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertPrefoundEmpty_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertPrefoundEmpty_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,12 +31,13 @@ def test_revert_prefound_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_prefound_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x7DB299E0885C85039F56FA504A13DD8CE8A56AA7) + contract_1 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - callee = Address("0x7db299e0885c85039f56fa504a13dd8ce8a56aa7") env = Environment( fee_recipient=coinbase, @@ -48,36 +48,28 @@ def test_revert_prefound_empty_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + pre[contract_0] = Account(balance=10) + # Source: lll # { [[0]] (CREATE 0 0 32) [[1]]12 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) - ) - + Op.SSTORE(key=0x1, value=0xC) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) + ) + + Op.SSTORE(key=0x1, value=0xC) + + Op.STOP, balance=1, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=contract_1, + data=Bytes(""), gas_limit=940000, ) - post = { - contract: Account( - storage={ - 0: 0x7DB299E0885C85039F56FA504A13DD8CE8A56AA7, - 1: 12, - }, - ), - } + post = {contract_0: Account(storage={}, code=b"", balance=10, nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_prefound_oog.py b/tests/ported_static/stRevertTest/test_revert_prefound_oog.py index 547da24ff43..4b1599d2595 100644 --- a/tests/ported_static/stRevertTest/test_revert_prefound_oog.py +++ b/tests/ported_static/stRevertTest/test_revert_prefound_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_prefound_oog. Ported from: -tests/static/state_tests/stRevertTest/RevertPrefoundOOGFiller.json +state_tests/stRevertTest/RevertPrefoundOOGFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/RevertPrefoundOOGFiller.json"], + ["state_tests/stRevertTest/RevertPrefoundOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,12 +31,12 @@ def test_revert_prefound_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_prefound_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x85FDDE91FD0CE22A2968E1F1B2EBB9F9E5A180BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x85fdde91fd0ce22a2968e1f1b2ebb9f9e5a180ba") env = Environment( fee_recipient=coinbase, @@ -46,29 +47,28 @@ def test_revert_prefound_oog( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=1) + # Source: lll # { [[0]] (CREATE 0 0 32) (KECCAK256 0x00 0x2fffff) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, balance=1, nonce=0, - address=Address("0x35b3f8ca79c46f2cbc3db596a2162ade570b0add"), # noqa: E501 + address=Address(0x35B3F8CA79C46F2CBC3DB596A2162ADE570B0ADD), # noqa: E501 ) - pre[callee] = Account(balance=1, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=930000, ) - post: dict = {} + post = {addr: Account(storage={}, code=b"", balance=1, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_sub_call_storage_oog.py b/tests/ported_static/stRevertTest/test_revert_sub_call_storage_oog.py index e738186dfe2..1c937b7f41a 100644 --- a/tests/ported_static/stRevertTest/test_revert_sub_call_storage_oog.py +++ b/tests/ported_static/stRevertTest/test_revert_sub_call_storage_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_sub_call_storage_oog. Ported from: -tests/static/state_tests/stRevertTest/RevertSubCallStorageOOGFiller.json +state_tests/stRevertTest/RevertSubCallStorageOOGFiller.json """ import pytest @@ -11,49 +11,64 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertSubCallStorageOOGFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertSubCallStorageOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - (81000, 0, {}), - (81000, 1, {}), - ( - 181000, + pytest.param( 0, - { - Address("0xdfa0378009e95c6b0e668db83477627c9b1e5d01"): Account( - storage={0: 12, 1: 13, 2: 14} - ) - }, + 0, + 0, + id="-g0-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-g0-v1", + ), + pytest.param( + 0, + 1, + 0, + id="-g1-v0", + ), + pytest.param( + 0, + 1, + 1, + id="-g1-v1", ), - (181000, 1, {}), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_revert_sub_call_storage_oog( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_sub_call_storage_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -67,30 +82,55 @@ def test_revert_sub_call_storage_oog( gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + pre[sender] = Account(balance=0xE8D4A51000) + # Source: raw + # 0x60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063b28175c4146046578063c0406226146052575b6000565b3460005760506076565b005b34600057605c6081565b604051808215151515815260200191505060405180910390f35b600c6000819055505b565b600060896076565b600d600181905550600e600281905550600190505b905600a165627a7a723058202a8a75d7d795b5bcb9042fb18b283daa90b999a11ddec892f548732235342eb60029 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "60606040526000357c010000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000900463ffffffff168063b28175c4146046578063c0406226146052575b6000565b34" # noqa: E501 - "60005760506076565b005b34600057605c6081565b604051808215151515815260200191" # noqa: E501 - "505060405180910390f35b600c6000819055505b565b600060896076565b600d60018190" # noqa: E501 - "5550600e600281905550600190505b905600a165627a7a723058202a8a75d7d795b5bcb9" # noqa: E501 - "042fb18b283daa90b999a11ddec892f548732235342eb60029" + "60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063b28175c4146046578063c0406226146052575b6000565b3460005760506076565b005b34600057605c6081565b604051808215151515815260200191505060405180910390f35b600c6000819055505b565b600060896076565b600d600181905550600e600281905550600190505b905600a165627a7a723058202a8a75d7d795b5bcb9042fb18b283daa90b999a11ddec892f548732235342eb60029" # noqa: E501 ), balance=1, nonce=0, - address=Address("0xdfa0378009e95c6b0e668db83477627c9b1e5d01"), # noqa: E501 + address=Address(0xDFA0378009E95C6B0E668DB83477627C9B1E5D01), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(storage={}, balance=1, nonce=0)}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": 0}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 12, 1: 13, 2: 14}, balance=1, nonce=0 + ) + }, + }, + { + "indexes": {"data": -1, "gas": [0, 1], "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={}, balance=1, nonce=0)}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("c0406226"), + ] + tx_gas = [81000, 181000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), - gas_limit=tx_gas_limit, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_revert_sub_call_storage_oog2.py b/tests/ported_static/stRevertTest/test_revert_sub_call_storage_oog2.py index 9e34ecd0a95..3b7e394193f 100644 --- a/tests/ported_static/stRevertTest/test_revert_sub_call_storage_oog2.py +++ b/tests/ported_static/stRevertTest/test_revert_sub_call_storage_oog2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_revert_sub_call_storage_oog2. Ported from: -tests/static/state_tests/stRevertTest/RevertSubCallStorageOOG2Filler.json +state_tests/stRevertTest/RevertSubCallStorageOOG2Filler.json """ import pytest @@ -11,49 +11,64 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/RevertSubCallStorageOOG2Filler.json", # noqa: E501 - ], + ["state_tests/stRevertTest/RevertSubCallStorageOOG2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - (61500, 0, {}), - (61500, 1, {}), - ( - 181000, + pytest.param( 0, - { - Address("0x48bc00be37fe77bd0f7b7b8009f908fc534a028b"): Account( - storage={0: 13, 1: 14} - ) - }, + 0, + 0, + id="-g0-v0", + ), + pytest.param( + 0, + 0, + 1, + id="-g0-v1", + ), + pytest.param( + 0, + 1, + 0, + id="-g1-v0", + ), + pytest.param( + 0, + 1, + 1, + id="-g1-v1", ), - (181000, 1, {}), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_revert_sub_call_storage_oog2( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_revert_sub_call_storage_oog2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -67,30 +82,53 @@ def test_revert_sub_call_storage_oog2( gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + pre[sender] = Account(balance=0xE8D4A51000) + # Source: raw + # 0x60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063b28175c4146046578063c0406226146052575b6000565b3460005760506076565b005b34600057605c6081565b604051808215151515815260200191505060405180910390f35b600c6000819055505b565b600060896076565b600d600081905550600e6001819055505b905600a165627a7a72305820b7c6987c21e63fed8a74d899557744a3be8d3fda191ce0f56cf261d6b860f6b40029 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "60606040526000357c010000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000900463ffffffff168063b28175c4146046578063c0406226146052575b6000565b34" # noqa: E501 - "60005760506076565b005b34600057605c6081565b604051808215151515815260200191" # noqa: E501 - "505060405180910390f35b600c6000819055505b565b600060896076565b600d60008190" # noqa: E501 - "5550600e6001819055505b905600a165627a7a72305820b7c6987c21e63fed8a74d89955" # noqa: E501 - "7744a3be8d3fda191ce0f56cf261d6b860f6b40029" + "60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063b28175c4146046578063c0406226146052575b6000565b3460005760506076565b005b34600057605c6081565b604051808215151515815260200191505060405180910390f35b600c6000819055505b565b600060896076565b600d600081905550600e6001819055505b905600a165627a7a72305820b7c6987c21e63fed8a74d899557744a3be8d3fda191ce0f56cf261d6b860f6b40029" # noqa: E501 ), balance=1, nonce=0, - address=Address("0x48bc00be37fe77bd0f7b7b8009f908fc534a028b"), # noqa: E501 + address=Address(0x48BC00BE37FE77BD0F7B7B8009F908FC534A028B), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={}, balance=1, nonce=0)}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": 0}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 13, 1: 14}, balance=1, nonce=0) + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(storage={}, balance=1, nonce=0)}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("c0406226"), + ] + tx_gas = [61500, 181000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), - gas_limit=tx_gas_limit, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_state_revert.py b/tests/ported_static/stRevertTest/test_state_revert.py index 59b4b5017d7..3b215dcea25 100644 --- a/tests/ported_static/stRevertTest/test_state_revert.py +++ b/tests/ported_static/stRevertTest/test_state_revert.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stRevertTest/stateRevertFiller.yml +state_tests/stRevertTest/stateRevertFiller.yml """ import pytest @@ -11,10 +11,13 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,80 +25,67 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stRevertTest/stateRevertFiller.yml"], + ["state_tests/stRevertTest/stateRevertFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "693c61390000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - { - Address("0x3559afe49654b532b7e67e6acd87deb8c569e7ad"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 0, + 0, + 0, + id="revert", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000004", # noqa: E501 - { - Address("0x3559afe49654b532b7e67e6acd87deb8c569e7ad"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 1, + 0, + 0, + id="outOfGas", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - { - Address("0x3559afe49654b532b7e67e6acd87deb8c569e7ad"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 2, + 0, + 0, + id="xtremeOOG", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x3559afe49654b532b7e67e6acd87deb8c569e7ad"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 3, + 0, + 0, + id="badOpcode", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000006", # noqa: E501 - { - Address("0x3559afe49654b532b7e67e6acd87deb8c569e7ad"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 4, + 0, + 0, + id="jumpBadly", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000005", # noqa: E501 - { - Address("0x3559afe49654b532b7e67e6acd87deb8c569e7ad"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 5, + 0, + 0, + id="stackUnder", ), - ( - "693c61390000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - { - Address("0x3559afe49654b532b7e67e6acd87deb8c569e7ad"): Account( - storage={0: 24743} - ) - }, + pytest.param( + 6, + 0, + 0, + id="stackOver", ), ], - ids=["case0", "case1", "case2", "case3", "case4", "case5", "case6"], ) @pytest.mark.pre_alloc_mutable def test_state_revert( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA62D63F95900B04CCD3FEE13360DE78966F24695945E8B2C09E646352BC5AF94 ) @@ -109,181 +99,203 @@ def test_state_revert( gas_limit=100000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1001) - + Op.POP( - Op.DELEGATECALL( - gas=Op.SUB(Op.GAS, 0x7530), - address=0xDEAD, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.JUMPI(pc=0x2B, condition=Op.ISZERO(0x1)) - + Op.POP(Op.SHA3(offset=0x0, size=0x1000000)) - + Op.JUMP(pc=0x18) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { + # [[2]] 0x60A7 + # } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x60A7) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x16d83da4c22c26f92c5a8d4cedf367e171f60977"), # noqa: E501 + address=Address(0x4EDC28FF01C9F8731EDE6D0FD953DA91F749A659), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=bytes.fromhex( - "610103600155600060006000600061dead6175305a03f450ba" - ), + # Source: lll + # { + # [[1]] 0x1000 + # (delegatecall (- (gas) 30000) 0xDEAD 0 0 0 0) + # (revert 0 0x10) + # } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1000) + + Op.POP( + Op.DELEGATECALL( + gas=Op.SUB(Op.GAS, 0x7530), + address=0xDEAD, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x10) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x1985064d96baaf3305fee248de22965fbf7fbab6"), # noqa: E501 + address=Address(0x71A06D553F1AC38B5E568CE5A1B5DF253AD08D73), # noqa: E501 ) - # Source: LLL + # Source: lll # { - # [[0]] 0x60A7 - # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # [[1]] 0x1001 + # (delegatecall (- (gas) 30000) 0xDEAD 0 0 0 0) + # (while 1 (sha3 0 0x1000000)) # } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x60A7) - + Op.DELEGATECALL( - gas=Op.GAS, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1001) + + Op.POP( + Op.DELEGATECALL( + gas=Op.SUB(Op.GAS, 0x7530), + address=0xDEAD, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI(pc=0x2B, condition=Op.ISZERO(0x1)) + + Op.POP(Op.SHA3(offset=0x0, size=0x1000000)) + + Op.JUMP(pc=0x18) + + Op.JUMPDEST + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x3559afe49654b532b7e67e6acd87deb8c569e7ad"), # noqa: E501 + address=Address(0x16D83DA4C22C26F92C5A8D4CEDF367E171F60977), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x60A7) + Op.STOP, + # Source: lll + # { + # [[1]] 0x1002 + # (delegatecall (- (gas) 30000) 0xDEAD 0 0 0 0) + # (sha3 0 (- 0 1)) + # } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1002) + + Op.POP( + Op.DELEGATECALL( + gas=Op.SUB(Op.GAS, 0x7530), + address=0xDEAD, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SHA3(offset=0x0, size=Op.SUB(0x0, 0x1)) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x4edc28ff01c9f8731ede6d0fd953da91f749a659"), # noqa: E501 + address=Address(0xEBE3A4514FECA3EB2819BF83EBD926C5E4143739), # noqa: E501 ) - pre[sender] = Account(balance=0x100000000000) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1000) - + Op.POP( - Op.DELEGATECALL( - gas=Op.SUB(Op.GAS, 0x7530), - address=0xDEAD, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.REVERT(offset=0x0, size=0x10) - + Op.STOP + # Source: raw + # 0x610103600155600060006000600061dead6175305a03f450BA + addr_5 = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex( + "610103600155600060006000600061dead6175305a03f450ba" ), balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x71a06d553f1ac38b5e568ce5a1b5df253ad08d73"), # noqa: E501 + address=Address(0x1985064D96BAAF3305FEE248DE22965FBF7FBAB6), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x105) - + Op.POP( - Op.DELEGATECALL( - gas=Op.SUB(Op.GAS, 0x7530), - address=0xDEAD, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: raw + # 0x610104600155600060006000600061dead6175305a03f450600056 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x104) + + Op.POP( + Op.DELEGATECALL( + gas=Op.SUB(Op.GAS, 0x7530), + address=0xDEAD, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.ADD(Op.ADD, Op.ADD) - ), + ) + + Op.JUMP(pc=0x0), balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xbf0fc73e06f3b2eca8cb8094bdb81d4d2aa2f9b0"), # noqa: E501 + address=Address(0xDD77382F06BFEEA4258E6F7BFFC6D9D31B885815), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x104) - + Op.POP( - Op.DELEGATECALL( - gas=Op.SUB(Op.GAS, 0x7530), - address=0xDEAD, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: raw + # 0x610105600155600060006000600061dead6175305a03f450010101 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x105) + + Op.POP( + Op.DELEGATECALL( + gas=Op.SUB(Op.GAS, 0x7530), + address=0xDEAD, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMP(pc=0x0) - ), + ) + + Op.ADD(Op.ADD, Op.ADD), balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xdd77382f06bfeea4258e6f7bffc6d9d31b885815"), # noqa: E501 + address=Address(0xBF0FC73E06F3B2ECA8CB8094BDB81D4D2AA2F9B0), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x106) - + Op.POP( - Op.DELEGATECALL( - gas=Op.SUB(Op.GAS, 0x7530), - address=0xDEAD, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: raw + # 0x610106600155600060006000600061dead6175305a03f4505b586004580356 + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x106) + + Op.POP( + Op.DELEGATECALL( + gas=Op.SUB(Op.GAS, 0x7530), + address=0xDEAD, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPDEST - + Op.PC - + Op.JUMP(pc=Op.SUB(Op.PC, 0x4)) - ), + ) + + Op.JUMPDEST + + Op.PC + + Op.JUMP(pc=Op.SUB(Op.PC, 0x4)), balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xe08a8de27b3798640d504f1431a360f276b9f2ae"), # noqa: E501 + address=Address(0xE08A8DE27B3798640D504F1431A360F276B9F2AE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1002) - + Op.POP( - Op.DELEGATECALL( - gas=Op.SUB(Op.GAS, 0x7530), - address=0xDEAD, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SHA3(offset=0x0, size=Op.SUB(0x0, 0x1)) - + Op.STOP - ), + # Source: lll + # { + # [[0]] 0x60A7 + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x60A7) + + Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xebe3a4514feca3eb2819bf83ebd926c5e4143739"), # noqa: E501 + address=Address(0x3559AFE49654B532B7E67E6ACD87DEB8C569E7AD), # noqa: E501 ) + pre[sender] = Account(balance=0x100000000000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 24743, 1: 0, 2: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert2_paris.py b/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert2_paris.py index 5f327079310..a47979fd9d7 100644 --- a/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert2_paris.py +++ b/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert2_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_touch_to_empty_account_revert2_paris. Ported from: -tests/static/state_tests/stRevertTest -TouchToEmptyAccountRevert2_ParisFiller.json +state_tests/stRevertTest/TouchToEmptyAccountRevert2_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/TouchToEmptyAccountRevert2_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/TouchToEmptyAccountRevert2_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,12 +31,12 @@ def test_touch_to_empty_account_revert2_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_touch_to_empty_account_revert2_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,70 +47,67 @@ def test_touch_to_empty_account_revert2_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) + # Source: lll # { [[0]](CALL 130000 0 0 0 0 0) [[1]](CALL 130000 0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1FBD0, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x1FBD0, - address=0xFC4D79463BC948EB3FE54196270DE2B78C201506, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1FBD0, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x1FBD0, + address=0xFC4D79463BC948EB3FE54196270DE2B78C201506, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x0982de98d43928669ec4ed9fea05f2b852bbec41"), # noqa: E501 + address=Address(0x0982DE98D43928669EC4ED9FEA05F2B852BBEC41), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x1FBD0, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { [[2]](CALL 130000 0 0 0 0 0) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x1FBD0, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xfc4d79463bc948eb3fe54196270de2b78c201506"), # noqa: E501 + address=Address(0xFC4D79463BC948EB3FE54196270DE2B78C201506), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {addr: Account(balance=10)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert3_paris.py b/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert3_paris.py index 6cc71eeed92..4aba629a847 100644 --- a/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert3_paris.py +++ b/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert3_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_touch_to_empty_account_revert3_paris. Ported from: -tests/static/state_tests/stRevertTest -TouchToEmptyAccountRevert3_ParisFiller.json +state_tests/stRevertTest/TouchToEmptyAccountRevert3_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/TouchToEmptyAccountRevert3_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/TouchToEmptyAccountRevert3_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,12 +31,12 @@ def test_touch_to_empty_account_revert3_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_touch_to_empty_account_revert3_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee_3 = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,86 +47,87 @@ def test_touch_to_empty_account_revert3_paris( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x186A0, - address=0x28207E524CCB9DBC79BB3044819ACD87D630F27A, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) + # Source: lll + # { [[0]](CALL 130000 0 0 0 0 0) [[1]](CALL 130000 0 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1FBD0, + address=0x51CD6399DE7E11930D3AA146D45A2E327B5894B9, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x1FBD0, + address=0x2620916B2F3D6B185F4D9DD1ECEE4A1F665D5C36, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x2620916b2f3d6b185f4d9dd1ecee4a1f665d5c36"), # noqa: E501 + address=Address(0xCD48E0C45933CFA7AA1345807CF2D6B02875F627), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x76FAE819612A29489A1A43208613D8F8557B8898) - + Op.STOP - ), + # Source: lll + # { [[2]](CALL 100000 0 0 0 0 0) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x186A0, + address=0x28207E524CCB9DBC79BB3044819ACD87D630F27A, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0x28207e524ccb9dbc79bb3044819acd87d630f27a"), # noqa: E501 + address=Address(0x2620916B2F3D6B185F4D9DD1ECEE4A1F665D5C36), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x76FAE819612A29489A1A43208613D8F8557B8898) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x76FAE819612A29489A1A43208613D8F8557B8898 + ) + + Op.STOP, nonce=0, - address=Address("0x51cd6399de7e11930d3aa146d45a2e327b5894b9"), # noqa: E501 + address=Address(0x51CD6399DE7E11930D3AA146D45A2E327B5894B9), # noqa: E501 ) - pre[callee_3] = Account(balance=10, nonce=0) - # Source: LLL - # { [[0]](CALL 130000 0 0 0 0 0) [[1]](CALL 130000 0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1FBD0, - address=0x51CD6399DE7E11930D3AA146D45A2E327B5894B9, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x1FBD0, - address=0x2620916B2F3D6B185F4D9DD1ECEE4A1F665D5C36, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x76FAE819612A29489A1A43208613D8F8557B8898 + ) + + Op.STOP, nonce=0, - address=Address("0xcd48e0c45933cfa7aa1345807cf2d6b02875f627"), # noqa: E501 + address=Address(0x28207E524CCB9DBC79BB3044819ACD87D630F27A), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {addr: Account(balance=10)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert_paris.py b/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert_paris.py index 1027f823788..956e446364b 100644 --- a/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert_paris.py +++ b/tests/ported_static/stRevertTest/test_touch_to_empty_account_revert_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_touch_to_empty_account_revert_paris. Ported from: -tests/static/state_tests/stRevertTest -TouchToEmptyAccountRevert_ParisFiller.json +state_tests/stRevertTest/TouchToEmptyAccountRevert_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stRevertTest/TouchToEmptyAccountRevert_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stRevertTest/TouchToEmptyAccountRevert_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,12 +31,12 @@ def test_touch_to_empty_account_revert_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_touch_to_empty_account_revert_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,56 +47,55 @@ def test_touch_to_empty_account_revert_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) + # Source: lll # { [[0]](CALL 30000 0 0 0 0 0) [[2]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x7530, - address=0xBA4D09EB64FDDCEC11D7587E1F51AC0B07C5069C, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x7530, + address=0xBA4D09EB64FDDCEC11D7587E1F51AC0B07C5069C, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x68b5e303da0ad3dfba8b2134bab64274de666f37"), # noqa: E501 + address=Address(0x68B5E303DA0AD3DFBA8B2134BAB64274DE666F37), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x7530, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[1]](CALL 30000 0 0 0 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x7530, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xba4d09eb64fddcec11d7587e1f51ac0b07c5069c"), # noqa: E501 + address=Address(0xBA4D09EB64FDDCEC11D7587E1F51AC0B07C5069C), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=70000, ) - post: dict = {} + post = {addr: Account(storage={}, code=b"", balance=10, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSLoadTest/__init__.py b/tests/ported_static/stSLoadTest/__init__.py deleted file mode 100644 index b2a37a493bf..00000000000 --- a/tests/ported_static/stSLoadTest/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests ported from stSLoadTest.""" diff --git a/tests/ported_static/stSLoadTest/test_sload_gas_cost.py b/tests/ported_static/stSLoadTest/test_sload_gas_cost.py deleted file mode 100644 index e669cc86a83..00000000000 --- a/tests/ported_static/stSLoadTest/test_sload_gas_cost.py +++ /dev/null @@ -1,79 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/stSLoadTest/sloadGasCostFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stSLoadTest/sloadGasCostFiller.json"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable -def test_sload_gas_cost( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000000, - ) - - # Source: asm - # (asm GAS DUP1 SLOAD GAS SWAP1 POP SWAP1 SUB 5 SWAP1 SUB 0x01 SSTORE) - contract = pre.deploy_contract( - code=( - Op.GAS - + Op.SLOAD(key=Op.DUP1) - + Op.GAS - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.SUB - + Op.PUSH1[0x5] - + Op.SWAP1 - + Op.SSTORE(key=0x1, value=Op.SUB) - + Op.STOP - ), - nonce=0, - address=Address("0x31da7b7c048ed4b134f1fa2128871ee628d05237"), # noqa: E501 - ) - pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=100000, - ) - - post = { - contract: Account(storage={1: 2100}), - } - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/__init__.py b/tests/ported_static/stSStoreTest/__init__.py index f19c32c46b3..9b8069feca9 100644 --- a/tests/ported_static/stSStoreTest/__init__.py +++ b/tests/ported_static/stSStoreTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stSStoreTest.""" +"""Ported static tests: stSStoreTest.""" # noqa: N999 diff --git a/tests/ported_static/stSStoreTest/test_sstore_0to0.py b/tests/ported_static/stSStoreTest/test_sstore_0to0.py index fea7ac7f2f7..9b3b0321a91 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_0to0.py +++ b/tests/ported_static/stSStoreTest/test_sstore_0to0.py @@ -1,8 +1,8 @@ """ -change 0 -> 0. +Change 0 -> 0. Ported from: -tests/static/state_tests/stSStoreTest/sstore_0to0Filler.json +state_tests/stSStoreTest/sstore_0to0Filler.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,173 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_0to0Filler.json"], + ["state_tests/stSStoreTest/sstore_0to0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000600b80603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe6000600055600160015500", # noqa: E501 - 1000000, - { - Address("0xcd47252107ce09ad27592121f5b5e3e30c4ce2db"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000600b80603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe6000600055600160015500", # noqa: E501 - 400000, - { - Address("0xcd47252107ce09ad27592121f5b5e3e30c4ce2db"): Account( - storage={1: 1} - ) - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000600b80603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe6000600055600160015500", # noqa: E501 - 1000000, - {}, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000600b80603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe6000600055600160015500", # noqa: E501 - 400000, - {}, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_0to0( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change 0 -> 0.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -203,73 +183,344 @@ def test_sstore_0to0( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 0 } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 0 } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xCD47252107CE09AD27592121F5B5E3E30C4CE2DB): Account( + storage={1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0xB] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0xB] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_0to0to0.py b/tests/ported_static/stSStoreTest/test_sstore_0to0to0.py index b12b8143af9..a0764f16d91 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_0to0to0.py +++ b/tests/ported_static/stSStoreTest/test_sstore_0to0to0.py @@ -1,8 +1,8 @@ """ -change 0 -> 0 -> 0. +Change 0 -> 0 -> 0. Ported from: -tests/static/state_tests/stSStoreTest/sstore_0to0to0Filler.json +state_tests/stSStoreTest/sstore_0to0to0Filler.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,173 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_0to0to0Filler.json"], + ["state_tests/stSStoreTest/sstore_0to0to0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60006000556000600055600160015500", # noqa: E501 - 1000000, - { - Address("0x0bdfb5bb25de41df5ef3e68904843c7a7b92d35f"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60006000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0x0bdfb5bb25de41df5ef3e68904843c7a7b92d35f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60006000556000600055600160015500", # noqa: E501 - 1000000, - {}, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60006000556000600055600160015500", # noqa: E501 - 400000, - {}, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_0to0to0( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change 0 -> 0 -> 0.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -203,81 +183,344 @@ def test_sstore_0to0to0( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) * 2 + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) * 2 + Op.STOP, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x0BDFB5BB25DE41DF5EF3E68904843C7A7B92D35F): Account( + storage={1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x0) * 2 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x0) * 2 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_0to0to_x.py b/tests/ported_static/stSStoreTest/test_sstore_0to0to_x.py index b2b587779f5..6fa2b1d32a3 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_0to0to_x.py +++ b/tests/ported_static/stSStoreTest/test_sstore_0to0to_x.py @@ -1,8 +1,8 @@ """ -change 0 -> 0 -> X. +Change 0 -> 0 -> X. Ported from: -tests/static/state_tests/stSStoreTest/sstore_0to0toXFiller.json +state_tests/stSStoreTest/sstore_0to0toXFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,194 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_0to0toXFiller.json"], + ["state_tests/stSStoreTest/sstore_0to0toXFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60006000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0x4b7e4a91b95b23146401605d2adce6ab6ffd64e1"): Account( - storage={0: 1, 1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60006000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0x4b7e4a91b95b23146401605d2adce6ab6ffd64e1"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60006000556001600055600160015500", # noqa: E501 - 1000000, - {}, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60006000556001600055600160015500", # noqa: E501 - 400000, - {}, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_0to0to_x( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change 0 -> 0 -> X.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -224,81 +183,350 @@ def test_sstore_0to0to_x( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x4B7E4A91B95B23146401605D2ADCE6AB6FFD64E1): Account( + storage={0: 1, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_0to_x.py b/tests/ported_static/stSStoreTest/test_sstore_0to_x.py index 3a43253cbc5..616a7058319 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_0to_x.py +++ b/tests/ported_static/stSStoreTest/test_sstore_0to_x.py @@ -1,8 +1,8 @@ """ -change 0 -> X. +Change 0 -> X. Ported from: -tests/static/state_tests/stSStoreTest/sstore_0toXFiller.json +state_tests/stSStoreTest/sstore_0toXFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,194 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_0toXFiller.json"], + ["state_tests/stSStoreTest/sstore_0toXFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000600b80603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe6000600055600160015500", # noqa: E501 - 1000000, - { - Address("0xcd47252107ce09ad27592121f5b5e3e30c4ce2db"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000600b80603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe6000600055600160015500", # noqa: E501 - 400000, - { - Address("0xcd47252107ce09ad27592121f5b5e3e30c4ce2db"): Account( - storage={1: 1} - ) - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000600b80603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe6000600055600160015500", # noqa: E501 - 1000000, - {}, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000600b80603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe6000600055600160015500", # noqa: E501 - 400000, - {}, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_0to_x( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change 0 -> X.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -224,73 +183,344 @@ def test_sstore_0to_x( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 1 } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xCD47252107CE09AD27592121F5B5E3E30C4CE2DB): Account( + storage={1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0xB] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0xB] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_0to_xto0.py b/tests/ported_static/stSStoreTest/test_sstore_0to_xto0.py index 5b3eb5c1e1c..03b3c3bf134 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_0to_xto0.py +++ b/tests/ported_static/stSStoreTest/test_sstore_0to_xto0.py @@ -1,8 +1,8 @@ """ -change 0 -> X -> 0. +Change 0 -> X -> 0. Ported from: -tests/static/state_tests/stSStoreTest/sstore_0toXto0Filler.json +state_tests/stSStoreTest/sstore_0toXto0Filler.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,173 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_0toXto0Filler.json"], + ["state_tests/stSStoreTest/sstore_0toXto0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60016000556000600055600160015500", # noqa: E501 - 1000000, - { - Address("0x7564c2d690ab324d8fa20707f2bbdcff4367bb92"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60016000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0x7564c2d690ab324d8fa20707f2bbdcff4367bb92"): Account( - storage={1: 1} - ) - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60016000556000600055600160015500", # noqa: E501 - 1000000, - {}, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60016000556000600055600160015500", # noqa: E501 - 400000, - {}, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_0to_xto0( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change 0 -> X -> 0.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -203,81 +183,350 @@ def test_sstore_0to_xto0( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.STOP, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x7564C2D690AB324D8FA20707F2BBDCFF4367BB92): Account( + storage={1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_0to_xto0to_x.py b/tests/ported_static/stSStoreTest/test_sstore_0to_xto0to_x.py index 872c12e7242..14c8adefa63 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_0to_xto0to_x.py +++ b/tests/ported_static/stSStoreTest/test_sstore_0to_xto0to_x.py @@ -1,8 +1,8 @@ """ -change 0 -> X -> 0 -> X. +Change 0 -> X -> 0 -> X. Ported from: -tests/static/state_tests/stSStoreTest/sstore_0toXto0toXFiller.json +state_tests/stSStoreTest/sstore_0toXto0toXFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,194 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_0toXto0toXFiller.json"], + ["state_tests/stSStoreTest/sstore_0toXto0toXFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601a80603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe6000600055600160005560006000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xcacdb18e817dcdf3677f6f905a75474af3b8693c"): Account( - storage={0: 1, 1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601a80603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe6000600055600160005560006000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xcacdb18e817dcdf3677f6f905a75474af3b8693c"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601a80603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe6000600055600160005560006000556001600055600160015500", # noqa: E501 - 1000000, - {}, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601a80603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe6000600055600160005560006000556001600055600160015500", # noqa: E501 - 400000, - {}, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_0to_xto0to_x( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change 0 -> X -> 0 -> X.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -224,83 +183,356 @@ def test_sstore_0to_xto0to_x( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xCACDB18E817DCDF3677F6F905A75474AF3B8693C): Account( + storage={0: 1, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x1A] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x1A] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_0to_xto_x.py b/tests/ported_static/stSStoreTest/test_sstore_0to_xto_x.py index db333a83c1c..5ba077ae378 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_0to_xto_x.py +++ b/tests/ported_static/stSStoreTest/test_sstore_0to_xto_x.py @@ -1,8 +1,8 @@ """ -change 0 -> X -> X. +Change 0 -> X -> X. Ported from: -tests/static/state_tests/stSStoreTest/sstore_0toXtoXFiller.json +state_tests/stSStoreTest/sstore_0toXtoXFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,194 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_0toXtoXFiller.json"], + ["state_tests/stSStoreTest/sstore_0toXtoXFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60016000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xf797d87eb948007fd777404ef459196b099d3ebe"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60016000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xf797d87eb948007fd777404ef459196b099d3ebe"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60016000556001600055600160015500", # noqa: E501 - 1000000, - {}, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60016000556001600055600160015500", # noqa: E501 - 400000, - {}, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_0to_xto_x( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change 0 -> X -> X.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -224,81 +183,344 @@ def test_sstore_0to_xto_x( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) * 2 + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) * 2 + Op.STOP, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xF797D87EB948007FD777404EF459196B099D3EBE): Account( + storage={0: 1, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) * 2 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) * 2 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_0to_xto_y.py b/tests/ported_static/stSStoreTest/test_sstore_0to_xto_y.py index 81d19b089f0..e1930122ced 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_0to_xto_y.py +++ b/tests/ported_static/stSStoreTest/test_sstore_0to_xto_y.py @@ -1,8 +1,8 @@ """ -change 0 -> X -> Y. +Change 0 -> X -> Y. Ported from: -tests/static/state_tests/stSStoreTest/sstore_0toXtoYFiller.json +state_tests/stSStoreTest/sstore_0toXtoYFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,194 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_0toXtoYFiller.json"], + ["state_tests/stSStoreTest/sstore_0toXtoYFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ) - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - {}, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60026000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xef24be216c6eaaade3b2496281d7b66fc2669f03"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60026000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xef24be216c6eaaade3b2496281d7b66fc2669f03"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - {}, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - {}, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60026000556001600055600160015500", # noqa: E501 - 1000000, - {}, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60026000556001600055600160015500", # noqa: E501 - 400000, - {}, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_0to_xto_y( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change 0 -> X -> Y.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -224,81 +183,350 @@ def test_sstore_0to_xto_y( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 2 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x2) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x2) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 2 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x2) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x2) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xEF24BE216C6EAAADE3B2496281D7B66FC2669F03): Account( + storage={0: 1, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_call_to_self_sub_refund_below_zero.py b/tests/ported_static/stSStoreTest/test_sstore_call_to_self_sub_refund_below_zero.py index 3168edc90f3..d0363ffc99a 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_call_to_self_sub_refund_below_zero.py +++ b/tests/ported_static/stSStoreTest/test_sstore_call_to_self_sub_refund_below_zero.py @@ -1,9 +1,8 @@ """ -Test where accnt has slot 1 value of '2', is cleared, then calls itself and... +Test where accnt has slot 1 value of '2', is cleared, then calls itself... Ported from: -tests/static/state_tests/stSStoreTest -SstoreCallToSelfSubRefundBelowZeroFiller.json +state_tests/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json", # noqa: E501 - ], + ["state_tests/stSStoreTest/SstoreCallToSelfSubRefundBelowZeroFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -34,7 +32,7 @@ def test_sstore_call_to_self_sub_refund_below_zero( pre: Alloc, ) -> None: """Test where accnt has slot 1 value of '2', is cleared, then calls...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xAF50993BA9FD52F2A61FCD1DC6D59A44E7AF39F4289201CC19EA7D30E8E27E83 ) @@ -48,39 +46,40 @@ def test_sstore_call_to_self_sub_refund_below_zero( gas_limit=68719476736, ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFF) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMPI(pc=0x15, condition=Op.EQ(Op.ADDRESS, Op.CALLER)) - + Op.SSTORE(key=0x1, value=0x0) - + Op.CALL( - gas=Op.GAS, - address=Op.ADDRESS, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=0x3) - + Op.STOP - ), - storage={0x1: 0x2}, + # Source: raw + # 0x3330146015576000600155600080808080305af1005b600360015500 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x15, condition=Op.EQ(Op.ADDRESS, Op.CALLER)) + + Op.SSTORE(key=0x1, value=0x0) + + Op.CALL( + gas=Op.GAS, + address=Op.ADDRESS, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=0x3) + + Op.STOP, + storage={1: 2}, nonce=0, - address=Address("0xb48023055b6c3d565a6f5488459d64efab79b6c7"), # noqa: E501 + address=Address(0xB48023055B6C3D565A6F5488459D64EFAB79B6C7), # noqa: E501 ) + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFF) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=2367154, ) post = { - contract: Account(storage={1: 3}), + sender: Account(nonce=1), + target: Account(storage={1: 3}, balance=0, nonce=0), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_change_from_external_call_in_init_code.py b/tests/ported_static/stSStoreTest/test_sstore_change_from_external_call_in_init_code.py index ff47258210b..f2cd4f56ff1 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_change_from_external_call_in_init_code.py +++ b/tests/ported_static/stSStoreTest/test_sstore_change_from_external_call_in_init_code.py @@ -1,9 +1,8 @@ """ -account already has storage X. create -> in init code change that account's... +Account already has storage X. create -> in init code change that... Ported from: -tests/static/state_tests/stSStoreTest -sstore_changeFromExternalCallInInitCodeFiller.json +state_tests/stSStoreTest/sstore_changeFromExternalCallInInitCodeFiller.json """ import pytest @@ -15,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -24,188 +28,124 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSStoreTest/sstore_changeFromExternalCallInInitCodeFiller.json", # noqa: E501 + "state_tests/stSStoreTest/sstore_changeFromExternalCallInInitCodeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6000600060006000600073bea0000000000000000000000000000000000000620186a0f100", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "6000602380601860003960006000f55060006000fd0000fe600060006000600073bea0000000000000000000000000000000000000620186a0f400", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "6000602380603860003960006000f5506000600060006000600073dea000000000000000000000000000000000000062030d40f1500000fe600060006000600073bea0000000000000000000000000000000000000620186a0f400", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc07f1349a887643be65b34e234e1b3161f62dc30"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "600060006000600073bea0000000000000000000000000000000000000620186a0fa00", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "6000602380601360003960006000f5500000fe600060006000600073bea0000000000000000000000000000000000000620186a0fa00", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ( - "6000602380601860003960006000f55060006000fd0000fe600060006000600073bea0000000000000000000000000000000000000620186a0fa00", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 5, + 0, + 0, + id="d5", ), - ( - "6000602380603860003960006000f5506000600060006000600073dea000000000000000000000000000000000000062030d40f1500000fe600060006000600073bea0000000000000000000000000000000000000620186a0fa00", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 6, + 0, + 0, + id="d6", ), - ( - "6000602580601360003960006000f5500000fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f100", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 7, + 0, + 0, + id="d7", ), - ( - "6000602580601860003960006000f55060006000fd0000fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f100", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 8, + 0, + 0, + id="d8", ), - ( - "6000602580603860003960006000f5506000600060006000600073dea000000000000000000000000000000000000062030d40f1500000fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f100", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 9, + 0, + 0, + id="d9", ), - ( - "6000600060006000600073bea0000000000000000000000000000000000000620186a0f200", # noqa: E501 - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={0: 1, 1: 1} - ), - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 10, + 0, + 0, + id="d10", ), - ( - "6000602580601360003960006000f5500000fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f200", # noqa: E501 - { - Address("0x0f446e1bd7a5da68b5e3a305c7030e3aa8efc293"): Account( - storage={0: 1, 1: 1} - ), - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 11, + 0, + 0, + id="d11", ), - ( - "6000602580601860003960006000f55060006000fd0000fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f200", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 12, + 0, + 0, + id="d12", ), - ( - "6000602580603860003960006000f5506000600060006000600073dea000000000000000000000000000000000000062030d40f1500000fe6000600060006000600073bea0000000000000000000000000000000000000620186a0f200", # noqa: E501 - { - Address("0x0f446e1bd7a5da68b5e3a305c7030e3aa8efc293"): Account( - storage={0: 1, 1: 1} - ), - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 13, + 0, + 0, + id="d13", ), - ( - "600060006000600073bea0000000000000000000000000000000000000620186a0f400", # noqa: E501 - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={0: 1, 1: 1} - ), - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 14, + 0, + 0, + id="d14", ), - ( - "6000602380601360003960006000f5500000fe600060006000600073bea0000000000000000000000000000000000000620186a0f400", # noqa: E501 - { - Address("0xbea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc07f1349a887643be65b34e234e1b3161f62dc30"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 15, + 0, + 0, + id="d15", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_change_from_external_call_in_init_code( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Account already has storage X. create -> in init code change that...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Account already has storage X.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xBEA0000000000000000000000000000000000000) + contract_1 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -220,71 +160,396 @@ def test_sstore_change_from_external_call_in_init_code( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (SSTORE 1 0) (SSTORE 1 1) (SSTORE 0 1) } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x0, value=0x1) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x0, value=0x1) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xbea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xBEA0000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1, 3], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 1, 1: 1}, nonce=0)}, + }, + { + "indexes": { + "data": [2, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16], + "gas": 0, + "value": -1, + }, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={0: 0, 1: 1}, nonce=0), + Address( + 0x6602CFC925BE62BF18470598A98F72812A1EBEF2 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [4], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={0: 0, 1: 1}, nonce=0), + compute_create_address(address=sender, nonce=0): Account( + storage={0: 1, 1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [5, 7], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={0: 0, 1: 1}, nonce=0), + Address(0x0F446E1BD7A5DA68B5E3A305C7030E3AA8EFC293): Account( + storage={0: 1, 1: 1}, nonce=1 + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.CALL( + gas=0x186A0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x25] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.CALL( + gas=0x186A0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x25] + + Op.CODECOPY(dest_offset=0x0, offset=0x18, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.REVERT(offset=0x0, size=0x0) + + Op.STOP * 2 + + Op.INVALID + + Op.CALL( + gas=0x186A0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x25] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x30D40, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.CALL( + gas=0x186A0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.CALLCODE( + gas=0x186A0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x25] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.CALLCODE( + gas=0x186A0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x25] + + Op.CODECOPY(dest_offset=0x0, offset=0x18, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.REVERT(offset=0x0, size=0x0) + + Op.STOP * 2 + + Op.INVALID + + Op.CALLCODE( + gas=0x186A0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x25] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x30D40, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.CALLCODE( + gas=0x186A0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.DELEGATECALL( + gas=0x186A0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x23] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.DELEGATECALL( + gas=0x186A0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x23] + + Op.CODECOPY(dest_offset=0x0, offset=0x18, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.REVERT(offset=0x0, size=0x0) + + Op.STOP * 2 + + Op.INVALID + + Op.DELEGATECALL( + gas=0x186A0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x23] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x30D40, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.DELEGATECALL( + gas=0x186A0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.STATICCALL( + gas=0x186A0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x23] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.STOP * 2 + + Op.INVALID + + Op.STATICCALL( + gas=0x186A0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x23] + + Op.CODECOPY(dest_offset=0x0, offset=0x18, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.REVERT(offset=0x0, size=0x0) + + Op.STOP * 2 + + Op.INVALID + + Op.STATICCALL( + gas=0x186A0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x23] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x30D40, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.STATICCALL( + gas=0x186A0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [200000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=200000, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_gas.py b/tests/ported_static/stSStoreTest/test_sstore_gas.py index fe91efb515d..059c539c049 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_gas.py +++ b/tests/ported_static/stSStoreTest/test_sstore_gas.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stSStoreTest/sstoreGasFiller.yml +state_tests/stSStoreTest/sstoreGasFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstoreGasFiller.yml"], + ["state_tests/stSStoreTest/sstoreGasFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sstore_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x48DC5A9F099CAAAA557742CA3A990A94BE45B9969126A1BC74E5E8BE5A2B5B47 ) @@ -45,8 +46,8 @@ def test_sstore_gas( gas_limit=100000000, ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) - # Source: Yul + # Source: yul + # berlin # { # // Use storage of 0x1000 and above for gas figures # let storageLoc := 0x1000 @@ -76,114 +77,107 @@ def test_sstore_gas( # sstore(0, 0) # gas1 := gas() # sstore(storageLoc, sub(sub(gas0, gas1), measureGas)) - # storageLoc := add(storageLoc, 1) - # ... (49 more lines) - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x1] - + Op.PUSH1[0x8] - + Op.DUP2 - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.PUSH2[0x1000] - + Op.DUP10 - + Op.GAS - + Op.SSTORE(key=0x0, value=0xBEEF) - + Op.GAS - + Op.SWAP1 - + Op.SUB - + Op.SSTORE(key=Op.DUP2, value=Op.SUB) - + Op.ADD - + Op.DUP9 - + Op.GAS - + Op.SSTORE(key=0x0, value=0xDEADBEEF) - + Op.GAS - + Op.SWAP1 - + Op.SUB - + Op.SSTORE(key=Op.DUP2, value=Op.SUB) - + Op.ADD - + Op.DUP8 - + Op.GAS - + Op.SSTORE(key=Op.DUP1, value=0x0) - + Op.GAS - + Op.SWAP1 - + Op.SUB - + Op.SSTORE(key=Op.DUP2, value=Op.SUB) - + Op.ADD - + Op.DUP7 - + Op.GAS - + Op.SSTORE(key=Op.DUP1, value=0x0) - + Op.GAS - + Op.SWAP1 - + Op.SUB - + Op.SSTORE(key=Op.DUP2, value=Op.SUB) - + Op.ADD - + Op.DUP6 - + Op.GAS - + Op.SSTORE(key=0x0, value=0x1234) - + Op.GAS - + Op.SWAP1 - + Op.SUB - + Op.SSTORE(key=Op.DUP2, value=Op.SUB) - + Op.ADD - + Op.DUP5 - + Op.GAS - + Op.SSTORE(key=Op.DUP5, value=0x0) - + Op.GAS - + Op.SWAP1 - + Op.SUB - + Op.SSTORE(key=Op.DUP2, value=Op.SUB) - + Op.ADD - + Op.DUP4 - + Op.GAS - + Op.SSTORE(key=0x2, value=0x60A7) - + Op.GAS - + Op.SWAP1 - + Op.SUB - + Op.SSTORE(key=Op.DUP2, value=Op.SUB) - + Op.ADD - + Op.DUP3 - + Op.GAS - + Op.SSTORE(key=0x3, value=0x0) - + Op.GAS - + Op.SWAP1 - + Op.SUB - + Op.SSTORE(key=Op.DUP2, value=Op.SUB) - + Op.ADD - + Op.SWAP1 - + Op.GAS - + Op.SSTORE(key=0x3, value=0x60A7) - + Op.GAS - + Op.SWAP1 - + Op.SUB - + Op.SSTORE(key=Op.DUP2, value=Op.SUB) - + Op.POP - + Op.POP - + Op.SSTORE(key=Op.DUP1, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.STOP - ), - storage={0x0: 0x60A7, 0x1: 0x60A7}, + # ... (50 more lines) + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] + + Op.PUSH1[0x8] + + Op.DUP2 + + Op.DUP1 * 7 + + Op.PUSH2[0x1000] + + Op.DUP10 + + Op.GAS + + Op.SSTORE(key=0x0, value=0xBEEF) + + Op.GAS + + Op.SWAP1 + + Op.SUB + + Op.SSTORE(key=Op.DUP2, value=Op.SUB) + + Op.ADD + + Op.DUP9 + + Op.GAS + + Op.SSTORE(key=0x0, value=0xDEADBEEF) + + Op.GAS + + Op.SWAP1 + + Op.SUB + + Op.SSTORE(key=Op.DUP2, value=Op.SUB) + + Op.ADD + + Op.DUP8 + + Op.GAS + + Op.SSTORE(key=Op.DUP1, value=0x0) + + Op.GAS + + Op.SWAP1 + + Op.SUB + + Op.SSTORE(key=Op.DUP2, value=Op.SUB) + + Op.ADD + + Op.DUP7 + + Op.GAS + + Op.SSTORE(key=Op.DUP1, value=0x0) + + Op.GAS + + Op.SWAP1 + + Op.SUB + + Op.SSTORE(key=Op.DUP2, value=Op.SUB) + + Op.ADD + + Op.DUP6 + + Op.GAS + + Op.SSTORE(key=0x0, value=0x1234) + + Op.GAS + + Op.SWAP1 + + Op.SUB + + Op.SSTORE(key=Op.DUP2, value=Op.SUB) + + Op.ADD + + Op.DUP5 + + Op.GAS + + Op.SSTORE(key=Op.DUP5, value=0x0) + + Op.GAS + + Op.SWAP1 + + Op.SUB + + Op.SSTORE(key=Op.DUP2, value=Op.SUB) + + Op.ADD + + Op.DUP4 + + Op.GAS + + Op.SSTORE(key=0x2, value=0x60A7) + + Op.GAS + + Op.SWAP1 + + Op.SUB + + Op.SSTORE(key=Op.DUP2, value=Op.SUB) + + Op.ADD + + Op.DUP3 + + Op.GAS + + Op.SSTORE(key=0x3, value=0x0) + + Op.GAS + + Op.SWAP1 + + Op.SUB + + Op.SSTORE(key=Op.DUP2, value=Op.SUB) + + Op.ADD + + Op.SWAP1 + + Op.GAS + + Op.SSTORE(key=0x3, value=0x60A7) + + Op.GAS + + Op.SWAP1 + + Op.SUB + + Op.SSTORE(key=Op.DUP2, value=Op.SUB) + + Op.POP * 2 + + Op.SSTORE(key=Op.DUP1, value=0x0) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.STOP, + storage={0: 24743, 1: 24743}, balance=0xBA1A9CE0BA1A9CE, - address=Address("0x84e1dc6705b8b9b7ffaca256c9266792bdd0943b"), # noqa: E501 + nonce=1, + address=Address(0x84E1DC6705B8B9B7FFACA256C9266792BDD0943B), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE, nonce=1) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=16777216, nonce=1, ) post = { - contract: Account( + target: Account( storage={ 4096: 5000, 4097: 100, diff --git a/tests/ported_static/stSStoreTest/test_sstore_gas_left.py b/tests/ported_static/stSStoreTest/test_sstore_gas_left.py index e698bc414b1..caa81fb185e 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_gas_left.py +++ b/tests/ported_static/stSStoreTest/test_sstore_gas_left.py @@ -2,7 +2,7 @@ Checks EIP-1706/EIP-2200 out of gas requirement for non-mutating SSTOREs. Ported from: -tests/static/state_tests/stSStoreTest/sstore_gasLeftFiller.json +state_tests/stSStoreTest/sstore_gasLeftFiller.json """ import pytest @@ -15,6 +15,10 @@ StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,133 +26,79 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_gasLeftFiller.json"], + ["state_tests/stSStoreTest/sstore_gasLeftFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b0409d84ab61455cb8bec14b94f635146ab55613610901f115604b5760006000600060006000734092b3905cfea2485ea53222f41eb26e67587802617530f1505b00", # noqa: E501 - { - Address("0xb0409d84ab61455cb8bec14b94f635146ab55613"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "6000600060006000600073b0409d84ab61455cb8bec14b94f635146ab55613610902f115604b5760006000600060006000734092b3905cfea2485ea53222f41eb26e67587802617530f1505b00", # noqa: E501 - { - Address("0xb0409d84ab61455cb8bec14b94f635146ab55613"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "6000600060006000600073b0409d84ab61455cb8bec14b94f635146ab55613610903f115604b5760006000600060006000734092b3905cfea2485ea53222f41eb26e67587802617530f1505b00", # noqa: E501 - { - Address("0x4092b3905cfea2485ea53222f41eb26e67587802"): Account( - storage={1: 1} - ), - Address("0xb0409d84ab61455cb8bec14b94f635146ab55613"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "60016001556000600060006000600073b0409d84ab61455cb8bec14b94f635146ab55613610901f21560505760006000600060006000734092b3905cfea2485ea53222f41eb26e67587802617530f1505b00", # noqa: E501 - { - Address("0x21b8a1d7e6f995ece38f302d2981ac0793c37fbd"): Account( - storage={1: 1} - ), - Address("0xb0409d84ab61455cb8bec14b94f635146ab55613"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "60016001556000600060006000600073b0409d84ab61455cb8bec14b94f635146ab55613610902f21560505760006000600060006000734092b3905cfea2485ea53222f41eb26e67587802617530f1505b00", # noqa: E501 - { - Address("0x21b8a1d7e6f995ece38f302d2981ac0793c37fbd"): Account( - storage={1: 1} - ), - Address("0xb0409d84ab61455cb8bec14b94f635146ab55613"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ( - "60016001556000600060006000600073b0409d84ab61455cb8bec14b94f635146ab55613610903f21560505760006000600060006000734092b3905cfea2485ea53222f41eb26e67587802617530f1505b00", # noqa: E501 - { - Address("0x21b8a1d7e6f995ece38f302d2981ac0793c37fbd"): Account( - storage={1: 1} - ), - Address("0x4092b3905cfea2485ea53222f41eb26e67587802"): Account( - storage={1: 1} - ), - Address("0xb0409d84ab61455cb8bec14b94f635146ab55613"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5", ), - ( - "6001600155600060006000600073b0409d84ab61455cb8bec14b94f635146ab55613610901f415604e5760006000600060006000734092b3905cfea2485ea53222f41eb26e67587802617530f1505b00", # noqa: E501 - { - Address("0x21b8a1d7e6f995ece38f302d2981ac0793c37fbd"): Account( - storage={1: 1} - ), - Address("0xb0409d84ab61455cb8bec14b94f635146ab55613"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6", ), - ( - "6001600155600060006000600073b0409d84ab61455cb8bec14b94f635146ab55613610902f415604e5760006000600060006000734092b3905cfea2485ea53222f41eb26e67587802617530f1505b00", # noqa: E501 - { - Address("0x21b8a1d7e6f995ece38f302d2981ac0793c37fbd"): Account( - storage={1: 1} - ), - Address("0xb0409d84ab61455cb8bec14b94f635146ab55613"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7", ), - ( - "6001600155600060006000600073b0409d84ab61455cb8bec14b94f635146ab55613610903f415604e5760006000600060006000734092b3905cfea2485ea53222f41eb26e67587802617530f1505b00", # noqa: E501 - { - Address("0x21b8a1d7e6f995ece38f302d2981ac0793c37fbd"): Account( - storage={1: 1} - ), - Address("0x4092b3905cfea2485ea53222f41eb26e67587802"): Account( - storage={1: 1} - ), - Address("0xb0409d84ab61455cb8bec14b94f635146ab55613"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_gas_left( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Checks EIP-1706/EIP-2200 out of gas requirement for non-mutating...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -162,29 +112,296 @@ def test_sstore_gas_left( gas_limit=10000000, ) - pre.deploy_contract( + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[1]] 1 } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0x4092b3905cfea2485ea53222f41eb26e67587802"), # noqa: E501 + address=Address(0xB0409D84AB61455CB8BEC14B94F635146AB55613), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { [[1]] 1 } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, - storage={0x1: 0x1}, nonce=0, - address=Address("0xb0409d84ab61455cb8bec14b94f635146ab55613"), # noqa: E501 + address=Address(0x4092B3905CFEA2485EA53222F41EB26E67587802), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1, 3, 4, 6, 7], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {addr_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [8, 2, 5], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {addr_2: Account(storage={1: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.JUMPI( + pc=0x4B, + condition=Op.ISZERO( + Op.CALL( + gas=0x901, + address=addr, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ), + ) + + Op.POP( + Op.CALL( + gas=0x7530, + address=addr_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.STOP, + Op.JUMPI( + pc=0x4B, + condition=Op.ISZERO( + Op.CALL( + gas=0x902, + address=addr, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ), + ) + + Op.POP( + Op.CALL( + gas=0x7530, + address=addr_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.STOP, + Op.JUMPI( + pc=0x4B, + condition=Op.ISZERO( + Op.CALL( + gas=0x903, + address=addr, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ), + ) + + Op.POP( + Op.CALL( + gas=0x7530, + address=addr_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.STOP, + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMPI( + pc=0x50, + condition=Op.ISZERO( + Op.CALLCODE( + gas=0x901, + address=addr, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ), + ) + + Op.POP( + Op.CALL( + gas=0x7530, + address=addr_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.STOP, + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMPI( + pc=0x50, + condition=Op.ISZERO( + Op.CALLCODE( + gas=0x902, + address=addr, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ), + ) + + Op.POP( + Op.CALL( + gas=0x7530, + address=addr_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.STOP, + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMPI( + pc=0x50, + condition=Op.ISZERO( + Op.CALLCODE( + gas=0x903, + address=addr, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ), + ) + + Op.POP( + Op.CALL( + gas=0x7530, + address=addr_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.STOP, + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMPI( + pc=0x4E, + condition=Op.ISZERO( + Op.DELEGATECALL( + gas=0x901, + address=addr, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ), + ) + + Op.POP( + Op.CALL( + gas=0x7530, + address=addr_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.STOP, + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMPI( + pc=0x4E, + condition=Op.ISZERO( + Op.DELEGATECALL( + gas=0x902, + address=addr, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ), + ) + + Op.POP( + Op.CALL( + gas=0x7530, + address=addr_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.STOP, + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMPI( + pc=0x4E, + condition=Op.ISZERO( + Op.DELEGATECALL( + gas=0x903, + address=addr, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ), + ) + + Op.POP( + Op.CALL( + gas=0x7530, + address=addr_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.STOP, + ] + tx_gas = [200000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=200000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto0.py b/tests/ported_static/stSStoreTest/test_sstore_xto0.py index 7fbe6cce25c..5f6bcb9a9af 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto0.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto0.py @@ -1,8 +1,8 @@ """ -change X -> 0. +Change X -> 0. Ported from: -tests/static/state_tests/stSStoreTest/sstore_Xto0Filler.json +state_tests/stSStoreTest/sstore_Xto0Filler.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,301 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_Xto0Filler.json"], + ["state_tests/stSStoreTest/sstore_Xto0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60016000556000600055600160015500", # noqa: E501 - 3000000, - { - Address("0x7564c2d690ab324d8fa20707f2bbdcff4367bb92"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60016000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0x7564c2d690ab324d8fa20707f2bbdcff4367bb92"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60016000556000600055600160015500", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60016000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto0( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> 0.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -331,75 +183,348 @@ def test_sstore_xto0( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 0 } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 0 } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 0}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 0}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x7564C2D690AB324D8FA20707F2BBDCFF4367BB92): Account( + storage={0: 0, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [3000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto0to0.py b/tests/ported_static/stSStoreTest/test_sstore_xto0to0.py index 45ff41b5b68..e78926d2c21 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto0to0.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto0to0.py @@ -1,8 +1,8 @@ """ -change X -> 0 -> 0. +Change X -> 0 -> 0. Ported from: -tests/static/state_tests/stSStoreTest/sstore_Xto0to0Filler.json +state_tests/stSStoreTest/sstore_Xto0to0Filler.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,301 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_Xto0to0Filler.json"], + ["state_tests/stSStoreTest/sstore_Xto0to0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560006000556000600055600160015500", # noqa: E501 - 1000000, - { - Address("0xa3febbc9c8c7e91ba2c2bc7cd8b426240c8d6d95"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560006000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0xa3febbc9c8c7e91ba2c2bc7cd8b426240c8d6d95"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560006000556000600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560006000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto0to0( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> 0 -> 0.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -331,83 +183,348 @@ def test_sstore_xto0to0( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) * 2 + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) * 2 + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xA3FEBBC9C8C7E91BA2C2BC7CD8B426240C8D6D95): Account( + storage={1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) * 2 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) * 2 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto0to_x.py b/tests/ported_static/stSStoreTest/test_sstore_xto0to_x.py index 113415470be..1f26059f935 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto0to_x.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto0to_x.py @@ -1,8 +1,8 @@ """ -change X -> 0 -> X. +Change X -> 0 -> X. Ported from: -tests/static/state_tests/stSStoreTest/sstore_Xto0toXFiller.json +state_tests/stSStoreTest/sstore_Xto0toXFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,319 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_Xto0toXFiller.json"], + ["state_tests/stSStoreTest/sstore_Xto0toXFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560006000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xeedfcf2cf4289ff428de4801d7cb0554e27809f3"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560006000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xeedfcf2cf4289ff428de4801d7cb0554e27809f3"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560006000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560006000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto0to_x( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> 0 -> X.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -349,83 +183,354 @@ def test_sstore_xto0to_x( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xEEDFCF2CF4289FF428DE4801D7CB0554E27809F3): Account( + storage={0: 1, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto0to_xto0.py b/tests/ported_static/stSStoreTest/test_sstore_xto0to_xto0.py index 5069a46d7e7..c65fa6c8539 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto0to_xto0.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto0to_xto0.py @@ -1,8 +1,8 @@ """ -change X -> 0 -> X -> 0. +Change X -> 0 -> X -> 0. Ported from: -tests/static/state_tests/stSStoreTest/sstore_Xto0toXto0Filler.json +state_tests/stSStoreTest/sstore_Xto0toXto0Filler.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,301 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_Xto0toXto0Filler.json"], + ["state_tests/stSStoreTest/sstore_Xto0toXto0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601a80603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe6001600055600060005560016000556000600055600160015500", # noqa: E501 - 1000000, - { - Address("0xa26b643c4ba8272d24f60806a37b20f255620586"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601a80603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe6001600055600060005560016000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0xa26b643c4ba8272d24f60806a37b20f255620586"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601a80603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe6001600055600060005560016000556000600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601a80603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe6001600055600060005560016000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto0to_xto0( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> 0 -> X -> 0.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -331,85 +183,358 @@ def test_sstore_xto0to_xto0( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 1 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 1 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 0}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 0}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xA26B643C4BA8272D24F60806A37B20F255620586): Account( + storage={0: 0, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x1A] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x1A] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto0to_y.py b/tests/ported_static/stSStoreTest/test_sstore_xto0to_y.py index e2ee31d21e2..0152a4437bd 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto0to_y.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto0to_y.py @@ -1,8 +1,8 @@ """ -change X -> 0 -> Y. +Change X -> 0 -> Y. Ported from: -tests/static/state_tests/stSStoreTest/sstore_Xto0toYFiller.json +state_tests/stSStoreTest/sstore_Xto0toYFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,319 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_Xto0toYFiller.json"], + ["state_tests/stSStoreTest/sstore_Xto0toYFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600260005560006000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0x7123afcd1c327c946e05b4fb8aea10ad0f85cb52"): Account( - storage={0: 1, 1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600260005560006000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0x7123afcd1c327c946e05b4fb8aea10ad0f85cb52"): Account( - storage={0: 1, 1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600260005560006000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600260005560006000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto0to_y( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> 0 -> Y.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -349,83 +183,354 @@ def test_sstore_xto0to_y( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x2}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + storage={1: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 0 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x2}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + storage={1: 2}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 2}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x7123AFCD1C327C946E05B4FB8AEA10AD0F85CB52): Account( + storage={0: 1, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto_x.py b/tests/ported_static/stSStoreTest/test_sstore_xto_x.py index 4ed15e4a589..624f8477042 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto_x.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto_x.py @@ -1,8 +1,8 @@ """ -change X -> X. +Change X -> X. Ported from: -tests/static/state_tests/stSStoreTest/sstore_XtoXFiller.json +state_tests/stSStoreTest/sstore_XtoXFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,319 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_XtoXFiller.json"], + ["state_tests/stSStoreTest/sstore_XtoXFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60016000556001600055600160015500", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xf797d87eb948007fd777404ef459196b099d3ebe"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60016000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xf797d87eb948007fd777404ef459196b099d3ebe"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60016000556001600055600160015500", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60016000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto_x( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> X.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -349,75 +183,346 @@ def test_sstore_xto_x( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 1 } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xF797D87EB948007FD777404EF459196B099D3EBE): Account( + storage={0: 1, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) * 2 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) * 2 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [3000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto_xto0.py b/tests/ported_static/stSStoreTest/test_sstore_xto_xto0.py index 69ca3422eb1..f8cceff2e08 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto_xto0.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto_xto0.py @@ -1,8 +1,8 @@ """ -change X -> X -> 0. +Change X -> X -> 0. Ported from: -tests/static/state_tests/stSStoreTest/sstore_XtoXto0Filler.json +state_tests/stSStoreTest/sstore_XtoXto0Filler.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,301 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_XtoXto0Filler.json"], + ["state_tests/stSStoreTest/sstore_XtoXto0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560016000556000600055600160015500", # noqa: E501 - 1000000, - { - Address("0x01b59db2b74b93797420b1a86a28fe35f1e7d0dd"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560016000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0x01b59db2b74b93797420b1a86a28fe35f1e7d0dd"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560016000556000600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560016000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto_xto0( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> X -> 0.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -331,83 +183,352 @@ def test_sstore_xto_xto0( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x01B59DB2B74B93797420B1A86A28FE35F1E7D0DD): Account( + storage={1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) * 2 + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) * 2 + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto_xto_x.py b/tests/ported_static/stSStoreTest/test_sstore_xto_xto_x.py index 36ee983a08d..d35b0f6152b 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto_xto_x.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto_xto_x.py @@ -1,8 +1,8 @@ """ -change X -> X -> X. +Change X -> X -> X. Ported from: -tests/static/state_tests/stSStoreTest/sstore_XtoXtoXFiller.json +state_tests/stSStoreTest/sstore_XtoXtoXFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,319 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_XtoXtoXFiller.json"], + ["state_tests/stSStoreTest/sstore_XtoXtoXFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560016000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xba3394a0586b8419b4cf72c7d0f7e75a55a703f8"): Account( - storage={0: 1, 1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560016000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xba3394a0586b8419b4cf72c7d0f7e75a55a703f8"): Account( - storage={0: 1, 1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560016000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560016000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto_xto_x( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> X -> X.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -349,83 +183,346 @@ def test_sstore_xto_xto_x( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) * 2 + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) * 2 + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xBA3394A0586B8419B4CF72C7D0F7E75A55A703F8): Account( + storage={0: 1, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) * 3 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) * 3 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto_xto_y.py b/tests/ported_static/stSStoreTest/test_sstore_xto_xto_y.py index 71f9008532a..dbddb17fed5 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto_xto_y.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto_xto_y.py @@ -1,8 +1,8 @@ """ -change X -> X -> Y. +Change X -> X -> Y. Ported from: -tests/static/state_tests/stSStoreTest/sstore_XtoXtoYFiller.json +state_tests/stSStoreTest/sstore_XtoXtoYFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,319 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_XtoXtoYFiller.json"], + ["state_tests/stSStoreTest/sstore_XtoXtoYFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600260005560026000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0x6ab22377d181d9f2d8b5bffc62ac497abbd7cfc5"): Account( - storage={0: 1, 1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600260005560026000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0x6ab22377d181d9f2d8b5bffc62ac497abbd7cfc5"): Account( - storage={0: 1, 1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600260005560026000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600260005560026000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto_xto_y( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> X -> Y.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -349,83 +183,352 @@ def test_sstore_xto_xto_y( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 2 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x2) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x2}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x2) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + storage={1: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 2 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x2) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x2}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x2) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + storage={1: 2}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 2}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x6AB22377D181D9F2D8B5BFFC62AC497ABBD7CFC5): Account( + storage={0: 1, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x2) * 2 + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x2) * 2 + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto_y.py b/tests/ported_static/stSStoreTest/test_sstore_xto_y.py index c8ab1afa785..58220a6d3ea 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto_y.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto_y.py @@ -1,8 +1,8 @@ """ -change X -> Y. +Change X -> Y. Ported from: -tests/static/state_tests/stSStoreTest/sstore_XtoYFiller.json +state_tests/stSStoreTest/sstore_XtoYFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,319 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_XtoYFiller.json"], + ["state_tests/stSStoreTest/sstore_XtoYFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60016000556002600055600160015500", # noqa: E501 - 3000000, - { - Address("0x7e6ef1efbe92ad9adcfd8c92ba7932c904d03735"): Account( - storage={0: 2, 1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601080603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe60016000556002600055600160015500", # noqa: E501 - 400000, - { - Address("0x7e6ef1efbe92ad9adcfd8c92ba7932c904d03735"): Account( - storage={0: 2, 1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60016000556002600055600160015500", # noqa: E501 - 3000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601080603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe60016000556002600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto_y( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> Y.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -349,75 +183,348 @@ def test_sstore_xto_y( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 2 } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x2) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 2 } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x2) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 2}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 2}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x7E6EF1EFBE92AD9ADCFD8C92BA7932C904D03735): Account( + storage={0: 2, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [3000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto_yto0.py b/tests/ported_static/stSStoreTest/test_sstore_xto_yto0.py index 71273b4561e..84a664f84cd 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto_yto0.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto_yto0.py @@ -1,8 +1,8 @@ """ -change X -> Y -> 0. +Change X -> Y -> 0. Ported from: -tests/static/state_tests/stSStoreTest/sstore_XtoYto0Filler.json +state_tests/stSStoreTest/sstore_XtoYto0Filler.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,301 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_XtoYto0Filler.json"], + ["state_tests/stSStoreTest/sstore_XtoYto0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560026000556000600055600160015500", # noqa: E501 - 1000000, - { - Address("0x96606e69ee07f3ba565d1f25edea6c691a780e71"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560026000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0x96606e69ee07f3ba565d1f25edea6c691a780e71"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560026000556000600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560026000556000600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto_yto0( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> Y -> 0.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -331,83 +183,354 @@ def test_sstore_xto_yto0( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 2 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x2) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x2) + + Op.SSTORE(key=0x1, value=0x0) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 2 [[1]] 0 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x2) - + Op.SSTORE(key=0x1, value=0x0) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x2) + + Op.SSTORE(key=0x1, value=0x0) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x96606E69EE07F3BA565D1F25EDEA6C691A780E71): Account( + storage={1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto_yto_x.py b/tests/ported_static/stSStoreTest/test_sstore_xto_yto_x.py index e439c9a19b2..2d393c8df0f 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto_yto_x.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto_yto_x.py @@ -1,8 +1,8 @@ """ -change X -> Y -> X. +Change X -> Y -> X. Ported from: -tests/static/state_tests/stSStoreTest/sstore_XtoYtoXFiller.json +state_tests/stSStoreTest/sstore_XtoYtoXFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,319 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_XtoYtoXFiller.json"], + ["state_tests/stSStoreTest/sstore_XtoYtoXFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560026000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0x90b7d8d4bc39664e30be0c2380e2b04aa15c6518"): Account( - storage={0: 1, 1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560026000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0x90b7d8d4bc39664e30be0c2380e2b04aa15c6518"): Account( - storage={0: 1, 1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560026000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560026000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto_yto_x( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> Y -> X.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -349,83 +183,354 @@ def test_sstore_xto_yto_x( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 2 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x2) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x2) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 2 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x2) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x2) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x90B7D8D4BC39664E30BE0C2380E2B04AA15C6518): Account( + storage={0: 1, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto_yto_y.py b/tests/ported_static/stSStoreTest/test_sstore_xto_yto_y.py index 3d0bd48c79c..f1a39c8dc91 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto_yto_y.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto_yto_y.py @@ -1,8 +1,8 @@ """ -change X -> Y -> Y. +Change X -> Y -> Y. Ported from: -tests/static/state_tests/stSStoreTest/sstore_XtoYtoYFiller.json +state_tests/stSStoreTest/sstore_XtoYtoYFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,319 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_XtoYtoYFiller.json"], + ["state_tests/stSStoreTest/sstore_XtoYtoYFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600260005560016000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xa84440891ddec0f3a6fa2423d55e437383ad272b"): Account( - storage={0: 1, 1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600260005560016000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xa84440891ddec0f3a6fa2423d55e437383ad272b"): Account( - storage={0: 1, 1: 1} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600260005560016000556001600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600260005560016000556001600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 2} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto_yto_y( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> Y -> Y.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -349,83 +183,348 @@ def test_sstore_xto_yto_y( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x2}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) * 2 + Op.STOP, + storage={1: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 1 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x2}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) * 2 + Op.STOP, + storage={1: 2}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 2}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 1}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xA84440891DDEC0F3A6FA2423D55E437383AD272B): Account( + storage={0: 1, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x1) * 2 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x1) * 2 + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSStoreTest/test_sstore_xto_yto_z.py b/tests/ported_static/stSStoreTest/test_sstore_xto_yto_z.py index 5057aef8438..4e4d7d8f0dc 100644 --- a/tests/ported_static/stSStoreTest/test_sstore_xto_yto_z.py +++ b/tests/ported_static/stSStoreTest/test_sstore_xto_yto_z.py @@ -1,8 +1,8 @@ """ -change X -> Y -> Z. +Change X -> Y -> Z. Ported from: -tests/static/state_tests/stSStoreTest/sstore_XtoYtoZFiller.json +state_tests/stSStoreTest/sstore_XtoYtoZFiller.json """ import pytest @@ -14,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,319 +27,148 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSStoreTest/sstore_XtoYtoZFiller.json"], + ["state_tests/stSStoreTest/sstore_XtoYtoZFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 3} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 3} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 3} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 3} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 3} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 3} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f100", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560026000556003600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xde59ca290fa8b9e3db697325d153c540ac08321d"): Account( - storage={0: 3, 1: 1} - ), - Address("0xdea0000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "6000601580603860003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f1500000fe600160005560026000556003600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xde59ca290fa8b9e3db697325d153c540ac08321d"): Account( - storage={0: 3, 1: 1} - ), - }, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f1506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 0, + 0, + id="d6-g0", ), - ( - "6000600060006000600073b000000000000000000000000000000000000000620493e0f2506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 6, + 1, + 0, + id="d6-g1", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 0, + 0, + id="d7-g0", ), - ( - "600060006000600073b000000000000000000000000000000000000000620493e0f4506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 7, + 1, + 0, + id="d7-g1", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 0, + 0, + id="d8-g0", ), - ( - "600060006000600073c000000000000000000000000000000000000000620493e0fa506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd00", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 8, + 1, + 0, + id="d8-g1", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560026000556003600055600160015500", # noqa: E501 - 1000000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 0, + 0, + id="d9-g0", ), - ( - "6000601580603d60003960006000f5506000600060006000600073dea0000000000000000000000000000000000000620927c0f15060206000fd0000fe600160005560026000556003600055600160015500", # noqa: E501 - 400000, - { - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0xc000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - }, + pytest.param( + 9, + 1, + 0, + id="d9-g1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable def test_sstore_xto_yto_z( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Change X -> Y -> Z.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xC000000000000000000000000000000000000000) + contract_2 = Address(0xDEA0000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -349,83 +183,354 @@ def test_sstore_xto_yto_z( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[1]] 2 [[1]] 3 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x2) - + Op.SSTORE(key=0x1, value=0x3) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x2) + + Op.SSTORE(key=0x1, value=0x3) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 2 [[1]] 3 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x2) - + Op.SSTORE(key=0x1, value=0x3) - + Op.STOP - ), - storage={0x1: 0x1}, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x2) + + Op.SSTORE(key=0x1, value=0x3) + + Op.STOP, + storage={1: 1}, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xdea0000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xDEA0000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 3}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={}, nonce=1 + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={1: 1}), + contract_2: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account( + storage={1: 3}, nonce=1 + ), + }, + }, + { + "indexes": {"data": 3, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 1})}, + }, + { + "indexes": {"data": 4, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0xDE59CA290FA8B9E3DB697325D153C540AC08321D): Account( + storage={0: 3, 1: 1} + ), + contract_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [5, 6, 7, 8, 9], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x38, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x3) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, + Op.PUSH1[0x0] + + Op.PUSH1[0x15] + + Op.CODECOPY(dest_offset=0x0, offset=0x3D, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE2) + + Op.POP( + Op.CALL( + gas=0x927C0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP * 2 + + Op.INVALID + + Op.SSTORE(key=0x0, value=0x1) + + Op.SSTORE(key=0x0, value=0x2) + + Op.SSTORE(key=0x0, value=0x3) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + ] + tx_gas = [1000000, 400000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=tx_gas_limit, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSelfBalance/__init__.py b/tests/ported_static/stSelfBalance/__init__.py index 09662f5e3b5..2ef7a568553 100644 --- a/tests/ported_static/stSelfBalance/__init__.py +++ b/tests/ported_static/stSelfBalance/__init__.py @@ -1 +1 @@ -"""Tests ported from stSelfBalance.""" +"""Ported static tests: stSelfBalance.""" # noqa: N999 diff --git a/tests/ported_static/stSelfBalance/test_self_balance.py b/tests/ported_static/stSelfBalance/test_self_balance.py index de8e1596a64..23828020906 100644 --- a/tests/ported_static/stSelfBalance/test_self_balance.py +++ b/tests/ported_static/stSelfBalance/test_self_balance.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_self_balance. Ported from: -tests/static/state_tests/stSelfBalance/selfBalanceFiller.json +state_tests/stSelfBalance/selfBalanceFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSelfBalance/selfBalanceFiller.json"], + ["state_tests/stSelfBalance/selfBalanceFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_self_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_self_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 ) @@ -45,24 +46,23 @@ def test_self_balance( gas_limit=10000000000, ) - # Source: LLL + # Source: lll # { [[ 1 ]] (SELFBALANCE) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=Op.SELFBALANCE) + Op.STOP, balance=500, nonce=0, - address=Address("0xc4686d898faa85a20d23378b84956c9e10295db5"), # noqa: E501 + address=Address(0xC4686D898FAA85A20D23378B84956C9E10295DB5), # noqa: E501 ) pre[sender] = Account(balance=0x3635C9ADC5DEA00000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={1: 500}), - } + post = {target: Account(storage={1: 500})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSelfBalance/test_self_balance_call_types.py b/tests/ported_static/stSelfBalance/test_self_balance_call_types.py index b920ac7e243..d28cf8016a1 100644 --- a/tests/ported_static/stSelfBalance/test_self_balance_call_types.py +++ b/tests/ported_static/stSelfBalance/test_self_balance_call_types.py @@ -2,7 +2,7 @@ SELFBALANCE tests inside CALL, DELEGATECALL, and CALLCODE. Ported from: -tests/static/state_tests/stSelfBalance/selfBalanceCallTypesFiller.json +state_tests/stSelfBalance/selfBalanceCallTypesFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,87 +27,43 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSelfBalance/selfBalanceCallTypesFiller.json"], + ["state_tests/stSelfBalance/selfBalanceCallTypesFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000000000000000000000000000000000000000000001", - { - Address("0x76bac61ee2056f42f6cc29f5400adae3e5705237"): Account( - storage={33: 4352} - ), - Address("0x84bf87fbef135afea15330fdf5847eb504cff901"): Account( - storage={ - 0: 0xA590BBF1B07B00FED987724E1DB1BF206C2BC37C, - 1: 0x76BAC61EE2056F42F6CC29F5400ADAE3E5705237, - 2: 0x8537CE29429EA557E3903C255EE6554DD8D21D26, - 3: 0xE1CE93B3251FB38AE74D41AF9F865978C572CF63, - } - ), - Address("0x8537ce29429ea557e3903c255ee6554dd8d21d26"): Account( - storage={49: 5} - ), - Address("0xa590bbf1b07b00fed987724e1db1bf206c2bc37c"): Account( - storage={17: 1} - ), - Address("0xe1ce93b3251fb38ae74d41af9f865978c572cf63"): Account( - storage={65: 4864, 66: 4863, 67: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000000000000000000000000000000000000000000002", - { - Address("0x84bf87fbef135afea15330fdf5847eb504cff901"): Account( - storage={ - 0: 0xA590BBF1B07B00FED987724E1DB1BF206C2BC37C, - 1: 0x76BAC61EE2056F42F6CC29F5400ADAE3E5705237, - 2: 0x8537CE29429EA557E3903C255EE6554DD8D21D26, - 3: 0xE1CE93B3251FB38AE74D41AF9F865978C572CF63, - 17: 1, - 33: 8192, - 49: 5, - 65: 8192, - 66: 8191, - 67: 1, - } - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "0000000000000000000000000000000000000000000000000000000000000003", - { - Address("0x84bf87fbef135afea15330fdf5847eb504cff901"): Account( - storage={ - 0: 0xA590BBF1B07B00FED987724E1DB1BF206C2BC37C, - 1: 0x76BAC61EE2056F42F6CC29F5400ADAE3E5705237, - 2: 0x8537CE29429EA557E3903C255EE6554DD8D21D26, - 3: 0xE1CE93B3251FB38AE74D41AF9F865978C572CF63, - 17: 1, - 33: 8192, - 49: 5, - 65: 8192, - 66: 8191, - 67: 1, - } - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_self_balance_call_types( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """SELFBALANCE tests inside CALL, DELEGATECALL, and CALLCODE.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 ) @@ -116,150 +77,188 @@ def test_self_balance_call_types( gas_limit=10000000000, ) - pre.deploy_contract( + # Source: lll + # { [[ 0x11 ]] (EQ (SELFBALANCE) (BALANCE (ADDRESS))) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x11, + value=Op.EQ(Op.SELFBALANCE, Op.BALANCE(address=Op.ADDRESS)), + ) + + Op.STOP, + balance=4096, + nonce=0, + address=Address(0xA590BBF1B07B00FED987724E1DB1BF206C2BC37C), # noqa: E501 + ) + # Source: lll + # { [[ 0x21 ]] (SELFBALANCE) } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x21, value=Op.SELFBALANCE) + Op.STOP, balance=4352, nonce=0, - address=Address("0x76bac61ee2056f42f6cc29f5400adae3e5705237"), # noqa: E501 + address=Address(0x76BAC61EE2056F42F6CC29F5400ADAE3E5705237), # noqa: E501 ) - # Source: LLL - # {(set 'i 0) (while @@ @i {(when (eq 0x01 $0x0) (call allgas @@ @i 0 0 0 0 0)) (when (eq 0x02 $0x0) (delegatecall allgas @@ @i 0 0 0 0)) (when (eq 0x03 $0x0) (callcode allgas @@ @i 0 0 0 0 0)) [i]:(+ @i 1)})} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x80, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x75, - condition=Op.ISZERO(Op.SLOAD(key=Op.MLOAD(offset=0x80))), - ) - + Op.JUMPI( - pc=0x2C, - condition=Op.ISZERO(Op.EQ(0x1, Op.CALLDATALOAD(offset=0x0))), - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x15), - address=Op.SLOAD(key=Op.MLOAD(offset=0x80)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x49, - condition=Op.ISZERO(Op.EQ(0x2, Op.CALLDATALOAD(offset=0x0))), + # Source: lll + # (asm GAS SELFBALANCE GAS SWAP1 POP SWAP1 SUB 2 SWAP1 SUB 0x31 SSTORE) + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.GAS + + Op.SELFBALANCE + + Op.GAS + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.SUB + + Op.PUSH1[0x2] + + Op.SWAP1 + + Op.SSTORE(key=0x31, value=Op.SUB) + + Op.STOP, + balance=4608, + nonce=0, + address=Address(0x8537CE29429EA557E3903C255EE6554DD8D21D26), # noqa: E501 + ) + # Source: lll + # (asm SELFBALANCE DUP1 0x41 SSTORE 0 0 0 0 1 0 0 CALL POP SELFBALANCE DUP1 0x42 SSTORE SWAP1 SUB 0x43 SSTORE) # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SELFBALANCE + + Op.SSTORE(key=0x41, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x0, + address=0x0, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP( - Op.DELEGATECALL( - gas=Op.SUB(Op.GAS, 0x15), - address=Op.SLOAD(key=Op.MLOAD(offset=0x80)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.SELFBALANCE + + Op.SSTORE(key=0x42, value=Op.DUP1) + + Op.SWAP1 + + Op.SSTORE(key=0x43, value=Op.SUB) + + Op.STOP, + balance=4864, + nonce=0, + address=Address(0xE1CE93B3251FB38AE74D41AF9F865978C572CF63), # noqa: E501 + ) + # Source: lll + # {(set 'i 0) (while @@ @i {(when (eq 0x01 $0x0) (call allgas @@ @i 0 0 0 0 0)) (when (eq 0x02 $0x0) (delegatecall allgas @@ @i 0 0 0 0)) (when (eq 0x03 $0x0) (callcode allgas @@ @i 0 0 0 0 0)) [i]:(+ @i 1)})} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x80, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x75, condition=Op.ISZERO(Op.SLOAD(key=Op.MLOAD(offset=0x80))) + ) + + Op.JUMPI( + pc=0x2C, + condition=Op.ISZERO(Op.EQ(0x1, Op.CALLDATALOAD(offset=0x0))), + ) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x15), + address=Op.SLOAD(key=Op.MLOAD(offset=0x80)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x68, - condition=Op.ISZERO(Op.EQ(0x3, Op.CALLDATALOAD(offset=0x0))), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x49, + condition=Op.ISZERO(Op.EQ(0x2, Op.CALLDATALOAD(offset=0x0))), + ) + + Op.POP( + Op.DELEGATECALL( + gas=Op.SUB(Op.GAS, 0x15), + address=Op.SLOAD(key=Op.MLOAD(offset=0x80)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP( - Op.CALLCODE( - gas=Op.SUB(Op.GAS, 0x15), - address=Op.SLOAD(key=Op.MLOAD(offset=0x80)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x68, + condition=Op.ISZERO(Op.EQ(0x3, Op.CALLDATALOAD(offset=0x0))), + ) + + Op.POP( + Op.CALLCODE( + gas=Op.SUB(Op.GAS, 0x15), + address=Op.SLOAD(key=Op.MLOAD(offset=0x80)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPDEST - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x5) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x5) + + Op.JUMPDEST + + Op.STOP, storage={ - 0x0: 0xA590BBF1B07B00FED987724E1DB1BF206C2BC37C, - 0x1: 0x76BAC61EE2056F42F6CC29F5400ADAE3E5705237, - 0x2: 0x8537CE29429EA557E3903C255EE6554DD8D21D26, - 0x3: 0xE1CE93B3251FB38AE74D41AF9F865978C572CF63, + 0: 0xA590BBF1B07B00FED987724E1DB1BF206C2BC37C, + 1: 0x76BAC61EE2056F42F6CC29F5400ADAE3E5705237, + 2: 0x8537CE29429EA557E3903C255EE6554DD8D21D26, + 3: 0xE1CE93B3251FB38AE74D41AF9F865978C572CF63, }, balance=8192, nonce=0, - address=Address("0x84bf87fbef135afea15330fdf5847eb504cff901"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.GAS - + Op.SELFBALANCE - + Op.GAS - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.SUB - + Op.PUSH1[0x2] - + Op.SWAP1 - + Op.SSTORE(key=0x31, value=Op.SUB) - + Op.STOP - ), - balance=4608, - nonce=0, - address=Address("0x8537ce29429ea557e3903c255ee6554dd8d21d26"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x11, - value=Op.EQ(Op.SELFBALANCE, Op.BALANCE(address=Op.ADDRESS)), - ) - + Op.STOP - ), - balance=4096, - nonce=0, - address=Address("0xa590bbf1b07b00fed987724e1db1bf206c2bc37c"), # noqa: E501 + address=Address(0x84BF87FBEF135AFEA15330FDF5847EB504CFF901), # noqa: E501 ) pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - pre.deploy_contract( - code=( - Op.SELFBALANCE - + Op.SSTORE(key=0x41, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x0, - address=0x0, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage={17: 1}), + addr_2: Account(storage={33: 4352}), + addr_3: Account(storage={49: 5}), + addr_4: Account(storage={65: 4864, 66: 4863, 67: 1}), + }, + }, + { + "indexes": {"data": [1, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 0: 0xA590BBF1B07B00FED987724E1DB1BF206C2BC37C, + 1: 0x76BAC61EE2056F42F6CC29F5400ADAE3E5705237, + 2: 0x8537CE29429EA557E3903C255EE6554DD8D21D26, + 3: 0xE1CE93B3251FB38AE74D41AF9F865978C572CF63, + 17: 1, + 33: 8192, + 49: 5, + 65: 8192, + 66: 8191, + 67: 1, + }, ), - ) - + Op.SELFBALANCE - + Op.SSTORE(key=0x42, value=Op.DUP1) - + Op.SWAP1 - + Op.SSTORE(key=0x43, value=Op.SUB) - + Op.STOP - ), - balance=4864, - nonce=0, - address=Address("0xe1ce93b3251fb38ae74d41af9f865978c572cf63"), # noqa: E501 - ) + }, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x1), + Hash(0x2), + Hash(0x3), + ] + tx_gas = [1000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSelfBalance/test_self_balance_equals_balance.py b/tests/ported_static/stSelfBalance/test_self_balance_equals_balance.py index 2f6a64e368a..b5b52153141 100644 --- a/tests/ported_static/stSelfBalance/test_self_balance_equals_balance.py +++ b/tests/ported_static/stSelfBalance/test_self_balance_equals_balance.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_self_balance_equals_balance. Ported from: -tests/static/state_tests/stSelfBalance/selfBalanceEqualsBalanceFiller.json +state_tests/stSelfBalance/selfBalanceEqualsBalanceFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSelfBalance/selfBalanceEqualsBalanceFiller.json", # noqa: E501 - ], + ["state_tests/stSelfBalance/selfBalanceEqualsBalanceFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_self_balance_equals_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_self_balance_equals_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 ) @@ -47,30 +46,27 @@ def test_self_balance_equals_balance( gas_limit=10000000000, ) - # Source: LLL + # Source: lll # { [[ 1 ]] (EQ (SELFBALANCE) (BALANCE (ADDRESS))) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.EQ(Op.SELFBALANCE, Op.BALANCE(address=Op.ADDRESS)), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.EQ(Op.SELFBALANCE, Op.BALANCE(address=Op.ADDRESS)), + ) + + Op.STOP, balance=500, nonce=0, - address=Address("0x2f9dc2c2519cfd4ff8f7f296575c59dbe303d452"), # noqa: E501 + address=Address(0x2F9DC2C2519CFD4FF8F7F296575C59DBE303D452), # noqa: E501 ) pre[sender] = Account(balance=0x3635C9ADC5DEA00000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSelfBalance/test_self_balance_gas_cost.py b/tests/ported_static/stSelfBalance/test_self_balance_gas_cost.py index 7dcf9e53999..550b06f00cd 100644 --- a/tests/ported_static/stSelfBalance/test_self_balance_gas_cost.py +++ b/tests/ported_static/stSelfBalance/test_self_balance_gas_cost.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_self_balance_gas_cost. Ported from: -tests/static/state_tests/stSelfBalance/selfBalanceGasCostFiller.json +state_tests/stSelfBalance/selfBalanceGasCostFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSelfBalance/selfBalanceGasCostFiller.json"], + ["state_tests/stSelfBalance/selfBalanceGasCostFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_self_balance_gas_cost( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_self_balance_gas_cost.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 ) @@ -45,35 +46,32 @@ def test_self_balance_gas_cost( gas_limit=10000000000, ) - # Source: asm + # Source: lll # (asm GAS SELFBALANCE GAS SWAP1 POP SWAP1 SUB 2 SWAP1 SUB 0x01 SSTORE) - contract = pre.deploy_contract( - code=( - Op.GAS - + Op.SELFBALANCE - + Op.GAS - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.SUB - + Op.PUSH1[0x2] - + Op.SWAP1 - + Op.SSTORE(key=0x1, value=Op.SUB) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.GAS + + Op.SELFBALANCE + + Op.GAS + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.SUB + + Op.PUSH1[0x2] + + Op.SWAP1 + + Op.SSTORE(key=0x1, value=Op.SUB) + + Op.STOP, nonce=0, - address=Address("0x20005b9a765d12c8f6ac08c2673b00fa6be00486"), # noqa: E501 + address=Address(0x20005B9A765D12C8F6AC08C2673B00FA6BE00486), # noqa: E501 ) pre[sender] = Account(balance=0x3635C9ADC5DEA00000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post = { - contract: Account(storage={1: 5}), - } + post = {target: Account(storage={1: 5})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSelfBalance/test_self_balance_update.py b/tests/ported_static/stSelfBalance/test_self_balance_update.py index 15c05b217d2..79deaf3c9d2 100644 --- a/tests/ported_static/stSelfBalance/test_self_balance_update.py +++ b/tests/ported_static/stSelfBalance/test_self_balance_update.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_self_balance_update. Ported from: -tests/static/state_tests/stSelfBalance/selfBalanceUpdateFiller.json +state_tests/stSelfBalance/selfBalanceUpdateFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSelfBalance/selfBalanceUpdateFiller.json"], + ["state_tests/stSelfBalance/selfBalanceUpdateFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_self_balance_update( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_self_balance_update.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x897B12D02D588D8A4FE16FF831CBD4459C6F62F8C845B0CCDD31CAF068C84A26 ) @@ -45,43 +46,40 @@ def test_self_balance_update( gas_limit=10000000000, ) - pre[sender] = Account(balance=0x3635C9ADC5DEA00000) - # Source: asm + # Source: lll # (asm SELFBALANCE DUP1 1 SSTORE 0 0 0 0 1 0 0 CALL POP SELFBALANCE DUP1 2 SSTORE SWAP1 SUB 3 SSTORE) # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SELFBALANCE - + Op.SSTORE(key=0x1, value=Op.DUP1) - + Op.POP( - Op.CALL( - gas=0x0, - address=0x0, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFBALANCE + + Op.SSTORE(key=0x1, value=Op.DUP1) + + Op.POP( + Op.CALL( + gas=0x0, + address=0x0, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SELFBALANCE - + Op.SSTORE(key=0x2, value=Op.DUP1) - + Op.SWAP1 - + Op.SSTORE(key=0x3, value=Op.SUB) - + Op.STOP - ), + ) + + Op.SELFBALANCE + + Op.SSTORE(key=0x2, value=Op.DUP1) + + Op.SWAP1 + + Op.SSTORE(key=0x3, value=Op.SUB) + + Op.STOP, balance=500, nonce=0, - address=Address("0xff44472f5ffdd079c61153f097871f57c1f689ca"), # noqa: E501 + address=Address(0xFF44472F5FFDD079C61153F097871F57C1F689CA), # noqa: E501 ) + pre[sender] = Account(balance=0x3635C9ADC5DEA00000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, ) - post = { - contract: Account(storage={1: 500, 2: 499, 3: 1}), - } + post = {target: Account(storage={1: 500, 2: 499, 3: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/__init__.py b/tests/ported_static/stShift/__init__.py index 7215c937efb..053ce95e4ae 100644 --- a/tests/ported_static/stShift/__init__.py +++ b/tests/ported_static/stShift/__init__.py @@ -1 +1 @@ -"""Tests ported from stShift.""" +"""Ported static tests: stShift.""" # noqa: N999 diff --git a/tests/ported_static/stShift/test_sar00.py b/tests/ported_static/stShift/test_sar00.py index 4806b999ff8..bab4d933456 100644 --- a/tests/ported_static/stShift/test_sar00.py +++ b/tests/ported_static/stShift/test_sar00.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar00. Ported from: -tests/static/state_tests/stShift/sar00Filler.json +state_tests/stShift/sar00Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar00Filler.json"], + ["state_tests/stShift/sar00Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar00( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar00.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,23 +46,28 @@ def test_sar00( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x600060001d600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SAR(0x0, 0x0)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9ad94489822593b54793e82913f291c9207d1310"), # noqa: E501 + address=Address(0x9AD94489822593B54793E82913F291C9207D1310), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar01.py b/tests/ported_static/stShift/test_sar01.py index 3844c0dfc8a..299444854af 100644 --- a/tests/ported_static/stShift/test_sar01.py +++ b/tests/ported_static/stShift/test_sar01.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar01. Ported from: -tests/static/state_tests/stShift/sar01Filler.json +state_tests/stShift/sar01Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar01Filler.json"], + ["state_tests/stShift/sar01Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar01( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar01.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,23 +46,28 @@ def test_sar01( gas_limit=1000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x600060011d600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SAR(0x1, 0x0)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2dde5f71c0d0ecc67a9ae94c2cafa14fbb93b84c"), # noqa: E501 + address=Address(0x2DDE5F71C0D0ECC67A9AE94C2CAFA14FBB93B84C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar10.py b/tests/ported_static/stShift/test_sar10.py index acec8ea3cbc..3f76aa5730a 100644 --- a/tests/ported_static/stShift/test_sar10.py +++ b/tests/ported_static/stShift/test_sar10.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar10. Ported from: -tests/static/state_tests/stShift/sar10Filler.json +state_tests/stShift/sar10Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar10Filler.json"], + ["state_tests/stShift/sar10Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar10( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar10.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,25 +46,28 @@ def test_sar10( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x600160001d600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SAR(0x0, 0x1)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa3460b99a5bcb7697befbfff895f60bdf7984363"), # noqa: E501 + address=Address(0xA3460B99A5BCB7697BEFBFFF895F60BDF7984363), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar11.py b/tests/ported_static/stShift/test_sar11.py index 166f147e42a..0d593ab415d 100644 --- a/tests/ported_static/stShift/test_sar11.py +++ b/tests/ported_static/stShift/test_sar11.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar11. Ported from: -tests/static/state_tests/stShift/sar11Filler.json +state_tests/stShift/sar11Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar11Filler.json"], + ["state_tests/stShift/sar11Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar11( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar11.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,23 +46,28 @@ def test_sar11( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x600160011d600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SAR(0x1, 0x1)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7362d25017f41b7d56bc5878cbb1fb9b03c39e26"), # noqa: E501 + address=Address(0x7362D25017F41B7D56BC5878CBB1FB9B03C39E26), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_0_256_minus_1.py b/tests/ported_static/stShift/test_sar_0_256_minus_1.py index 17b167571cd..2072027865b 100644 --- a/tests/ported_static/stShift/test_sar_0_256_minus_1.py +++ b/tests/ported_static/stShift/test_sar_0_256_minus_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_0_256_minus_1. Ported from: -tests/static/state_tests/stShift/sar_0_256-1Filler.json +state_tests/stShift/sar_0_256-1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_0_256-1Filler.json"], + ["state_tests/stShift/sar_0_256-1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_0_256_minus_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_0_256_minus_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,39 +46,40 @@ def test_sar_0_256_minus_1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (SSTORE 0 (SAR 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) - + Op.STOP - ), - storage={0x0: 0x3}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd1e074895679e6afb7a9f3cb1ac3ffa300d2a5e8"), # noqa: E501 + address=Address(0xD1E074895679E6AFB7A9F3CB1AC3FFA300D2A5E8), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_254_254.py b/tests/ported_static/stShift/test_sar_2_254_254.py index 72aa8673fcf..77350fa415e 100644 --- a/tests/ported_static/stShift/test_sar_2_254_254.py +++ b/tests/ported_static/stShift/test_sar_2_254_254.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_254_254. Ported from: -tests/static/state_tests/stShift/sar_2^254_254Filler.json +state_tests/stShift/sar_2^254_254Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^254_254Filler.json"], + ["state_tests/stShift/sar_2^254_254Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_254_254( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_254_254.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,33 +46,34 @@ def test_sar_2_254_254( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0xFE, - 0x4000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - ) + # Source: raw + # 0x7f400000000000000000000000000000000000000000000000000000000000000060fe1d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0xFE, + 0x4000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6f6a7e06c68b63202842c646a7eb4f01880d8af0"), # noqa: E501 + address=Address(0x6F6A7E06C68B63202842C646A7EB4F01880D8AF0), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_255_1.py b/tests/ported_static/stShift/test_sar_2_255_1.py index ad0d95fcaa6..0019f19ade1 100644 --- a/tests/ported_static/stShift/test_sar_2_255_1.py +++ b/tests/ported_static/stShift/test_sar_2_255_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_255_1. Ported from: -tests/static/state_tests/stShift/sar_2^255_1Filler.json +state_tests/stShift/sar_2^255_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^255_1Filler.json"], + ["state_tests/stShift/sar_2^255_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_255_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_255_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,39 @@ def test_sar_2_255_1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0x1, - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - ) + # Source: raw + # 0x7f800000000000000000000000000000000000000000000000000000000000000060011d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0x1, + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb6587b163f780eaaa5c216dd3ddf2e381feaa96c"), # noqa: E501 + address=Address(0xB6587B163F780EAAA5C216DD3DDF2E381FEAA96C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xC000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_255_255.py b/tests/ported_static/stShift/test_sar_2_255_255.py index 6d1c9742e7a..935617c7ad9 100644 --- a/tests/ported_static/stShift/test_sar_2_255_255.py +++ b/tests/ported_static/stShift/test_sar_2_255_255.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_255_255. Ported from: -tests/static/state_tests/stShift/sar_2^255_255Filler.json +state_tests/stShift/sar_2^255_255Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^255_255Filler.json"], + ["state_tests/stShift/sar_2^255_255Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_255_255( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_255_255.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,39 @@ def test_sar_2_255_255( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0xFF, - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - ) + # Source: raw + # 0x7f800000000000000000000000000000000000000000000000000000000000000060ff1d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0xFF, + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xed3a766218e6436fd80f97075b08df750f226f0d"), # noqa: E501 + address=Address(0xED3A766218E6436FD80F97075B08DF750F226F0D), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_255_256.py b/tests/ported_static/stShift/test_sar_2_255_256.py index b3672af6292..d4d2eb6db16 100644 --- a/tests/ported_static/stShift/test_sar_2_255_256.py +++ b/tests/ported_static/stShift/test_sar_2_255_256.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_255_256. Ported from: -tests/static/state_tests/stShift/sar_2^255_256Filler.json +state_tests/stShift/sar_2^255_256Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^255_256Filler.json"], + ["state_tests/stShift/sar_2^255_256Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_255_256( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_255_256.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,39 @@ def test_sar_2_255_256( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0x100, - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - ) + # Source: raw + # 0x7f80000000000000000000000000000000000000000000000000000000000000006101001d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0x100, + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xaf9b43858d7f35038aea2acf1fffea3df1ab4bcc"), # noqa: E501 + address=Address(0xAF9B43858D7F35038AEA2ACF1FFFEA3DF1AB4BCC), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_255_257.py b/tests/ported_static/stShift/test_sar_2_255_257.py index c4a70b70563..4572c012fbc 100644 --- a/tests/ported_static/stShift/test_sar_2_255_257.py +++ b/tests/ported_static/stShift/test_sar_2_255_257.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_255_257. Ported from: -tests/static/state_tests/stShift/sar_2^255_257Filler.json +state_tests/stShift/sar_2^255_257Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^255_257Filler.json"], + ["state_tests/stShift/sar_2^255_257Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_255_257( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_255_257.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,39 @@ def test_sar_2_255_257( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0x101, - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - ) + # Source: raw + # 0x7f80000000000000000000000000000000000000000000000000000000000000006101011d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0x101, + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf1b108eb4de4c7a4c0b2258442c550d23df640a0"), # noqa: E501 + address=Address(0xF1B108EB4DE4C7A4C0B2258442C550D23DF640A0), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_255_minus_1_248.py b/tests/ported_static/stShift/test_sar_2_255_minus_1_248.py index 3c5e22bddc6..f8ea1bb304b 100644 --- a/tests/ported_static/stShift/test_sar_2_255_minus_1_248.py +++ b/tests/ported_static/stShift/test_sar_2_255_minus_1_248.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_255_minus_1_248. Ported from: -tests/static/state_tests/stShift/sar_2^255-1_248Filler.json +state_tests/stShift/sar_2^255-1_248Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^255-1_248Filler.json"], + ["state_tests/stShift/sar_2^255-1_248Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_255_minus_1_248( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_255_minus_1_248.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,33 +46,34 @@ def test_sar_2_255_minus_1_248( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0xF8, - 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f81d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0xF8, + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xaca270ca7f9e766b84a13de48f52dafc92b80f8e"), # noqa: E501 + address=Address(0xACA270CA7F9E766B84A13DE48F52DAFC92B80F8E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 127}), + target: Account(storage={0: 127}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_255_minus_1_254.py b/tests/ported_static/stShift/test_sar_2_255_minus_1_254.py index 06967040d7b..4b7bcca5a1b 100644 --- a/tests/ported_static/stShift/test_sar_2_255_minus_1_254.py +++ b/tests/ported_static/stShift/test_sar_2_255_minus_1_254.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_255_minus_1_254. Ported from: -tests/static/state_tests/stShift/sar_2^255-1_254Filler.json +state_tests/stShift/sar_2^255-1_254Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^255-1_254Filler.json"], + ["state_tests/stShift/sar_2^255-1_254Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_255_minus_1_254( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_255_minus_1_254.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,33 +46,34 @@ def test_sar_2_255_minus_1_254( gas_limit=1000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0xFE, - 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60fe1d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0xFE, + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x21f937f03a969139cfd6a0c20959317d0a4ae6ba"), # noqa: E501 + address=Address(0x21F937F03A969139CFD6A0C20959317D0A4AE6BA), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_255_minus_1_255.py b/tests/ported_static/stShift/test_sar_2_255_minus_1_255.py index c2c68b1517b..657353f00bb 100644 --- a/tests/ported_static/stShift/test_sar_2_255_minus_1_255.py +++ b/tests/ported_static/stShift/test_sar_2_255_minus_1_255.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_255_minus_1_255. Ported from: -tests/static/state_tests/stShift/sar_2^255-1_255Filler.json +state_tests/stShift/sar_2^255-1_255Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^255-1_255Filler.json"], + ["state_tests/stShift/sar_2^255-1_255Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_255_minus_1_255( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_255_minus_1_255.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,31 +46,34 @@ def test_sar_2_255_minus_1_255( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0xFF, - 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0xFF, + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x38ef04946eafcf6e172cc1ab51f731a7df62ae9c"), # noqa: E501 + address=Address(0x38EF04946EAFCF6E172CC1AB51F731A7DF62AE9C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_255_minus_1_256.py b/tests/ported_static/stShift/test_sar_2_255_minus_1_256.py index a127a870b0e..1cecc9bd5db 100644 --- a/tests/ported_static/stShift/test_sar_2_255_minus_1_256.py +++ b/tests/ported_static/stShift/test_sar_2_255_minus_1_256.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_255_minus_1_256. Ported from: -tests/static/state_tests/stShift/sar_2^255-1_256Filler.json +state_tests/stShift/sar_2^255-1_256Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^255-1_256Filler.json"], + ["state_tests/stShift/sar_2^255-1_256Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_255_minus_1_256( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_255_minus_1_256.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,31 +46,34 @@ def test_sar_2_255_minus_1_256( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0x100, - 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0x100, + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2fc6cb11c70cd31a1bb03c5149f434d6c9c553aa"), # noqa: E501 + address=Address(0x2FC6CB11C70CD31A1BB03C5149F434D6C9C553AA), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_256_minus_1_0.py b/tests/ported_static/stShift/test_sar_2_256_minus_1_0.py index a00853a78ca..4b743fc4888 100644 --- a/tests/ported_static/stShift/test_sar_2_256_minus_1_0.py +++ b/tests/ported_static/stShift/test_sar_2_256_minus_1_0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_256_minus_1_0. Ported from: -tests/static/state_tests/stShift/sar_2^256-1_0Filler.json +state_tests/stShift/sar_2^256-1_0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^256-1_0Filler.json"], + ["state_tests/stShift/sar_2^256-1_0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_256_minus_1_0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_256_minus_1_0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,33 +46,41 @@ def test_sar_2_256_minus_1_0( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (SSTORE 0 (SAR 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - 0x0, - ), - ) - + Op.STOP - ), - storage={0x0: 0x3}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x0, + ), + ) + + Op.STOP, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x488de231f3302a744e2d40ecc611a66f21b4db06"), # noqa: E501 + address=Address(0x488DE231F3302A744E2D40ECC611A66F21B4DB06), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account( + storage={0: 0}, + code=bytes.fromhex( + "60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1d60005500" # noqa: E501 + ), + balance=0xDE0B6B3A76586A0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_256_minus_1_1.py b/tests/ported_static/stShift/test_sar_2_256_minus_1_1.py index 5c233e7dc87..7a534b8e955 100644 --- a/tests/ported_static/stShift/test_sar_2_256_minus_1_1.py +++ b/tests/ported_static/stShift/test_sar_2_256_minus_1_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_256_minus_1_1. Ported from: -tests/static/state_tests/stShift/sar_2^256-1_1Filler.json +state_tests/stShift/sar_2^256-1_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^256-1_1Filler.json"], + ["state_tests/stShift/sar_2^256-1_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_256_minus_1_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_256_minus_1_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,39 @@ def test_sar_2_256_minus_1_1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0x1, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0x1, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x37a6df595c7ae4907cf940ce2ed9301836379be0"), # noqa: E501 + address=Address(0x37A6DF595C7AE4907CF940CE2ED9301836379BE0), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_256_minus_1_255.py b/tests/ported_static/stShift/test_sar_2_256_minus_1_255.py index 5d904dee2a2..8b81faafff7 100644 --- a/tests/ported_static/stShift/test_sar_2_256_minus_1_255.py +++ b/tests/ported_static/stShift/test_sar_2_256_minus_1_255.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_256_minus_1_255. Ported from: -tests/static/state_tests/stShift/sar_2^256-1_255Filler.json +state_tests/stShift/sar_2^256-1_255Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^256-1_255Filler.json"], + ["state_tests/stShift/sar_2^256-1_255Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_256_minus_1_255( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_256_minus_1_255.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,39 @@ def test_sar_2_256_minus_1_255( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0xFF, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0xFF, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd7953aa3795f1835ac719193b028850319f530eb"), # noqa: E501 + address=Address(0xD7953AA3795F1835AC719193B028850319F530EB), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_sar_2_256_minus_1_256.py b/tests/ported_static/stShift/test_sar_2_256_minus_1_256.py index 86c2830b603..715e5efbbb8 100644 --- a/tests/ported_static/stShift/test_sar_2_256_minus_1_256.py +++ b/tests/ported_static/stShift/test_sar_2_256_minus_1_256.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sar_2_256_minus_1_256. Ported from: -tests/static/state_tests/stShift/sar_2^256-1_256Filler.json +state_tests/stShift/sar_2^256-1_256Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/sar_2^256-1_256Filler.json"], + ["state_tests/stShift/sar_2^256-1_256Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sar_2_256_minus_1_256( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sar_2_256_minus_1_256.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,39 @@ def test_sar_2_256_minus_1_256( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SAR( - 0x100, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001d600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SAR( + 0x100, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3e8cc6a056c48edce9e2abb7f1857f69318add34"), # noqa: E501 + address=Address(0x3E8CC6A056C48EDCE9E2ABB7F1857F69318ADD34), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shift_signed_combinations.py b/tests/ported_static/stShift/test_shift_signed_combinations.py index 303d70f5971..ead97a9b356 100644 --- a/tests/ported_static/stShift/test_shift_signed_combinations.py +++ b/tests/ported_static/stShift/test_shift_signed_combinations.py @@ -1,8 +1,8 @@ """ -https://github.com/ethereum/tests/issues/564. +Https://github.com/ethereum/tests/issues/564. Ported from: -tests/static/state_tests/stShift/shiftSignedCombinationsFiller.yml +state_tests/stShift/shiftSignedCombinationsFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shiftSignedCombinationsFiller.yml"], + ["state_tests/stShift/shiftSignedCombinationsFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_shift_signed_combinations( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Https://github.com/ethereum/tests/issues/564.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,7 +47,7 @@ def test_shift_signed_combinations( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { # (def 'sstore_n 0) # (MSTORE sstore_n 0x0ff) @@ -78,280 +79,249 @@ def test_shift_signed_combinations( # (MSTORE (ADD data_jstart (MUL 32 5)) 0x00000000000000000000000000000000000000000000000000000000000000ff) # noqa: E501 # (MSTORE (ADD data_jstart (MUL 32 6)) 0x0000000000000000000000000000000000000000000000000000000000000100) # noqa: E501 # ... (99 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xFF) - + Op.MSTORE(offset=Op.ADD(0x2774, Op.MUL(0x20, 0x0)), value=0x80) - + Op.MSTORE(offset=Op.ADD(0x2774, Op.MUL(0x20, 0x1)), value=0x8000) - + Op.MSTORE( - offset=Op.ADD(0x2774, Op.MUL(0x20, 0x2)), value=0x80000000 - ) - + Op.MSTORE( - offset=Op.ADD(0x2774, Op.MUL(0x20, 0x3)), - value=0x8000000000000000, - ) - + Op.MSTORE( - offset=Op.ADD(0x2774, Op.MUL(0x20, 0x4)), - value=0x80000000000000000000000000000000, - ) - + Op.MSTORE( - offset=Op.ADD(0x2774, Op.MUL(0x20, 0x5)), - value=0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x0)), value=0x0) - + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x1)), value=0x1) - + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x2)), value=0x2) - + Op.MSTORE(offset=Op.ADD(0x2774, Op.MUL(0x20, 0x3)), value=0x5) - + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x4)), value=0xFE) - + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x5)), value=0xFF) - + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x6)), value=0x100) - + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x7)), value=0x101) - + Op.MSTORE( - offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x8)), - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x9)), - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 - ) - + Op.MSTORE( - offset=Op.ADD(0x4E84, Op.MUL(0x20, 0xA)), - value=0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=Op.ADD(0x4E84, Op.MUL(0x20, 0xB)), - value=0xA000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=Op.ADD(0x4E84, Op.MUL(0x20, 0xC)), - value=0x5555555555555555555555555555555555555555555555555555555555555555, # noqa: E501 - ) - + Op.MSTORE( - offset=Op.ADD(0x4E84, Op.MUL(0x20, 0xD)), - value=0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x40D, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x20), 0x6)), - ) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3FF, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x40), 0xE)), - ) - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x1000001D) - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.JUMPI( - pc=0x24C, - condition=Op.EQ( - Op.MLOAD( - offset=Op.ADD( - 0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20)) - ), - ), - 0x0, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xFF) + + Op.MSTORE(offset=Op.ADD(0x2774, Op.MUL(0x20, 0x0)), value=0x80) + + Op.MSTORE(offset=Op.ADD(0x2774, Op.MUL(0x20, 0x1)), value=0x8000) + + Op.MSTORE(offset=Op.ADD(0x2774, Op.MUL(0x20, 0x2)), value=0x80000000) + + Op.MSTORE( + offset=Op.ADD(0x2774, Op.MUL(0x20, 0x3)), value=0x8000000000000000 + ) + + Op.MSTORE( + offset=Op.ADD(0x2774, Op.MUL(0x20, 0x4)), + value=0x80000000000000000000000000000000, + ) + + Op.MSTORE( + offset=Op.ADD(0x2774, Op.MUL(0x20, 0x5)), + value=0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x0)), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x1)), value=0x1) + + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x2)), value=0x2) + + Op.MSTORE(offset=Op.ADD(0x2774, Op.MUL(0x20, 0x3)), value=0x5) + + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x4)), value=0xFE) + + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x5)), value=0xFF) + + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x6)), value=0x100) + + Op.MSTORE(offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x7)), value=0x101) + + Op.MSTORE( + offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x8)), + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=Op.ADD(0x4E84, Op.MUL(0x20, 0x9)), + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ) + + Op.MSTORE( + offset=Op.ADD(0x4E84, Op.MUL(0x20, 0xA)), + value=0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.MSTORE( + offset=Op.ADD(0x4E84, Op.MUL(0x20, 0xB)), + value=0xA000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.MSTORE( + offset=Op.ADD(0x4E84, Op.MUL(0x20, 0xC)), + value=0x5555555555555555555555555555555555555555555555555555555555555555, # noqa: E501 + ) + + Op.MSTORE( + offset=Op.ADD(0x4E84, Op.MUL(0x20, 0xD)), + value=0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x40D, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x20), 0x6)) + ) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3FF, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x40), 0xE)) + ) + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x1000001D) + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.JUMPI( + pc=0x24C, + condition=Op.EQ( + Op.MLOAD( + offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))) ), - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MLOAD( - offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))), + 0x0, + ), + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MLOAD( + offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))) + ), + ) + + Op.JUMP(pc=0x253) + + Op.JUMPDEST + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.JUMPI( + pc=0x282, + condition=Op.EQ( + Op.MLOAD( + offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))) ), - ) - + Op.JUMP(pc=0x253) - + Op.JUMPDEST - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.JUMPI( - pc=0x282, - condition=Op.EQ( - Op.MLOAD( - offset=Op.ADD( - 0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40)) - ), - ), - 0x0, + 0x0, + ), + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MLOAD( + offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))) + ), + ) + + Op.JUMP(pc=0x289) + + Op.JUMPDEST + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.SAR( + Op.MLOAD( + offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))) ), - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MLOAD( - offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))), + Op.MLOAD( + offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))) ), - ) - + Op.JUMP(pc=0x289) - + Op.JUMPDEST - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.SAR( - Op.MLOAD( - offset=Op.ADD( - 0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20)) - ), - ), - Op.MLOAD( - offset=Op.ADD( - 0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40)) - ), - ), + ), + ) + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x1000001B) + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.JUMPI( + pc=0x2EE, + condition=Op.EQ( + Op.MLOAD( + offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))) ), - ) - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x1000001B) - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.JUMPI( - pc=0x2EE, - condition=Op.EQ( - Op.MLOAD( - offset=Op.ADD( - 0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20)) - ), - ), - 0x0, + 0x0, + ), + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MLOAD( + offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))) + ), + ) + + Op.JUMP(pc=0x2F5) + + Op.JUMPDEST + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.JUMPI( + pc=0x324, + condition=Op.EQ( + Op.MLOAD( + offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))) ), - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MLOAD( - offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))), + 0x0, + ), + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MLOAD( + offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))) + ), + ) + + Op.JUMP(pc=0x32B) + + Op.JUMPDEST + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.SHL( + Op.MLOAD( + offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))) ), - ) - + Op.JUMP(pc=0x2F5) - + Op.JUMPDEST - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.JUMPI( - pc=0x324, - condition=Op.EQ( - Op.MLOAD( - offset=Op.ADD( - 0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40)) - ), - ), - 0x0, + Op.MLOAD( + offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))) ), - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MLOAD( - offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))), + ), + ) + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x1000001C) + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.JUMPI( + pc=0x390, + condition=Op.EQ( + Op.MLOAD( + offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))) ), - ) - + Op.JUMP(pc=0x32B) - + Op.JUMPDEST - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.SHL( - Op.MLOAD( - offset=Op.ADD( - 0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20)) - ), - ), - Op.MLOAD( - offset=Op.ADD( - 0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40)) - ), - ), + 0x0, + ), + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MLOAD( + offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))) + ), + ) + + Op.JUMP(pc=0x397) + + Op.JUMPDEST + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.JUMPI( + pc=0x3C6, + condition=Op.EQ( + Op.MLOAD( + offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))) ), - ) - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x1000001C) - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.JUMPI( - pc=0x390, - condition=Op.EQ( - Op.MLOAD( - offset=Op.ADD( - 0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20)) - ), - ), - 0x0, + 0x0, + ), + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.MLOAD( + offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))) + ), + ) + + Op.JUMP(pc=0x3CD) + + Op.JUMPDEST + + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE( + key=Op.MLOAD(offset=0x0), + value=Op.SHR( + Op.MLOAD( + offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))) ), - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MLOAD( - offset=Op.ADD(0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20))), + Op.MLOAD( + offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))) ), - ) - + Op.JUMP(pc=0x397) - + Op.JUMPDEST - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.JUMPI( - pc=0x3C6, - condition=Op.EQ( - Op.MLOAD( - offset=Op.ADD( - 0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40)) - ), - ), - 0x0, - ), - ) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.MLOAD( - offset=Op.ADD(0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40))), - ), - ) - + Op.JUMP(pc=0x3CD) - + Op.JUMPDEST - + Op.SSTORE(key=Op.MLOAD(offset=0x0), value=0x80) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE( - key=Op.MLOAD(offset=0x0), - value=Op.SHR( - Op.MLOAD( - offset=Op.ADD( - 0x2774, Op.MUL(0x20, Op.MLOAD(offset=0x20)) - ), - ), - Op.MLOAD( - offset=Op.ADD( - 0x4E84, Op.MUL(0x20, Op.MLOAD(offset=0x40)) - ), - ), - ), - ) - + Op.MSTORE(offset=0x40, value=Op.ADD(0x1, Op.MLOAD(offset=0x40))) - + Op.JUMP(pc=0x200) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.ADD(0x1, Op.MLOAD(offset=0x20))) - + Op.JUMP(pc=0x1EF) - + Op.JUMPDEST - + Op.STOP - + Op.STOP - ), + ), + ) + + Op.MSTORE(offset=0x40, value=Op.ADD(0x1, Op.MLOAD(offset=0x40))) + + Op.JUMP(pc=0x200) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.ADD(0x1, Op.MLOAD(offset=0x20))) + + Op.JUMP(pc=0x1EF) + + Op.JUMPDEST + + Op.STOP * 2, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6c08b7236ee4784e5499b9a576902679d8f863d5"), # noqa: E501 + address=Address(0x6C08B7236EE4784E5499B9A576902679D8F863D5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=80000000, value=1, ) post = { - contract: Account( + target: Account( storage={ 256: 0x1000001D, 257: 128, @@ -1182,6 +1152,7 @@ def test_shift_signed_combinations( 1261: 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 1262: 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, # noqa: E501 }, + balance=0xDE0B6B3A7640001, ), } diff --git a/tests/ported_static/stShift/test_shl01.py b/tests/ported_static/stShift/test_shl01.py index 07eefbe11ca..aa480116f36 100644 --- a/tests/ported_static/stShift/test_shl01.py +++ b/tests/ported_static/stShift/test_shl01.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shl01. Ported from: -tests/static/state_tests/stShift/shl01Filler.json +state_tests/stShift/shl01Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shl01Filler.json"], + ["state_tests/stShift/shl01Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shl01( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shl01.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,23 +46,32 @@ def test_shl01( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x600060011b600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SHL(0x1, 0x0)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd968e3655cbd1fa49753b38af57f8f335062470f"), # noqa: E501 + address=Address(0xD968E3655CBD1FA49753B38AF57F8F335062470F), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account( + storage={0: 0}, + code=bytes.fromhex("600060011b600055"), + balance=0xDE0B6B3A76586A0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shl01_minus_0100.py b/tests/ported_static/stShift/test_shl01_minus_0100.py index 6ecf7b9731f..da671796802 100644 --- a/tests/ported_static/stShift/test_shl01_minus_0100.py +++ b/tests/ported_static/stShift/test_shl01_minus_0100.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shl01_minus_0100. Ported from: -tests/static/state_tests/stShift/shl01-0100Filler.json +state_tests/stShift/shl01-0100Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shl01-0100Filler.json"], + ["state_tests/stShift/shl01-0100Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shl01_minus_0100( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shl01_minus_0100.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,23 +46,32 @@ def test_shl01_minus_0100( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x60016101001b600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SHL(0x100, 0x1)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa90096f3ceee40e87ec1afc1052bbbc98616e3e9"), # noqa: E501 + address=Address(0xA90096F3CEEE40E87EC1AFC1052BBBC98616E3E9), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account( + storage={0: 0}, + code=bytes.fromhex("60016101001b600055"), + balance=0xDE0B6B3A76586A0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shl01_minus_0101.py b/tests/ported_static/stShift/test_shl01_minus_0101.py index e60f2c374f4..c4c2fc59590 100644 --- a/tests/ported_static/stShift/test_shl01_minus_0101.py +++ b/tests/ported_static/stShift/test_shl01_minus_0101.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shl01_minus_0101. Ported from: -tests/static/state_tests/stShift/shl01-0101Filler.json +state_tests/stShift/shl01-0101Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shl01-0101Filler.json"], + ["state_tests/stShift/shl01-0101Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shl01_minus_0101( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shl01_minus_0101.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,23 +46,32 @@ def test_shl01_minus_0101( gas_limit=1000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x60016101011b600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SHL(0x101, 0x1)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0ad09d9167b6fd7013f4a95e9a67daa83fbdf6fe"), # noqa: E501 + address=Address(0x0AD09D9167B6FD7013F4A95E9A67DAA83FBDF6FE), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account( + storage={0: 0}, + code=bytes.fromhex("60016101011b600055"), + balance=0xDE0B6B3A76586A0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shl01_minus_ff.py b/tests/ported_static/stShift/test_shl01_minus_ff.py index ba2665339c2..809390060d6 100644 --- a/tests/ported_static/stShift/test_shl01_minus_ff.py +++ b/tests/ported_static/stShift/test_shl01_minus_ff.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shl01_minus_ff. Ported from: -tests/static/state_tests/stShift/shl01-ffFiller.json +state_tests/stShift/shl01-ffFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shl01-ffFiller.json"], + ["state_tests/stShift/shl01-ffFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shl01_minus_ff( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shl01_minus_ff.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,29 +46,34 @@ def test_shl01_minus_ff( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x600160ff1b600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SHL(0xFF, 0x1)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6750ccb18bd2d092093f25bf1eaebe77f4ecb9a2"), # noqa: E501 + address=Address(0x6750CCB18BD2D092093F25BF1EAEBE77F4ECB9A2), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 }, + code=bytes.fromhex("600160ff1b600055"), + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shl10.py b/tests/ported_static/stShift/test_shl10.py index cfcb1b0cdbd..1a9c9ee33f9 100644 --- a/tests/ported_static/stShift/test_shl10.py +++ b/tests/ported_static/stShift/test_shl10.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shl10. Ported from: -tests/static/state_tests/stShift/shl10Filler.json +state_tests/stShift/shl10Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shl10Filler.json"], + ["state_tests/stShift/shl10Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shl10( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shl10.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,25 +46,32 @@ def test_shl10( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x600160001b600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SHL(0x0, 0x1)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8162885eed8441d008aaec61134e7b159360a9cb"), # noqa: E501 + address=Address(0x8162885EED8441D008AAEC61134E7B159360A9CB), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 1}), + target: Account( + storage={0: 1}, + code=bytes.fromhex("600160001b600055"), + balance=0xDE0B6B3A76586A0, + ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shl11.py b/tests/ported_static/stShift/test_shl11.py index 84409f39129..074955f3da6 100644 --- a/tests/ported_static/stShift/test_shl11.py +++ b/tests/ported_static/stShift/test_shl11.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shl11. Ported from: -tests/static/state_tests/stShift/shl11Filler.json +state_tests/stShift/shl11Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shl11Filler.json"], + ["state_tests/stShift/shl11Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shl11( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shl11.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,25 +46,32 @@ def test_shl11( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x600160011b600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SHL(0x1, 0x1)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x470af4e9738d2348bf28d09f712bb06a118f6146"), # noqa: E501 + address=Address(0x470AF4E9738D2348BF28D09F712BB06A118F6146), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 2}), + target: Account( + storage={0: 2}, + code=bytes.fromhex("600160011b600055"), + balance=0xDE0B6B3A76586A0, + ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shl_2_255_minus_1_1.py b/tests/ported_static/stShift/test_shl_2_255_minus_1_1.py index b6dc2d1be02..034bdaf3ace 100644 --- a/tests/ported_static/stShift/test_shl_2_255_minus_1_1.py +++ b/tests/ported_static/stShift/test_shl_2_255_minus_1_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shl_2_255_minus_1_1. Ported from: -tests/static/state_tests/stShift/shl_2^255-1_1Filler.json +state_tests/stShift/shl_2^255-1_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shl_2^255-1_1Filler.json"], + ["state_tests/stShift/shl_2^255-1_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shl_2_255_minus_1_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shl_2_255_minus_1_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,39 @@ def test_shl_2_255_minus_1_1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHL( - 0x1, - 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011b600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHL( + 0x1, + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3ce647dc9f67841b40df3ddd90fef6fa3c44ccbc"), # noqa: E501 + address=Address(0x3CE647DC9F67841B40DF3DDD90FEF6FA3C44CCBC), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shl_minus_1_0.py b/tests/ported_static/stShift/test_shl_minus_1_0.py index a0ec90aa0c0..24d77d8c6b2 100644 --- a/tests/ported_static/stShift/test_shl_minus_1_0.py +++ b/tests/ported_static/stShift/test_shl_minus_1_0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shl_minus_1_0. Ported from: -tests/static/state_tests/stShift/shl_-1_0Filler.json +state_tests/stShift/shl_-1_0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shl_-1_0Filler.json"], + ["state_tests/stShift/shl_-1_0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shl_minus_1_0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shl_minus_1_0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,42 @@ def test_shl_minus_1_0( gas_limit=1000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHL( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHL( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0630e2ac09069a9263d8d96bcb426b35d3e29a6a"), # noqa: E501 + address=Address(0x0630E2AC09069A9263D8D96BCB426B35D3E29A6A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b600055" # noqa: E501 + ), + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shl_minus_1_1.py b/tests/ported_static/stShift/test_shl_minus_1_1.py index 295feaffc04..95730ca0366 100644 --- a/tests/ported_static/stShift/test_shl_minus_1_1.py +++ b/tests/ported_static/stShift/test_shl_minus_1_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shl_minus_1_1. Ported from: -tests/static/state_tests/stShift/shl_-1_1Filler.json +state_tests/stShift/shl_-1_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shl_-1_1Filler.json"], + ["state_tests/stShift/shl_-1_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shl_minus_1_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shl_minus_1_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,42 @@ def test_shl_minus_1_1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHL( - 0x1, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011b600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHL( + 0x1, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbca8d83175fb98faae32481a974bbfee99b931f3"), # noqa: E501 + address=Address(0xBCA8D83175FB98FAAE32481A974BBFEE99B931F3), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 }, + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011b600055" # noqa: E501 + ), + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shl_minus_1_255.py b/tests/ported_static/stShift/test_shl_minus_1_255.py index d83e720918a..5a24b4fc2d0 100644 --- a/tests/ported_static/stShift/test_shl_minus_1_255.py +++ b/tests/ported_static/stShift/test_shl_minus_1_255.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shl_minus_1_255. Ported from: -tests/static/state_tests/stShift/shl_-1_255Filler.json +state_tests/stShift/shl_-1_255Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shl_-1_255Filler.json"], + ["state_tests/stShift/shl_-1_255Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shl_minus_1_255( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shl_minus_1_255.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,42 @@ def test_shl_minus_1_255( gas_limit=1000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHL( - 0xFF, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1b600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHL( + 0xFF, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x09718bd7395aafdc3e1af2b747902980b036bea8"), # noqa: E501 + address=Address(0x09718BD7395AAFDC3E1AF2B747902980B036BEA8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 }, + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1b600055" # noqa: E501 + ), + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shl_minus_1_256.py b/tests/ported_static/stShift/test_shl_minus_1_256.py index 4ebf44a8a63..7031ae2dd97 100644 --- a/tests/ported_static/stShift/test_shl_minus_1_256.py +++ b/tests/ported_static/stShift/test_shl_minus_1_256.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shl_minus_1_256. Ported from: -tests/static/state_tests/stShift/shl_-1_256Filler.json +state_tests/stShift/shl_-1_256Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shl_-1_256Filler.json"], + ["state_tests/stShift/shl_-1_256Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shl_minus_1_256( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shl_minus_1_256.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,31 +46,40 @@ def test_shl_minus_1_256( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHL( - 0x100, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001b600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHL( + 0x100, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfc4f633f1e963e8685a1e9f4a70ab46901b51fb3"), # noqa: E501 + address=Address(0xFC4F633F1E963E8685A1E9F4A70AB46901B51FB3), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account( + storage={0: 0}, + code=bytes.fromhex( + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001b600055" # noqa: E501 + ), + balance=0xDE0B6B3A76586A0, + ), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shr01.py b/tests/ported_static/stShift/test_shr01.py index 51b5dda82c2..1d66e665952 100644 --- a/tests/ported_static/stShift/test_shr01.py +++ b/tests/ported_static/stShift/test_shr01.py @@ -2,7 +2,7 @@ Taken from https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md. Ported from: -tests/static/state_tests/stShift/shr01Filler.json +state_tests/stShift/shr01Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shr01Filler.json"], + ["state_tests/stShift/shr01Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shr01( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Taken from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Taken from https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,23 +46,28 @@ def test_shr01( gas_limit=1000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x600060011c600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SHR(0x1, 0x0)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x16408314e05c2677e2ac6a3a832d740aa9e1e99f"), # noqa: E501 + address=Address(0x16408314E05C2677E2AC6A3A832D740AA9E1E99F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shr10.py b/tests/ported_static/stShift/test_shr10.py index c9c85ff21b1..e88087f4dd5 100644 --- a/tests/ported_static/stShift/test_shr10.py +++ b/tests/ported_static/stShift/test_shr10.py @@ -2,7 +2,7 @@ Taken from https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md. Ported from: -tests/static/state_tests/stShift/shr10Filler.json +state_tests/stShift/shr10Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shr10Filler.json"], + ["state_tests/stShift/shr10Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shr10( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Taken from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Taken from https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,25 +46,28 @@ def test_shr10( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x600160001c600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SHR(0x0, 0x1)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xebfe51d0bd88b6eff720c820fb552e868f78c681"), # noqa: E501 + address=Address(0xEBFE51D0BD88B6EFF720C820FB552E868F78C681), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shr11.py b/tests/ported_static/stShift/test_shr11.py index b7578ad4fbb..113120c289e 100644 --- a/tests/ported_static/stShift/test_shr11.py +++ b/tests/ported_static/stShift/test_shr11.py @@ -2,7 +2,7 @@ Taken from https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md. Ported from: -tests/static/state_tests/stShift/shr11Filler.json +state_tests/stShift/shr11Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shr11Filler.json"], + ["state_tests/stShift/shr11Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shr11( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Taken from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Taken from https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,23 +46,28 @@ def test_shr11( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x600160011c600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SHR(0x1, 0x1)), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcd5c8d543415ccd7ac98c6fb1e8a64e2bb9ef8ac"), # noqa: E501 + address=Address(0xCD5C8D543415CCD7AC98C6FB1E8A64E2BB9EF8AC), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shr_2_255_1.py b/tests/ported_static/stShift/test_shr_2_255_1.py index 503c573895d..a53132eb96a 100644 --- a/tests/ported_static/stShift/test_shr_2_255_1.py +++ b/tests/ported_static/stShift/test_shr_2_255_1.py @@ -2,7 +2,7 @@ Taken from https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md. Ported from: -tests/static/state_tests/stShift/shr_2^255_1Filler.json +state_tests/stShift/shr_2^255_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shr_2^255_1Filler.json"], + ["state_tests/stShift/shr_2^255_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shr_2_255_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Taken from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Taken from https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,39 @@ def test_shr_2_255_1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHR( - 0x1, - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - ) + # Source: raw + # 0x7f800000000000000000000000000000000000000000000000000000000000000060011c600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHR( + 0x1, + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa389b98748a90663fa4e2b16d2ae848ebc2069d2"), # noqa: E501 + address=Address(0xA389B98748A90663FA4E2B16D2AE848EBC2069D2), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x4000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shr_2_255_255.py b/tests/ported_static/stShift/test_shr_2_255_255.py index 667faa5ad42..b96fc123e30 100644 --- a/tests/ported_static/stShift/test_shr_2_255_255.py +++ b/tests/ported_static/stShift/test_shr_2_255_255.py @@ -2,7 +2,7 @@ Taken from https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md. Ported from: -tests/static/state_tests/stShift/shr_2^255_255Filler.json +state_tests/stShift/shr_2^255_255Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shr_2^255_255Filler.json"], + ["state_tests/stShift/shr_2^255_255Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shr_2_255_255( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Taken from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Taken from https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,33 +46,34 @@ def test_shr_2_255_255( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHR( - 0xFF, - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - ) + # Source: raw + # 0x7f800000000000000000000000000000000000000000000000000000000000000060ff1c600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHR( + 0xFF, + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xad48c928474b5d7bc2ad4c8e769133bcd5988894"), # noqa: E501 + address=Address(0xAD48C928474B5D7BC2AD4C8E769133BCD5988894), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shr_2_255_256.py b/tests/ported_static/stShift/test_shr_2_255_256.py index 101bf5c7909..cda32d8de64 100644 --- a/tests/ported_static/stShift/test_shr_2_255_256.py +++ b/tests/ported_static/stShift/test_shr_2_255_256.py @@ -2,7 +2,7 @@ Taken from https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md. Ported from: -tests/static/state_tests/stShift/shr_2^255_256Filler.json +state_tests/stShift/shr_2^255_256Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shr_2^255_256Filler.json"], + ["state_tests/stShift/shr_2^255_256Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shr_2_255_256( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Taken from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Taken from https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,31 +46,34 @@ def test_shr_2_255_256( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHR( - 0x100, - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - ) + # Source: raw + # 0x7f80000000000000000000000000000000000000000000000000000000000000006101001c600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHR( + 0x100, + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x634045b2e9ef0249256f6c175beddb252ccdcc65"), # noqa: E501 + address=Address(0x634045B2E9EF0249256F6C175BEDDB252CCDCC65), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shr_2_255_257.py b/tests/ported_static/stShift/test_shr_2_255_257.py index be3421b1749..06826a861d2 100644 --- a/tests/ported_static/stShift/test_shr_2_255_257.py +++ b/tests/ported_static/stShift/test_shr_2_255_257.py @@ -2,7 +2,7 @@ Taken from https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md. Ported from: -tests/static/state_tests/stShift/shr_2^255_257Filler.json +state_tests/stShift/shr_2^255_257Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shr_2^255_257Filler.json"], + ["state_tests/stShift/shr_2^255_257Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shr_2_255_257( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Taken from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Taken from https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,31 +46,34 @@ def test_shr_2_255_257( gas_limit=1000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHR( - 0x101, - 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ), - ) + # Source: raw + # 0x7f80000000000000000000000000000000000000000000000000000000000000006101011c600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHR( + 0x101, + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x00fe70b13953d2dab2d13ce453cc42c47e3ab8ca"), # noqa: E501 + address=Address(0x00FE70B13953D2DAB2D13CE453CC42C47E3AB8CA), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shr_minus_1_0.py b/tests/ported_static/stShift/test_shr_minus_1_0.py index 5a25d7440f2..9c78c1d9238 100644 --- a/tests/ported_static/stShift/test_shr_minus_1_0.py +++ b/tests/ported_static/stShift/test_shr_minus_1_0.py @@ -2,7 +2,7 @@ Taken from https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md. Ported from: -tests/static/state_tests/stShift/shr_-1_0Filler.json +state_tests/stShift/shr_-1_0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shr_-1_0Filler.json"], + ["state_tests/stShift/shr_-1_0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shr_minus_1_0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Taken from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Taken from https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,39 @@ def test_shr_minus_1_0( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHR( - 0x0, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001c600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHR( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcb148bf8df8a38a6478678824eeb7eadd61e3e59"), # noqa: E501 + address=Address(0xCB148BF8DF8A38A6478678824EEB7EADD61E3E59), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shr_minus_1_1.py b/tests/ported_static/stShift/test_shr_minus_1_1.py index e9083ad4df9..54892484c65 100644 --- a/tests/ported_static/stShift/test_shr_minus_1_1.py +++ b/tests/ported_static/stShift/test_shr_minus_1_1.py @@ -2,7 +2,7 @@ Taken from https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md. Ported from: -tests/static/state_tests/stShift/shr_-1_1Filler.json +state_tests/stShift/shr_-1_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shr_-1_1Filler.json"], + ["state_tests/stShift/shr_-1_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shr_minus_1_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Taken from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Taken from https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,37 +46,39 @@ def test_shr_minus_1_1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHR( - 0x1, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60011c600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHR( + 0x1, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3610b43ff3bab81bd5772e01915ac9cbb67782b9"), # noqa: E501 + address=Address(0x3610B43FF3BAB81BD5772E01915AC9CBB67782B9), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + balance=0xDE0B6B3A76586A0, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shr_minus_1_255.py b/tests/ported_static/stShift/test_shr_minus_1_255.py index 34935d2ea15..c4ec6e09447 100644 --- a/tests/ported_static/stShift/test_shr_minus_1_255.py +++ b/tests/ported_static/stShift/test_shr_minus_1_255.py @@ -2,7 +2,7 @@ Taken from https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md. Ported from: -tests/static/state_tests/stShift/shr_-1_255Filler.json +state_tests/stShift/shr_-1_255Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shr_-1_255Filler.json"], + ["state_tests/stShift/shr_-1_255Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shr_minus_1_255( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Taken from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Taken from https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,33 +46,34 @@ def test_shr_minus_1_255( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHR( - 0xFF, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff1c600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHR( + 0xFF, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcba06af5af94be2ecf98fce20d1d965296d6fa02"), # noqa: E501 + address=Address(0xCBA06AF5AF94BE2ECF98FCE20D1D965296D6FA02), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stShift/test_shr_minus_1_256.py b/tests/ported_static/stShift/test_shr_minus_1_256.py index 756336d56f1..01c3fa3e930 100644 --- a/tests/ported_static/stShift/test_shr_minus_1_256.py +++ b/tests/ported_static/stShift/test_shr_minus_1_256.py @@ -2,7 +2,7 @@ Taken from https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md. Ported from: -tests/static/state_tests/stShift/shr_-1_256Filler.json +state_tests/stShift/shr_-1_256Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stShift/shr_-1_256Filler.json"], + ["state_tests/stShift/shr_-1_256Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_shr_minus_1_256( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Taken from...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Taken from https://github.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,31 +46,34 @@ def test_shr_minus_1_256( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.SHR( - 0x100, - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ), - ) + # Source: raw + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101001c600055 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHR( + 0x100, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), ), - storage={0x0: 0x3}, + storage={0: 3}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf703bf410c7f3337c04f281f6eb8e44d83323f55"), # noqa: E501 + address=Address(0xF703BF410C7F3337C04F281F6EB8E44D83323F55), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=400000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, balance=0xDE0B6B3A76586A0), + sender: Account(storage={}, code=b"", nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/__init__.py b/tests/ported_static/stSolidityTest/__init__.py index ab831f7ea10..397d5e80cae 100644 --- a/tests/ported_static/stSolidityTest/__init__.py +++ b/tests/ported_static/stSolidityTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stSolidityTest.""" +"""Ported static tests: stSolidityTest.""" # noqa: N999 diff --git a/tests/ported_static/stSolidityTest/test_ambiguous_method.py b/tests/ported_static/stSolidityTest/test_ambiguous_method.py index 77a9416b693..0d09857e7a9 100644 --- a/tests/ported_static/stSolidityTest/test_ambiguous_method.py +++ b/tests/ported_static/stSolidityTest/test_ambiguous_method.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_ambiguous_method. Ported from: -tests/static/state_tests/stSolidityTest/AmbiguousMethodFiller.json +state_tests/stSolidityTest/AmbiguousMethodFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSolidityTest/AmbiguousMethodFiller.json"], + ["state_tests/stSolidityTest/AmbiguousMethodFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_ambiguous_method( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_ambiguous_method.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA9AE12CB2700C0214F86B9796881BC03A1FD5605D0E76D2DA2CA592E62D53E52 ) @@ -45,45 +46,42 @@ def test_ambiguous_method( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.EXP(0x2, 0xE0) - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=0x15, condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x1B] - + Op.JUMP(pc=0x21) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH2[0x14F] - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMP - ), + # Source: raw + # 0x60003560e060020a90048063c040622614601557005b601b6021565b60006000f35b61014f60008190555056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.EXP(0x2, 0xE0) + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=0x15, condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x1B] + + Op.JUMP(pc=0x21) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH2[0x14F] + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0x235c9320b0f4d30204334c1ddb008dfe1d75b1b9"), # noqa: E501 + address=Address(0x235C9320B0F4D30204334C1DDB008DFE1D75B1B9), # noqa: E501 ) pre[sender] = Account(balance=0x12A05F200) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=300000, value=1, ) - post = { - contract: Account(storage={0: 335}), - } + post = {target: Account(storage={0: 335})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_by_zero.py b/tests/ported_static/stSolidityTest/test_by_zero.py index f0fa29b4276..4d58b14d717 100644 --- a/tests/ported_static/stSolidityTest/test_by_zero.py +++ b/tests/ported_static/stSolidityTest/test_by_zero.py @@ -2,7 +2,7 @@ DIV/SDIV/MOD/SMOD by zero tests. Ported from: -tests/static/state_tests/stSolidityTest/ByZeroFiller.json +state_tests/stSolidityTest/ByZeroFiller.json """ import pytest @@ -14,34 +14,59 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stSolidityTest/ByZeroFiller.json"], + ["state_tests/stSolidityTest/ByZeroFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "600160006001045500", - "600160006001055500", - "600160006001065500", - "600160006001075500", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable def test_by_zero( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """DIV/SDIV/MOD/SMOD by zero tests.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -57,19 +82,26 @@ def test_by_zero( pre[sender] = Account(balance=0x8AC7230489E80000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.SSTORE(key=Op.DIV(0x1, 0x0), value=0x1) + Op.STOP, + Op.SSTORE(key=Op.SDIV(0x1, 0x0), value=0x1) + Op.STOP, + Op.SSTORE(key=Op.MOD(0x1, 0x0), value=0x1) + Op.STOP, + Op.SSTORE(key=Op.SMOD(0x1, 0x0), value=0x1) + Op.STOP, + ] + tx_gas = [400000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, + data=tx_data[d], + gas_limit=tx_gas[g], ) post = { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={0: 1}, + compute_create_address(address=sender, nonce=0): Account( + storage={0: 1}, code=b"", balance=0 ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_call_infinite_loop.py b/tests/ported_static/stSolidityTest/test_call_infinite_loop.py index c71399197c7..dca1b0e5172 100644 --- a/tests/ported_static/stSolidityTest/test_call_infinite_loop.py +++ b/tests/ported_static/stSolidityTest/test_call_infinite_loop.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_infinite_loop. Ported from: -tests/static/state_tests/stSolidityTest/CallInfiniteLoopFiller.json +state_tests/stSolidityTest/CallInfiniteLoopFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSolidityTest/CallInfiniteLoopFiller.json"], + ["state_tests/stSolidityTest/CallInfiniteLoopFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_call_infinite_loop( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_call_infinite_loop.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0x96C07046493EC8728482079AB999D2994420D9CF4D3491DFD06871B106D9D87B ) @@ -45,64 +46,62 @@ def test_call_infinite_loop( gas_limit=100000000, ) - pre[sender] = Account(balance=0x1DCD6500) pre[coinbase] = Account(balance=0, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.EXP(0x2, 0xE0) - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=0x29, condition=Op.EQ(0x296DF0DF, Op.DUP1)) - + Op.JUMPI(pc=0x35, condition=Op.EQ(0x4893D88A, Op.DUP1)) - + Op.JUMPI(pc=0x41, condition=Op.EQ(0x981A3165, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x2F] - + Op.JUMP(pc=0x4D) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x3B] - + Op.JUMP(pc=0x62) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x47] - + Op.JUMP(pc=0x5A) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI(pc=0x58, condition=Op.ISZERO(0x1)) - + Op.JUMP(pc=0x4E) - + Op.JUMPDEST - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x60] - + Op.JUMP(pc=0x62) - + Op.JUMPDEST - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x68] - + Op.JUMP(pc=0x5A) - + Op.JUMPDEST - + Op.JUMP - ), + # Source: raw + # 0x60003560e060020a90048063296df0df1460295780634893d88a146035578063981a316514604157005b602f604d565b60006000f35b603b6062565b60006000f35b6047605a565b60006000f35b5b600115605857604e565b565b60606062565b565b6068605a565b56 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.EXP(0x2, 0xE0) + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=0x29, condition=Op.EQ(0x296DF0DF, Op.DUP1)) + + Op.JUMPI(pc=0x35, condition=Op.EQ(0x4893D88A, Op.DUP1)) + + Op.JUMPI(pc=0x41, condition=Op.EQ(0x981A3165, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x2F] + + Op.JUMP(pc=0x4D) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x3B] + + Op.JUMP(pc=0x62) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x47] + + Op.JUMP(pc=0x5A) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST * 2 + + Op.JUMPI(pc=0x58, condition=Op.ISZERO(0x1)) + + Op.JUMP(pc=0x4E) + + Op.JUMPDEST + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x60] + + Op.JUMP(pc=0x62) + + Op.JUMPDEST + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x68] + + Op.JUMP(pc=0x5A) + + Op.JUMPDEST + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0xf9b9ccb6160ce3574df5d096ca9fd12ba81d97ee"), # noqa: E501 + address=Address(0xF9B9CCB6160CE3574DF5D096CA9FD12BA81D97EE), # noqa: E501 ) + pre[sender] = Account(balance=0x1DCD6500) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("296df0df"), + to=target, + data=Bytes("296df0df"), gas_limit=300000, value=1, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_call_low_level_creates_solidity.py b/tests/ported_static/stSolidityTest/test_call_low_level_creates_solidity.py index 72912ad72db..6e9485f4a07 100644 --- a/tests/ported_static/stSolidityTest/test_call_low_level_creates_solidity.py +++ b/tests/ported_static/stSolidityTest/test_call_low_level_creates_solidity.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_low_level_creates_solidity. Ported from: -tests/static/state_tests/stSolidityTest/CallLowLevelCreatesSolidityFiller.json +state_tests/stSolidityTest/CallLowLevelCreatesSolidityFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSolidityTest/CallLowLevelCreatesSolidityFiller.json", # noqa: E501 - ], + ["state_tests/stSolidityTest/CallLowLevelCreatesSolidityFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_low_level_creates_solidity( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_low_level_creates_solidity.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -47,145 +46,133 @@ def test_call_low_level_creates_solidity( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.EXP(0x2, 0xE0) - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=Op.PUSH2[0x21], condition=Op.EQ(0x30DEBB42, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x32], condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x2C] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=Op.PUSH2[0xC7]) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH2[0x3A] - + Op.JUMP(pc=Op.PUSH2[0x44]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.PUSH20[0x5DA6FBE439A0C3AB33F813671A4E7767EE0A263B] - + Op.PUSH1[0x1] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0xD2], size=0x6A) - + Op.CREATE(value=0x0, offset=0x0, size=0x6A) - + Op.SWAP1 - + Op.POP - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1) - + Op.PUSH4[0x19AB453C] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) - + Op.PUSH1[0x4] - + Op.MSTORE( - offset=Op.DUP2, - value=Op.AND( - Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x1) - ), - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP7 - + Op.SUB(Op.GAS, 0x32) - + Op.JUMPI(pc=Op.PUSH2[0xBC], condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.SLOAD(key=0x0) - + Op.SWAP2 - + Op.POP - + Op.POP - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.POP - + Op.JUMP - + Op.STOP - + Op.PUSH1[0x5E] - + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.CALLDATALOAD(offset=0x0) - + Op.EXP(0x2, 0xE0) - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=0x15, condition=Op.EQ(0x19AB453C, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x1E] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=0x24) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1) - + Op.PUSH4[0x30DEBB42] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) - + Op.PUSH1[0x4] - + Op.MSTORE(offset=Op.DUP2, value=0xE1) - + Op.PUSH1[0x20] - + Op.ADD - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP7 - + Op.SUB(Op.GAS, 0x32) - + Op.JUMPI(pc=0x59, condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP - ), + # Source: raw + # 0x60003560e060020a9004806330debb4214610021578063c04062261461003257005b61002c6004356100c7565b60006000f35b61003a610044565b8060005260206000f35b60006000600160008190555073600181905550606a6100d2600039606a60006000f0905080600160a060020a03166319ab453c600060008260e060020a026000526004600154600160a060020a03168152602001600060008660325a03f16100bc57005b505060005491505090565b80600081905550505600605e80600c6000396000f30060003560e060020a9004806319ab453c14601557005b601e6004356024565b60006000f35b80600160a060020a03166330debb42600060008260e060020a02600052600460e18152602001600060008660325a03f1605957005b50505056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.EXP(0x2, 0xE0) + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=Op.PUSH2[0x21], condition=Op.EQ(0x30DEBB42, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x32], condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x2C] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=Op.PUSH2[0xC7]) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH2[0x3A] + + Op.JUMP(pc=Op.PUSH2[0x44]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] * 2 + + Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.PUSH20[0x5DA6FBE439A0C3AB33F813671A4E7767EE0A263B] + + Op.PUSH1[0x1] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0xD2], size=0x6A) + + Op.CREATE(value=0x0, offset=0x0, size=0x6A) + + Op.SWAP1 + + Op.POP + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1) + + Op.PUSH4[0x19AB453C] + + Op.PUSH1[0x0] * 2 + + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) + + Op.PUSH1[0x4] + + Op.MSTORE( + offset=Op.DUP2, + value=Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x1)), + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.PUSH1[0x0] * 2 + + Op.DUP7 + + Op.SUB(Op.GAS, 0x32) + + Op.JUMPI(pc=Op.PUSH2[0xBC], condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 2 + + Op.SLOAD(key=0x0) + + Op.SWAP2 + + Op.POP * 2 + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.DUP1 + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP * 2 + + Op.JUMP + + Op.STOP + + Op.PUSH1[0x5E] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.CALLDATALOAD(offset=0x0) + + Op.EXP(0x2, 0xE0) + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=0x15, condition=Op.EQ(0x19AB453C, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x1E] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=0x24) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1) + + Op.PUSH4[0x30DEBB42] + + Op.PUSH1[0x0] * 2 + + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) + + Op.PUSH1[0x4] + + Op.MSTORE(offset=Op.DUP2, value=0xE1) + + Op.PUSH1[0x20] + + Op.ADD + + Op.PUSH1[0x0] * 2 + + Op.DUP7 + + Op.SUB(Op.GAS, 0x32) + + Op.JUMPI(pc=0x59, condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 3 + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0x5da6fbe439a0c3ab33f813671a4e7767ee0a263b"), # noqa: E501 + address=Address(0x5DA6FBE439A0C3AB33F813671A4E7767EE0A263B), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=350000, value=1, ) post = { - contract: Account( + target: Account( storage={ 0: 225, 1: 0x5DA6FBE439A0C3AB33F813671A4E7767EE0A263B, }, + nonce=1, ), } diff --git a/tests/ported_static/stSolidityTest/test_call_recursive_methods.py b/tests/ported_static/stSolidityTest/test_call_recursive_methods.py index 9ce6a47f7ea..eafae5d0d5e 100644 --- a/tests/ported_static/stSolidityTest/test_call_recursive_methods.py +++ b/tests/ported_static/stSolidityTest/test_call_recursive_methods.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_recursive_methods. Ported from: -tests/static/state_tests/stSolidityTest/CallRecursiveMethodsFiller.json +state_tests/stSolidityTest/CallRecursiveMethodsFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSolidityTest/CallRecursiveMethodsFiller.json", # noqa: E501 - ], + ["state_tests/stSolidityTest/CallRecursiveMethodsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_recursive_methods( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_call_recursive_methods.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xA9AE12CB2700C0214F86B9796881BC03A1FD5605D0E76D2DA2CA592E62D53E52 ) @@ -47,64 +46,62 @@ def test_call_recursive_methods( gas_limit=100000000, ) - pre[sender] = Account(balance=0x12A05F200) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=0x41, condition=Op.EQ(Op.DUP2, 0x296DF0DF)) - + Op.JUMPI(pc=0x4D, condition=Op.EQ(0x4893D88A, Op.DUP1)) - + Op.JUMPI(pc=0x59, condition=Op.EQ(0x981A3165, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x47] - + Op.JUMP(pc=0x65) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x53] - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x5F] - + Op.JUMP(pc=0x72) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI(pc=0x70, condition=Op.ISZERO(0x1)) - + Op.JUMP(pc=0x66) - + Op.JUMPDEST - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x78] - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x80] - + Op.JUMP(pc=0x72) - + Op.JUMPDEST - + Op.JUMP - ), + pre[coinbase] = Account(balance=0, nonce=1) + # Source: raw + # 0x7c01000000000000000000000000000000000000000000000000000000006000350463296df0df811460415780634893d88a14604d578063981a316514605957005b60476065565b60006000f35b6053607a565b60006000f35b605f6072565b60006000f35b5b6001156070576066565b565b6078607a565b565b60806072565b56 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=0x41, condition=Op.EQ(Op.DUP2, 0x296DF0DF)) + + Op.JUMPI(pc=0x4D, condition=Op.EQ(0x4893D88A, Op.DUP1)) + + Op.JUMPI(pc=0x59, condition=Op.EQ(0x981A3165, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x47] + + Op.JUMP(pc=0x65) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x53] + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x5F] + + Op.JUMP(pc=0x72) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST * 2 + + Op.JUMPI(pc=0x70, condition=Op.ISZERO(0x1)) + + Op.JUMP(pc=0x66) + + Op.JUMPDEST + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x78] + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x80] + + Op.JUMP(pc=0x72) + + Op.JUMPDEST + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0xc7c7851c7f3291bed1039bb4ffa166c290a605a9"), # noqa: E501 + address=Address(0xC7C7851C7F3291BED1039BB4FFA166C290A605A9), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) + pre[sender] = Account(balance=0x12A05F200) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("981a3165"), + to=target, + data=Bytes("981a3165"), gas_limit=60000, value=1, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_contract_inheritance.py b/tests/ported_static/stSolidityTest/test_contract_inheritance.py index 123bdea71a3..080b62b5a9d 100644 --- a/tests/ported_static/stSolidityTest/test_contract_inheritance.py +++ b/tests/ported_static/stSolidityTest/test_contract_inheritance.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_contract_inheritance. Ported from: -tests/static/state_tests/stSolidityTest/ContractInheritanceFiller.json +state_tests/stSolidityTest/ContractInheritanceFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSolidityTest/ContractInheritanceFiller.json"], + ["state_tests/stSolidityTest/ContractInheritanceFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_contract_inheritance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_contract_inheritance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA9AE12CB2700C0214F86B9796881BC03A1FD5605D0E76D2DA2CA592E62D53E52 ) @@ -46,185 +47,176 @@ def test_contract_inheritance( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV( - Op.CALLDATALOAD(offset=0x0), + # Source: raw + # 0x7c010000000000000000000000000000000000000000000000000000000060003504633e0bca3b8114610039578063c0406226146100a857005b6100b55b600160008060456101ec8339604560006000f091508173ffffffffffffffffffffffffffffffffffffffff166381bda09b60206000827c010000000000000000000000000000000000000000000000000000000002600052600460006000866161da5a03f161011957005b6100bf60006100c961003d565b8060005260206000f35b8060005260206000f35b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016919091179081905560ff16919050565b505060005163ffffffff166002141561019d575b5b505090565b505060005163ffffffff1660011415610194575b60456101a7600039604560006000f090508073ffffffffffffffffffffffffffffffffffffffff166381bda09b60206000827c010000000000000000000000000000000000000000000000000000000002600052600460006000866161da5a03f16100ff57005b60009250610114565b600092506101145600603980600c6000396000f3007c0100000000000000000000000000000000000000000000000000000000600035046381bda09b8114602d57005b60026000818152602090f3603980600c6000396000f3007c0100000000000000000000000000000000000000000000000000000000600035046381bda09b8114602d57005b60016000818152602090f3 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=Op.PUSH2[0x39], condition=Op.EQ(Op.DUP2, 0x3E0BCA3B)) + + Op.JUMPI(pc=Op.PUSH2[0xA8], condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0xB5] + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.CODECOPY(dest_offset=Op.DUP4, offset=0x1EC, size=0x45) + + Op.CREATE(value=0x0, offset=0x0, size=0x45) + + Op.SWAP2 + + Op.POP + + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP2) + + Op.PUSH4[0x81BDA09B] + + Op.PUSH1[0x20] + + Op.PUSH1[0x0] + + Op.MSTORE( + offset=0x0, + value=Op.MUL( 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=Op.PUSH2[0x39], condition=Op.EQ(Op.DUP2, 0x3E0BCA3B)) - + Op.JUMPI(pc=Op.PUSH2[0xA8], condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0xB5] - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.CODECOPY(dest_offset=Op.DUP4, offset=0x1EC, size=0x45) - + Op.CREATE(value=0x0, offset=0x0, size=0x45) - + Op.SWAP2 - + Op.POP - + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP2) - + Op.PUSH4[0x81BDA09B] - + Op.PUSH1[0x20] - + Op.PUSH1[0x0] - + Op.MSTORE( - offset=0x0, - value=Op.MUL( - 0x100000000000000000000000000000000000000000000000000000000, # noqa: E501 - Op.DUP3, - ), - ) - + Op.PUSH1[0x4] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP7 - + Op.SUB(Op.GAS, 0x61DA) - + Op.JUMPI(pc=0x119, condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0xBF] - + Op.PUSH1[0x0] - + Op.PUSH2[0xC9] - + Op.JUMP(pc=Op.PUSH2[0x3D]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 - Op.SLOAD(key=Op.DUP1), - ) - + Op.SWAP2 - + Op.SWAP1 - + Op.SWAP2 - + Op.OR - + Op.SWAP1 - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.PUSH1[0xFF] - + Op.AND - + Op.SWAP2 - + Op.SWAP1 - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPI( - pc=0x19D, - condition=Op.ISZERO( - Op.EQ(0x2, Op.AND(0xFFFFFFFF, Op.MLOAD(offset=0x0))), - ), - ) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPI( - pc=0x194, - condition=Op.ISZERO( - Op.EQ(0x1, Op.AND(0xFFFFFFFF, Op.MLOAD(offset=0x0))), - ), - ) - + Op.JUMPDEST - + Op.CODECOPY(dest_offset=0x0, offset=0x1A7, size=0x45) - + Op.CREATE(value=0x0, offset=0x0, size=0x45) - + Op.SWAP1 - + Op.POP - + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP1) - + Op.PUSH4[0x81BDA09B] - + Op.PUSH1[0x20] - + Op.PUSH1[0x0] - + Op.MSTORE( - offset=0x0, - value=Op.MUL( - 0x100000000000000000000000000000000000000000000000000000000, # noqa: E501 - Op.DUP3, - ), - ) - + Op.PUSH1[0x4] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP7 - + Op.SUB(Op.GAS, 0x61DA) - + Op.JUMPI(pc=Op.PUSH2[0xFF], condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP3 - + Op.POP - + Op.JUMP(pc=0x114) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP3 - + Op.POP - + Op.JUMP(pc=0x114) - + Op.STOP - + Op.PUSH1[0x39] - + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), + Op.DUP3, + ), + ) + + Op.PUSH1[0x4] + + Op.PUSH1[0x0] * 2 + + Op.DUP7 + + Op.SUB(Op.GAS, 0x61DA) + + Op.JUMPI(pc=0x119, condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0xBF] + + Op.PUSH1[0x0] + + Op.PUSH2[0xC9] + + Op.JUMP(pc=Op.PUSH2[0x3D]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, + Op.SLOAD(key=Op.DUP1), + ) + + Op.SWAP2 + + Op.SWAP1 + + Op.SWAP2 + + Op.OR + + Op.SWAP1 + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.PUSH1[0xFF] + + Op.AND + + Op.SWAP2 + + Op.SWAP1 + + Op.POP + + Op.JUMP + + Op.JUMPDEST + + Op.POP * 2 + + Op.JUMPI( + pc=0x19D, + condition=Op.ISZERO( + Op.EQ(0x2, Op.AND(0xFFFFFFFF, Op.MLOAD(offset=0x0))) + ), + ) + + Op.JUMPDEST * 2 + + Op.POP * 2 + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.POP * 2 + + Op.JUMPI( + pc=0x194, + condition=Op.ISZERO( + Op.EQ(0x1, Op.AND(0xFFFFFFFF, Op.MLOAD(offset=0x0))) + ), + ) + + Op.JUMPDEST + + Op.CODECOPY(dest_offset=0x0, offset=0x1A7, size=0x45) + + Op.CREATE(value=0x0, offset=0x0, size=0x45) + + Op.SWAP1 + + Op.POP + + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP1) + + Op.PUSH4[0x81BDA09B] + + Op.PUSH1[0x20] + + Op.PUSH1[0x0] + + Op.MSTORE( + offset=0x0, + value=Op.MUL( 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=0x2D, condition=Op.EQ(Op.DUP2, 0x81BDA09B)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x2] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.PUSH1[0x20] - + Op.SWAP1 - + Op.RETURN - + Op.PUSH1[0x39] - + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=0x2D, condition=Op.EQ(Op.DUP2, 0x81BDA09B)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.PUSH1[0x20] - + Op.SWAP1 - + Op.RETURN - ), + Op.DUP3, + ), + ) + + Op.PUSH1[0x4] + + Op.PUSH1[0x0] * 2 + + Op.DUP7 + + Op.SUB(Op.GAS, 0x61DA) + + Op.JUMPI(pc=Op.PUSH2[0xFF], condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP3 + + Op.POP + + Op.JUMP(pc=0x114) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP3 + + Op.POP + + Op.JUMP(pc=0x114) + + Op.STOP + + Op.PUSH1[0x39] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=0x2D, condition=Op.EQ(Op.DUP2, 0x81BDA09B)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x2] + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.PUSH1[0x20] + + Op.SWAP1 + + Op.RETURN + + Op.PUSH1[0x39] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=0x2D, condition=Op.EQ(Op.DUP2, 0x81BDA09B)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.PUSH1[0x20] + + Op.SWAP1 + + Op.RETURN, balance=0x186A0, nonce=0, - address=Address("0x3809b123c157b2d0d3b998255f35b5f8b8ae4789"), # noqa: E501 + address=Address(0x3809B123C157B2D0D3B998255F35B5F8B8AE4789), # noqa: E501 ) pre[sender] = Account(balance=0x12A05F200) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=35000000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_create_contract_from_method.py b/tests/ported_static/stSolidityTest/test_create_contract_from_method.py index ceeec794dd9..827cdb3ff7c 100644 --- a/tests/ported_static/stSolidityTest/test_create_contract_from_method.py +++ b/tests/ported_static/stSolidityTest/test_create_contract_from_method.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_contract_from_method. Ported from: -tests/static/state_tests/stSolidityTest/CreateContractFromMethodFiller.json +state_tests/stSolidityTest/CreateContractFromMethodFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSolidityTest/CreateContractFromMethodFiller.json", # noqa: E501 - ], + ["state_tests/stSolidityTest/CreateContractFromMethodFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +32,9 @@ def test_create_contract_from_method( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_contract_from_method.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,96 +48,105 @@ def test_create_contract_from_method( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.EXP(0x2, 0xE0) - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=0x1F, condition=Op.EQ(0x7EE17E12, Op.DUP1)) - + Op.JUMPI(pc=0x2B, condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x25] - + Op.JUMP(pc=0x47) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x31] - + Op.JUMP(pc=0x3B) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x43] - + Op.JUMP(pc=0x47) - + Op.JUMPDEST - + Op.POP - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.CODECOPY(dest_offset=0x0, offset=0x5D, size=0x60) - + Op.CREATE(value=0x0, offset=0x0, size=0x60) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.JUMP - + Op.STOP - + Op.PUSH1[0x54] - + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.CALLDATALOAD(offset=0x0) - + Op.EXP(0x2, 0xE0) - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=0x1E, condition=Op.EQ(0xF55D9D, Op.DUP1)) - + Op.JUMPI(pc=0x2D, condition=Op.EQ(0xB9C3D0A5, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x27] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=0x46) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x33] - + Op.JUMP(pc=0x3D) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0xE1] - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.SELFDESTRUCT( - address=Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1), - ) - + Op.POP - + Op.JUMP - ), + # Source: raw + # 0x60003560e060020a900480637ee17e1214601f578063c040622614602b57005b60256047565b60006000f35b6031603b565b8060005260206000f35b600060436047565b5090565b60006060605d600039606060006000f09050905600605480600c6000396000f30060003560e060020a90048062f55d9d14601e578063b9c3d0a514602d57005b60276004356046565b60006000f35b6033603d565b8060005260206000f35b600060e1905090565b80600160a060020a0316ff5056 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.EXP(0x2, 0xE0) + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=0x1F, condition=Op.EQ(0x7EE17E12, Op.DUP1)) + + Op.JUMPI(pc=0x2B, condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x25] + + Op.JUMP(pc=0x47) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x31] + + Op.JUMP(pc=0x3B) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x43] + + Op.JUMP(pc=0x47) + + Op.JUMPDEST + + Op.POP + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.CODECOPY(dest_offset=0x0, offset=0x5D, size=0x60) + + Op.CREATE(value=0x0, offset=0x0, size=0x60) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.JUMP + + Op.STOP + + Op.PUSH1[0x54] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.CALLDATALOAD(offset=0x0) + + Op.EXP(0x2, 0xE0) + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=0x1E, condition=Op.EQ(0xF55D9D, Op.DUP1)) + + Op.JUMPI(pc=0x2D, condition=Op.EQ(0xB9C3D0A5, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x27] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=0x46) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x33] + + Op.JUMP(pc=0x3D) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0xE1] + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.SELFDESTRUCT( + address=Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1) + ) + + Op.POP + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=contract_0, + data=Bytes("c0406226"), gas_limit=350000, value=1, ) - post: dict = {} + post = { + contract_0: Account(nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + storage={}, + code=bytes.fromhex( + "60003560e060020a90048062f55d9d14601e578063b9c3d0a514602d57005b60276004356046565b60006000f35b6033603d565b8060005260206000f35b600060e1905090565b80600160a060020a0316ff5056" # noqa: E501 + ), + balance=0, + nonce=1, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_recursive_create_contracts.py b/tests/ported_static/stSolidityTest/test_recursive_create_contracts.py index 671b7d66e36..0c335e0368c 100644 --- a/tests/ported_static/stSolidityTest/test_recursive_create_contracts.py +++ b/tests/ported_static/stSolidityTest/test_recursive_create_contracts.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_recursive_create_contracts. Ported from: -tests/static/state_tests/stSolidityTest/RecursiveCreateContractsFiller.json +state_tests/stSolidityTest/RecursiveCreateContractsFiller.json """ import pytest @@ -11,9 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,9 +25,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSolidityTest/RecursiveCreateContractsFiller.json", # noqa: E501 - ], + ["state_tests/stSolidityTest/RecursiveCreateContractsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +33,9 @@ def test_recursive_create_contracts( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_recursive_create_contracts.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,250 +49,227 @@ def test_recursive_create_contracts( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.EXP(0x2, 0xE0) - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=Op.PUSH2[0x21], condition=Op.EQ(0x820B13F6, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x32], condition=Op.EQ(0xA444F5E9, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x2C] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=Op.PUSH2[0x93]) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH2[0x3D] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=Op.PUSH2[0x43]) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH20[0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87] - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.DUP2 - + Op.PUSH1[0x1] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.CODECOPY(dest_offset=0x0, offset=0x1AD, size=0x6B) - + Op.PUSH1[0x6B] - + Op.MSTORE( - offset=Op.DUP2, - value=Op.AND( - Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0) - ), - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) - + Op.PUSH1[0x20] - + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0xE5], size=0xC8) - + Op.PUSH1[0xC8] - + Op.MSTORE( - offset=Op.DUP2, - value=Op.AND( - Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0) - ), - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) - + Op.PUSH1[0x20] - + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) - + Op.SWAP1 - + Op.POP - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x2] - + Op.JUMPI( - pc=Op.PUSH2[0xDD], - condition=Op.CALL( - gas=Op.DUP8, - address=Op.DUP8, - value=Op.DUP5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP - + Op.STOP - + Op.CODECOPY(dest_offset=0x4, offset=0xC8, size=0x40) - + Op.MLOAD(offset=0x4) - + Op.MLOAD(offset=0x24) - + Op.PUSH1[0x0] - + Op.SUB(Op.DUP3, 0x1) - + Op.SWAP2 - + Op.POP - + Op.DUP2 - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMPI(pc=0x26, condition=Op.GT(Op.DUP3, 0x0)) - + Op.JUMP(pc=0x4C) - + Op.JUMPDEST - + Op.CODECOPY(dest_offset=0x0, offset=0x5D, size=0x6B) - + Op.PUSH1[0x6B] - + Op.MSTORE( - offset=Op.DUP2, - value=Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP4), - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) - + Op.PUSH1[0x20] - + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) - + Op.SWAP1 - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH1[0x1] - + Op.CODECOPY(dest_offset=0x0, offset=0x5C, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.STOP - + Op.CODECOPY(dest_offset=0x4, offset=0x6B, size=0x40) - + Op.MLOAD(offset=0x4) - + Op.MLOAD(offset=0x24) - + Op.SUB(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMPI(pc=0x24, condition=Op.GT(Op.DUP2, 0x0)) - + Op.JUMP(pc=0x5B) - + Op.JUMPDEST - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP2) - + Op.PUSH4[0x820B13F6] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) - + Op.PUSH1[0x4] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP6) - + Op.PUSH1[0x20] - + Op.ADD - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP7 - + Op.SUB(Op.GAS, 0x32) - + Op.JUMPI(pc=0x58, condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.PUSH1[0x1] - + Op.CODECOPY(dest_offset=0x0, offset=0x6A, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.STOP - + Op.CODECOPY(dest_offset=0x4, offset=0x6B, size=0x40) - + Op.MLOAD(offset=0x4) - + Op.MLOAD(offset=0x24) - + Op.SUB(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMPI(pc=0x24, condition=Op.GT(Op.DUP2, 0x0)) - + Op.JUMP(pc=0x5B) - + Op.JUMPDEST - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP2) - + Op.PUSH4[0x820B13F6] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) - + Op.PUSH1[0x4] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP6) - + Op.PUSH1[0x20] - + Op.ADD - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP7 - + Op.SUB(Op.GAS, 0x32) - + Op.JUMPI(pc=0x58, condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.PUSH1[0x1] - + Op.CODECOPY(dest_offset=0x0, offset=0x6A, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.STOP - ), + # Source: raw + # 0x60003560e060020a90048063820b13f614610021578063a444f5e91461003257005b61002c600435610093565b60006000f35b61003d600435610043565b60006000f35b600073095e7baea6a6c7c4c2dfeb977efac326af552d8760008190555081600181905550606b6101ad600039606b600054600160a060020a0316815260200182815260200160006000f090505050565b600060c86100e560003960c8600054600160a060020a0316815260200182815260200160006000f0905080600160a060020a0316600060026000600060006000848787f16100dd57005b50505050505600604060c860043960045160245160006001820391508160008190555060008211602657604c565b606b605d600039606b83600160a060020a0316815260200182815260200160006000f090505b505050600180605c6000396000f300006040606b6004396004516024516001810390508060008190555060008111602457605b565b81600160a060020a031663820b13f6600060008260e060020a026000526004858152602001600060008660325a03f1605857005b50505b5050600180606a6000396000f300006040606b6004396004516024516001810390508060008190555060008111602457605b565b81600160a060020a031663820b13f6600060008260e060020a026000526004858152602001600060008660325a03f1605857005b50505b5050600180606a6000396000f30000 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.EXP(0x2, 0xE0) + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=Op.PUSH2[0x21], condition=Op.EQ(0x820B13F6, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x32], condition=Op.EQ(0xA444F5E9, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x2C] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=Op.PUSH2[0x93]) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH2[0x3D] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=Op.PUSH2[0x43]) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH20[0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87] + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.DUP2 + + Op.PUSH1[0x1] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.CODECOPY(dest_offset=0x0, offset=0x1AD, size=0x6B) + + Op.PUSH1[0x6B] + + Op.MSTORE( + offset=Op.DUP2, + value=Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) + + Op.PUSH1[0x20] + + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) + + Op.SWAP1 + + Op.POP * 3 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0xE5], size=0xC8) + + Op.PUSH1[0xC8] + + Op.MSTORE( + offset=Op.DUP2, + value=Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) + + Op.PUSH1[0x20] + + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) + + Op.SWAP1 + + Op.POP + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1) + + Op.PUSH1[0x0] + + Op.PUSH1[0x2] + + Op.JUMPI( + pc=Op.PUSH2[0xDD], + condition=Op.CALL( + gas=Op.DUP8, + address=Op.DUP8, + value=Op.DUP5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 5 + + Op.JUMP + + Op.STOP + + Op.CODECOPY(dest_offset=0x4, offset=0xC8, size=0x40) + + Op.MLOAD(offset=0x4) + + Op.MLOAD(offset=0x24) + + Op.PUSH1[0x0] + + Op.SUB(Op.DUP3, 0x1) + + Op.SWAP2 + + Op.POP + + Op.DUP2 + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMPI(pc=0x26, condition=Op.GT(Op.DUP3, 0x0)) + + Op.JUMP(pc=0x4C) + + Op.JUMPDEST + + Op.CODECOPY(dest_offset=0x0, offset=0x5D, size=0x6B) + + Op.PUSH1[0x6B] + + Op.MSTORE( + offset=Op.DUP2, + value=Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP4), + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) + + Op.PUSH1[0x20] + + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) + + Op.SWAP1 + + Op.POP + + Op.JUMPDEST + + Op.POP * 3 + + Op.PUSH1[0x1] + + Op.CODECOPY(dest_offset=0x0, offset=0x5C, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP * 2 + + Op.CODECOPY(dest_offset=0x4, offset=0x6B, size=0x40) + + Op.MLOAD(offset=0x4) + + Op.MLOAD(offset=0x24) + + Op.SUB(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.DUP1 + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMPI(pc=0x24, condition=Op.GT(Op.DUP2, 0x0)) + + Op.JUMP(pc=0x5B) + + Op.JUMPDEST + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP2) + + Op.PUSH4[0x820B13F6] + + Op.PUSH1[0x0] * 2 + + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) + + Op.PUSH1[0x4] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP6) + + Op.PUSH1[0x20] + + Op.ADD + + Op.PUSH1[0x0] * 2 + + Op.DUP7 + + Op.SUB(Op.GAS, 0x32) + + Op.JUMPI(pc=0x58, condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 2 + + Op.JUMPDEST + + Op.POP * 2 + + Op.PUSH1[0x1] + + Op.CODECOPY(dest_offset=0x0, offset=0x6A, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP * 2 + + Op.CODECOPY(dest_offset=0x4, offset=0x6B, size=0x40) + + Op.MLOAD(offset=0x4) + + Op.MLOAD(offset=0x24) + + Op.SUB(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.DUP1 + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMPI(pc=0x24, condition=Op.GT(Op.DUP2, 0x0)) + + Op.JUMP(pc=0x5B) + + Op.JUMPDEST + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP2) + + Op.PUSH4[0x820B13F6] + + Op.PUSH1[0x0] * 2 + + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) + + Op.PUSH1[0x4] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP6) + + Op.PUSH1[0x20] + + Op.ADD + + Op.PUSH1[0x0] * 2 + + Op.DUP7 + + Op.SUB(Op.GAS, 0x32) + + Op.JUMPI(pc=0x58, condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 2 + + Op.JUMPDEST + + Op.POP * 2 + + Op.PUSH1[0x1] + + Op.CODECOPY(dest_offset=0x0, offset=0x6A, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP * 2, balance=0x314DC6448D9338C15B0A00000000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x1DCD6500) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "a444f5e90000000000000000000000000000000000000000000000000000000000000304" # noqa: E501 - ), + to=contract_0, + data=Bytes("a444f5e9") + Hash(0x304), gas_limit=300000, value=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87, 1: 772, }, + balance=0x314DC6448D9338C15B0A00000001, + nonce=1, ), - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={0: 771}, + sender: Account(nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 771}, nonce=1 ), } diff --git a/tests/ported_static/stSolidityTest/test_recursive_create_contracts_create4_contracts.py b/tests/ported_static/stSolidityTest/test_recursive_create_contracts_create4_contracts.py index 5ece96ff074..31f06f4e2e2 100644 --- a/tests/ported_static/stSolidityTest/test_recursive_create_contracts_create4_contracts.py +++ b/tests/ported_static/stSolidityTest/test_recursive_create_contracts_create4_contracts.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_recursive_create_contracts_create4_contracts. Ported from: -tests/static/state_tests/stSolidityTest -RecursiveCreateContractsCreate4ContractsFiller.json +state_tests/stSolidityTest/RecursiveCreateContractsCreate4ContractsFiller.json """ import pytest @@ -12,9 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +26,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSolidityTest/RecursiveCreateContractsCreate4ContractsFiller.json", # noqa: E501 + "state_tests/stSolidityTest/RecursiveCreateContractsCreate4ContractsFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +35,9 @@ def test_recursive_create_contracts_create4_contracts( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_recursive_create_contracts_create4_contracts.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,256 +51,235 @@ def test_recursive_create_contracts_create4_contracts( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.EXP(0x2, 0xE0) - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=Op.PUSH2[0x21], condition=Op.EQ(0x820B13F6, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x32], condition=Op.EQ(0xA444F5E9, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x2C] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=Op.PUSH2[0x93]) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH2[0x3D] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=Op.PUSH2[0x43]) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH20[0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87] - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.DUP2 - + Op.PUSH1[0x1] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.CODECOPY(dest_offset=0x0, offset=0x1AD, size=0x6B) - + Op.PUSH1[0x6B] - + Op.MSTORE( - offset=Op.DUP2, - value=Op.AND( - Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0) - ), - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) - + Op.PUSH1[0x20] - + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0xE5], size=0xC8) - + Op.PUSH1[0xC8] - + Op.MSTORE( - offset=Op.DUP2, - value=Op.AND( - Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0) - ), - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) - + Op.PUSH1[0x20] - + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) - + Op.SWAP1 - + Op.POP - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1) - + Op.PUSH1[0x0] - + Op.PUSH1[0x2] - + Op.JUMPI( - pc=Op.PUSH2[0xDD], - condition=Op.CALL( - gas=Op.DUP8, - address=Op.DUP8, - value=Op.DUP5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP - + Op.STOP - + Op.CODECOPY(dest_offset=0x4, offset=0xC8, size=0x40) - + Op.MLOAD(offset=0x4) - + Op.MLOAD(offset=0x24) - + Op.PUSH1[0x0] - + Op.SUB(Op.DUP3, 0x1) - + Op.SWAP2 - + Op.POP - + Op.DUP2 - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMPI(pc=0x26, condition=Op.GT(Op.DUP3, 0x0)) - + Op.JUMP(pc=0x4C) - + Op.JUMPDEST - + Op.CODECOPY(dest_offset=0x0, offset=0x5D, size=0x6B) - + Op.PUSH1[0x6B] - + Op.MSTORE( - offset=Op.DUP2, - value=Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP4), - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) - + Op.PUSH1[0x20] - + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) - + Op.SWAP1 - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH1[0x1] - + Op.CODECOPY(dest_offset=0x0, offset=0x5C, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.STOP - + Op.CODECOPY(dest_offset=0x4, offset=0x6B, size=0x40) - + Op.MLOAD(offset=0x4) - + Op.MLOAD(offset=0x24) - + Op.SUB(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMPI(pc=0x24, condition=Op.GT(Op.DUP2, 0x0)) - + Op.JUMP(pc=0x5B) - + Op.JUMPDEST - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP2) - + Op.PUSH4[0x820B13F6] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) - + Op.PUSH1[0x4] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP6) - + Op.PUSH1[0x20] - + Op.ADD - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP7 - + Op.SUB(Op.GAS, 0x32) - + Op.JUMPI(pc=0x58, condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.PUSH1[0x1] - + Op.CODECOPY(dest_offset=0x0, offset=0x6A, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.STOP - + Op.CODECOPY(dest_offset=0x4, offset=0x6B, size=0x40) - + Op.MLOAD(offset=0x4) - + Op.MLOAD(offset=0x24) - + Op.SUB(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.DUP1 - + Op.PUSH1[0x0] - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.JUMPI(pc=0x24, condition=Op.GT(Op.DUP2, 0x0)) - + Op.JUMP(pc=0x5B) - + Op.JUMPDEST - + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP2) - + Op.PUSH4[0x820B13F6] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) - + Op.PUSH1[0x4] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP6) - + Op.PUSH1[0x20] - + Op.ADD - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP7 - + Op.SUB(Op.GAS, 0x32) - + Op.JUMPI(pc=0x58, condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.PUSH1[0x1] - + Op.CODECOPY(dest_offset=0x0, offset=0x6A, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.STOP - ), + # Source: raw + # 0x60003560e060020a90048063820b13f614610021578063a444f5e91461003257005b61002c600435610093565b60006000f35b61003d600435610043565b60006000f35b600073095e7baea6a6c7c4c2dfeb977efac326af552d8760008190555081600181905550606b6101ad600039606b600054600160a060020a0316815260200182815260200160006000f090505050565b600060c86100e560003960c8600054600160a060020a0316815260200182815260200160006000f0905080600160a060020a0316600060026000600060006000848787f16100dd57005b50505050505600604060c860043960045160245160006001820391508160008190555060008211602657604c565b606b605d600039606b83600160a060020a0316815260200182815260200160006000f090505b505050600180605c6000396000f300006040606b6004396004516024516001810390508060008190555060008111602457605b565b81600160a060020a031663820b13f6600060008260e060020a026000526004858152602001600060008660325a03f1605857005b50505b5050600180606a6000396000f300006040606b6004396004516024516001810390508060008190555060008111602457605b565b81600160a060020a031663820b13f6600060008260e060020a026000526004858152602001600060008660325a03f1605857005b50505b5050600180606a6000396000f30000 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.EXP(0x2, 0xE0) + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=Op.PUSH2[0x21], condition=Op.EQ(0x820B13F6, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x32], condition=Op.EQ(0xA444F5E9, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x2C] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=Op.PUSH2[0x93]) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH2[0x3D] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=Op.PUSH2[0x43]) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH20[0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87] + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.DUP2 + + Op.PUSH1[0x1] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.CODECOPY(dest_offset=0x0, offset=0x1AD, size=0x6B) + + Op.PUSH1[0x6B] + + Op.MSTORE( + offset=Op.DUP2, + value=Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) + + Op.PUSH1[0x20] + + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) + + Op.SWAP1 + + Op.POP * 3 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.CODECOPY(dest_offset=0x0, offset=Op.PUSH2[0xE5], size=0xC8) + + Op.PUSH1[0xC8] + + Op.MSTORE( + offset=Op.DUP2, + value=Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.SLOAD(key=0x0)), + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) + + Op.PUSH1[0x20] + + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) + + Op.SWAP1 + + Op.POP + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP1) + + Op.PUSH1[0x0] + + Op.PUSH1[0x2] + + Op.JUMPI( + pc=Op.PUSH2[0xDD], + condition=Op.CALL( + gas=Op.DUP8, + address=Op.DUP8, + value=Op.DUP5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 5 + + Op.JUMP + + Op.STOP + + Op.CODECOPY(dest_offset=0x4, offset=0xC8, size=0x40) + + Op.MLOAD(offset=0x4) + + Op.MLOAD(offset=0x24) + + Op.PUSH1[0x0] + + Op.SUB(Op.DUP3, 0x1) + + Op.SWAP2 + + Op.POP + + Op.DUP2 + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMPI(pc=0x26, condition=Op.GT(Op.DUP3, 0x0)) + + Op.JUMP(pc=0x4C) + + Op.JUMPDEST + + Op.CODECOPY(dest_offset=0x0, offset=0x5D, size=0x6B) + + Op.PUSH1[0x6B] + + Op.MSTORE( + offset=Op.DUP2, + value=Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP4), + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) + + Op.PUSH1[0x20] + + Op.CREATE(value=0x0, offset=0x0, size=Op.ADD) + + Op.SWAP1 + + Op.POP + + Op.JUMPDEST + + Op.POP * 3 + + Op.PUSH1[0x1] + + Op.CODECOPY(dest_offset=0x0, offset=0x5C, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP * 2 + + Op.CODECOPY(dest_offset=0x4, offset=0x6B, size=0x40) + + Op.MLOAD(offset=0x4) + + Op.MLOAD(offset=0x24) + + Op.SUB(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.DUP1 + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMPI(pc=0x24, condition=Op.GT(Op.DUP2, 0x0)) + + Op.JUMP(pc=0x5B) + + Op.JUMPDEST + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP2) + + Op.PUSH4[0x820B13F6] + + Op.PUSH1[0x0] * 2 + + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) + + Op.PUSH1[0x4] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP6) + + Op.PUSH1[0x20] + + Op.ADD + + Op.PUSH1[0x0] * 2 + + Op.DUP7 + + Op.SUB(Op.GAS, 0x32) + + Op.JUMPI(pc=0x58, condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 2 + + Op.JUMPDEST + + Op.POP * 2 + + Op.PUSH1[0x1] + + Op.CODECOPY(dest_offset=0x0, offset=0x6A, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP * 2 + + Op.CODECOPY(dest_offset=0x4, offset=0x6B, size=0x40) + + Op.MLOAD(offset=0x4) + + Op.MLOAD(offset=0x24) + + Op.SUB(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.DUP1 + + Op.PUSH1[0x0] + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.JUMPI(pc=0x24, condition=Op.GT(Op.DUP2, 0x0)) + + Op.JUMP(pc=0x5B) + + Op.JUMPDEST + + Op.AND(Op.SUB(Op.EXP(0x2, 0xA0), 0x1), Op.DUP2) + + Op.PUSH4[0x820B13F6] + + Op.PUSH1[0x0] * 2 + + Op.MSTORE(offset=0x0, value=Op.MUL(Op.EXP(0x2, 0xE0), Op.DUP3)) + + Op.PUSH1[0x4] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP6) + + Op.PUSH1[0x20] + + Op.ADD + + Op.PUSH1[0x0] * 2 + + Op.DUP7 + + Op.SUB(Op.GAS, 0x32) + + Op.JUMPI(pc=0x58, condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 2 + + Op.JUMPDEST + + Op.POP * 2 + + Op.PUSH1[0x1] + + Op.CODECOPY(dest_offset=0x0, offset=0x6A, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP * 2, balance=0x314DC6448D9338C15B0A00000000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x1DCD6500) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "a444f5e90000000000000000000000000000000000000000000000000000000000000004" # noqa: E501 - ), + to=contract_0, + data=Bytes("a444f5e9") + Hash(0x4), gas_limit=300000, value=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87, 1: 4, }, + nonce=3, + ), + Address(0x2B25AE4B13CB6E06869F694D29DE45E7614EBD97): Account( + storage={0: 1}, nonce=1 ), - Address("0x2b25ae4b13cb6e06869f694d29de45e7614ebd97"): Account( - storage={0: 1}, + compute_create_address(address=contract_0, nonce=2): Account( + balance=2, nonce=1 ), - Address("0xb88de88b35ecbf3c141e3caae2baf35834d18f63"): Account( - storage={0: 2}, + sender: Account(nonce=1), + compute_create_address(address=contract_0, nonce=1): Account( + storage={0: 2}, balance=2, nonce=2 ), - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={0: 3}, + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 3}, nonce=1 ), } diff --git a/tests/ported_static/stSolidityTest/test_test_block_and_transaction_properties.py b/tests/ported_static/stSolidityTest/test_test_block_and_transaction_properties.py index 399e6d75932..2bec0c9098c 100644 --- a/tests/ported_static/stSolidityTest/test_test_block_and_transaction_properties.py +++ b/tests/ported_static/stSolidityTest/test_test_block_and_transaction_properties.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_test_block_and_transaction_properties. Ported from: -tests/static/state_tests/stSolidityTest -TestBlockAndTransactionPropertiesFiller.json +state_tests/stSolidityTest/TestBlockAndTransactionPropertiesFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSolidityTest/TestBlockAndTransactionPropertiesFiller.json", # noqa: E501 + "state_tests/stSolidityTest/TestBlockAndTransactionPropertiesFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_test_block_and_transaction_properties( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_test_block_and_transaction_properties.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -48,224 +48,214 @@ def test_test_block_and_transaction_properties( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0x5F5E100) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x40, value=0x60) - + Op.CALLDATALOAD(offset=0x0) - + Op.PUSH29[ - 0x100000000000000000000000000000000000000000000000000000000 - ] - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=Op.PUSH2[0x44], condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x69], condition=Op.EQ(0xE97384DC, Op.DUP1)) - + Op.JUMP(pc=Op.PUSH2[0x42]) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x51] - + Op.PUSH1[0x4] - + Op.POP(Op.DUP1) - + Op.POP - + Op.JUMP(pc=Op.PUSH2[0x8E]) - + Op.JUMPDEST - + Op.MLOAD(offset=0x40) - + Op.DUP1 - + Op.MSTORE(offset=Op.DUP2, value=Op.ISZERO(Op.ISZERO(Op.DUP3))) - + Op.PUSH1[0x20] - + Op.ADD - + Op.SWAP2 - + Op.POP - + Op.POP - + Op.MLOAD(offset=0x40) - + Op.DUP1 - + Op.SWAP2 - + Op.SUB - + Op.SWAP1 - + Op.RETURN - + Op.JUMPDEST - + Op.PUSH2[0x76] - + Op.PUSH1[0x4] - + Op.POP(Op.DUP1) - + Op.POP - + Op.JUMP(pc=Op.PUSH2[0xC9]) - + Op.JUMPDEST - + Op.MLOAD(offset=0x40) - + Op.DUP1 - + Op.MSTORE(offset=Op.DUP2, value=Op.ISZERO(Op.ISZERO(Op.DUP3))) - + Op.PUSH1[0x20] - + Op.ADD - + Op.SWAP2 - + Op.POP - + Op.POP - + Op.MLOAD(offset=0x40) - + Op.DUP1 - + Op.SWAP2 - + Op.SUB - + Op.SWAP1 - + Op.RETURN - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH2[0x98] - + Op.JUMP(pc=Op.PUSH2[0xC9]) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.EXP(0x100, 0x0) - + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) - + Op.SWAP1 - + Op.OR(Op.MUL, Op.DUP4) - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.SLOAD - + Op.SWAP1 - + Op.PUSH2[0x100] - + Op.EXP - + Op.SWAP1 - + Op.AND(0xFF, Op.DIV) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=Op.PUSH2[0xC6]) - + Op.JUMPDEST - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.POP - + Op.POP(Op.DUP1) - + Op.JUMPI( - pc=0x10D, - condition=Op.ISZERO( - Op.ISZERO( - Op.EQ( - Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.COINBASE, - ), - 0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA, + # Source: raw + # 0x60606040526000357c010000000000000000000000000000000000000000000000000000000090048063c040622614610044578063e97384dc1461006957610042565b005b610051600480505061008e565b60405180821515815260200191505060405180910390f35b61007660048050506100c9565b60405180821515815260200191505060405180910390f35b60006100986100c9565b600060006101000a81548160ff02191690830217905550600060009054906101000a900460ff1690506100c6565b90565b6000600190508050732adc25665018aa1fe0e6bc666dac8fc2697ff9ba4173ffffffffffffffffffffffffffffffffffffffff1614151561010d57600090506101f7565b6302b8feb04414151561012357600090506101f7565b677fffffffffffffff4514151561013d57600090506101f7565b60784314151561015057600090506101f7565b6078405042505a50733373ffffffffffffffffffffffffffffffffffffffff1614151561019457600090506101f7565b6064341415156101a757600090506101f7565b60013a1415156101ba57600090506101f7565b733273ffffffffffffffffffffffffffffffffffffffff161415156101f657600090506101f7565b5b9056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x40, value=0x60) + + Op.CALLDATALOAD(offset=0x0) + + Op.PUSH29[ + 0x100000000000000000000000000000000000000000000000000000000 + ] + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=Op.PUSH2[0x44], condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x69], condition=Op.EQ(0xE97384DC, Op.DUP1)) + + Op.JUMP(pc=Op.PUSH2[0x42]) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x51] + + Op.PUSH1[0x4] + + Op.POP(Op.DUP1) + + Op.POP + + Op.JUMP(pc=Op.PUSH2[0x8E]) + + Op.JUMPDEST + + Op.MLOAD(offset=0x40) + + Op.DUP1 + + Op.MSTORE(offset=Op.DUP2, value=Op.ISZERO(Op.ISZERO(Op.DUP3))) + + Op.PUSH1[0x20] + + Op.ADD + + Op.SWAP2 + + Op.POP * 2 + + Op.MLOAD(offset=0x40) + + Op.DUP1 + + Op.SWAP2 + + Op.SUB + + Op.SWAP1 + + Op.RETURN + + Op.JUMPDEST + + Op.PUSH2[0x76] + + Op.PUSH1[0x4] + + Op.POP(Op.DUP1) + + Op.POP + + Op.JUMP(pc=Op.PUSH2[0xC9]) + + Op.JUMPDEST + + Op.MLOAD(offset=0x40) + + Op.DUP1 + + Op.MSTORE(offset=Op.DUP2, value=Op.ISZERO(Op.ISZERO(Op.DUP3))) + + Op.PUSH1[0x20] + + Op.ADD + + Op.SWAP2 + + Op.POP * 2 + + Op.MLOAD(offset=0x40) + + Op.DUP1 + + Op.SWAP2 + + Op.SUB + + Op.SWAP1 + + Op.RETURN + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH2[0x98] + + Op.JUMP(pc=Op.PUSH2[0xC9]) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.EXP(0x100, 0x0) + + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) + + Op.SWAP1 + + Op.OR(Op.MUL, Op.DUP4) + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.PUSH1[0x0] * 2 + + Op.SWAP1 + + Op.SLOAD + + Op.SWAP1 + + Op.PUSH2[0x100] + + Op.EXP + + Op.SWAP1 + + Op.AND(0xFF, Op.DIV) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=Op.PUSH2[0xC6]) + + Op.JUMPDEST + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.POP + + Op.POP(Op.DUP1) + + Op.JUMPI( + pc=0x10D, + condition=Op.ISZERO( + Op.ISZERO( + Op.EQ( + Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + Op.COINBASE, ), - ), - ), - ) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1F7) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x123, - condition=Op.ISZERO( - Op.ISZERO(Op.EQ(Op.PREVRANDAO, 0x2B8FEB0)) - ), - ) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1F7) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x13D, - condition=Op.ISZERO( - Op.ISZERO(Op.EQ(Op.GASLIMIT, 0x7FFFFFFFFFFFFFFF)), - ), - ) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1F7) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x150, - condition=Op.ISZERO(Op.ISZERO(Op.EQ(Op.NUMBER, 0x78))), - ) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1F7) - + Op.JUMPDEST - + Op.POP(Op.BLOCKHASH(block_number=0x78)) - + Op.POP(Op.TIMESTAMP) - + Op.POP(Op.GAS) - + Op.JUMPI( - pc=0x194, - condition=Op.ISZERO( - Op.ISZERO( - Op.EQ( - Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.CALLER, - ), - 0x7F3F285918D9B5E764174551E10B7539B97BBB27, + 0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA, + ) + ) + ), + ) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1F7) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x123, + condition=Op.ISZERO(Op.ISZERO(Op.EQ(Op.PREVRANDAO, 0x2B8FEB0))), + ) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1F7) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x13D, + condition=Op.ISZERO( + Op.ISZERO(Op.EQ(Op.GASLIMIT, 0x7FFFFFFFFFFFFFFF)) + ), + ) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1F7) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x150, condition=Op.ISZERO(Op.ISZERO(Op.EQ(Op.NUMBER, 0x78))) + ) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1F7) + + Op.JUMPDEST + + Op.POP(Op.BLOCKHASH(block_number=0x78)) + + Op.POP(Op.TIMESTAMP) + + Op.POP(Op.GAS) + + Op.JUMPI( + pc=0x194, + condition=Op.ISZERO( + Op.ISZERO( + Op.EQ( + Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + Op.CALLER, ), - ), - ), - ) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1F7) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1A7, - condition=Op.ISZERO(Op.ISZERO(Op.EQ(Op.CALLVALUE, 0x64))), - ) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1F7) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1BA, - condition=Op.ISZERO(Op.ISZERO(Op.EQ(Op.GASPRICE, 0x1))), - ) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1F7) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1F6, - condition=Op.ISZERO( - Op.ISZERO( - Op.EQ( - Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.ORIGIN, - ), - 0x7F3F285918D9B5E764174551E10B7539B97BBB27, + 0x7F3F285918D9B5E764174551E10B7539B97BBB27, + ) + ) + ), + ) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1F7) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1A7, condition=Op.ISZERO(Op.ISZERO(Op.EQ(Op.CALLVALUE, 0x64))) + ) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1F7) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1BA, condition=Op.ISZERO(Op.ISZERO(Op.EQ(Op.GASPRICE, 0x1))) + ) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1F7) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1F6, + condition=Op.ISZERO( + Op.ISZERO( + Op.EQ( + Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + Op.ORIGIN, ), - ), - ), - ) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1F7) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SWAP1 - + Op.JUMP - ), + 0x7F3F285918D9B5E764174551E10B7539B97BBB27, + ) + ) + ), + ) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1F7) + + Op.JUMPDEST * 2 + + Op.SWAP1 + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0xad24d212286ab785efe98ab6f5a3ecde73054ee5"), # noqa: E501 + address=Address(0xAD24D212286AB785EFE98AB6F5A3ECDE73054EE5), # noqa: E501 ) + pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=350000, value=100, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_test_contract_interaction.py b/tests/ported_static/stSolidityTest/test_test_contract_interaction.py index 57704d07598..16b73bd74bf 100644 --- a/tests/ported_static/stSolidityTest/test_test_contract_interaction.py +++ b/tests/ported_static/stSolidityTest/test_test_contract_interaction.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_test_contract_interaction. Ported from: -tests/static/state_tests/stSolidityTest/TestContractInteractionFiller.json +state_tests/stSolidityTest/TestContractInteractionFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSolidityTest/TestContractInteractionFiller.json", # noqa: E501 - ], + ["state_tests/stSolidityTest/TestContractInteractionFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_test_contract_interaction( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_test_contract_interaction.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -47,144 +46,134 @@ def test_test_contract_interaction( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=Op.PUSH2[0x39], condition=Op.EQ(Op.DUP2, 0xC0406226)) - + Op.JUMPI(pc=Op.PUSH2[0x4B], condition=Op.EQ(0xED973FE9, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x41] - + Op.JUMP(pc=Op.PUSH2[0xEA]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH2[0x53] - + Op.JUMP(pc=Op.PUSH2[0x5D]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.CODECOPY(dest_offset=0x0, offset=0x11A, size=0x81) - + Op.CREATE(value=0x0, offset=0x0, size=0x81) - + Op.SWAP1 - + Op.POP - + Op.AND(Op.DUP2, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH4[0xB9C3D0A5] - + Op.PUSH1[0x20] - + Op.PUSH1[0x0] - + Op.MSTORE( - offset=Op.DUP2, - value=0xB9C3D0A500000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.PUSH1[0x4] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP7 - + Op.SUB(Op.GAS, 0x32) - + Op.JUMPI(pc=Op.PUSH2[0xC7], condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0xD8], - condition=Op.EQ(0xE1, Op.MLOAD(offset=0x0)), - ) - + Op.JUMP(pc=Op.PUSH2[0xE1]) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.SWAP2 - + Op.POP - + Op.JUMP(pc=Op.PUSH2[0xE6]) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH2[0xF4] - + Op.JUMP(pc=Op.PUSH2[0x5D]) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.EXP(0x100, 0x0) - + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) - + Op.SWAP1 - + Op.OR(Op.MUL, Op.DUP4) - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.AND(Op.DIV(Op.SLOAD(key=0x0), 0x1), 0xFF) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.JUMP - + Op.STOP - + Op.PUSH1[0x75] - + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=0x36, condition=Op.EQ(Op.DUP2, 0xF55D9D)) - + Op.JUMPI(pc=0x45, condition=Op.EQ(0xB9C3D0A5, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x3F] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=0x55) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x4B] - + Op.JUMP(pc=0x70) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.SELFDESTRUCT( - address=Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.DUP1, - ), - ) - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0xE1] - + Op.SWAP1 - + Op.JUMP - ), + # Source: raw + # 0x7c01000000000000000000000000000000000000000000000000000000006000350463c04062268114610039578063ed973fe91461004b57005b6100416100ea565b8060005260206000f35b61005361005d565b8060005260206000f35b60006000608161011a600039608160006000f0905073ffffffffffffffffffffffffffffffffffffffff811663b9c3d0a5602060007fb9c3d0a50000000000000000000000000000000000000000000000000000000081526004600060008660325a03f16100c757005b505060005160e1146100d8576100e1565b600191506100e6565b600091505b5090565b60006100f461005d565b600060006101000a81548160ff0219169083021790555060ff600160005404169050905600607580600c6000396000f3007c01000000000000000000000000000000000000000000000000000000006000350462f55d9d81146036578063b9c3d0a514604557005b603f6004356055565b60006000f35b604b6070565b8060005260206000f35b8073ffffffffffffffffffffffffffffffffffffffff16ff50565b60e19056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=Op.PUSH2[0x39], condition=Op.EQ(Op.DUP2, 0xC0406226)) + + Op.JUMPI(pc=Op.PUSH2[0x4B], condition=Op.EQ(0xED973FE9, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x41] + + Op.JUMP(pc=Op.PUSH2[0xEA]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH2[0x53] + + Op.JUMP(pc=Op.PUSH2[0x5D]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] * 2 + + Op.CODECOPY(dest_offset=0x0, offset=0x11A, size=0x81) + + Op.CREATE(value=0x0, offset=0x0, size=0x81) + + Op.SWAP1 + + Op.POP + + Op.AND(Op.DUP2, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH4[0xB9C3D0A5] + + Op.PUSH1[0x20] + + Op.PUSH1[0x0] + + Op.MSTORE( + offset=Op.DUP2, + value=0xB9C3D0A500000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.PUSH1[0x4] + + Op.PUSH1[0x0] * 2 + + Op.DUP7 + + Op.SUB(Op.GAS, 0x32) + + Op.JUMPI(pc=Op.PUSH2[0xC7], condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 2 + + Op.JUMPI( + pc=Op.PUSH2[0xD8], condition=Op.EQ(0xE1, Op.MLOAD(offset=0x0)) + ) + + Op.JUMP(pc=Op.PUSH2[0xE1]) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.SWAP2 + + Op.POP + + Op.JUMP(pc=Op.PUSH2[0xE6]) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.POP + + Op.JUMPDEST + + Op.POP + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH2[0xF4] + + Op.JUMP(pc=Op.PUSH2[0x5D]) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.EXP(0x100, 0x0) + + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) + + Op.SWAP1 + + Op.OR(Op.MUL, Op.DUP4) + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.AND(Op.DIV(Op.SLOAD(key=0x0), 0x1), 0xFF) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.JUMP + + Op.STOP + + Op.PUSH1[0x75] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=0x36, condition=Op.EQ(Op.DUP2, 0xF55D9D)) + + Op.JUMPI(pc=0x45, condition=Op.EQ(0xB9C3D0A5, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x3F] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=0x55) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x4B] + + Op.JUMP(pc=0x70) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.SELFDESTRUCT( + address=Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP1) + ) + + Op.POP + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0xE1] + + Op.SWAP1 + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0x087dfec56d6da95fd3a1bcf8ccf995ee51645950"), # noqa: E501 + address=Address(0x087DFEC56D6DA95FD3A1BCF8CCF995EE51645950), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=350000, value=1, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1}, nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_test_contract_suicide.py b/tests/ported_static/stSolidityTest/test_test_contract_suicide.py index fe5253f7799..b1d73f75b60 100644 --- a/tests/ported_static/stSolidityTest/test_test_contract_suicide.py +++ b/tests/ported_static/stSolidityTest/test_test_contract_suicide.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_test_contract_suicide. Ported from: -tests/static/state_tests/stSolidityTest/TestContractSuicideFiller.json +state_tests/stSolidityTest/TestContractSuicideFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSolidityTest/TestContractSuicideFiller.json"], + ["state_tests/stSolidityTest/TestContractSuicideFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_test_contract_suicide( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_test_contract_suicide.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -45,168 +46,156 @@ def test_test_contract_suicide( gas_limit=100000000, ) - pre[sender] = Account(balance=0x5F5E100) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=Op.PUSH2[0x39], condition=Op.EQ(Op.DUP2, 0xA60EEDDA)) - + Op.JUMPI(pc=Op.PUSH2[0x4B], condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x41] - + Op.JUMP(pc=Op.PUSH2[0x5D]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH2[0x53] - + Op.JUMP(pc=0x15A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.CODECOPY(dest_offset=0x0, offset=0x18A, size=0x81) - + Op.CREATE(value=0x0, offset=0x0, size=0x81) - + Op.SWAP1 - + Op.POP - + Op.AND(Op.DUP2, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH3[0xF55D9D] - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.MSTORE( - offset=Op.DUP3, - value=0xF55D9D00000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.PUSH1[0x4] - + Op.MSTORE( - offset=Op.DUP2, - value=Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.COINBASE, - ), - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP7 - + Op.SUB(Op.GAS, 0x32) - + Op.JUMPI(pc=Op.PUSH2[0xE0], condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.AND(Op.DUP2, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH4[0xB9C3D0A5] - + Op.PUSH1[0x20] - + Op.PUSH1[0x0] - + Op.MSTORE( - offset=Op.DUP2, - value=0xB9C3D0A500000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.PUSH1[0x4] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP7 - + Op.SUB(Op.GAS, 0x32) - + Op.JUMPI(pc=0x137, condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPI(pc=0x148, condition=Op.EQ(0xE1, Op.MLOAD(offset=0x0))) - + Op.JUMP(pc=0x151) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.SWAP2 - + Op.POP - + Op.JUMP(pc=0x156) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH2[0x164] - + Op.JUMP(pc=Op.PUSH2[0x5D]) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.EXP(0x100, 0x0) - + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) - + Op.SWAP1 - + Op.OR(Op.MUL, Op.DUP4) - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.AND(Op.DIV(Op.SLOAD(key=0x0), 0x1), 0xFF) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.JUMP - + Op.STOP - + Op.PUSH1[0x75] - + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) - + Op.PUSH1[0x0] - + Op.RETURN - + Op.STOP - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=0x36, condition=Op.EQ(Op.DUP2, 0xF55D9D)) - + Op.JUMPI(pc=0x45, condition=Op.EQ(0xB9C3D0A5, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x3F] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMP(pc=0x5A) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x4B] - + Op.JUMP(pc=0x55) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0xE1] - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.SELFDESTRUCT( - address=Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.DUP1, - ), - ) - + Op.POP - + Op.JUMP - ), + # Source: raw + # 0x7c01000000000000000000000000000000000000000000000000000000006000350463a60eedda8114610039578063c04062261461004b57005b61004161005d565b8060005260206000f35b61005361015a565b8060005260206000f35b60006000608161018a600039608160006000f0905073ffffffffffffffffffffffffffffffffffffffff811662f55d9d6000807ef55d9d00000000000000000000000000000000000000000000000000000000825260044173ffffffffffffffffffffffffffffffffffffffff168152602001600060008660325a03f16100e057005b505073ffffffffffffffffffffffffffffffffffffffff811663b9c3d0a5602060007fb9c3d0a50000000000000000000000000000000000000000000000000000000081526004600060008660325a03f161013757005b505060005160e11461014857610151565b60019150610156565b600091505b5090565b600061016461005d565b600060006101000a81548160ff0219169083021790555060ff600160005404169050905600607580600c6000396000f3007c01000000000000000000000000000000000000000000000000000000006000350462f55d9d81146036578063b9c3d0a514604557005b603f600435605a565b60006000f35b604b6055565b8060005260206000f35b60e190565b8073ffffffffffffffffffffffffffffffffffffffff16ff5056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=Op.PUSH2[0x39], condition=Op.EQ(Op.DUP2, 0xA60EEDDA)) + + Op.JUMPI(pc=Op.PUSH2[0x4B], condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x41] + + Op.JUMP(pc=Op.PUSH2[0x5D]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH2[0x53] + + Op.JUMP(pc=0x15A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] * 2 + + Op.CODECOPY(dest_offset=0x0, offset=0x18A, size=0x81) + + Op.CREATE(value=0x0, offset=0x0, size=0x81) + + Op.SWAP1 + + Op.POP + + Op.AND(Op.DUP2, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH3[0xF55D9D] + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.MSTORE( + offset=Op.DUP3, + value=0xF55D9D00000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.PUSH1[0x4] + + Op.MSTORE( + offset=Op.DUP2, + value=Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.COINBASE + ), + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.PUSH1[0x0] * 2 + + Op.DUP7 + + Op.SUB(Op.GAS, 0x32) + + Op.JUMPI(pc=Op.PUSH2[0xE0], condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 2 + + Op.AND(Op.DUP2, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH4[0xB9C3D0A5] + + Op.PUSH1[0x20] + + Op.PUSH1[0x0] + + Op.MSTORE( + offset=Op.DUP2, + value=0xB9C3D0A500000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.PUSH1[0x4] + + Op.PUSH1[0x0] * 2 + + Op.DUP7 + + Op.SUB(Op.GAS, 0x32) + + Op.JUMPI(pc=0x137, condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP * 2 + + Op.JUMPI(pc=0x148, condition=Op.EQ(0xE1, Op.MLOAD(offset=0x0))) + + Op.JUMP(pc=0x151) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.SWAP2 + + Op.POP + + Op.JUMP(pc=0x156) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.POP + + Op.JUMPDEST + + Op.POP + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH2[0x164] + + Op.JUMP(pc=Op.PUSH2[0x5D]) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.EXP(0x100, 0x0) + + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) + + Op.SWAP1 + + Op.OR(Op.MUL, Op.DUP4) + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.AND(Op.DIV(Op.SLOAD(key=0x0), 0x1), 0xFF) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.JUMP + + Op.STOP + + Op.PUSH1[0x75] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=0x36, condition=Op.EQ(Op.DUP2, 0xF55D9D)) + + Op.JUMPI(pc=0x45, condition=Op.EQ(0xB9C3D0A5, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x3F] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMP(pc=0x5A) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x4B] + + Op.JUMP(pc=0x55) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0xE1] + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.SELFDESTRUCT( + address=Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP1) + ) + + Op.POP + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0xfe34831df57f026afbfffd7e7b51b4adbfe135e1"), # noqa: E501 + address=Address(0xFE34831DF57F026AFBFFFD7E7B51B4ADBFE135E1), # noqa: E501 ) + pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=350000, value=1, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1}, nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_test_cryptographic_functions.py b/tests/ported_static/stSolidityTest/test_test_cryptographic_functions.py index 4f2ddd648b1..0cfc59089a0 100644 --- a/tests/ported_static/stSolidityTest/test_test_cryptographic_functions.py +++ b/tests/ported_static/stSolidityTest/test_test_cryptographic_functions.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_test_cryptographic_functions. Ported from: -tests/static/state_tests/stSolidityTest/TestCryptographicFunctionsFiller.json +state_tests/stSolidityTest/TestCryptographicFunctionsFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSolidityTest/TestCryptographicFunctionsFiller.json", # noqa: E501 - ], + ["state_tests/stSolidityTest/TestCryptographicFunctionsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -33,8 +32,9 @@ def test_test_cryptographic_functions( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_test_cryptographic_functions.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,223 +48,211 @@ def test_test_cryptographic_functions( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.PUSH29[ - 0x100000000000000000000000000000000000000000000000000000000 - ] - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=Op.PUSH2[0x3A], condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x4C], condition=Op.EQ(0xE0A9FD28, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x42] - + Op.JUMP(pc=Op.PUSH2[0x5E]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH2[0x54] - + Op.JUMP(pc=Op.PUSH2[0x99]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH2[0x68] - + Op.JUMP(pc=Op.PUSH2[0x99]) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.EXP(0x100, 0x0) - + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) - + Op.SWAP1 - + Op.OR(Op.MUL, Op.DUP4) - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.SLOAD - + Op.SWAP1 - + Op.PUSH2[0x100] - + Op.EXP - + Op.SWAP1 - + Op.AND(0xFF, Op.DIV) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=Op.PUSH2[0x96]) - + Op.JUMPDEST - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.POP - + Op.POP(Op.DUP1) - + Op.MUL( + # Source: raw + # 0x6000357c010000000000000000000000000000000000000000000000000000000090048063c04062261461003a578063e0a9fd281461004c57005b61004261005e565b8060005260206000f35b610054610099565b8060005260206000f35b6000610068610099565b600060006101000a81548160ff02191690830217905550600060009054906101000a900460ff169050610096565b90565b60006001905080507f43c4b4524adb81e4e9a5c4648a98e9d320e3908ac5b6c889144b642cd08ae16d60010260407f74657374737472696e67000000000000000000000000000000000000000000008152600a016040900360402014156100ff57610108565b600090506102ec565b7f3c8727e019a42b444667a587b6001251becadabbb36bfed8087a92c18882d11160010260026020600060007f74657374737472696e67000000000000000000000000000000000000000000008152600a0160006000856161da5a03f161016b57005b50600051141561017a57610183565b600090506102ec565b73cd566972b5e50104011a92b59fa8e0b1234851ae6c010000000000000000000000000260036020600060007f74657374737472696e67000000000000000000000000000000000000000000008152600a0160006000856161da5a03f16101e657005b506000516c010000000000000000000000000214156102045761020d565b600090506102ec565b73a94f5374fce5edbc8e2a8697c15331677e6ebf0b60016020600060007f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c6001028152602001601c81526020017f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f60010281526020017feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549600102815260200160006000856161da5a03f16102bd57005b5060005173ffffffffffffffffffffffffffffffffffffffff1614156102e2576102eb565b600090506102ec565b5b9056 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.PUSH29[ + 0x100000000000000000000000000000000000000000000000000000000 + ] + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=Op.PUSH2[0x3A], condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x4C], condition=Op.EQ(0xE0A9FD28, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x42] + + Op.JUMP(pc=Op.PUSH2[0x5E]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH2[0x54] + + Op.JUMP(pc=Op.PUSH2[0x99]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH2[0x68] + + Op.JUMP(pc=Op.PUSH2[0x99]) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.EXP(0x100, 0x0) + + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) + + Op.SWAP1 + + Op.OR(Op.MUL, Op.DUP4) + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.PUSH1[0x0] * 2 + + Op.SWAP1 + + Op.SLOAD + + Op.SWAP1 + + Op.PUSH2[0x100] + + Op.EXP + + Op.SWAP1 + + Op.AND(0xFF, Op.DIV) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=Op.PUSH2[0x96]) + + Op.JUMPDEST + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.POP + + Op.POP(Op.DUP1) + + Op.MUL( + 0x1, + 0x43C4B4524ADB81E4E9A5C4648A98E9D320E3908AC5B6C889144B642CD08AE16D, + ) + + Op.PUSH1[0x40] + + Op.MSTORE( + offset=Op.DUP2, + value=0x74657374737472696E6700000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.PUSH1[0xA] + + Op.ADD + + Op.PUSH1[0x40] + + Op.SWAP1 + + Op.SHA3(offset=0x40, size=Op.SUB) + + Op.JUMPI(pc=Op.PUSH2[0xFF], condition=Op.ISZERO(Op.EQ)) + + Op.JUMP(pc=0x108) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x2EC) + + Op.JUMPDEST + + Op.MUL( + 0x1, + 0x3C8727E019A42B444667A587B6001251BECADABBB36BFED8087A92C18882D111, + ) + + Op.PUSH1[0x2] + + Op.PUSH1[0x20] + + Op.PUSH1[0x0] * 2 + + Op.MSTORE( + offset=Op.DUP2, + value=0x74657374737472696E6700000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.PUSH1[0xA] + + Op.ADD + + Op.PUSH1[0x0] * 2 + + Op.DUP6 + + Op.SUB(Op.GAS, 0x61DA) + + Op.JUMPI(pc=0x16B, condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP + + Op.MLOAD(offset=0x0) + + Op.JUMPI(pc=0x17A, condition=Op.ISZERO(Op.EQ)) + + Op.JUMP(pc=0x183) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x2EC) + + Op.JUMPDEST + + Op.MUL( + 0x1000000000000000000000000, + 0xCD566972B5E50104011A92B59FA8E0B1234851AE, + ) + + Op.PUSH1[0x3] + + Op.PUSH1[0x20] + + Op.PUSH1[0x0] * 2 + + Op.MSTORE( + offset=Op.DUP2, + value=0x74657374737472696E6700000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.PUSH1[0xA] + + Op.ADD + + Op.PUSH1[0x0] * 2 + + Op.DUP6 + + Op.SUB(Op.GAS, 0x61DA) + + Op.JUMPI(pc=0x1E6, condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP + + Op.MUL(0x1000000000000000000000000, Op.MLOAD(offset=0x0)) + + Op.JUMPI(pc=0x204, condition=Op.ISZERO(Op.EQ)) + + Op.JUMP(pc=0x20D) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x2EC) + + Op.JUMPDEST + + Op.PUSH20[0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B] + + Op.PUSH1[0x1] + + Op.PUSH1[0x20] + + Op.PUSH1[0x0] * 2 + + Op.MSTORE( + offset=Op.DUP2, + value=Op.MUL( 0x1, - 0x43C4B4524ADB81E4E9A5C4648A98E9D320E3908AC5B6C889144B642CD08AE16D, # noqa: E501 - ) - + Op.PUSH1[0x40] - + Op.MSTORE( - offset=Op.DUP2, - value=0x74657374737472696E6700000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.PUSH1[0xA] - + Op.ADD - + Op.PUSH1[0x40] - + Op.SWAP1 - + Op.SHA3(offset=0x40, size=Op.SUB) - + Op.JUMPI(pc=Op.PUSH2[0xFF], condition=Op.ISZERO(Op.EQ)) - + Op.JUMP(pc=0x108) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x2EC) - + Op.JUMPDEST - + Op.MUL( + 0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ), + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=0x1C) + + Op.PUSH1[0x20] + + Op.ADD + + Op.MSTORE( + offset=Op.DUP2, + value=Op.MUL( 0x1, - 0x3C8727E019A42B444667A587B6001251BECADABBB36BFED8087A92C18882D111, # noqa: E501 - ) - + Op.PUSH1[0x2] - + Op.PUSH1[0x20] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE( - offset=Op.DUP2, - value=0x74657374737472696E6700000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.PUSH1[0xA] - + Op.ADD - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP6 - + Op.SUB(Op.GAS, 0x61DA) - + Op.JUMPI(pc=0x16B, condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.MLOAD(offset=0x0) - + Op.JUMPI(pc=0x17A, condition=Op.ISZERO(Op.EQ)) - + Op.JUMP(pc=0x183) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x2EC) - + Op.JUMPDEST - + Op.MUL( - 0x1000000000000000000000000, - 0xCD566972B5E50104011A92B59FA8E0B1234851AE, - ) - + Op.PUSH1[0x3] - + Op.PUSH1[0x20] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE( - offset=Op.DUP2, - value=0x74657374737472696E6700000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.PUSH1[0xA] - + Op.ADD - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP6 - + Op.SUB(Op.GAS, 0x61DA) - + Op.JUMPI(pc=0x1E6, condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.MUL(0x1000000000000000000000000, Op.MLOAD(offset=0x0)) - + Op.JUMPI(pc=0x204, condition=Op.ISZERO(Op.EQ)) - + Op.JUMP(pc=0x20D) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x2EC) - + Op.JUMPDEST - + Op.PUSH20[0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B] - + Op.PUSH1[0x1] - + Op.PUSH1[0x20] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.MSTORE( - offset=Op.DUP2, - value=Op.MUL( - 0x1, - 0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ), - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=0x1C) - + Op.PUSH1[0x20] - + Op.ADD - + Op.MSTORE( - offset=Op.DUP2, - value=Op.MUL( - 0x1, - 0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ), - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.MSTORE( - offset=Op.DUP2, - value=Op.MUL( - 0x1, - 0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ), - ) - + Op.PUSH1[0x20] - + Op.ADD - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.DUP6 - + Op.SUB(Op.GAS, 0x61DA) - + Op.JUMPI(pc=0x2BD, condition=Op.CALL) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.MLOAD(offset=0x0), - ) - + Op.JUMPI(pc=0x2E2, condition=Op.ISZERO(Op.EQ)) - + Op.JUMP(pc=0x2EB) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x2EC) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SWAP1 - + Op.JUMP - ), + 0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ), + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.MSTORE( + offset=Op.DUP2, + value=Op.MUL( + 0x1, + 0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ), + ) + + Op.PUSH1[0x20] + + Op.ADD + + Op.PUSH1[0x0] * 2 + + Op.DUP6 + + Op.SUB(Op.GAS, 0x61DA) + + Op.JUMPI(pc=0x2BD, condition=Op.CALL) + + Op.STOP + + Op.JUMPDEST + + Op.POP + + Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.MLOAD(offset=0x0) + ) + + Op.JUMPI(pc=0x2E2, condition=Op.ISZERO(Op.EQ)) + + Op.JUMP(pc=0x2EB) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x2EC) + + Op.JUMPDEST * 2 + + Op.SWAP1 + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x12A05F200) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=contract_0, + data=Bytes("c0406226"), gas_limit=35000000, value=100, ) - post = { - contract: Account(storage={0: 1}), - } + post = {contract_0: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_test_keywords.py b/tests/ported_static/stSolidityTest/test_test_keywords.py index 3784b21cc5e..08468d531de 100644 --- a/tests/ported_static/stSolidityTest/test_test_keywords.py +++ b/tests/ported_static/stSolidityTest/test_test_keywords.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_test_keywords. Ported from: -tests/static/state_tests/stSolidityTest/TestKeywordsFiller.json +state_tests/stSolidityTest/TestKeywordsFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSolidityTest/TestKeywordsFiller.json"], + ["state_tests/stSolidityTest/TestKeywordsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_test_keywords( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_test_keywords.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -45,121 +46,115 @@ def test_test_keywords( gas_limit=100000000, ) - pre[sender] = Account(balance=0x5F5E100) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=0x37, condition=Op.EQ(Op.DUP2, 0x380E4396)) - + Op.JUMPI(pc=0x47, condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x3D] - + Op.JUMP(pc=0x84) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x4D] - + Op.JUMP(pc=0x57) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x5F] - + Op.JUMP(pc=0x84) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.EXP(0x100, 0x0) - + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) - + Op.SWAP1 - + Op.OR(Op.MUL, Op.DUP4) - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.AND(Op.DIV(Op.SLOAD(key=0x0), 0x1), 0xFF) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP2 - + Op.JUMPI(pc=0xCD, condition=Op.ISZERO(0x1)) - + Op.JUMPDEST - + Op.JUMPI(pc=0xA1, condition=Op.ISZERO(Op.SLT(Op.DUP3, 0xA))) - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.SWAP2 - + Op.ADD - + Op.SWAP1 - + Op.JUMP(pc=0x8F) - + Op.JUMPDEST - + Op.JUMPI(pc=0xAC, condition=Op.EQ(0xA, Op.DUP2)) - + Op.JUMP(pc=0xC9) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0xA] - + Op.JUMPDEST - + Op.JUMPI( - pc=0xC8, - condition=Op.ISZERO(Op.GT(Op.AND(0xFF, Op.DUP2), 0x0)), - ) - + Op.PUSH1[0x1] - + Op.SWAP2 - + Op.DUP3 - + Op.SWAP1 - + Op.SUB - + Op.SWAP2 - + Op.SWAP1 - + Op.SUB - + Op.JUMP(pc=0xB0) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMP(pc=0xD5) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP3 - + Op.POP - + Op.JUMP(pc=0xED) - + Op.JUMPDEST - + Op.JUMPI(pc=0xE0, condition=Op.EQ(0x0, Op.DUP2)) - + Op.JUMP(pc=0xE8) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.SWAP3 - + Op.POP - + Op.JUMP(pc=0xED) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP3 - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.SWAP1 - + Op.JUMP - ), + # Source: raw + # 0x7c01000000000000000000000000000000000000000000000000000000006000350463380e439681146037578063c040622614604757005b603d6084565b8060005260206000f35b604d6057565b8060005260206000f35b6000605f6084565b600060006101000a81548160ff0219169083021790555060ff60016000540416905090565b6000808160011560cd575b600a82121560a157600190910190608f565b81600a1460ac5760c9565b50600a5b60008160ff16111560c85760019182900391900360b0565b5b60d5565b6000925060ed565b8160001460e05760e8565b6001925060ed565b600092505b50509056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=0x37, condition=Op.EQ(Op.DUP2, 0x380E4396)) + + Op.JUMPI(pc=0x47, condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x3D] + + Op.JUMP(pc=0x84) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x4D] + + Op.JUMP(pc=0x57) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x5F] + + Op.JUMP(pc=0x84) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.EXP(0x100, 0x0) + + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) + + Op.SWAP1 + + Op.OR(Op.MUL, Op.DUP4) + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.AND(Op.DIV(Op.SLOAD(key=0x0), 0x1), 0xFF) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.DUP1 + + Op.DUP2 + + Op.JUMPI(pc=0xCD, condition=Op.ISZERO(0x1)) + + Op.JUMPDEST + + Op.JUMPI(pc=0xA1, condition=Op.ISZERO(Op.SLT(Op.DUP3, 0xA))) + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.SWAP2 + + Op.ADD + + Op.SWAP1 + + Op.JUMP(pc=0x8F) + + Op.JUMPDEST + + Op.JUMPI(pc=0xAC, condition=Op.EQ(0xA, Op.DUP2)) + + Op.JUMP(pc=0xC9) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0xA] + + Op.JUMPDEST + + Op.JUMPI( + pc=0xC8, condition=Op.ISZERO(Op.GT(Op.AND(0xFF, Op.DUP2), 0x0)) + ) + + Op.PUSH1[0x1] + + Op.SWAP2 + + Op.DUP3 + + Op.SWAP1 + + Op.SUB + + Op.SWAP2 + + Op.SWAP1 + + Op.SUB + + Op.JUMP(pc=0xB0) + + Op.JUMPDEST * 2 + + Op.JUMP(pc=0xD5) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP3 + + Op.POP + + Op.JUMP(pc=0xED) + + Op.JUMPDEST + + Op.JUMPI(pc=0xE0, condition=Op.EQ(0x0, Op.DUP2)) + + Op.JUMP(pc=0xE8) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.SWAP3 + + Op.POP + + Op.JUMP(pc=0xED) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP3 + + Op.POP + + Op.JUMPDEST + + Op.POP * 2 + + Op.SWAP1 + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0xe7dcb339943a6db535ffe618ec32d1e4e5a50f37"), # noqa: E501 + address=Address(0xE7DCB339943A6DB535FFE618EC32D1E4E5A50F37), # noqa: E501 ) + pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=350000, value=1, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_test_overflow.py b/tests/ported_static/stSolidityTest/test_test_overflow.py index 86de45efa71..2ad61a23289 100644 --- a/tests/ported_static/stSolidityTest/test_test_overflow.py +++ b/tests/ported_static/stSolidityTest/test_test_overflow.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_test_overflow. Ported from: -tests/static/state_tests/stSolidityTest/TestOverflowFiller.json +state_tests/stSolidityTest/TestOverflowFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSolidityTest/TestOverflowFiller.json"], + ["state_tests/stSolidityTest/TestOverflowFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_test_overflow( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_test_overflow.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA9AE12CB2700C0214F86B9796881BC03A1FD5605D0E76D2DA2CA592E62D53E52 ) @@ -45,139 +46,127 @@ def test_test_overflow( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALLDATALOAD(offset=0x0) - + Op.PUSH29[ - 0x100000000000000000000000000000000000000000000000000000000 - ] - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=Op.PUSH2[0x3A], condition=Op.EQ(0x8040CAC4, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x4C], condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x42] - + Op.JUMP(pc=Op.PUSH2[0x99]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH2[0x54] - + Op.JUMP(pc=Op.PUSH2[0x5E]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH2[0x68] - + Op.JUMP(pc=Op.PUSH2[0x99]) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.EXP(0x100, 0x0) - + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) - + Op.SWAP1 - + Op.OR(Op.MUL, Op.DUP4) - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.SLOAD - + Op.SWAP1 - + Op.PUSH2[0x100] - + Op.EXP - + Op.SWAP1 - + Op.AND(0xFF, Op.DIV) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=Op.PUSH2[0x96]) - + Op.JUMPDEST - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.PUSH1[0x1] - + Op.SWAP4 - + Op.POP - + Op.POP(Op.DUP4) - + Op.PUSH32[ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 - ] - + Op.SWAP3 - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0xDB], - condition=Op.ISZERO(Op.EQ(Op.ADD(Op.DUP5, 0x1), 0x0)), - ) - + Op.JUMP(pc=Op.PUSH2[0xE4]) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x13B) - + Op.JUMPDEST - + Op.PUSH4[0xFFFFFFFF] - + Op.SWAP2 - + Op.POP - + Op.JUMPI( - pc=0x102, - condition=Op.ISZERO( - Op.EQ(Op.AND(0xFFFFFFFF, Op.ADD(Op.DUP4, 0x1)), 0x0), - ), - ) - + Op.JUMP(pc=0x10B) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x13B) - + Op.JUMPDEST - + Op.PUSH8[0xFFFFFFFFFFFFFFFF] - + Op.SWAP1 - + Op.POP - + Op.JUMPI( - pc=0x131, - condition=Op.ISZERO( - Op.EQ( - Op.AND(0xFFFFFFFFFFFFFFFF, Op.ADD(Op.DUP3, 0x1)), 0x0 - ), - ), - ) - + Op.JUMP(pc=0x13A) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP4 - + Op.POP - + Op.JUMP(pc=0x13B) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.SWAP1 - + Op.JUMP - ), + # Source: raw + # 0x6000357c0100000000000000000000000000000000000000000000000000000000900480638040cac41461003a578063c04062261461004c57005b610042610099565b8060005260206000f35b61005461005e565b8060005260206000f35b6000610068610099565b600060006101000a81548160ff02191690830217905550600060009054906101000a900460ff169050610096565b90565b60006000600060006001935083507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff925060006001840114156100db576100e4565b6000935061013b565b63ffffffff915060006001830163ffffffff1614156101025761010b565b6000935061013b565b67ffffffffffffffff905060006001820167ffffffffffffffff1614156101315761013a565b6000935061013b565b5b5050509056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATALOAD(offset=0x0) + + Op.PUSH29[ + 0x100000000000000000000000000000000000000000000000000000000 + ] + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=Op.PUSH2[0x3A], condition=Op.EQ(0x8040CAC4, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x4C], condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x42] + + Op.JUMP(pc=Op.PUSH2[0x99]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH2[0x54] + + Op.JUMP(pc=Op.PUSH2[0x5E]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH2[0x68] + + Op.JUMP(pc=Op.PUSH2[0x99]) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.EXP(0x100, 0x0) + + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) + + Op.SWAP1 + + Op.OR(Op.MUL, Op.DUP4) + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.PUSH1[0x0] * 2 + + Op.SWAP1 + + Op.SLOAD + + Op.SWAP1 + + Op.PUSH2[0x100] + + Op.EXP + + Op.SWAP1 + + Op.AND(0xFF, Op.DIV) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=Op.PUSH2[0x96]) + + Op.JUMPDEST + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] * 4 + + Op.PUSH1[0x1] + + Op.SWAP4 + + Op.POP + + Op.POP(Op.DUP4) + + Op.PUSH32[ + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ] + + Op.SWAP3 + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0xDB], + condition=Op.ISZERO(Op.EQ(Op.ADD(Op.DUP5, 0x1), 0x0)), + ) + + Op.JUMP(pc=Op.PUSH2[0xE4]) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x13B) + + Op.JUMPDEST + + Op.PUSH4[0xFFFFFFFF] + + Op.SWAP2 + + Op.POP + + Op.JUMPI( + pc=0x102, + condition=Op.ISZERO( + Op.EQ(Op.AND(0xFFFFFFFF, Op.ADD(Op.DUP4, 0x1)), 0x0) + ), + ) + + Op.JUMP(pc=0x10B) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x13B) + + Op.JUMPDEST + + Op.PUSH8[0xFFFFFFFFFFFFFFFF] + + Op.SWAP1 + + Op.POP + + Op.JUMPI( + pc=0x131, + condition=Op.ISZERO( + Op.EQ(Op.AND(0xFFFFFFFFFFFFFFFF, Op.ADD(Op.DUP3, 0x1)), 0x0) + ), + ) + + Op.JUMP(pc=0x13A) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP4 + + Op.POP + + Op.JUMP(pc=0x13B) + + Op.JUMPDEST * 2 + + Op.POP * 3 + + Op.SWAP1 + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0x1a5a251a7e18ebc1a8ebfc47e3f36d9be03f1627"), # noqa: E501 + address=Address(0x1A5A251A7E18EBC1A8EBFC47E3F36D9BE03F1627), # noqa: E501 ) pre[sender] = Account(balance=0x12A05F200) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=100000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSolidityTest/test_test_store_gas_prices.py b/tests/ported_static/stSolidityTest/test_test_store_gas_prices.py index 3e0d47d0907..e896aeafc40 100644 --- a/tests/ported_static/stSolidityTest/test_test_store_gas_prices.py +++ b/tests/ported_static/stSolidityTest/test_test_store_gas_prices.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_test_store_gas_prices. Ported from: -tests/static/state_tests/stSolidityTest/TestStoreGasPricesFiller.json +state_tests/stSolidityTest/TestStoreGasPricesFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSolidityTest/TestStoreGasPricesFiller.json"], + ["state_tests/stSolidityTest/TestStoreGasPricesFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_test_store_gas_prices( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_test_store_gas_prices.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x185FBEA9F643C40E33475353B07FA51D0695CA94789492166B67D60FDB6EF7FB ) @@ -46,77 +47,74 @@ def test_test_store_gas_prices( gas_limit=9223372036854775807, ) - pre[sender] = Account(balance=0x746A528800) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=0x2D, condition=Op.EQ(Op.DUP2, 0xC0406226)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x33] - + Op.JUMP(pc=0x3D) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.GAS - + Op.SSTORE(key=0x20, value=0x1) - + Op.SWAP1 - + Op.POP - + Op.SSTORE(key=0x0, value=Op.SUB(Op.DUP2, Op.GAS)) - + Op.GAS - + Op.SSTORE(key=0x20, value=0x2) - + Op.SWAP1 - + Op.POP - + Op.SSTORE(key=0x1, value=Op.SUB(Op.DUP2, Op.GAS)) - + Op.GAS - + Op.SSTORE(key=0x20, value=0x2) - + Op.SWAP1 - + Op.POP - + Op.SSTORE(key=0x2, value=Op.SUB(Op.DUP2, Op.GAS)) - + Op.GAS - + Op.SSTORE(key=0x20, value=0x168AA8D53FE6) - + Op.SWAP1 - + Op.POP - + Op.SSTORE(key=0x3, value=Op.SUB(Op.DUP2, Op.GAS)) - + Op.GAS - + Op.SSTORE(key=0x20, value=0x2) - + Op.SWAP1 - + Op.POP - + Op.SSTORE(key=0x4, value=Op.SUB(Op.DUP2, Op.GAS)) - + Op.GAS - + Op.SSTORE(key=0x20, value=0x0) - + Op.SWAP1 - + Op.POP - + Op.SSTORE(key=0x5, value=Op.SUB(Op.DUP2, Op.GAS)) - + Op.POP(Op.GAS) - + Op.PUSH1[0x1] - + Op.SWAP3 - + Op.SWAP2 - + Op.POP - + Op.POP - + Op.JUMP - ), + # Source: raw + # 0x7c01000000000000000000000000000000000000000000000000000000006000350463c04062268114602d57005b6033603d565b8060005260206000f35b600060005a600160205590505a81036000555a600260205590505a81036001555a600260205590505a81036002555a65168aa8d53fe660205590505a81036003555a600260205590505a81036004555a600060205590505a81036005555a5060019291505056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=0x2D, condition=Op.EQ(Op.DUP2, 0xC0406226)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x33] + + Op.JUMP(pc=0x3D) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] * 2 + + Op.GAS + + Op.SSTORE(key=0x20, value=0x1) + + Op.SWAP1 + + Op.POP + + Op.SSTORE(key=0x0, value=Op.SUB(Op.DUP2, Op.GAS)) + + Op.GAS + + Op.SSTORE(key=0x20, value=0x2) + + Op.SWAP1 + + Op.POP + + Op.SSTORE(key=0x1, value=Op.SUB(Op.DUP2, Op.GAS)) + + Op.GAS + + Op.SSTORE(key=0x20, value=0x2) + + Op.SWAP1 + + Op.POP + + Op.SSTORE(key=0x2, value=Op.SUB(Op.DUP2, Op.GAS)) + + Op.GAS + + Op.SSTORE(key=0x20, value=0x168AA8D53FE6) + + Op.SWAP1 + + Op.POP + + Op.SSTORE(key=0x3, value=Op.SUB(Op.DUP2, Op.GAS)) + + Op.GAS + + Op.SSTORE(key=0x20, value=0x2) + + Op.SWAP1 + + Op.POP + + Op.SSTORE(key=0x4, value=Op.SUB(Op.DUP2, Op.GAS)) + + Op.GAS + + Op.SSTORE(key=0x20, value=0x0) + + Op.SWAP1 + + Op.POP + + Op.SSTORE(key=0x5, value=Op.SUB(Op.DUP2, Op.GAS)) + + Op.POP(Op.GAS) + + Op.PUSH1[0x1] + + Op.SWAP3 + + Op.SWAP2 + + Op.POP * 2 + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0xfe58f48415dcf9d527f770e3148b769a76ef83f1"), # noqa: E501 + address=Address(0xFE58F48415DCF9D527F770E3148B769A76EF83F1), # noqa: E501 ) + pre[sender] = Account(balance=0x746A528800) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=35000000, ) post = { - contract: Account( + target: Account( storage={0: 22113, 1: 113, 2: 113, 3: 113, 4: 113, 5: 113}, ), } diff --git a/tests/ported_static/stSolidityTest/test_test_structures_and_variabless.py b/tests/ported_static/stSolidityTest/test_test_structures_and_variabless.py index 7558687ac18..554d8927291 100644 --- a/tests/ported_static/stSolidityTest/test_test_structures_and_variabless.py +++ b/tests/ported_static/stSolidityTest/test_test_structures_and_variabless.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_test_structures_and_variabless. Ported from: -tests/static/state_tests/stSolidityTest/TestStructuresAndVariablessFiller.json +state_tests/stSolidityTest/TestStructuresAndVariablessFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSolidityTest/TestStructuresAndVariablessFiller.json", # noqa: E501 - ], + ["state_tests/stSolidityTest/TestStructuresAndVariablessFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_test_structures_and_variabless( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_test_structures_and_variabless.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x6F0117D3E9C684C7D6E1E6B79DC3880DA2BEBE77C765B171C062FDFFD38A673F ) @@ -47,205 +46,197 @@ def test_test_structures_and_variabless( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=Op.PUSH2[0x39], condition=Op.EQ(Op.DUP2, 0x2A9AFB83)) - + Op.JUMPI(pc=Op.PUSH2[0x4B], condition=Op.EQ(0xC0406226, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x41] - + Op.JUMP(pc=Op.PUSH2[0x5D]) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH2[0x53] - + Op.JUMP(pc=0x16C) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.JUMPI( - pc=Op.PUSH2[0x6E], - condition=Op.ISZERO(Op.EQ(Op.SLOAD(key=Op.DUP2), 0xFF)), - ) - + Op.JUMP(pc=Op.PUSH2[0x76]) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x169) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x87], - condition=Op.ISZERO( - Op.EQ(Op.SLOAD(key=0x3), Op.SLOAD(key=0x1)) - ), - ) - + Op.JUMP(pc=Op.PUSH2[0x8F]) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x169) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xCD], - condition=Op.ISZERO( - Op.EQ( - Op.AND( - Op.AND(Op.DUP2, Op.DIV(Op.SLOAD(key=0x2), 0x1)), - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ), - 0xD96ED4431B417993AB4F4D4A656959D13C66E1DC, + # Source: raw + # 0x7c010000000000000000000000000000000000000000000000000000000060003504632a9afb838114610039578063c04062261461004b57005b61004161005d565b8060005260206000f35b61005361016c565b8060005260206000f35b600160ff8154141561006e57610076565b506000610169565b60015460035414156100875761008f565b506000610169565b7373ffffffffffffffffffffffffffffffffffffffff60016002540481161614156100cd576100d5565b506000610169565b7f676c6f62616c2064617461203332206c656e67746820737472696e670000000060045414156101045761010c565b506000610169565b6005600080815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673141561016057610168565b506000610169565b5b90565b600060ff8060015550736002805473ffffffffffffffffffffffffffffffffffffffff1916821790555060ff80600355507f676c6f62616c2064617461203332206c656e67746820737472696e67000000008060045550736005600080815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555061022f61005d565b600060006101000a81548160ff0219169083021790555060ff6001600054041690509056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=Op.PUSH2[0x39], condition=Op.EQ(Op.DUP2, 0x2A9AFB83)) + + Op.JUMPI(pc=Op.PUSH2[0x4B], condition=Op.EQ(0xC0406226, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x41] + + Op.JUMP(pc=Op.PUSH2[0x5D]) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH2[0x53] + + Op.JUMP(pc=0x16C) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.JUMPI( + pc=Op.PUSH2[0x6E], + condition=Op.ISZERO(Op.EQ(Op.SLOAD(key=Op.DUP2), 0xFF)), + ) + + Op.JUMP(pc=Op.PUSH2[0x76]) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x169) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x87], + condition=Op.ISZERO(Op.EQ(Op.SLOAD(key=0x3), Op.SLOAD(key=0x1))), + ) + + Op.JUMP(pc=Op.PUSH2[0x8F]) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x169) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xCD], + condition=Op.ISZERO( + Op.EQ( + Op.AND( + Op.AND(Op.DUP2, Op.DIV(Op.SLOAD(key=0x2), 0x1)), + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, ), - ), - ) - + Op.JUMP(pc=Op.PUSH2[0xD5]) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x169) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x104, - condition=Op.ISZERO( - Op.EQ( - Op.SLOAD(key=0x4), - 0x676C6F62616C2064617461203332206C656E67746820737472696E6700000000, # noqa: E501 - ), - ), - ) - + Op.JUMP(pc=0x10C) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x169) - + Op.JUMPDEST - + Op.PUSH1[0x5] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP1) - + Op.PUSH1[0x20] - + Op.ADD - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.SHA3(offset=0x0, size=Op.ADD) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.SLOAD - + Op.SWAP1 - + Op.PUSH2[0x100] - + Op.EXP - + Op.SWAP1 - + Op.JUMPI( - pc=0x160, - condition=Op.ISZERO( - Op.EQ( - 0xD96ED4431B417993AB4F4D4A656959D13C66E1DC, - Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DIV - ), - ), - ), - ) - + Op.JUMP(pc=0x168) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMP(pc=0x169) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0xFF] - + Op.SSTORE(key=0x1, value=Op.DUP1) - + Op.POP - + Op.PUSH20[0xD96ED4431B417993AB4F4D4A656959D13C66E1DC] - + Op.PUSH1[0x2] - + Op.OR( - Op.DUP3, - Op.AND( - Op.NOT(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), - Op.SLOAD(key=Op.DUP1), - ), - ) - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.PUSH1[0xFF] - + Op.SSTORE(key=0x3, value=Op.DUP1) - + Op.POP - + Op.PUSH32[ - 0x676C6F62616C2064617461203332206C656E67746820737472696E6700000000 # noqa: E501 - ] - + Op.SSTORE(key=0x4, value=Op.DUP1) - + Op.POP - + Op.PUSH20[0xD96ED4431B417993AB4F4D4A656959D13C66E1DC] - + Op.PUSH1[0x5] - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP1) - + Op.PUSH1[0x20] - + Op.ADD - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.SHA3(offset=0x0, size=Op.ADD) - + Op.EXP(0x100, 0x0) - + Op.AND( - Op.NOT( - Op.MUL( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP2 - ), - ), - Op.SLOAD(key=Op.DUP2), - ) - + Op.SWAP1 - + Op.OR(Op.MUL, Op.DUP4) - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.PUSH2[0x22F] - + Op.JUMP(pc=Op.PUSH2[0x5D]) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.EXP(0x100, 0x0) - + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) - + Op.SWAP1 - + Op.OR(Op.MUL, Op.DUP4) - + Op.SWAP1 - + Op.SSTORE - + Op.POP - + Op.AND(Op.DIV(Op.SLOAD(key=0x0), 0x1), 0xFF) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.JUMP - ), + 0xD96ED4431B417993AB4F4D4A656959D13C66E1DC, + ) + ), + ) + + Op.JUMP(pc=Op.PUSH2[0xD5]) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x169) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x104, + condition=Op.ISZERO( + Op.EQ( + Op.SLOAD(key=0x4), + 0x676C6F62616C2064617461203332206C656E67746820737472696E6700000000, # noqa: E501 + ) + ), + ) + + Op.JUMP(pc=0x10C) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x169) + + Op.JUMPDEST + + Op.PUSH1[0x5] + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP1) + + Op.PUSH1[0x20] + + Op.ADD + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.SHA3(offset=0x0, size=Op.ADD) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.SLOAD + + Op.SWAP1 + + Op.PUSH2[0x100] + + Op.EXP + + Op.SWAP1 + + Op.JUMPI( + pc=0x160, + condition=Op.ISZERO( + Op.EQ( + 0xD96ED4431B417993AB4F4D4A656959D13C66E1DC, + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DIV), + ) + ), + ) + + Op.JUMP(pc=0x168) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMP(pc=0x169) + + Op.JUMPDEST * 2 + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0xFF] + + Op.SSTORE(key=0x1, value=Op.DUP1) + + Op.POP + + Op.PUSH20[0xD96ED4431B417993AB4F4D4A656959D13C66E1DC] + + Op.PUSH1[0x2] + + Op.OR( + Op.DUP3, + Op.AND( + Op.NOT(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), + Op.SLOAD(key=Op.DUP1), + ), + ) + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.PUSH1[0xFF] + + Op.SSTORE(key=0x3, value=Op.DUP1) + + Op.POP + + Op.PUSH32[ + 0x676C6F62616C2064617461203332206C656E67746820737472696E6700000000 + ] + + Op.SSTORE(key=0x4, value=Op.DUP1) + + Op.POP + + Op.PUSH20[0xD96ED4431B417993AB4F4D4A656959D13C66E1DC] + + Op.PUSH1[0x5] + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP1) + + Op.PUSH1[0x20] + + Op.ADD + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.SHA3(offset=0x0, size=Op.ADD) + + Op.EXP(0x100, 0x0) + + Op.AND( + Op.NOT( + Op.MUL(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.DUP2) + ), + Op.SLOAD(key=Op.DUP2), + ) + + Op.SWAP1 + + Op.OR(Op.MUL, Op.DUP4) + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.PUSH2[0x22F] + + Op.JUMP(pc=Op.PUSH2[0x5D]) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.EXP(0x100, 0x0) + + Op.AND(Op.NOT(Op.MUL(0xFF, Op.DUP2)), Op.SLOAD(key=Op.DUP2)) + + Op.SWAP1 + + Op.OR(Op.MUL, Op.DUP4) + + Op.SWAP1 + + Op.SSTORE + + Op.POP + + Op.AND(Op.DIV(Op.SLOAD(key=0x0), 0x1), 0xFF) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.JUMP, balance=0x186A0, nonce=0, - address=Address("0x53d3dbdfd3ae109712a4771f7f37a6b1cda7b864"), # noqa: E501 + address=Address(0x53D3DBDFD3AE109712A4771F7F37A6B1CDA7B864), # noqa: E501 ) pre[sender] = Account(balance=0x2540BE400) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("c0406226"), + to=target, + data=Bytes("c0406226"), gas_limit=350000, value=100, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 255, diff --git a/tests/ported_static/stSpecialTest/__init__.py b/tests/ported_static/stSpecialTest/__init__.py index 022a06ceaf0..c197146c9b8 100644 --- a/tests/ported_static/stSpecialTest/__init__.py +++ b/tests/ported_static/stSpecialTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stSpecialTest.""" +"""Ported static tests: stSpecialTest.""" # noqa: N999 diff --git a/tests/ported_static/stSpecialTest/test_block504980.py b/tests/ported_static/stSpecialTest/test_block504980.py index 4a9097547a4..de0856afa03 100644 --- a/tests/ported_static/stSpecialTest/test_block504980.py +++ b/tests/ported_static/stSpecialTest/test_block504980.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_block504980. Ported from: -tests/static/state_tests/stSpecialTest/block504980Filler.json +state_tests/stSpecialTest/block504980Filler.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/block504980Filler.json"], + ["state_tests/stSpecialTest/block504980Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,16 +32,23 @@ def test_block504980( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x1cdc8315bdb1362de8b7b2fa9ee75dc873037179") + """Test_block504980.""" + coinbase = Address(0x1CDC8315BDB1362DE8B7B2FA9EE75DC873037179) + contract_0 = Address(0x0000000000000000000000000000000000000000) + contract_1 = Address(0x0000000000000000000000000000000000000001) + contract_2 = Address(0x0000000000000000000000000000000000000002) + contract_3 = Address(0x0000000000000000000000000000000000000003) + contract_4 = Address(0x0000000000000000000000000000000000000004) + contract_5 = Address(0x0EA65418D7BF32680F55572C943A94B590804998) + contract_6 = Address(0x142A6927CF0060133187BA8A8E74D641438F0C1C) + contract_7 = Address(0x9761FECF88590592CF05CE545504D376D1693AB3) + contract_8 = Address(0xB03F030056DB7D467D778326658BAC0D1B35D8F7) + contract_9 = Address(0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E) + contract_10 = Address(0xE509E3A93BEB1EBA72F8CB8D25F93A85E2D54AFB) + contract_11 = Address(0xF1562E1C0D0BAA3EA746442BB7F11153FCF5CFDA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - callee = Address("0x0000000000000000000000000000000000000000") - callee_1 = Address("0x0000000000000000000000000000000000000001") - callee_2 = Address("0x0000000000000000000000000000000000000002") - callee_3 = Address("0x0000000000000000000000000000000000000003") - callee_4 = Address("0x0000000000000000000000000000000000000004") env = Environment( fee_recipient=coinbase, @@ -50,8357 +59,7120 @@ def test_block504980( gas_limit=3141592, ) - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - # Source: raw bytecode - callee_5 = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x289F, value=0x0) - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.MSTORE( - offset=0x20, - value=0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E, - ) - + Op.JUMPI( - pc=0x127, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC4982A85)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0xA0, value=Op.SLOAD(key=Op.SHA3)) - + Op.MLOAD(offset=0xA0) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0xE0] - + Op.MSTORE - + Op.MSTORE(offset=0x140, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x10B, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x140), Op.MLOAD(offset=0xA0)), - ), - ) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.MSTORE( - offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x140) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE( - offset=Op.ADD( - Op.MLOAD(offset=0xE0), - Op.MUL(0x20, Op.MLOAD(offset=0x140)), - ), - value=Op.SLOAD(key=Op.SHA3), - ) - + Op.MSTORE( - offset=0x140, value=Op.ADD(Op.MLOAD(offset=0x140), 0x1) - ) - + Op.JUMP(pc=Op.PUSH2[0xAD]) - + Op.JUMPDEST - + Op.MLOAD(offset=0xE0) - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x176, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xCC1C944E)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x1A0, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x1A0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1D5, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x95A405B9)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x1E0, value=Op.CALLDATALOAD(offset=0x44)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.MSTORE( - offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x1E0) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x200, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x200, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x224, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x71EBB662)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x240, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x240, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x325, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7A57A3DB)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x280, value=Op.CALLDATALOAD(offset=0x44)) - + Op.PUSH1[0xC0] - + Op.PUSH1[0xC0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x3) - + Op.MSTORE( - offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x280) - ) - + Op.MSTORE(offset=Op.ADD(0xA0, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2E9, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x2C8) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x394, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xF73DC690)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x3C0, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x3E0, value=Op.CALLDATALOAD(offset=0x64)) - + Op.PUSH1[0xC0] - + Op.PUSH1[0xC0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x3) - + Op.MSTORE( - offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x3C0) - ) - + Op.MSTORE( - offset=Op.ADD(0xA0, Op.DUP2), value=Op.MLOAD(offset=0x3E0) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x400, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x400, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3F3, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x54CC6109)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x3C0, value=Op.CALLDATALOAD(offset=0x44)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x4) - + Op.MSTORE( - offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x3C0) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x440, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x440, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x442, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC63EF546)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x480, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x480, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x533, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x9381779B)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x6) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4F7, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x4D6) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x624, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x4F9C6EEB)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x7) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x5E8, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x5C7) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x715, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7DC12195)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x8) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x6D9, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x6B8) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x806, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xFA9832D1)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x9) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x7CA, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x7A9) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x8F7, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2C5A40D5)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xA) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x8BB, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x89A) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x9EB, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xE05DCB56)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xB) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x2] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) - + Op.ADD - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x9AF, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x98E) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0xA3A, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x586B5BE0)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xC) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0xB80, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0xB80, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0xB58, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xEB8AF5AA)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xD) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.MUL(0x20, Op.SDIV) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0xB1C, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0xAFB) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0xC76, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7AB6EA8A)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xE) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.MUL(0x20, Op.SDIV) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0xC3A, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0xC19) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0xD94, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2B810CB9)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xF) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.MUL(0x20, Op.SDIV) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0xD58, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0xD37) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0xE85, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7FB42E46)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x10) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0xE49, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0xE28) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0xF76, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x734FA727)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x11) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0xF3A, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0xF19) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1067, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC67FA857)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x12) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x102B, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x100A) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1185, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x5ED853E4)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x13) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.MUL(0x20, Op.SDIV) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1149, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1128) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x12A3, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB86F5125)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x14) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.MUL(0x20, Op.SDIV) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1267, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1246) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1394, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xBC3D7D85)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x15) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) - + Op.DUP1 - + Op.ADD(0x20, Op.DUP1) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1358, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1337) - + Op.JUMPDEST - + Op.MSTORE( - offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), - value=Op.AND( - Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1481, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xA2302F2F)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x1680, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x16A0, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MLOAD(offset=0x16A0) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), - value=Op.MLOAD(offset=0x1680), - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), - value=Op.MLOAD(offset=0x1680), - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE( - offset=Op.ADD(0x80, Op.DUP2), value=Op.SLOAD(key=Op.SHA3) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.PUSH1[0x1] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), - value=Op.MLOAD(offset=0x1680), - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), - value=Op.MLOAD(offset=0x1680), - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x1740, value=0x1) - + Op.RETURN(offset=0x1740, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x14DD, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x58CA2BC)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x1760, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MLOAD(offset=0x1760) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x17A0, value=0x1) - + Op.RETURN(offset=0x17A0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1617, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x5D3B965B)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x280, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE( - offset=0x17E0, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x64) - ), - ) - + Op.MSTORE(offset=0x1800, value=Op.CALLDATALOAD(offset=0x84)) - + Op.POP - + Op.PUSH1[0xC0] - + Op.PUSH1[0xC0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x3) - + Op.MSTORE( - offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x280) - ) - + Op.MSTORE(offset=Op.ADD(0xA0, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x17E0), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x158C, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x17E0), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x156B) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x17E0), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MLOAD(offset=0x1800) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x1900, value=0x1) - + Op.RETURN(offset=0x1900, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1673, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB0E14F0F)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x1920, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MLOAD(offset=0x1920) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x1960, value=0x1) - + Op.RETURN(offset=0x1960, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1739, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x6ACCCDBC)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x1980, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x6) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1980), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x170B, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1980), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x16EA) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1980), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x1A40, value=0x1) - + Op.RETURN(offset=0x1A40, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x17FF, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xA1FA51F9)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x1A60, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x7) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1A60), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x17D1, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1A60), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x17B0) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1A60), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x1B20, value=0x1) - + Op.RETURN(offset=0x1B20, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x18C5, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xCD87F43A)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x1B40, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x8) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1B40), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1897, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1B40), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1876) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1B40), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x1C00, value=0x1) - + Op.RETURN(offset=0x1C00, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x198B, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x222A8663)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x1C20, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x9) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1C20), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x195D, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1C20), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x193C) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1C20), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x1CE0, value=0x1) - + Op.RETURN(offset=0x1CE0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1A51, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB39E1FAA)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x1D00, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xA) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1D00), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1A23, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1D00), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1A02) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1D00), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x1DC0, value=0x1) - + Op.RETURN(offset=0x1DC0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1B17, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xE365736B)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x1DE0, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xB) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1DE0), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1AE9, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1DE0), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1AC8) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1DE0), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x1EA0, value=0x1) - + Op.RETURN(offset=0x1EA0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1B73, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xAAD7D6E3)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x1EC0, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MLOAD(offset=0x1EC0) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xC) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x1F00, value=0x1) - + Op.RETURN(offset=0x1F00, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1C39, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x1112B27)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x1F20, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xD) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1F20), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1C0B, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1F20), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1BEA) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x1F20), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x1FE0, value=0x1) - + Op.RETURN(offset=0x1FE0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1CFF, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xBDBB239B)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x2000, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xE) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x2000), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1CD1, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x2000), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1CB0) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x2000), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x20C0, value=0x1) - + Op.RETURN(offset=0x20C0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1DC5, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x5A0CD48)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x20E0, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xF) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x20E0), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1D97, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x20E0), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1D76) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x20E0), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x21A0, value=0x1) - + Op.RETURN(offset=0x21A0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1E8B, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xAAA1FE35)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x21C0, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x10) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x21C0), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1E5D, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x21C0), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1E3C) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x21C0), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x2280, value=0x1) - + Op.RETURN(offset=0x2280, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1F51, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2BE4935D)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x22A0, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x11) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x22A0), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1F23, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x22A0), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1F02) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x22A0), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x2360, value=0x1) - + Op.RETURN(offset=0x2360, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2017, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x13A8350D)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x2380, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x12) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x2380), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1FE9, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x2380), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1FC8) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x2380), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x2440, value=0x1) - + Op.RETURN(offset=0x2440, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x20DD, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xCB540B45)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x2460, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x13) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x2460), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x20AF, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x2460), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x208E) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x2460), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x2520, value=0x1) - + Op.RETURN(offset=0x2520, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x21A3, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xBE030627)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x2540, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x14) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x2540), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2175, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x2540), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x2154) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x2540), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x2600, value=0x1) - + Op.RETURN(offset=0x2600, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2269, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x83FD77F0)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE( - offset=0x2620, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x15) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x2620), 0x20)) - ) - + Op.DIV(Op.DUP2, 0x20) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x223B, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2)) - ) - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x2620), Op.MUL(0x20, Op.DUP1) - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x221A) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(Op.DUP3, Op.DUP5), - value=Op.AND( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x2620), - Op.MUL(0x20, Op.DUP2), - ), - ), - Op.SUB( - 0x0, - Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))), - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x26E0, value=0x1) - + Op.RETURN(offset=0x26E0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x22D5, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x59462205)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x3C0, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x2700, value=Op.CALLDATALOAD(offset=0x64)) - + Op.MLOAD(offset=0x2700) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x4) - + Op.MSTORE( - offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x3C0) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x2740, value=0x1) - + Op.RETURN(offset=0x2740, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2448, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xBB8E4196)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x2760, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x2780, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x27A0, value=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), - value=Op.SUB(Op.MLOAD(offset=0x2760), 0x1), - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.JUMPI( - pc=0x243B, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x27A0), Op.SLOAD(key=Op.SHA3)), - ), - ) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), - value=Op.SUB(Op.MLOAD(offset=0x2760), 0x1), - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.MSTORE( - offset=Op.ADD(0x80, Op.DUP2), - value=Op.MLOAD(offset=0x27A0), - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), - value=Op.MLOAD(offset=0x2780), - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), - value=Op.MLOAD(offset=0x2780), - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE( - offset=Op.ADD(0x80, Op.DUP2), value=Op.SLOAD(key=Op.SHA3) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.PUSH1[0x1] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), - value=Op.MLOAD(offset=0x2780), - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), - value=Op.MLOAD(offset=0x2780), - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE( - offset=0x27A0, value=Op.ADD(Op.MLOAD(offset=0x27A0), 0x1) - ) - + Op.JUMP(pc=0x22FC) - + Op.JUMPDEST - + Op.MSTORE(offset=0x2880, value=0x1) - + Op.RETURN(offset=0x2880, size=0x20) - + Op.JUMPDEST - + Op.POP - ), - storage={ - 0x65D5EFDFCC0FBA693DC9E467F633097FFDC97401901463AD0E28855486D1EDF: 0xB9D69098A6ACFE0C6411BCAAF430F78D363A9ADC32B78BC2E15CCD6E883E9784, # noqa: E501 - 0x12643FF300762717D27EFB567B82C65560D7B43249D908504E5510863AB82AAC: 0x154CF60E137C594516A065149610B6A3989396A42581D5FD8919E711C55DA225, # noqa: E501 - 0x1489023D18C5D10427C4AA8DC726E840EB5AE7F604A8E9243C61634FB009E4D7: 0x5, # noqa: E501 - 0x1489023D18C5D10427C4AA8DC726E840EB5AE7F604A8E9243C61634FB009E4D8: 0x1, # noqa: E501 - 0x19EFB13D6576359514ACE5211988A8D51379FA88CCD2B886B409F842B13D7932: 0xC849CC595B452D11C206D2EB8CDFA06DE211E3FF19EE0E0276DC857C05D4FE, # noqa: E501 - 0x1B37E91BF8580C7C6BCF8CDFF25C7ED78180124A94AF6F30C40D476A3D079AD6: 0xABA4CD295118A482A0A62579E35E4BA5BDD76146CC9E4D96172FCE8BE8977AB4, # noqa: E501 - 0x2BF9FD8FACDD6FD9C84657F5AD7381A5AECF670CDA68CB3C5829B6532C865506: 0x53098A1D111586DBCC0D051846284F5803C63C313E7F7E6D84430435D11D4C50, # noqa: E501 - 0x3111BFD25728C0ADFAD0F8C1AD79CB1B91167267DECA98DE88F156ED25CAEEDC: 0xAD393086F30B49511B08FDD27AC78810B084C7CD7DE6AC354F614C18EA9E7DF4, # noqa: E501 - 0x3379E7AE125C5C5D623D1D993C1459B61D6723B1C30D1AA026C48F6A6155B8EA: 0x8C4183732567A99A8A718E363391E102532F9A640E42968CF2354D9ACC908BB0, # noqa: E501 - 0x34CABE0C7E64A2CAA93FD8D6A0DEFC07ACB9D44B13430FA3AE9282FFFD40DEE2: 0x1, # noqa: E501 - 0x34CABE0C7E64A2CAA93FD8D6A0DEFC07ACB9D44B13430FA3AE9282FFFD40DEE3: 0x1, # noqa: E501 - 0x34CABE0C7E64A2CAA93FD8D6A0DEFC07ACB9D44B13430FA3AE9282FFFD40DEE4: 0x1, # noqa: E501 - 0x34CABE0C7E64A2CAA93FD8D6A0DEFC07ACB9D44B13430FA3AE9282FFFD40DEE5: 0x1, # noqa: E501 - 0x39050607FE892059A6344AB0F594F382FB0B345CAB373497246DBE86FE7E14E7: 0x2B3BCA833E482737E7E47B1568E6F890F8E1666490D38FE130ABD6F0CCB109CF, # noqa: E501 - 0x417BE8BC6791807372E0222A350BB8A5D67BBC8D7595C301D8A5A8372CFDCEF1: 0xABD4971B4605A7155802F70E08298B1CEB0E4E4EACCCCD348F77A77227F73A7F, # noqa: E501 - 0x41E9A54B3EE0C276AA076BABB161DE12B0F8916B47F8F6FB85CC387CF34696DD: 0x22F2F444EBDA9D2913FFEF5059B039EC9B5876AA71821991C2515BF79F64935E, # noqa: E501 - 0x45CEB8DA6FB8936592D3BCE4883F1A6A34D636F559E0A1070A5802A65AC39BD5: 0x57A5122FF3BF737B0DE0F9F08011A8648C19E43FF071FB7086234723C9383F1F, # noqa: E501 - 0x4AA6B934608A45C8F53A945C05DDEE1814A3B9F63A048FC7AD3D47E67156F024: 0xD03862BECEDADA67B4825A0238F3E67495CCB595CD7D08F1BD5D3160644B9299, # noqa: E501 - 0x4B8B58F0B0E326A5907D1A810E5FF31E05B4CAB45125B776DB8577E7DBC46BCE: 0x2F0000000000000000, # noqa: E501 - 0x4C33460347337BFC7DF08BF182988301B7B426A27A67F1C6C634F637C60E87AC: 0xBAB4AB2AD4EAFE7C84EF6A8CD69157D9CE6B843793A2CD0877B8E91F63CB2D4D, # noqa: E501 - 0x58DA0C0C256BBA101CE36FAD8BF838717A57E6AB850A191DC9C09DA9CE56BF1B: 0x5, # noqa: E501 - 0x5CB38B16DB1D632086D4AF695DE7F5F242A6E40947067F96EDD566FE2AC438EF: 0x6D0BE832B2007EA28CDA705B73922CBF9794C5A25B89BD2F28B7347ED2B96C86, # noqa: E501 - 0x64A9621CC4BA92BF738C55010C609DFAA3972A1138C30B5ADCEF1BA2363B360E: 0xD7953BFE8CB591F129FD0862A9E9C421151E2B5831560FF5215D23F751364B35, # noqa: E501 - 0x696664A5F0AB5ACD9304A377FB684F2D3FE6BB60B8A95CB2BDBB57DB767E7A84: 0x154CF60E137C594516A065149610B6A3989396A42581D5FD8919E711C55DA225, # noqa: E501 - 0x69AD1D19E617936ABDF05133BF268DC8CED6B518F22B249B5860967D07006487: 0x8C803B48B383DDABD1B3AFE858EFB48C203229B7317DD76149DDDAB4253B858A, # noqa: E501 - 0x70B3BF53996FAC325EB67608A4EEB0CD0B55DEF6255D7ED42AD28EC07238B5D6: 0x45E9723E9232B37207ECAC1C97B8647D053625A578D450F7456280B2FF8EFC27, # noqa: E501 - 0x7A9DCEE62E3E02CC8E020F372DF2EFDEB835F091C1EF1DBE221072D1095AABD2: 0x2F0000000000000000, # noqa: E501 - 0x7E4D8C0F6D8ABB4CE1AE45B254046ACEEDABFA9548851B8B5D3E2C0637C985FD: 0xB, # noqa: E501 - 0x7E95F3CC3315D289C52253BAABA29B1B00C86816E6B788D50795279A8BAA00DB: 0x45E9723E9232B37207ECAC1C97B8647D053625A578D450F7456280B2FF8EFC27, # noqa: E501 - 0x8DA187157087529EE4E9C381F8E3149C56ACF3BDFDA29B8B9B4532F24B83F5FE: 0x8C4183732567A99A8A718E363391E102532F9A640E42968CF2354D9ACC908BB0, # noqa: E501 - 0x9001F91DDAEF87BC067886E874C0749998C9B58B2EC8472CA014CA8B55F88578: 0xFB76974EEFCA01F33FB38646C2D3C1536F1A763D7AFF53AB7F877D4C5EA7FD0, # noqa: E501 - 0x9ED0CEDD2A9A78D949F40019F53D10031AEF6ED342C97E01FC03B481EE56B3CB: 0x4, # noqa: E501 - 0x9FDDF1DB29CAA5C1239EDD86E9E0835CDFE41F7253EC78F62D3DA8558D6F3CD7: 0x104EEF8FA35BF39F677D81855BC0B9F42317F32792E98E95E4DF441DEB634211, # noqa: E501 - 0xA0953566119395C11186B334805FC1A16175ECAC0ECC93AE0322264F0DC2E40D: 0x10C5A00466AB7C0ADAE1E93537CC275EA8CF23FF509D5466A1FD6F56B0A61D1B, # noqa: E501 - 0xAA0DBF8241EF3AE07C254E6869E84895BA2BE0779A7F261C8308A3114BE1C54A: 0x4, # noqa: E501 - 0xAFFE808B495D13A14391CE5F27C211C36DA12826969CD7841EE0D81E5B900E2D: 0x1, # noqa: E501 - 0xAFFE808B495D13A14391CE5F27C211C36DA12826969CD7841EE0D81E5B900E2E: 0x1, # noqa: E501 - 0xB4A2B68C48EF78AEB641EE538FAD51781022FD23ED9D93D211017DB6A02376CE: 0xFBC06642245CF2FED7ED46EA0A18A7185830B6F2C4E0A4CA55246041E8BFA72, # noqa: E501 - 0xBA8D79990898383919E437F2458B93B340072C89D963808D9E04F51858E3C5EC: 0x41D2CAC534D90A0DBD199117481A63E32CC11411DAB2EAA36C91C0EEC62823CF, # noqa: E501 - 0xBB3BC1A2015123750DF57D4CEFF7E28CB847910B79B34841DE905B59A8BB177C: 0x734417EB19E1873427257F1EA1594748C16CFA866A7B7CF896E281F2EC774A40, # noqa: E501 - 0xBF30CDCB83AB2BD5F5EEE691FFA4107B58B75BA6A5C2E6754D4C5C0437F2876C: 0x5, # noqa: E501 - 0xC2A26B80067FC36B8268B0D5B31AFFF953FA91CEBEA39F191E2763D6E71259B9: 0x2A43C547FE8DE2400D2A141016550E8BAE058D41164247C099E787DDD40E789, # noqa: E501 - 0xC98339D275EEF16E0562CA8521212CEF61AA0F39B12E2A27502AAA97A9E5E70F: 0x5A3DE2A5C268CDB75F4B01507AA80C4E4A1BC67BCB0DF265BBB00060774E5978, # noqa: E501 - 0xCBD6AE6BD61BC9270EC836F1919B3268113ABE076C7FEBFDB8CF573B199CE9A9: 0xF402B17773C1F7534034EE58DC0D2A3421470A7A67DAF4FA790DC3B420EEF790, # noqa: E501 - 0xD2C8CBB562FCCD0C9A3D0D491B7F65CC6A89856498F933427D9D21B745B9D50E: 0x3625A26FDB7B747501F1EE2500F98C49D9CD290383A21254587C3C49D2805321, # noqa: E501 - 0xD66F52A4E24585238CCC03443B2FDB8B2B100259BC7260F39097C7C339211FFE: 0x1641851904381915C86B60DF7E288896FB5F8EBAD65D594829FB9F2B59CD1DA6, # noqa: E501 - 0xD8F720C05A5526DD621D1831AE122ABDDD3DFECD8B63B0BA4C92FA7B2ADE44FF: 0xAD393086F30B49511B08FDD27AC78810B084C7CD7DE6AC354F614C18EA9E7DF4, # noqa: E501 - 0xDC22D3171B82817C910BBEAC1F8B50C8DE99F8C524F172AEF3491981BD5ED4FB: 0x94B8CBA4EA090D1C392FBC94B82FB9EF9F468A15BBC537F4D051776F4D422B1D, # noqa: E501 - 0xDCE8ADBDEFA929DBE60245F359446DB4174C62824B42E5D4D9E7B834B4D61DEB: 0x2C9069845B2E74C577FF1CD18DF6BC452805F527A9EE91FD4A059E0408B5DEA6, # noqa: E501 - 0xDD9493073DB9E42FD955E834C89A74089F99196186EE0B2688124989BE00D196: 0x1, # noqa: E501 - 0xDD9493073DB9E42FD955E834C89A74089F99196186EE0B2688124989BE00D197: 0x1, # noqa: E501 - 0xDD9493073DB9E42FD955E834C89A74089F99196186EE0B2688124989BE00D198: 0x1, # noqa: E501 - 0xDD9493073DB9E42FD955E834C89A74089F99196186EE0B2688124989BE00D199: 0x1, # noqa: E501 - 0xDD9493073DB9E42FD955E834C89A74089F99196186EE0B2688124989BE00D19A: 0x1, # noqa: E501 - 0xE54F074C81BFA60B5BF413934C108086298B77291560EDFEEAD8AA1232E95236: 0xF40AAA24323C9E6983CCFFAFEEBE4B426509B901E8C98B8A40D881804804E6B, # noqa: E501 - 0xE66C0F55F66C752EDF73027D45B7B1AE729AE15E1C67C362DBC6F25EDF8D76FF: 0x1, # noqa: E501 - 0xE983D899F807BBCB5881F2DDF875B2EBB5CB8A7A4E77A8C98A40AAAE6A468735: 0x6D0BE832B2007EA28CDA705B73922CBF9794C5A25B89BD2F28B7347ED2B96C86, # noqa: E501 - 0xED7D6E2D40FBD5046412FFAD1C45B63D87C6197182D6DBC66BB1E5C6E4DED5C7: 0xABA4CD295118A482A0A62579E35E4BA5BDD76146CC9E4D96172FCE8BE8977AB4, # noqa: E501 - 0xF043B5A1952847579F233706A8F130889A484D2DA3E574FDD5859F05AAF52111: 0x2, # noqa: E501 - 0xF40F4CFDACB62DD799F36B580349FAC1F4A4CAF8DD3383CC387C35ADB6574E21: 0x2F0000000000000000, # noqa: E501 - 0xF60FA6E25E9028A6DC6B26BBC1EADAE3DA157DF0D1D6F6628BC33CAD68A7E455: 0x2D7D00618C059EBE40593B9497C633E1AC6E161DADBD5BB734C2663CD3E8A8E1, # noqa: E501 - 0xFD280AC5182D5B2366122F38ACFA6DC471240FFDE9D5FEB985CE7A2325C960E7: 0x3, # noqa: E501 - }, - nonce=0, - address=Address("0x0ea65418d7bf32680f55572c943a94b590804998"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x31F, value=0x0) - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.MSTORE( - offset=0x20, - value=0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E, - ) - + Op.MSTORE( - offset=0x40, - value=0xEA65418D7BF32680F55572C943A94B590804998, - ) - + Op.JUMPI( - pc=0x38D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x27138BFB)) - ) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7A66D7CA) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0xE0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0xE0) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0xA0] - + Op.MSTORE - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC60409C6) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x120, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x120) - + Op.SWAP1 - + Op.POP - + Op.NUMBER - + Op.MSTORE(offset=0x100, value=Op.SDIV) - + Op.MSTORE(offset=0x140, value=0x0) - + Op.MSTORE(offset=0x160, value=0x0) - + Op.MSTORE(offset=0x180, value=0x0) - + Op.JUMPI( - pc=0x10A, - condition=Op.ISZERO( - Op.ISZERO( - Op.SLT( - Op.MLOAD(offset=0x100), - Op.ADD(Op.MLOAD(offset=0xA0), 0x2), - ), - ), - ), - ) - + Op.MSTORE(offset=0x140, value=0x1) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1A0, value=0x0) - + Op.MSTORE(offset=0x1C0, value=Op.MLOAD(offset=0x100)) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x184, - condition=Op.ISZERO( - Op.SLT( - Op.MLOAD(offset=0x1C0), - Op.ADD(Op.MLOAD(offset=0x100), 0x64), - ), - ), - ) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xCC1C944E) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0x1C0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x40), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x1E0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x1E0) - + Op.SWAP1 - + Op.POP - + Op.MLOAD(offset=0x1A0) - + Op.MSTORE(offset=0x1A0, value=Op.ADD) - + Op.MSTORE( - offset=0x1C0, value=Op.ADD(Op.MLOAD(offset=0x1C0), 0x1) - ) - + Op.JUMP(pc=0x119) - + Op.JUMPDEST - + Op.PUSH1[0x5] - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xCC1C944E) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xA0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x40), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x200, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x200) - + Op.SWAP1 - + Op.POP - + Op.SLT - + Op.JUMPI(pc=0x1D3, condition=Op.ISZERO(Op.DUP1)) - + Op.DUP1 - + Op.JUMP(pc=0x1DB) - + Op.JUMPDEST - + Op.SLT(Op.MLOAD(offset=0x1A0), 0xA) - + Op.JUMPDEST - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x1EB, condition=Op.ISZERO) - + Op.MLOAD(offset=0x140) - + Op.JUMP(pc=0x1EE) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x336, condition=Op.ISZERO) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC5476EFE) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x240, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x240) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7265802D) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x260, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x260) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC286273A) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x280, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x280) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7A66D7CA) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x2A0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x2A0) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0xA0] - + Op.MSTORE - + Op.PUSH1[0x1C] - + Op.PUSH1[0x84] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xBB8E4196) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xA0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x100) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x40), - value=0x0, - args_offset=Op.DUP4, - args_size=0x64, - ret_offset=0x2C0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x2C0) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMP(pc=0x343) - + Op.JUMPDEST - + Op.MSTORE(offset=0x160, value=0x1) - + Op.MSTORE(offset=0x180, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x355, condition=Op.ISZERO(Op.MLOAD(offset=0x140))) - + Op.MLOAD(offset=0x160) - + Op.JUMP(pc=0x358) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x366, condition=Op.ISZERO) - + Op.MLOAD(offset=0x180) - + Op.JUMP(pc=0x369) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x37F, condition=Op.ISZERO) - + Op.MSTORE(offset=0x2E0, value=0x1) - + Op.RETURN(offset=0x2E0, size=0x20) - + Op.JUMP(pc=0x38C) - + Op.JUMPDEST - + Op.MSTORE(offset=0x300, value=0x0) - + Op.RETURN(offset=0x300, size=0x20) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.POP - ), - nonce=0, - address=Address("0x142a6927cf0060133187ba8a8e74d641438f0c1c"), # noqa: E501 - ) - pre[coinbase] = Account(balance=1, nonce=0) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x5DF, value=0x0) - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.MSTORE( - offset=0x20, - value=0xEA65418D7BF32680F55572C943A94B590804998, - ) - + Op.MSTORE( - offset=0x40, - value=0xE509E3A93BEB1EBA72F8CB8D25F93A85E2D54AFB, - ) - + Op.MSTORE( - offset=0x60, - value=0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E, - ) - + Op.MSTORE( - offset=0x80, - value=0xF1562E1C0D0BAA3EA746442BB7F11153FCF5CFDA, - ) - + Op.JUMPI( - pc=0x38D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x546FDEB3)) - ) - + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x64)) - + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x84)) - + Op.ADD(Op.MLOAD(offset=0x100), 0x2) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.ADD(Op.MLOAD(offset=0x100), 0x2) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x44, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.JUMPI( - pc=0x250, - condition=Op.ISZERO( - Op.EQ( - Op.MLOAD( - offset=Op.ADD( - Op.DUP3, - Op.MUL( - 0x20, Op.ADD(Op.MLOAD(offset=0x100), 0x1) - ), - ), - ), - 0x0, - ), - ), - ) - + Op.PUSH1[0x60] - + Op.PUSH1[0x1C] - + Op.PUSH2[0x14C] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE365736B) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x84] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x2F300BEE) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=0x2) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x5) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x100) - ) - + Op.DUP5 - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP6, - args_size=0x64, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.ADD(0x4, Op.DUP2) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.JUMPI( - pc=0x1FC, - condition=Op.CALL( - gas=0x1C, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=0x64, - ret_offset=Op.DUP2, - ret_size=0x64, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.ADD(Op.DUP2, 0x64) - + Op.SWAP3 - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) - + Op.DUP1 - + Op.JUMPI( - pc=0x223, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.SUB(Op.DUP4, Op.DUP1) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x280, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x280) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x37D) - + Op.JUMPDEST - + Op.PUSH1[0x60] - + Op.PUSH1[0x1C] - + Op.PUSH2[0x14C] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE365736B) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x84] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x2F300BEE) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), - value=Op.SUB( - Op.MLOAD( - offset=Op.ADD( - Op.DUP6, - Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x100), 0x1)), - ), - ), - 0x1, - ), - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x5) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x100) - ) - + Op.DUP5 - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP6, - args_size=0x64, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.ADD(0x4, Op.DUP2) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.JUMPI( - pc=0x32D, - condition=Op.CALL( - gas=0x1C, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=0x64, - ret_offset=Op.DUP2, - ret_size=0x64, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.ADD(Op.DUP2, 0x64) - + Op.SWAP3 - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) - + Op.DUP1 - + Op.JUMPI( - pc=0x354, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.SUB(Op.DUP4, Op.DUP1) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x2C0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x2C0) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.MSTORE(offset=0x2E0, value=0x1) - + Op.RETURN(offset=0x2E0, size=0x20) - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x764, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xDE9080C8)) - ) - + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x64)) - + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x84)) - + Op.ADD(Op.MLOAD(offset=0x100), 0x2) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.DUP2 - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x44, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x2C5A40D5) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.MLOAD(offset=0x140) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x44, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MLOAD(offset=0x120) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4EE, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x120))), - ) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x28C8B315) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP2) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x40), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x360, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x360) - + Op.SWAP1 - + Op.POP - + Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)) - + Op.MSTORE - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x493) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0xA0] - + Op.PUSH1[0x1C] - + Op.PUSH2[0x20C] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xA647A5B9) - + Op.DUP5 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x4), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x148), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.DUP4 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x24), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xC4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x168), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.DUP3 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xE4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x188), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x64), value=Op.MLOAD(offset=0x120) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x84), value=Op.MLOAD(offset=0x100) - ) - + Op.ADD(0x4, Op.DUP2) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.JUMPI( - pc=0x5B5, - condition=Op.CALL( - gas=0x22, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=0xA4, - ret_offset=Op.DUP2, - ret_size=0xA4, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.ADD(Op.DUP2, 0xA4) - + Op.SWAP3 - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x148)) - + Op.DUP1 - + Op.JUMPI( - pc=0x5DC, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x168)) - + Op.DUP1 - + Op.JUMPI( - pc=0x604, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xC4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x188)) - + Op.DUP1 - + Op.JUMPI( - pc=0x62C, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xE4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.SUB(Op.DUP4, Op.DUP1) - + Op.DUP8 - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP7, - args_size=Op.DUP5, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP3 - + Op.POP - + Op.PUSH1[0x60] - + Op.PUSH1[0x1C] - + Op.PUSH2[0x14C] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE365736B) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.DUP5 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.ADD(0x4, Op.DUP2) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.JUMPI( - pc=0x6DF, - condition=Op.CALL( - gas=0x1C, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=0x64, - ret_offset=Op.DUP2, - ret_size=0x64, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.ADD(Op.DUP2, 0x64) - + Op.SWAP3 - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) - + Op.DUP1 - + Op.JUMPI( - pc=0x706, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.SUB(Op.DUP4, Op.DUP1) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x3C0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x3C0) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMPI( - pc=0x752, - condition=Op.ISZERO( - Op.EQ( - Op.MLOAD( - offset=Op.ADD( - Op.DUP5, - Op.MUL(0x20, Op.MLOAD(offset=0x100)), - ), - ), - 0x0, - ), - ), - ) - + Op.MSTORE(offset=0x3E0, value=0x0) - + Op.RETURN(offset=0x3E0, size=0x20) - + Op.JUMP(pc=0x75F) - + Op.JUMPDEST - + Op.MSTORE(offset=0x400, value=0x1) - + Op.RETURN(offset=0x400, size=0x20) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0xA66, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x384CA8DD)) - ) - + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x64)) - + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x84)) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.ADD(Op.MLOAD(offset=0x100), 0x2) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x44, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xFA9832D1) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.MLOAD(offset=0x100) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x44, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x84] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xAAD7D6E3) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.PUSH1[0x60] - + Op.PUSH1[0x1C] - + Op.PUSH2[0x14C] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x5B180229) - + Op.DUP4 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x4), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0x64), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xC8), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.DUP5 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x24), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0x84), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xE8), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x100) - ) - + Op.ADD(0x4, Op.DUP2) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.JUMPI( - pc=0x901, - condition=Op.CALL( - gas=0x1C, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=0x64, - ret_offset=Op.DUP2, - ret_size=0x64, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.ADD(Op.DUP2, 0x64) - + Op.SWAP3 - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0xC8)) - + Op.DUP1 - + Op.JUMPI( - pc=0x927, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0x64)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0xE8)) - + Op.DUP1 - + Op.JUMPI( - pc=0x94E, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0x84)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.SUB(Op.DUP4, Op.DUP1) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x440, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x440) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.ADD(Op.DUP3, 0x44) - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP4, - args_size=0x64, - ret_offset=0x460, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x460) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.PUSH1[0x60] - + Op.PUSH1[0x1C] - + Op.PUSH2[0x14C] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x222A8663) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.DUP3 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.ADD(0x4, Op.DUP2) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.JUMPI( - pc=0xA07, - condition=Op.CALL( - gas=0x1C, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=0x64, - ret_offset=Op.DUP2, - ret_size=0x64, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.ADD(Op.DUP2, 0x64) - + Op.SWAP3 - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) - + Op.DUP1 - + Op.JUMPI( - pc=0xA2E, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.SUB(Op.DUP4, Op.DUP1) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x480, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x480) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x4A0, value=0x1) - + Op.RETURN(offset=0x4A0, size=0x20) - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0xD4B, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xD5DC5AF1)) - ) - + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x64)) - + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x84)) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.ADD(Op.MLOAD(offset=0x100), 0x2) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x44, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x2C5A40D5) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.MLOAD(offset=0x140) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x44, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x80] - + Op.PUSH1[0x1C] - + Op.PUSH2[0x1AC] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xF4CA7DC4) - + Op.DUP4 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x4), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0x84), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.DUP3 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x24), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x128), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x120) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x64), value=Op.MLOAD(offset=0x100) - ) - + Op.ADD(0x4, Op.DUP2) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.JUMPI( - pc=0xBE7, - condition=Op.CALL( - gas=0x1F, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=0x84, - ret_offset=Op.DUP2, - ret_size=0x84, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.ADD(Op.DUP2, 0x84) - + Op.SWAP3 - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) - + Op.DUP1 - + Op.JUMPI( - pc=0xC0E, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0x84)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x128)) - + Op.DUP1 - + Op.JUMPI( - pc=0xC36, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.SUB(Op.DUP4, Op.DUP1) - + Op.MLOAD(offset=0x140) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP7, - args_size=Op.DUP5, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x60] - + Op.PUSH1[0x1C] - + Op.PUSH2[0x14C] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xB39E1FAA) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.DUP3 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.ADD(0x4, Op.DUP2) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.JUMPI( - pc=0xCEC, - condition=Op.CALL( - gas=0x1C, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=0x64, - ret_offset=Op.DUP2, - ret_size=0x64, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.ADD(Op.DUP2, 0x64) - + Op.SWAP3 - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) - + Op.DUP1 - + Op.JUMPI( - pc=0xD13, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.SUB(Op.DUP4, Op.DUP1) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x4C0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x4C0) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x4E0, value=0x1) - + Op.RETURN(offset=0x4E0, size=0x20) - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x114C, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x939AA8C)) - ) - + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x64)) - + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x84)) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.ADD(Op.MLOAD(offset=0x100), 0x2) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x44, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7DC12195) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.MLOAD(offset=0x140) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x44, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x586B5BE0) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x500, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x500) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xEB8AF5AA) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.MLOAD(offset=0x120) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x44, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0xC0] - + Op.PUSH1[0x1C] - + Op.PUSH2[0x26C] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x232B2734) - + Op.DUP3 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x4), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xC4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x188), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.DUP6 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x24), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xE4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x1A8), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.DUP5 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0x104), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x1C8), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x84), value=Op.MLOAD(offset=0x120) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0xA4), value=Op.MLOAD(offset=0x100) - ) - + Op.ADD(0x4, Op.DUP2) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.JUMPI( - pc=0xF96, - condition=Op.CALL( - gas=0x25, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=0xC4, - ret_offset=Op.DUP2, - ret_size=0xC4, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.ADD(Op.DUP2, 0xC4) - + Op.SWAP3 - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x188)) - + Op.DUP1 - + Op.JUMPI( - pc=0xFBD, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xC4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x1A8)) - + Op.DUP1 - + Op.JUMPI( - pc=0xFE5, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xE4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x1C8)) - + Op.DUP1 - + Op.JUMPI( - pc=0x100E, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0x104)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.SUB(Op.DUP4, Op.DUP1) - + Op.MLOAD(offset=0x120) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP7, - args_size=Op.DUP5, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x60] - + Op.PUSH1[0x1C] - + Op.PUSH2[0x14C] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x1112B27) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0) - ) - + Op.DUP3 - + Op.ADD( - 0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20))) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.ADD(0x4, Op.DUP2) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.JUMPI( - pc=0x10C4, - condition=Op.CALL( - gas=0x1C, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=0x64, - ret_offset=Op.DUP2, - ret_size=0x64, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.ADD(Op.DUP2, 0x64) - + Op.SWAP3 - + Op.POP - + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) - + Op.DUP1 - + Op.JUMPI( - pc=0x10EB, - condition=Op.CALL( - gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), - address=0x4, - value=0x0, - args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), - args_size=Op.DUP3, - ret_offset=Op.DUP6, - ret_size=Op.DUP1, - ), - ) - + Op.INVALID - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.SUB(Op.DUP4, Op.DUP1) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x580, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x580) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMPI( - pc=0x113A, - condition=Op.ISZERO( - Op.EQ( - Op.MLOAD( - offset=Op.ADD( - Op.DUP6, - Op.MUL( - 0x20, Op.ADD(Op.MLOAD(offset=0x100), 0x1) - ), - ), - ), - 0x0, - ), - ), - ) - + Op.MSTORE(offset=0x5A0, value=0x0) - + Op.RETURN(offset=0x5A0, size=0x20) - + Op.JUMP(pc=0x1147) - + Op.JUMPDEST - + Op.MSTORE(offset=0x5C0, value=0x1) - + Op.RETURN(offset=0x5C0, size=0x20) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.POP - ), + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, nonce=0, - address=Address("0x9761fecf88590592cf05ce545504d376d1693ab3"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xD8D726B7177A800000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x75F, value=0x0) - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.MSTORE( - offset=0x20, - value=0x1E147037F0A63DF228FE6E7AEF730F1EA31C8CE3, - ) - + Op.MSTORE( - offset=0x40, - value=0xEA65418D7BF32680F55572C943A94B590804998, - ) - + Op.MSTORE( - offset=0x60, - value=0xE509E3A93BEB1EBA72F8CB8D25F93A85E2D54AFB, - ) - + Op.MSTORE( - offset=0x80, - value=0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E, - ) - + Op.MSTORE( - offset=0xA0, - value=0x142A6927CF0060133187BA8A8E74D641438F0C1C, - ) - + Op.MSTORE( - offset=0xC0, - value=0xB163E767E4C1BA5AE88B2EE7594F3A3FEC2BB096, - ) - + Op.MSTORE( - offset=0xE0, - value=0xBA7B277319128EF4C22635534D0F61DFFDAA13AB, - ) - + Op.MSTORE( - offset=0x100, - value=0x9761FECF88590592CF05CE545504D376D1693AB3, - ) - + Op.MSTORE( - offset=0x120, - value=0xF70BBC50F1468CECAE0761EF09386A87C1C696EA, - ) - + Op.MSTORE( - offset=0x140, - value=0xA89D22F049AAA5BBFB5F1A1939FFF3AE7A26AE74, - ) - + Op.MSTORE( - offset=0x160, - value=0x174827F7E53E8CE13B047ADCAC0EB3F2CB0C3285, - ) - + Op.JUMPI( - pc=0xA88, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x36A560BD)) - ) - + Op.MSTORE(offset=0x1A0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x27138BFB) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0xA0), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x1E0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x1E0) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x195, condition=Op.ISZERO(Op.ISZERO)) - + Op.MSTORE(offset=0x200, value=Op.SUB(0x0, 0x1)) - + Op.RETURN(offset=0x200, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7A66D7CA) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x220, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x220) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xCC1C944E) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP2) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x280), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x260, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x260) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x80B5E7BD) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x60), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x2A0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x2A0) - + Op.SWAP1 - + Op.POP - + Op.MUL(Op.DUP3, Op.DUP1) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x18633576) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x300, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x300) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x36D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x9))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xAC44D71E) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x160), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x360, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x360) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7265802D) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x380, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x380) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC5476EFE) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x3A0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x3A0) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x3C0, value=Op.ADD(Op.DUP6, 0x1)) - + Op.RETURN(offset=0x3C0, size=0x20) - + Op.JUMP(pc=0xA3A) - + Op.JUMPDEST - + Op.JUMPI(pc=0x3CD, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x0))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xEF72638A) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0xC0), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x3E0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x3E0) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMP(pc=0xA39) - + Op.JUMPDEST - + Op.JUMPI(pc=0x42D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x1))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xA63E976C) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0xE0), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x400, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x400) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMP(pc=0xA38) - + Op.JUMPDEST - + Op.JUMPI(pc=0x48D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x533EA0ED) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0xE0), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x420, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x420) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMP(pc=0xA37) - + Op.JUMPDEST - + Op.JUMPI(pc=0x850, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) - + Op.ADD(Op.DUP6, 0x2) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x280), - value=0x0, - args_offset=Op.DUP6, - args_size=0x44, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x3D905045) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x480, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x480) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x633, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x4))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x939AA8C) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP8) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP7) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP5) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x100), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x4E0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x4E0) - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x4C0] - + Op.MSTORE - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC286273A) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x500, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x500) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMPI( - pc=0x5E5, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x4C0), 0x1)), - ) - + Op.MSTORE(offset=0x520, value=Op.DUP3) - + Op.RETURN(offset=0x520, size=0x20) - + Op.JUMP(pc=0x62E) - + Op.JUMPDEST - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xAAC2FFB5) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x540, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x540) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x560, value=Op.ADD(Op.DUP4, 0x1)) - + Op.RETURN(offset=0x560, size=0x20) - + Op.JUMPDEST - + Op.JUMP(pc=0x804) - + Op.JUMPDEST - + Op.JUMPI(pc=0x694, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x0))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x546FDEB3) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP8) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP7) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP5) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x100), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x580, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x580) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMP(pc=0x803) - + Op.JUMPDEST - + Op.JUMPI(pc=0x742, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x1))) - + Op.PUSH1[0x0] - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xDE9080C8) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP9) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP8) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP7) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP6) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x100), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x5A0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x5A0) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x732, condition=Op.ISZERO(Op.EQ)) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x1CDA01EF) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x5C0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x5C0) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.MSTORE(offset=0x5E0, value=Op.DUP3) - + Op.RETURN(offset=0x5E0, size=0x20) - + Op.JUMP(pc=0x802) - + Op.JUMPDEST - + Op.JUMPI(pc=0x7A3, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x384CA8DD) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP8) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP7) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP5) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x100), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x600, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x600) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMP(pc=0x801) - + Op.JUMPDEST - + Op.JUMPI(pc=0x800, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xD5DC5AF1) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP8) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP7) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP5) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x100), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x620, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x620) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x1CDA01EF) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x640, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x640) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x660, value=Op.DUP3) - + Op.RETURN(offset=0x660, size=0x20) - + Op.POP - + Op.POP - + Op.JUMP(pc=0xA36) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8B1, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x4))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xF6559853) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x120), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x680, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x680) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMP(pc=0xA35) - + Op.JUMPDEST - + Op.JUMPI(pc=0x912, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x5))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xD8E5473D) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x120), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x6A0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x6A0) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMP(pc=0xA34) - + Op.JUMPDEST - + Op.JUMPI(pc=0x973, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x6))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x90507EA) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x120), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x6C0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x6C0) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMP(pc=0xA33) - + Op.JUMPDEST - + Op.JUMPI(pc=0x9D4, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x5B911842) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x140), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x6E0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x6E0) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMP(pc=0xA32) - + Op.JUMPDEST - + Op.JUMPI(pc=0xA31, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x8))) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC4] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xABE22B84) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x140), - value=0x0, - args_offset=Op.DUP4, - args_size=0xA4, - ret_offset=0x700, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x700) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xAAC2FFB5) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x80), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x720, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x720) - + Op.SWAP1 - + Op.POP - + Op.POP - + Op.MSTORE(offset=0x740, value=Op.ADD(Op.DUP2, 0x1)) - + Op.RETURN(offset=0x740, size=0x20) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.POP - ), + # Source: hex + # 0x + contract_1 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000001), # noqa: E501 + ) + # Source: hex + # 0x + contract_2 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000002), # noqa: E501 + ) + # Source: hex + # 0x + contract_3 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000003), # noqa: E501 + ) + # Source: hex + # 0x + contract_4 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x0000000000000000000000000000000000000004), # noqa: E501 + ) + # Source: raw + # 0x600061289f537c01000000000000000000000000000000000000000000000000000000006000350473c9ae5868651bf7b7db6e360217db49ce4e69c07e60205263c4982a8581141561012757600435606052602435608052608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460a05260a051806020026020015990590160009052818152602081019050905060e0526000610140525b60a05161014051121561010b5760a060a0599059016000905260008152606051816020015260805181604001526001816060015261014051816080015280905020546101405160200260e051015260016101405101610140526100ad565b60e05160206040820352602060208203510260400160408203f3505b63cc1c944e8114156101765760043560605260243560805260806080599059016000905260008152606051816020015260805181604001526000816060015280905020546101a05260206101a0f35b6395a405b98114156101d5576004356060526024356080526044356101e05260a060a059905901600090526000815260605181602001526080518160400152600181606001526101e05181608001528090502054610200526020610200f35b6371ebb662811415610224576004356060526024356080526080608059905901600090526000815260605181602001526080518160400152600281606001528090502054610240526020610240f35b637a57a3db811415610325576004356060526024356080526044356102805260c060c0599059016000905260008152606051816020015260805181604001526003816060015261028051816080015260008160a0015280905020608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460200280806020015990590160009052818152602081019050905060005b602083048112156102e95780840154816020028301526001810190506102c8565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b63f73dc690811415610394576004356060526024356080526044356103c0526064356103e05260c060c059905901600090526000815260605181602001526080518160400152600381606001526103c05181608001526103e0518160a001528090502054610400526020610400f35b6354cc61098114156103f3576004356060526024356080526044356103c05260a060a059905901600090526000815260605181602001526080518160400152600481606001526103c05181608001528090502054610440526020610440f35b63c63ef546811415610442576004356060526024356080526080608059905901600090526000815260605181602001526080518160400152600581606001528090502054610480526020610480f35b639381779b8114156105335760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152600681606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260058160600152809050205460200280806020015990590160009052818152602081019050905060005b602083048112156104f75780840154816020028301526001810190506104d6565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b634f9c6eeb8114156106245760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152600781606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260058160600152809050205460200280806020015990590160009052818152602081019050905060005b602083048112156105e85780840154816020028301526001810190506105c7565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b637dc121958114156107155760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152600881606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260058160600152809050205460200280806020015990590160009052818152602081019050905060005b602083048112156106d95780840154816020028301526001810190506106b8565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b63fa9832d18114156108065760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152600981606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460200280806020015990590160009052818152602081019050905060005b602083048112156107ca5780840154816020028301526001810190506107a9565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b632c5a40d58114156108f75760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152600a81606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260058160600152809050205460200280806020015990590160009052818152602081019050905060005b602083048112156108bb57808401548160200283015260018101905061089a565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b63e05dcb568114156109eb5760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152600b81606001526000816080015280905020600260806080599059016000905260008152606051816020015260805181604001526000816060015280905020546020020180806020015990590160009052818152602081019050905060005b602083048112156109af57808401548160200283015260018101905061098e565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b63586b5be0811415610a3a576004356060526024356080526080608059905901600090526000815260605181602001526080518160400152600c81606001528090502054610b80526020610b80f35b63eb8af5aa811415610b585760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152600d81606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460806080599059016000905260008152606051816020015260805181604001526005816060015280905020540560200280806020015990590160009052818152602081019050905060005b60208304811215610b1c578084015481602002830152600181019050610afb565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b637ab6ea8a811415610c765760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152600e81606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460806080599059016000905260008152606051816020015260805181604001526005816060015280905020540560200280806020015990590160009052818152602081019050905060005b60208304811215610c3a578084015481602002830152600181019050610c19565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b632b810cb9811415610d945760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152600f81606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460806080599059016000905260008152606051816020015260805181604001526005816060015280905020540560200280806020015990590160009052818152602081019050905060005b60208304811215610d58578084015481602002830152600181019050610d37565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b637fb42e46811415610e855760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152601081606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460200280806020015990590160009052818152602081019050905060005b60208304811215610e49578084015481602002830152600181019050610e28565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b63734fa727811415610f765760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152601181606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460200280806020015990590160009052818152602081019050905060005b60208304811215610f3a578084015481602002830152600181019050610f19565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b63c67fa8578114156110675760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152601281606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460200280806020015990590160009052818152602081019050905060005b6020830481121561102b57808401548160200283015260018101905061100a565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b635ed853e48114156111855760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152601381606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460806080599059016000905260008152606051816020015260805181604001526005816060015280905020540560200280806020015990590160009052818152602081019050905060005b60208304811215611149578084015481602002830152600181019050611128565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b63b86f51258114156112a35760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152601481606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460806080599059016000905260008152606051816020015260805181604001526005816060015280905020540560200280806020015990590160009052818152602081019050905060005b60208304811215611267578084015481602002830152600181019050611246565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b63bc3d7d858114156113945760043560605260243560805260a060a059905901600090526000815260605181602001526080518160400152601581606001526000816080015280905020608060805990590160009052600081526060518160200152608051816040015260008160600152809050205460200280806020015990590160009052818152602081019050905060005b60208304811215611358578084015481602002830152600181019050611337565b602083066020036101000a60000381850154168160200283015281905090509050905060206040820352602060208203510260400160408203f3505b63a2302f2f81141561148157600435606052602435611680526044356116a0526116a05160a060a0599059016000905260008152606051816020015261168051816040015260018160600152608060805990590160009052600081526060518160200152611680518160400152600081606001528090502054816080015280905020556001608060805990590160009052600081526060518160200152611680518160400152600081606001528090502054016080608059905901600090526000815260605181602001526116805181604001526000816060015280905020556001611740526020611740f35b63058ca2bc8114156114dd576004356060526024356080526044356117605261176051608060805990590160009052600081526060518160200152608051816040015260028160600152809050205560016117a05260206117a0f35b635d3b965b8114156116175736599059016000905236600482376004356060526024356080526044356102805260643560208201016117e052608435611800525060c060c0599059016000905260008152606051816020015260805181604001526003816060015261028051816080015260008160a001528090502060206117e05103516020026020810460005b8181121561158c57806020026117e05101518482015560018101905061156b565b602083066020036101000a600003816020026117e05101511684820155505050506118005160806080599059016000905260008152606051816020015260805181604001526002816060015280905020540160806080599059016000905260008152606051816020015260805181604001526002816060015280905020556001611900526020611900f35b63b0e14f0f81141561167357600435606052602435608052604435611920526119205160806080599059016000905260008152606051816020015260805181604001526005816060015280905020556001611960526020611960f35b636acccdbc8114156117395736599059016000905236600482376004356060526024356080526044356020820101611980525060a060a05990590160009052600081526060518160200152608051816040015260068160600152600081608001528090502060206119805103516020026020810460005b8181121561170b5780602002611980510151848201556001810190506116ea565b602083066020036101000a600003816020026119805101511684820155505050506001611a40526020611a40f35b63a1fa51f98114156117ff5736599059016000905236600482376004356060526024356080526044356020820101611a60525060a060a0599059016000905260008152606051816020015260805181604001526007816060015260008160800152809050206020611a605103516020026020810460005b818112156117d15780602002611a60510151848201556001810190506117b0565b602083066020036101000a60000381602002611a605101511684820155505050506001611b20526020611b20f35b63cd87f43a8114156118c55736599059016000905236600482376004356060526024356080526044356020820101611b40525060a060a0599059016000905260008152606051816020015260805181604001526008816060015260008160800152809050206020611b405103516020026020810460005b818112156118975780602002611b4051015184820155600181019050611876565b602083066020036101000a60000381602002611b405101511684820155505050506001611c00526020611c00f35b63222a866381141561198b5736599059016000905236600482376004356060526024356080526044356020820101611c20525060a060a0599059016000905260008152606051816020015260805181604001526009816060015260008160800152809050206020611c205103516020026020810460005b8181121561195d5780602002611c205101518482015560018101905061193c565b602083066020036101000a60000381602002611c205101511684820155505050506001611ce0526020611ce0f35b63b39e1faa811415611a515736599059016000905236600482376004356060526024356080526044356020820101611d00525060a060a059905901600090526000815260605181602001526080518160400152600a816060015260008160800152809050206020611d005103516020026020810460005b81811215611a235780602002611d0051015184820155600181019050611a02565b602083066020036101000a60000381602002611d005101511684820155505050506001611dc0526020611dc0f35b63e365736b811415611b175736599059016000905236600482376004356060526024356080526044356020820101611de0525060a060a059905901600090526000815260605181602001526080518160400152600b816060015260008160800152809050206020611de05103516020026020810460005b81811215611ae95780602002611de051015184820155600181019050611ac8565b602083066020036101000a60000381602002611de05101511684820155505050506001611ea0526020611ea0f35b63aad7d6e3811415611b7357600435606052602435608052604435611ec052611ec0516080608059905901600090526000815260605181602001526080518160400152600c816060015280905020556001611f00526020611f00f35b6301112b27811415611c395736599059016000905236600482376004356060526024356080526044356020820101611f20525060a060a059905901600090526000815260605181602001526080518160400152600d816060015260008160800152809050206020611f205103516020026020810460005b81811215611c0b5780602002611f2051015184820155600181019050611bea565b602083066020036101000a60000381602002611f205101511684820155505050506001611fe0526020611fe0f35b63bdbb239b811415611cff5736599059016000905236600482376004356060526024356080526044356020820101612000525060a060a059905901600090526000815260605181602001526080518160400152600e8160600152600081608001528090502060206120005103516020026020810460005b81811215611cd1578060200261200051015184820155600181019050611cb0565b602083066020036101000a6000038160200261200051015116848201555050505060016120c05260206120c0f35b6305a0cd48811415611dc557365990590160009052366004823760043560605260243560805260443560208201016120e0525060a060a059905901600090526000815260605181602001526080518160400152600f8160600152600081608001528090502060206120e05103516020026020810460005b81811215611d9757806020026120e051015184820155600181019050611d76565b602083066020036101000a600003816020026120e051015116848201555050505060016121a05260206121a0f35b63aaa1fe35811415611e8b57365990590160009052366004823760043560605260243560805260443560208201016121c0525060a060a05990590160009052600081526060518160200152608051816040015260108160600152600081608001528090502060206121c05103516020026020810460005b81811215611e5d57806020026121c051015184820155600181019050611e3c565b602083066020036101000a600003816020026121c05101511684820155505050506001612280526020612280f35b632be4935d811415611f5157365990590160009052366004823760043560605260243560805260443560208201016122a0525060a060a05990590160009052600081526060518160200152608051816040015260118160600152600081608001528090502060206122a05103516020026020810460005b81811215611f2357806020026122a051015184820155600181019050611f02565b602083066020036101000a600003816020026122a05101511684820155505050506001612360526020612360f35b6313a8350d8114156120175736599059016000905236600482376004356060526024356080526044356020820101612380525060a060a05990590160009052600081526060518160200152608051816040015260128160600152600081608001528090502060206123805103516020026020810460005b81811215611fe9578060200261238051015184820155600181019050611fc8565b602083066020036101000a600003816020026123805101511684820155505050506001612440526020612440f35b63cb540b458114156120dd5736599059016000905236600482376004356060526024356080526044356020820101612460525060a060a05990590160009052600081526060518160200152608051816040015260138160600152600081608001528090502060206124605103516020026020810460005b818112156120af57806020026124605101518482015560018101905061208e565b602083066020036101000a600003816020026124605101511684820155505050506001612520526020612520f35b63be0306278114156121a35736599059016000905236600482376004356060526024356080526044356020820101612540525060a060a05990590160009052600081526060518160200152608051816040015260148160600152600081608001528090502060206125405103516020026020810460005b81811215612175578060200261254051015184820155600181019050612154565b602083066020036101000a600003816020026125405101511684820155505050506001612600526020612600f35b6383fd77f08114156122695736599059016000905236600482376004356060526024356080526044356020820101612620525060a060a05990590160009052600081526060518160200152608051816040015260158160600152600081608001528090502060206126205103516020026020810460005b8181121561223b57806020026126205101518482015560018101905061221a565b602083066020036101000a6000038160200261262051015116848201555050505060016126e05260206126e0f35b63594622058114156122d5576004356060526024356080526044356103c052606435612700526127005160a060a059905901600090526000815260605181602001526080518160400152600481606001526103c051816080015280905020556001612740526020612740f35b63bb8e419681141561244857600435606052602435612760526044356127805260006127a0525b6080608059905901600090526000815260605181602001526001612760510381604001526000816060015280905020546127a051121561243b5760a060a05990590160009052600081526060518160200152600161276051038160400152600181606001526127a0518160800152809050205460a060a05990590160009052600081526060518160200152612780518160400152600181606001526080608059905901600090526000815260605181602001526127805181604001526000816060015280905020548160800152809050205560016080608059905901600090526000815260605181602001526127805181604001526000816060015280905020540160806080599059016000905260008152606051816020015261278051816040015260008160600152809050205560016127a051016127a0526122fc565b6001612880526020612880f35b50 # noqa: E501 + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x289F, value=0x0) + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.MSTORE( + offset=0x20, value=0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E + ) + + Op.JUMPI(pc=0x127, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC4982A85))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0xA0, value=Op.SLOAD(key=Op.SHA3)) + + Op.MLOAD(offset=0xA0) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0xE0] + + Op.MSTORE + + Op.MSTORE(offset=0x140, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x10B, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x140), Op.MLOAD(offset=0xA0)) + ), + ) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x140)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE( + offset=Op.ADD( + Op.MLOAD(offset=0xE0), Op.MUL(0x20, Op.MLOAD(offset=0x140)) + ), + value=Op.SLOAD(key=Op.SHA3), + ) + + Op.MSTORE(offset=0x140, value=Op.ADD(Op.MLOAD(offset=0x140), 0x1)) + + Op.JUMP(pc=Op.PUSH2[0xAD]) + + Op.JUMPDEST + + Op.MLOAD(offset=0xE0) + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x176, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xCC1C944E))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x1A0, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x1A0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1D5, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x95A405B9))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x1E0, value=Op.CALLDATALOAD(offset=0x44)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x1E0)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x200, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x200, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x224, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x71EBB662))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x240, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x240, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x325, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7A57A3DB))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x280, value=Op.CALLDATALOAD(offset=0x44)) + + Op.PUSH1[0xC0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x3) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x280)) + + Op.MSTORE(offset=Op.ADD(0xA0, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x2E9, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x2C8) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x394, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xF73DC690))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x3C0, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x3E0, value=Op.CALLDATALOAD(offset=0x64)) + + Op.PUSH1[0xC0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x3) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x3C0)) + + Op.MSTORE(offset=Op.ADD(0xA0, Op.DUP2), value=Op.MLOAD(offset=0x3E0)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x400, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x400, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x3F3, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x54CC6109))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x3C0, value=Op.CALLDATALOAD(offset=0x44)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x4) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x3C0)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x440, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x440, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x442, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC63EF546))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x480, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x480, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x533, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x9381779B))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x6) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4F7, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x4D6) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x624, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x4F9C6EEB))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x7) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x5E8, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x5C7) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x715, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7DC12195))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x8) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x6D9, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x6B8) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x806, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xFA9832D1))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x9) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x7CA, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x7A9) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x8F7, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2C5A40D5))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xA) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x8BB, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x89A) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x9EB, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xE05DCB56))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xB) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x2] + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) + + Op.ADD + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x9AF, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x98E) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0xA3A, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x586B5BE0))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xC) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0xB80, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0xB80, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0xB58, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xEB8AF5AA))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xD) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.MUL(0x20, Op.SDIV) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0xB1C, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0xAFB) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0xC76, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7AB6EA8A))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xE) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.MUL(0x20, Op.SDIV) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0xC3A, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0xC19) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0xD94, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2B810CB9))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xF) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.MUL(0x20, Op.SDIV) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0xD58, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0xD37) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0xE85, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7FB42E46))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x10) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0xE49, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0xE28) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0xF76, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x734FA727))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x11) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0xF3A, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0xF19) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x1067, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC67FA857))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x12) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x102B, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x100A) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x1185, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x5ED853E4))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x13) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.MUL(0x20, Op.SDIV) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1149, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1128) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x12A3, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB86F5125))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x14) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.MUL(0x20, Op.SDIV) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1267, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1246) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x1394, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xBC3D7D85))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x15) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MUL(0x20, Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.ADD(0x20, Op.DUP1) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1358, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DIV(Op.DUP4, 0x20))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.SLOAD(key=Op.ADD(Op.DUP5, Op.DUP1)), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1337) + + Op.JUMPDEST + + Op.MSTORE( + offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)), + value=Op.AND( + Op.SLOAD(key=Op.ADD(Op.DUP6, Op.DUP2)), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x1481, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xA2302F2F))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x1680, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x16A0, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MLOAD(offset=0x16A0) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE( + offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x1680) + ) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE( + offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x1680) + ) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.PUSH1[0x1] + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE( + offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x1680) + ) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE( + offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x1680) + ) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x1740, value=0x1) + + Op.RETURN(offset=0x1740, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x14DD, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x58CA2BC))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x1760, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MLOAD(offset=0x1760) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x17A0, value=0x1) + + Op.RETURN(offset=0x17A0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1617, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x5D3B965B))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x280, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE( + offset=0x17E0, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x64)), + ) + + Op.MSTORE(offset=0x1800, value=Op.CALLDATALOAD(offset=0x84)) + + Op.POP + + Op.PUSH1[0xC0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x3) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x280)) + + Op.MSTORE(offset=Op.ADD(0xA0, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x17E0), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x158C, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x17E0), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x156B) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x17E0), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MLOAD(offset=0x1800) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x1900, value=0x1) + + Op.RETURN(offset=0x1900, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1673, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB0E14F0F))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x1920, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MLOAD(offset=0x1920) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x1960, value=0x1) + + Op.RETURN(offset=0x1960, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1739, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x6ACCCDBC))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x1980, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x6) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1980), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x170B, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x1980), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x16EA) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x1980), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x1A40, value=0x1) + + Op.RETURN(offset=0x1A40, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x17FF, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xA1FA51F9))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x1A60, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x7) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1A60), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x17D1, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x1A60), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x17B0) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x1A60), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x1B20, value=0x1) + + Op.RETURN(offset=0x1B20, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x18C5, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xCD87F43A))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x1B40, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x8) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1B40), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1897, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x1B40), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1876) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x1B40), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x1C00, value=0x1) + + Op.RETURN(offset=0x1C00, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x198B, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x222A8663))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x1C20, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x9) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1C20), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x195D, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x1C20), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x193C) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x1C20), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x1CE0, value=0x1) + + Op.RETURN(offset=0x1CE0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1A51, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB39E1FAA))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x1D00, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xA) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1D00), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1A23, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x1D00), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1A02) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x1D00), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x1DC0, value=0x1) + + Op.RETURN(offset=0x1DC0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1B17, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xE365736B))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x1DE0, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xB) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1DE0), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1AE9, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x1DE0), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1AC8) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x1DE0), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x1EA0, value=0x1) + + Op.RETURN(offset=0x1EA0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1B73, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xAAD7D6E3))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x1EC0, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MLOAD(offset=0x1EC0) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xC) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x1F00, value=0x1) + + Op.RETURN(offset=0x1F00, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1C39, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x1112B27))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x1F20, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xD) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x1F20), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1C0B, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x1F20), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1BEA) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x1F20), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x1FE0, value=0x1) + + Op.RETURN(offset=0x1FE0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1CFF, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xBDBB239B))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x2000, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xE) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x2000), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1CD1, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x2000), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1CB0) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x2000), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x20C0, value=0x1) + + Op.RETURN(offset=0x20C0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1DC5, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x5A0CD48))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x20E0, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0xF) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x20E0), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1D97, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x20E0), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1D76) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x20E0), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x21A0, value=0x1) + + Op.RETURN(offset=0x21A0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1E8B, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xAAA1FE35))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x21C0, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x10) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x21C0), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1E5D, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x21C0), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1E3C) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x21C0), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x2280, value=0x1) + + Op.RETURN(offset=0x2280, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1F51, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2BE4935D))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x22A0, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x11) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x22A0), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1F23, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x22A0), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1F02) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x22A0), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x2360, value=0x1) + + Op.RETURN(offset=0x2360, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x2017, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x13A8350D))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x2380, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x12) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x2380), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1FE9, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x2380), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1FC8) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x2380), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x2440, value=0x1) + + Op.RETURN(offset=0x2440, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x20DD, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xCB540B45))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x2460, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x13) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x2460), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x20AF, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x2460), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x208E) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x2460), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x2520, value=0x1) + + Op.RETURN(offset=0x2520, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x21A3, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xBE030627))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x2540, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x14) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x2540), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x2175, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x2540), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x2154) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x2540), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x2600, value=0x1) + + Op.RETURN(offset=0x2600, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x2269, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x83FD77F0))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE( + offset=0x2620, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.POP + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x15) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x2620), 0x20))) + + Op.DIV(Op.DUP2, 0x20) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x223B, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP2))) + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.MLOAD( + offset=Op.ADD(Op.MLOAD(offset=0x2620), Op.MUL(0x20, Op.DUP1)) + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x221A) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD(Op.DUP3, Op.DUP5), + value=Op.AND( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x2620), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.SUB( + 0x0, Op.EXP(0x100, Op.SUB(0x20, Op.MOD(Op.DUP4, 0x20))) + ), + ), + ) + + Op.POP * 4 + + Op.MSTORE(offset=0x26E0, value=0x1) + + Op.RETURN(offset=0x26E0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x22D5, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x59462205))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x3C0, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x2700, value=Op.CALLDATALOAD(offset=0x64)) + + Op.MLOAD(offset=0x2700) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x4) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x3C0)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x2740, value=0x1) + + Op.RETURN(offset=0x2740, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x2448, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xBB8E4196))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x2760, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x2780, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x27A0, value=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE( + offset=Op.ADD(0x40, Op.DUP2), + value=Op.SUB(Op.MLOAD(offset=0x2760), 0x1), + ) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.JUMPI( + pc=0x243B, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x27A0), Op.SLOAD(key=Op.SHA3)) + ), + ) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE( + offset=Op.ADD(0x40, Op.DUP2), + value=Op.SUB(Op.MLOAD(offset=0x2760), 0x1), + ) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.MSTORE( + offset=Op.ADD(0x80, Op.DUP2), value=Op.MLOAD(offset=0x27A0) + ) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE( + offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x2780) + ) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE( + offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x2780) + ) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=Op.SLOAD(key=Op.SHA3)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.PUSH1[0x1] + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE( + offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x2780) + ) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE( + offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x2780) + ) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x27A0, value=Op.ADD(Op.MLOAD(offset=0x27A0), 0x1)) + + Op.JUMP(pc=0x22FC) + + Op.JUMPDEST + + Op.MSTORE(offset=0x2880, value=0x1) + + Op.RETURN(offset=0x2880, size=0x20) + + Op.JUMPDEST + + Op.POP, + storage={ + 0x65D5EFDFCC0FBA693DC9E467F633097FFDC97401901463AD0E28855486D1EDF: 0xB9D69098A6ACFE0C6411BCAAF430F78D363A9ADC32B78BC2E15CCD6E883E9784, # noqa: E501 + 0x12643FF300762717D27EFB567B82C65560D7B43249D908504E5510863AB82AAC: 0x154CF60E137C594516A065149610B6A3989396A42581D5FD8919E711C55DA225, # noqa: E501 + 0x1489023D18C5D10427C4AA8DC726E840EB5AE7F604A8E9243C61634FB009E4D7: 5, # noqa: E501 + 0x1489023D18C5D10427C4AA8DC726E840EB5AE7F604A8E9243C61634FB009E4D8: 1, # noqa: E501 + 0x19EFB13D6576359514ACE5211988A8D51379FA88CCD2B886B409F842B13D7932: 0xC849CC595B452D11C206D2EB8CDFA06DE211E3FF19EE0E0276DC857C05D4FE, # noqa: E501 + 0x1B37E91BF8580C7C6BCF8CDFF25C7ED78180124A94AF6F30C40D476A3D079AD6: 0xABA4CD295118A482A0A62579E35E4BA5BDD76146CC9E4D96172FCE8BE8977AB4, # noqa: E501 + 0x2BF9FD8FACDD6FD9C84657F5AD7381A5AECF670CDA68CB3C5829B6532C865506: 0x53098A1D111586DBCC0D051846284F5803C63C313E7F7E6D84430435D11D4C50, # noqa: E501 + 0x3111BFD25728C0ADFAD0F8C1AD79CB1B91167267DECA98DE88F156ED25CAEEDC: 0xAD393086F30B49511B08FDD27AC78810B084C7CD7DE6AC354F614C18EA9E7DF4, # noqa: E501 + 0x3379E7AE125C5C5D623D1D993C1459B61D6723B1C30D1AA026C48F6A6155B8EA: 0x8C4183732567A99A8A718E363391E102532F9A640E42968CF2354D9ACC908BB0, # noqa: E501 + 0x34CABE0C7E64A2CAA93FD8D6A0DEFC07ACB9D44B13430FA3AE9282FFFD40DEE2: 1, # noqa: E501 + 0x34CABE0C7E64A2CAA93FD8D6A0DEFC07ACB9D44B13430FA3AE9282FFFD40DEE3: 1, # noqa: E501 + 0x34CABE0C7E64A2CAA93FD8D6A0DEFC07ACB9D44B13430FA3AE9282FFFD40DEE4: 1, # noqa: E501 + 0x34CABE0C7E64A2CAA93FD8D6A0DEFC07ACB9D44B13430FA3AE9282FFFD40DEE5: 1, # noqa: E501 + 0x39050607FE892059A6344AB0F594F382FB0B345CAB373497246DBE86FE7E14E7: 0x2B3BCA833E482737E7E47B1568E6F890F8E1666490D38FE130ABD6F0CCB109CF, # noqa: E501 + 0x417BE8BC6791807372E0222A350BB8A5D67BBC8D7595C301D8A5A8372CFDCEF1: 0xABD4971B4605A7155802F70E08298B1CEB0E4E4EACCCCD348F77A77227F73A7F, # noqa: E501 + 0x41E9A54B3EE0C276AA076BABB161DE12B0F8916B47F8F6FB85CC387CF34696DD: 0x22F2F444EBDA9D2913FFEF5059B039EC9B5876AA71821991C2515BF79F64935E, # noqa: E501 + 0x45CEB8DA6FB8936592D3BCE4883F1A6A34D636F559E0A1070A5802A65AC39BD5: 0x57A5122FF3BF737B0DE0F9F08011A8648C19E43FF071FB7086234723C9383F1F, # noqa: E501 + 0x4AA6B934608A45C8F53A945C05DDEE1814A3B9F63A048FC7AD3D47E67156F024: 0xD03862BECEDADA67B4825A0238F3E67495CCB595CD7D08F1BD5D3160644B9299, # noqa: E501 + 0x4B8B58F0B0E326A5907D1A810E5FF31E05B4CAB45125B776DB8577E7DBC46BCE: 0x2F0000000000000000, # noqa: E501 + 0x4C33460347337BFC7DF08BF182988301B7B426A27A67F1C6C634F637C60E87AC: 0xBAB4AB2AD4EAFE7C84EF6A8CD69157D9CE6B843793A2CD0877B8E91F63CB2D4D, # noqa: E501 + 0x58DA0C0C256BBA101CE36FAD8BF838717A57E6AB850A191DC9C09DA9CE56BF1B: 5, # noqa: E501 + 0x5CB38B16DB1D632086D4AF695DE7F5F242A6E40947067F96EDD566FE2AC438EF: 0x6D0BE832B2007EA28CDA705B73922CBF9794C5A25B89BD2F28B7347ED2B96C86, # noqa: E501 + 0x64A9621CC4BA92BF738C55010C609DFAA3972A1138C30B5ADCEF1BA2363B360E: 0xD7953BFE8CB591F129FD0862A9E9C421151E2B5831560FF5215D23F751364B35, # noqa: E501 + 0x696664A5F0AB5ACD9304A377FB684F2D3FE6BB60B8A95CB2BDBB57DB767E7A84: 0x154CF60E137C594516A065149610B6A3989396A42581D5FD8919E711C55DA225, # noqa: E501 + 0x69AD1D19E617936ABDF05133BF268DC8CED6B518F22B249B5860967D07006487: 0x8C803B48B383DDABD1B3AFE858EFB48C203229B7317DD76149DDDAB4253B858A, # noqa: E501 + 0x70B3BF53996FAC325EB67608A4EEB0CD0B55DEF6255D7ED42AD28EC07238B5D6: 0x45E9723E9232B37207ECAC1C97B8647D053625A578D450F7456280B2FF8EFC27, # noqa: E501 + 0x7A9DCEE62E3E02CC8E020F372DF2EFDEB835F091C1EF1DBE221072D1095AABD2: 0x2F0000000000000000, # noqa: E501 + 0x7E4D8C0F6D8ABB4CE1AE45B254046ACEEDABFA9548851B8B5D3E2C0637C985FD: 11, # noqa: E501 + 0x7E95F3CC3315D289C52253BAABA29B1B00C86816E6B788D50795279A8BAA00DB: 0x45E9723E9232B37207ECAC1C97B8647D053625A578D450F7456280B2FF8EFC27, # noqa: E501 + 0x8DA187157087529EE4E9C381F8E3149C56ACF3BDFDA29B8B9B4532F24B83F5FE: 0x8C4183732567A99A8A718E363391E102532F9A640E42968CF2354D9ACC908BB0, # noqa: E501 + 0x9001F91DDAEF87BC067886E874C0749998C9B58B2EC8472CA014CA8B55F88578: 0xFB76974EEFCA01F33FB38646C2D3C1536F1A763D7AFF53AB7F877D4C5EA7FD0, # noqa: E501 + 0x9ED0CEDD2A9A78D949F40019F53D10031AEF6ED342C97E01FC03B481EE56B3CB: 4, # noqa: E501 + 0x9FDDF1DB29CAA5C1239EDD86E9E0835CDFE41F7253EC78F62D3DA8558D6F3CD7: 0x104EEF8FA35BF39F677D81855BC0B9F42317F32792E98E95E4DF441DEB634211, # noqa: E501 + 0xA0953566119395C11186B334805FC1A16175ECAC0ECC93AE0322264F0DC2E40D: 0x10C5A00466AB7C0ADAE1E93537CC275EA8CF23FF509D5466A1FD6F56B0A61D1B, # noqa: E501 + 0xAA0DBF8241EF3AE07C254E6869E84895BA2BE0779A7F261C8308A3114BE1C54A: 4, # noqa: E501 + 0xAFFE808B495D13A14391CE5F27C211C36DA12826969CD7841EE0D81E5B900E2D: 1, # noqa: E501 + 0xAFFE808B495D13A14391CE5F27C211C36DA12826969CD7841EE0D81E5B900E2E: 1, # noqa: E501 + 0xB4A2B68C48EF78AEB641EE538FAD51781022FD23ED9D93D211017DB6A02376CE: 0xFBC06642245CF2FED7ED46EA0A18A7185830B6F2C4E0A4CA55246041E8BFA72, # noqa: E501 + 0xBA8D79990898383919E437F2458B93B340072C89D963808D9E04F51858E3C5EC: 0x41D2CAC534D90A0DBD199117481A63E32CC11411DAB2EAA36C91C0EEC62823CF, # noqa: E501 + 0xBB3BC1A2015123750DF57D4CEFF7E28CB847910B79B34841DE905B59A8BB177C: 0x734417EB19E1873427257F1EA1594748C16CFA866A7B7CF896E281F2EC774A40, # noqa: E501 + 0xBF30CDCB83AB2BD5F5EEE691FFA4107B58B75BA6A5C2E6754D4C5C0437F2876C: 5, # noqa: E501 + 0xC2A26B80067FC36B8268B0D5B31AFFF953FA91CEBEA39F191E2763D6E71259B9: 0x2A43C547FE8DE2400D2A141016550E8BAE058D41164247C099E787DDD40E789, # noqa: E501 + 0xC98339D275EEF16E0562CA8521212CEF61AA0F39B12E2A27502AAA97A9E5E70F: 0x5A3DE2A5C268CDB75F4B01507AA80C4E4A1BC67BCB0DF265BBB00060774E5978, # noqa: E501 + 0xCBD6AE6BD61BC9270EC836F1919B3268113ABE076C7FEBFDB8CF573B199CE9A9: 0xF402B17773C1F7534034EE58DC0D2A3421470A7A67DAF4FA790DC3B420EEF790, # noqa: E501 + 0xD2C8CBB562FCCD0C9A3D0D491B7F65CC6A89856498F933427D9D21B745B9D50E: 0x3625A26FDB7B747501F1EE2500F98C49D9CD290383A21254587C3C49D2805321, # noqa: E501 + 0xD66F52A4E24585238CCC03443B2FDB8B2B100259BC7260F39097C7C339211FFE: 0x1641851904381915C86B60DF7E288896FB5F8EBAD65D594829FB9F2B59CD1DA6, # noqa: E501 + 0xD8F720C05A5526DD621D1831AE122ABDDD3DFECD8B63B0BA4C92FA7B2ADE44FF: 0xAD393086F30B49511B08FDD27AC78810B084C7CD7DE6AC354F614C18EA9E7DF4, # noqa: E501 + 0xDC22D3171B82817C910BBEAC1F8B50C8DE99F8C524F172AEF3491981BD5ED4FB: 0x94B8CBA4EA090D1C392FBC94B82FB9EF9F468A15BBC537F4D051776F4D422B1D, # noqa: E501 + 0xDCE8ADBDEFA929DBE60245F359446DB4174C62824B42E5D4D9E7B834B4D61DEB: 0x2C9069845B2E74C577FF1CD18DF6BC452805F527A9EE91FD4A059E0408B5DEA6, # noqa: E501 + 0xDD9493073DB9E42FD955E834C89A74089F99196186EE0B2688124989BE00D196: 1, # noqa: E501 + 0xDD9493073DB9E42FD955E834C89A74089F99196186EE0B2688124989BE00D197: 1, # noqa: E501 + 0xDD9493073DB9E42FD955E834C89A74089F99196186EE0B2688124989BE00D198: 1, # noqa: E501 + 0xDD9493073DB9E42FD955E834C89A74089F99196186EE0B2688124989BE00D199: 1, # noqa: E501 + 0xDD9493073DB9E42FD955E834C89A74089F99196186EE0B2688124989BE00D19A: 1, # noqa: E501 + 0xE54F074C81BFA60B5BF413934C108086298B77291560EDFEEAD8AA1232E95236: 0xF40AAA24323C9E6983CCFFAFEEBE4B426509B901E8C98B8A40D881804804E6B, # noqa: E501 + 0xE66C0F55F66C752EDF73027D45B7B1AE729AE15E1C67C362DBC6F25EDF8D76FF: 1, # noqa: E501 + 0xE983D899F807BBCB5881F2DDF875B2EBB5CB8A7A4E77A8C98A40AAAE6A468735: 0x6D0BE832B2007EA28CDA705B73922CBF9794C5A25B89BD2F28B7347ED2B96C86, # noqa: E501 + 0xED7D6E2D40FBD5046412FFAD1C45B63D87C6197182D6DBC66BB1E5C6E4DED5C7: 0xABA4CD295118A482A0A62579E35E4BA5BDD76146CC9E4D96172FCE8BE8977AB4, # noqa: E501 + 0xF043B5A1952847579F233706A8F130889A484D2DA3E574FDD5859F05AAF52111: 2, # noqa: E501 + 0xF40F4CFDACB62DD799F36B580349FAC1F4A4CAF8DD3383CC387C35ADB6574E21: 0x2F0000000000000000, # noqa: E501 + 0xF60FA6E25E9028A6DC6B26BBC1EADAE3DA157DF0D1D6F6628BC33CAD68A7E455: 0x2D7D00618C059EBE40593B9497C633E1AC6E161DADBD5BB734C2663CD3E8A8E1, # noqa: E501 + 0xFD280AC5182D5B2366122F38ACFA6DC471240FFDE9D5FEB985CE7A2325C960E7: 3, # noqa: E501 + }, nonce=0, - address=Address("0xb03f030056db7d467d778326658bac0d1b35d8f7"), # noqa: E501 + address=Address(0x0EA65418D7BF32680F55572C943A94B590804998), # noqa: E501 ) - # Source: raw bytecode - callee_8 = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x83F, value=0x0) - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI( - pc=Op.PUSH2[0x66], - condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7A66D7CA)), - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x60, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x60, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xA5], - condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC60409C6)), - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0xA0, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0xA0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xE4], - condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x18633576)), - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0xE0, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0xE0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1BC, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB3903C8A)) - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x120, value=Op.SLOAD(key=Op.SHA3)) - + Op.MLOAD(offset=0x120) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x160] - + Op.MSTORE - + Op.MSTORE(offset=0x1C0, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x19F, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x1C0), Op.MLOAD(offset=0x120)), - ), - ) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x4) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE( - offset=Op.ADD( - Op.MLOAD(offset=0x160), - Op.MUL(0x20, Op.MLOAD(offset=0x1C0)), - ), - value=Op.SLOAD(key=Op.SHA3), - ) - + Op.MSTORE( - offset=0x1C0, value=Op.ADD(Op.MLOAD(offset=0x1C0), 0x1) - ) - + Op.JUMP(pc=0x147) - + Op.JUMPDEST - + Op.MLOAD(offset=0x160) - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1FD, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x6824E0FB)) - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x220, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x220, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x23E, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3DB16BE3)) - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x6) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x260, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x260, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2E0, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC3387858)) - ) - + Op.MSTORE(offset=0x2A0, value=0x0) - + Op.MSTORE(offset=0x2C0, value=Op.SLOAD(key=0x0)) - + Op.MLOAD(offset=0x2C0) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x2E0] - + Op.MSTORE - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2C3, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x2A0), Op.MLOAD(offset=0x2C0)), - ), - ) - + Op.PUSH1[0x40] - + Op.PUSH1[0x40] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x1) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x2A0) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE( - offset=Op.ADD( - Op.MLOAD(offset=0x2E0), - Op.MUL(0x20, Op.MLOAD(offset=0x2A0)), - ), - value=Op.SLOAD(key=Op.SHA3), - ) - + Op.MSTORE( - offset=0x2A0, value=Op.ADD(Op.MLOAD(offset=0x2A0), 0x1) - ) - + Op.JUMP(pc=0x27A) - + Op.JUMPDEST - + Op.MLOAD(offset=0x2E0) - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2FA, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x175C6322)) - ) - + Op.MSTORE(offset=0x380, value=Op.SLOAD(key=0x0)) - + Op.RETURN(offset=0x380, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x336, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xD861F2B4)) - ) - + Op.MSTORE(offset=0x3A0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x40] - + Op.PUSH1[0x40] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x1) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x3A0) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x3C0, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x3C0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x44F, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB0DAB01F)) - ) - + Op.MSTORE(offset=0x400, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x420, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x440, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x460, value=Op.CALLDATALOAD(offset=0x64)) - + Op.PUSH1[0x0] - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x400) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.JUMPI(pc=0x441, condition=Op.ISZERO(Op.EQ)) - + Op.MLOAD(offset=0x420) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x400) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x440) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x400) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x460) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x400) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x6) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x400) - + Op.PUSH1[0x40] - + Op.PUSH1[0x40] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x1) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.SLOAD(key=0x0)) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.MSTORE(offset=0x520, value=0x1) - + Op.RETURN(offset=0x520, size=0x20) - + Op.JUMP(pc=0x44E) - + Op.JUMPDEST - + Op.MSTORE(offset=0x540, value=0x0) - + Op.RETURN(offset=0x540, size=0x20) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B9, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xAAC2FFB5)) - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x1] - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x5A0, value=0x1) - + Op.RETURN(offset=0x5A0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x507, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7265802D)) - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x5C0, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MLOAD(offset=0x5C0) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x600, value=0x1) - + Op.RETURN(offset=0x600, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x571, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC5476EFE)) - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x1] - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x660, value=0x1) - + Op.RETURN(offset=0x660, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x63B, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC551E31E)) - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x680, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x120, value=Op.SLOAD(key=Op.SHA3)) - + Op.MLOAD(offset=0x680) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x4) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x120) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.PUSH1[0x1] - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x5) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x720, value=0x1) - + Op.RETURN(offset=0x720, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x67C, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3D905045)) - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x3) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x740, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x740, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x6E6, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x1CDA01EF)) - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x1] - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x3) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x3) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x7C0, value=0x1) - + Op.RETURN(offset=0x7C0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x734, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC286273A)) - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x7E0, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MLOAD(offset=0x7E0) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x3) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x820, value=0x1) - + Op.RETURN(offset=0x820, size=0x20) - + Op.JUMPDEST - + Op.POP - ), + # Source: raw + # 0x600061031f537c01000000000000000000000000000000000000000000000000000000006000350473c9ae5868651bf7b7db6e360217db49ce4e69c07e602052730ea65418d7bf32680f55572c943a94b5908049986040526327138bfb81141561038d57600435608052601c6044599059016000905201637a66d7ca601c8203526080516004820152602060e06024836000602051602d5a03f15060e051905060a052601c604459905901600090520163c60409c6601c820352608051600482015260206101206024836000602051602d5a03f150610120519050430561010052600061014052600061016052600061018052600260a051016101005112151561010a576001610140525b60006101a052610100516101c0525b606461010051016101c051121561018457601c606459905901600090520163cc1c944e601c82035260805160048201526101c051602482015260206101e06044836000604051602d5a03f1506101e05190506101a051016101a05260016101c051016101c052610119565b6005601c606459905901600090520163cc1c944e601c820352608051600482015260a051602482015260206102006044836000604051602d5a03f1506102005190501280156101d357806101db565b600a6101a051125b9050156101eb57610140516101ee565b60005b1561033657601c604459905901600090520163c5476efe601c820352608051600482015260206102406024836000602051602d5a03f15061024051905050601c6064599059016000905201637265802d601c82035260805160048201526000602482015260206102606044836000602051602d5a03f15061026051905050601c606459905901600090520163c286273a601c82035260805160048201526000602482015260206102806044836000602051602d5a03f15061028051905050601c6044599059016000905201637a66d7ca601c820352608051600482015260206102a06024836000602051602d5a03f1506102a051905060a052601c608459905901600090520163bb8e4196601c820352608051600482015260a051602482015261010051604482015260206102c06064836000604051602d5a03f1506102c051905050610343565b6001610160526001610180525b61014051156103555761016051610358565b60005b156103665761018051610369565b60005b1561037f5760016102e05260206102e0f361038c565b6000610300526020610300f35b5b50 # noqa: E501 + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x31F, value=0x0) + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.MSTORE( + offset=0x20, value=0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E + ) + + Op.MSTORE( + offset=0x40, value=0xEA65418D7BF32680F55572C943A94B590804998 + ) + + Op.JUMPI(pc=0x38D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x27138BFB))) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7A66D7CA) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0xE0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0xE0) + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0xA0] + + Op.MSTORE + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC60409C6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x120, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x120) + + Op.SWAP1 + + Op.POP + + Op.NUMBER + + Op.MSTORE(offset=0x100, value=Op.SDIV) + + Op.MSTORE(offset=0x140, value=0x0) + + Op.MSTORE(offset=0x160, value=0x0) + + Op.MSTORE(offset=0x180, value=0x0) + + Op.JUMPI( + pc=0x10A, + condition=Op.ISZERO( + Op.ISZERO( + Op.SLT( + Op.MLOAD(offset=0x100), + Op.ADD(Op.MLOAD(offset=0xA0), 0x2), + ) + ) + ), + ) + + Op.MSTORE(offset=0x140, value=0x1) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1A0, value=0x0) + + Op.MSTORE(offset=0x1C0, value=Op.MLOAD(offset=0x100)) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x184, + condition=Op.ISZERO( + Op.SLT( + Op.MLOAD(offset=0x1C0), + Op.ADD(Op.MLOAD(offset=0x100), 0x64), + ) + ), + ) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xCC1C944E) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0x1C0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x40), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x1E0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x1E0) + + Op.SWAP1 + + Op.POP + + Op.MLOAD(offset=0x1A0) + + Op.MSTORE(offset=0x1A0, value=Op.ADD) + + Op.MSTORE(offset=0x1C0, value=Op.ADD(Op.MLOAD(offset=0x1C0), 0x1)) + + Op.JUMP(pc=0x119) + + Op.JUMPDEST + + Op.PUSH1[0x5] + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xCC1C944E) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xA0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x40), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x200, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x200) + + Op.SWAP1 + + Op.POP + + Op.SLT + + Op.JUMPI(pc=0x1D3, condition=Op.ISZERO(Op.DUP1)) + + Op.DUP1 + + Op.JUMP(pc=0x1DB) + + Op.JUMPDEST + + Op.SLT(Op.MLOAD(offset=0x1A0), 0xA) + + Op.JUMPDEST + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x1EB, condition=Op.ISZERO) + + Op.MLOAD(offset=0x140) + + Op.JUMP(pc=0x1EE) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x336, condition=Op.ISZERO) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC5476EFE) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x240, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x240) + + Op.SWAP1 + + Op.POP * 2 + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7265802D) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x260, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x260) + + Op.SWAP1 + + Op.POP * 2 + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC286273A) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x280, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x280) + + Op.SWAP1 + + Op.POP * 2 + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7A66D7CA) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x2A0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x2A0) + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0xA0] + + Op.MSTORE + + Op.PUSH1[0x1C] + + Op.PUSH1[0x84] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xBB8E4196) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xA0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x100)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x40), + value=0x0, + args_offset=Op.DUP4, + args_size=0x64, + ret_offset=0x2C0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x2C0) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMP(pc=0x343) + + Op.JUMPDEST + + Op.MSTORE(offset=0x160, value=0x1) + + Op.MSTORE(offset=0x180, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x355, condition=Op.ISZERO(Op.MLOAD(offset=0x140))) + + Op.MLOAD(offset=0x160) + + Op.JUMP(pc=0x358) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x366, condition=Op.ISZERO) + + Op.MLOAD(offset=0x180) + + Op.JUMP(pc=0x369) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x37F, condition=Op.ISZERO) + + Op.MSTORE(offset=0x2E0, value=0x1) + + Op.RETURN(offset=0x2E0, size=0x20) + + Op.JUMP(pc=0x38C) + + Op.JUMPDEST + + Op.MSTORE(offset=0x300, value=0x0) + + Op.RETURN(offset=0x300, size=0x20) + + Op.JUMPDEST * 2 + + Op.POP, + nonce=0, + address=Address(0x142A6927CF0060133187BA8A8E74D641438F0C1C), # noqa: E501 + ) + # Source: hex + # 0x + coinbase = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x1CDC8315BDB1362DE8B7B2FA9EE75DC873037179), # noqa: E501 + ) + # Source: raw + # 0x60006105df537c010000000000000000000000000000000000000000000000000000000060003504730ea65418d7bf32680f55572c943a94b59080499860205273e509e3a93beb1eba72f8cb8d25f93a85e2d54afb60405273c9ae5868651bf7b7db6e360217db49ce4e69c07e60605273f1562e1c0d0baa3ea746442bb7f11153fcf5cfda60805263546fdeb381141561038d5760043560c05260243560e05260443561010052606435610120526084356101405260026101005101601c606459905901600090520163e05dcb56601c82035260c051600482015260e05160248201526002610100510160408160200201599059016000905281602002604001816044856000602051602d5a03f150604081019050905090506000600161010051016020028201511415610250576060601c61014c59905901600090520163e365736b601c82035260c051600482015260e0516024820152601c6084599059016000905201632f300bee601c82035260026004820152600560248201526101005160448201528460408160200201599059016000905281602002604001816064856000608051602d5a03f1506040810190509050905060208103516020026020018360448401526020820360a4840152806101088401528084019350505081600401599059016000905260648160648460006004601cf16101fc57fe5b6064810192506101088201518080858260a487015160006004600a8705601201f161022357fe5b50808401935050808303602061028082846000602051602d5a03f15061028051905090509050905061037d565b6060601c61014c59905901600090520163e365736b601c82035260c051600482015260e0516024820152601c6084599059016000905201632f300bee601c820352600160016101005101602002850151036004820152600560248201526101005160448201528460408160200201599059016000905281602002604001816064856000608051602d5a03f1506040810190509050905060208103516020026020018360448401526020820360a4840152806101088401528084019350505081600401599059016000905260648160648460006004601cf161032d57fe5b6064810192506101088201518080858260a487015160006004600a8705601201f161035457fe5b5080840193505080830360206102c082846000602051602d5a03f1506102c05190509050905090505b5060016102e05260206102e0f350505b63de9080c88114156107645760043560c05260243560e05260443561010052606435610120526084356101405260026101005101601c606459905901600090520163e05dcb56601c82035260c051600482015260e05160248201528160408160200201599059016000905281602002604001816044856000602051602d5a03f15060408101905090509050601c6064599059016000905201632c5a40d5601c82035260c051600482015260e05160248201526101405160408160200201599059016000905281602002604001816044856000602051602d5a03f1506040810190509050905061012051806020026020015990590160009052818152602081019050905060005b610120518112156104ee57601c60645990590160009052016328c8b315601c82035260c051600482015281602482015260206103606044836000604051602d5a03f15061036051905081602002830152600181019050610493565b5060a0601c61020c59905901600090520163a647a5b9601c8203528460208103516020026020018360048401526020820360a484015280610148840152808401935050508360208103516020026020018360248401526020820360c484015280610168840152808401935050508260208103516020026020018360448401526020820360e4840152806101888401528084019350505061012051606482015261010051608482015281600401599059016000905260a48160a484600060046022f16105b557fe5b60a4810192506101488201518080858260a487015160006004600a8705601201f16105dc57fe5b508084019350506101688201518080858260c487015160006004600a8705601201f161060457fe5b508084019350506101888201518080858260e487015160006004600a8705601201f161062c57fe5b5080840193505080830387604081602002015990590160009052816020026040018184866000608051602d5a03f1506040810190509050905090509050905092506060601c61014c59905901600090520163e365736b601c82035260c051600482015260e05160248201528460208103516020026020018360448401526020820360a4840152806101088401528084019350505081600401599059016000905260648160648460006004601cf16106df57fe5b6064810192506101088201518080858260a487015160006004600a8705601201f161070657fe5b5080840193505080830360206103c082846000602051602d5a03f1506103c05190509050905090505060006101005160200284015114156107525760006103e05260206103e0f361075f565b6001610400526020610400f35b505050505b63384ca8dd811415610a665760043560c05260243560e052604435610100526064356101205260843561014052601c606459905901600090520163e05dcb56601c82035260c051600482015260e05160248201526002610100510160408160200201599059016000905281602002604001816044856000602051602d5a03f15060408101905090509050601c606459905901600090520163fa9832d1601c82035260c051600482015260e05160248201526101005160408160200201599059016000905281602002604001816044856000602051602d5a03f15060408101905090509050601c608459905901600090520163aad7d6e3601c82035260c051600482015260e05160248201526060601c61014c599059016000905201635b180229601c8203528360208103516020026020018360048401526020820360648401528060c8840152808401935050508460208103516020026020018360248401526020820360848401528060e88401528084019350505061010051604482015281600401599059016000905260648160648460006004601cf161090157fe5b60648101925060c882015180808582606487015160006004600a8705601201f161092757fe5b5080840193505060e882015180808582608487015160006004600a8705601201f161094e57fe5b50808401935050808303602061044082846000608051602d5a03f150610440519050905090509050604482015260206104606064836000602051602d5a03f150610460519050506060601c61014c59905901600090520163222a8663601c82035260c051600482015260e05160248201528260208103516020026020018360448401526020820360a4840152806101088401528084019350505081600401599059016000905260648160648460006004601cf1610a0757fe5b6064810192506101088201518080858260a487015160006004600a8705601201f1610a2e57fe5b50808401935050808303602061048082846000602051602d5a03f1506104805190509050905090505060016104a05260206104a0f350505b63d5dc5af1811415610d4b5760043560c05260243560e052604435610100526064356101205260843561014052601c606459905901600090520163e05dcb56601c82035260c051600482015260e05160248201526002610100510160408160200201599059016000905281602002604001816044856000602051602d5a03f15060408101905090509050601c6064599059016000905201632c5a40d5601c82035260c051600482015260e05160248201526101405160408160200201599059016000905281602002604001816044856000602051602d5a03f150604081019050905090506080601c6101ac59905901600090520163f4ca7dc4601c82035283602081035160200260200183600484015260208203608484015280610108840152808401935050508260208103516020026020018360248401526020820360a4840152806101288401528084019350505061012051604482015261010051606482015281600401599059016000905260848160848460006004601ff1610be757fe5b60848101925061010882015180808582608487015160006004600a8705601201f1610c0e57fe5b508084019350506101288201518080858260a487015160006004600a8705601201f1610c3657fe5b5080840193505080830361014051604081602002015990590160009052816020026040018184866000608051602d5a03f1506040810190509050905090509050905090506060601c61014c59905901600090520163b39e1faa601c82035260c051600482015260e05160248201528260208103516020026020018360448401526020820360a4840152806101088401528084019350505081600401599059016000905260648160648460006004601cf1610cec57fe5b6064810192506101088201518080858260a487015160006004600a8705601201f1610d1357fe5b5080840193505080830360206104c082846000602051602d5a03f1506104c05190509050905090505060016104e05260206104e0f350505b630939aa8c81141561114c5760043560c05260243560e052604435610100526064356101205260843561014052601c606459905901600090520163e05dcb56601c82035260c051600482015260e05160248201526002610100510160408160200201599059016000905281602002604001816044856000602051602d5a03f15060408101905090509050601c6064599059016000905201637dc12195601c82035260c051600482015260e05160248201526101405160408160200201599059016000905281602002604001816044856000602051602d5a03f15060408101905090509050601c606459905901600090520163586b5be0601c82035260c051600482015260e051602482015260206105006044836000602051602d5a03f150610500519050601c606459905901600090520163eb8af5aa601c82035260c051600482015260e05160248201526101205160408160200201599059016000905281602002604001816044856000602051602d5a03f1506040810190509050905060c0601c61026c59905901600090520163232b2734601c8203528260208103516020026020018360048401526020820360c484015280610188840152808401935050508560208103516020026020018360248401526020820360e4840152806101a88401528084019350505084602081035160200260200183604484015260208203610104840152806101c8840152808401935050508360648201526101205160848201526101005160a482015281600401599059016000905260c48160c484600060046025f1610f9657fe5b60c4810192506101888201518080858260c487015160006004600a8705601201f1610fbd57fe5b508084019350506101a88201518080858260e487015160006004600a8705601201f1610fe557fe5b508084019350506101c88201518080858261010487015160006004600a8705601201f161100e57fe5b5080840193505080830361012051604081602002015990590160009052816020026040018184866000608051602d5a03f1506040810190509050905090509050905090506060601c61014c5990590160009052016301112b27601c82035260c051600482015260e05160248201528260208103516020026020018360448401526020820360a4840152806101088401528084019350505081600401599059016000905260648160648460006004601cf16110c457fe5b6064810192506101088201518080858260a487015160006004600a8705601201f16110eb57fe5b50808401935050808303602061058082846000602051602d5a03f15061058051905090509050905050600060016101005101602002850151141561113a5760006105a05260206105a0f3611147565b60016105c05260206105c0f35b505050505b50 # noqa: E501 + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x5DF, value=0x0) + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.MSTORE( + offset=0x20, value=0xEA65418D7BF32680F55572C943A94B590804998 + ) + + Op.MSTORE( + offset=0x40, value=0xE509E3A93BEB1EBA72F8CB8D25F93A85E2D54AFB + ) + + Op.MSTORE( + offset=0x60, value=0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E + ) + + Op.MSTORE( + offset=0x80, value=0xF1562E1C0D0BAA3EA746442BB7F11153FCF5CFDA + ) + + Op.JUMPI(pc=0x38D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x546FDEB3))) + + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x64)) + + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x84)) + + Op.ADD(Op.MLOAD(offset=0x100), 0x2) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.ADD(Op.MLOAD(offset=0x100), 0x2) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x44, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.JUMPI( + pc=0x250, + condition=Op.ISZERO( + Op.EQ( + Op.MLOAD( + offset=Op.ADD( + Op.DUP3, + Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x100), 0x1)), + ) + ), + 0x0, + ) + ), + ) + + Op.PUSH1[0x60] + + Op.PUSH1[0x1C] + + Op.PUSH2[0x14C] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE365736B) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x84] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x2F300BEE) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=0x2) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x100)) + + Op.DUP5 + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP6, + args_size=0x64, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.ADD(0x4, Op.DUP2) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.JUMPI( + pc=0x1FC, + condition=Op.CALL( + gas=0x1C, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=0x64, + ret_offset=Op.DUP2, + ret_size=0x64, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.ADD(Op.DUP2, 0x64) + + Op.SWAP3 + + Op.POP + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) + + Op.DUP1 + + Op.JUMPI( + pc=0x223, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.SUB(Op.DUP4, Op.DUP1) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP5, + args_size=Op.DUP3, + ret_offset=0x280, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x280) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x37D) + + Op.JUMPDEST + + Op.PUSH1[0x60] + + Op.PUSH1[0x1C] + + Op.PUSH2[0x14C] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE365736B) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x84] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x2F300BEE) + + Op.MSTORE( + offset=Op.ADD(Op.DUP3, 0x4), + value=Op.SUB( + Op.MLOAD( + offset=Op.ADD( + Op.DUP6, + Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x100), 0x1)), + ) + ), + 0x1, + ), + ) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x100)) + + Op.DUP5 + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP6, + args_size=0x64, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.ADD(0x4, Op.DUP2) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.JUMPI( + pc=0x32D, + condition=Op.CALL( + gas=0x1C, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=0x64, + ret_offset=Op.DUP2, + ret_size=0x64, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.ADD(Op.DUP2, 0x64) + + Op.SWAP3 + + Op.POP + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) + + Op.DUP1 + + Op.JUMPI( + pc=0x354, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.SUB(Op.DUP4, Op.DUP1) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP5, + args_size=Op.DUP3, + ret_offset=0x2C0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x2C0) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.JUMPDEST + + Op.POP + + Op.MSTORE(offset=0x2E0, value=0x1) + + Op.RETURN(offset=0x2E0, size=0x20) + + Op.POP * 2 + + Op.JUMPDEST + + Op.JUMPI(pc=0x764, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xDE9080C8))) + + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x64)) + + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x84)) + + Op.ADD(Op.MLOAD(offset=0x100), 0x2) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.DUP2 + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x44, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x2C5A40D5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.MLOAD(offset=0x140) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x44, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MLOAD(offset=0x120) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4EE, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x120))), + ) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x28C8B315) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP2) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x40), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x360, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x360) + + Op.SWAP1 + + Op.POP + + Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP2)) + + Op.MSTORE + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x493) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0xA0] + + Op.PUSH1[0x1C] + + Op.PUSH2[0x20C] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xA647A5B9) + + Op.DUP5 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x4), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x148), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.DUP4 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x24), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xC4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x168), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.DUP3 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xE4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x188), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.MLOAD(offset=0x120)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.MLOAD(offset=0x100)) + + Op.ADD(0x4, Op.DUP2) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.JUMPI( + pc=0x5B5, + condition=Op.CALL( + gas=0x22, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=0xA4, + ret_offset=Op.DUP2, + ret_size=0xA4, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.ADD(Op.DUP2, 0xA4) + + Op.SWAP3 + + Op.POP + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x148)) + + Op.DUP1 + + Op.JUMPI( + pc=0x5DC, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x168)) + + Op.DUP1 + + Op.JUMPI( + pc=0x604, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xC4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x188)) + + Op.DUP1 + + Op.JUMPI( + pc=0x62C, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xE4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.SUB(Op.DUP4, Op.DUP1) + + Op.DUP8 + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP7, + args_size=Op.DUP5, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP3 + + Op.POP + + Op.PUSH1[0x60] + + Op.PUSH1[0x1C] + + Op.PUSH2[0x14C] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE365736B) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.DUP5 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.ADD(0x4, Op.DUP2) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.JUMPI( + pc=0x6DF, + condition=Op.CALL( + gas=0x1C, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=0x64, + ret_offset=Op.DUP2, + ret_size=0x64, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.ADD(Op.DUP2, 0x64) + + Op.SWAP3 + + Op.POP + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) + + Op.DUP1 + + Op.JUMPI( + pc=0x706, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.SUB(Op.DUP4, Op.DUP1) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP5, + args_size=Op.DUP3, + ret_offset=0x3C0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x3C0) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMPI( + pc=0x752, + condition=Op.ISZERO( + Op.EQ( + Op.MLOAD( + offset=Op.ADD( + Op.DUP5, Op.MUL(0x20, Op.MLOAD(offset=0x100)) + ) + ), + 0x0, + ) + ), + ) + + Op.MSTORE(offset=0x3E0, value=0x0) + + Op.RETURN(offset=0x3E0, size=0x20) + + Op.JUMP(pc=0x75F) + + Op.JUMPDEST + + Op.MSTORE(offset=0x400, value=0x1) + + Op.RETURN(offset=0x400, size=0x20) + + Op.JUMPDEST + + Op.POP * 4 + + Op.JUMPDEST + + Op.JUMPI(pc=0xA66, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x384CA8DD))) + + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x64)) + + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x84)) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.ADD(Op.MLOAD(offset=0x100), 0x2) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x44, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xFA9832D1) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.MLOAD(offset=0x100) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x44, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x1C] + + Op.PUSH1[0x84] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xAAD7D6E3) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.PUSH1[0x60] + + Op.PUSH1[0x1C] + + Op.PUSH2[0x14C] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x5B180229) + + Op.DUP4 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x4), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x64), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xC8), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.DUP5 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x24), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x84), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xE8), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x100)) + + Op.ADD(0x4, Op.DUP2) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.JUMPI( + pc=0x901, + condition=Op.CALL( + gas=0x1C, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=0x64, + ret_offset=Op.DUP2, + ret_size=0x64, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.ADD(Op.DUP2, 0x64) + + Op.SWAP3 + + Op.POP + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0xC8)) + + Op.DUP1 + + Op.JUMPI( + pc=0x927, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0x64)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0xE8)) + + Op.DUP1 + + Op.JUMPI( + pc=0x94E, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0x84)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.SUB(Op.DUP4, Op.DUP1) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP5, + args_size=Op.DUP3, + ret_offset=0x440, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x440) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.ADD(Op.DUP3, 0x44) + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP4, + args_size=0x64, + ret_offset=0x460, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x460) + + Op.SWAP1 + + Op.POP * 2 + + Op.PUSH1[0x60] + + Op.PUSH1[0x1C] + + Op.PUSH2[0x14C] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x222A8663) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.DUP3 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.ADD(0x4, Op.DUP2) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.JUMPI( + pc=0xA07, + condition=Op.CALL( + gas=0x1C, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=0x64, + ret_offset=Op.DUP2, + ret_size=0x64, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.ADD(Op.DUP2, 0x64) + + Op.SWAP3 + + Op.POP + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) + + Op.DUP1 + + Op.JUMPI( + pc=0xA2E, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.SUB(Op.DUP4, Op.DUP1) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP5, + args_size=Op.DUP3, + ret_offset=0x480, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x480) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP * 2 + + Op.MSTORE(offset=0x4A0, value=0x1) + + Op.RETURN(offset=0x4A0, size=0x20) + + Op.POP * 2 + + Op.JUMPDEST + + Op.JUMPI(pc=0xD4B, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xD5DC5AF1))) + + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x64)) + + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x84)) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.ADD(Op.MLOAD(offset=0x100), 0x2) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x44, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x2C5A40D5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.MLOAD(offset=0x140) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x44, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x80] + + Op.PUSH1[0x1C] + + Op.PUSH2[0x1AC] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xF4CA7DC4) + + Op.DUP4 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x4), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x84), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.DUP3 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x24), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x128), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x120)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.MLOAD(offset=0x100)) + + Op.ADD(0x4, Op.DUP2) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.JUMPI( + pc=0xBE7, + condition=Op.CALL( + gas=0x1F, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=0x84, + ret_offset=Op.DUP2, + ret_size=0x84, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.ADD(Op.DUP2, 0x84) + + Op.SWAP3 + + Op.POP + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) + + Op.DUP1 + + Op.JUMPI( + pc=0xC0E, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0x84)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x128)) + + Op.DUP1 + + Op.JUMPI( + pc=0xC36, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.SUB(Op.DUP4, Op.DUP1) + + Op.MLOAD(offset=0x140) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP7, + args_size=Op.DUP5, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x60] + + Op.PUSH1[0x1C] + + Op.PUSH2[0x14C] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xB39E1FAA) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.DUP3 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.ADD(0x4, Op.DUP2) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.JUMPI( + pc=0xCEC, + condition=Op.CALL( + gas=0x1C, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=0x64, + ret_offset=Op.DUP2, + ret_size=0x64, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.ADD(Op.DUP2, 0x64) + + Op.SWAP3 + + Op.POP + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) + + Op.DUP1 + + Op.JUMPI( + pc=0xD13, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.SUB(Op.DUP4, Op.DUP1) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP5, + args_size=Op.DUP3, + ret_offset=0x4C0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x4C0) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP * 2 + + Op.MSTORE(offset=0x4E0, value=0x1) + + Op.RETURN(offset=0x4E0, size=0x20) + + Op.POP * 2 + + Op.JUMPDEST + + Op.JUMPI(pc=0x114C, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x939AA8C))) + + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x64)) + + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x84)) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.ADD(Op.MLOAD(offset=0x100), 0x2) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x44, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7DC12195) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.MLOAD(offset=0x140) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x44, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x586B5BE0) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x500, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x500) + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xEB8AF5AA) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.MLOAD(offset=0x120) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x44, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0xC0] + + Op.PUSH1[0x1C] + + Op.PUSH2[0x26C] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x232B2734) + + Op.DUP3 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x4), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xC4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x188), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.DUP6 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x24), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xE4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x1A8), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.DUP5 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x104), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x1C8), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.MLOAD(offset=0x120)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0xA4), value=Op.MLOAD(offset=0x100)) + + Op.ADD(0x4, Op.DUP2) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.JUMPI( + pc=0xF96, + condition=Op.CALL( + gas=0x25, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=0xC4, + ret_offset=Op.DUP2, + ret_size=0xC4, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.ADD(Op.DUP2, 0xC4) + + Op.SWAP3 + + Op.POP + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x188)) + + Op.DUP1 + + Op.JUMPI( + pc=0xFBD, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xC4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x1A8)) + + Op.DUP1 + + Op.JUMPI( + pc=0xFE5, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xE4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x1C8)) + + Op.DUP1 + + Op.JUMPI( + pc=0x100E, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0x104)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.SUB(Op.DUP4, Op.DUP1) + + Op.MLOAD(offset=0x120) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP7, + args_size=Op.DUP5, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x60] + + Op.PUSH1[0x1C] + + Op.PUSH2[0x14C] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x1112B27) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0xC0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0xE0)) + + Op.DUP3 + + Op.ADD(0x20, Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.DUP2, 0x20)))) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x44), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0xA4), value=Op.SUB(Op.DUP3, 0x20)) + + Op.MSTORE(offset=Op.ADD(Op.DUP5, 0x108), value=Op.DUP1) + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 3 + + Op.ADD(0x4, Op.DUP2) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.JUMPI( + pc=0x10C4, + condition=Op.CALL( + gas=0x1C, + address=0x4, + value=0x0, + args_offset=Op.DUP5, + args_size=0x64, + ret_offset=Op.DUP2, + ret_size=0x64, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.ADD(Op.DUP2, 0x64) + + Op.SWAP3 + + Op.POP + + Op.MLOAD(offset=Op.ADD(Op.DUP3, 0x108)) + + Op.DUP1 + + Op.JUMPI( + pc=0x10EB, + condition=Op.CALL( + gas=Op.ADD(0x12, Op.SDIV(Op.DUP8, 0xA)), + address=0x4, + value=0x0, + args_offset=Op.MLOAD(offset=Op.ADD(Op.DUP8, 0xA4)), + args_size=Op.DUP3, + ret_offset=Op.DUP6, + ret_size=Op.DUP1, + ), + ) + + Op.INVALID + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SWAP4 + + Op.POP * 2 + + Op.SUB(Op.DUP4, Op.DUP1) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP5, + args_size=Op.DUP3, + ret_offset=0x580, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x580) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMPI( + pc=0x113A, + condition=Op.ISZERO( + Op.EQ( + Op.MLOAD( + offset=Op.ADD( + Op.DUP6, + Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x100), 0x1)), + ) + ), + 0x0, + ) + ), + ) + + Op.MSTORE(offset=0x5A0, value=0x0) + + Op.RETURN(offset=0x5A0, size=0x20) + + Op.JUMP(pc=0x1147) + + Op.JUMPDEST + + Op.MSTORE(offset=0x5C0, value=0x1) + + Op.RETURN(offset=0x5C0, size=0x20) + + Op.JUMPDEST + + Op.POP * 4 + + Op.JUMPDEST + + Op.POP, + nonce=0, + address=Address(0x9761FECF88590592CF05CE545504D376D1693AB3), # noqa: E501 + ) + pre[sender] = Account(balance=0xD8D726B7177A800000) + # Source: raw + # 0x600061075f537c010000000000000000000000000000000000000000000000000000000060003504731e147037f0a63df228fe6e7aef730f1ea31c8ce3602052730ea65418d7bf32680f55572c943a94b59080499860405273e509e3a93beb1eba72f8cb8d25f93a85e2d54afb60605273c9ae5868651bf7b7db6e360217db49ce4e69c07e60805273142a6927cf0060133187ba8a8e74d641438f0c1c60a05273b163e767e4c1ba5ae88b2ee7594f3a3fec2bb09660c05273ba7b277319128ef4c22635534d0f61dffdaa13ab60e052739761fecf88590592cf05ce545504d376d1693ab36101005273f70bbc50f1468cecae0761ef09386a87c1c696ea6101205273a89d22f049aaa5bbfb5f1a1939fff3ae7a26ae746101405273174827f7e53e8ce13b047adcac0eb3f2cb0c3285610160526336a560bd811415610a88576004356101a052601c60445990590160009052016327138bfb601c8203526101a051600482015260206101e0602483600060a051602d5a03f1506101e05190501515610195576001600003610200526020610200f35b601c6044599059016000905201637a66d7ca601c8203526101a051600482015260206102206024836000608051602d5a03f150610220519050601c606459905901600090520163cc1c944e601c8203526101a05160048201528160248201526020610260604483600061028051602d5a03f150610260519050601c60445990590160009052016380b5e7bd601c8203526101a051600482015260206102a06024836000606051602d5a03f1506102a0519050808202601c60445990590160009052016318633576601c8203526101a051600482015260206103006024836000608051602d5a03f150610300519050600981141561036d57601c60c459905901600090520163ac44d71e601c8203526101a0516004820152856024820152846044820152836064820152826084820152602061036060a483600061016051602d5a03f15061036051905050601c6064599059016000905201637265802d601c8203526101a05160048201526000602482015260206103806044836000608051602d5a03f15061038051905050601c604459905901600090520163c5476efe601c8203526101a051600482015260206103a06024836000608051602d5a03f1506103a051905050600185016103c05260206103c0f3610a3a565b60008114156103cd57601c60c459905901600090520163ef72638a601c8203526101a051600482015285602482015284604482015283606482015282608482015260206103e060a483600060c051602d5a03f1506103e051905050610a39565b600181141561042d57601c60c459905901600090520163a63e976c601c8203526101a0516004820152856024820152846044820152836064820152826084820152602061040060a483600060e051602d5a03f15061040051905050610a38565b600281141561048d57601c60c459905901600090520163533ea0ed601c8203526101a0516004820152856024820152846044820152836064820152826084820152602061042060a483600060e051602d5a03f15061042051905050610a37565b600381141561085057601c606459905901600090520163e05dcb56601c8203526101a0516004820152856024820152600285016040816020020159905901600090528160200260400181604485600061028051602d5a03f15060408101905090509050601c6044599059016000905201633d905045601c8203526101a051600482015260206104806024836000608051602d5a03f150610480519050600481141561063357601c60c4599059016000905201630939aa8c601c8203526101a051600482015287602482015286604482015285606482015284608482015260206104e060a483600061010051602d5a03f1506104e05190506104c052601c606459905901600090520163c286273a601c8203526101a05160048201526000602482015260206105006044836000608051602d5a03f1506105005190505060016104c05114156105e55782610520526020610520f361062e565b601c604459905901600090520163aac2ffb5601c8203526101a051600482015260206105406024836000608051602d5a03f1506105405190505060018301610560526020610560f35b610804565b600081141561069457601c60c459905901600090520163546fdeb3601c8203526101a0516004820152876024820152866044820152856064820152846084820152602061058060a483600061010051602d5a03f15061058051905050610803565b6001811415610742576000601c60c459905901600090520163de9080c8601c8203526101a051600482015288602482015287604482015286606482015285608482015260206105a060a483600061010051602d5a03f1506105a0519050141561073257601c6044599059016000905201631cda01ef601c8203526101a051600482015260206105c06024836000608051602d5a03f1506105c0519050505b826105e05260206105e0f3610802565b60028114156107a357601c60c459905901600090520163384ca8dd601c8203526101a0516004820152876024820152866044820152856064820152846084820152602061060060a483600061010051602d5a03f15061060051905050610801565b600381141561080057601c60c459905901600090520163d5dc5af1601c8203526101a0516004820152876024820152866044820152856064820152846084820152602061062060a483600061010051602d5a03f150610620519050505b5b5b5b5b601c6044599059016000905201631cda01ef601c8203526101a051600482015260206106406024836000608051602d5a03f1506106405190505082610660526020610660f35050610a36565b60048114156108b157601c60c459905901600090520163f6559853601c8203526101a0516004820152856024820152846044820152836064820152826084820152602061068060a483600061012051602d5a03f15061068051905050610a35565b600581141561091257601c60c459905901600090520163d8e5473d601c8203526101a051600482015285602482015284604482015283606482015282608482015260206106a060a483600061012051602d5a03f1506106a051905050610a34565b600681141561097357601c60c459905901600090520163090507ea601c8203526101a051600482015285602482015284604482015283606482015282608482015260206106c060a483600061012051602d5a03f1506106c051905050610a33565b60078114156109d457601c60c4599059016000905201635b911842601c8203526101a051600482015285602482015284604482015283606482015282608482015260206106e060a483600061014051602d5a03f1506106e051905050610a32565b6008811415610a3157601c60c459905901600090520163abe22b84601c8203526101a0516004820152856024820152846044820152836064820152826084820152602061070060a483600061014051602d5a03f150610700519050505b5b5b5b5b5b5b5b5b5b601c604459905901600090520163aac2ffb5601c8203526101a051600482015260206107206024836000608051602d5a03f1506107205190505060018101610740526020610740f350505050505b50 # noqa: E501 + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x75F, value=0x0) + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.MSTORE( + offset=0x20, value=0x1E147037F0A63DF228FE6E7AEF730F1EA31C8CE3 + ) + + Op.MSTORE( + offset=0x40, value=0xEA65418D7BF32680F55572C943A94B590804998 + ) + + Op.MSTORE( + offset=0x60, value=0xE509E3A93BEB1EBA72F8CB8D25F93A85E2D54AFB + ) + + Op.MSTORE( + offset=0x80, value=0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E + ) + + Op.MSTORE( + offset=0xA0, value=0x142A6927CF0060133187BA8A8E74D641438F0C1C + ) + + Op.MSTORE( + offset=0xC0, value=0xB163E767E4C1BA5AE88B2EE7594F3A3FEC2BB096 + ) + + Op.MSTORE( + offset=0xE0, value=0xBA7B277319128EF4C22635534D0F61DFFDAA13AB + ) + + Op.MSTORE( + offset=0x100, value=0x9761FECF88590592CF05CE545504D376D1693AB3 + ) + + Op.MSTORE( + offset=0x120, value=0xF70BBC50F1468CECAE0761EF09386A87C1C696EA + ) + + Op.MSTORE( + offset=0x140, value=0xA89D22F049AAA5BBFB5F1A1939FFF3AE7A26AE74 + ) + + Op.MSTORE( + offset=0x160, value=0x174827F7E53E8CE13B047ADCAC0EB3F2CB0C3285 + ) + + Op.JUMPI(pc=0xA88, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x36A560BD))) + + Op.MSTORE(offset=0x1A0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x27138BFB) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0xA0), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x1E0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x1E0) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x195, condition=Op.ISZERO(Op.ISZERO)) + + Op.MSTORE(offset=0x200, value=Op.SUB(0x0, 0x1)) + + Op.RETURN(offset=0x200, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7A66D7CA) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x220, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x220) + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xCC1C944E) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP2) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x280), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x260, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x260) + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x80B5E7BD) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x60), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x2A0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x2A0) + + Op.SWAP1 + + Op.POP + + Op.MUL(Op.DUP3, Op.DUP1) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x18633576) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x300, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x300) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x36D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x9))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xAC44D71E) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x160), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x360, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x360) + + Op.SWAP1 + + Op.POP * 2 + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x7265802D) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x380, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x380) + + Op.SWAP1 + + Op.POP * 2 + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC5476EFE) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x3A0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x3A0) + + Op.SWAP1 + + Op.POP * 2 + + Op.MSTORE(offset=0x3C0, value=Op.ADD(Op.DUP6, 0x1)) + + Op.RETURN(offset=0x3C0, size=0x20) + + Op.JUMP(pc=0xA3A) + + Op.JUMPDEST + + Op.JUMPI(pc=0x3CD, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x0))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xEF72638A) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0xC0), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x3E0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x3E0) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMP(pc=0xA39) + + Op.JUMPDEST + + Op.JUMPI(pc=0x42D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x1))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xA63E976C) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0xE0), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x400, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x400) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMP(pc=0xA38) + + Op.JUMPDEST + + Op.JUMPI(pc=0x48D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x533EA0ED) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0xE0), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x420, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x420) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMP(pc=0xA37) + + Op.JUMPDEST + + Op.JUMPI(pc=0x850, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xE05DCB56) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) + + Op.ADD(Op.DUP6, 0x2) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x280), + value=0x0, + args_offset=Op.DUP6, + args_size=0x44, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x3D905045) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x480, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x480) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x633, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x4))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x939AA8C) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP8) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP7) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP5) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x100), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x4E0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x4E0) + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x4C0] + + Op.MSTORE + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC286273A) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x500, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x500) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMPI( + pc=0x5E5, condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x4C0), 0x1)) + ) + + Op.MSTORE(offset=0x520, value=Op.DUP3) + + Op.RETURN(offset=0x520, size=0x20) + + Op.JUMP(pc=0x62E) + + Op.JUMPDEST + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xAAC2FFB5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x540, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x540) + + Op.SWAP1 + + Op.POP * 2 + + Op.MSTORE(offset=0x560, value=Op.ADD(Op.DUP4, 0x1)) + + Op.RETURN(offset=0x560, size=0x20) + + Op.JUMPDEST + + Op.JUMP(pc=0x804) + + Op.JUMPDEST + + Op.JUMPI(pc=0x694, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x0))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x546FDEB3) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP8) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP7) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP5) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x100), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x580, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x580) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMP(pc=0x803) + + Op.JUMPDEST + + Op.JUMPI(pc=0x742, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x1))) + + Op.PUSH1[0x0] + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xDE9080C8) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP9) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP8) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP7) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP6) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x100), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x5A0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x5A0) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x732, condition=Op.ISZERO(Op.EQ)) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x1CDA01EF) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x5C0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x5C0) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMPDEST + + Op.MSTORE(offset=0x5E0, value=Op.DUP3) + + Op.RETURN(offset=0x5E0, size=0x20) + + Op.JUMP(pc=0x802) + + Op.JUMPDEST + + Op.JUMPI(pc=0x7A3, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x384CA8DD) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP8) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP7) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP5) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x100), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x600, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x600) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMP(pc=0x801) + + Op.JUMPDEST + + Op.JUMPI(pc=0x800, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xD5DC5AF1) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP8) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP7) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP5) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x100), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x620, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x620) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMPDEST * 5 + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x1CDA01EF) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x640, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x640) + + Op.SWAP1 + + Op.POP * 2 + + Op.MSTORE(offset=0x660, value=Op.DUP3) + + Op.RETURN(offset=0x660, size=0x20) + + Op.POP * 2 + + Op.JUMP(pc=0xA36) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8B1, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x4))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xF6559853) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x120), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x680, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x680) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMP(pc=0xA35) + + Op.JUMPDEST + + Op.JUMPI(pc=0x912, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x5))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xD8E5473D) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x120), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x6A0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x6A0) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMP(pc=0xA34) + + Op.JUMPDEST + + Op.JUMPI(pc=0x973, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x6))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x90507EA) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x120), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x6C0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x6C0) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMP(pc=0xA33) + + Op.JUMPDEST + + Op.JUMPI(pc=0x9D4, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x5B911842) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x140), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x6E0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x6E0) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMP(pc=0xA32) + + Op.JUMPDEST + + Op.JUMPI(pc=0xA31, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x8))) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC4] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xABE22B84) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.DUP6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.DUP5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x64), value=Op.DUP4) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x84), value=Op.DUP3) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x140), + value=0x0, + args_offset=Op.DUP4, + args_size=0xA4, + ret_offset=0x700, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x700) + + Op.SWAP1 + + Op.POP * 2 + + Op.JUMPDEST * 10 + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xAAC2FFB5) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x1A0)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x80), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x720, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x720) + + Op.SWAP1 + + Op.POP * 2 + + Op.MSTORE(offset=0x740, value=Op.ADD(Op.DUP2, 0x1)) + + Op.RETURN(offset=0x740, size=0x20) + + Op.POP * 5 + + Op.JUMPDEST + + Op.POP, + nonce=0, + address=Address(0xB03F030056DB7D467D778326658BAC0D1B35D8F7), # noqa: E501 + ) + # Source: raw + # 0x600061083f537c010000000000000000000000000000000000000000000000000000000060003504637a66d7ca8114156100665760043560405260606060599059016000905260008152604051816020015260008160400152809050205460605260206060f35b63c60409c68114156100a55760043560405260606060599059016000905260008152604051816020015260018160400152809050205460a052602060a0f35b63186335768114156100e45760043560405260606060599059016000905260008152604051816020015260028160400152809050205460e052602060e0f35b63b3903c8a8114156101bc57600435604052606060605990590160009052600081526040518160200152600581604001528090502054610120526101205180602002602001599059016000905281815260208101905090506101605260006101c0525b610120516101c051121561019f57608060805990590160009052600081526040518160200152600481604001526101c051816060015280905020546101c05160200261016051015260016101c051016101c052610147565b6101605160206040820352602060208203510260400160408203f3505b636824e0fb8114156101fd57600435604052606060605990590160009052600081526040518160200152600581604001528090502054610220526020610220f35b633db16be381141561023e57600435604052606060605990590160009052600081526040518160200152600681604001528090502054610260526020610260f35b63c33878588114156102e05760006102a0526000546102c0526102c05180602002602001599059016000905281815260208101905090506102e0525b6102c0516102a05112156102c357604060405990590160009052600181526102a051816020015280905020546102a0516020026102e051015260016102a051016102a05261027a565b6102e05160206040820352602060208203510260400160408203f3505b63175c63228114156102fa57600054610380526020610380f35b63d861f2b4811415610336576004356103a052604060405990590160009052600181526103a051816020015280905020546103c05260206103c0f35b63b0dab01f81141561044f57600435610400526024356104205260443561044052606435610460526000606060605990590160009052600081526104005181602001526001816040015280905020541415610441576104205160606060599059016000905260008152610400518160200152600081604001528090502055610440516060606059905901600090526000815261040051816020015260018160400152809050205561046051606060605990590160009052600081526104005181602001526006816040015280905020556104005160406040599059016000905260018152600054816020015280905020556001600054016000556001610520526020610520f361044e565b6000610540526020610540f35b5b63aac2ffb58114156104b95760043560405260016060606059905901600090526000815260405181602001526002816040015280905020540160606060599059016000905260008152604051816020015260028160400152809050205560016105a05260206105a0f35b637265802d811415610507576004356040526024356105c0526105c0516060606059905901600090526000815260405181602001526002816040015280905020556001610600526020610600f35b63c5476efe811415610571576004356040526001606060605990590160009052600081526040518160200152600081604001528090502054016060606059905901600090526000815260405181602001526000816040015280905020556001610660526020610660f35b63c551e31e81141561063b576004356040526024356106805260606060599059016000905260008152604051816020015260058160400152809050205461012052610680516080608059905901600090526000815260405181602001526004816040015261012051816060015280905020556001606060605990590160009052600081526040518160200152600581604001528090502054016060606059905901600090526000815260405181602001526005816040015280905020556001610720526020610720f35b633d90504581141561067c57600435604052606060605990590160009052600081526040518160200152600381604001528090502054610740526020610740f35b631cda01ef8114156106e65760043560405260016060606059905901600090526000815260405181602001526003816040015280905020540160606060599059016000905260008152604051816020015260038160400152809050205560016107c05260206107c0f35b63c286273a811415610734576004356040526024356107e0526107e0516060606059905901600090526000815260405181602001526003816040015280905020556001610820526020610820f35b50 # noqa: E501 + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x83F, value=0x0) + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI( + pc=Op.PUSH2[0x66], condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7A66D7CA)) + ) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x60, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x60, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xA5], condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC60409C6)) + ) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0xA0, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0xA0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xE4], condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x18633576)) + ) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0xE0, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0xE0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1BC, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB3903C8A))) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x120, value=Op.SLOAD(key=Op.SHA3)) + + Op.MLOAD(offset=0x120) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x160] + + Op.MSTORE + + Op.MSTORE(offset=0x1C0, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x19F, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x1C0), Op.MLOAD(offset=0x120)) + ), + ) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x4) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE( + offset=Op.ADD( + Op.MLOAD(offset=0x160), Op.MUL(0x20, Op.MLOAD(offset=0x1C0)) + ), + value=Op.SLOAD(key=Op.SHA3), + ) + + Op.MSTORE(offset=0x1C0, value=Op.ADD(Op.MLOAD(offset=0x1C0), 0x1)) + + Op.JUMP(pc=0x147) + + Op.JUMPDEST + + Op.MLOAD(offset=0x160) + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x1FD, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x6824E0FB))) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x220, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x220, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x23E, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3DB16BE3))) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x6) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x260, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x260, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x2E0, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC3387858))) + + Op.MSTORE(offset=0x2A0, value=0x0) + + Op.MSTORE(offset=0x2C0, value=Op.SLOAD(key=0x0)) + + Op.MLOAD(offset=0x2C0) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x2E0] + + Op.MSTORE + + Op.JUMPDEST + + Op.JUMPI( + pc=0x2C3, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x2A0), Op.MLOAD(offset=0x2C0)) + ), + ) + + Op.PUSH1[0x40] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x1) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x2A0)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE( + offset=Op.ADD( + Op.MLOAD(offset=0x2E0), Op.MUL(0x20, Op.MLOAD(offset=0x2A0)) + ), + value=Op.SLOAD(key=Op.SHA3), + ) + + Op.MSTORE(offset=0x2A0, value=Op.ADD(Op.MLOAD(offset=0x2A0), 0x1)) + + Op.JUMP(pc=0x27A) + + Op.JUMPDEST + + Op.MLOAD(offset=0x2E0) + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x2FA, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x175C6322))) + + Op.MSTORE(offset=0x380, value=Op.SLOAD(key=0x0)) + + Op.RETURN(offset=0x380, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x336, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xD861F2B4))) + + Op.MSTORE(offset=0x3A0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x40] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x1) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x3A0)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x3C0, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x3C0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x44F, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB0DAB01F))) + + Op.MSTORE(offset=0x400, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x420, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x440, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x460, value=Op.CALLDATALOAD(offset=0x64)) + + Op.PUSH1[0x0] + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x400)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.JUMPI(pc=0x441, condition=Op.ISZERO(Op.EQ)) + + Op.MLOAD(offset=0x420) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x400)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x440) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x400)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x460) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x400)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x6) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x400) + + Op.PUSH1[0x40] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x1) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.SLOAD(key=0x0)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.MSTORE(offset=0x520, value=0x1) + + Op.RETURN(offset=0x520, size=0x20) + + Op.JUMP(pc=0x44E) + + Op.JUMPDEST + + Op.MSTORE(offset=0x540, value=0x0) + + Op.RETURN(offset=0x540, size=0x20) + + Op.JUMPDEST * 2 + + Op.JUMPI(pc=0x4B9, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xAAC2FFB5))) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x1] + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x5A0, value=0x1) + + Op.RETURN(offset=0x5A0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x507, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x7265802D))) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x5C0, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MLOAD(offset=0x5C0) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x600, value=0x1) + + Op.RETURN(offset=0x600, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x571, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC5476EFE))) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x1] + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x660, value=0x1) + + Op.RETURN(offset=0x660, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x63B, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC551E31E))) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x680, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x120, value=Op.SLOAD(key=Op.SHA3)) + + Op.MLOAD(offset=0x680) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x4) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x120)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.PUSH1[0x1] + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x5) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x720, value=0x1) + + Op.RETURN(offset=0x720, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x67C, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3D905045))) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x3) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x740, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x740, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x6E6, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x1CDA01EF))) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x1] + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x3) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x3) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x7C0, value=0x1) + + Op.RETURN(offset=0x7C0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x734, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xC286273A))) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x7E0, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MLOAD(offset=0x7E0) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x3) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x820, value=0x1) + + Op.RETURN(offset=0x820, size=0x20) + + Op.JUMPDEST + + Op.POP, storage={ - 0x0: 0x1, + 0: 1, 0xA4470E9D0419DF71F6257FCDFD2C0A3BAD96A23F5AB414BC10AAF1A31A536A7: 0xB4876148229C22BD2291F1A4F5468C8C789B23639370C4D447F270BA341DBBEC, # noqa: E501 0x16EF4193A274568D283FF919C299729E07696D9ADA48187B81D68E12E7B962DE: 0xA103C04E7ECB9B3395F77C7B0CAD28E62C85F042DE4767CCC6C005E6F47F8D4, # noqa: E501 0x1F1866E966F321B84535705846689749D34D5DC02994613E2931973C605D9E93: 0xC723D0AA4A60529FE42277C8094AA19263AFF36650136EFC5EDFD0785D457634, # noqa: E501 0x252A4EC7133643FDDCDB22A86C415F78B2DD251F18D1EFCD6A44ACF590C4AE72: 0x9CAF94B82715869E71D3CEE986094EA612F0258570B7E5EF47B5D09E9515322B, # noqa: E501 0x41B451E8D86D28ADD758CBD3F48A18FD04B11A80288C1DC434A5BF2D8FB1CA64: 0xB602498F12A8B4AF3A1FCA357CEA6B19BCD163DFEC1D845364CE1395F7C21FA7, # noqa: E501 - 0x491D10658C1EC762152D8AD2D890AD59111B1EE7B4BC25736046923D3534D9A5: 0x629E, # noqa: E501 + 0x491D10658C1EC762152D8AD2D890AD59111B1EE7B4BC25736046923D3534D9A5: 25246, # noqa: E501 0x5B0E8552EFD72A845E47318ABBBEF9DC9FCDFE0D1A06CDA44494401301581511: 0xFBC98F4017AE5C20459DAADAA6BEE519B6DE871D3DBAA9AB3F34340FEF4CB643, # noqa: E501 0x5B672A107BA6FAB01CBDDF079042E9F6176A8E6F154584FC4DF4B15674C9456E: 0x1603DA41D610854D85536B37D000E5EB7CA09786C43F50E7441C0AFBFF1DE0A9, # noqa: E501 0x605B934BD26C9ECDF7029A7DC062D3A6B87338511CFF96E0C5F13DE9EEA3462E: 0xF0D24F3D0EDA573FC5D43E3D0680993C51293752CD6DE205040D3197F412F475, # noqa: E501 @@ -8411,7 +7183,7 @@ def test_block504980( 0x7AEB0A0CE8882A12D853078382A2BC72F7A94AF6109F167DE37B36C0A7DEB828: 0x4C428400EA8A7BD7C46BA9895B508770EFA4551F0D793E1BEB1207DA01D9962F, # noqa: E501 0x7C8F4A98E086F64E28C75F54712B5D44BEC3C29B5C70519E8880D3046A5618DC: 0xAAFC1F2601752B114D722070F75539BFEC7FAF49F0D48A48D27862F0C3B09903, # noqa: E501 0x809C325F50ACF5787776E960985E72443B4330AD1E2F466557FFFEE16BA51D44: 0xB940A56E64B5B661D87919B8EF03640EC077A6D72DD0B524ADEDAA7DDC91FF7A, # noqa: E501 - 0x84E4A80D33C5D2ABD2B0A5AEC0FDC5EAEED90AB31DB556E404A81718EA286E39: 0x1C, # noqa: E501 + 0x84E4A80D33C5D2ABD2B0A5AEC0FDC5EAEED90AB31DB556E404A81718EA286E39: 28, # noqa: E501 0x877305412FA2486F563C457B744E5C8B1E4D0ECA73371DE5E771F2ABC263F4DC: 0x7088A36F67276D475AA62127CFDE9790CC802FDF3A54DF49461A25EB8BF15707, # noqa: E501 0x922A8F2FC1CBE67C8ACC6A8A720983C366D71D3E2E78E3048949EBC913EA611A: 0x50FB9F913CA102534BB0A8EB8EBF19C68DFD16FFE5E207BCC580084CD4ECD8B4, # noqa: E501 0x987CB9ECFD8CE499D9D0E9E6B7DA29617AA02774A34F4A8EA54442F44A1E1936: 0x5179F98F555F1E9F1D4A335D16F41154579A53E361E9859269B6FA74EA9C7D21, # noqa: E501 @@ -8422,2235 +7194,1931 @@ def test_block504980( 0xBC96058EB03504EE6F5C0A9582F8720D99A6E9738B171499507FACFF0B2C0B5B: 0x9DB6A4F2766B51013B8D2F9038131D1BB4AF725D019D111D7E26FF96C023B23F, # noqa: E501 0xC186C4F377B7F13892ADE9656ACD1522AA1F8AC151AC4F62457B5073241D79FC: 0x7289738FEF00F1770EEB098DB9BD486C01AC12398D79CDF935514A128C585C51, # noqa: E501 0xCAE57AE3017972D63EFFD8EAE44F5054402C3E890D154B905ED6B5B533327FA9: 0xD2E4BF465E61993D13089B940A7C55017A5117D8E43E4115550A139E1D4B3E3A, # noqa: E501 - 0xCF569EE7BF3ACCC0F893DFFD04F1A757F373EFE80893EFF504FB3678F688EC1D: 0x3, # noqa: E501 + 0xCF569EE7BF3ACCC0F893DFFD04F1A757F373EFE80893EFF504FB3678F688EC1D: 3, # noqa: E501 0xD69B7284545A9F5275DF64CE94848DC954FCB8A8B525E7AC801517C12A75AF84: 0x4202995350ABAE303B43E564AA79121A30B5F1AEA31F69CD25E07DD3FA64DCE7, # noqa: E501 - 0xD8F6F90F51E657690EE28D1CC80D81BC1B89290065891FDD853D09CAAAF756AA: 0x1, # noqa: E501 + 0xD8F6F90F51E657690EE28D1CC80D81BC1B89290065891FDD853D09CAAAF756AA: 1, # noqa: E501 0xDE72F8EED43CC2A5A3EAA51483D14B17DC92BB26C154AE184CEE4B4895011EDC: 0x47CE2B6FDB72C3FABB9C74F82C1E3E522BCD42E614FD85C208AC3C4C840CEA72, # noqa: E501 0xE0E687DDF317F3D2B209AE3884148EFF0F636E16827F82EDED14ADA8FC603009: 0xFA7C8939F9B033162CF8D75EA69671BB8A27041BD4CDC76594E61E99333CB041, # noqa: E501 0xE8CDA339D72A1A350B62F1E3FA52E254C395CC9FDD9F60ADB21C7633FBDAB531: 0x128C4FDF4801A30EAE99DD58F0F3FF5CA65F71B66A9AC0F38DD450FB24B4AAAA, # noqa: E501 - 0xEC5E7F54FA5E516E616B04F9D5A0EE433A80E09ED47D7E5269AFD76C05FF251E: 0x14, # noqa: E501 - 0xF9A3BF5F2CCB903EE1A7644113B794DB0260DE404FB8F11203E75A7FFF151618: 0xBD94773C0D85C68240AE8DFD53D9D33CD137509BFC5D3433381299DF768C8377, # noqa: E501 - }, - nonce=0, - address=Address("0xc9ae5868651bf7b7db6e360217db49ce4e69c07e"), # noqa: E501 - ) - # Source: raw bytecode - callee_9 = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0xB7F, value=0x0) - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.MSTORE( - offset=0x20, - value=0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E, - ) - + Op.JUMPI( - pc=0x245, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x8D3D587)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x80, value=Op.SLOAD(key=Op.SHA3)) - + Op.PUSH1[0x0] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.ORIGIN) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.JUMPI(pc=0x14E, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.ORIGIN) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x80, value=Op.SLOAD(key=Op.SHA3)) - + Op.PUSH9[0x2F0000000000000000] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.ORIGIN - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMP(pc=0x238) - + Op.JUMPDEST - + Op.MLOAD(offset=0x80) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.ORIGIN) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.PUSH9[0x2F0000000000000000] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.ORIGIN - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.PUSH1[0x1] - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.MSTORE(offset=0x1E0, value=0x1) - + Op.RETURN(offset=0x1E0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x29D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x28C8B315)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x200, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x200) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x220, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x220, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x386, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x74AF23EC)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x260, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x260) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x200, value=Op.SLOAD(key=Op.SHA3)) - + Op.JUMPI( - pc=0x332, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x200), 0x0)), - ) - + Op.MLOAD(offset=0x260) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x200) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ISZERO(Op.EQ) - + Op.JUMP(pc=0x335) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x347, condition=Op.ISZERO) - + Op.MSTORE(offset=0x2C0, value=0x0) - + Op.RETURN(offset=0x2C0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x200) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x2E0, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x2E0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3DC, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x84D646EE)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x320, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x320, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x6F4, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xF4229427)) - ) - + Op.MSTORE(offset=0x260, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x24] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x175C6322) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP4, - args_size=0x4, - ret_offset=0x3A0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x3A0) - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x360] - + Op.MSTORE - + Op.JUMPI(pc=0x581, condition=Op.ISZERO(Op.MLOAD(offset=0x260))) - + Op.MUL(0x2, Op.MLOAD(offset=0x360)) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x3C0] - + Op.MSTORE - + Op.MLOAD(offset=0x360) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x420] - + Op.MSTORE - + Op.PUSH1[0x1C] - + Op.PUSH1[0x24] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC3387858) - + Op.MLOAD(offset=0x360) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x4, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x420] - + Op.MSTORE - + Op.MSTORE(offset=0x4C0, value=0x0) - + Op.MSTORE(offset=0x4E0, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x57C, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x4C0), Op.MLOAD(offset=0x360)), - ), - ) - + Op.MSTORE( - offset=0x60, - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x420), - Op.MUL(0x20, Op.MLOAD(offset=0x4C0)), - ), - ), - ) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x74AF23EC) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0x260) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.ADDRESS, - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x520, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x520) - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x500] - + Op.MSTORE - + Op.JUMPI( - pc=0x56C, - condition=Op.ISZERO( - Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x500), 0x0)) - ), - ) - + Op.MSTORE( - offset=Op.ADD( - Op.MLOAD(offset=0x3C0), - Op.MUL(0x20, Op.MLOAD(offset=0x4E0)), - ), - value=Op.MLOAD(offset=0x60), - ) - + Op.MSTORE( - offset=Op.ADD( - Op.MLOAD(offset=0x3C0), - Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x4E0), 0x1)), - ), - value=Op.MLOAD(offset=0x500), - ) - + Op.MSTORE( - offset=0x4E0, value=Op.ADD(Op.MLOAD(offset=0x4E0), 0x2) - ) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x4C0, value=Op.ADD(Op.MLOAD(offset=0x4C0), 0x1) - ) - + Op.JUMP(pc=0x4CE) - + Op.JUMPDEST - + Op.JUMP(pc=0x6D7) - + Op.JUMPDEST - + Op.MSTORE(offset=0x260, value=Op.ORIGIN) - + Op.MUL(0x2, Op.MLOAD(offset=0x360)) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x3C0] - + Op.MSTORE - + Op.MLOAD(offset=0x360) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x420] - + Op.MSTORE - + Op.PUSH1[0x1C] - + Op.PUSH1[0x24] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC3387858) - + Op.MLOAD(offset=0x360) - + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x20), - value=0x0, - args_offset=Op.DUP6, - args_size=0x4, - ret_offset=Op.DUP2, - ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), - ), - ) - + Op.ADD(Op.DUP2, 0x40) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x420] - + Op.MSTORE - + Op.MSTORE(offset=0x4C0, value=0x0) - + Op.MSTORE(offset=0x4E0, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x6D6, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x4C0), Op.MLOAD(offset=0x360)), - ), - ) - + Op.MSTORE( - offset=0x60, - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x420), - Op.MUL(0x20, Op.MLOAD(offset=0x4C0)), - ), - ), - ) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x74AF23EC) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0x260) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.ADDRESS, - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x5C0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x5C0) - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x500] - + Op.MSTORE - + Op.JUMPI( - pc=0x6C6, - condition=Op.ISZERO( - Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x500), 0x0)) - ), - ) - + Op.MSTORE( - offset=Op.ADD( - Op.MLOAD(offset=0x3C0), - Op.MUL(0x20, Op.MLOAD(offset=0x4E0)), - ), - value=Op.MLOAD(offset=0x60), - ) - + Op.MSTORE( - offset=Op.ADD( - Op.MLOAD(offset=0x3C0), - Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x4E0), 0x1)), - ), - value=Op.MLOAD(offset=0x500), - ) - + Op.MSTORE( - offset=0x4E0, value=Op.ADD(Op.MLOAD(offset=0x4E0), 0x2) - ) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x4C0, value=Op.ADD(Op.MLOAD(offset=0x4C0), 0x1) - ) - + Op.JUMP(pc=0x628) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.MLOAD(offset=0x3C0) - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x735, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x80B5E7BD)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x600, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x600, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x786, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x156F1C32)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x640, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x640) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x660, value=Op.SLOAD(key=Op.SHA3)) - + Op.RETURN(offset=0x660, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x878, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB3A24FC0)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE( - offset=0x6C0, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x4) - ), - ) - + Op.MSTORE(offset=0x6E0, value=Op.CALLDATALOAD(offset=0x24)) - + Op.POP - + Op.ADD( - Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x6C0), 0x20)), 0x2 - ) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x700] - + Op.MSTORE - + Op.MSTORE(offset=Op.MLOAD(offset=0x700), value=Op.ORIGIN) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x700), 0x20), - value=Op.MLOAD(offset=0x6E0), - ) - + Op.MSTORE(offset=0x4C0, value=0x2) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x838, - condition=Op.ISZERO( - Op.SLT( - Op.MLOAD(offset=0x4C0), - Op.ADD( - Op.MLOAD( - offset=Op.SUB(Op.MLOAD(offset=0x6C0), 0x20) - ), - 0x2, - ), - ), - ), - ) - + Op.MSTORE( - offset=Op.ADD( - Op.MLOAD(offset=0x700), - Op.MUL(0x20, Op.MLOAD(offset=0x4C0)), - ), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x6C0), - Op.MUL(0x20, Op.SUB(Op.MLOAD(offset=0x4C0), 0x2)), - ), - ), - ) - + Op.MSTORE( - offset=0x4C0, value=Op.ADD(Op.MLOAD(offset=0x4C0), 0x1) - ) - + Op.JUMP(pc=0x7F6) - + Op.JUMPDEST - + Op.MUL( - 0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x700), 0x20)) - ) - + Op.PUSH1[0x20] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.POP( - Op.CALL( - gas=Op.ADD(0x48, Op.DUP8), - address=0x2, - value=0x0, - args_offset=Op.MLOAD(offset=0x700), - args_size=Op.DUP4, - ret_offset=Op.DUP2, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=Op.DUP1) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x760] - + Op.MSTORE - + Op.MSTORE(offset=0x7C0, value=Op.MLOAD(offset=0x760)) - + Op.RETURN(offset=0x7C0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0xA1C, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xE346F5FC)) - ) - + Op.MSTORE(offset=0x7E0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x800, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x4C0, value=0x0) - + Op.JUMPDEST - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x7E0) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.JUMPI( - pc=0x9E6, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x4C0), Op.SLOAD(key=Op.SHA3)), - ), - ) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x7E0) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x4C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x840, value=Op.SLOAD(key=Op.SHA3)) - + Op.MLOAD(offset=0x840) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x800) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x4C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x7E0) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x4C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x800) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x4C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x4C0) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x800) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x840) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE( - offset=0x4C0, value=Op.ADD(Op.MLOAD(offset=0x4C0), 0x1) - ) - + Op.JUMP(pc=0x899) - + Op.JUMPDEST - + Op.MLOAD(offset=0x4C0) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x800) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0x920, value=0x1) - + Op.RETURN(offset=0x920, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0xB54, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3FB57036)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x940, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x960, value=Op.SLOAD(key=Op.SHA3)) - + Op.MLOAD(offset=0x960) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x940) - ) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x960) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x940) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x960) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.PUSH1[0x1] - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x60] - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0xA40, value=0x1) - + Op.RETURN(offset=0xA40, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0xBEB, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x12709A33)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0xA60, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MLOAD(offset=0xA60) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0xAC0, value=0x1) - + Op.RETURN(offset=0xAC0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0xC82, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3229CF6E)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0xA60, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MLOAD(offset=0xA60) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.SUB - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0xB20, value=0x1) - + Op.RETURN(offset=0xB20, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0xCE5, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xA75F5C6A)) - ) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0xA60, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MLOAD(offset=0xA60) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MSTORE(offset=0xB60, value=0x1) - + Op.RETURN(offset=0xB60, size=0x20) - + Op.JUMPDEST - + Op.POP - ), + 0xEC5E7F54FA5E516E616B04F9D5A0EE433A80E09ED47D7E5269AFD76C05FF251E: 20, # noqa: E501 + 0xF9A3BF5F2CCB903EE1A7644113B794DB0260DE404FB8F11203E75A7FFF151618: 0xBD94773C0D85C68240AE8DFD53D9D33CD137509BFC5D3433381299DF768C8377, # noqa: E501 + }, + nonce=0, + address=Address(0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E), # noqa: E501 + ) + # Source: raw + # 0x6000610b7f537c01000000000000000000000000000000000000000000000000000000006000350473c9ae5868651bf7b7db6e360217db49ce4e69c07e6020526308d3d58781141561024557600435606052606060605990590160009052600081526060518160200152600181604001528090502054608052600060806080599059016000905260008152606051816020015260028160400152328160600152809050205414151561014e57608060805990590160009052600081526060518160200152600281604001523281606001528090502054608052682f000000000000000060a060a059905901600090526000815260605181602001526000816040015260805181606001526000816080015280905020553260a060a05990590160009052600081526060518160200152600081604001526080518160600152600181608001528090502055610238565b608051608060805990590160009052600081526060518160200152600281604001523281606001528090502055682f000000000000000060a060a059905901600090526000815260605181602001526000816040015260805181606001526000816080015280905020553260a060a059905901600090526000815260605181602001526000816040015260805181606001526001816080015280905020556001606060605990590160009052600081526060518160200152600181604001528090502054016060606059905901600090526000815260605181602001526001816040015280905020555b60016101e05260206101e0f35b6328c8b31581141561029d576004356060526024356102005260a060a0599059016000905260008152606051816020015260008160400152610200518160600152600081608001528090502054610220526020610220f35b6374af23ec8114156103865760043560605260243561026052608060805990590160009052600081526060518160200152600281604001526102605181606001528090502054610200526000610200511415610332576102605160a060a05990590160009052600081526060518160200152600081604001526102005181606001526001816080015280905020541415610335565b60005b156103475760006102c05260206102c0f35b60a060a05990590160009052600081526060518160200152600081604001526102005181606001526000816080015280905020546102e05260206102e0f35b6384d646ee8114156103dc5760043560605260243560805260a060a05990590160009052600081526060518160200152600081604001526080518160600152600181608001528090502054610320526020610320f35b63f42294278114156106f45760043561026052601c602459905901600090520163175c6322601c82035260206103a06004836000602051602d5a03f1506103a0519050610360526102605115610581576103605160020280602002602001599059016000905281815260208101905090506103c05261036051806020026020015990590160009052818152602081019050905061042052601c602459905901600090520163c3387858601c8203526103605160408160200201599059016000905281602002604001816004856000602051602d5a03f150604081019050905090506104205260006104c05260006104e0525b610360516104c051121561057c576104c051602002610420510151606052601c60645990590160009052016374af23ec601c82035260605160048201526102605160248201526020610520604483600030602d5a03f1506105205190506105005260006105005114151561056c576060516104e0516020026103c05101526105005160016104e051016020026103c051015260026104e051016104e0525b60016104c051016104c0526104ce565b6106d7565b32610260526103605160020280602002602001599059016000905281815260208101905090506103c05261036051806020026020015990590160009052818152602081019050905061042052601c602459905901600090520163c3387858601c8203526103605160408160200201599059016000905281602002604001816004856000602051602d5a03f150604081019050905090506104205260006104c05260006104e0525b610360516104c05112156106d6576104c051602002610420510151606052601c60645990590160009052016374af23ec601c820352606051600482015261026051602482015260206105c0604483600030602d5a03f1506105c0519050610500526000610500511415156106c6576060516104e0516020026103c05101526105005160016104e051016020026103c051015260026104e051016104e0525b60016104c051016104c052610628565b5b6103c05160206040820352602060208203510260400160408203f3505b6380b5e7bd81141561073557600435606052606060605990590160009052600081526060518160200152600181604001528090502054610600526020610600f35b63156f1c328114156107865760043560605260243561064052608060805990590160009052600081526060518160200152600281604001526106405181606001528090502054610660526020610660f35b63b3a24fc081141561087857365990590160009052366004823760043560208201016106c0526024356106e05250600260206106c0510351018060200260200159905901600090528181526020810190509050610700523261070051526106e051602061070051015260026104c0525b600260206106c0510351016104c05112156108385760026104c051036020026106c05101516104c05160200261070051015260016104c051016104c0526107f6565b60206107005103516020026020599059016000905260208183610700516000600287604801f15080519050905061076052610760516107c05260206107c0f35b63e346f5fc811415610a1c576004356107e0526024356108005260006104c0525b606060605990590160009052600081526107e05181602001526001816040015280905020546104c05112156109e65760a060a05990590160009052600081526107e0518160200152600081604001526104c0518160600152600181608001528090502054610840526108405160a060a0599059016000905260008152610800518160200152600081604001526104c051816060015260018160800152809050205560a060a05990590160009052600081526107e0518160200152600081604001526104c051816060015260008160800152809050205460a060a0599059016000905260008152610800518160200152600081604001526104c05181606001526000816080015280905020556104c0516080608059905901600090526000815261080051816020015260028160400152610840518160600152809050205560016104c051016104c052610899565b6104c051606060605990590160009052600081526108005181602001526001816040015280905020556001610920526020610920f35b633fb57036811415610b5457600435606052602435610940526060606059905901600090526000815260605181602001526001816040015280905020546109605261096051608060805990590160009052600081526060518160200152600281604001526109405181606001528090502055600060a060a05990590160009052600081526060518160200152600081604001526109605181606001526000816080015280905020556109405160a060a05990590160009052600081526060518160200152600081604001526109605181606001526001816080015280905020556001606060605990590160009052600081526060518160200152600181604001528090502054016060606059905901600090526000815260605181602001526001816040015280905020556001610a40526020610a40f35b6312709a33811415610beb57600435606052602435608052604435610a6052610a605160a060a059905901600090526000815260605181602001526000816040015260805181606001526000816080015280905020540160a060a059905901600090526000815260605181602001526000816040015260805181606001526000816080015280905020556001610ac0526020610ac0f35b633229cf6e811415610c8257600435606052602435608052604435610a6052610a605160a060a059905901600090526000815260605181602001526000816040015260805181606001526000816080015280905020540360a060a059905901600090526000815260605181602001526000816040015260805181606001526000816080015280905020556001610b20526020610b20f35b63a75f5c6a811415610ce557600435606052602435608052604435610a6052610a605160a060a059905901600090526000815260605181602001526000816040015260805181606001526000816080015280905020556001610b60526020610b60f35b50 # noqa: E501 + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xB7F, value=0x0) + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.MSTORE( + offset=0x20, value=0xC9AE5868651BF7B7DB6E360217DB49CE4E69C07E + ) + + Op.JUMPI(pc=0x245, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x8D3D587))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x80, value=Op.SLOAD(key=Op.SHA3)) + + Op.PUSH1[0x0] + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.ORIGIN) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.JUMPI(pc=0x14E, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.ORIGIN) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x80, value=Op.SLOAD(key=Op.SHA3)) + + Op.PUSH9[0x2F0000000000000000] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.ORIGIN + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMP(pc=0x238) + + Op.JUMPDEST + + Op.MLOAD(offset=0x80) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.ORIGIN) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.PUSH9[0x2F0000000000000000] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.ORIGIN + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.PUSH1[0x1] + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST + + Op.MSTORE(offset=0x1E0, value=0x1) + + Op.RETURN(offset=0x1E0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x29D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x28C8B315))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x200, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x200)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x220, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x220, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x386, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x74AF23EC))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x260, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x260)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x200, value=Op.SLOAD(key=Op.SHA3)) + + Op.JUMPI( + pc=0x332, condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x200), 0x0)) + ) + + Op.MLOAD(offset=0x260) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x200)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ISZERO(Op.EQ) + + Op.JUMP(pc=0x335) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x347, condition=Op.ISZERO) + + Op.MSTORE(offset=0x2C0, value=0x0) + + Op.RETURN(offset=0x2C0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x200)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x2E0, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x2E0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x3DC, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x84D646EE))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x320, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x320, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x6F4, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xF4229427))) + + Op.MSTORE(offset=0x260, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x24] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x175C6322) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP4, + args_size=0x4, + ret_offset=0x3A0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x3A0) + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x360] + + Op.MSTORE + + Op.JUMPI(pc=0x581, condition=Op.ISZERO(Op.MLOAD(offset=0x260))) + + Op.MUL(0x2, Op.MLOAD(offset=0x360)) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x3C0] + + Op.MSTORE + + Op.MLOAD(offset=0x360) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x420] + + Op.MSTORE + + Op.PUSH1[0x1C] + + Op.PUSH1[0x24] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC3387858) + + Op.MLOAD(offset=0x360) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x4, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x420] + + Op.MSTORE + + Op.MSTORE(offset=0x4C0, value=0x0) + + Op.MSTORE(offset=0x4E0, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x57C, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x4C0), Op.MLOAD(offset=0x360)) + ), + ) + + Op.MSTORE( + offset=0x60, + value=Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x420), + Op.MUL(0x20, Op.MLOAD(offset=0x4C0)), + ) + ), + ) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x74AF23EC) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0x260)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.ADDRESS, + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x520, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x520) + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x500] + + Op.MSTORE + + Op.JUMPI( + pc=0x56C, + condition=Op.ISZERO(Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x500), 0x0))), + ) + + Op.MSTORE( + offset=Op.ADD( + Op.MLOAD(offset=0x3C0), Op.MUL(0x20, Op.MLOAD(offset=0x4E0)) + ), + value=Op.MLOAD(offset=0x60), + ) + + Op.MSTORE( + offset=Op.ADD( + Op.MLOAD(offset=0x3C0), + Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x4E0), 0x1)), + ), + value=Op.MLOAD(offset=0x500), + ) + + Op.MSTORE(offset=0x4E0, value=Op.ADD(Op.MLOAD(offset=0x4E0), 0x2)) + + Op.JUMPDEST + + Op.MSTORE(offset=0x4C0, value=Op.ADD(Op.MLOAD(offset=0x4C0), 0x1)) + + Op.JUMP(pc=0x4CE) + + Op.JUMPDEST + + Op.JUMP(pc=0x6D7) + + Op.JUMPDEST + + Op.MSTORE(offset=0x260, value=Op.ORIGIN) + + Op.MUL(0x2, Op.MLOAD(offset=0x360)) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x3C0] + + Op.MSTORE + + Op.MLOAD(offset=0x360) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x420] + + Op.MSTORE + + Op.PUSH1[0x1C] + + Op.PUSH1[0x24] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC3387858) + + Op.MLOAD(offset=0x360) + + Op.ADD(Op.MUL(0x20, Op.DUP2), 0x40) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x20), + value=0x0, + args_offset=Op.DUP6, + args_size=0x4, + ret_offset=Op.DUP2, + ret_size=Op.ADD(0x40, Op.MUL(0x20, Op.DUP2)), + ) + ) + + Op.ADD(Op.DUP2, 0x40) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x420] + + Op.MSTORE + + Op.MSTORE(offset=0x4C0, value=0x0) + + Op.MSTORE(offset=0x4E0, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x6D6, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x4C0), Op.MLOAD(offset=0x360)) + ), + ) + + Op.MSTORE( + offset=0x60, + value=Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x420), + Op.MUL(0x20, Op.MLOAD(offset=0x4C0)), + ) + ), + ) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x74AF23EC) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0x260)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.ADDRESS, + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x5C0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x5C0) + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x500] + + Op.MSTORE + + Op.JUMPI( + pc=0x6C6, + condition=Op.ISZERO(Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x500), 0x0))), + ) + + Op.MSTORE( + offset=Op.ADD( + Op.MLOAD(offset=0x3C0), Op.MUL(0x20, Op.MLOAD(offset=0x4E0)) + ), + value=Op.MLOAD(offset=0x60), + ) + + Op.MSTORE( + offset=Op.ADD( + Op.MLOAD(offset=0x3C0), + Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x4E0), 0x1)), + ), + value=Op.MLOAD(offset=0x500), + ) + + Op.MSTORE(offset=0x4E0, value=Op.ADD(Op.MLOAD(offset=0x4E0), 0x2)) + + Op.JUMPDEST + + Op.MSTORE(offset=0x4C0, value=Op.ADD(Op.MLOAD(offset=0x4C0), 0x1)) + + Op.JUMP(pc=0x628) + + Op.JUMPDEST * 2 + + Op.MLOAD(offset=0x3C0) + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x735, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x80B5E7BD))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x600, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x600, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x786, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x156F1C32))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x640, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x640)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x660, value=Op.SLOAD(key=Op.SHA3)) + + Op.RETURN(offset=0x660, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x878, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xB3A24FC0))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE( + offset=0x6C0, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x4)), + ) + + Op.MSTORE(offset=0x6E0, value=Op.CALLDATALOAD(offset=0x24)) + + Op.POP + + Op.ADD(Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x6C0), 0x20)), 0x2) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x700] + + Op.MSTORE + + Op.MSTORE(offset=Op.MLOAD(offset=0x700), value=Op.ORIGIN) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x700), 0x20), + value=Op.MLOAD(offset=0x6E0), + ) + + Op.MSTORE(offset=0x4C0, value=0x2) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x838, + condition=Op.ISZERO( + Op.SLT( + Op.MLOAD(offset=0x4C0), + Op.ADD( + Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x6C0), 0x20)), + 0x2, + ), + ) + ), + ) + + Op.MSTORE( + offset=Op.ADD( + Op.MLOAD(offset=0x700), Op.MUL(0x20, Op.MLOAD(offset=0x4C0)) + ), + value=Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x6C0), + Op.MUL(0x20, Op.SUB(Op.MLOAD(offset=0x4C0), 0x2)), + ) + ), + ) + + Op.MSTORE(offset=0x4C0, value=Op.ADD(Op.MLOAD(offset=0x4C0), 0x1)) + + Op.JUMP(pc=0x7F6) + + Op.JUMPDEST + + Op.MUL(0x20, Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x700), 0x20))) + + Op.PUSH1[0x20] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.POP( + Op.CALL( + gas=Op.ADD(0x48, Op.DUP8), + address=0x2, + value=0x0, + args_offset=Op.MLOAD(offset=0x700), + args_size=Op.DUP4, + ret_offset=Op.DUP2, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=Op.DUP1) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x760] + + Op.MSTORE + + Op.MSTORE(offset=0x7C0, value=Op.MLOAD(offset=0x760)) + + Op.RETURN(offset=0x7C0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0xA1C, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xE346F5FC))) + + Op.MSTORE(offset=0x7E0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x800, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x4C0, value=0x0) + + Op.JUMPDEST + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x7E0)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.JUMPI( + pc=0x9E6, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x4C0), Op.SLOAD(key=Op.SHA3)) + ), + ) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x7E0)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x4C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x840, value=Op.SLOAD(key=Op.SHA3)) + + Op.MLOAD(offset=0x840) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x800)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x4C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x7E0)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x4C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x800)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x4C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x4C0) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x800)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x840)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x4C0, value=Op.ADD(Op.MLOAD(offset=0x4C0), 0x1)) + + Op.JUMP(pc=0x899) + + Op.JUMPDEST + + Op.MLOAD(offset=0x4C0) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x800)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0x920, value=0x1) + + Op.RETURN(offset=0x920, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0xB54, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3FB57036))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x940, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x960, value=Op.SLOAD(key=Op.SHA3)) + + Op.MLOAD(offset=0x960) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x2) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x940)) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x960)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x940) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x960)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.PUSH1[0x1] + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x60] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0xA40, value=0x1) + + Op.RETURN(offset=0xA40, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0xBEB, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x12709A33))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0xA60, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MLOAD(offset=0xA60) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0xAC0, value=0x1) + + Op.RETURN(offset=0xAC0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0xC82, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x3229CF6E))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0xA60, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MLOAD(offset=0xA60) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.SUB + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0xB20, value=0x1) + + Op.RETURN(offset=0xB20, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0xCE5, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xA75F5C6A))) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0xA60, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MLOAD(offset=0xA60) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x60)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0x0) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MSTORE(offset=0xB60, value=0x1) + + Op.RETURN(offset=0xB60, size=0x20) + + Op.JUMPDEST + + Op.POP, storage={ 0xF299DBBE3A7A5D949FE794E9A47B3106699C8110FF986EB84921C183E69E7F0: 0x2F0000000000000000, # noqa: E501 - 0x1EDCD36F61CAE5DC6414157DFBADF9F11CA013AC763E27F8AF55FEAA8A239C89: 0x1, # noqa: E501 + 0x1EDCD36F61CAE5DC6414157DFBADF9F11CA013AC763E27F8AF55FEAA8A239C89: 1, # noqa: E501 0x689082D076EC3C02CBE4B99F6D9833E3C4A161072FD42FB7649EEE5189A67CCC: 0x63524E3FE4791AEFCE1E932BBFB3FDF375BFAD89, # noqa: E501 0xAF1D6676BE3AB502A59D91F6F5C49BAFFC15B2CFC65A41C4D96857C0F535ADBA: 0x1D60000000000000000, # noqa: E501 0xDF1A770F69D93D1719292F384FDB4DA22C0E88AEF2BA462BFF16674BC7848730: 0x1C11AA45C792E202E9FFDC2F12F99D0D209BEF70, # noqa: E501 - 0xEC5E7F54FA5E516E616B04F9D5A0EE433A80E09ED47D7E5269AFD76C05FF251E: 0x2, # noqa: E501 + 0xEC5E7F54FA5E516E616B04F9D5A0EE433A80E09ED47D7E5269AFD76C05FF251E: 2, # noqa: E501 }, nonce=0, - address=Address("0xe509e3a93beb1eba72f8cb8d25f93a85e2d54afb"), # noqa: E501 + address=Address(0xE509E3A93BEB1EBA72F8CB8D25F93A85E2D54AFB), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x67F, value=0x0) - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI( - pc=Op.PUSH2[0xAC], - condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2F300BEE)), - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x44)) - + Op.ADD(Op.MLOAD(offset=0x80), 0x2) - + Op.DUP1 - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.DUP2, value=0x10000000000000000) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, Op.MUL(0x20, Op.MLOAD(offset=0x80))), - value=Op.MLOAD(offset=0x60), - ) - + Op.MSTORE( - offset=Op.ADD( - Op.DUP3, - Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x80), 0x1)), - ), - value=Op.SUB(Op.MLOAD(offset=0x40), 0x1), - ) - + Op.DUP1 - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2C8, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xA647A5B9)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE( - offset=0x100, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x4) - ), - ) - + Op.MSTORE( - offset=0x160, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x24) - ), - ) - + Op.MSTORE( - offset=0x180, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.MSTORE(offset=0x1A0, value=Op.CALLDATALOAD(offset=0x64)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x84)) - + Op.POP - + Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x100), 0x20)) - + Op.DUP1 - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1D5, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x1A0))), - ) - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x162, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), - ) - + Op.ADD( - Op.DUP3, - Op.MUL( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x160), - Op.MUL( - 0x20, - Op.ADD( - Op.MUL(Op.DUP6, Op.MLOAD(offset=0x80)), - Op.DUP2, - ), + # Source: raw + # 0x600061067f537c010000000000000000000000000000000000000000000000000000000060003504632f300bee8114156100ac576004356040526024356060526044356080526002608051018080602002602001599059016000905281815260208101905090506801000000000000000081526060516080516020028201526001604051036001608051016020028201528060206040820352602060208203510260400160408203f35050505b63a647a5b98114156102c85736599059016000905236600482376004356020820101610100526024356020820101610160526044356020820101610180526064356101a05260843560805250602061010051035180806020026020015990590160009052818152602081019050905060005b6101a0518112156101d557600060005b608051811215610162578060200261010051015181608051850201602002610160510151028201915060018101905061012e565b50680100000000000000008105905060005b6080518112156101c857700100000000000000000000000000000000836020026101805101518260805186020160200261016051015184020205816020028501510381602002850152600181019050610174565b505060018101905061011e565b50600060005b60805181121561020357806020028301518160200284015102820191506001810190506101db565b5068010000000000000000810590506002810560005b600b81121561024257600282680100000000000000008502058301059150600181019050610219565b5060005b60805181121561027657816801000000000000000082602002860151020581602002850152600181019050610246565b5050506001608051602002610100510151036080516020028201526001608051016020026101005101516001608051016020028201528060206040820352602060208203510260400160408203f35050505b635b18022981141561037957365990590160009052366004823760043560208201016103005260243560208201016103205260443560805250600060005b60805181121561033f57680100000000000000008160200261032051015182602002610300510151020582019150600181019050610306565b6000610320515114151561036657610320515168010000000000000000830205915061036b565b600091505b81610380526020610380f350505b63f4ca7dc481141561057157365990590160009052366004823760043560208201016103a05260243560208201016103c0526044356101a0526064356080525060206103c051035160026080510a806020026020015990590160009052818152602081019050905060005b60805181121561044d5760005b6080518112156104415768010000000000000000816020026103a0510151836020026103a051015102058160805184020160200284015101816080518402016020028401526001810190506103f1565b506001810190506103e4565b81905090508180602002602001599059016000905281815260208101905090506080516101a05102806020026020015990590160009052818152602081019050905060005b6101a05181121561051e5760005b6080518112156105125760005b608051811215610506576801000000000000000082608051830201602002870151826080518602016020026103c051015102058260805185020160200285015101826080518502016020028501526001810190506104ad565b506001810190506104a0565b50600181019050610492565b819050905060005b848112156105525780602002820151816020026103c05101510381602002840152600181019050610526565b508160206040820352602060208203510260400160408203f350505050505b63232b273481141561069d57365990590160009052366004823760043560208201016106205260243560208201016102805260443560208201016103c052606435610640526084356101a05260a435608052506000610280515112156106025760005b6080518112156106005780602002610280510151600003816020026102805101526001810190506105d4565b505b60005b6101a05181121561067f5760005b60805181121561067357680100000000000000006801000000000000000082602002610280510151610640510205826080518502016020026103c05101510205826020026106205101510182602002610620510152600181019050610613565b50600181019050610605565b6106205160206040820352602060208203510260400160408203f350505b50 # noqa: E501 + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x67F, value=0x0) + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI( + pc=Op.PUSH2[0xAC], condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x2F300BEE)) + ) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x44)) + + Op.ADD(Op.MLOAD(offset=0x80), 0x2) + + Op.DUP1 + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.DUP2, value=0x10000000000000000) + + Op.MSTORE( + offset=Op.ADD(Op.DUP3, Op.MUL(0x20, Op.MLOAD(offset=0x80))), + value=Op.MLOAD(offset=0x60), + ) + + Op.MSTORE( + offset=Op.ADD( + Op.DUP3, Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + ), + value=Op.SUB(Op.MLOAD(offset=0x40), 0x1), + ) + + Op.DUP1 + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP * 3 + + Op.JUMPDEST + + Op.JUMPI(pc=0x2C8, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xA647A5B9))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE( + offset=0x100, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x4)), + ) + + Op.MSTORE( + offset=0x160, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x24)), + ) + + Op.MSTORE( + offset=0x180, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.MSTORE(offset=0x1A0, value=Op.CALLDATALOAD(offset=0x64)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x84)) + + Op.POP + + Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x100), 0x20)) + + Op.DUP1 + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1D5, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x1A0))), + ) + + Op.PUSH1[0x0] * 2 + + Op.JUMPDEST + + Op.JUMPI( + pc=0x162, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), + ) + + Op.ADD( + Op.DUP3, + Op.MUL( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x160), + Op.MUL( + 0x20, + Op.ADD( + Op.MUL(Op.DUP6, Op.MLOAD(offset=0x80)), Op.DUP2 ), ), - ), - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x100), - Op.MUL(0x20, Op.DUP1), - ), - ), + ) ), - ) - + Op.SWAP2 - + Op.POP - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x12E) - + Op.JUMPDEST - + Op.POP - + Op.SDIV(Op.DUP2, 0x10000000000000000) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1C8, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP6, Op.MUL(0x20, Op.DUP2)), - value=Op.SUB( - Op.MLOAD(offset=Op.ADD(Op.DUP6, Op.MUL(0x20, Op.DUP2))), - Op.SDIV( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x100), Op.MUL(0x20, Op.DUP1) + ) + ), + ), + ) + + Op.SWAP2 + + Op.POP + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x12E) + + Op.JUMPDEST + + Op.POP + + Op.SDIV(Op.DUP2, 0x10000000000000000) + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1C8, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP6, Op.MUL(0x20, Op.DUP2)), + value=Op.SUB( + Op.MLOAD(offset=Op.ADD(Op.DUP6, Op.MUL(0x20, Op.DUP2))), + Op.SDIV( + Op.MUL( Op.MUL( - Op.MUL( - Op.DUP5, - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x160), - Op.MUL( - 0x20, - Op.ADD( - Op.MUL( - Op.DUP7, - Op.MLOAD(offset=0x80), - ), - Op.DUP3, + Op.DUP5, + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x160), + Op.MUL( + 0x20, + Op.ADD( + Op.MUL( + Op.DUP7, Op.MLOAD(offset=0x80) ), + Op.DUP3, ), ), - ), - ), - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x180), - Op.MUL(0x20, Op.DUP4), - ), + ) ), ), - 0x100000000000000000000000000000000, - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x174) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x11E) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x203, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), - ) - + Op.ADD( - Op.DUP3, - Op.MUL( - Op.MLOAD(offset=Op.ADD(Op.DUP5, Op.MUL(0x20, Op.DUP2))), - Op.MLOAD(offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP1))), - ), - ) - + Op.SWAP2 - + Op.POP - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x1DB) - + Op.JUMPDEST - + Op.POP - + Op.SDIV(Op.DUP2, 0x10000000000000000) - + Op.SWAP1 - + Op.POP - + Op.SDIV(Op.DUP2, 0x2) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x242, condition=Op.ISZERO(Op.SLT(Op.DUP2, 0xB))) - + Op.SDIV( - Op.ADD( - Op.DUP4, - Op.SDIV(Op.MUL(Op.DUP6, 0x10000000000000000), Op.DUP3), - ), - 0x2, - ) - + Op.SWAP2 - + Op.POP - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x219) - + Op.JUMPDEST - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x276, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP6, Op.MUL(0x20, Op.DUP2)), - value=Op.SDIV( - Op.MUL( Op.MLOAD( - offset=Op.ADD(Op.DUP7, Op.MUL(0x20, Op.DUP3)) + offset=Op.ADD( + Op.MLOAD(offset=0x180), Op.MUL(0x20, Op.DUP4) + ) ), - 0x10000000000000000, ), - Op.DUP2, + 0x100000000000000000000000000000000, + ), + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x174) + + Op.JUMPDEST + + Op.POP * 2 + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x11E) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] * 2 + + Op.JUMPDEST + + Op.JUMPI( + pc=0x203, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), + ) + + Op.ADD( + Op.DUP3, + Op.MUL( + Op.MLOAD(offset=Op.ADD(Op.DUP5, Op.MUL(0x20, Op.DUP2))), + Op.MLOAD(offset=Op.ADD(Op.DUP4, Op.MUL(0x20, Op.DUP1))), + ), + ) + + Op.SWAP2 + + Op.POP + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x1DB) + + Op.JUMPDEST + + Op.POP + + Op.SDIV(Op.DUP2, 0x10000000000000000) + + Op.SWAP1 + + Op.POP + + Op.SDIV(Op.DUP2, 0x2) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x242, condition=Op.ISZERO(Op.SLT(Op.DUP2, 0xB))) + + Op.SDIV( + Op.ADD( + Op.DUP4, Op.SDIV(Op.MUL(Op.DUP6, 0x10000000000000000), Op.DUP3) + ), + 0x2, + ) + + Op.SWAP2 + + Op.POP + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x219) + + Op.JUMPDEST + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x276, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.DUP6, Op.MUL(0x20, Op.DUP2)), + value=Op.SDIV( + Op.MUL( + Op.MLOAD(offset=Op.ADD(Op.DUP7, Op.MUL(0x20, Op.DUP3))), + 0x10000000000000000, ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x246) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, Op.MUL(0x20, Op.MLOAD(offset=0x80))), - value=Op.SUB( + Op.DUP2, + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x246) + + Op.JUMPDEST + + Op.POP * 3 + + Op.MSTORE( + offset=Op.ADD(Op.DUP3, Op.MUL(0x20, Op.MLOAD(offset=0x80))), + value=Op.SUB( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x100), + Op.MUL(0x20, Op.MLOAD(offset=0x80)), + ) + ), + 0x1, + ), + ) + + Op.MSTORE( + offset=Op.ADD( + Op.DUP3, Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + ), + value=Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x100), + Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x80), 0x1)), + ) + ), + ) + + Op.DUP1 + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP * 3 + + Op.JUMPDEST + + Op.JUMPI(pc=0x379, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x5B180229))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE( + offset=0x300, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x4)), + ) + + Op.MSTORE( + offset=0x320, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x24)), + ) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x44)) + + Op.POP + + Op.PUSH1[0x0] * 2 + + Op.JUMPDEST + + Op.JUMPI( + pc=0x33F, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), + ) + + Op.ADD( + Op.DUP3, + Op.SDIV( + Op.MUL( Op.MLOAD( offset=Op.ADD( - Op.MLOAD(offset=0x100), - Op.MUL(0x20, Op.MLOAD(offset=0x80)), - ), + Op.MLOAD(offset=0x300), Op.MUL(0x20, Op.DUP3) + ) ), - 0x1, - ), - ) - + Op.MSTORE( - offset=Op.ADD( - Op.DUP3, - Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x80), 0x1)), - ), - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x100), - Op.MUL(0x20, Op.ADD(Op.MLOAD(offset=0x80), 0x1)), + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x320), Op.MUL(0x20, Op.DUP2) + ) ), ), - ) - + Op.DUP1 - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x379, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x5B180229)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE( - offset=0x300, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x4) + 0x10000000000000000, + ), + ) + + Op.SWAP2 + + Op.POP + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x306) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x366, + condition=Op.ISZERO( + Op.ISZERO(Op.EQ(Op.MLOAD(offset=Op.MLOAD(offset=0x320)), 0x0)) + ), + ) + + Op.SDIV( + Op.MUL(Op.DUP4, 0x10000000000000000), + Op.MLOAD(offset=Op.MLOAD(offset=0x320)), + ) + + Op.SWAP2 + + Op.POP + + Op.JUMP(pc=0x36B) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.POP + + Op.JUMPDEST + + Op.MSTORE(offset=0x380, value=Op.DUP2) + + Op.RETURN(offset=0x380, size=0x20) + + Op.POP * 2 + + Op.JUMPDEST + + Op.JUMPI(pc=0x571, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xF4CA7DC4))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE( + offset=0x3A0, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x4)), + ) + + Op.MSTORE( + offset=0x3C0, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x24)), + ) + + Op.MSTORE(offset=0x1A0, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x64)) + + Op.POP + + Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x3C0), 0x20)) + + Op.EXP(Op.MLOAD(offset=0x80), 0x2) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x44D, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), + ) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x441, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), + ) + + Op.MSTORE( + offset=Op.ADD( + Op.DUP5, + Op.MUL( + 0x20, + Op.ADD(Op.MUL(Op.DUP5, Op.MLOAD(offset=0x80)), Op.DUP2), ), - ) - + Op.MSTORE( - offset=0x320, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x24) + ), + value=Op.ADD( + Op.MLOAD( + offset=Op.ADD( + Op.DUP5, + Op.MUL( + 0x20, + Op.ADD( + Op.MUL(Op.DUP5, Op.MLOAD(offset=0x80)), Op.DUP2 + ), + ), + ) ), - ) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x44)) - + Op.POP - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x33F, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), - ) - + Op.ADD( - Op.DUP3, Op.SDIV( Op.MUL( Op.MLOAD( offset=Op.ADD( - Op.MLOAD(offset=0x300), - Op.MUL(0x20, Op.DUP3), - ), + Op.MLOAD(offset=0x3A0), Op.MUL(0x20, Op.DUP4) + ) ), Op.MLOAD( offset=Op.ADD( - Op.MLOAD(offset=0x320), - Op.MUL(0x20, Op.DUP2), - ), + Op.MLOAD(offset=0x3A0), Op.MUL(0x20, Op.DUP2) + ) ), ), 0x10000000000000000, ), - ) - + Op.SWAP2 - + Op.POP - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x306) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x366, - condition=Op.ISZERO( - Op.ISZERO( - Op.EQ(Op.MLOAD(offset=Op.MLOAD(offset=0x320)), 0x0) - ), - ), - ) - + Op.SDIV( - Op.MUL(Op.DUP4, 0x10000000000000000), - Op.MLOAD(offset=Op.MLOAD(offset=0x320)), - ) - + Op.SWAP2 - + Op.POP - + Op.JUMP(pc=0x36B) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.POP - + Op.JUMPDEST - + Op.MSTORE(offset=0x380, value=Op.DUP2) - + Op.RETURN(offset=0x380, size=0x20) - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x571, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xF4CA7DC4)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE( - offset=0x3A0, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x4) - ), - ) - + Op.MSTORE( - offset=0x3C0, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x24) - ), - ) - + Op.MSTORE(offset=0x1A0, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x64)) - + Op.POP - + Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x3C0), 0x20)) - + Op.EXP(Op.MLOAD(offset=0x80), 0x2) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x44D, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), - ) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x441, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), - ) - + Op.MSTORE( - offset=Op.ADD( - Op.DUP5, - Op.MUL( - 0x20, - Op.ADD( - Op.MUL(Op.DUP5, Op.MLOAD(offset=0x80)), Op.DUP2 - ), - ), + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x3F1) + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x3E4) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.DUP2 + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.MUL(Op.MLOAD(offset=0x1A0), Op.MLOAD(offset=0x80)) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x51E, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x1A0))), + ) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x512, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), + ) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x506, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), + ) + + Op.MSTORE( + offset=Op.ADD( + Op.DUP6, + Op.MUL( + 0x20, + Op.ADD(Op.MUL(Op.DUP6, Op.MLOAD(offset=0x80)), Op.DUP3), ), - value=Op.ADD( - Op.MLOAD( - offset=Op.ADD( - Op.DUP5, - Op.MUL( - 0x20, - Op.ADD( - Op.MUL(Op.DUP5, Op.MLOAD(offset=0x80)), - Op.DUP2, - ), - ), - ), - ), - Op.SDIV( + ), + value=Op.ADD( + Op.MLOAD( + offset=Op.ADD( + Op.DUP6, Op.MUL( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x3A0), - Op.MUL(0x20, Op.DUP4), - ), - ), - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x3A0), - Op.MUL(0x20, Op.DUP2), - ), + 0x20, + Op.ADD( + Op.MUL(Op.DUP6, Op.MLOAD(offset=0x80)), Op.DUP3 ), ), - 0x10000000000000000, - ), + ) ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x3F1) - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x3E4) - + Op.JUMPDEST - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.DUP2 - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.MUL(Op.MLOAD(offset=0x1A0), Op.MLOAD(offset=0x80)) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x51E, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x1A0))), - ) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x512, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), - ) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x506, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), - ) - + Op.MSTORE( - offset=Op.ADD( - Op.DUP6, + Op.SDIV( Op.MUL( - 0x20, - Op.ADD( - Op.MUL(Op.DUP6, Op.MLOAD(offset=0x80)), Op.DUP3 - ), - ), - ), - value=Op.ADD( - Op.MLOAD( - offset=Op.ADD( - Op.DUP6, - Op.MUL( - 0x20, - Op.ADD( - Op.MUL(Op.DUP6, Op.MLOAD(offset=0x80)), - Op.DUP3, - ), - ), - ), - ), - Op.SDIV( - Op.MUL( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x3C0), - Op.MUL( - 0x20, - Op.ADD( - Op.MUL( - Op.DUP7, Op.MLOAD(offset=0x80) - ), - Op.DUP3, - ), + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x3C0), + Op.MUL( + 0x20, + Op.ADD( + Op.MUL(Op.DUP7, Op.MLOAD(offset=0x80)), + Op.DUP3, ), ), - ), - Op.MLOAD( - offset=Op.ADD( - Op.DUP8, - Op.MUL( - 0x20, - Op.ADD( - Op.MUL( - Op.DUP4, Op.MLOAD(offset=0x80) - ), - Op.DUP3, - ), + ) + ), + Op.MLOAD( + offset=Op.ADD( + Op.DUP8, + Op.MUL( + 0x20, + Op.ADD( + Op.MUL(Op.DUP4, Op.MLOAD(offset=0x80)), + Op.DUP3, ), ), - ), - ), - 0x10000000000000000, - ), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x4AD) - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x4A0) - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x492) - + Op.JUMPDEST - + Op.DUP2 - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x552, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP5))) - + Op.MSTORE( - offset=Op.ADD(Op.DUP5, Op.MUL(0x20, Op.DUP2)), - value=Op.SUB( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x3C0), - Op.MUL(0x20, Op.DUP2), + ) ), ), - Op.MLOAD(offset=Op.ADD(Op.DUP3, Op.MUL(0x20, Op.DUP1))), - ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x526) - + Op.JUMPDEST - + Op.POP - + Op.DUP2 - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x69D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x232B2734)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE( - offset=0x620, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x4) - ), - ) - + Op.MSTORE( - offset=0x280, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x24) - ), - ) - + Op.MSTORE( - offset=0x3C0, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44) - ), - ) - + Op.MSTORE(offset=0x640, value=Op.CALLDATALOAD(offset=0x64)) - + Op.MSTORE(offset=0x1A0, value=Op.CALLDATALOAD(offset=0x84)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0xA4)) - + Op.POP - + Op.JUMPI( - pc=0x602, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=Op.MLOAD(offset=0x280)), 0x0), + 0x10000000000000000, ), - ) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x600, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x280), Op.MUL(0x20, Op.DUP2)), - value=Op.SUB( - 0x0, - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x280), - Op.MUL(0x20, Op.DUP1), - ), - ), + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x4AD) + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x4A0) + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x492) + + Op.JUMPDEST + + Op.DUP2 + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x552, condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.DUP5))) + + Op.MSTORE( + offset=Op.ADD(Op.DUP5, Op.MUL(0x20, Op.DUP2)), + value=Op.SUB( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x3C0), Op.MUL(0x20, Op.DUP2) + ) + ), + Op.MLOAD(offset=Op.ADD(Op.DUP3, Op.MUL(0x20, Op.DUP1))), + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x526) + + Op.JUMPDEST + + Op.POP + + Op.DUP2 + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP * 5 + + Op.JUMPDEST + + Op.JUMPI(pc=0x69D, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x232B2734))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE( + offset=0x620, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x4)), + ) + + Op.MSTORE( + offset=0x280, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x24)), + ) + + Op.MSTORE( + offset=0x3C0, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x44)), + ) + + Op.MSTORE(offset=0x640, value=Op.CALLDATALOAD(offset=0x64)) + + Op.MSTORE(offset=0x1A0, value=Op.CALLDATALOAD(offset=0x84)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0xA4)) + + Op.POP + + Op.JUMPI( + pc=0x602, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=Op.MLOAD(offset=0x280)), 0x0) + ), + ) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x600, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x280), Op.MUL(0x20, Op.DUP2)), + value=Op.SUB( + 0x0, + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x280), Op.MUL(0x20, Op.DUP1) + ) + ), + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x5D4) + + Op.JUMPDEST + + Op.POP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x67F, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x1A0))), + ) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x673, + condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x620), Op.MUL(0x20, Op.DUP3)), + value=Op.ADD( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x620), Op.MUL(0x20, Op.DUP3) + ) ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x5D4) - + Op.JUMPDEST - + Op.POP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x67F, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x1A0))), - ) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x673, - condition=Op.ISZERO(Op.SLT(Op.DUP2, Op.MLOAD(offset=0x80))), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x620), Op.MUL(0x20, Op.DUP3)), - value=Op.ADD( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x620), - Op.MUL(0x20, Op.DUP3), - ), - ), - Op.SDIV( - Op.MUL( - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x3C0), - Op.MUL( - 0x20, - Op.ADD( - Op.MUL( - Op.DUP6, Op.MLOAD(offset=0x80) - ), - Op.DUP3, - ), - ), - ), - ), - Op.SDIV( + Op.SDIV( + Op.MUL( + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x3C0), Op.MUL( - Op.MLOAD(offset=0x640), - Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x280), - Op.MUL(0x20, Op.DUP3), - ), + 0x20, + Op.ADD( + Op.MUL(Op.DUP6, Op.MLOAD(offset=0x80)), + Op.DUP3, ), ), - 0x10000000000000000, + ) + ), + Op.SDIV( + Op.MUL( + Op.MLOAD(offset=0x640), + Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x280), + Op.MUL(0x20, Op.DUP3), + ) + ), ), + 0x10000000000000000, ), - 0x10000000000000000, ), + 0x10000000000000000, ), - ) - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x613) - + Op.JUMPDEST - + Op.POP - + Op.ADD(Op.DUP2, 0x1) - + Op.SWAP1 - + Op.POP - + Op.JUMP(pc=0x605) - + Op.JUMPDEST - + Op.MLOAD(offset=0x620) - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.POP - ), + ), + ) + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x613) + + Op.JUMPDEST + + Op.POP + + Op.ADD(Op.DUP2, 0x1) + + Op.SWAP1 + + Op.POP + + Op.JUMP(pc=0x605) + + Op.JUMPDEST + + Op.MLOAD(offset=0x620) + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP * 2 + + Op.JUMPDEST + + Op.POP, nonce=0, - address=Address("0xf1562e1c0d0baa3ea746442bb7f11153fcf5cfda"), # noqa: E501 + address=Address(0xF1562E1C0D0BAA3EA746442BB7F11153FCF5CFDA), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "36a560bd00000000000000000000000000000000000000000000000000000000000f69b5" # noqa: E501 - ), + to=contract_8, + data=Bytes("36a560bd") + Hash(0xF69B5), gas_limit=3000000, gas_price=10000000000000, ) post = { - callee_5: Account( + contract_0: Account(balance=1), + contract_1: Account(balance=1), + contract_2: Account(balance=1), + contract_3: Account(balance=1), + contract_4: Account(balance=1), + contract_5: Account( storage={ 0x65D5EFDFCC0FBA693DC9E467F633097FFDC97401901463AD0E28855486D1EDF: 0xB9D69098A6ACFE0C6411BCAAF430F78D363A9ADC32B78BC2E15CCD6E883E9784, # noqa: E501 0x12643FF300762717D27EFB567B82C65560D7B43249D908504E5510863AB82AAC: 0x154CF60E137C594516A065149610B6A3989396A42581D5FD8919E711C55DA225, # noqa: E501 @@ -10715,8 +9183,19 @@ def test_block504980( 0xF60FA6E25E9028A6DC6B26BBC1EADAE3DA157DF0D1D6F6628BC33CAD68A7E455: 0x2D7D00618C059EBE40593B9497C633E1AC6E161DADBD5BB734C2663CD3E8A8E1, # noqa: E501 0xFD280AC5182D5B2366122F38ACFA6DC471240FFDE9D5FEB985CE7A2325C960E7: 3, # noqa: E501 }, + balance=0, + nonce=0, ), - callee_8: Account( + contract_6: Account( + storage={}, + code=bytes.fromhex( + "600061031f537c01000000000000000000000000000000000000000000000000000000006000350473c9ae5868651bf7b7db6e360217db49ce4e69c07e602052730ea65418d7bf32680f55572c943a94b5908049986040526327138bfb81141561038d57600435608052601c6044599059016000905201637a66d7ca601c8203526080516004820152602060e06024836000602051602d5a03f15060e051905060a052601c604459905901600090520163c60409c6601c820352608051600482015260206101206024836000602051602d5a03f150610120519050430561010052600061014052600061016052600061018052600260a051016101005112151561010a576001610140525b60006101a052610100516101c0525b606461010051016101c051121561018457601c606459905901600090520163cc1c944e601c82035260805160048201526101c051602482015260206101e06044836000604051602d5a03f1506101e05190506101a051016101a05260016101c051016101c052610119565b6005601c606459905901600090520163cc1c944e601c820352608051600482015260a051602482015260206102006044836000604051602d5a03f1506102005190501280156101d357806101db565b600a6101a051125b9050156101eb57610140516101ee565b60005b1561033657601c604459905901600090520163c5476efe601c820352608051600482015260206102406024836000602051602d5a03f15061024051905050601c6064599059016000905201637265802d601c82035260805160048201526000602482015260206102606044836000602051602d5a03f15061026051905050601c606459905901600090520163c286273a601c82035260805160048201526000602482015260206102806044836000602051602d5a03f15061028051905050601c6044599059016000905201637a66d7ca601c820352608051600482015260206102a06024836000602051602d5a03f1506102a051905060a052601c608459905901600090520163bb8e4196601c820352608051600482015260a051602482015261010051604482015260206102c06064836000604051602d5a03f1506102c051905050610343565b6001610160526001610180525b61014051156103555761016051610358565b60005b156103665761018051610369565b60005b1561037f5760016102e05260206102e0f361038c565b6000610300526020610300f35b5b50" # noqa: E501 + ), + balance=0, + nonce=0, + ), + sender: Account(nonce=1), + contract_9: Account( storage={ 0: 1, 0xA4470E9D0419DF71F6257FCDFD2C0A3BAD96A23F5AB414BC10AAF1A31A536A7: 0xB4876148229C22BD2291F1A4F5468C8C789B23639370C4D447F270BA341DBBEC, # noqa: E501 @@ -10755,8 +9234,13 @@ def test_block504980( 0xEC5E7F54FA5E516E616B04F9D5A0EE433A80E09ED47D7E5269AFD76C05FF251E: 20, # noqa: E501 0xF9A3BF5F2CCB903EE1A7644113B794DB0260DE404FB8F11203E75A7FFF151618: 0xBD94773C0D85C68240AE8DFD53D9D33CD137509BFC5D3433381299DF768C8377, # noqa: E501 }, + code=bytes.fromhex( + "600061083f537c010000000000000000000000000000000000000000000000000000000060003504637a66d7ca8114156100665760043560405260606060599059016000905260008152604051816020015260008160400152809050205460605260206060f35b63c60409c68114156100a55760043560405260606060599059016000905260008152604051816020015260018160400152809050205460a052602060a0f35b63186335768114156100e45760043560405260606060599059016000905260008152604051816020015260028160400152809050205460e052602060e0f35b63b3903c8a8114156101bc57600435604052606060605990590160009052600081526040518160200152600581604001528090502054610120526101205180602002602001599059016000905281815260208101905090506101605260006101c0525b610120516101c051121561019f57608060805990590160009052600081526040518160200152600481604001526101c051816060015280905020546101c05160200261016051015260016101c051016101c052610147565b6101605160206040820352602060208203510260400160408203f3505b636824e0fb8114156101fd57600435604052606060605990590160009052600081526040518160200152600581604001528090502054610220526020610220f35b633db16be381141561023e57600435604052606060605990590160009052600081526040518160200152600681604001528090502054610260526020610260f35b63c33878588114156102e05760006102a0526000546102c0526102c05180602002602001599059016000905281815260208101905090506102e0525b6102c0516102a05112156102c357604060405990590160009052600181526102a051816020015280905020546102a0516020026102e051015260016102a051016102a05261027a565b6102e05160206040820352602060208203510260400160408203f3505b63175c63228114156102fa57600054610380526020610380f35b63d861f2b4811415610336576004356103a052604060405990590160009052600181526103a051816020015280905020546103c05260206103c0f35b63b0dab01f81141561044f57600435610400526024356104205260443561044052606435610460526000606060605990590160009052600081526104005181602001526001816040015280905020541415610441576104205160606060599059016000905260008152610400518160200152600081604001528090502055610440516060606059905901600090526000815261040051816020015260018160400152809050205561046051606060605990590160009052600081526104005181602001526006816040015280905020556104005160406040599059016000905260018152600054816020015280905020556001600054016000556001610520526020610520f361044e565b6000610540526020610540f35b5b63aac2ffb58114156104b95760043560405260016060606059905901600090526000815260405181602001526002816040015280905020540160606060599059016000905260008152604051816020015260028160400152809050205560016105a05260206105a0f35b637265802d811415610507576004356040526024356105c0526105c0516060606059905901600090526000815260405181602001526002816040015280905020556001610600526020610600f35b63c5476efe811415610571576004356040526001606060605990590160009052600081526040518160200152600081604001528090502054016060606059905901600090526000815260405181602001526000816040015280905020556001610660526020610660f35b63c551e31e81141561063b576004356040526024356106805260606060599059016000905260008152604051816020015260058160400152809050205461012052610680516080608059905901600090526000815260405181602001526004816040015261012051816060015280905020556001606060605990590160009052600081526040518160200152600581604001528090502054016060606059905901600090526000815260405181602001526005816040015280905020556001610720526020610720f35b633d90504581141561067c57600435604052606060605990590160009052600081526040518160200152600381604001528090502054610740526020610740f35b631cda01ef8114156106e65760043560405260016060606059905901600090526000815260405181602001526003816040015280905020540160606060599059016000905260008152604051816020015260038160400152809050205560016107c05260206107c0f35b63c286273a811415610734576004356040526024356107e0526107e0516060606059905901600090526000815260405181602001526003816040015280905020556001610820526020610820f35b50" # noqa: E501 + ), + balance=0, + nonce=0, ), - callee_9: Account( + contract_10: Account( storage={ 0xF299DBBE3A7A5D949FE794E9A47B3106699C8110FF986EB84921C183E69E7F0: 0x2F0000000000000000, # noqa: E501 0x1EDCD36F61CAE5DC6414157DFBADF9F11CA013AC763E27F8AF55FEAA8A239C89: 1, # noqa: E501 @@ -10765,6 +9249,14 @@ def test_block504980( 0xDF1A770F69D93D1719292F384FDB4DA22C0E88AEF2BA462BFF16674BC7848730: 0x1C11AA45C792E202E9FFDC2F12F99D0D209BEF70, # noqa: E501 0xEC5E7F54FA5E516E616B04F9D5A0EE433A80E09ED47D7E5269AFD76C05FF251E: 2, # noqa: E501 }, + nonce=0, + ), + contract_11: Account( + storage={}, + code=bytes.fromhex( + "600061067f537c010000000000000000000000000000000000000000000000000000000060003504632f300bee8114156100ac576004356040526024356060526044356080526002608051018080602002602001599059016000905281815260208101905090506801000000000000000081526060516080516020028201526001604051036001608051016020028201528060206040820352602060208203510260400160408203f35050505b63a647a5b98114156102c85736599059016000905236600482376004356020820101610100526024356020820101610160526044356020820101610180526064356101a05260843560805250602061010051035180806020026020015990590160009052818152602081019050905060005b6101a0518112156101d557600060005b608051811215610162578060200261010051015181608051850201602002610160510151028201915060018101905061012e565b50680100000000000000008105905060005b6080518112156101c857700100000000000000000000000000000000836020026101805101518260805186020160200261016051015184020205816020028501510381602002850152600181019050610174565b505060018101905061011e565b50600060005b60805181121561020357806020028301518160200284015102820191506001810190506101db565b5068010000000000000000810590506002810560005b600b81121561024257600282680100000000000000008502058301059150600181019050610219565b5060005b60805181121561027657816801000000000000000082602002860151020581602002850152600181019050610246565b5050506001608051602002610100510151036080516020028201526001608051016020026101005101516001608051016020028201528060206040820352602060208203510260400160408203f35050505b635b18022981141561037957365990590160009052366004823760043560208201016103005260243560208201016103205260443560805250600060005b60805181121561033f57680100000000000000008160200261032051015182602002610300510151020582019150600181019050610306565b6000610320515114151561036657610320515168010000000000000000830205915061036b565b600091505b81610380526020610380f350505b63f4ca7dc481141561057157365990590160009052366004823760043560208201016103a05260243560208201016103c0526044356101a0526064356080525060206103c051035160026080510a806020026020015990590160009052818152602081019050905060005b60805181121561044d5760005b6080518112156104415768010000000000000000816020026103a0510151836020026103a051015102058160805184020160200284015101816080518402016020028401526001810190506103f1565b506001810190506103e4565b81905090508180602002602001599059016000905281815260208101905090506080516101a05102806020026020015990590160009052818152602081019050905060005b6101a05181121561051e5760005b6080518112156105125760005b608051811215610506576801000000000000000082608051830201602002870151826080518602016020026103c051015102058260805185020160200285015101826080518502016020028501526001810190506104ad565b506001810190506104a0565b50600181019050610492565b819050905060005b848112156105525780602002820151816020026103c05101510381602002840152600181019050610526565b508160206040820352602060208203510260400160408203f350505050505b63232b273481141561069d57365990590160009052366004823760043560208201016106205260243560208201016102805260443560208201016103c052606435610640526084356101a05260a435608052506000610280515112156106025760005b6080518112156106005780602002610280510151600003816020026102805101526001810190506105d4565b505b60005b6101a05181121561067f5760005b60805181121561067357680100000000000000006801000000000000000082602002610280510151610640510205826080518502016020026103c05101510205826020026106205101510182602002610620510152600181019050610613565b50600181019050610605565b6106205160206040820352602060208203510260400160408203f350505b50" # noqa: E501 + ), + nonce=0, ), } diff --git a/tests/ported_static/stSpecialTest/test_deployment_error.py b/tests/ported_static/stSpecialTest/test_deployment_error.py index 87e9206ec50..15f75b9adf3 100644 --- a/tests/ported_static/stSpecialTest/test_deployment_error.py +++ b/tests/ported_static/stSpecialTest/test_deployment_error.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_deployment_error. Ported from: -tests/static/state_tests/stSpecialTest/deploymentErrorFiller.json +state_tests/stSpecialTest/deploymentErrorFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) REFERENCE_SPEC_GIT_PATH = "N/A" @@ -21,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/deploymentErrorFiller.json"], + ["state_tests/stSpecialTest/deploymentErrorFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,8 +31,8 @@ def test_deployment_error( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") + """Test_deployment_error.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,134 +51,17 @@ def test_deployment_error( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "606060405260405160608061100383395060c06040525160805160a05160028054600160" # noqa: E501 - "a060020a031916909317909255600355600455610fbf806100446000396000f360606040" # noqa: E501 - "5236156100a35760e060020a60003504630a19b14a81146100ab578063278b8c0e146100" # noqa: E501 - "e25780632e1a7d4d14610111578063338b5dea1461012557806357786394146101505780" # noqa: E501 - "6365e17c9d146101595780636c86888b1461016b57806393f0bb51146101da5780639e28" # noqa: E501 - "1a9814610207578063c281309e14610232578063d0e30db01461023b578063f7888aec14" # noqa: E501 - "610287578063fb6e155f146102bb575b6103e6610002565b6103e6600435602435604435" # noqa: E501 - "60643560843560a43560c43560e435610104356101243561014435600060003411156104" # noqa: E501 - "2b57610002565b6103e660043560243560443560643560843560a43560c43560e4356101" # noqa: E501 - "0435600060003411156108b457610002565b6103e66004356000341115610ab357610002" # noqa: E501 - "565b6103e66004356024356000341180610146575081600160a060020a03166000145b15" # noqa: E501 - "610b6157610002565b6103e860035481565b6103fa600254600160a060020a031681565b" # noqa: E501 - "61041760043560243560443560643560843560a43560c43560e435610104356101243561" # noqa: E501 - "01443561016435600160a060020a038c8116600090815260208181526040808320938516" # noqa: E501 - "835292905290812054839010801590610c96575082610c938e8e8e8e8e8e8e8e8e8e6102" # noqa: E501 - "df565b6103e660043560243560443560643560843560a43560c43560e435610104356000" # noqa: E501 - "341115610ca457610002565b6103e66004356024356000341180610228575081600160a0" # noqa: E501 - "60020a03166000145b15610d3057610002565b6103e860045481565b6103e633600160a0" # noqa: E501 - "60020a03166000908152600080516020610f9f8339815191526020526040902054610ea3" # noqa: E501 - "90345b6000828201610f8f8482108015906102825750838210155b610660565b6103e860" # noqa: E501 - "0435602435600160a060020a038281166000908152602081815260408083209385168352" # noqa: E501 - "92905220545b92915050565b6103e860043560243560443560643560843560a43560c435" # noqa: E501 - "60e43561010435610124355b600060006000600060028e8e8e8e8e8e6040518087600160" # noqa: E501 - "a060020a0316606060020a02815260140186815260200185600160a060020a0316606060" # noqa: E501 - "020a02815260140184815260200183815260200182815260200196505050505050506020" # noqa: E501 - "604051808303816000866161da5a03f11561000257505060408051805160008281526020" # noqa: E501 - "83810180865283905260ff8c1684860152606084018b9052608084018a90529351919650" # noqa: E501 - "600160a060020a038c169360019360a0808201949293601f198401939283900390910191" # noqa: E501 - "90866161da5a03f11561000257505060206040510351600160a060020a03161480156103" # noqa: E501 - "d75750894311155b1515610f295760009350610f18565b005b6040805191825251908190" # noqa: E501 - "0360200190f35b60408051600160a060020a03929092168252519081900360200190f35b" # noqa: E501 - "604080519115158252519081900360200190f35b60028c8c8c8c8c8c6040518087600160" # noqa: E501 - "a060020a0316606060020a02815260140186815260200185600160a060020a0316606060" # noqa: E501 - "020a02815260140184815260200183815260200182815260200196505050505050506020" # noqa: E501 - "604051808303816000866161da5a03f11561000257505060408051805160008281526020" # noqa: E501 - "83810180865283905260ff8a168486015260608401899052608084018890529351919450" # noqa: E501 - "600160a060020a038a169360019360a0818101949293601f198401939283900390910191" # noqa: E501 - "90866161da5a03f11561000257505060206040510351600160a060020a03161480156105" # noqa: E501 - "1b5750874311155b801561054057506000818152600160205260409020548b9061053d90" # noqa: E501 - "8461026a565b11155b80156105715750600160a060020a038c8116600090815260208181" # noqa: E501 - "5260408083203390941683529290522054829010155b80156105b457508a6105838a8461" # noqa: E501 - "060a565b811561000257600160a060020a038c8116600090815260208181526040808320" # noqa: E501 - "938c16835292905220549190049010155b151561062b57610002565b600160a060020a03" # noqa: E501 - "8d8116600090815260208181526040808320338516845290915280822093909355908816" # noqa: E501 - "8152205460035461066c9190670de0b6b3a7640000906106bc90869083035b6000828202" # noqa: E501 - "610f8f8483148061028257508385838115610002570414610660565b600160a060020a03" # noqa: E501 - "8c811660009081526020818152604080832033909416835292905220546105bf90835b60" # noqa: E501 - "00610f96838311155b801515610ab057610002565b600160a060020a038d811660009081" # noqa: E501 - "52602081815260408083208b851684529091528082209390935560025490911681522054" # noqa: E501 - "6003546106c89190670de0b6b3a7640000906106bc90869061060a565b81156100025704" # noqa: E501 - "61026a565b600160a060020a038d81166000908152602081815260408083206002548516" # noqa: E501 - "84528252808320949094558d83168252818152838220928a168252919091522054610717" # noqa: E501 - "908c61076c8c8661060a565b600160a060020a038b811660009081526020818152604080" # noqa: E501 - "83208b851684529091528082209390935533909116815220546004546107789190670de0" # noqa: E501 - "b6b3a7640000908e906107cd906107e09084038f61060a565b8115610002570461065656" # noqa: E501 - "5b600160a060020a038b8116600090815260208181526040808320338516845290915280" # noqa: E501 - "822093909355600254909116815220546004546107e69190670de0b6b3a7640000908e90" # noqa: E501 - "6107cd906107e0908f61060a565b811561000257048115610002570461026a565b876106" # noqa: E501 - "0a565b600160a060020a038b811660009081526020818152604080832060025490941683" # noqa: E501 - "52928152828220939093558381526001909252902054610827908361026a565b60008281" # noqa: E501 - "52600160205260409020557f6effdda786735d5033bfad5f53e5131abcced9e52be6c507" # noqa: E501 - "b62d639685fbed6d8c838c8e8d830281156100025760408051600160a060020a03968716" # noqa: E501 - "815260208101959095529285168484015204606083015289831660808301523390921660" # noqa: E501 - "a082015290519081900360c00190a1505050505050505050505050565b60028a8a8a8a8a" # noqa: E501 - "8a6040518087600160a060020a0316606060020a02815260140186815260200185600160" # noqa: E501 - "a060020a0316606060020a02815260140184815260200183815260200182815260200196" # noqa: E501 - "505050505050506020604051808303816000866161da5a03f11561000257505060408051" # noqa: E501 - "80516000828152602083810180865283905260ff89168486015260608401889052608084" # noqa: E501 - "01879052935191945033600160a060020a03169360019360a0818101949293601f198401" # noqa: E501 - "93928390039091019190866161da5a03f115610002575050604051601f190151600160a0" # noqa: E501 - "60020a0316146109a257610002565b6000818152600160209081526040918290208b9055" # noqa: E501 - "8151600160a060020a038d811682529181018c90528a821681840152606081018a905260" # noqa: E501 - "80810189905260a081018890523390911660c082015260ff861660e08201526101008101" # noqa: E501 - "859052610120810184905290517f1e0b760c386003e9cb9bcf4fcf3997886042859d9b6e" # noqa: E501 - "d6320e804597fcdb28b0918190036101400190a150505050505050505050565b33600160" # noqa: E501 - "a060020a03166000818152600080516020610f9f83398151915260209081526040808320" # noqa: E501 - "54815193845291830193909352818301849052606082015290517ff341246adaac6f497b" # noqa: E501 - "c2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15b50565b" # noqa: E501 - "33600160a060020a03166000908152600080516020610f9f833981519152602052604090" # noqa: E501 - "205481901015610ae657610002565b33600160a060020a03166000908152600080516020" # noqa: E501 - "610f9f8339815191526020526040902054610b169082610656565b33600160a060020a03" # noqa: E501 - "166000818152600080516020610f9f833981519152602052604080822093909355915190" # noqa: E501 - "9183919081818185876185025a03f1925050501515610a4357610002565b81600160a060" # noqa: E501 - "020a03166323b872dd3330846040518460e060020a0281526004018084600160a060020a" # noqa: E501 - "0316815260200183600160a060020a031681526020018281526020019350505050602060" # noqa: E501 - "405180830381600087803b15610002576161da5a03f11561000257505060405151151590" # noqa: E501 - "50610bdd57610002565b600160a060020a03828116600090815260208181526040808320" # noqa: E501 - "3390941683529290522054610c0c908261026a565b600160a060020a0383811660008181" # noqa: E501 - "526020818152604080832033909516808452948252918290208590558151928352820192" # noqa: E501 - "9092528082018490526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce499" # noqa: E501 - "7762752e3a095284754544f4c709d79181900360800190a15050565b5060015b9c9b5050" # noqa: E501 - "50505050505050505050565b10155b1515610c7f57506000610c83565b60408051600160" # noqa: E501 - "a060020a038b81168252602082018b905289811682840152606082018990526080820188" # noqa: E501 - "905260a08201879052331660c082015260ff851660e08201526101008101849052610120" # noqa: E501 - "810183905290517f91daf02b6d1454acd74c097a67e389a9d9371da3ff51366947022dc3" # noqa: E501 - "6748ce4d918190036101400190a1505050505050505050565b600160a060020a03828116" # noqa: E501 - "600090815260208181526040808320339094168352929052205481901015610d62576100" # noqa: E501 - "02565b600160a060020a0382811660009081526020818152604080832033909416835292" # noqa: E501 - "90522054610d919082610656565b600160a060020a038381166000818152602081815260" # noqa: E501 - "40808320339095168084529482528083209590955584517fa9059cbb0000000000000000" # noqa: E501 - "000000000000000000000000000000000000000081526004810194909452602484018690" # noqa: E501 - "529351919363a9059cbb936044818101949293918390030190829087803b156100025761" # noqa: E501 - "61da5a03f1156100025750506040515115159050610e3057610002565b600160a060020a" # noqa: E501 - "038281166000818152602081815260408083203390951680845294825291829020548251" # noqa: E501 - "93845290830193909352818101849052606082019290925290517ff341246adaac6f497b" # noqa: E501 - "c2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15050565b" # noqa: E501 - "33600160a060020a03166000818152600080516020610f9f833981519152602090815260" # noqa: E501 - "4080832085905580519283529082019290925234818301526060810192909252517fdcbc" # noqa: E501 - "1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7918190036080" # noqa: E501 - "0190a1565b8093505b5050509a9950505050505050505050565b60008381526001602052" # noqa: E501 - "6040902054610f43908e90610656565b600160a060020a038d8116600090815260208181" # noqa: E501 - "526040808320938d16835292905220549092508b90610f76908f61060a565b8115610002" # noqa: E501 - "5704905080821015610f1457819350610f18565b9392505050565b508082036102b556ad" # noqa: E501 - "3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000" # noqa: E501 - "000000000000001ed014aec47fae44c9e55bac7662c0b78ae61798000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000aa87bee538000" + data=Bytes( + "606060405260405160608061100383395060c06040525160805160a05160028054600160a060020a031916909317909255600355600455610fbf806100446000396000f3606060405236156100a35760e060020a60003504630a19b14a81146100ab578063278b8c0e146100e25780632e1a7d4d14610111578063338b5dea14610125578063577863941461015057806365e17c9d146101595780636c86888b1461016b57806393f0bb51146101da5780639e281a9814610207578063c281309e14610232578063d0e30db01461023b578063f7888aec14610287578063fb6e155f146102bb575b6103e6610002565b6103e660043560243560443560643560843560a43560c43560e4356101043561012435610144356000600034111561042b57610002565b6103e660043560243560443560643560843560a43560c43560e43561010435600060003411156108b457610002565b6103e66004356000341115610ab357610002565b6103e66004356024356000341180610146575081600160a060020a03166000145b15610b6157610002565b6103e860035481565b6103fa600254600160a060020a031681565b61041760043560243560443560643560843560a43560c43560e43561010435610124356101443561016435600160a060020a038c8116600090815260208181526040808320938516835292905290812054839010801590610c96575082610c938e8e8e8e8e8e8e8e8e8e6102df565b6103e660043560243560443560643560843560a43560c43560e435610104356000341115610ca457610002565b6103e66004356024356000341180610228575081600160a060020a03166000145b15610d3057610002565b6103e860045481565b6103e633600160a060020a03166000908152600080516020610f9f8339815191526020526040902054610ea390345b6000828201610f8f8482108015906102825750838210155b610660565b6103e8600435602435600160a060020a03828116600090815260208181526040808320938516835292905220545b92915050565b6103e860043560243560443560643560843560a43560c43560e43561010435610124355b600060006000600060028e8e8e8e8e8e6040518087600160a060020a0316606060020a02815260140186815260200185600160a060020a0316606060020a02815260140184815260200183815260200182815260200196505050505050506020604051808303816000866161da5a03f1156100025750506040805180516000828152602083810180865283905260ff8c1684860152606084018b9052608084018a90529351919650600160a060020a038c169360019360a0808201949293601f19840193928390039091019190866161da5a03f11561000257505060206040510351600160a060020a03161480156103d75750894311155b1515610f295760009350610f18565b005b60408051918252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b604080519115158252519081900360200190f35b60028c8c8c8c8c8c6040518087600160a060020a0316606060020a02815260140186815260200185600160a060020a0316606060020a02815260140184815260200183815260200182815260200196505050505050506020604051808303816000866161da5a03f1156100025750506040805180516000828152602083810180865283905260ff8a168486015260608401899052608084018890529351919450600160a060020a038a169360019360a0818101949293601f19840193928390039091019190866161da5a03f11561000257505060206040510351600160a060020a031614801561051b5750874311155b801561054057506000818152600160205260409020548b9061053d908461026a565b11155b80156105715750600160a060020a038c81166000908152602081815260408083203390941683529290522054829010155b80156105b457508a6105838a8461060a565b811561000257600160a060020a038c8116600090815260208181526040808320938c16835292905220549190049010155b151561062b57610002565b600160a060020a038d81166000908152602081815260408083203385168452909152808220939093559088168152205460035461066c9190670de0b6b3a7640000906106bc90869083035b6000828202610f8f8483148061028257508385838115610002570414610660565b600160a060020a038c811660009081526020818152604080832033909416835292905220546105bf90835b6000610f96838311155b801515610ab057610002565b600160a060020a038d81166000908152602081815260408083208b8516845290915280822093909355600254909116815220546003546106c89190670de0b6b3a7640000906106bc90869061060a565b8115610002570461026a565b600160a060020a038d8116600090815260208181526040808320600254851684528252808320949094558d83168252818152838220928a168252919091522054610717908c61076c8c8661060a565b600160a060020a038b81166000908152602081815260408083208b851684529091528082209390935533909116815220546004546107789190670de0b6b3a7640000908e906107cd906107e09084038f61060a565b81156100025704610656565b600160a060020a038b8116600090815260208181526040808320338516845290915280822093909355600254909116815220546004546107e69190670de0b6b3a7640000908e906107cd906107e0908f61060a565b811561000257048115610002570461026a565b8761060a565b600160a060020a038b81166000908152602081815260408083206002549094168352928152828220939093558381526001909252902054610827908361026a565b6000828152600160205260409020557f6effdda786735d5033bfad5f53e5131abcced9e52be6c507b62d639685fbed6d8c838c8e8d830281156100025760408051600160a060020a03968716815260208101959095529285168484015204606083015289831660808301523390921660a082015290519081900360c00190a1505050505050505050505050565b60028a8a8a8a8a8a6040518087600160a060020a0316606060020a02815260140186815260200185600160a060020a0316606060020a02815260140184815260200183815260200182815260200196505050505050506020604051808303816000866161da5a03f1156100025750506040805180516000828152602083810180865283905260ff8916848601526060840188905260808401879052935191945033600160a060020a03169360019360a0818101949293601f19840193928390039091019190866161da5a03f115610002575050604051601f190151600160a060020a0316146109a257610002565b6000818152600160209081526040918290208b90558151600160a060020a038d811682529181018c90528a821681840152606081018a90526080810189905260a081018890523390911660c082015260ff861660e08201526101008101859052610120810184905290517f1e0b760c386003e9cb9bcf4fcf3997886042859d9b6ed6320e804597fcdb28b0918190036101400190a150505050505050505050565b33600160a060020a03166000818152600080516020610f9f8339815191526020908152604080832054815193845291830193909352818301849052606082015290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15b50565b33600160a060020a03166000908152600080516020610f9f833981519152602052604090205481901015610ae657610002565b33600160a060020a03166000908152600080516020610f9f8339815191526020526040902054610b169082610656565b33600160a060020a03166000818152600080516020610f9f8339815191526020526040808220939093559151909183919081818185876185025a03f1925050501515610a4357610002565b81600160a060020a03166323b872dd3330846040518460e060020a0281526004018084600160a060020a0316815260200183600160a060020a031681526020018281526020019350505050602060405180830381600087803b15610002576161da5a03f1156100025750506040515115159050610bdd57610002565b600160a060020a038281166000908152602081815260408083203390941683529290522054610c0c908261026a565b600160a060020a03838116600081815260208181526040808320339095168084529482529182902085905581519283528201929092528082018490526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a15050565b5060015b9c9b505050505050505050505050565b10155b1515610c7f57506000610c83565b60408051600160a060020a038b81168252602082018b905289811682840152606082018990526080820188905260a08201879052331660c082015260ff851660e08201526101008101849052610120810183905290517f91daf02b6d1454acd74c097a67e389a9d9371da3ff51366947022dc36748ce4d918190036101400190a1505050505050505050565b600160a060020a03828116600090815260208181526040808320339094168352929052205481901015610d6257610002565b600160a060020a038281166000908152602081815260408083203390941683529290522054610d919082610656565b600160a060020a03838116600081815260208181526040808320339095168084529482528083209590955584517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018690529351919363a9059cbb936044818101949293918390030190829087803b15610002576161da5a03f1156100025750506040515115159050610e3057610002565b600160a060020a03828116600081815260208181526040808320339095168084529482529182902054825193845290830193909352818101849052606082019290925290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15050565b33600160a060020a03166000818152600080516020610f9f8339815191526020908152604080832085905580519283529082019290925234818301526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a1565b8093505b5050509a9950505050505050505050565b600083815260016020526040902054610f43908e90610656565b600160a060020a038d8116600090815260208181526040808320938d16835292905220549092508b90610f76908f61060a565b81156100025704905080821015610f1457819350610f18565b9392505050565b508082036102b556ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000001ed014aec47fae44c9e55bac7662c0b78ae617980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aa87bee538000" # noqa: E501 ), gas_limit=5000000, ) post = { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={ - 2: 0x1ED014AEC47FAE44C9E55BAC7662C0B78AE61798, - 4: 0xAA87BEE538000, - }, + compute_create_address(address=sender, nonce=0): Account( + code=bytes.fromhex( + "606060405236156100a35760e060020a60003504630a19b14a81146100ab578063278b8c0e146100e25780632e1a7d4d14610111578063338b5dea14610125578063577863941461015057806365e17c9d146101595780636c86888b1461016b57806393f0bb51146101da5780639e281a9814610207578063c281309e14610232578063d0e30db01461023b578063f7888aec14610287578063fb6e155f146102bb575b6103e6610002565b6103e660043560243560443560643560843560a43560c43560e4356101043561012435610144356000600034111561042b57610002565b6103e660043560243560443560643560843560a43560c43560e43561010435600060003411156108b457610002565b6103e66004356000341115610ab357610002565b6103e66004356024356000341180610146575081600160a060020a03166000145b15610b6157610002565b6103e860035481565b6103fa600254600160a060020a031681565b61041760043560243560443560643560843560a43560c43560e43561010435610124356101443561016435600160a060020a038c8116600090815260208181526040808320938516835292905290812054839010801590610c96575082610c938e8e8e8e8e8e8e8e8e8e6102df565b6103e660043560243560443560643560843560a43560c43560e435610104356000341115610ca457610002565b6103e66004356024356000341180610228575081600160a060020a03166000145b15610d3057610002565b6103e860045481565b6103e633600160a060020a03166000908152600080516020610f9f8339815191526020526040902054610ea390345b6000828201610f8f8482108015906102825750838210155b610660565b6103e8600435602435600160a060020a03828116600090815260208181526040808320938516835292905220545b92915050565b6103e860043560243560443560643560843560a43560c43560e43561010435610124355b600060006000600060028e8e8e8e8e8e6040518087600160a060020a0316606060020a02815260140186815260200185600160a060020a0316606060020a02815260140184815260200183815260200182815260200196505050505050506020604051808303816000866161da5a03f1156100025750506040805180516000828152602083810180865283905260ff8c1684860152606084018b9052608084018a90529351919650600160a060020a038c169360019360a0808201949293601f19840193928390039091019190866161da5a03f11561000257505060206040510351600160a060020a03161480156103d75750894311155b1515610f295760009350610f18565b005b60408051918252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b604080519115158252519081900360200190f35b60028c8c8c8c8c8c6040518087600160a060020a0316606060020a02815260140186815260200185600160a060020a0316606060020a02815260140184815260200183815260200182815260200196505050505050506020604051808303816000866161da5a03f1156100025750506040805180516000828152602083810180865283905260ff8a168486015260608401899052608084018890529351919450600160a060020a038a169360019360a0818101949293601f19840193928390039091019190866161da5a03f11561000257505060206040510351600160a060020a031614801561051b5750874311155b801561054057506000818152600160205260409020548b9061053d908461026a565b11155b80156105715750600160a060020a038c81166000908152602081815260408083203390941683529290522054829010155b80156105b457508a6105838a8461060a565b811561000257600160a060020a038c8116600090815260208181526040808320938c16835292905220549190049010155b151561062b57610002565b600160a060020a038d81166000908152602081815260408083203385168452909152808220939093559088168152205460035461066c9190670de0b6b3a7640000906106bc90869083035b6000828202610f8f8483148061028257508385838115610002570414610660565b600160a060020a038c811660009081526020818152604080832033909416835292905220546105bf90835b6000610f96838311155b801515610ab057610002565b600160a060020a038d81166000908152602081815260408083208b8516845290915280822093909355600254909116815220546003546106c89190670de0b6b3a7640000906106bc90869061060a565b8115610002570461026a565b600160a060020a038d8116600090815260208181526040808320600254851684528252808320949094558d83168252818152838220928a168252919091522054610717908c61076c8c8661060a565b600160a060020a038b81166000908152602081815260408083208b851684529091528082209390935533909116815220546004546107789190670de0b6b3a7640000908e906107cd906107e09084038f61060a565b81156100025704610656565b600160a060020a038b8116600090815260208181526040808320338516845290915280822093909355600254909116815220546004546107e69190670de0b6b3a7640000908e906107cd906107e0908f61060a565b811561000257048115610002570461026a565b8761060a565b600160a060020a038b81166000908152602081815260408083206002549094168352928152828220939093558381526001909252902054610827908361026a565b6000828152600160205260409020557f6effdda786735d5033bfad5f53e5131abcced9e52be6c507b62d639685fbed6d8c838c8e8d830281156100025760408051600160a060020a03968716815260208101959095529285168484015204606083015289831660808301523390921660a082015290519081900360c00190a1505050505050505050505050565b60028a8a8a8a8a8a6040518087600160a060020a0316606060020a02815260140186815260200185600160a060020a0316606060020a02815260140184815260200183815260200182815260200196505050505050506020604051808303816000866161da5a03f1156100025750506040805180516000828152602083810180865283905260ff8916848601526060840188905260808401879052935191945033600160a060020a03169360019360a0818101949293601f19840193928390039091019190866161da5a03f115610002575050604051601f190151600160a060020a0316146109a257610002565b6000818152600160209081526040918290208b90558151600160a060020a038d811682529181018c90528a821681840152606081018a90526080810189905260a081018890523390911660c082015260ff861660e08201526101008101859052610120810184905290517f1e0b760c386003e9cb9bcf4fcf3997886042859d9b6ed6320e804597fcdb28b0918190036101400190a150505050505050505050565b33600160a060020a03166000818152600080516020610f9f8339815191526020908152604080832054815193845291830193909352818301849052606082015290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15b50565b33600160a060020a03166000908152600080516020610f9f833981519152602052604090205481901015610ae657610002565b33600160a060020a03166000908152600080516020610f9f8339815191526020526040902054610b169082610656565b33600160a060020a03166000818152600080516020610f9f8339815191526020526040808220939093559151909183919081818185876185025a03f1925050501515610a4357610002565b81600160a060020a03166323b872dd3330846040518460e060020a0281526004018084600160a060020a0316815260200183600160a060020a031681526020018281526020019350505050602060405180830381600087803b15610002576161da5a03f1156100025750506040515115159050610bdd57610002565b600160a060020a038281166000908152602081815260408083203390941683529290522054610c0c908261026a565b600160a060020a03838116600081815260208181526040808320339095168084529482529182902085905581519283528201929092528082018490526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a15050565b5060015b9c9b505050505050505050505050565b10155b1515610c7f57506000610c83565b60408051600160a060020a038b81168252602082018b905289811682840152606082018990526080820188905260a08201879052331660c082015260ff851660e08201526101008101849052610120810183905290517f91daf02b6d1454acd74c097a67e389a9d9371da3ff51366947022dc36748ce4d918190036101400190a1505050505050505050565b600160a060020a03828116600090815260208181526040808320339094168352929052205481901015610d6257610002565b600160a060020a038281166000908152602081815260408083203390941683529290522054610d919082610656565b600160a060020a03838116600081815260208181526040808320339095168084529482528083209590955584517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018690529351919363a9059cbb936044818101949293918390030190829087803b15610002576161da5a03f1156100025750506040515115159050610e3057610002565b600160a060020a03828116600081815260208181526040808320339095168084529482529182902054825193845290830193909352818101849052606082019290925290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15050565b33600160a060020a03166000818152600080516020610f9f8339815191526020908152604080832085905580519283529082019290925234818301526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a1565b8093505b5050509a9950505050505050505050565b600083815260016020526040902054610f43908e90610656565b600160a060020a038d8116600090815260208181526040808320938d16835292905220549092508b90610f76908f61060a565b81156100025704905080821015610f1457819350610f18565b9392505050565b508082036102b556ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5" # noqa: E501 + ), ), } diff --git a/tests/ported_static/stSpecialTest/test_eoa_empty_paris.py b/tests/ported_static/stSpecialTest/test_eoa_empty_paris.py index 1491418b02e..12c51407162 100644 --- a/tests/ported_static/stSpecialTest/test_eoa_empty_paris.py +++ b/tests/ported_static/stSpecialTest/test_eoa_empty_paris.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_eoa_empty_paris. Ported from: -tests/static/state_tests/stSpecialTest/eoaEmptyParisFiller.yml +state_tests/stSpecialTest/eoaEmptyParisFiller.yml """ import pytest @@ -11,11 +11,17 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, TransactionException, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,183 +29,61 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/eoaEmptyParisFiller.yml"], + ["state_tests/stSpecialTest/eoaEmptyParisFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, tx_error, expected_post", + "d, g, v", [ pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 10000000, 0, - None, - { - Address("0x000000000000000000000000000000000000bad4"): Account( - storage={57005: 48879} - ), - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={ - 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 241: 118, - 255: 7626, - 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - } - ), - }, - id="case0", + 0, + 0, + id="d0-g0-v0", ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 10000000, - 100, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - { - Address("0x000000000000000000000000000000000000bad4"): Account( - storage={57005: 48879} - ) - }, - id="case1", + 0, + 0, + 1, + id="d0-g0-v1", marks=pytest.mark.exception_test, ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 9999999, 0, - None, - { - Address("0x000000000000000000000000000000000000bad4"): Account( - storage={57005: 48879} - ), - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={ - 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 49: 100, - 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 241: 118, - 255: 7626, - 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - } - ), - }, - id="case2", + 1, + 0, + id="d0-g1-v0", ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 9999999, - 100, - None, - { - Address("0x000000000000000000000000000000000000bad4"): Account( - storage={57005: 48879} - ), - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={ - 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 241: 118, - 255: 7626, - 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - } - ), - }, - id="case3", + 0, + 1, + 1, + id="d0-g1-v1", ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 10000000, + 1, 0, - None, - { - Address("0x000000000000000000000000000000000000bad4"): Account( - storage={57005: 48879} - ), - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={ - 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 241: 6818, - 255: 7626, - 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - } - ), - }, - id="case4", + 0, + id="d1-g0-v0", ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 10000000, - 100, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - { - Address("0x000000000000000000000000000000000000bad4"): Account( - storage={57005: 48879} - ) - }, - id="case5", + 1, + 0, + 1, + id="d1-g0-v1", marks=pytest.mark.exception_test, ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 9999999, + 1, + 1, 0, - None, - { - Address("0x000000000000000000000000000000000000bad4"): Account( - storage={57005: 48879} - ), - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={ - 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 49: 100, - 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 241: 6818, - 255: 7626, - 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - } - ), - }, - id="case6", + id="d1-g1-v0", ), pytest.param( - "693c61390000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 9999999, - 100, - None, - { - Address("0x000000000000000000000000000000000000bad4"): Account( - storage={57005: 48879} - ), - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={ - 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 241: 6818, - 255: 7626, - 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 - } - ), - }, - id="case7", + 1, + 1, + 1, + id="d1-g1-v1", ), ], ) @@ -207,21 +91,22 @@ def test_eoa_empty_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - tx_error: object, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_eoa_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000BAD1) + contract_1 = Address(0x000000000000000000000000000000000000BAD2) + contract_2 = Address(0x000000000000000000000000000000000000BAD3) + contract_3 = Address(0x000000000000000000000000000000000000BAD4) + contract_4 = Address(0x000000000000000000000000000000000000DEAD) + contract_5 = Address(0x000000000000000000000000000000000000C0DE) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - callee = Address("0x000000000000000000000000000000000000bad1") - callee_1 = Address("0x000000000000000000000000000000000000bad2") - callee_2 = Address("0x000000000000000000000000000000000000bad3") - callee_3 = Address("0x000000000000000000000000000000000000bad4") env = Environment( fee_recipient=coinbase, @@ -232,11 +117,52 @@ def test_eoa_empty_paris( gas_limit=89128960, ) - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=0, nonce=1) - pre[callee_2] = Account(balance=1, nonce=1) - pre[callee_3] = Account(balance=10, nonce=0, storage={0xDEAD: 0xBEEF}) - # Source: Yul + pre[sender] = Account(balance=0x3B9ACA00) + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=0, + address=Address(0x000000000000000000000000000000000000BAD1), # noqa: E501 + ) + # Source: hex + # 0x + contract_1 = pre.deploy_contract( # noqa: F841 + code="", + nonce=1, + address=Address(0x000000000000000000000000000000000000BAD2), # noqa: E501 + ) + # Source: hex + # 0x + contract_2 = pre.deploy_contract( # noqa: F841 + code="", + balance=1, + nonce=1, + address=Address(0x000000000000000000000000000000000000BAD3), # noqa: E501 + ) + # Source: hex + # 0x + contract_3 = pre.deploy_contract( # noqa: F841 + code="", + storage={57005: 48879}, + balance=10, + nonce=0, + address=Address(0x000000000000000000000000000000000000BAD4), # noqa: E501 + ) + # Source: yul + # berlin + # { + # selfdestruct(origin()) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=Op.ORIGIN), + balance=10000, + nonce=1, + address=Address(0x000000000000000000000000000000000000DEAD), # noqa: E501 + ) + # Source: yul + # berlin # { # let eoa := origin() // external owner account # sstore(0, eoa) @@ -260,77 +186,211 @@ def test_eoa_empty_paris( # pop(call(gas(), 0xDEAD, 0, 0, 0, 0, 0)) # sstore(0xFF, sub(gas0, gas())) # } - contract = pre.deploy_contract( - code=( - Op.ORIGIN - + Op.SSTORE(key=0x0, value=Op.DUP1) - + Op.SSTORE(key=0x31, value=Op.BALANCE(address=Op.DUP1)) - + Op.SSTORE(key=0x3B, value=Op.EXTCODESIZE(address=Op.DUP1)) - + Op.SSTORE(key=0x3F, value=Op.EXTCODEHASH(address=Op.DUP1)) - + Op.SSTORE( - key=0x13F, - value=Op.EXTCODEHASH(address=Op.ADD(Op.DUP2, 0x1)), - ) - + Op.SSTORE(key=0xBAD1, value=Op.EXTCODEHASH(address=0xBAD1)) - + Op.SSTORE(key=0xBAD2, value=Op.EXTCODEHASH(address=0xBAD2)) - + Op.SSTORE(key=0xBAD3, value=Op.EXTCODEHASH(address=0xBAD3)) - + Op.SSTORE(key=0xBAD4, value=Op.EXTCODEHASH(address=0xBAD4)) - + Op.SSTORE(key=0xBAD5, value=Op.EXTCODEHASH(address=0xBAD5)) - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.GAS - + Op.SWAP5 - + Op.CALLDATALOAD(offset=0x4) - + Op.SWAP1 - + Op.GAS - + Op.POP(Op.CALL) - + Op.GAS - + Op.SWAP1 - + Op.SSTORE(key=0xF1, value=Op.SUB) - + Op.GAS - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=Op.DUP1, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.ORIGIN + + Op.SSTORE(key=0x0, value=Op.DUP1) + + Op.SSTORE(key=0x31, value=Op.BALANCE(address=Op.DUP1)) + + Op.SSTORE(key=0x3B, value=Op.EXTCODESIZE(address=Op.DUP1)) + + Op.SSTORE(key=0x3F, value=Op.EXTCODEHASH(address=Op.DUP1)) + + Op.SSTORE( + key=0x13F, value=Op.EXTCODEHASH(address=Op.ADD(Op.DUP2, 0x1)) + ) + + Op.SSTORE(key=0xBAD1, value=Op.EXTCODEHASH(address=0xBAD1)) + + Op.SSTORE(key=0xBAD2, value=Op.EXTCODEHASH(address=0xBAD2)) + + Op.SSTORE(key=0xBAD3, value=Op.EXTCODEHASH(address=0xBAD3)) + + Op.SSTORE(key=0xBAD4, value=Op.EXTCODEHASH(address=0xBAD4)) + + Op.SSTORE(key=0xBAD5, value=Op.EXTCODEHASH(address=0xBAD5)) + + Op.PUSH1[0x0] + + Op.DUP1 * 3 + + Op.GAS + + Op.SWAP5 + + Op.CALLDATALOAD(offset=0x4) + + Op.SWAP1 + + Op.GAS + + Op.POP(Op.CALL) + + Op.GAS + + Op.SWAP1 + + Op.SSTORE(key=0xF1, value=Op.SUB) + + Op.GAS + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.GAS - + Op.SWAP1 - + Op.SSTORE(key=0xFF, value=Op.SUB) - + Op.STOP - ), - address=Address("0x000000000000000000000000000000000000c0de"), # noqa: E501 - ) - # Source: Yul - # { - # selfdestruct(origin()) - # } - pre.deploy_contract( - code=Op.SELFDESTRUCT(address=Op.ORIGIN), - balance=0x2710, - address=Address("0x000000000000000000000000000000000000dead"), # noqa: E501 + ) + + Op.GAS + + Op.SWAP1 + + Op.SSTORE(key=0xFF, value=Op.SUB) + + Op.STOP, + nonce=1, + address=Address(0x000000000000000000000000000000000000C0DE), # noqa: E501 ) - pre[sender] = Account(balance=0x3B9ACA00) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_5: Account( + storage={ + 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 49: 0, + 59: 0, + 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 241: 118, + 255: 7626, + 319: 0, + 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": 0}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_5: Account( + storage={ + 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 49: 0, + 59: 0, + 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 241: 6818, + 255: 7626, + 319: 0, + 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": -1, "gas": 0, "value": 1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS + }, + }, + { + "indexes": {"data": 0, "gas": 1, "value": 0}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_5: Account( + storage={ + 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 49: 100, + 59: 0, + 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 241: 118, + 255: 7626, + 319: 0, + 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": 1, "gas": 1, "value": 0}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_5: Account( + storage={ + 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 49: 100, + 59: 0, + 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 241: 6818, + 255: 7626, + 319: 0, + 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": 0, "gas": 1, "value": 1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_5: Account( + storage={ + 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 49: 0, + 59: 0, + 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 241: 118, + 255: 7626, + 319: 0, + 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": 1, "gas": 1, "value": 1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_5: Account( + storage={ + 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 49: 0, + 59: 0, + 63: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 241: 6818, + 255: 7626, + 319: 0, + 47825: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47826: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47827: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + 47828: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + ] + tx_gas = [10000000, 9999999] + tx_value = [0, 100] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, + to=contract_5, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], gas_price=100, - value=tx_value, - error=tx_error, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_failed_create_reverts_deletion_paris.py b/tests/ported_static/stSpecialTest/test_failed_create_reverts_deletion_paris.py index ce73a832a6a..cb4da7c841c 100644 --- a/tests/ported_static/stSpecialTest/test_failed_create_reverts_deletion_paris.py +++ b/tests/ported_static/stSpecialTest/test_failed_create_reverts_deletion_paris.py @@ -2,8 +2,7 @@ A modification of stRevertTests/RevertInCreateInInit. That test, for... Ported from: -tests/static/state_tests/stSpecialTest -FailedCreateRevertsDeletionParisFiller.json +state_tests/stSpecialTest/FailedCreateRevertsDeletionParisFiller.json """ import pytest @@ -16,15 +15,14 @@ StateTestFiller, Transaction, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSpecialTest/FailedCreateRevertsDeletionParisFiller.json", # noqa: E501 - ], + ["state_tests/stSpecialTest/FailedCreateRevertsDeletionParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,12 +30,12 @@ def test_failed_create_reverts_deletion_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """A modification of stRevertTests/RevertInCreateInInit. That test,...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """A modification of stRevertTests/RevertInCreateInInit.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x834185262E53584684BF2B72C64E510013C235D0F45E462DB65900455DF45A35 ) - contract = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -48,20 +46,26 @@ def test_failed_create_reverts_deletion_paris( gas_limit=43218108416, ) - pre[contract] = Account(balance=10, nonce=0, storage={0x0: 0x1}) + pre[addr] = Account(balance=10, storage={0: 1}) pre[sender] = Account(balance=0x6400000000) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "3050600d80601360003960006000f050fe00fe6211223360005260206000fd00" - ), + data=Op.POP(Op.ADDRESS) + + Op.PUSH1[0xD] + + Op.CODECOPY(dest_offset=0x0, offset=0x13, size=Op.DUP1) + + Op.PUSH1[0x0] * 2 + + Op.POP(Op.CREATE) + + Op.INVALID + + Op.STOP + + Op.INVALID + + Op.MSTORE(offset=0x0, value=0x112233) + + Op.REVERT(offset=0x0, size=0x20) + + Op.STOP, gas_limit=100000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {addr: Account(storage={0: 1}, balance=10)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_failed_tx_xcf416c53_paris.py b/tests/ported_static/stSpecialTest/test_failed_tx_xcf416c53_paris.py index 3460a4d9ce5..7c16045ccf5 100644 --- a/tests/ported_static/stSpecialTest/test_failed_tx_xcf416c53_paris.py +++ b/tests/ported_static/stSpecialTest/test_failed_tx_xcf416c53_paris.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_failed_tx_xcf416c53_paris. Ported from: -tests/static/state_tests/stSpecialTest/failed_tx_xcf416c53_ParisFiller.json +state_tests/stSpecialTest/failed_tx_xcf416c53_ParisFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,23 +24,20 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSpecialTest/failed_tx_xcf416c53_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stSpecialTest/failed_tx_xcf416c53_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_failed_tx_xcf416c53_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") + """Test_failed_tx_xcf416c53_paris.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( - key=0x0FF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B + key=0xFF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,245 +48,60 @@ def test_failed_tx_xcf416c53_paris( gas_limit=200000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, + # Source: raw + # 0x7c0100000000000000000000000000000000000000000000000000000000600035046397dd3054811415610065576004356040526024356060526040516060515b808212156100625760006000600060006000866000f150600182019150610040565b50505b50 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI( + pc=Op.PUSH2[0x65], condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x97DD3054)) + ) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MLOAD(offset=0x40) + + Op.MLOAD(offset=0x60) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0x62], condition=Op.ISZERO(Op.SLT(Op.DUP3, Op.DUP1)) + ) + + Op.POP( + Op.CALL( + gas=0x0, + address=Op.DUP7, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPI( - pc=Op.PUSH2[0x65], - condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x97DD3054)), - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MLOAD(offset=0x40) - + Op.MLOAD(offset=0x60) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x62], - condition=Op.ISZERO(Op.SLT(Op.DUP3, Op.DUP1)), - ) - + Op.POP( - Op.CALL( - gas=0x0, - address=Op.DUP7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.ADD(Op.DUP3, 0x1) - + Op.SWAP2 - + Op.POP - + Op.JUMP(pc=Op.PUSH2[0x40]) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.POP - ), - nonce=0, - address=Address("0x7e6e9b4ca1b88937abeaec23bc4b6986caf05188"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "97dd30540000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000002bc" - ), - gas_limit=16300000, - nonce=1, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stSpecialTest/failed_tx_xcf416c53_ParisFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable -def test_failed_tx_xcf416c53_paris_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") - sender = EOA( - key=0x0FF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B - ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=200000000, - ) - - pre[callee] = Account(balance=10, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI( - pc=Op.PUSH2[0x65], - condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x97DD3054)), - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MLOAD(offset=0x40) - + Op.MLOAD(offset=0x60) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x62], - condition=Op.ISZERO(Op.SLT(Op.DUP3, Op.DUP1)), - ) - + Op.POP( - Op.CALL( - gas=0x0, - address=Op.DUP7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.ADD(Op.DUP3, 0x1) - + Op.SWAP2 - + Op.POP - + Op.JUMP(pc=Op.PUSH2[0x40]) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.POP - ), - nonce=0, - address=Address("0x7e6e9b4ca1b88937abeaec23bc4b6986caf05188"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "97dd30540000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000002bc" - ), - gas_limit=16300000, - nonce=1, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stSpecialTest/failed_tx_xcf416c53_ParisFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.pre_alloc_mutable -def test_failed_tx_xcf416c53_paris_from_osaka( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") - sender = EOA( - key=0x0FF8D58222F34F6890DDAA468C023B77D6691ED7D3C4DCDDAE38336212FAF54B - ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=200000000, - ) - - pre[callee] = Account(balance=10, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI( - pc=Op.PUSH2[0x65], - condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x97DD3054)), - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MLOAD(offset=0x40) - + Op.MLOAD(offset=0x60) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0x62], - condition=Op.ISZERO(Op.SLT(Op.DUP3, Op.DUP1)), - ) - + Op.POP( - Op.CALL( - gas=0x0, - address=Op.DUP7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.ADD(Op.DUP3, 0x1) - + Op.SWAP2 - + Op.POP - + Op.JUMP(pc=Op.PUSH2[0x40]) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.JUMPDEST - + Op.POP - ), + ) + + Op.ADD(Op.DUP3, 0x1) + + Op.SWAP2 + + Op.POP + + Op.JUMP(pc=Op.PUSH2[0x40]) + + Op.JUMPDEST + + Op.POP * 2 + + Op.JUMPDEST + + Op.POP, nonce=0, - address=Address("0x7e6e9b4ca1b88937abeaec23bc4b6986caf05188"), # noqa: E501 + address=Address(0x7E6E9B4CA1B88937ABEAEC23BC4B6986CAF05188), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "97dd30540000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000002bc" - ), + to=target, + data=Bytes("97dd3054") + Hash(0x0) + Hash(0x2BC), gas_limit=16300000, nonce=1, ) - post: dict = {} + post = { + sender: Account(nonce=2), + addr: Account(balance=10), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_gas_price0.py b/tests/ported_static/stSpecialTest/test_gas_price0.py index 3cf7b5a2bdc..6ca472522c2 100644 --- a/tests/ported_static/stSpecialTest/test_gas_price0.py +++ b/tests/ported_static/stSpecialTest/test_gas_price0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_gas_price0. Ported from: -tests/static/state_tests/stSpecialTest/gasPrice0Filler.json +state_tests/stSpecialTest/gasPrice0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/gasPrice0Filler.json"], + ["state_tests/stSpecialTest/gasPrice0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_gas_price0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_gas_price0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,24 +46,24 @@ def test_gas_price0( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x6001600101600055 + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=656192, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 2}), - } + post = {target: Account(storage={0: 2})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_jumpdest_attack.py b/tests/ported_static/stSpecialTest/test_jumpdest_attack.py index 35f83a3b0e1..3007372aed1 100644 --- a/tests/ported_static/stSpecialTest/test_jumpdest_attack.py +++ b/tests/ported_static/stSpecialTest/test_jumpdest_attack.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_jumpdest_attack. Ported from: -tests/static/state_tests/stSpecialTest/JUMPDEST_AttackFiller.json +state_tests/stSpecialTest/JUMPDEST_AttackFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/JUMPDEST_AttackFiller.json"], + ["state_tests/stSpecialTest/JUMPDEST_AttackFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_jumpdest_attack( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_jumpdest_attack.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,34 +47,34 @@ def test_jumpdest_attack( gas_limit=1000000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=Op.SUB(Op.GAS, 0xC350), - address=Op.ADDRESS, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - + Op.JUMPDEST * 15000 - ), + # Source: raw + # 0x600060006000600060003061c3505a03f1005b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.SUB(Op.GAS, 0xC350), + address=Op.ADDRESS, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP + + Op.JUMPDEST * 15000, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbc04ef30ba9ea0f7ce4543bac777f6aad09a2096"), # noqa: E501 + address=Address(0xBC04EF30BA9EA0F7CE4543BAC777F6AAD09A2096), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_jumpdest_attackwith_jump.py b/tests/ported_static/stSpecialTest/test_jumpdest_attackwith_jump.py index 5f9b88a8fc5..927bbb4b8fd 100644 --- a/tests/ported_static/stSpecialTest/test_jumpdest_attackwith_jump.py +++ b/tests/ported_static/stSpecialTest/test_jumpdest_attackwith_jump.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_jumpdest_attackwith_jump. Ported from: -tests/static/state_tests/stSpecialTest/JUMPDEST_AttackwithJumpFiller.json +state_tests/stSpecialTest/JUMPDEST_AttackwithJumpFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSpecialTest/JUMPDEST_AttackwithJumpFiller.json", # noqa: E501 - ], + ["state_tests/stSpecialTest/JUMPDEST_AttackwithJumpFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -33,8 +32,8 @@ def test_jumpdest_attackwith_jump( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_jumpdest_attackwith_jump.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -48,36 +47,36 @@ def test_jumpdest_attackwith_jump( gas_limit=1000000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMP(pc=0x3) - + Op.JUMPDEST - + Op.CALL( - gas=Op.SUB(Op.GAS, 0xC350), - address=Op.ADDRESS, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - + Op.JUMPDEST * 15000 - ), + # Source: raw + # 0x6003565b600060006000600060003061c3505a03f1005b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0x3) + + Op.JUMPDEST + + Op.CALL( + gas=Op.SUB(Op.GAS, 0xC350), + address=Op.ADDRESS, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP + + Op.JUMPDEST * 15000, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3f9d62603c0d43765c8bc6ef623e68a4fc7d78eb"), # noqa: E501 + address=Address(0x3F9D62603C0D43765C8BC6EF623E68A4FC7D78EB), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_make_money.py b/tests/ported_static/stSpecialTest/test_make_money.py index 332ea2194dd..fd59a272d80 100644 --- a/tests/ported_static/stSpecialTest/test_make_money.py +++ b/tests/ported_static/stSpecialTest/test_make_money.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_make_money. Ported from: -tests/static/state_tests/stSpecialTest/makeMoneyFiller.json +state_tests/stSpecialTest/makeMoneyFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/makeMoneyFiller.json"], + ["state_tests/stSpecialTest/makeMoneyFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_make_money( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_make_money.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -45,54 +46,50 @@ def test_make_money( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f20060003554156009570060203560003555) (CALL 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F20060003554156009570060203560003555, # noqa: E501 - ) - + Op.CALL( - gas=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC, # noqa: E501 - address=0x802EDCCF6CDE9162A05FD89CDFCD8DC4A230B978, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F20060003554156009570060203560003555, + ) + + Op.CALL( + gas=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC, # noqa: E501 + address=0x802EDCCF6CDE9162A05FD89CDFCD8DC4A230B978, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x56f6da36928bffd1fdb9eade8a5b8baffde0dea4"), # noqa: E501 + address=Address(0x56F6DA36928BFFD1FDB9EADE8A5B8BAFFDE0DEA4), # noqa: E501 ) - # Source: raw bytecode - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.SSTORE(key=0x2, value=Op.ORIGIN) - ), + pre[sender] = Account(balance=0x3B9ACA00) + # Source: raw + # 0x600160015532600255 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=Op.ORIGIN), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x802edccf6cde9162a05fd89cdfcd8dc4a230b978"), # noqa: E501 + address=Address(0x802EDCCF6CDE9162A05FD89CDFCD8DC4A230B978), # noqa: E501 ) - pre[sender] = Account(balance=0x3B9ACA00) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=228500, value=10, ) post = { - callee: Account( - storage={ - 1: 1, - 2: 0xC4A2CA1058DF329E5DA4755F9921DDAF05CBAA06, - }, - ), + target: Account(balance=0xDE0B6B3A763FFF3), + sender: Account(balance=0x3B8F6A16), + addr: Account(balance=0xDE0B6B3A7640017), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_overflow_gas_make_money.py b/tests/ported_static/stSpecialTest/test_overflow_gas_make_money.py index 6c3f2d0e918..b124fcd7b5a 100644 --- a/tests/ported_static/stSpecialTest/test_overflow_gas_make_money.py +++ b/tests/ported_static/stSpecialTest/test_overflow_gas_make_money.py @@ -2,7 +2,7 @@ Apparently this test was testing theoretical issue occur when tr gas >... Ported from: -tests/static/state_tests/stSpecialTest/OverflowGasMakeMoneyFiller.json +state_tests/stSpecialTest/OverflowGasMakeMoneyFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,7 +22,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/OverflowGasMakeMoneyFiller.json"], + ["state_tests/stSpecialTest/OverflowGasMakeMoneyFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,11 +31,10 @@ def test_overflow_gas_make_money( pre: Alloc, ) -> None: """Apparently this test was testing theoretical issue occur when tr...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4C30106C229CD77A61E9EAB5FCEE11CC912BF94F785EE56F406817744BB6A074 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -49,11 +49,12 @@ def test_overflow_gas_make_money( tx = Transaction( sender=sender, - to=contract, + to=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + data=Bytes(""), gas_limit=100000, value=501, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_push32without_byte.py b/tests/ported_static/stSpecialTest/test_push32without_byte.py index b7e4e1c6472..734c570bb64 100644 --- a/tests/ported_static/stSpecialTest/test_push32without_byte.py +++ b/tests/ported_static/stSpecialTest/test_push32without_byte.py @@ -1,8 +1,8 @@ """ -push expect 32 bytes. but we have only 10 byte. +Push expect 32 bytes. but we have only 10 byte. Ported from: -tests/static/state_tests/stSpecialTest/push32withoutByteFiller.json +state_tests/stSpecialTest/push32withoutByteFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,7 +22,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/push32withoutByteFiller.json"], + ["state_tests/stSpecialTest/push32withoutByteFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,10 +30,10 @@ def test_push32without_byte( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Push expect 32 bytes. but we have only 10 byte.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") + """Push expect 32 bytes.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) sender = EOA( - key=0x043F683FF58B5310699989DD19A4E1439E5333E2E3445374F7BC1446BAEDDD80 + key=0x43F683FF58B5310699989DD19A4E1439E5333E2E3445374F7BC1446BAEDDD80 ) env = Environment( @@ -44,21 +45,23 @@ def test_push32without_byte( gas_limit=3141592, ) - pre[sender] = Account(balance=0x8AC7230489E80000, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x7f11223344556677889910 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex("7f11223344556677889910"), nonce=0, - address=Address("0xc46ea1c1ad6c8ee63711d0377ef63e51c05d38a0"), # noqa: E501 + address=Address(0xC46EA1C1AD6C8EE63711D0377EF63E51C05D38A0), # noqa: E501 ) + pre[sender] = Account(balance=0x8AC7230489E80000, nonce=1) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=500000, nonce=1, ) - post: dict = {} + post = {sender: Account(nonce=2)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_selfdestruct_eip2929.py b/tests/ported_static/stSpecialTest/test_selfdestruct_eip2929.py index d99e55dc96d..ebaa2b3217d 100644 --- a/tests/ported_static/stSpecialTest/test_selfdestruct_eip2929.py +++ b/tests/ported_static/stSpecialTest/test_selfdestruct_eip2929.py @@ -2,7 +2,7 @@ Martin: @tkstanczak requested a state-test regarding selfdestructs in... Ported from: -tests/static/state_tests/stSpecialTest/selfdestructEIP2929Filler.json +state_tests/stSpecialTest/selfdestructEIP2929Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/selfdestructEIP2929Filler.json"], + ["state_tests/stSpecialTest/selfdestructEIP2929Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,13 +31,13 @@ def test_selfdestruct_eip2929( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Martin: @tkstanczak requested a state-test regarding...""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Martin: @tkstanczak requested a state-test regarding selfdestructs...""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0x9ECBDBDBD8448CDD955755CDD81D6918E436F68A) + addr_2 = Address(0x7704D8A022A1BA8F3539FC82C7D7FB065ABC0DF3) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) - callee = Address("0x7704d8a022a1ba8f3539fc82c7d7fb065abc0df3") - callee_1 = Address("0x9ecbdbdbd8448cdd955755cdd81d6918e436f68a") env = Environment( fee_recipient=coinbase, @@ -47,228 +48,227 @@ def test_selfdestruct_eip2929( gas_limit=10944489199640098, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre[callee] = Account(balance=0, nonce=1) - pre[callee_1] = Account(balance=0, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x0, - address=0xCC, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + pre[addr] = Account(balance=0, nonce=1) + pre[addr_2] = Account(balance=0, nonce=1) + # Source: raw + # 0x6000600060006000600060cc6000f1506000600060006000600060dd6000f1506000600060006000600060036000f15060aa6000526000600060206000600061dead5af15060aa6000526000600060206000600061dead5af15060bb6000526000600060206000600061dead5af15060bb6000526000600060206000600061dead5af15060cc6000526000600060206000600061dead5af15060cc6000526000600060206000600061dead5af15060dd6000526000600060206000600061dead5af15060dd6000526000600060206000600061dead5af15060016000526000600060206000600061dead5af15060016000526000600060206000600061dead5af15060026000526000600060206000600061dead5af15060026000526000600060206000600061dead5af15060036000526000600060206000600061dead5af1506001600155 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x0, + address=0xCC, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP( - Op.CALL( - gas=0x0, - address=0xDD, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.POP( + Op.CALL( + gas=0x0, + address=0xDD, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP( - Op.CALL( - gas=0x0, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.POP( + Op.CALL( + gas=0x0, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0xAA) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0xAA) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0xAA) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0xAA) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0xBB) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0xBB) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0xBB) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0xBB) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0xCC) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0xCC) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0xCC) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0xCC) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0xDD) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0xDD) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0xDD) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0xDD) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0x1) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0x1) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0x2) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0x2) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0x2) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0x2) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.MSTORE(offset=0x0, value=0x3) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + ) + + Op.MSTORE(offset=0x0, value=0x3) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=0x1) - ), + ) + + Op.SSTORE(key=0x1, value=0x1), balance=1, - address=Address("0xb686be1a7a0f441fae9583884043ac034fe82089"), # noqa: E501 + nonce=1, + address=Address(0xB686BE1A7A0F441FAE9583884043AC034FE82089), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SELFDESTRUCT( - address=Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.CALLDATALOAD(offset=0x0), - ), + # Source: raw + # 0x60003574ffffffffffffffffffffffffffffffffffffffffff16ff + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + Op.CALLDATALOAD(offset=0x0), ) ), balance=1, - address=Address("0xd2e5c26a2f035a63d0859e255621ed1e57148085"), # noqa: E501 + nonce=1, + address=Address(0xD2E5C26A2F035A63D0859E255621ED1E57148085), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=8000000, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_sha3_deja.py b/tests/ported_static/stSpecialTest/test_sha3_deja.py index 1147765ba8f..f10c83819e1 100644 --- a/tests/ported_static/stSpecialTest/test_sha3_deja.py +++ b/tests/ported_static/stSpecialTest/test_sha3_deja.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_sha3_deja. Ported from: -tests/static/state_tests/stSpecialTest/sha3_dejaFiller.json +state_tests/stSpecialTest/sha3_dejaFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/sha3_dejaFiller.json"], + ["state_tests/stSpecialTest/sha3_dejaFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_sha3_deja( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_sha3_deja.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -45,26 +46,26 @@ def test_sha3_deja( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x1F, value=0x42) - + Op.SHA3(offset=0xFFFFFFFFFF, size=0x0) - + Op.DUP1 - ), + # Source: raw + # 0x6042601f53600064ffffffffff2080 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x1F, value=0x42) + + Op.SHA3(offset=0xFFFFFFFFFF, size=0x0) + + Op.DUP1, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcc4cdc08ed5801a6c7d1d87efb229f9556d50ce6"), # noqa: E501 + address=Address(0xCC4CDC08ED5801A6C7D1D87EFB229F9556D50CE6), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_stack_depth_limit_sec.py b/tests/ported_static/stSpecialTest/test_stack_depth_limit_sec.py index ab54f2e249e..25a8f78af6e 100644 --- a/tests/ported_static/stSpecialTest/test_stack_depth_limit_sec.py +++ b/tests/ported_static/stSpecialTest/test_stack_depth_limit_sec.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_depth_limit_sec. Ported from: -tests/static/state_tests/stSpecialTest/StackDepthLimitSECFiller.json +state_tests/stSpecialTest/StackDepthLimitSECFiller.json """ import pytest @@ -14,14 +14,16 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/StackDepthLimitSECFiller.json"], + ["state_tests/stSpecialTest/StackDepthLimitSECFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,8 +31,8 @@ def test_stack_depth_limit_sec( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_depth_limit_sec.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,14 +51,24 @@ def test_stack_depth_limit_sec( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "305032503350600460006000396000515060046000600037600051506f60006000600060" # noqa: E501 - "0060003060405a03f160005260106010f3" - ), + data=Op.POP(Op.ADDRESS) + + Op.POP(Op.ORIGIN) + + Op.POP(Op.CALLER) + + Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x4) + + Op.POP(Op.MLOAD(offset=0x0)) + + Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=0x4) + + Op.POP(Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0x0, value=0x600060006000600060003060405A03F1) + + Op.RETURN(offset=0x10, size=0x10), gas_limit=1000000, value=10, ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account( + code=bytes.fromhex("600060006000600060003060405a03f1"), + balance=10, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSpecialTest/test_tx_e1c174e2.py b/tests/ported_static/stSpecialTest/test_tx_e1c174e2.py index ebf0d3df0be..c13872d98cf 100644 --- a/tests/ported_static/stSpecialTest/test_tx_e1c174e2.py +++ b/tests/ported_static/stSpecialTest/test_tx_e1c174e2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_tx_e1c174e2. Ported from: -tests/static/state_tests/stSpecialTest/tx_e1c174e2Filler.json +state_tests/stSpecialTest/tx_e1c174e2Filler.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSpecialTest/tx_e1c174e2Filler.json"], + ["state_tests/stSpecialTest/tx_e1c174e2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +32,8 @@ def test_tx_e1c174e2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") + """Test_tx_e1c174e2.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) sender = EOA( key=0x98D5E7375843784F7EB2606A693BAB39EBAC533561559E372DC3017F30519535 ) @@ -45,3700 +47,3275 @@ def test_tx_e1c174e2( gas_limit=3141592, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=24) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x155F, value=0x0) - + Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI( - pc=Op.PUSH2[0x65], - condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x55F10AAF)), - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.JUMPI( - pc=Op.PUSH2[0x52], - condition=Op.ISZERO(Op.SGT(Op.CALLVALUE, 0x0)), - ) - + Op.POP( - Op.CALL( - gas=0x1388, - address=Op.CALLER, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x60, - value=Op.SLOAD( - key=Op.ADD(0x7, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.RETURN(offset=0x60, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x53F, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x69E0998B)) - ) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x44)) - + Op.JUMPI( - pc=Op.PUSH2[0x9A], - condition=Op.ISZERO( - Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x80), 0x0)) - ), - ) - + Op.MSTORE(offset=0xC0, value=0x2) - + Op.RETURN(offset=0xC0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xB1], - condition=Op.ISZERO( - Op.ISZERO(Op.SGT(Op.MLOAD(offset=0xA0), 0x0)) - ), - ) - + Op.MSTORE(offset=0xE0, value=0x3) - + Op.RETURN(offset=0xE0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=Op.PUSH2[0xCA], - condition=Op.ISZERO( - Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x40), 0x0)) - ), - ) - + Op.MSTORE(offset=0x100, value=0x4) - + Op.RETURN(offset=0x100, size=0x20) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x120, - value=Op.MUL( - Op.SDIV( - Op.MUL(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), - Op.MUL( + # Source: raw + # 0x600061155f537c0100000000000000000000000000000000000000000000000000000000600035046355f10aaf8114156100655760043560405260003413156100525760006000600060003433611388f1505b600c604051026007015460605260206060f35b6369e0998b81141561053f5760043560805260243560a052604435604052600060805113151561009a57600260c052602060c0f35b600060a0511315156100b157600360e052602060e0f35b60006040511315156100ca576004610100526020610100f35b670de0b6b3a7640000600c6040510260030154600a0a600c60405102600401540260a05160805102050261012052600c604051026005015434121561012f5760003413156101225760006000600060003433611388f1505b600b610140526020610140f35b610120513412156101605760003413156101535760006000600060003433611388f1505b6014610160526020610160f35b6101205134131561018057600060006000600061012051340333611388f1505b60e0599059016000905260068152600160208201526040516040820152608051606082015260a05160808201523360a08201524360c082015260208101905061018052610180516020602082035102812090506101c05260086101c05102740e0000000000000000000000000000000000000000015415156104be576101c05160086101c05102740e00000000000000000000000000000000000000000155600160086101c05102740e0000000000000000000000000000000000000001015560405160086101c05102740e0000000000000000000000000000000000000002015560805160086101c05102740e0000000000000000000000000000000000000003015560a05160086101c05102740e000000000000000000000000000000000000000401553360086101c05102740e000000000000000000000000000000000000000501554360086101c05102740e0000000000000000000000000000000000000006015560086101c05102740e00000000000000000000000000000000000000000160086101c05102740e00000000000000000000000000000000000000070155600c60405102600b0154610200526101c05160a060a05990590160009052600081526040518160200152600c81604001526102005181606001526001816080015280905020556102005160a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526002816080015280905020556101c05160a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526000816080015280905020556101c051600c60405102600b01556001600c60405102600a015401600c60405102600a01556002600114156104b95760805160806080599059016000905260048152338160200152604051816040015260008160600152809050205403608060805990590160009052600481523381602001526040518160400152600081606001528090502055608051608060805990590160009052600481523381602001526040518160400152600181606001528090502054016080608059905901600090526004815233816020015260405181604001526001816060015280905020555b6104cb565b6015610300526020610300f35b601c60c05990590160009052013381526001602082015260a051604082015260805160608201526101c05160808201526040517f9463d1cc4aa2db0dc624c996b1846f028d43c48cfc8b9f427f13336e4a73226460a083a2506101c051610340526020610340f36000610360526020610360f35b630909f073811415610a0c5760043560805260243560a0526044356040526000608051131515610576576002610380526020610380f35b600060a05113151561058f5760036103a05260206103a0f35b60006040511315156105a85760046103c05260206103c0f35b670de0b6b3a7640000600c6040510260030154600a0a600c60405102600401540260a05160805102050261012052600c60405102600501546101205112156106105760003413156106035760006000600060003433611388f1505b600b6103e05260206103e0f35b60806080599059016000905260048152338160200152604051816040015260008160600152809050205461040052608051610400511215156109ff5760e0599059016000905260068152600260208201526040516040820152608051606082015260a05160808201523360a08201524360c082015260208101905061018052610180516020602082035102812090506101c05260086101c05102740e00000000000000000000000000000000000000000154151561098a576101c05160086101c05102740e00000000000000000000000000000000000000000155600260086101c05102740e0000000000000000000000000000000000000001015560405160086101c05102740e0000000000000000000000000000000000000002015560805160086101c05102740e0000000000000000000000000000000000000003015560a05160086101c05102740e000000000000000000000000000000000000000401553360086101c05102740e000000000000000000000000000000000000000501554360086101c05102740e0000000000000000000000000000000000000006015560086101c05102740e00000000000000000000000000000000000000000160086101c05102740e00000000000000000000000000000000000000070155600c60405102600b0154610200526101c05160a060a05990590160009052600081526040518160200152600c81604001526102005181606001526001816080015280905020556102005160a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526002816080015280905020556101c05160a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526000816080015280905020556101c051600c60405102600b01556001600c60405102600a015401600c60405102600a01556002600214156109855760805160806080599059016000905260048152338160200152604051816040015260008160600152809050205403608060805990590160009052600481523381602001526040518160400152600081606001528090502055608051608060805990590160009052600481523381602001526040518160400152600181606001528090502054016080608059905901600090526004815233816020015260405181604001526001816060015280905020555b610997565b6015610560526020610560f35b601c60c05990590160009052013381526002602082015260a051604082015260805160608201526101c05160808201526040517f9463d1cc4aa2db0dc624c996b1846f028d43c48cfc8b9f427f13336e4a73226460a083a2506101c051610580526020610580f35b60006105a05260206105a0f35b639998bd008114156117335736599059016000905236600482376004356105e0526024356020820101610600525034610620526000610640525b602061060051035161064051121561170a57610640516020026106005101516101c05260086101c05102740e0000000000000000000000000000000000000006015443131515610a9d576016610660526020610660f35b60086101c05102740e00000000000000000000000000000000000000020154604052600c604051026002015461068052600c60405102600301546106a052600c60405102600401546106c052600c60405102600501546106e05260086101c05102740e000000000000000000000000000000000000000101546107005260086101c05102740e0000000000000000000000000000000000000003015460805260086101c05102740e0000000000000000000000000000000000000004015460a05260086101c05102740e0000000000000000000000000000000000000005015461072052600161070051141561110e576080608059905901600090526004815233816020015260405181604001526000816060015280905020546104005260006104005113156110fc57608051610400516105e05180821215610be05781610be2565b805b9050905080821215610bf45781610bf6565b805b90509050610760526106a051600a0a6106c05102670de0b6b3a764000060a05161076051020205610120526106e051610120511215610c5b576000610620511315610c4e5760006000600060006106205133611388f1505b600c610800526020610800f35b608051610760511215610cb0576107605160086101c05102740e000000000000000000000000000000000000000301540360086101c05102740e00000000000000000000000000000000000000030155610fd4565b600060086101c05102740e00000000000000000000000000000000000000000155600060086101c05102740e00000000000000000000000000000000000000010155600060086101c05102740e00000000000000000000000000000000000000020155600060086101c05102740e00000000000000000000000000000000000000030155600060086101c05102740e00000000000000000000000000000000000000040155600060086101c05102740e00000000000000000000000000000000000000050155600060086101c05102740e00000000000000000000000000000000000000060155600060086101c05102740e0000000000000000000000000000000000000007015560a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526002816080015280905020546108205260a060a05990590160009052600081526040518160200152600c81604001526101c0518160600152600181608001528090502054610860526108205115610e3a5761086051610e3d565b60005b15610eb7576108605160a060a05990590160009052600081526040518160200152600c81604001526108205181606001526001816080015280905020556108205160a060a05990590160009052600081526040518160200152600c8160400152610860518160600152600281608001528090502055610f06565b6108205115610f055761082051600c60405102600b0155600060a060a05990590160009052600081526040518160200152600c81604001526108205181606001526001816080015280905020555b5b6108605115610f4657600060a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526001816080015280905020555b6108205115610f8657600060a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526002816080015280905020555b600060a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526000816080015280905020556001600c60405102600a015403600c60405102600a01555b6107605160806080599059016000905260048152338160200152604051816040015260008160600152809050205403608060805990590160009052600481523381602001526040518160400152600081606001528090502055610760516080608059905901600090526004815261072051816020015260405181604001526000816060015280905020540160806080599059016000905260048152610720518160200152604051816040015260008160600152809050205560006000600060006101205133611388f150601c60a05990590160009052016002815260a05160208201526107605160408201526101c051606082015261072051336040517f0f9fe89f83633cc2eca9b17e1f77422f037cb026eaca4e6a5337fa1595f50a81608085a450611109565b600a6109e05260206109e0f35b611680565b600261070051141561167f576000610620511315611671576106e0516106205112156111605760006106205113156111535760006000600060006106205133611388f1505b600c610a00526020610a00f35b6106a051600a0a6106c05102670de0b6b3a764000060a051608051020205610a205261062051610a205180821215611198578161119a565b805b9050905061012052610a205161012051121561121b57670de0b6b3a764000060a0516106a051600a0a6106c0510261012051020505610760526107605160086101c05102740e000000000000000000000000000000000000000301540360086101c05102740e00000000000000000000000000000000000000030155611546565b60805161076052600060086101c05102740e00000000000000000000000000000000000000000155600060086101c05102740e00000000000000000000000000000000000000010155600060086101c05102740e00000000000000000000000000000000000000020155600060086101c05102740e00000000000000000000000000000000000000030155600060086101c05102740e00000000000000000000000000000000000000040155600060086101c05102740e00000000000000000000000000000000000000050155600060086101c05102740e00000000000000000000000000000000000000060155600060086101c05102740e0000000000000000000000000000000000000007015560a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526002816080015280905020546108205260a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526001816080015280905020546108605261082051156113ac57610860516113af565b60005b15611429576108605160a060a05990590160009052600081526040518160200152600c81604001526108205181606001526001816080015280905020556108205160a060a05990590160009052600081526040518160200152600c8160400152610860518160600152600281608001528090502055611478565b61082051156114775761082051600c60405102600b0155600060a060a05990590160009052600081526040518160200152600c81604001526108205181606001526001816080015280905020555b5b61086051156114b857600060a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526001816080015280905020555b61082051156114f857600060a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526002816080015280905020555b600060a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526000816080015280905020556001600c60405102600a015403600c60405102600a01555b6107605160806080599059016000905260048152610720518160200152604051816040015260018160600152809050205403608060805990590160009052600481526107205181602001526040518160400152600181606001528090502055610760516080608059905901600090526004815233816020015260405181604001526000816060015280905020540160806080599059016000905260048152338160200152604051816040015260008160600152809050205560006000600060006101205161072051611388f150601c60a05990590160009052016001815260a05160208201526107605160408201526101c051606082015261072051336040517f0f9fe89f83633cc2eca9b17e1f77422f037cb026eaca4e6a5337fa1595f50a81608085a45061167e565b600a610c00526020610c00f35b5b5b60a051600c6040510260070155601c60a059905901600090520161070051815260a05160208201526107605160408201524260608201526040517f50944f09ce56f9f0e2cb67683c9b451049c39f60452b850b169148f3daa51ed6608083a250610760516105e051036105e052610120516106205103610620526001610640510161064052610a46565b61062051156117265760006000600060006106205133611388f1505b6001610c20526020610c20f35b6334a501c781141561185b57600435608052602435604052601c60845990590160009052016327f08b00601c82035233600482015230602482015260805160448201526020610c406064836000600c6040510260020154602d5a03f150610c405190501561184e57608060805990590160009052600481523381602001526040518160400152600081606001528090502054610400526080516104005101610c8052610c8051608060805990590160009052600481523381602001526040518160400152600081606001528090502055601c60405990590160009052016080518152336040517f301cd746dbb5e7f9ade2bcd9e8a849b968bfcc222de48d2086ba200184acc83d602084a350610c8051610cc0526020610cc0f35b6000610ce0526020610ce0f35b63e1ed3ad3811415611982576004356080526024356040526080608059905901600090526004815233816020015260405181604001526000816060015280905020546104005260805161040051121515611975576080516104005103608060805990590160009052600481523381602001526040518160400152600081606001528090502055601c60645990590160009052016386744558601c82035233600482015260805160248201526020610d606044836000600c6040510260020154602d5a03f150610d60519050610d4052601c60405990590160009052016080518152336040517ffa4460934f383b326d79dcd4f1e59a17ac8ee9a87312169933e7f68b85c1a8ce602084a350610d4051610d80526020610d80f35b6000610da0526020610da0f35b63327a22f1811415611f08576004356101c05260086101c05102740e000000000000000000000000000000000000000101546107005260086101c05102740e0000000000000000000000000000000000000003015460805260086101c05102740e0000000000000000000000000000000000000004015460a05260086101c05102740e000000000000000000000000000000000000000501546107205260086101c05102740e00000000000000000000000000000000000000020154604052600c604051026002015461068052600c60405102600301546106a052600c60405102600401546106c05261072051331415611efb57600060086101c05102740e00000000000000000000000000000000000000000155600060086101c05102740e00000000000000000000000000000000000000010155600060086101c05102740e00000000000000000000000000000000000000020155600060086101c05102740e00000000000000000000000000000000000000030155600060086101c05102740e00000000000000000000000000000000000000040155600060086101c05102740e00000000000000000000000000000000000000050155600060086101c05102740e00000000000000000000000000000000000000060155600060086101c05102740e0000000000000000000000000000000000000007015560a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526002816080015280905020546108205260a060a05990590160009052600081526040518160200152600c81604001526101c0518160600152600181608001528090502054610860526108205115611c005761086051611c03565b60005b15611c7d576108605160a060a05990590160009052600081526040518160200152600c81604001526108205181606001526001816080015280905020556108205160a060a05990590160009052600081526040518160200152600c8160400152610860518160600152600281608001528090502055611ccc565b6108205115611ccb5761082051600c60405102600b0155600060a060a05990590160009052600081526040518160200152600c81604001526108205181606001526001816080015280905020555b5b6108605115611d0c57600060a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526001816080015280905020555b6108205115611d4c57600060a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526002816080015280905020555b600060a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526000816080015280905020556001600c60405102600a015403600c60405102600a01556001610700511415611dde57670de0b6b3a76400006106a051600a0a6106c0510260a0516080510205026101205260006000600060006101205133611388f150611e9c565b6002610700511415611e9b5760805160806080599059016000905260048152338160200152604051816040015260018160600152809050205403608060805990590160009052600481523381602001526040518160400152600181606001528090502055608051608060805990590160009052600481523381602001526040518160400152600081606001528090502054016080608059905901600090526004815233816020015260405181604001526000816060015280905020555b5b601c60a059905901600090520133815260a051602082015260805160408201526101c05160608201526040517f0ac6333455d304288767a0f1039d666d16882d10b6ea83693d2556e4c8098001608083a2506001610f40526020610f40f35b6000610f60526020610f60f35b63d91e22f48114156122f057600435610f8052602435610680526044356106a0526064356106c0526084356106e05260a435610fa0526001741600000000000000000000000000000000000000005401610fc0526000610f8051131515611f7657601e610fe0526020610fe0f35b610f8051740d0000000000000000000000000000000000000000015415611fa457601f611000526020611000f35b600061068051131515611fbe576020611020526020611020f35b6000610fa0511215611fd7576021611040526020611040f35b60006106a0511215611ff0576022611060526020611060f35b60006106c0511215612009576023611080526020611080f35b60006106e05112156120225760246110a05260206110a0f35b6000601c606459905901600090520163c32d01a1601c82035233600482015230602482015260206110c0604483600061068051602d5a03f1506110c05190501415156120755760286110e05260206110e0f35b6001601c60645990590160009052016383b58638601c820352306004820152600060248201526020611100604483600061068051602d5a03f1506111005190501415156120c9576029611120526020611120f35b6000601c60445990590160009052016326690247601c8203523060048201526020611140602483600061068051602d5a03f15061114051905014151561211657602a611160526020611160f35b6000601c60645990590160009052016386744558601c820352336004820152600060248201526020611180604483600061068051602d5a03f15061118051905014151561216a57602b6111a05260206111a0f35b6000601c60845990590160009052016327f08b00601c8203523060048201523360248201526000604482015260206111c0606483600061068051602d5a03f1506111c05190501415156121c457602c6111e05260206111e0f35b610fc051600c610fc0510255610f8051600c610fc051026001015561068051600c610fc0510260020155610fa051600c610fc05102600601556106a051600c610fc05102600301556106c051600c610fc05102600401556106e051600c610fc05102600501556001600c610fc051026007015533600c610fc051026008015543600c610fc0510260090155610fc05161068051740c00000000000000000000000000000000000000000155610fc051610f8051740d00000000000000000000000000000000000000000155610fc0517416000000000000000000000000000000000000000055601c6040599059016000905201610fc05181527f1238fe6d44cf796960d61b74766b3a383110e472d849f5ca16ae50215bc05e58602082a1506001611200526020611200f35b634156966181141561232a576004356112205261122051740c00000000000000000000000000000000000000000154611240526020611240f35b63fcde9f7881141561236457600435610f8052610f8051740d00000000000000000000000000000000000000000154611260526020611260f35b636e5b4343811415612392577416000000000000000000000000000000000000000054611280526020611280f35b63fafa69c28114156124e657600435610fc0526101805990590160009052600b81526020810190506112a052600c610fc05102546112a05152600c610fc051026001015460206112a0510152600c610fc051026002015460406112a0510152600c610fc051026003015460606112a0510152600c610fc051026004015460806112a0510152600c610fc051026005015460a06112a0510152600c610fc051026007015460c06112a0510152600c610fc051026008015460e06112a0510152600c610fc05102600901546101006112a0510152600c610fc05102600a01546101206112a0510152600c610fc05102600601546101406112a05101526112a051156124b2576112a05160206040820352602060208203510260400160408203f3505b60405990590160009052600181526000602082015260208101905060206040820352602060208203510260400160408203f3505b639cfc153581141561262e57600435604052600c60405102600a015461134052600c60405102600b01546101c0526113405180602002602001599059016000905281815260208101905090506106005260006113a0525b611340516113a05112156125d45760a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526000816080015280905020546113a05160200261060051015260a060a05990590160009052600081526040518160200152600c81604001526101c05181606001526002816080015280905020546101c05260016113a051016113a05261253d565b61060051156125fa576106005160206040820352602060208203510260400160408203f3505b60405990590160009052600181526000602082015260208101905060206040820352602060208203510260400160408203f3505b630f7181908114156127e957600435610fc052610120599059016000905260088152602081019050610180526008610fc05102740e0000000000000000000000000000000000000000015461018051526008610fc05102740e0000000000000000000000000000000000000001015460206101805101526008610fc05102740e0000000000000000000000000000000000000002015460406101805101526008610fc05102740e0000000000000000000000000000000000000003015460606101805101526008610fc05102740e0000000000000000000000000000000000000004015460806101805101526008610fc05102740e0000000000000000000000000000000000000005015460a06101805101526008610fc05102740e0000000000000000000000000000000000000006015460c06101805101526008610fc05102740e0000000000000000000000000000000000000007015460e061018051015261018051156127b5576101805160206040820352602060208203510260400160408203f3505b60405990590160009052600181526000602082015260208101905060206040820352602060208203510260400160408203f3505b631c9aa4b6811415612893576004356112205260243560405260605990590160009052600281526080608059905901600090526004815261122051816020015260405181604001526000816060015280905020546020820152608060805990590160009052600481526112205181602001526040518160400152600181606001528090502054604082015260208101905060206040820352602060208203510260400160408203f3505b50 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x155F, value=0x0) + + Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI( + pc=Op.PUSH2[0x65], condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x55F10AAF)) + ) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.JUMPI( + pc=Op.PUSH2[0x52], condition=Op.ISZERO(Op.SGT(Op.CALLVALUE, 0x0)) + ) + + Op.POP( + Op.CALL( + gas=0x1388, + address=Op.CALLER, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x60, + value=Op.SLOAD( + key=Op.ADD(0x7, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.RETURN(offset=0x60, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x53F, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x69E0998B))) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x44)) + + Op.JUMPI( + pc=Op.PUSH2[0x9A], + condition=Op.ISZERO(Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x80), 0x0))), + ) + + Op.MSTORE(offset=0xC0, value=0x2) + + Op.RETURN(offset=0xC0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xB1], + condition=Op.ISZERO(Op.ISZERO(Op.SGT(Op.MLOAD(offset=0xA0), 0x0))), + ) + + Op.MSTORE(offset=0xE0, value=0x3) + + Op.RETURN(offset=0xE0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=Op.PUSH2[0xCA], + condition=Op.ISZERO(Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x40), 0x0))), + ) + + Op.MSTORE(offset=0x100, value=0x4) + + Op.RETURN(offset=0x100, size=0x20) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x120, + value=Op.MUL( + Op.SDIV( + Op.MUL(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), + Op.MUL( + Op.SLOAD( + key=Op.ADD(0x4, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + Op.EXP( + 0xA, Op.SLOAD( key=Op.ADD( - 0x4, - Op.MUL(Op.MLOAD(offset=0x40), 0xC), - ), - ), - Op.EXP( - 0xA, - Op.SLOAD( - key=Op.ADD( - 0x3, - Op.MUL(Op.MLOAD(offset=0x40), 0xC), - ), - ), + 0x3, Op.MUL(Op.MLOAD(offset=0x40), 0xC) + ) ), ), ), - 0xDE0B6B3A7640000, ), - ) - + Op.JUMPI( - pc=0x12F, - condition=Op.ISZERO( - Op.SLT( - Op.CALLVALUE, + 0xDE0B6B3A7640000, + ), + ) + + Op.JUMPI( + pc=0x12F, + condition=Op.ISZERO( + Op.SLT( + Op.CALLVALUE, + Op.SLOAD( + key=Op.ADD(0x5, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + ), + ) + + Op.JUMPI(pc=0x122, condition=Op.ISZERO(Op.SGT(Op.CALLVALUE, 0x0))) + + Op.POP( + Op.CALL( + gas=0x1388, + address=Op.CALLER, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.MSTORE(offset=0x140, value=0xB) + + Op.RETURN(offset=0x140, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x160, + condition=Op.ISZERO(Op.SLT(Op.CALLVALUE, Op.MLOAD(offset=0x120))), + ) + + Op.JUMPI(pc=0x153, condition=Op.ISZERO(Op.SGT(Op.CALLVALUE, 0x0))) + + Op.POP( + Op.CALL( + gas=0x1388, + address=Op.CALLER, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.MSTORE(offset=0x160, value=0x14) + + Op.RETURN(offset=0x160, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x180, + condition=Op.ISZERO(Op.SGT(Op.CALLVALUE, Op.MLOAD(offset=0x120))), + ) + + Op.POP( + Op.CALL( + gas=0x1388, + address=Op.CALLER, + value=Op.SUB(Op.CALLVALUE, Op.MLOAD(offset=0x120)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.PUSH1[0xE0] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x1) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x80), value=Op.MLOAD(offset=0xA0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0xA0), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0xC0), value=Op.NUMBER) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x180] + + Op.MSTORE + + Op.MLOAD(offset=0x180) + + Op.SHA3( + offset=Op.DUP2, + size=Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), + ) + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x1C0] + + Op.MSTORE + + Op.JUMPI( + pc=0x4BE, + condition=Op.ISZERO( + Op.ISZERO( + Op.SLOAD( + key=Op.ADD( + 0xE0000000000000000000000000000000000000000, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ) + ) + ) + ), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000000, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.MLOAD(offset=0x1C0), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000001, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x1, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000002, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.MLOAD(offset=0x40), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000003, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.MLOAD(offset=0x80), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000004, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.MLOAD(offset=0xA0), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000005, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.CALLER, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000006, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.NUMBER, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000007, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.ADD( + 0xE0000000000000000000000000000000000000000, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + ) + + Op.MSTORE( + offset=0x200, + value=Op.SLOAD( + key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.MLOAD(offset=0x1C0) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x200)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x200) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x1C0) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.SSTORE( + key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), + value=Op.MLOAD(offset=0x1C0), + ) + + Op.SSTORE( + key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), + value=Op.ADD( + Op.SLOAD(key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC))), + 0x1, + ), + ) + + Op.JUMPI(pc=0x4B9, condition=Op.ISZERO(Op.EQ(0x1, 0x2))) + + Op.MLOAD(offset=0x80) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.SUB + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x80) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST + + Op.JUMP(pc=0x4CB) + + Op.JUMPDEST + + Op.MSTORE(offset=0x300, value=0x15) + + Op.RETURN(offset=0x300, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC0] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x1) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0xA0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x80), value=Op.MLOAD(offset=0x1C0)) + + Op.LOG2( + offset=Op.DUP4, + size=0xA0, + topic_1=0x9463D1CC4AA2DB0DC624C996B1846F028D43C48CFC8B9F427F13336E4A732264, # noqa: E501 + topic_2=Op.MLOAD(offset=0x40), + ) + + Op.POP + + Op.MSTORE(offset=0x340, value=Op.MLOAD(offset=0x1C0)) + + Op.RETURN(offset=0x340, size=0x20) + + Op.MSTORE(offset=0x360, value=0x0) + + Op.RETURN(offset=0x360, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0xA0C, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x909F073))) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x44)) + + Op.JUMPI( + pc=0x576, + condition=Op.ISZERO(Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x80), 0x0))), + ) + + Op.MSTORE(offset=0x380, value=0x2) + + Op.RETURN(offset=0x380, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x58F, + condition=Op.ISZERO(Op.ISZERO(Op.SGT(Op.MLOAD(offset=0xA0), 0x0))), + ) + + Op.MSTORE(offset=0x3A0, value=0x3) + + Op.RETURN(offset=0x3A0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x5A8, + condition=Op.ISZERO(Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x40), 0x0))), + ) + + Op.MSTORE(offset=0x3C0, value=0x4) + + Op.RETURN(offset=0x3C0, size=0x20) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x120, + value=Op.MUL( + Op.SDIV( + Op.MUL(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), + Op.MUL( Op.SLOAD( - key=Op.ADD( - 0x5, Op.MUL(Op.MLOAD(offset=0x40), 0xC) + key=Op.ADD(0x4, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + Op.EXP( + 0xA, + Op.SLOAD( + key=Op.ADD( + 0x3, Op.MUL(Op.MLOAD(offset=0x40), 0xC) + ) ), ), ), ), - ) - + Op.JUMPI( - pc=0x122, condition=Op.ISZERO(Op.SGT(Op.CALLVALUE, 0x0)) - ) - + Op.POP( - Op.CALL( - gas=0x1388, - address=Op.CALLER, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.MSTORE(offset=0x140, value=0xB) - + Op.RETURN(offset=0x140, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x160, - condition=Op.ISZERO( - Op.SLT(Op.CALLVALUE, Op.MLOAD(offset=0x120)) - ), - ) - + Op.JUMPI( - pc=0x153, condition=Op.ISZERO(Op.SGT(Op.CALLVALUE, 0x0)) - ) - + Op.POP( - Op.CALL( - gas=0x1388, - address=Op.CALLER, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.MSTORE(offset=0x160, value=0x14) - + Op.RETURN(offset=0x160, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x180, - condition=Op.ISZERO( - Op.SGT(Op.CALLVALUE, Op.MLOAD(offset=0x120)) - ), - ) - + Op.POP( - Op.CALL( - gas=0x1388, - address=Op.CALLER, - value=Op.SUB(Op.CALLVALUE, Op.MLOAD(offset=0x120)), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.PUSH1[0xE0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x1) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x80), value=Op.MLOAD(offset=0xA0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0xA0), value=Op.CALLER) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0xC0), value=Op.NUMBER) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x180] - + Op.MSTORE - + Op.MLOAD(offset=0x180) - + Op.SHA3( - offset=Op.DUP2, - size=Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x1C0] - + Op.MSTORE - + Op.JUMPI( - pc=0x4BE, - condition=Op.ISZERO( - Op.ISZERO( + 0xDE0B6B3A7640000, + ), + ) + + Op.JUMPI( + pc=0x610, + condition=Op.ISZERO( + Op.SLT( + Op.MLOAD(offset=0x120), + Op.SLOAD( + key=Op.ADD(0x5, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + ), + ) + + Op.JUMPI(pc=0x603, condition=Op.ISZERO(Op.SGT(Op.CALLVALUE, 0x0))) + + Op.POP( + Op.CALL( + gas=0x1388, + address=Op.CALLER, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.MSTORE(offset=0x3E0, value=0xB) + + Op.RETURN(offset=0x3E0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x400, value=Op.SLOAD(key=Op.SHA3)) + + Op.JUMPI( + pc=0x9FF, + condition=Op.ISZERO( + Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x400), Op.MLOAD(offset=0x80)) + ) + ), + ) + + Op.PUSH1[0xE0] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x6) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x2) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x80), value=Op.MLOAD(offset=0xA0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0xA0), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0xC0), value=Op.NUMBER) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x180] + + Op.MSTORE + + Op.MLOAD(offset=0x180) + + Op.SHA3( + offset=Op.DUP2, + size=Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), + ) + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x1C0] + + Op.MSTORE + + Op.JUMPI( + pc=0x98A, + condition=Op.ISZERO( + Op.ISZERO( + Op.SLOAD( + key=Op.ADD( + 0xE0000000000000000000000000000000000000000, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ) + ) + ) + ), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000000, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.MLOAD(offset=0x1C0), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000001, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x2, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000002, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.MLOAD(offset=0x40), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000003, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.MLOAD(offset=0x80), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000004, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.MLOAD(offset=0xA0), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000005, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.CALLER, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000006, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.NUMBER, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000007, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.ADD( + 0xE0000000000000000000000000000000000000000, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + ) + + Op.MSTORE( + offset=0x200, + value=Op.SLOAD( + key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.MLOAD(offset=0x1C0) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x200)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x200) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x1C0) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.SSTORE( + key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), + value=Op.MLOAD(offset=0x1C0), + ) + + Op.SSTORE( + key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), + value=Op.ADD( + Op.SLOAD(key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC))), + 0x1, + ), + ) + + Op.JUMPI(pc=0x985, condition=Op.ISZERO(Op.EQ(0x2, 0x2))) + + Op.MLOAD(offset=0x80) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.SUB + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x80) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST + + Op.JUMP(pc=0x997) + + Op.JUMPDEST + + Op.MSTORE(offset=0x560, value=0x15) + + Op.RETURN(offset=0x560, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x1C] + + Op.PUSH1[0xC0] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x2) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0xA0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x80), value=Op.MLOAD(offset=0x1C0)) + + Op.LOG2( + offset=Op.DUP4, + size=0xA0, + topic_1=0x9463D1CC4AA2DB0DC624C996B1846F028D43C48CFC8B9F427F13336E4A732264, # noqa: E501 + topic_2=Op.MLOAD(offset=0x40), + ) + + Op.POP + + Op.MSTORE(offset=0x580, value=Op.MLOAD(offset=0x1C0)) + + Op.RETURN(offset=0x580, size=0x20) + + Op.JUMPDEST + + Op.MSTORE(offset=0x5A0, value=0x0) + + Op.RETURN(offset=0x5A0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1733, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x9998BD00))) + + Op.CALLDATASIZE + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.CALLDATACOPY( + dest_offset=Op.DUP3, offset=0x4, size=Op.CALLDATASIZE + ) + + Op.MSTORE(offset=0x5E0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE( + offset=0x600, + value=Op.ADD(Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x24)), + ) + + Op.POP + + Op.MSTORE(offset=0x620, value=Op.CALLVALUE) + + Op.MSTORE(offset=0x640, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x170A, + condition=Op.ISZERO( + Op.SLT( + Op.MLOAD(offset=0x640), + Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x600), 0x20)), + ) + ), + ) + + Op.MSTORE( + offset=0x1C0, + value=Op.MLOAD( + offset=Op.ADD( + Op.MLOAD(offset=0x600), + Op.MUL(0x20, Op.MLOAD(offset=0x640)), + ) + ), + ) + + Op.JUMPI( + pc=0xA9D, + condition=Op.ISZERO( + Op.ISZERO( + Op.SGT( + Op.NUMBER, Op.SLOAD( key=Op.ADD( - 0xE0000000000000000000000000000000000000000, + 0xE0000000000000000000000000000000000000006, Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), + ) ), - ), - ), - ) - + Op.SSTORE( + ) + ) + ), + ) + + Op.MSTORE(offset=0x660, value=0x16) + + Op.RETURN(offset=0x660, size=0x20) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x40, + value=Op.SLOAD( key=Op.ADD( - 0xE0000000000000000000000000000000000000000, + 0xE0000000000000000000000000000000000000002, Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.MLOAD(offset=0x1C0), - ) - + Op.SSTORE( + ) + ), + ) + + Op.MSTORE( + offset=0x680, + value=Op.SLOAD( + key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.MSTORE( + offset=0x6A0, + value=Op.SLOAD( + key=Op.ADD(0x3, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.MSTORE( + offset=0x6C0, + value=Op.SLOAD( + key=Op.ADD(0x4, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.MSTORE( + offset=0x6E0, + value=Op.SLOAD( + key=Op.ADD(0x5, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.MSTORE( + offset=0x700, + value=Op.SLOAD( key=Op.ADD( 0xE0000000000000000000000000000000000000001, Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x1, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000002, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.MLOAD(offset=0x40), - ) - + Op.SSTORE( + ) + ), + ) + + Op.MSTORE( + offset=0x80, + value=Op.SLOAD( key=Op.ADD( 0xE0000000000000000000000000000000000000003, Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.MLOAD(offset=0x80), - ) - + Op.SSTORE( + ) + ), + ) + + Op.MSTORE( + offset=0xA0, + value=Op.SLOAD( key=Op.ADD( 0xE0000000000000000000000000000000000000004, Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.MLOAD(offset=0xA0), - ) - + Op.SSTORE( + ) + ), + ) + + Op.MSTORE( + offset=0x720, + value=Op.SLOAD( key=Op.ADD( 0xE0000000000000000000000000000000000000005, Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ) + ), + ) + + Op.JUMPI( + pc=0x110E, condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x700), 0x1)) + ) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x400, value=Op.SLOAD(key=Op.SHA3)) + + Op.JUMPI( + pc=0x10FC, condition=Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x400), 0x0)) + ) + + Op.MLOAD(offset=0x80) + + Op.MLOAD(offset=0x400) + + Op.MLOAD(offset=0x5E0) + + Op.JUMPI(pc=0xBE0, condition=Op.ISZERO(Op.SLT(Op.DUP3, Op.DUP1))) + + Op.DUP2 + + Op.JUMP(pc=0xBE2) + + Op.JUMPDEST + + Op.DUP1 + + Op.JUMPDEST + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0xBF4, condition=Op.ISZERO(Op.SLT(Op.DUP3, Op.DUP1))) + + Op.DUP2 + + Op.JUMP(pc=0xBF6) + + Op.JUMPDEST + + Op.DUP1 + + Op.JUMPDEST + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x760] + + Op.MSTORE + + Op.MSTORE( + offset=0x120, + value=Op.SDIV( + Op.MUL( + Op.MUL(Op.MLOAD(offset=0x760), Op.MLOAD(offset=0xA0)), + 0xDE0B6B3A7640000, ), - value=Op.CALLER, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000006, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.NUMBER, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000007, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.ADD( - 0xE0000000000000000000000000000000000000000, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ) - + Op.MSTORE( - offset=0x200, - value=Op.SLOAD( - key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.MLOAD(offset=0x1C0) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x200) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x200) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x1C0) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.SSTORE( - key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - value=Op.MLOAD(offset=0x1C0), - ) - + Op.SSTORE( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - value=Op.ADD( - Op.SLOAD( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) - ), - 0x1, - ), - ) - + Op.JUMPI(pc=0x4B9, condition=Op.ISZERO(Op.EQ(0x1, 0x2))) - + Op.MLOAD(offset=0x80) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.SUB - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x80) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.JUMP(pc=0x4CB) - + Op.JUMPDEST - + Op.MSTORE(offset=0x300, value=0x15) - + Op.RETURN(offset=0x300, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.CALLER) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x1) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0xA0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x80), value=Op.MLOAD(offset=0x1C0) - ) - + Op.LOG2( - offset=Op.DUP4, - size=0xA0, - topic_1=0x9463D1CC4AA2DB0DC624C996B1846F028D43C48CFC8B9F427F13336E4A732264, # noqa: E501 - topic_2=Op.MLOAD(offset=0x40), - ) - + Op.POP - + Op.MSTORE(offset=0x340, value=Op.MLOAD(offset=0x1C0)) - + Op.RETURN(offset=0x340, size=0x20) - + Op.MSTORE(offset=0x360, value=0x0) - + Op.RETURN(offset=0x360, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0xA0C, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x909F073)) - ) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x44)) - + Op.JUMPI( - pc=0x576, - condition=Op.ISZERO( - Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x80), 0x0)) - ), - ) - + Op.MSTORE(offset=0x380, value=0x2) - + Op.RETURN(offset=0x380, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x58F, - condition=Op.ISZERO( - Op.ISZERO(Op.SGT(Op.MLOAD(offset=0xA0), 0x0)) - ), - ) - + Op.MSTORE(offset=0x3A0, value=0x3) - + Op.RETURN(offset=0x3A0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x5A8, - condition=Op.ISZERO( - Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x40), 0x0)) - ), - ) - + Op.MSTORE(offset=0x3C0, value=0x4) - + Op.RETURN(offset=0x3C0, size=0x20) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x120, - value=Op.MUL( - Op.SDIV( - Op.MUL(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), - Op.MUL( - Op.SLOAD( - key=Op.ADD( - 0x4, - Op.MUL(Op.MLOAD(offset=0x40), 0xC), - ), - ), - Op.EXP( - 0xA, - Op.SLOAD( - key=Op.ADD( - 0x3, - Op.MUL(Op.MLOAD(offset=0x40), 0xC), - ), - ), - ), - ), - ), + Op.MUL( + Op.MLOAD(offset=0x6C0), Op.EXP(0xA, Op.MLOAD(offset=0x6A0)) + ), + ), + ) + + Op.JUMPI( + pc=0xC5B, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x120), Op.MLOAD(offset=0x6E0)) + ), + ) + + Op.JUMPI( + pc=0xC4E, condition=Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x620), 0x0)) + ) + + Op.POP( + Op.CALL( + gas=0x1388, + address=Op.CALLER, + value=Op.MLOAD(offset=0x620), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.MSTORE(offset=0x800, value=0xC) + + Op.RETURN(offset=0x800, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=0xCB0, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x760), Op.MLOAD(offset=0x80)) + ), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000003, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.SUB( + Op.SLOAD( + key=Op.ADD( + 0xE0000000000000000000000000000000000000003, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ) + ), + Op.MLOAD(offset=0x760), + ), + ) + + Op.JUMP(pc=0xFD4) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000000, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000001, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000002, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000003, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000004, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000005, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000006, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000007, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x820, value=Op.SLOAD(key=Op.SHA3)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x860, value=Op.SLOAD(key=Op.SHA3)) + + Op.JUMPI(pc=0xE3A, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) + + Op.MLOAD(offset=0x860) + + Op.JUMP(pc=0xE3D) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0xEB7, condition=Op.ISZERO) + + Op.MLOAD(offset=0x860) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x820) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x860)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMP(pc=0xF06) + + Op.JUMPDEST + + Op.JUMPI(pc=0xF05, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) + + Op.SSTORE( + key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), + value=Op.MLOAD(offset=0x820), + ) + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST * 2 + + Op.JUMPI(pc=0xF46, condition=Op.ISZERO(Op.MLOAD(offset=0x860))) + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST + + Op.JUMPI(pc=0xF86, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.SSTORE( + key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), + value=Op.SUB( + Op.SLOAD(key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC))), + 0x1, + ), + ) + + Op.JUMPDEST + + Op.MLOAD(offset=0x760) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.SUB + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x760) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x720)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x720)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.POP( + Op.CALL( + gas=0x1388, + address=Op.CALLER, + value=Op.MLOAD(offset=0x120), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xA0] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=0x2) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=Op.MLOAD(offset=0xA0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x760)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x1C0)) + + Op.LOG4( + offset=Op.DUP6, + size=0x80, + topic_1=0xF9FE89F83633CC2ECA9B17E1F77422F037CB026EACA4E6A5337FA1595F50A81, # noqa: E501 + topic_2=Op.MLOAD(offset=0x40), + topic_3=Op.CALLER, + topic_4=Op.MLOAD(offset=0x720), + ) + + Op.POP + + Op.JUMP(pc=0x1109) + + Op.JUMPDEST + + Op.MSTORE(offset=0x9E0, value=0xA) + + Op.RETURN(offset=0x9E0, size=0x20) + + Op.JUMPDEST + + Op.JUMP(pc=0x1680) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x167F, condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x700), 0x2)) + ) + + Op.JUMPI( + pc=0x1671, condition=Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x620), 0x0)) + ) + + Op.JUMPI( + pc=0x1160, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x620), Op.MLOAD(offset=0x6E0)) + ), + ) + + Op.JUMPI( + pc=0x1153, condition=Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x620), 0x0)) + ) + + Op.POP( + Op.CALL( + gas=0x1388, + address=Op.CALLER, + value=Op.MLOAD(offset=0x620), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.MSTORE(offset=0xA00, value=0xC) + + Op.RETURN(offset=0xA00, size=0x20) + + Op.JUMPDEST + + Op.MSTORE( + offset=0xA20, + value=Op.SDIV( + Op.MUL( + Op.MUL(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), 0xDE0B6B3A7640000, ), - ) - + Op.JUMPI( - pc=0x610, - condition=Op.ISZERO( - Op.SLT( + Op.MUL( + Op.MLOAD(offset=0x6C0), Op.EXP(0xA, Op.MLOAD(offset=0x6A0)) + ), + ), + ) + + Op.MLOAD(offset=0x620) + + Op.MLOAD(offset=0xA20) + + Op.JUMPI(pc=0x1198, condition=Op.ISZERO(Op.SLT(Op.DUP3, Op.DUP1))) + + Op.DUP2 + + Op.JUMP(pc=0x119A) + + Op.JUMPDEST + + Op.DUP1 + + Op.JUMPDEST + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x120] + + Op.MSTORE + + Op.JUMPI( + pc=0x121B, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x120), Op.MLOAD(offset=0xA20)) + ), + ) + + Op.MSTORE( + offset=0x760, + value=Op.SDIV( + Op.SDIV( + Op.MUL( Op.MLOAD(offset=0x120), - Op.SLOAD( - key=Op.ADD( - 0x5, Op.MUL(Op.MLOAD(offset=0x40), 0xC) - ), + Op.MUL( + Op.MLOAD(offset=0x6C0), + Op.EXP(0xA, Op.MLOAD(offset=0x6A0)), ), ), + Op.MLOAD(offset=0xA0), + ), + 0xDE0B6B3A7640000, + ), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000003, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=Op.SUB( + Op.SLOAD( + key=Op.ADD( + 0xE0000000000000000000000000000000000000003, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ) + ), + Op.MLOAD(offset=0x760), + ), + ) + + Op.JUMP(pc=0x1546) + + Op.JUMPDEST + + Op.MSTORE(offset=0x760, value=Op.MLOAD(offset=0x80)) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000000, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000001, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000002, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000003, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000004, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000005, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000006, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000007, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x820, value=Op.SLOAD(key=Op.SHA3)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x860, value=Op.SLOAD(key=Op.SHA3)) + + Op.JUMPI(pc=0x13AC, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) + + Op.MLOAD(offset=0x860) + + Op.JUMP(pc=0x13AF) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1429, condition=Op.ISZERO) + + Op.MLOAD(offset=0x860) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x820) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x860)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMP(pc=0x1478) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1477, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) + + Op.SSTORE( + key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), + value=Op.MLOAD(offset=0x820), + ) + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST * 2 + + Op.JUMPI(pc=0x14B8, condition=Op.ISZERO(Op.MLOAD(offset=0x860))) + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST + + Op.JUMPI(pc=0x14F8, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.SSTORE( + key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), + value=Op.SUB( + Op.SLOAD(key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC))), + 0x1, + ), + ) + + Op.JUMPDEST + + Op.MLOAD(offset=0x760) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x720)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.SUB + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x720)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x760) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.POP( + Op.CALL( + gas=0x1388, + address=Op.MLOAD(offset=0x720), + value=Op.MLOAD(offset=0x120), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xA0] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=0x1) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=Op.MLOAD(offset=0xA0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x760)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x1C0)) + + Op.LOG4( + offset=Op.DUP6, + size=0x80, + topic_1=0xF9FE89F83633CC2ECA9B17E1F77422F037CB026EACA4E6A5337FA1595F50A81, # noqa: E501 + topic_2=Op.MLOAD(offset=0x40), + topic_3=Op.CALLER, + topic_4=Op.MLOAD(offset=0x720), + ) + + Op.POP + + Op.JUMP(pc=0x167E) + + Op.JUMPDEST + + Op.MSTORE(offset=0xC00, value=0xA) + + Op.RETURN(offset=0xC00, size=0x20) + + Op.JUMPDEST * 3 + + Op.SSTORE( + key=Op.ADD(0x7, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), + value=Op.MLOAD(offset=0xA0), + ) + + Op.PUSH1[0x1C] + + Op.PUSH1[0xA0] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.MLOAD(offset=0x700)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=Op.MLOAD(offset=0xA0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x760)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x60), value=Op.TIMESTAMP) + + Op.LOG2( + offset=Op.DUP4, + size=0x80, + topic_1=0x50944F09CE56F9F0E2CB67683C9B451049C39F60452B850B169148F3DAA51ED6, # noqa: E501 + topic_2=Op.MLOAD(offset=0x40), + ) + + Op.POP + + Op.MSTORE( + offset=0x5E0, + value=Op.SUB(Op.MLOAD(offset=0x5E0), Op.MLOAD(offset=0x760)), + ) + + Op.MSTORE( + offset=0x620, + value=Op.SUB(Op.MLOAD(offset=0x620), Op.MLOAD(offset=0x120)), + ) + + Op.MSTORE(offset=0x640, value=Op.ADD(Op.MLOAD(offset=0x640), 0x1)) + + Op.JUMP(pc=0xA46) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1726, condition=Op.ISZERO(Op.MLOAD(offset=0x620))) + + Op.POP( + Op.CALL( + gas=0x1388, + address=Op.CALLER, + value=Op.MLOAD(offset=0x620), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMPDEST + + Op.MSTORE(offset=0xC20, value=0x1) + + Op.RETURN(offset=0xC20, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x185B, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x34A501C7))) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x84] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x27F08B00) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.ADDRESS) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x80)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.SLOAD( + key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) ), - ) - + Op.JUMPI( - pc=0x603, condition=Op.ISZERO(Op.SGT(Op.CALLVALUE, 0x0)) - ) - + Op.POP( - Op.CALL( - gas=0x1388, - address=Op.CALLER, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.MSTORE(offset=0x3E0, value=0xB) - + Op.RETURN(offset=0x3E0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x400, value=Op.SLOAD(key=Op.SHA3)) - + Op.JUMPI( - pc=0x9FF, - condition=Op.ISZERO( - Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x400), Op.MLOAD(offset=0x80)), - ), - ), - ) - + Op.PUSH1[0xE0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x6) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x2) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x80), value=Op.MLOAD(offset=0xA0) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0xA0), value=Op.CALLER) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0xC0), value=Op.NUMBER) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x180] - + Op.MSTORE - + Op.MLOAD(offset=0x180) - + Op.SHA3( - offset=Op.DUP2, - size=Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x1C0] - + Op.MSTORE - + Op.JUMPI( - pc=0x98A, - condition=Op.ISZERO( - Op.ISZERO( - Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000000, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ), + value=0x0, + args_offset=Op.DUP4, + args_size=0x64, + ret_offset=0xC40, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0xC40) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x184E, condition=Op.ISZERO) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x400, value=Op.SLOAD(key=Op.SHA3)) + + Op.MSTORE( + offset=0xC80, + value=Op.ADD(Op.MLOAD(offset=0x400), Op.MLOAD(offset=0x80)), + ) + + Op.MLOAD(offset=0xC80) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.PUSH1[0x1C] + + Op.PUSH1[0x40] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.MLOAD(offset=0x80)) + + Op.LOG3( + offset=Op.DUP5, + size=0x20, + topic_1=0x301CD746DBB5E7F9ADE2BCD9E8A849B968BFCC222DE48D2086BA200184ACC83D, # noqa: E501 + topic_2=Op.MLOAD(offset=0x40), + topic_3=Op.CALLER, + ) + + Op.POP + + Op.MSTORE(offset=0xCC0, value=Op.MLOAD(offset=0xC80)) + + Op.RETURN(offset=0xCC0, size=0x20) + + Op.JUMPDEST + + Op.MSTORE(offset=0xCE0, value=0x0) + + Op.RETURN(offset=0xCE0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1982, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xE1ED3AD3))) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x400, value=Op.SLOAD(key=Op.SHA3)) + + Op.JUMPI( + pc=0x1975, + condition=Op.ISZERO( + Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x400), Op.MLOAD(offset=0x80)) + ) + ), + ) + + Op.SUB(Op.MLOAD(offset=0x400), Op.MLOAD(offset=0x80)) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x86744558) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0x80)) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.SLOAD( + key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) ), - ) - + Op.SSTORE( + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0xD60, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0xD60) + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0xD40] + + Op.MSTORE + + Op.PUSH1[0x1C] + + Op.PUSH1[0x40] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.MLOAD(offset=0x80)) + + Op.LOG3( + offset=Op.DUP5, + size=0x20, + topic_1=0xFA4460934F383B326D79DCD4F1E59A17AC8EE9A87312169933E7F68B85C1A8CE, # noqa: E501 + topic_2=Op.MLOAD(offset=0x40), + topic_3=Op.CALLER, + ) + + Op.POP + + Op.MSTORE(offset=0xD80, value=Op.MLOAD(offset=0xD40)) + + Op.RETURN(offset=0xD80, size=0x20) + + Op.JUMPDEST + + Op.MSTORE(offset=0xDA0, value=0x0) + + Op.RETURN(offset=0xDA0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1F08, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x327A22F1))) + + Op.MSTORE(offset=0x1C0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE( + offset=0x700, + value=Op.SLOAD( key=Op.ADD( - 0xE0000000000000000000000000000000000000000, + 0xE0000000000000000000000000000000000000001, Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.MLOAD(offset=0x1C0), - ) - + Op.SSTORE( + ) + ), + ) + + Op.MSTORE( + offset=0x80, + value=Op.SLOAD( key=Op.ADD( - 0xE0000000000000000000000000000000000000001, + 0xE0000000000000000000000000000000000000003, Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x2, - ) - + Op.SSTORE( + ) + ), + ) + + Op.MSTORE( + offset=0xA0, + value=Op.SLOAD( + key=Op.ADD( + 0xE0000000000000000000000000000000000000004, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ) + ), + ) + + Op.MSTORE( + offset=0x720, + value=Op.SLOAD( + key=Op.ADD( + 0xE0000000000000000000000000000000000000005, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ) + ), + ) + + Op.MSTORE( + offset=0x40, + value=Op.SLOAD( key=Op.ADD( 0xE0000000000000000000000000000000000000002, Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ) + ), + ) + + Op.MSTORE( + offset=0x680, + value=Op.SLOAD( + key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.MSTORE( + offset=0x6A0, + value=Op.SLOAD( + key=Op.ADD(0x3, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.MSTORE( + offset=0x6C0, + value=Op.SLOAD( + key=Op.ADD(0x4, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.JUMPI( + pc=0x1EFB, + condition=Op.ISZERO(Op.EQ(Op.CALLER, Op.MLOAD(offset=0x720))), + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000000, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000001, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000002, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000003, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000004, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000005, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000006, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.SSTORE( + key=Op.ADD( + 0xE0000000000000000000000000000000000000007, + Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), + ), + value=0x0, + ) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x820, value=Op.SLOAD(key=Op.SHA3)) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x860, value=Op.SLOAD(key=Op.SHA3)) + + Op.JUMPI(pc=0x1C00, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) + + Op.MLOAD(offset=0x860) + + Op.JUMP(pc=0x1C03) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x1C7D, condition=Op.ISZERO) + + Op.MLOAD(offset=0x860) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x820) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x860)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMP(pc=0x1CCC) + + Op.JUMPDEST + + Op.JUMPI(pc=0x1CCB, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) + + Op.SSTORE( + key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), + value=Op.MLOAD(offset=0x820), + ) + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST * 2 + + Op.JUMPI(pc=0x1D0C, condition=Op.ISZERO(Op.MLOAD(offset=0x860))) + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST + + Op.JUMPI(pc=0x1D4C, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.SSTORE( + key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), + value=Op.SUB( + Op.SLOAD(key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC))), + 0x1, + ), + ) + + Op.JUMPI( + pc=0x1DDE, condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x700), 0x1)) + ) + + Op.MSTORE( + offset=0x120, + value=Op.MUL( + Op.SDIV( + Op.MUL(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), + Op.MUL( + Op.MLOAD(offset=0x6C0), + Op.EXP(0xA, Op.MLOAD(offset=0x6A0)), + ), ), - value=Op.MLOAD(offset=0x40), - ) - + Op.SSTORE( + 0xDE0B6B3A7640000, + ), + ) + + Op.POP( + Op.CALL( + gas=0x1388, + address=Op.CALLER, + value=Op.MLOAD(offset=0x120), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.JUMP(pc=0x1E9C) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1E9B, condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x700), 0x2)) + ) + + Op.MLOAD(offset=0x80) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.SUB + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.MLOAD(offset=0x80) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SLOAD(key=Op.SHA3) + + Op.ADD + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.SHA3 + + Op.SSTORE + + Op.JUMPDEST * 2 + + Op.PUSH1[0x1C] + + Op.PUSH1[0xA0] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=Op.MLOAD(offset=0xA0)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x1C0)) + + Op.LOG2( + offset=Op.DUP4, + size=0x80, + topic_1=0xAC6333455D304288767A0F1039D666D16882D10B6EA83693D2556E4C8098001, # noqa: E501 + topic_2=Op.MLOAD(offset=0x40), + ) + + Op.POP + + Op.MSTORE(offset=0xF40, value=0x1) + + Op.RETURN(offset=0xF40, size=0x20) + + Op.JUMPDEST + + Op.MSTORE(offset=0xF60, value=0x0) + + Op.RETURN(offset=0xF60, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x22F0, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xD91E22F4))) + + Op.MSTORE(offset=0xF80, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x680, value=Op.CALLDATALOAD(offset=0x24)) + + Op.MSTORE(offset=0x6A0, value=Op.CALLDATALOAD(offset=0x44)) + + Op.MSTORE(offset=0x6C0, value=Op.CALLDATALOAD(offset=0x64)) + + Op.MSTORE(offset=0x6E0, value=Op.CALLDATALOAD(offset=0x84)) + + Op.MSTORE(offset=0xFA0, value=Op.CALLDATALOAD(offset=0xA4)) + + Op.MSTORE( + offset=0xFC0, + value=Op.ADD( + Op.SLOAD(key=0x160000000000000000000000000000000000000000), 0x1 + ), + ) + + Op.JUMPI( + pc=0x1F76, + condition=Op.ISZERO( + Op.ISZERO(Op.SGT(Op.MLOAD(offset=0xF80), 0x0)) + ), + ) + + Op.MSTORE(offset=0xFE0, value=0x1E) + + Op.RETURN(offset=0xFE0, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1FA4, + condition=Op.ISZERO( + Op.SLOAD( + key=Op.ADD( + 0xD0000000000000000000000000000000000000000, + Op.MLOAD(offset=0xF80), + ) + ) + ), + ) + + Op.MSTORE(offset=0x1000, value=0x1F) + + Op.RETURN(offset=0x1000, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1FBE, + condition=Op.ISZERO( + Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x680), 0x0)) + ), + ) + + Op.MSTORE(offset=0x1020, value=0x20) + + Op.RETURN(offset=0x1020, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1FD7, condition=Op.ISZERO(Op.SLT(Op.MLOAD(offset=0xFA0), 0x0)) + ) + + Op.MSTORE(offset=0x1040, value=0x21) + + Op.RETURN(offset=0x1040, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x1FF0, condition=Op.ISZERO(Op.SLT(Op.MLOAD(offset=0x6A0), 0x0)) + ) + + Op.MSTORE(offset=0x1060, value=0x22) + + Op.RETURN(offset=0x1060, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x2009, condition=Op.ISZERO(Op.SLT(Op.MLOAD(offset=0x6C0), 0x0)) + ) + + Op.MSTORE(offset=0x1080, value=0x23) + + Op.RETURN(offset=0x1080, size=0x20) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x2022, condition=Op.ISZERO(Op.SLT(Op.MLOAD(offset=0x6E0), 0x0)) + ) + + Op.MSTORE(offset=0x10A0, value=0x24) + + Op.RETURN(offset=0x10A0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC32D01A1) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.ADDRESS) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x680), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x10C0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x10C0) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x2075, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) + + Op.MSTORE(offset=0x10E0, value=0x28) + + Op.RETURN(offset=0x10E0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x83B58638) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.ADDRESS) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x680), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x1100, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x1100) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x20C9, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) + + Op.MSTORE(offset=0x1120, value=0x29) + + Op.RETURN(offset=0x1120, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x1C] + + Op.PUSH1[0x44] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x26690247) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.ADDRESS) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x680), + value=0x0, + args_offset=Op.DUP4, + args_size=0x24, + ret_offset=0x1140, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x1140) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x2116, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) + + Op.MSTORE(offset=0x1160, value=0x2A) + + Op.RETURN(offset=0x1160, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x1C] + + Op.PUSH1[0x64] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x86744558) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x680), + value=0x0, + args_offset=Op.DUP4, + args_size=0x44, + ret_offset=0x1180, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x1180) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x216A, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) + + Op.MSTORE(offset=0x11A0, value=0x2B) + + Op.RETURN(offset=0x11A0, size=0x20) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x1C] + + Op.PUSH1[0x84] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x27F08B00) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.ADDRESS) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.CALLER) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=0x0) + + Op.POP( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x2D), + address=Op.MLOAD(offset=0x680), + value=0x0, + args_offset=Op.DUP4, + args_size=0x64, + ret_offset=0x11C0, + ret_size=0x20, + ) + ) + + Op.MLOAD(offset=0x11C0) + + Op.SWAP1 + + Op.POP + + Op.JUMPI(pc=0x21C4, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) + + Op.MSTORE(offset=0x11E0, value=0x2C) + + Op.RETURN(offset=0x11E0, size=0x20) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.MUL(Op.MLOAD(offset=0xFC0), 0xC), + value=Op.MLOAD(offset=0xFC0), + ) + + Op.SSTORE( + key=Op.ADD(0x1, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), + value=Op.MLOAD(offset=0xF80), + ) + + Op.SSTORE( + key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), + value=Op.MLOAD(offset=0x680), + ) + + Op.SSTORE( + key=Op.ADD(0x6, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), + value=Op.MLOAD(offset=0xFA0), + ) + + Op.SSTORE( + key=Op.ADD(0x3, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), + value=Op.MLOAD(offset=0x6A0), + ) + + Op.SSTORE( + key=Op.ADD(0x4, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), + value=Op.MLOAD(offset=0x6C0), + ) + + Op.SSTORE( + key=Op.ADD(0x5, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), + value=Op.MLOAD(offset=0x6E0), + ) + + Op.SSTORE( + key=Op.ADD(0x7, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), value=0x1 + ) + + Op.SSTORE( + key=Op.ADD(0x8, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), + value=Op.CALLER, + ) + + Op.SSTORE( + key=Op.ADD(0x9, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), + value=Op.NUMBER, + ) + + Op.SSTORE( + key=Op.ADD( + 0xC0000000000000000000000000000000000000000, + Op.MLOAD(offset=0x680), + ), + value=Op.MLOAD(offset=0xFC0), + ) + + Op.SSTORE( + key=Op.ADD( + 0xD0000000000000000000000000000000000000000, + Op.MLOAD(offset=0xF80), + ), + value=Op.MLOAD(offset=0xFC0), + ) + + Op.SSTORE( + key=0x160000000000000000000000000000000000000000, + value=Op.MLOAD(offset=0xFC0), + ) + + Op.PUSH1[0x1C] + + Op.PUSH1[0x40] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.ADD + + Op.MSTORE(offset=Op.DUP2, value=Op.MLOAD(offset=0xFC0)) + + Op.LOG1( + offset=Op.DUP3, + size=0x20, + topic_1=0x1238FE6D44CF796960D61B74766B3A383110E472D849F5CA16AE50215BC05E58, # noqa: E501 + ) + + Op.POP + + Op.MSTORE(offset=0x1200, value=0x1) + + Op.RETURN(offset=0x1200, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x232A, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x41569661))) + + Op.MSTORE(offset=0x1220, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE( + offset=0x1240, + value=Op.SLOAD( + key=Op.ADD( + 0xC0000000000000000000000000000000000000000, + Op.MLOAD(offset=0x1220), + ) + ), + ) + + Op.RETURN(offset=0x1240, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x2364, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xFCDE9F78))) + + Op.MSTORE(offset=0xF80, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE( + offset=0x1260, + value=Op.SLOAD( + key=Op.ADD( + 0xD0000000000000000000000000000000000000000, + Op.MLOAD(offset=0xF80), + ) + ), + ) + + Op.RETURN(offset=0x1260, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x2392, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x6E5B4343))) + + Op.MSTORE( + offset=0x1280, + value=Op.SLOAD(key=0x160000000000000000000000000000000000000000), + ) + + Op.RETURN(offset=0x1280, size=0x20) + + Op.JUMPDEST + + Op.JUMPI(pc=0x24E6, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xFAFA69C2))) + + Op.MSTORE(offset=0xFC0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH2[0x180] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0xB) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x12A0] + + Op.MSTORE + + Op.MSTORE( + offset=Op.MLOAD(offset=0x12A0), + value=Op.SLOAD(key=Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x20), + value=Op.SLOAD( + key=Op.ADD(0x1, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x40), + value=Op.SLOAD( + key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x60), + value=Op.SLOAD( + key=Op.ADD(0x3, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x80), + value=Op.SLOAD( + key=Op.ADD(0x4, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0xA0), + value=Op.SLOAD( + key=Op.ADD(0x5, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0xC0), + value=Op.SLOAD( + key=Op.ADD(0x7, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0xE0), + value=Op.SLOAD( + key=Op.ADD(0x8, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x100), + value=Op.SLOAD( + key=Op.ADD(0x9, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x120), + value=Op.SLOAD( + key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x140), + value=Op.SLOAD( + key=Op.ADD(0x6, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)) + ), + ) + + Op.JUMPI(pc=0x24B2, condition=Op.ISZERO(Op.MLOAD(offset=0x12A0))) + + Op.MLOAD(offset=0x12A0) + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.PUSH1[0x40] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x1) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x0) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x262E, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x9CFC1535))) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE( + offset=0x1340, + value=Op.SLOAD( + key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.MSTORE( + offset=0x1C0, + value=Op.SLOAD( + key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) + ), + ) + + Op.MLOAD(offset=0x1340) + + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x600] + + Op.MSTORE + + Op.MSTORE(offset=0x13A0, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x25D4, + condition=Op.ISZERO( + Op.SLT(Op.MLOAD(offset=0x13A0), Op.MLOAD(offset=0x1340)) + ), + ) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE( + offset=Op.ADD( + Op.MLOAD(offset=0x600), Op.MUL(0x20, Op.MLOAD(offset=0x13A0)) + ), + value=Op.SLOAD(key=Op.SHA3), + ) + + Op.PUSH1[0xA0] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x0) + + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0)) + + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=0x1C0, value=Op.SLOAD(key=Op.SHA3)) + + Op.MSTORE(offset=0x13A0, value=Op.ADD(Op.MLOAD(offset=0x13A0), 0x1)) + + Op.JUMP(pc=0x253D) + + Op.JUMPDEST + + Op.JUMPI(pc=0x25FA, condition=Op.ISZERO(Op.MLOAD(offset=0x600))) + + Op.MLOAD(offset=0x600) + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.PUSH1[0x40] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x1) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x0) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x27E9, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xF718190))) + + Op.MSTORE(offset=0xFC0, value=Op.CALLDATALOAD(offset=0x4)) + + Op.PUSH2[0x120] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x8) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x180] + + Op.MSTORE + + Op.MSTORE( + offset=Op.MLOAD(offset=0x180), + value=Op.SLOAD( + key=Op.ADD( + 0xE0000000000000000000000000000000000000000, + Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), + ) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x180), 0x20), + value=Op.SLOAD( + key=Op.ADD( + 0xE0000000000000000000000000000000000000001, + Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), + ) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x180), 0x40), + value=Op.SLOAD( + key=Op.ADD( + 0xE0000000000000000000000000000000000000002, + Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), + ) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x180), 0x60), + value=Op.SLOAD( key=Op.ADD( 0xE0000000000000000000000000000000000000003, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.MLOAD(offset=0x80), - ) - + Op.SSTORE( + Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), + ) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x180), 0x80), + value=Op.SLOAD( key=Op.ADD( 0xE0000000000000000000000000000000000000004, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.MLOAD(offset=0xA0), - ) - + Op.SSTORE( + Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), + ) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x180), 0xA0), + value=Op.SLOAD( key=Op.ADD( 0xE0000000000000000000000000000000000000005, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.CALLER, - ) - + Op.SSTORE( + Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), + ) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x180), 0xC0), + value=Op.SLOAD( key=Op.ADD( 0xE0000000000000000000000000000000000000006, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.NUMBER, - ) - + Op.SSTORE( + Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), + ) + ), + ) + + Op.MSTORE( + offset=Op.ADD(Op.MLOAD(offset=0x180), 0xE0), + value=Op.SLOAD( key=Op.ADD( 0xE0000000000000000000000000000000000000007, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.ADD( - 0xE0000000000000000000000000000000000000000, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ) - + Op.MSTORE( - offset=0x200, - value=Op.SLOAD( - key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.MLOAD(offset=0x1C0) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x200) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x200) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x1C0) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.SSTORE( - key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - value=Op.MLOAD(offset=0x1C0), - ) - + Op.SSTORE( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - value=Op.ADD( - Op.SLOAD( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) - ), - 0x1, - ), - ) - + Op.JUMPI(pc=0x985, condition=Op.ISZERO(Op.EQ(0x2, 0x2))) - + Op.MLOAD(offset=0x80) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.SUB - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x80) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.JUMP(pc=0x997) - + Op.JUMPDEST - + Op.MSTORE(offset=0x560, value=0x15) - + Op.RETURN(offset=0x560, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x1C] - + Op.PUSH1[0xC0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.CALLER) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x2) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0xA0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x80), value=Op.MLOAD(offset=0x1C0) - ) - + Op.LOG2( - offset=Op.DUP4, - size=0xA0, - topic_1=0x9463D1CC4AA2DB0DC624C996B1846F028D43C48CFC8B9F427F13336E4A732264, # noqa: E501 - topic_2=Op.MLOAD(offset=0x40), - ) - + Op.POP - + Op.MSTORE(offset=0x580, value=Op.MLOAD(offset=0x1C0)) - + Op.RETURN(offset=0x580, size=0x20) - + Op.JUMPDEST - + Op.MSTORE(offset=0x5A0, value=0x0) - + Op.RETURN(offset=0x5A0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1733, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x9998BD00)) - ) - + Op.CALLDATASIZE - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.CALLDATACOPY( - dest_offset=Op.DUP3, - offset=0x4, - size=Op.CALLDATASIZE, - ) - + Op.MSTORE(offset=0x5E0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE( - offset=0x600, - value=Op.ADD( - Op.ADD(Op.DUP3, 0x20), Op.CALLDATALOAD(offset=0x24) - ), - ) - + Op.POP - + Op.MSTORE(offset=0x620, value=Op.CALLVALUE) - + Op.MSTORE(offset=0x640, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x170A, - condition=Op.ISZERO( - Op.SLT( - Op.MLOAD(offset=0x640), - Op.MLOAD(offset=Op.SUB(Op.MLOAD(offset=0x600), 0x20)), - ), - ), - ) - + Op.MSTORE( - offset=0x1C0, - value=Op.MLOAD( - offset=Op.ADD( - Op.MLOAD(offset=0x600), - Op.MUL(0x20, Op.MLOAD(offset=0x640)), - ), - ), - ) - + Op.JUMPI( - pc=0xA9D, - condition=Op.ISZERO( - Op.ISZERO( - Op.SGT( - Op.NUMBER, - Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000006, # noqa: E501 - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ), - ), - ), - ) - + Op.MSTORE(offset=0x660, value=0x16) - + Op.RETURN(offset=0x660, size=0x20) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x40, - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000002, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=0x680, - value=Op.SLOAD( - key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.MSTORE( - offset=0x6A0, - value=Op.SLOAD( - key=Op.ADD(0x3, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.MSTORE( - offset=0x6C0, - value=Op.SLOAD( - key=Op.ADD(0x4, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.MSTORE( - offset=0x6E0, - value=Op.SLOAD( - key=Op.ADD(0x5, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.MSTORE( - offset=0x700, - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000001, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=0x80, - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000003, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=0xA0, - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000004, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=0x720, - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000005, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ) - + Op.JUMPI( - pc=0x110E, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x700), 0x1)), - ) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x400, value=Op.SLOAD(key=Op.SHA3)) - + Op.JUMPI( - pc=0x10FC, - condition=Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x400), 0x0)), - ) - + Op.MLOAD(offset=0x80) - + Op.MLOAD(offset=0x400) - + Op.MLOAD(offset=0x5E0) - + Op.JUMPI(pc=0xBE0, condition=Op.ISZERO(Op.SLT(Op.DUP3, Op.DUP1))) - + Op.DUP2 - + Op.JUMP(pc=0xBE2) - + Op.JUMPDEST - + Op.DUP1 - + Op.JUMPDEST - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0xBF4, condition=Op.ISZERO(Op.SLT(Op.DUP3, Op.DUP1))) - + Op.DUP2 - + Op.JUMP(pc=0xBF6) - + Op.JUMPDEST - + Op.DUP1 - + Op.JUMPDEST - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x760] - + Op.MSTORE - + Op.MSTORE( - offset=0x120, - value=Op.SDIV( - Op.MUL( - Op.MUL(Op.MLOAD(offset=0x760), Op.MLOAD(offset=0xA0)), - 0xDE0B6B3A7640000, - ), - Op.MUL( - Op.MLOAD(offset=0x6C0), - Op.EXP(0xA, Op.MLOAD(offset=0x6A0)), - ), - ), - ) - + Op.JUMPI( - pc=0xC5B, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x120), Op.MLOAD(offset=0x6E0)), - ), - ) - + Op.JUMPI( - pc=0xC4E, - condition=Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x620), 0x0)), - ) - + Op.POP( - Op.CALL( - gas=0x1388, - address=Op.CALLER, - value=Op.MLOAD(offset=0x620), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.MSTORE(offset=0x800, value=0xC) - + Op.RETURN(offset=0x800, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0xCB0, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x760), Op.MLOAD(offset=0x80)), - ), - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000003, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.SUB( - Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000003, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - Op.MLOAD(offset=0x760), - ), - ) - + Op.JUMP(pc=0xFD4) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000000, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000001, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000002, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000003, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000004, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000005, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000006, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000007, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x820, value=Op.SLOAD(key=Op.SHA3)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x860, value=Op.SLOAD(key=Op.SHA3)) - + Op.JUMPI(pc=0xE3A, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) - + Op.MLOAD(offset=0x860) - + Op.JUMP(pc=0xE3D) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0xEB7, condition=Op.ISZERO) - + Op.MLOAD(offset=0x860) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x820) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x860) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMP(pc=0xF06) - + Op.JUMPDEST - + Op.JUMPI(pc=0xF05, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) - + Op.SSTORE( - key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - value=Op.MLOAD(offset=0x820), - ) - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI(pc=0xF46, condition=Op.ISZERO(Op.MLOAD(offset=0x860))) - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.JUMPI(pc=0xF86, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.SSTORE( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - value=Op.SUB( - Op.SLOAD( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) - ), - 0x1, - ), - ) - + Op.JUMPDEST - + Op.MLOAD(offset=0x760) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.SUB - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x760) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x720) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x720) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.POP( - Op.CALL( - gas=0x1388, - address=Op.CALLER, - value=Op.MLOAD(offset=0x120), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=0x2) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x20), value=Op.MLOAD(offset=0xA0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x760) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x1C0) - ) - + Op.LOG4( - offset=Op.DUP6, - size=0x80, - topic_1=0xF9FE89F83633CC2ECA9B17E1F77422F037CB026EACA4E6A5337FA1595F50A81, # noqa: E501 - topic_2=Op.MLOAD(offset=0x40), - topic_3=Op.CALLER, - topic_4=Op.MLOAD(offset=0x720), - ) - + Op.POP - + Op.JUMP(pc=0x1109) - + Op.JUMPDEST - + Op.MSTORE(offset=0x9E0, value=0xA) - + Op.RETURN(offset=0x9E0, size=0x20) - + Op.JUMPDEST - + Op.JUMP(pc=0x1680) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x167F, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x700), 0x2)), - ) - + Op.JUMPI( - pc=0x1671, - condition=Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x620), 0x0)), - ) - + Op.JUMPI( - pc=0x1160, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x620), Op.MLOAD(offset=0x6E0)), - ), - ) - + Op.JUMPI( - pc=0x1153, - condition=Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x620), 0x0)), - ) - + Op.POP( - Op.CALL( - gas=0x1388, - address=Op.CALLER, - value=Op.MLOAD(offset=0x620), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.MSTORE(offset=0xA00, value=0xC) - + Op.RETURN(offset=0xA00, size=0x20) - + Op.JUMPDEST - + Op.MSTORE( - offset=0xA20, - value=Op.SDIV( - Op.MUL( - Op.MUL(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), - 0xDE0B6B3A7640000, - ), - Op.MUL( - Op.MLOAD(offset=0x6C0), - Op.EXP(0xA, Op.MLOAD(offset=0x6A0)), - ), - ), - ) - + Op.MLOAD(offset=0x620) - + Op.MLOAD(offset=0xA20) - + Op.JUMPI( - pc=0x1198, condition=Op.ISZERO(Op.SLT(Op.DUP3, Op.DUP1)) - ) - + Op.DUP2 - + Op.JUMP(pc=0x119A) - + Op.JUMPDEST - + Op.DUP1 - + Op.JUMPDEST - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x120] - + Op.MSTORE - + Op.JUMPI( - pc=0x121B, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x120), Op.MLOAD(offset=0xA20)), - ), - ) - + Op.MSTORE( - offset=0x760, - value=Op.SDIV( - Op.SDIV( - Op.MUL( - Op.MLOAD(offset=0x120), - Op.MUL( - Op.MLOAD(offset=0x6C0), - Op.EXP(0xA, Op.MLOAD(offset=0x6A0)), - ), - ), - Op.MLOAD(offset=0xA0), - ), - 0xDE0B6B3A7640000, - ), - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000003, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=Op.SUB( - Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000003, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - Op.MLOAD(offset=0x760), - ), - ) - + Op.JUMP(pc=0x1546) - + Op.JUMPDEST - + Op.MSTORE(offset=0x760, value=Op.MLOAD(offset=0x80)) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000000, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000001, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000002, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000003, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000004, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000005, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000006, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000007, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x820, value=Op.SLOAD(key=Op.SHA3)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x860, value=Op.SLOAD(key=Op.SHA3)) - + Op.JUMPI(pc=0x13AC, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) - + Op.MLOAD(offset=0x860) - + Op.JUMP(pc=0x13AF) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x1429, condition=Op.ISZERO) - + Op.MLOAD(offset=0x860) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x820) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x860) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMP(pc=0x1478) - + Op.JUMPDEST - + Op.JUMPI(pc=0x1477, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) - + Op.SSTORE( - key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - value=Op.MLOAD(offset=0x820), - ) - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI(pc=0x14B8, condition=Op.ISZERO(Op.MLOAD(offset=0x860))) - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.JUMPI(pc=0x14F8, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.SSTORE( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - value=Op.SUB( - Op.SLOAD( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) - ), - 0x1, - ), - ) - + Op.JUMPDEST - + Op.MLOAD(offset=0x760) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x720) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.SUB - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x720) - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x760) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.POP( - Op.CALL( - gas=0x1388, - address=Op.MLOAD(offset=0x720), - value=Op.MLOAD(offset=0x120), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=0x1) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x20), value=Op.MLOAD(offset=0xA0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x760) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x1C0) - ) - + Op.LOG4( - offset=Op.DUP6, - size=0x80, - topic_1=0xF9FE89F83633CC2ECA9B17E1F77422F037CB026EACA4E6A5337FA1595F50A81, # noqa: E501 - topic_2=Op.MLOAD(offset=0x40), - topic_3=Op.CALLER, - topic_4=Op.MLOAD(offset=0x720), - ) - + Op.POP - + Op.JUMP(pc=0x167E) - + Op.JUMPDEST - + Op.MSTORE(offset=0xC00, value=0xA) - + Op.RETURN(offset=0xC00, size=0x20) - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPDEST - + Op.SSTORE( - key=Op.ADD(0x7, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - value=Op.MLOAD(offset=0xA0), - ) - + Op.PUSH1[0x1C] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.MLOAD(offset=0x700)) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x20), value=Op.MLOAD(offset=0xA0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x760) - ) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x60), value=Op.TIMESTAMP) - + Op.LOG2( - offset=Op.DUP4, - size=0x80, - topic_1=0x50944F09CE56F9F0E2CB67683C9B451049C39F60452B850B169148F3DAA51ED6, # noqa: E501 - topic_2=Op.MLOAD(offset=0x40), - ) - + Op.POP - + Op.MSTORE( - offset=0x5E0, - value=Op.SUB(Op.MLOAD(offset=0x5E0), Op.MLOAD(offset=0x760)), - ) - + Op.MSTORE( - offset=0x620, - value=Op.SUB(Op.MLOAD(offset=0x620), Op.MLOAD(offset=0x120)), - ) - + Op.MSTORE( - offset=0x640, value=Op.ADD(Op.MLOAD(offset=0x640), 0x1) - ) - + Op.JUMP(pc=0xA46) - + Op.JUMPDEST - + Op.JUMPI(pc=0x1726, condition=Op.ISZERO(Op.MLOAD(offset=0x620))) - + Op.POP( - Op.CALL( - gas=0x1388, - address=Op.CALLER, - value=Op.MLOAD(offset=0x620), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.MSTORE(offset=0xC20, value=0x1) - + Op.RETURN(offset=0xC20, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x185B, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x34A501C7)) - ) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x84] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x27F08B00) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.CALLER) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.ADDRESS) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x44), value=Op.MLOAD(offset=0x80) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.SLOAD( - key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - value=0x0, - args_offset=Op.DUP4, - args_size=0x64, - ret_offset=0xC40, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0xC40) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x184E, condition=Op.ISZERO) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x400, value=Op.SLOAD(key=Op.SHA3)) - + Op.MSTORE( - offset=0xC80, - value=Op.ADD(Op.MLOAD(offset=0x400), Op.MLOAD(offset=0x80)), - ) - + Op.MLOAD(offset=0xC80) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.PUSH1[0x1C] - + Op.PUSH1[0x40] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.MLOAD(offset=0x80)) - + Op.LOG3( - offset=Op.DUP5, - size=0x20, - topic_1=0x301CD746DBB5E7F9ADE2BCD9E8A849B968BFCC222DE48D2086BA200184ACC83D, # noqa: E501 - topic_2=Op.MLOAD(offset=0x40), - topic_3=Op.CALLER, - ) - + Op.POP - + Op.MSTORE(offset=0xCC0, value=Op.MLOAD(offset=0xC80)) - + Op.RETURN(offset=0xCC0, size=0x20) - + Op.JUMPDEST - + Op.MSTORE(offset=0xCE0, value=0x0) - + Op.RETURN(offset=0xCE0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1982, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xE1ED3AD3)) - ) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x400, value=Op.SLOAD(key=Op.SHA3)) - + Op.JUMPI( - pc=0x1975, - condition=Op.ISZERO( - Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x400), Op.MLOAD(offset=0x80)), - ), - ), - ) - + Op.SUB(Op.MLOAD(offset=0x400), Op.MLOAD(offset=0x80)) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x86744558) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x24), value=Op.MLOAD(offset=0x80) - ) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.SLOAD( - key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0xD60, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0xD60) - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0xD40] - + Op.MSTORE - + Op.PUSH1[0x1C] - + Op.PUSH1[0x40] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.MLOAD(offset=0x80)) - + Op.LOG3( - offset=Op.DUP5, - size=0x20, - topic_1=0xFA4460934F383B326D79DCD4F1E59A17AC8EE9A87312169933E7F68B85C1A8CE, # noqa: E501 - topic_2=Op.MLOAD(offset=0x40), - topic_3=Op.CALLER, - ) - + Op.POP - + Op.MSTORE(offset=0xD80, value=Op.MLOAD(offset=0xD40)) - + Op.RETURN(offset=0xD80, size=0x20) - + Op.JUMPDEST - + Op.MSTORE(offset=0xDA0, value=0x0) - + Op.RETURN(offset=0xDA0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1F08, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x327A22F1)) - ) - + Op.MSTORE(offset=0x1C0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE( - offset=0x700, - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000001, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=0x80, - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000003, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=0xA0, - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000004, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=0x720, - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000005, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=0x40, - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000002, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=0x680, - value=Op.SLOAD( - key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.MSTORE( - offset=0x6A0, - value=Op.SLOAD( - key=Op.ADD(0x3, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.MSTORE( - offset=0x6C0, - value=Op.SLOAD( - key=Op.ADD(0x4, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.JUMPI( - pc=0x1EFB, - condition=Op.ISZERO(Op.EQ(Op.CALLER, Op.MLOAD(offset=0x720))), - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000000, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000001, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000002, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000003, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000004, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000005, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000006, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.SSTORE( - key=Op.ADD( - 0xE0000000000000000000000000000000000000007, - Op.MUL(Op.MLOAD(offset=0x1C0), 0x8), - ), - value=0x0, - ) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x820, value=Op.SLOAD(key=Op.SHA3)) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x860, value=Op.SLOAD(key=Op.SHA3)) - + Op.JUMPI(pc=0x1C00, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) - + Op.MLOAD(offset=0x860) - + Op.JUMP(pc=0x1C03) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x1C7D, condition=Op.ISZERO) - + Op.MLOAD(offset=0x860) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x820) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x860) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMP(pc=0x1CCC) - + Op.JUMPDEST - + Op.JUMPI(pc=0x1CCB, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) - + Op.SSTORE( - key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - value=Op.MLOAD(offset=0x820), - ) - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x820) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.JUMPDEST - + Op.JUMPI(pc=0x1D0C, condition=Op.ISZERO(Op.MLOAD(offset=0x860))) - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.JUMPI(pc=0x1D4C, condition=Op.ISZERO(Op.MLOAD(offset=0x820))) - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.SSTORE( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - value=Op.SUB( - Op.SLOAD( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)) - ), - 0x1, - ), - ) - + Op.JUMPI( - pc=0x1DDE, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x700), 0x1)), - ) - + Op.MSTORE( - offset=0x120, - value=Op.MUL( - Op.SDIV( - Op.MUL(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), - Op.MUL( - Op.MLOAD(offset=0x6C0), - Op.EXP(0xA, Op.MLOAD(offset=0x6A0)), - ), - ), - 0xDE0B6B3A7640000, - ), - ) - + Op.POP( - Op.CALL( - gas=0x1388, - address=Op.CALLER, - value=Op.MLOAD(offset=0x120), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMP(pc=0x1E9C) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1E9B, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x700), 0x2)), - ) - + Op.MLOAD(offset=0x80) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.SUB - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.MLOAD(offset=0x80) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SLOAD(key=Op.SHA3) - + Op.ADD - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE(offset=Op.ADD(0x20, Op.DUP2), value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.SHA3 - + Op.SSTORE - + Op.JUMPDEST - + Op.JUMPDEST - + Op.PUSH1[0x1C] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.CALLER) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x20), value=Op.MLOAD(offset=0xA0) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x40), value=Op.MLOAD(offset=0x80) - ) - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x60), value=Op.MLOAD(offset=0x1C0) - ) - + Op.LOG2( - offset=Op.DUP4, - size=0x80, - topic_1=0xAC6333455D304288767A0F1039D666D16882D10B6EA83693D2556E4C8098001, # noqa: E501 - topic_2=Op.MLOAD(offset=0x40), - ) - + Op.POP - + Op.MSTORE(offset=0xF40, value=0x1) - + Op.RETURN(offset=0xF40, size=0x20) - + Op.JUMPDEST - + Op.MSTORE(offset=0xF60, value=0x0) - + Op.RETURN(offset=0xF60, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x22F0, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xD91E22F4)) - ) - + Op.MSTORE(offset=0xF80, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x680, value=Op.CALLDATALOAD(offset=0x24)) - + Op.MSTORE(offset=0x6A0, value=Op.CALLDATALOAD(offset=0x44)) - + Op.MSTORE(offset=0x6C0, value=Op.CALLDATALOAD(offset=0x64)) - + Op.MSTORE(offset=0x6E0, value=Op.CALLDATALOAD(offset=0x84)) - + Op.MSTORE(offset=0xFA0, value=Op.CALLDATALOAD(offset=0xA4)) - + Op.MSTORE( - offset=0xFC0, - value=Op.ADD( - Op.SLOAD(key=0x160000000000000000000000000000000000000000), - 0x1, - ), - ) - + Op.JUMPI( - pc=0x1F76, - condition=Op.ISZERO( - Op.ISZERO(Op.SGT(Op.MLOAD(offset=0xF80), 0x0)), - ), - ) - + Op.MSTORE(offset=0xFE0, value=0x1E) - + Op.RETURN(offset=0xFE0, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1FA4, - condition=Op.ISZERO( - Op.SLOAD( - key=Op.ADD( - 0xD0000000000000000000000000000000000000000, - Op.MLOAD(offset=0xF80), - ), - ), - ), - ) - + Op.MSTORE(offset=0x1000, value=0x1F) - + Op.RETURN(offset=0x1000, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1FBE, - condition=Op.ISZERO( - Op.ISZERO(Op.SGT(Op.MLOAD(offset=0x680), 0x0)), - ), - ) - + Op.MSTORE(offset=0x1020, value=0x20) - + Op.RETURN(offset=0x1020, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1FD7, - condition=Op.ISZERO(Op.SLT(Op.MLOAD(offset=0xFA0), 0x0)), - ) - + Op.MSTORE(offset=0x1040, value=0x21) - + Op.RETURN(offset=0x1040, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x1FF0, - condition=Op.ISZERO(Op.SLT(Op.MLOAD(offset=0x6A0), 0x0)), - ) - + Op.MSTORE(offset=0x1060, value=0x22) - + Op.RETURN(offset=0x1060, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2009, - condition=Op.ISZERO(Op.SLT(Op.MLOAD(offset=0x6C0), 0x0)), - ) - + Op.MSTORE(offset=0x1080, value=0x23) - + Op.RETURN(offset=0x1080, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2022, - condition=Op.ISZERO(Op.SLT(Op.MLOAD(offset=0x6E0), 0x0)), - ) - + Op.MSTORE(offset=0x10A0, value=0x24) - + Op.RETURN(offset=0x10A0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0xC32D01A1) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.CALLER) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.ADDRESS) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x680), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x10C0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x10C0) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x2075, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) - + Op.MSTORE(offset=0x10E0, value=0x28) - + Op.RETURN(offset=0x10E0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x83B58638) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.ADDRESS) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x680), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x1100, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x1100) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x20C9, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) - + Op.MSTORE(offset=0x1120, value=0x29) - + Op.RETURN(offset=0x1120, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x1C] - + Op.PUSH1[0x44] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x26690247) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.ADDRESS) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x680), - value=0x0, - args_offset=Op.DUP4, - args_size=0x24, - ret_offset=0x1140, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x1140) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x2116, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) - + Op.MSTORE(offset=0x1160, value=0x2A) - + Op.RETURN(offset=0x1160, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x1C] - + Op.PUSH1[0x64] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x86744558) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.CALLER) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=0x0) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x680), - value=0x0, - args_offset=Op.DUP4, - args_size=0x44, - ret_offset=0x1180, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x1180) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x216A, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) - + Op.MSTORE(offset=0x11A0, value=0x2B) - + Op.RETURN(offset=0x11A0, size=0x20) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x1C] - + Op.PUSH1[0x84] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x1C), value=0x27F08B00) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x4), value=Op.ADDRESS) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x24), value=Op.CALLER) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x44), value=0x0) - + Op.POP( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x2D), - address=Op.MLOAD(offset=0x680), - value=0x0, - args_offset=Op.DUP4, - args_size=0x64, - ret_offset=0x11C0, - ret_size=0x20, - ), - ) - + Op.MLOAD(offset=0x11C0) - + Op.SWAP1 - + Op.POP - + Op.JUMPI(pc=0x21C4, condition=Op.ISZERO(Op.ISZERO(Op.EQ))) - + Op.MSTORE(offset=0x11E0, value=0x2C) - + Op.RETURN(offset=0x11E0, size=0x20) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.MUL(Op.MLOAD(offset=0xFC0), 0xC), - value=Op.MLOAD(offset=0xFC0), - ) - + Op.SSTORE( - key=Op.ADD(0x1, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - value=Op.MLOAD(offset=0xF80), - ) - + Op.SSTORE( - key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - value=Op.MLOAD(offset=0x680), - ) - + Op.SSTORE( - key=Op.ADD(0x6, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - value=Op.MLOAD(offset=0xFA0), - ) - + Op.SSTORE( - key=Op.ADD(0x3, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - value=Op.MLOAD(offset=0x6A0), - ) - + Op.SSTORE( - key=Op.ADD(0x4, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - value=Op.MLOAD(offset=0x6C0), - ) - + Op.SSTORE( - key=Op.ADD(0x5, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - value=Op.MLOAD(offset=0x6E0), - ) - + Op.SSTORE( - key=Op.ADD(0x7, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - value=0x1, - ) - + Op.SSTORE( - key=Op.ADD(0x8, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - value=Op.CALLER, - ) - + Op.SSTORE( - key=Op.ADD(0x9, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - value=Op.NUMBER, - ) - + Op.SSTORE( - key=Op.ADD( - 0xC0000000000000000000000000000000000000000, - Op.MLOAD(offset=0x680), - ), - value=Op.MLOAD(offset=0xFC0), - ) - + Op.SSTORE( - key=Op.ADD( - 0xD0000000000000000000000000000000000000000, - Op.MLOAD(offset=0xF80), - ), - value=Op.MLOAD(offset=0xFC0), - ) - + Op.SSTORE( - key=0x160000000000000000000000000000000000000000, - value=Op.MLOAD(offset=0xFC0), - ) - + Op.PUSH1[0x1C] - + Op.PUSH1[0x40] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.ADD - + Op.MSTORE(offset=Op.DUP2, value=Op.MLOAD(offset=0xFC0)) - + Op.LOG1( - offset=Op.DUP3, - size=0x20, - topic_1=0x1238FE6D44CF796960D61B74766B3A383110E472D849F5CA16AE50215BC05E58, # noqa: E501 - ) - + Op.POP - + Op.MSTORE(offset=0x1200, value=0x1) - + Op.RETURN(offset=0x1200, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x232A, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x41569661)) - ) - + Op.MSTORE(offset=0x1220, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE( - offset=0x1240, - value=Op.SLOAD( - key=Op.ADD( - 0xC0000000000000000000000000000000000000000, - Op.MLOAD(offset=0x1220), - ), - ), - ) - + Op.RETURN(offset=0x1240, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2364, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xFCDE9F78)) - ) - + Op.MSTORE(offset=0xF80, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE( - offset=0x1260, - value=Op.SLOAD( - key=Op.ADD( - 0xD0000000000000000000000000000000000000000, - Op.MLOAD(offset=0xF80), - ), - ), - ) - + Op.RETURN(offset=0x1260, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2392, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x6E5B4343)) - ) - + Op.MSTORE( - offset=0x1280, - value=Op.SLOAD( - key=0x160000000000000000000000000000000000000000 - ), - ) - + Op.RETURN(offset=0x1280, size=0x20) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x24E6, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xFAFA69C2)) - ) - + Op.MSTORE(offset=0xFC0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH2[0x180] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0xB) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x12A0] - + Op.MSTORE - + Op.MSTORE( - offset=Op.MLOAD(offset=0x12A0), - value=Op.SLOAD(key=Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x20), - value=Op.SLOAD( - key=Op.ADD(0x1, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x40), - value=Op.SLOAD( - key=Op.ADD(0x2, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x60), - value=Op.SLOAD( - key=Op.ADD(0x3, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x80), - value=Op.SLOAD( - key=Op.ADD(0x4, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0xA0), - value=Op.SLOAD( - key=Op.ADD(0x5, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0xC0), - value=Op.SLOAD( - key=Op.ADD(0x7, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0xE0), - value=Op.SLOAD( - key=Op.ADD(0x8, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x100), - value=Op.SLOAD( - key=Op.ADD(0x9, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x120), - value=Op.SLOAD( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x12A0), 0x140), - value=Op.SLOAD( - key=Op.ADD(0x6, Op.MUL(Op.MLOAD(offset=0xFC0), 0xC)), - ), - ) - + Op.JUMPI(pc=0x24B2, condition=Op.ISZERO(Op.MLOAD(offset=0x12A0))) - + Op.MLOAD(offset=0x12A0) - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.PUSH1[0x40] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x1) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x0) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x262E, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x9CFC1535)) - ) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE( - offset=0x1340, - value=Op.SLOAD( - key=Op.ADD(0xA, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.MSTORE( - offset=0x1C0, - value=Op.SLOAD( - key=Op.ADD(0xB, Op.MUL(Op.MLOAD(offset=0x40), 0xC)), - ), - ) - + Op.MLOAD(offset=0x1340) - + Op.ADD(0x20, Op.MUL(0x20, Op.DUP1)) - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x600] - + Op.MSTORE - + Op.MSTORE(offset=0x13A0, value=0x0) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x25D4, - condition=Op.ISZERO( - Op.SLT(Op.MLOAD(offset=0x13A0), Op.MLOAD(offset=0x1340)), - ), - ) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE( - offset=Op.ADD( - Op.MLOAD(offset=0x600), - Op.MUL(0x20, Op.MLOAD(offset=0x13A0)), - ), - value=Op.SLOAD(key=Op.SHA3), - ) - + Op.PUSH1[0xA0] - + Op.PUSH1[0xA0] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x0) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=0xC) - + Op.MSTORE( - offset=Op.ADD(0x60, Op.DUP2), value=Op.MLOAD(offset=0x1C0) - ) - + Op.MSTORE(offset=Op.ADD(0x80, Op.DUP2), value=0x2) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=0x1C0, value=Op.SLOAD(key=Op.SHA3)) - + Op.MSTORE( - offset=0x13A0, value=Op.ADD(Op.MLOAD(offset=0x13A0), 0x1) - ) - + Op.JUMP(pc=0x253D) - + Op.JUMPDEST - + Op.JUMPI(pc=0x25FA, condition=Op.ISZERO(Op.MLOAD(offset=0x600))) - + Op.MLOAD(offset=0x600) - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.PUSH1[0x40] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x1) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x0) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x27E9, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0xF718190)) - ) - + Op.MSTORE(offset=0xFC0, value=Op.CALLDATALOAD(offset=0x4)) - + Op.PUSH2[0x120] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x8) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x180] - + Op.MSTORE - + Op.MSTORE( - offset=Op.MLOAD(offset=0x180), - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000000, - Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x180), 0x20), - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000001, - Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x180), 0x40), - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000002, - Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x180), 0x60), - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000003, - Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x180), 0x80), - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000004, - Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x180), 0xA0), - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000005, - Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x180), 0xC0), - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000006, - Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), - ), - ), - ) - + Op.MSTORE( - offset=Op.ADD(Op.MLOAD(offset=0x180), 0xE0), - value=Op.SLOAD( - key=Op.ADD( - 0xE0000000000000000000000000000000000000007, - Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), - ), - ), - ) - + Op.JUMPI(pc=0x27B5, condition=Op.ISZERO(Op.MLOAD(offset=0x180))) - + Op.MLOAD(offset=0x180) - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.PUSH1[0x40] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x1) - + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x0) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.JUMPI( - pc=0x2893, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x1C9AA4B6)) - ) - + Op.MSTORE(offset=0x1220, value=Op.CALLDATALOAD(offset=0x4)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x24)) - + Op.PUSH1[0x60] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x2) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), - value=Op.MLOAD(offset=0x1220), - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x20), value=Op.SLOAD(key=Op.SHA3) - ) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MSIZE - + Op.SWAP1 - + Op.MSIZE - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.MSTORE - + Op.MSTORE(offset=Op.DUP2, value=0x4) - + Op.MSTORE( - offset=Op.ADD(0x20, Op.DUP2), - value=Op.MLOAD(offset=0x1220), - ) - + Op.MSTORE( - offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40) - ) - + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.MSTORE( - offset=Op.ADD(Op.DUP3, 0x40), value=Op.SLOAD(key=Op.SHA3) - ) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP1 - + Op.POP - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) - + Op.RETURN( - offset=Op.SUB(Op.DUP3, 0x40), - size=Op.ADD( - 0x40, - Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20), - ), - ) - + Op.POP - + Op.JUMPDEST - + Op.POP - ), + Op.MUL(Op.MLOAD(offset=0xFC0), 0x8), + ) + ), + ) + + Op.JUMPI(pc=0x27B5, condition=Op.ISZERO(Op.MLOAD(offset=0x180))) + + Op.MLOAD(offset=0x180) + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.PUSH1[0x40] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x1) + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=0x0) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.JUMPI(pc=0x2893, condition=Op.ISZERO(Op.EQ(Op.DUP2, 0x1C9AA4B6))) + + Op.MSTORE(offset=0x1220, value=Op.CALLDATALOAD(offset=0x4)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x24)) + + Op.PUSH1[0x60] + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x2) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE( + offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x1220) + ) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x0) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x20), value=Op.SLOAD(key=Op.SHA3)) + + Op.PUSH1[0x80] * 2 + + Op.MSIZE + + Op.SWAP1 + + Op.MSIZE + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.MSTORE + + Op.MSTORE(offset=Op.DUP2, value=0x4) + + Op.MSTORE( + offset=Op.ADD(0x20, Op.DUP2), value=Op.MLOAD(offset=0x1220) + ) + + Op.MSTORE(offset=Op.ADD(0x40, Op.DUP2), value=Op.MLOAD(offset=0x40)) + + Op.MSTORE(offset=Op.ADD(0x60, Op.DUP2), value=0x1) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.ADD(Op.DUP3, 0x40), value=Op.SLOAD(key=Op.SHA3)) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP1 + + Op.POP + + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x40), value=0x20) + + Op.RETURN( + offset=Op.SUB(Op.DUP3, 0x40), + size=Op.ADD( + 0x40, Op.MUL(Op.MLOAD(offset=Op.SUB(Op.DUP3, 0x20)), 0x20) + ), + ) + + Op.POP + + Op.JUMPDEST + + Op.POP, storage={ - 0xD0000000000000000000000000000000000505347: 0x0, - 0x160000000000000000000000000000000000000000: 0x1, + 0xD0000000000000000000000000000000000505347: 0, + 0x160000000000000000000000000000000000000000: 1, }, nonce=0, - address=Address("0xf47bacb0d8f13fa44d31623c3d5ae72907d241c1"), # noqa: E501 + address=Address(0xF47BACB0D8F13FA44D31623C3D5AE72907D241C1), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=24) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "d91e22f40000000000000000000000000000000000000000000000000000000000505347" # noqa: E501 - "000000000000000000000000000000000000000000000000000000002450534700000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000010000000000000000" # noqa: E501 - "000000000000000000000000000000000000000005f5e100000000000000000000000000" # noqa: E501 - "000000000000000000000000002386f26fc1000000000000000000000000000000000000" # noqa: E501 - "00000000000000000000000000000001" - ), + to=target, + data=Bytes("d91e22f4") + + Hash(0x505347) + + Hash(0x24505347) + + Hash(0x1) + + Hash(0x5F5E100) + + Hash(0x2386F26FC10000) + + Hash(0x1), gas_limit=500000, - gas_price=52637211012, nonce=24, + gas_price=52637211012, ) post = { - contract: Account( + target: Account( storage={0x160000000000000000000000000000000000000000: 1}, ), + sender: Account(nonce=25), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStackTests/__init__.py b/tests/ported_static/stStackTests/__init__.py index cbdd47764aa..3ee0d5d2ae0 100644 --- a/tests/ported_static/stStackTests/__init__.py +++ b/tests/ported_static/stStackTests/__init__.py @@ -1 +1 @@ -"""Tests ported from stStackTests.""" +"""Ported static tests: stStackTests.""" # noqa: N999 diff --git a/tests/ported_static/stStackTests/test_shallow_stack.py b/tests/ported_static/stStackTests/test_shallow_stack.py index 2398d3bdc03..87b5f7b3db2 100644 --- a/tests/ported_static/stStackTests/test_shallow_stack.py +++ b/tests/ported_static/stStackTests/test_shallow_stack.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_shallow_stack. Ported from: -tests/static/state_tests/stStackTests/shallowStackFiller.json +state_tests/stStackTests/shallowStackFiller.json """ import pytest @@ -14,193 +14,521 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stStackTests/shallowStackFiller.json"], + ["state_tests/stStackTests/shallowStackFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "600101600055", - "60010b600055", - "600110600055", - "600111600055", - "600112600055", - "600113600055", - "600114600055", - "15600055", - "600116600055", - "600117600055", - "600118600055", - "600102600055", - "19600055", - "60011a600055", - "600120600055", - "31600055", - "35600055", - "6001600237600055", - "6001600239600055", - "3b600055", - "6001600260033c600055", - "40600055", - "600103600055", - "50600055", - "51600055", - "600152600055", - "600153600055", - "54600055", - "600155600055", - "56600055", - "600157600055", - "80600055", - "600181600055", - "600104600055", - "6002600182600055", - "60036002600183600055", - "600460036002600184600055", - "6005600460036002600185600055", - "60066005600460036002600186600055", - "600760066005600460036002600187600055", - "6008600760066005600460036002600188600055", - "60096008600760066005600460036002600189600055", - "60106009600860076006600560046003600260018a600055", - "601160106009600860076006600560046003600260018b600055", - "600105600055", - "6012601160106009600860076006600560046003600260018c600055", - "60136012601160106009600860076006600560046003600260018d600055", - "601460136012601160106009600860076006600560046003600260018e600055", - "60136012601160106009600860076006600560046003600260018f600055", - "600190600055", - "6002600191600055", - "60036002600192600055", - "600460036002600193600055", - "6005600460036002600194600055", - "60066005600460036002600195600055", - "600106600055", - "600760066005600460036002600196600055", - "6008600760066005600460036002600197600055", - "60096008600760066005600460036002600198600055", - "601060096008600760066005600460036002600199600055", - "601160106009600860076006600560046003600260019a600055", - "6012601160106009600860076006600560046003600260019b600055", - "60136012601160106009600860076006600560046003600260019c600055", - "601460136012601160106009600860076006600560046003600260019d600055", - "6015601460136012601160106009600860076006600560046003600260019e600055", - "6012601160106009600860076006600560046003600260019f600055", - "600107600055", - "6001a0600055", - "60026001a1600055", - "600360026001a2600055", - "6004600360026001a3600055", - "60056004600360026001a4600055", - "60026001f0600055", - "600660056004600360026001f1600055", - "600660056004600360026001f2600055", - "6001f3600055", - "60056004600360026001f4600055", - "6002600108600055", - "ff600055", - "6002600109600055", - "60010a600055", - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), ], ) @pytest.mark.pre_alloc_mutable def test_shallow_stack( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_shallow_stack.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -216,15 +544,420 @@ def test_shallow_stack( pre[sender] = Account(balance=0x271000000000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.ADD), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.MUL), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.SUB), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.DIV), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.SDIV), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.MOD), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.SMOD), + Op.PUSH1[0x2] + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.ADDMOD), + Op.PUSH1[0x2] + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.MULMOD), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.EXP), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.SIGNEXTEND), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.LT), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.GT), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.SLT), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.SGT), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.EQ), + Op.SSTORE(key=0x0, value=Op.ISZERO), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.AND), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.OR), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.XOR), + Op.SSTORE(key=0x0, value=Op.NOT), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.BYTE), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.SHA3), + Op.SSTORE(key=0x0, value=Op.BALANCE), + Op.SSTORE(key=0x0, value=Op.CALLDATALOAD), + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.CALLDATACOPY + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.CODECOPY + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.SSTORE(key=0x0, value=Op.EXTCODESIZE), + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.EXTCODECOPY + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.SSTORE(key=0x0, value=Op.BLOCKHASH), + Op.POP + Op.PUSH1[0x0] + Op.SSTORE, + Op.SSTORE(key=0x0, value=Op.MLOAD), + Op.PUSH1[0x1] + Op.MSTORE + Op.PUSH1[0x0] + Op.SSTORE, + Op.PUSH1[0x1] + Op.MSTORE8 + Op.PUSH1[0x0] + Op.SSTORE, + Op.SSTORE(key=0x0, value=Op.SLOAD), + Op.PUSH1[0x1] + Op.SSTORE + Op.PUSH1[0x0] + Op.SSTORE, + Op.JUMP + Op.PUSH1[0x0] + Op.SSTORE, + Op.PUSH1[0x1] + Op.JUMPI + Op.PUSH1[0x0] + Op.SSTORE, + Op.SSTORE(key=0x0, value=Op.DUP1), + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.DUP2), + Op.PUSH1[0x2] + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.DUP3), + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP4), + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP5), + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP6), + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP7), + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP8), + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP9), + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP10), + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP11), + Op.PUSH1[0x11] + + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP12), + Op.PUSH1[0x12] + + Op.PUSH1[0x11] + + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP13), + Op.PUSH1[0x13] + + Op.PUSH1[0x12] + + Op.PUSH1[0x11] + + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP14), + Op.PUSH1[0x14] + + Op.PUSH1[0x13] + + Op.PUSH1[0x12] + + Op.PUSH1[0x11] + + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP15), + Op.PUSH1[0x13] + + Op.PUSH1[0x12] + + Op.PUSH1[0x11] + + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DUP16), + Op.PUSH1[0x1] + Op.SWAP1 + Op.PUSH1[0x0] + Op.SSTORE, + Op.PUSH1[0x2] + Op.PUSH1[0x1] + Op.SWAP2 + Op.PUSH1[0x0] + Op.SSTORE, + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP3 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP4 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP5 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP6 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP7 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP8 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP9 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP10 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x11] + + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP11 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x12] + + Op.PUSH1[0x11] + + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP12 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x13] + + Op.PUSH1[0x12] + + Op.PUSH1[0x11] + + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP13 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x14] + + Op.PUSH1[0x13] + + Op.PUSH1[0x12] + + Op.PUSH1[0x11] + + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP14 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x15] + + Op.PUSH1[0x14] + + Op.PUSH1[0x13] + + Op.PUSH1[0x12] + + Op.PUSH1[0x11] + + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP15 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x12] + + Op.PUSH1[0x11] + + Op.PUSH1[0x10] + + Op.PUSH1[0x9] + + Op.PUSH1[0x8] + + Op.PUSH1[0x7] + + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SWAP16 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x1] + Op.LOG0 + Op.PUSH1[0x0] + Op.SSTORE, + Op.PUSH1[0x2] + Op.PUSH1[0x1] + Op.LOG1 + Op.PUSH1[0x0] + Op.SSTORE, + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.LOG2 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.LOG3 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.LOG4 + + Op.PUSH1[0x0] + + Op.SSTORE, + Op.PUSH1[0x2] + Op.PUSH1[0x1] + Op.SSTORE(key=0x0, value=Op.CREATE), + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.CALL), + Op.PUSH1[0x6] + + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.CALLCODE), + Op.PUSH1[0x1] + Op.RETURN + Op.PUSH1[0x0] + Op.SSTORE, + Op.PUSH1[0x5] + + Op.PUSH1[0x4] + + Op.PUSH1[0x3] + + Op.PUSH1[0x2] + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=Op.DELEGATECALL), + Op.SELFDESTRUCT + Op.PUSH1[0x0] + Op.SSTORE, + ] + tx_gas = [300000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=300000, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStackTests/test_stack_overflow.py b/tests/ported_static/stStackTests/test_stack_overflow.py index 44918873b9c..cc8c212d394 100644 --- a/tests/ported_static/stStackTests/test_stack_overflow.py +++ b/tests/ported_static/stStackTests/test_stack_overflow.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_overflow. Ported from: -tests/static/state_tests/stStackTests/stackOverflowFiller.json +state_tests/stStackTests/stackOverflowFiller.json """ import pytest @@ -14,67 +14,135 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stStackTests/stackOverflowFiller.json"], + ["state_tests/stStackTests/stackOverflowFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030", # noqa: E501 - "4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444", # noqa: E501 - "4545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545", # noqa: E501 - "5858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858", # noqa: E501 - "5959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959", # noqa: E501 - "5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a", # noqa: E501 - "60006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000", # noqa: E501 - "3232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232", # noqa: E501 - "3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333", # noqa: E501 - "3434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434", # noqa: E501 - "3636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636", # noqa: E501 - "3838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838", # noqa: E501 - "3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a", # noqa: E501 - "4141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141", # noqa: E501 - "4242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242", # noqa: E501 - "4343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343", # noqa: E501 - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), ], ) @pytest.mark.pre_alloc_mutable def test_stack_overflow( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_overflow.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -85,18 +153,38 @@ def test_stack_overflow( gas_limit=42949672960, ) + pre[contract_0] = Account(balance=0xE8D4A5100000000000) pre[sender] = Account(balance=0xE8D4A5100000000000) - pre[contract] = Account(balance=0xE8D4A5100000000000, nonce=0) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.ADDRESS * 1025, + Op.ORIGIN * 1025, + Op.CALLER * 1025, + Op.CALLVALUE * 1025, + Op.CALLDATASIZE * 1025, + Op.CODESIZE * 1025, + Op.GASPRICE * 1025, + Op.COINBASE * 1025, + Op.TIMESTAMP * 1025, + Op.NUMBER * 1025, + Op.PREVRANDAO * 1025, + Op.GASLIMIT * 1025, + Op.PC * 1025, + Op.MSIZE * 1025, + Op.GAS * 1025, + Op.PUSH1[0x0] * 1025, + ] + tx_gas = [6000000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=6000000, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStackTests/test_stack_overflow_dup.py b/tests/ported_static/stStackTests/test_stack_overflow_dup.py index af3329d8965..14a96232c64 100644 --- a/tests/ported_static/stStackTests/test_stack_overflow_dup.py +++ b/tests/ported_static/stStackTests/test_stack_overflow_dup.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_overflow_dup. Ported from: -tests/static/state_tests/stStackTests/stackOverflowDUPFiller.json +state_tests/stStackTests/stackOverflowDUPFiller.json """ import pytest @@ -14,67 +14,135 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stStackTests/stackOverflowDUPFiller.json"], + ["state_tests/stStackTests/stackOverflowDUPFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "600180808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080", # noqa: E501 - "600160026003600460056006600760086009601060118a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a", # noqa: E501 - "6001600260036004600560066007600860096010601160128b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b", # noqa: E501 - "60016002600360046005600660076008600960106011601260138c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c", # noqa: E501 - "600160026003600460056006600760086009601060116012601360148d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d", # noqa: E501 - "6001600260036004600560066007600860096010601160126013601460158e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e", # noqa: E501 - "60016002600360046005600660076008600960106011601260136014601560168f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f", # noqa: E501 - "60016002818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181", # noqa: E501 - "6001600260038282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282", # noqa: E501 - "600160026003600483838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383", # noqa: E501 - "60016002600360046005848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484", # noqa: E501 - "6001600260036004600560068585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585", # noqa: E501 - "600160026003600460056006600786868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686", # noqa: E501 - "60016002600360046005600660076008878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787", # noqa: E501 - "6001600260036004600560066007600860098888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888", # noqa: E501 - "600160026003600460056006600760086009601089898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989", # noqa: E501 - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), ], ) @pytest.mark.pre_alloc_mutable def test_stack_overflow_dup( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_overflow_dup.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -85,18 +153,168 @@ def test_stack_overflow_dup( gas_limit=42949672960, ) + pre[contract_0] = Account(balance=0xE8D4A5100000000000) pre[sender] = Account(balance=0xE8D4A5100000000000) - pre[contract] = Account(balance=0xE8D4A5100000000000, nonce=0) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.PUSH1[0x1] + Op.DUP1 * 1024, + Op.PUSH1[0x1] + Op.PUSH1[0x2] + Op.DUP2 * 1023, + Op.PUSH1[0x1] + Op.PUSH1[0x2] + Op.PUSH1[0x3] + Op.DUP3 * 1022, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.DUP4 * 1021, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.DUP5 * 1020, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.DUP6 * 1019, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.DUP7 * 1018, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.DUP8 * 1017, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.DUP9 * 1016, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.DUP10 * 1015, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.DUP11 * 1014, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.PUSH1[0x12] + + Op.DUP12 * 1013, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.PUSH1[0x12] + + Op.PUSH1[0x13] + + Op.DUP13 * 1012, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.PUSH1[0x12] + + Op.PUSH1[0x13] + + Op.PUSH1[0x14] + + Op.DUP14 * 1011, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.PUSH1[0x12] + + Op.PUSH1[0x13] + + Op.PUSH1[0x14] + + Op.PUSH1[0x15] + + Op.DUP15 * 1010, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.PUSH1[0x12] + + Op.PUSH1[0x13] + + Op.PUSH1[0x14] + + Op.PUSH1[0x15] + + Op.PUSH1[0x16] + + Op.DUP16 * 1009, + ] + tx_gas = [6000000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=6000000, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStackTests/test_stack_overflow_m1.py b/tests/ported_static/stStackTests/test_stack_overflow_m1.py index a45b8c7ba84..f86e0735cbf 100644 --- a/tests/ported_static/stStackTests/test_stack_overflow_m1.py +++ b/tests/ported_static/stStackTests/test_stack_overflow_m1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_overflow_m1. Ported from: -tests/static/state_tests/stStackTests/stackOverflowM1Filler.json +state_tests/stStackTests/stackOverflowM1Filler.json """ import pytest @@ -14,116 +14,135 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stStackTests/stackOverflowM1Filler.json"], + ["state_tests/stStackTests/stackOverflowM1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", ), - ( - "44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444", # noqa: E501 - {}, - ), - ( - "45454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545", # noqa: E501 - {}, - ), - ( - "58585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858", # noqa: E501 - {}, - ), - ( - "59595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959", # noqa: E501 - {}, - ), - ( - "5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a", # noqa: E501 - {}, - ), - ( - "6000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000", # noqa: E501 - {}, - ), - ( - "32323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232", # noqa: E501 - {}, - ), - ( - "33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333", # noqa: E501 - {}, - ), - ( - "34343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434", # noqa: E501 - {}, - ), - ( - "36363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636", # noqa: E501 - {}, - ), - ( - "38383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838", # noqa: E501 - {}, - ), - ( - "3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a", # noqa: E501 - {}, - ), - ( - "41414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141", # noqa: E501 - {}, - ), - ( - "42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242", # noqa: E501 - {}, - ), - ( - "43434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343", # noqa: E501 - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", ], ) @pytest.mark.pre_alloc_mutable def test_stack_overflow_m1( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_overflow_m1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -134,19 +153,40 @@ def test_stack_overflow_m1( gas_limit=42949672960, ) + pre[contract_0] = Account(balance=0xE8D4A5100000000000) pre[sender] = Account(balance=0xE8D4A5100000000000) - pre[contract] = Account(balance=0xE8D4A5100000000000, nonce=0) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.ADDRESS * 1024, + Op.ORIGIN * 1024, + Op.CALLER * 1024, + Op.CALLVALUE * 1024, + Op.CALLDATASIZE * 1024, + Op.CODESIZE * 1024, + Op.GASPRICE * 1024, + Op.COINBASE * 1024, + Op.TIMESTAMP * 1024, + Op.NUMBER * 1024, + Op.PREVRANDAO * 1024, + Op.GASLIMIT * 1024, + Op.PC * 1024, + Op.MSIZE * 1024, + Op.GAS * 1024, + Op.PUSH1[0x0] * 1024, + ] + tx_gas = [6000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=6000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + compute_create_address(address=sender, nonce=0): Account(balance=1) + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStackTests/test_stack_overflow_m1_dup.py b/tests/ported_static/stStackTests/test_stack_overflow_m1_dup.py index dd4390fbe84..0f0cd2c01c3 100644 --- a/tests/ported_static/stStackTests/test_stack_overflow_m1_dup.py +++ b/tests/ported_static/stStackTests/test_stack_overflow_m1_dup.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_overflow_m1_dup. Ported from: -tests/static/state_tests/stStackTests/stackOverflowM1DUPFiller.json +state_tests/stStackTests/stackOverflowM1DUPFiller.json """ import pytest @@ -14,116 +14,135 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stStackTests/stackOverflowM1DUPFiller.json"], + ["state_tests/stStackTests/stackOverflowM1DUPFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6001808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "600160026003600460056006600760086009601060118a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "6001600260036004600560066007600860096010601160128b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b", # noqa: E501 - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "60016002600360046005600660076008600960106011601260138c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c", # noqa: E501 - {}, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "600160026003600460056006600760086009601060116012601360148d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d", # noqa: E501 - {}, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ( - "6001600260036004600560066007600860096010601160126013601460158e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e", # noqa: E501 - {}, + pytest.param( + 5, + 0, + 0, + id="d5", ), - ( - "60016002600360046005600660076008600960106011601260136014601560168f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f", # noqa: E501 - {}, + pytest.param( + 6, + 0, + 0, + id="d6", ), - ( - "600160028181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181", # noqa: E501 - {}, + pytest.param( + 7, + 0, + 0, + id="d7", ), - ( - "60016002600382828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282", # noqa: E501 - {}, + pytest.param( + 8, + 0, + 0, + id="d8", ), - ( - "6001600260036004838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383", # noqa: E501 - {}, + pytest.param( + 9, + 0, + 0, + id="d9", ), - ( - "600160026003600460058484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484", # noqa: E501 - {}, + pytest.param( + 10, + 0, + 0, + id="d10", ), - ( - "60016002600360046005600685858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585", # noqa: E501 - {}, + pytest.param( + 11, + 0, + 0, + id="d11", ), - ( - "6001600260036004600560066007868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686", # noqa: E501 - {}, + pytest.param( + 12, + 0, + 0, + id="d12", ), - ( - "600160026003600460056006600760088787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787", # noqa: E501 - {}, + pytest.param( + 13, + 0, + 0, + id="d13", ), - ( - "60016002600360046005600660076008600988888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888", # noqa: E501 - {}, + pytest.param( + 14, + 0, + 0, + id="d14", ), - ( - "6001600260036004600560066007600860096010898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989", # noqa: E501 - {}, + pytest.param( + 15, + 0, + 0, + id="d15", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - ], ) @pytest.mark.pre_alloc_mutable def test_stack_overflow_m1_dup( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_overflow_m1_dup.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -134,19 +153,170 @@ def test_stack_overflow_m1_dup( gas_limit=42949672960, ) + pre[contract_0] = Account(balance=0xE8D4A5100000000000) pre[sender] = Account(balance=0xE8D4A5100000000000) - pre[contract] = Account(balance=0xE8D4A5100000000000, nonce=0) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.PUSH1[0x1] + Op.DUP1 * 1023, + Op.PUSH1[0x1] + Op.PUSH1[0x2] + Op.DUP2 * 1022, + Op.PUSH1[0x1] + Op.PUSH1[0x2] + Op.PUSH1[0x3] + Op.DUP3 * 1021, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.DUP4 * 1020, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.DUP5 * 1019, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.DUP6 * 1018, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.DUP7 * 1017, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.DUP8 * 1016, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.DUP9 * 1015, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.DUP10 * 1014, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.DUP11 * 1013, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.PUSH1[0x12] + + Op.DUP12 * 1012, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.PUSH1[0x12] + + Op.PUSH1[0x13] + + Op.DUP13 * 1011, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.PUSH1[0x12] + + Op.PUSH1[0x13] + + Op.PUSH1[0x14] + + Op.DUP14 * 1010, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.PUSH1[0x12] + + Op.PUSH1[0x13] + + Op.PUSH1[0x14] + + Op.PUSH1[0x15] + + Op.DUP15 * 1009, + Op.PUSH1[0x1] + + Op.PUSH1[0x2] + + Op.PUSH1[0x3] + + Op.PUSH1[0x4] + + Op.PUSH1[0x5] + + Op.PUSH1[0x6] + + Op.PUSH1[0x7] + + Op.PUSH1[0x8] + + Op.PUSH1[0x9] + + Op.PUSH1[0x10] + + Op.PUSH1[0x11] + + Op.PUSH1[0x12] + + Op.PUSH1[0x13] + + Op.PUSH1[0x14] + + Op.PUSH1[0x15] + + Op.PUSH1[0x16] + + Op.DUP16 * 1008, + ] + tx_gas = [6000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=6000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + compute_create_address(address=sender, nonce=0): Account(balance=1) + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStackTests/test_stack_overflow_m1_push.py b/tests/ported_static/stStackTests/test_stack_overflow_m1_push.py index ea41cc2530d..20c025edadd 100644 --- a/tests/ported_static/stStackTests/test_stack_overflow_m1_push.py +++ b/tests/ported_static/stStackTests/test_stack_overflow_m1_push.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_overflow_m1_push. Ported from: -tests/static/state_tests/stStackTests/stackOverflowM1PUSHFiller.json +state_tests/stStackTests/stackOverflowM1PUSHFiller.json """ import pytest @@ -12,194 +12,228 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stStackTests/stackOverflowM1PUSHFiller.json"], + ["state_tests/stStackTests/stackOverflowM1PUSHFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "6b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "6c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c00000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "6d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d0000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "6e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 4, + 0, + 0, + id="d4", ), - ( - "6f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f00000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 5, + 0, + 0, + id="d5", ), - ( - "700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 6, + 0, + 0, + id="d6", ), - ( - "71000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 7, + 0, + 0, + id="d7", ), - ( - "7200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 8, + 0, + 0, + id="d8", ), - ( - "730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 9, + 0, + 0, + id="d9", ), - ( - "74000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 10, + 0, + 0, + id="d10", ), - ( - "62000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000", # noqa: E501 - {}, + pytest.param( + 11, + 0, + 0, + id="d11", ), - ( - "7500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 12, + 0, + 0, + id="d12", ), - ( - "760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 13, + 0, + 0, + id="d13", ), - ( - "77000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 14, + 0, + 0, + id="d14", ), - ( - "7800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 15, + 0, + 0, + id="d15", ), - ( - "790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 16, + 0, + 0, + id="d16", ), - ( - "7a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 17, + 0, + 0, + id="d17", ), - ( - "7b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b00000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 18, + 0, + 0, + id="d18", ), - ( - "7c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c0000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 19, + 0, + 0, + id="d19", ), - ( - "7d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 20, + 0, + 0, + id="d20", ), - ( - "7e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e00000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 21, + 0, + 0, + id="d21", ), - ( - "6300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000", # noqa: E501 - {}, + pytest.param( + 22, + 0, + 0, + id="d22", ), - ( - "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + pytest.param( + 23, + 0, + 0, + id="d23", ), - ( - "640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000", # noqa: E501 - {}, + pytest.param( + 24, + 0, + 0, + id="d24", ), - ( - "65000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000", # noqa: E501 - {}, + pytest.param( + 25, + 0, + 0, + id="d25", ), - ( - "6600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000", # noqa: E501 - {}, + pytest.param( + 26, + 0, + 0, + id="d26", ), - ( - "670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000", # noqa: E501 - {}, + pytest.param( + 27, + 0, + 0, + id="d27", ), - ( - "68000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000", # noqa: E501 - {}, + pytest.param( + 28, + 0, + 0, + id="d28", ), - ( - "6900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000", # noqa: E501 - {}, + pytest.param( + 29, + 0, + 0, + id="d29", ), - ( - "6a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a0000000000000000000000", # noqa: E501 - {}, + pytest.param( + 30, + 0, + 0, + id="d30", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - ], ) @pytest.mark.pre_alloc_mutable def test_stack_overflow_m1_push( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_overflow_m1_push.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -210,226 +244,11598 @@ def test_stack_overflow_m1_push( gas_limit=42949672960, ) + pre[contract_0] = Account(balance=0xE8D4A5100000000000) pre[sender] = Account(balance=0xE8D4A5100000000000) - pre[contract] = Account(balance=0xE8D4A5100000000000, nonce=0) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - tx = Transaction( - sender=sender, - to=None, - data=tx_data, - gas_limit=6000000, - value=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stStackTests/stackOverflowM1PUSHFiller.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000", # noqa: E501 - {}, - ), - ( - "6b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b000000000000000000000000", # noqa: E501 - {}, - ), - ( - "6c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c00000000000000000000000000", # noqa: E501 - {}, - ), - ( - "6d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d0000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "6e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "6f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f00000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "71000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "7200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "74000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "62000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000", # noqa: E501 - {}, - ), - ( - "7500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "77000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "7800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "7a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "7b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b00000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + tx_data = [ + Op.PUSH2[0x0] * 1024, + Op.PUSH3[0x0] * 1024, + Op.PUSH4[0x0] * 1024, + Op.PUSH5[0x0] * 1024, + Op.PUSH6[0x0] * 1024, + Op.PUSH7[0x0] * 1024, + Op.PUSH8[0x0] * 1024, + Op.PUSH9[0x0] * 1024, + Op.PUSH10[0x0] * 1024, + Op.PUSH11[0x0] * 1024, + Op.PUSH12[0x0] * 1024, + Op.PUSH13[0x0] * 1024, + Op.PUSH14[0x0] * 1024, + Op.PUSH15[0x0] * 1024, + Op.PUSH16[0x0] * 1024, + Op.PUSH17[0x0] * 1024, + Op.PUSH18[0x0] * 1024, + Op.PUSH19[0x0] * 1024, + Op.PUSH20[0x0] * 1024, + Op.PUSH21[0x0] * 1024, + Op.PUSH22[0x0] * 1024, + Op.PUSH23[0x0] * 1024, + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000) + + Hash( + 0x7700000000000000000000000000000000000000000000000077000000000000 + ) + + Hash(0x7700000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000770000) + + Hash(0x77000000000000000000) + + Hash(0x7700000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000) + + Hash( + 0x77000000000000000000000000000000000000000000000000770000000000 + ) + + Hash(0x77000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700) + + Hash(0x770000000000000000) + + Hash(0x77000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000) + + Hash(0x770000000000000000000000000000000000000000000000007700000000) + + Hash(0x770000000000000000000000) + + Hash(0x77000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077) + + Hash(0x7700000000000000) + + Hash(0x770000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000) + + Hash(0x7700000000000000000000000000000000000000000000000077000000) + + Hash(0x7700000000000000000000) + + Hash(0x770000000000000000000000000000000000) + + Hash(0x77000000000000000000000000000000000000000000000000), + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000) + + Hash( + 0x7800000000000000000000000000000000000000000000000000780000000000 + ) + + Hash(0x780000000000000000000000) + + Hash(0x780000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000) + + Hash(0x780000000000000000000000000000000000000000000000000078000000) + + Hash(0x78000000000000000000) + + Hash(0x78000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000) + + Hash(0x78000000000000000000000000000000000000000000000000007800) + + Hash(0x7800000000000000) + + Hash(0x7800000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000) + + Hash(0x7800000000000000000000000000000000000000000000000000), + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000) + + Hash( + 0x7900000000000000000000000000000000000000000000000000007900000000 + ) + + Hash(0x79000000000000000000) + + Hash(0x790000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000790000) + + Hash(0x7900000000000000) + + Hash(0x79000000000000000000000000) + + Hash(0x790000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000000000000079) + + Hash(0x790000000000) + + Hash(0x7900000000000000000000) + + Hash(0x79000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000) + + Hash( + 0x79000000000000000000000000000000000000000000000000000079000000 + ) + + Hash(0x790000000000000000) + + Hash(0x7900000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000) + + Hash(0x7900000000000000000000000000000000000000000000000000007900) + + Hash(0x79000000000000) + + Hash(0x790000000000000000000000) + + Hash(0x7900000000000000000000000000000000) + + Hash(0x79000000000000000000000000000000000000000000) + + Hash(0x790000000000000000000000000000000000000000000000000000), + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7A0000000000000000000000000000000000000000000000000000007A000000 + ) + + Hash(0x7A00000000000000) + + Hash(0x7A0000000000000000000000) + + Hash(0x7A000000000000000000000000000000) + + Hash(0x7A00000000000000000000000000000000000000) + + Hash(0x7A0000000000000000000000000000000000000000000000) + + Hash(0x7A000000000000000000000000000000000000000000000000000000), + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B0000 + ) + + Hash(0x7B0000000000) + + Hash(0x7B0000000000000000) + + Hash(0x7B0000000000000000000000) + + Hash(0x7B0000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000) + + Hash(0x7B0000000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000007B) + + Hash(0x7B000000) + + Hash(0x7B000000000000) + + Hash(0x7B000000000000000000) + + Hash(0x7B000000000000000000000000) + + Hash(0x7B000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000) + + Hash(0x7B000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7B000000000000000000000000000000000000000000000000000000007B00 + ) + + Hash(0x7B00000000) + + Hash(0x7B00000000000000) + + Hash(0x7B00000000000000000000) + + Hash(0x7B00000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000) + + Hash(0x7B00000000000000000000000000000000000000000000000000000000), + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7C00000000000000000000000000000000000000000000000000000000007C00 + ) + + Hash(0x7C000000) + + Hash(0x7C0000000000) + + Hash(0x7C00000000000000) + + Hash(0x7C000000000000000000) + + Hash(0x7C0000000000000000000000) + + Hash(0x7C00000000000000000000000000) + + Hash(0x7C000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000) + + Hash(0x7C00000000000000000000000000000000000000000000000000) + + Hash(0x7C000000000000000000000000000000000000000000000000000000) + + Hash(0x7C0000000000000000000000000000000000000000000000000000000000), + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7D0000000000000000000000000000000000000000000000000000000000007D + ) + + Hash(0x7D00) + + Hash(0x7D0000) + + Hash(0x7D000000) + + Hash(0x7D00000000) + + Hash(0x7D0000000000) + + Hash(0x7D000000000000) + + Hash(0x7D00000000000000) + + Hash(0x7D0000000000000000) + + Hash(0x7D000000000000000000) + + Hash(0x7D00000000000000000000) + + Hash(0x7D0000000000000000000000) + + Hash(0x7D000000000000000000000000) + + Hash(0x7D00000000000000000000000000) + + Hash(0x7D0000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000) + + Hash(0x7D000000000000000000000000000000000000000000000000000000) + + Hash(0x7D00000000000000000000000000000000000000000000000000000000) + + Hash(0x7D0000000000000000000000000000000000000000000000000000000000) + + Hash( + 0x7D000000000000000000000000000000000000000000000000000000000000 ), - ( - "7c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c0000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 ), - ( - "7d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "7e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e00000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "6300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000", # noqa: E501 - {}, - ), - ( - "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - {}, - ), - ( - "640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000", # noqa: E501 - {}, - ), - ( - "65000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000", # noqa: E501 - {}, - ), - ( - "6600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000", # noqa: E501 - {}, - ), - ( - "670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000", # noqa: E501 - {}, - ), - ( - "68000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000", # noqa: E501 - {}, - ), - ( - "6900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000", # noqa: E501 - {}, - ), - ( - "6a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a0000000000000000000000", # noqa: E501 - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - ], -) -@pytest.mark.pre_alloc_mutable -def test_stack_overflow_m1_push_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=42949672960, - ) - - pre[sender] = Account(balance=0xE8D4A5100000000000) - pre[contract] = Account(balance=0xE8D4A5100000000000, nonce=0) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0) + + Hash( + 0x7F00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7F000000000000000000000000000000000000000000000000000000000000 + ) + + Hash(0x7F0000000000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000000000) + + Hash(0x7F00000000000000000000000000000000) + + Hash(0x7F000000000000000000000000000000) + + Hash(0x7F0000000000000000000000000000) + + Hash(0x7F00000000000000000000000000) + + Hash(0x7F000000000000000000000000) + + Hash(0x7F0000000000000000000000) + + Hash(0x7F00000000000000000000) + + Hash(0x7F000000000000000000) + + Hash(0x7F0000000000000000) + + Hash(0x7F00000000000000) + + Hash(0x7F000000000000) + + Hash(0x7F0000000000) + + Hash(0x7F00000000) + + Hash(0x7F000000) + + Hash(0x7F0000) + + Hash(0x7F00) + + Hash(0x7F) + + Hash(0x0), + ] + tx_gas = [6000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=6000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + compute_create_address(address=sender, nonce=0): Account(balance=1) + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStackTests/test_stack_overflow_push.py b/tests/ported_static/stStackTests/test_stack_overflow_push.py index 3a87aa520ee..4904e1175c3 100644 --- a/tests/ported_static/stStackTests/test_stack_overflow_push.py +++ b/tests/ported_static/stStackTests/test_stack_overflow_push.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_overflow_push. Ported from: -tests/static/state_tests/stStackTests/stackOverflowPUSHFiller.json +state_tests/stStackTests/stackOverflowPUSHFiller.json """ import pytest @@ -11,100 +11,230 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stStackTests/stackOverflowPUSHFiller.json"], + ["state_tests/stStackTests/stackOverflowPUSHFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000610000", # noqa: E501 - "6b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b0000000000000000000000006b000000000000000000000000", # noqa: E501 - "6c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c000000000000000000000000006c00000000000000000000000000", # noqa: E501 - "6d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d00000000000000000000000000006d0000000000000000000000000000", # noqa: E501 - "6e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e0000000000000000000000000000006e000000000000000000000000000000", # noqa: E501 - "6f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f000000000000000000000000000000006f00000000000000000000000000000000", # noqa: E501 - "700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000700000000000000000000000000000000000", # noqa: E501 - "7100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000710000000000000000000000000000000000007100000000000000000000000000000000000071000000000000000000000000000000000000", # noqa: E501 - "72000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000720000000000000000000000000000000000000072000000000000000000000000000000000000007200000000000000000000000000000000000000", # noqa: E501 - "730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000730000000000000000000000000000000000000000", # noqa: E501 - "7400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000740000000000000000000000000000000000000000007400000000000000000000000000000000000000000074000000000000000000000000000000000000000000", # noqa: E501 - "6200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000620000006200000062000000", # noqa: E501 - "75000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000750000000000000000000000000000000000000000000075000000000000000000000000000000000000000000007500000000000000000000000000000000000000000000", # noqa: E501 - "760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000", # noqa: E501 - "7700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000", # noqa: E501 - "78000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000", # noqa: E501 - "790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000", # noqa: E501 - "7a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000", # noqa: E501 - "7b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b00000000000000000000000000000000000000000000000000000000", # noqa: E501 - "7c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c0000000000000000000000000000000000000000000000000000000000", # noqa: E501 - "7d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - "7e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000007e00000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - "63000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000630000000063000000006300000000", # noqa: E501 - "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - "640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000640000000000", # noqa: E501 - "6500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000650000000000006500000000000065000000000000", # noqa: E501 - "66000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000660000000000000066000000000000006600000000000000", # noqa: E501 - "670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000670000000000000000", # noqa: E501 - "6800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000680000000000000000006800000000000000000068000000000000000000", # noqa: E501 - "69000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000690000000000000000000069000000000000000000006900000000000000000000", # noqa: E501 - "6a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a00000000000000000000006a0000000000000000000000", # noqa: E501 - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), ], ) @pytest.mark.pre_alloc_mutable def test_stack_overflow_push( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_overflow_push.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -115,18 +245,3145 @@ def test_stack_overflow_push( gas_limit=42949672960, ) + pre[contract_0] = Account(balance=0xE8D4A5100000000000) pre[sender] = Account(balance=0xE8D4A5100000000000) - pre[contract] = Account(balance=0xE8D4A5100000000000, nonce=0) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.PUSH2[0x0] * 1025, + Op.PUSH3[0x0] * 1025, + Op.PUSH4[0x0] * 1025, + Op.PUSH5[0x0] * 1025, + Op.PUSH6[0x0] * 1025, + Op.PUSH7[0x0] * 1025, + Op.PUSH8[0x0] * 1025, + Op.PUSH9[0x0] * 1025, + Op.PUSH10[0x0] * 1025, + Op.PUSH11[0x0] * 1025, + Op.PUSH12[0x0] * 1025, + Op.PUSH13[0x0] * 1025, + Op.PUSH14[0x0] * 1025, + Op.PUSH15[0x0] * 1025, + Op.PUSH16[0x0] * 1025, + Op.PUSH17[0x0] * 1025, + Op.PUSH18[0x0] * 1025, + Op.PUSH19[0x0] * 1025, + Op.PUSH20[0x0] * 1025, + Op.PUSH21[0x0] * 1025, + Op.PUSH22[0x0] * 1025, + Bytes( + "760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000" # noqa: E501 + ), + Bytes( + "7700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000770000000000000000000000000000000000000000000000007700000000000000000000000000000000000000000000000077000000000000000000000000000000000000000000000000" # noqa: E501 + ), + Bytes( + "78000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000" # noqa: E501 + ), + Bytes( + "790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000790000000000000000000000000000000000000000000000000000" # noqa: E501 + ), + Bytes( + "7a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), + Bytes( + "7b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000007b00000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), + Bytes( + "7c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000007c0000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), + Bytes( + "7d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ) + + Hash( + 0x7E00000000000000000000000000000000000000000000000000000000000000 + ), + Bytes( + "7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 + ), + ] + tx_gas = [6000000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=6000000, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStackTests/test_stack_overflow_swap.py b/tests/ported_static/stStackTests/test_stack_overflow_swap.py index 89c1ee0a11f..9c5a2a1f34b 100644 --- a/tests/ported_static/stStackTests/test_stack_overflow_swap.py +++ b/tests/ported_static/stStackTests/test_stack_overflow_swap.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_stack_overflow_swap. Ported from: -tests/static/state_tests/stStackTests/stackOverflowSWAPFiller.json +state_tests/stStackTests/stackOverflowSWAPFiller.json """ import pytest @@ -14,14 +14,16 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stStackTests/stackOverflowSWAPFiller.json"], + ["state_tests/stStackTests/stackOverflowSWAPFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,12 +31,12 @@ def test_stack_overflow_swap( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_stack_overflow_swap.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -45,75 +47,19 @@ def test_stack_overflow_swap( gas_limit=42949672960, ) + pre[contract_0] = Account(balance=0xE8D4A5100000000000) pre[sender] = Account(balance=0xE8D4A5100000000000) - pre[contract] = Account(balance=0xE8D4A5100000000000, nonce=0) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600090" # noqa: E501 - ), + data=Op.PUSH1[0x0] * 1024 + Op.SWAP1, gas_limit=6000000, value=1, ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account(balance=1) + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStackTests/test_stacksanity_swap.py b/tests/ported_static/stStackTests/test_stacksanity_swap.py index f9daac68802..2b399586969 100644 --- a/tests/ported_static/stStackTests/test_stacksanity_swap.py +++ b/tests/ported_static/stStackTests/test_stacksanity_swap.py @@ -1,8 +1,8 @@ """ -checks stack usage for SWAP. +Checks stack usage for SWAP. Ported from: -tests/static/state_tests/stStackTests/stacksanitySWAPFiller.json +state_tests/stStackTests/stacksanitySWAPFiller.json """ import pytest @@ -14,14 +14,16 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stStackTests/stacksanitySWAPFiller.json"], + ["state_tests/stStackTests/stacksanitySWAPFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,11 +32,11 @@ def test_stacksanity_swap( pre: Alloc, ) -> None: """Checks stack usage for SWAP.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -45,75 +47,19 @@ def test_stacksanity_swap( gas_limit=42949672960, ) + pre[contract_0] = Account(balance=0xE8D4A5100000000000) pre[sender] = Account(balance=0xE8D4A5100000000000) - pre[contract] = Account(balance=0xE8D4A5100000000000, nonce=0) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600060006000" # noqa: E501 - "600060006000600060006000600060006000600060006000600060006000600090" # noqa: E501 - ), + data=Op.PUSH1[0x0] * 1024 + Op.SWAP1, gas_limit=6000000, value=1, ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account(balance=1) + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStackTests/test_underflow_test.py b/tests/ported_static/stStackTests/test_underflow_test.py index 2ede10365ba..ce8b321e923 100644 --- a/tests/ported_static/stStackTests/test_underflow_test.py +++ b/tests/ported_static/stStackTests/test_underflow_test.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/stStackTests/underflowTestFiller.yml +state_tests/stStackTests/underflowTestFiller.yml """ import pytest @@ -11,86488 +11,4270 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stStackTests/underflowTestFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "693c61390000000000000000000000003aac251f428dcd7cb57e01c7dbb8bc3a76d5d628", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000cc44bebaeb76a6568aa26ae045f8516fa29b0f9c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 1} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c51017527cdd990d0c8e146ed36237694024021c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000023d790b6f14975963ee30ff45cc4621c7e1eeaf7", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 1} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000001029b338aa781a64308000fa49515769618f176e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c8d2eb10090f9940b7e816e6a278ae2ec943d232", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 1} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000943b918e625b3ecb5d186d820a60c8eebd1c71ec", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000058a413dde8ddd92c793fca0b18ce89bd3dfba0e8", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 1} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000006f72794f9c9d8a693ff6c1134d611d353678fcf0", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000b8479583829f24d888a0493a9132845b3d6a5305", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 1} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000001be71f78fcfbc7e4002db615e7fc878e7f090c50", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000f04fe60ad6f92fa14a53a0882943a66ea4e49ef1", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 1} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000f465862e7bf5085fb692e16d3181afaba87550cc", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000008ce099e0d9e5e5153e578f7cbfa9fd071b714142", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 1} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000008e3ab300e3d93ac55727c65510ff8bd96ea76928", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000af6ead2e1a296b787d4b084d30b0733518fd2462", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 1} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000059f8c0328e432df7467313742e1effc9ee2bac4e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000bc57a2f2490132b8f8980cd242f7dc76b4b3f1c3", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 1} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c24790535cfea9781d66d59b81d9b92a576bb9ef", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000488a9b0f0e885b96f67c113f0979799f801d70d3", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 1} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000050a33da19f003aec73bc65754e12a7f94c9b1c34", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000866777eaddc2be0a50b3d3f76f2064876ea42802", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 1} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000016a80f6c0bbed421a0d6b392e891a52fca715213", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000009bd8e7c30198bd73a39e51d6866b72026272773e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 1} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000933cb75e0e03a16aa3d3e7114d269a6fe4db46f9", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000f1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 1} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000799721e570bcd85be50c0d7a399af369be561fbe", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000009386c3cce8cab9f8c3bc1a89c82a0e55588ced9d", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 1} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000d54c502b5478a191e9a25bc0d1ba94669c5a5f4f", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000836d0c3ce82596908935c3cc794da4603e135b1c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 1} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000008ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000005782c86be10d218c82d509f3257e9dfdbf6dead8", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 1} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000444a2203a30517f4a8becca90192b193a7b6ecf3", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 1} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000004da0082f56c3cae860eb6fb0fe36bc17cfba2c27", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000d5765c6e58b373df78d7311fe80a67de0ddf987e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000742bf896d715c00eb77f340fcaa65bacaee2467c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 1} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c698050f674750bbcafa30c433633dee22b8a9d3", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000006ce1b9fedca232f6829f0831ed2c23bd9c2f99a2", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 1} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000091605658e9533e831c9f855874faa14c363dc795", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000f2578fadcdd5cd7b55f7046c88a7a77e195a7b17", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 1} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000034fb465a898787f7ed08bc2f5de86a896f8bc4da", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000f84f405591be4ab47ca2ca1841dcb57cc43f076f", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 1} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000002cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000000cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 1} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000175de68007e136237a4f26b6983dbce27a87fb5b", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000009c8fc002a1dcd0edcf93c20dc9d674031dc5a28d", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 1} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000e6d703c31f83bc617a62f78e3c3a615001d3dd2c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000113855e9aa747f6ae6fd74667d7a288b2288caf6", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 1} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000002c2938555e004cbb0ce4481bad8a15857d983d06", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000063e21ad1535b95aaeed05e893b5b7947d6b0f15a", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 1} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000005bce589f39f0eff323bcbeac539dc9fd0f429bd2", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000008030a1eb20b388143f12fb547b5e53a4c164a621", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 1} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000005bb0e367bec7d734cb0fc9c27eb85af479b39673", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000e594a68387d42d18bb8e460cef74876f05985e3a", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 1} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000009a90a463d916b189eee17b331f27a54142b79961", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000029d8125096a81237be857845270ab34afab88ac", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 1} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000000d423fa4896aca0a02cba41462e754c3241427f0", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000ca098deb4ab81002cddbd3c93261d6d1cb5113b5", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 1} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000fbc09ac707fcca4ae8e348f01457ea18825bd139", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000662d9872215dde44ec296918a0fd96c45c97b332", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 1} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000aeec863f85b9a222ac1ffff774a881d46ec3ad37", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000005d4fa1456fbf03872b922dc0e8e48ec49f5faf9e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 1} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000002b3bc02cabba968640fd86614f855a406b5c32e2", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000005029d082367aa4510d5a6e3b5cf83cd41e05c7f4", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 1} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c36332f339266d7989b005864c48548883213125", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000973b5cc7e4678bcb85618b38c910f8adc68703a6", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 1} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000093d0507f681ba7de662d14ae8de922d161698c8e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000bf337119d0b966cc500cd3ff5ab9f3c7fddaa91d", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 1} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000007142d01ed8802179659127719398fa679ac41292", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000a3d5aecbf6541cd2a0df5ae2e1294abc682180e6", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 1} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000664f23c7af786dc61b6a068b3f9bde0051716384", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000075a2a8afa2446ec88a716ef7074351accfaccadf", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 1} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000f9a965915f18a6108b842a40148dc5fd47ec7140", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000d60ab3d73fd71f071ede5eead527db298236b162", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 1} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c744cf16cf5e2eb3c97e641e63801b8af3015def", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000be25986eb0ee281252e783918d867630e5119455", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 1} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000017f25a871ea2ea564cffe99d31dedcf1fcff0a63", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000fb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 1} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c70e97b872035f925b07db55b85a3eac04e724d6", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000d051afb76160844eb32df55e052044de76250ebc", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 1} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000dac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000003fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 1} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000a7eec8574dbfc883575f2b20a80f14f335a809b6", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000022d7d32459b46a9b69542c31545cb3a0d887064c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 1} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000715f213243cd7baeefd3a52434353015a4fc8de2", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000079d8aedd70f8a99a15e3083d3335a028d69af9fa", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 1} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000077225976113d69eee2fd870ea02d670badabdcab", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000002947a82b8aabd0f80c7e215bc066ea92bdd65b31", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 1} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000092bfb1aa73e92c1f591d8b6854514df6672bbb90", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000b2e76a6fdfc66a93a2354748ec2d107a818fe73c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 1} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000005df0dd6d100e8dd03d211b55d4a8cc7c7657c038", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000004e985c32a0f53ab426fe2bcdea720f0f71a4c1d1", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 1} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000ec26e590a6f5da137088aee0c4d6b0f8870eb1ad", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000ac95d1d1c86af90f5a0cf44c104d0da04ab3a467", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 1} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000a1903db9aa9aa2665ca7da383db9291d93f1d576", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000891e304c4126f24bf762df079c7683420b16ff57", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 1} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000e383f3e5b45fa86d5b37cdfeb146cf903641c76c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000da3ec48d60f1cf78ecc154fa0c6181cf833916aa", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 1} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000000824de5bb894849fcdd60634275d6bcb8157d4a0", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000da24ffd288756277e556671ae2306b7587ef0c63", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 1} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000010df9321d0355308a994d3709e30609bd72655b7", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c52f28d6433f203eae23f5f2fc642938a25aafe7", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 1} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000007d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000e8565720ba47032e7b0edcb4bce06303f83ff450", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 1} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000005f750bad38b37c4ebcc5fee4eed5639283a09a38", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000014ed6c71ebccdf69007d79fe699d368102533929", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 1} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000084798b4fb35d09db14ecab9d65a4a280e483fe29", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000007d002cacbe954f4360fe634fbe23f5b67c686cbf", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 1} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000b37c41d445866ceb36edc4e6456cae78949c9f97", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000008e689eee6c7387a37612a42f8ee44dd7a823fb5c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 1} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c131d96e30386b63f89592008939dd517579f203", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000058cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 1} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000cc9ffede5b0d7f58002f852181d0b4b35c0dabee", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000000bdf35fc6c5c2a3e1e9711112ff7ef71e2419532", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 1} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000ec8b92806c1ad0f2dcf5b0207db7eddb464df0ca", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000011ffe11bb835b6ce89fc91d65b1f6c0919b07a1d", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 1} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000a7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000701a7d6aa6ef15a38fd8311e074a96c09b434a2a", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 1} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000a49e66f497a85d949d334a20724bc6b75da3d3ae", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 1} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000001e27cc27790c60dde31215bf2be1d9a66c41c8fa", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000001523b84a9fb4a0d32f070847190d34f912c04c4e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 1} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000007aedaf23d4e9afb84baa67824cebfec01339afc1", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000005096db6b2ea6ace8e2aeb3610faaad183a51ca8d", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 1} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000e519ac21322361b960bed6ccbbf538840e85f76e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c74809261edc3edd91ec17dbf4b898233c42ddb4", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 1} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000009d8ea14af8d401208eb0687b8ae6f1e5ed6808d4", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000018c875e7eb21e50bad81e8940a2272fd6760e0dd", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 1} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000ee8790666225df6f97ae194e20853f2907bbaebc", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000045952ed2c957691ae4de05032b429a8a0f0ced5b", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 1} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000b50944b674eb20b0fe99a18bb764b45500c41144", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000fcc0a7ebcab4f6d8c91c9062f2cd1148073253d2", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 1} - ), - }, - ), - ( - "693c61390000000000000000000000008b62b65db3bd1be727290b490c679c0e84585498", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000006c6bc4f9ccde5da559a3e5dddb6b60a8675c0076", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 1} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000002ac63027195da2ee9ce4cc1dff225ca97d3c2f0c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000723a69480f074f5df2544cacf63347fb5f0f36d1", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 1} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000073f7599a216d98d9ff1559788a9771d78895a6a3", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000004289634ebf793179377faa7140610bb80db21b45", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 1} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000066a62a0af37886b9b057a1bad714665525e7687f", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000001bb096578fe2f1be79e03ea88551a8bdd0692bea", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 1} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000745a759f45602915eab7bdc87bc8d1c1675d4e29", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000bf99ad09fc2f72924cbe6da6020f985e65f78901", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 1} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000727fd27941dbe4d8f1e2e9daa0df70288fd73772", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000001eb3790937f47fe31a45f55bd82f50107e7a463a", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 1} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000cd63f547ee166a3feb23a945f488ccc5ee921eef", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000008fd69485a26470a721f6dd7e685da39ee2a3dc1c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 1} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000006f631ae51ead55c8526aff13665fe5dd055e3561", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000001debd2afba875db8938ce64218b40fb210e1de0a", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 1} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000e98c1ab0ff23d5c5005c639781d1a635b9af887b", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000acda51eb0d678a0d52bfa44e4354d8f371f43438", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 1} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000009768a9bb367830f3331b0c09d7183c131e44a7fc", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000d6bb0ea7c7f60c967d3deeeaaba555daafbc52cb", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 1} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000019598106d1cede298b275523e64593c95d5c431c", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000b44c7350f24bb5482057b53911a1d3c91c263eaf", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 1} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000000d0e14670e6e8718377bc2fae6b6814d558d3dee", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000a15fe2669809ddc6640e94572907a53411b2aa6e", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 1} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000d435f13e92f7db306b9b32e1d61db6ecd9c135bd", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000c3fce336558080ef8b1a20a209b173e6d163e548", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 1} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000620d85c5acc41cbfa47a763bbb9e326054b1819d", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000009b9d04770c429114574c11780fc9658d3257e80b", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 1} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c613900000000000000000000000044c420a5b1a9071eb7ff6f1027c167c002c7f355", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000dcb6a7c9b64471effdd8bbf72d32d271deeec8c5", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 1} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c6139000000000000000000000000d9292de838cd8839d91b496d8a9d25ac102cd821", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 1} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000003ad6053af54d703f7e7229bd5bf120c908c8513d", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000004c47590ab3f1dfe486900d0ec41510f85545b182", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 24743} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ( - "693c61390000000000000000000000009b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8", # noqa: E501 - { - Address("0x029d8125096a81237be857845270ab34afab88ac"): Account( - storage={1: 24743} - ), - Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"): Account( - storage={1: 24743} - ), - Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"): Account( - storage={1: 24743} - ), - Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"): Account( - storage={1: 24743} - ), - Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"): Account( - storage={1: 24743} - ), - Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"): Account( - storage={1: 24743} - ), - Address("0x1029b338aa781a64308000fa49515769618f176e"): Account( - storage={1: 24743} - ), - Address("0x10df9321d0355308a994d3709e30609bd72655b7"): Account( - storage={1: 24743} - ), - Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"): Account( - storage={1: 24743} - ), - Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"): Account( - storage={1: 24743} - ), - Address("0x14ed6c71ebccdf69007d79fe699d368102533929"): Account( - storage={1: 24743} - ), - Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"): Account( - storage={1: 24743} - ), - Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"): Account( - storage={1: 24743} - ), - Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"): Account( - storage={1: 24743} - ), - Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"): Account( - storage={1: 24743} - ), - Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"): Account( - storage={1: 24743} - ), - Address("0x19598106d1cede298b275523e64593c95d5c431c"): Account( - storage={1: 24743} - ), - Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"): Account( - storage={1: 24743} - ), - Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"): Account( - storage={1: 24743} - ), - Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"): Account( - storage={1: 24743} - ), - Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"): Account( - storage={1: 24743} - ), - Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"): Account( - storage={1: 24743} - ), - Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"): Account( - storage={1: 24743} - ), - Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"): Account( - storage={1: 24743} - ), - Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"): Account( - storage={1: 24743} - ), - Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"): Account( - storage={1: 24743} - ), - Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"): Account( - storage={1: 24743} - ), - Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"): Account( - storage={1: 24743} - ), - Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"): Account( - storage={1: 24743} - ), - Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"): Account( - storage={1: 24743} - ), - Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"): Account( - storage={1: 24743} - ), - Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"): Account( - storage={1: 24743} - ), - Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"): Account( - storage={1: 24743} - ), - Address("0x4289634ebf793179377faa7140610bb80db21b45"): Account( - storage={1: 24743} - ), - Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"): Account( - storage={1: 24743} - ), - Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"): Account( - storage={1: 24743} - ), - Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"): Account( - storage={1: 24743} - ), - Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"): Account( - storage={1: 24743} - ), - Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"): Account( - storage={1: 24743} - ), - Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"): Account( - storage={0: 24743, 1: 24743} - ), - Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"): Account( - storage={1: 24743} - ), - Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"): Account( - storage={1: 24743} - ), - Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"): Account( - storage={1: 24743} - ), - Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"): Account( - storage={1: 24743} - ), - Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"): Account( - storage={1: 24743} - ), - Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"): Account( - storage={1: 24743} - ), - Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"): Account( - storage={1: 24743} - ), - Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"): Account( - storage={1: 24743} - ), - Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"): Account( - storage={1: 24743} - ), - Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"): Account( - storage={1: 24743} - ), - Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"): Account( - storage={1: 24743} - ), - Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"): Account( - storage={1: 24743} - ), - Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"): Account( - storage={1: 24743} - ), - Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"): Account( - storage={1: 24743} - ), - Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"): Account( - storage={1: 24743} - ), - Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"): Account( - storage={1: 24743} - ), - Address("0x662d9872215dde44ec296918a0fd96c45c97b332"): Account( - storage={1: 24743} - ), - Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"): Account( - storage={1: 24743} - ), - Address("0x66a62a0af37886b9b057a1bad714665525e7687f"): Account( - storage={1: 24743} - ), - Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"): Account( - storage={1: 24743} - ), - Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"): Account( - storage={1: 24743} - ), - Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"): Account( - storage={1: 24743} - ), - Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"): Account( - storage={1: 24743} - ), - Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"): Account( - storage={1: 24743} - ), - Address("0x7142d01ed8802179659127719398fa679ac41292"): Account( - storage={1: 24743} - ), - Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"): Account( - storage={1: 24743} - ), - Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"): Account( - storage={1: 24743} - ), - Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"): Account( - storage={1: 24743} - ), - Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"): Account( - storage={1: 24743} - ), - Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"): Account( - storage={1: 24743} - ), - Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"): Account( - storage={1: 24743} - ), - Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"): Account( - storage={1: 24743} - ), - Address("0x77225976113d69eee2fd870ea02d670badabdcab"): Account( - storage={1: 24743} - ), - Address("0x799721e570bcd85be50c0d7a399af369be561fbe"): Account( - storage={1: 24743} - ), - Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"): Account( - storage={1: 24743} - ), - Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"): Account( - storage={1: 24743} - ), - Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"): Account( - storage={1: 24743} - ), - Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"): Account( - storage={1: 24743} - ), - Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"): Account( - storage={1: 24743} - ), - Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"): Account( - storage={1: 24743} - ), - Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"): Account( - storage={1: 24743} - ), - Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"): Account( - storage={1: 24743} - ), - Address("0x891e304c4126f24bf762df079c7683420b16ff57"): Account( - storage={1: 24743} - ), - Address("0x8b62b65db3bd1be727290b490c679c0e84585498"): Account( - storage={1: 24743} - ), - Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"): Account( - storage={1: 24743} - ), - Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"): Account( - storage={1: 24743} - ), - Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"): Account( - storage={1: 24743} - ), - Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"): Account( - storage={1: 24743} - ), - Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"): Account( - storage={1: 24743} - ), - Address("0x91605658e9533e831c9f855874faa14c363dc795"): Account( - storage={1: 24743} - ), - Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"): Account( - storage={1: 24743} - ), - Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"): Account( - storage={1: 24743} - ), - Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"): Account( - storage={1: 24743} - ), - Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"): Account( - storage={1: 24743} - ), - Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"): Account( - storage={1: 24743} - ), - Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"): Account( - storage={1: 24743} - ), - Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"): Account( - storage={1: 24743} - ), - Address("0x9a90a463d916b189eee17b331f27a54142b79961"): Account( - storage={1: 24743} - ), - Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"): Account( - storage={1: 1} - ), - Address("0x9b9d04770c429114574c11780fc9658d3257e80b"): Account( - storage={1: 24743} - ), - Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"): Account( - storage={1: 24743} - ), - Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"): Account( - storage={1: 24743} - ), - Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"): Account( - storage={1: 24743} - ), - Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"): Account( - storage={1: 24743} - ), - Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"): Account( - storage={1: 24743} - ), - Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"): Account( - storage={1: 24743} - ), - Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"): Account( - storage={1: 24743} - ), - Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"): Account( - storage={1: 24743} - ), - Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"): Account( - storage={1: 24743} - ), - Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"): Account( - storage={1: 24743} - ), - Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"): Account( - storage={1: 24743} - ), - Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"): Account( - storage={1: 24743} - ), - Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"): Account( - storage={1: 24743} - ), - Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"): Account( - storage={1: 24743} - ), - Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"): Account( - storage={1: 24743} - ), - Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"): Account( - storage={1: 24743} - ), - Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"): Account( - storage={1: 24743} - ), - Address("0xb8479583829f24d888a0493a9132845b3d6a5305"): Account( - storage={1: 24743} - ), - Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"): Account( - storage={1: 24743} - ), - Address("0xbe25986eb0ee281252e783918d867630e5119455"): Account( - storage={1: 24743} - ), - Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"): Account( - storage={1: 24743} - ), - Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"): Account( - storage={1: 24743} - ), - Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"): Account( - storage={1: 24743} - ), - Address("0xc131d96e30386b63f89592008939dd517579f203"): Account( - storage={1: 24743} - ), - Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"): Account( - storage={1: 24743} - ), - Address("0xc36332f339266d7989b005864c48548883213125"): Account( - storage={1: 24743} - ), - Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"): Account( - storage={1: 24743} - ), - Address("0xc51017527cdd990d0c8e146ed36237694024021c"): Account( - storage={1: 24743} - ), - Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"): Account( - storage={1: 24743} - ), - Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"): Account( - storage={1: 24743} - ), - Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"): Account( - storage={1: 24743} - ), - Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"): Account( - storage={1: 24743} - ), - Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"): Account( - storage={1: 24743} - ), - Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"): Account( - storage={1: 24743} - ), - Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"): Account( - storage={1: 24743} - ), - Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"): Account( - storage={1: 24743} - ), - Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"): Account( - storage={1: 24743} - ), - Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"): Account( - storage={1: 24743} - ), - Address("0xd051afb76160844eb32df55e052044de76250ebc"): Account( - storage={1: 24743} - ), - Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"): Account( - storage={1: 24743} - ), - Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"): Account( - storage={1: 24743} - ), - Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"): Account( - storage={1: 24743} - ), - Address("0xd60ab3d73fd71f071ede5eead527db298236b162"): Account( - storage={1: 24743} - ), - Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"): Account( - storage={1: 24743} - ), - Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"): Account( - storage={1: 24743} - ), - Address("0xda24ffd288756277e556671ae2306b7587ef0c63"): Account( - storage={1: 24743} - ), - Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"): Account( - storage={1: 24743} - ), - Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"): Account( - storage={1: 24743} - ), - Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"): Account( - storage={1: 24743} - ), - Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"): Account( - storage={1: 24743} - ), - Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"): Account( - storage={1: 24743} - ), - Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"): Account( - storage={1: 24743} - ), - Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"): Account( - storage={1: 24743} - ), - Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"): Account( - storage={1: 24743} - ), - Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"): Account( - storage={1: 24743} - ), - Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"): Account( - storage={1: 24743} - ), - Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"): Account( - storage={1: 24743} - ), - Address("0xee8790666225df6f97ae194e20853f2907bbaebc"): Account( - storage={1: 24743} - ), - Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"): Account( - storage={1: 24743} - ), - Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"): Account( - storage={1: 24743} - ), - Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"): Account( - storage={1: 24743} - ), - Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"): Account( - storage={1: 24743} - ), - Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"): Account( - storage={1: 24743} - ), - Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"): Account( - storage={1: 24743} - ), - Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"): Account( - storage={1: 24743} - ), - Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"): Account( - storage={1: 24743} - ), - Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"): Account( - storage={1: 24743} - ), - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - ], -) -@pytest.mark.pre_alloc_mutable -def test_underflow_test( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP6 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x029d8125096a81237be857845270ab34afab88ac"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.MULMOD - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x0824de5bb894849fcdd60634275d6bcb8157d4a0"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.SGT(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x0bdf35fc6c5c2a3e1e9711112ff7ef71e2419532"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP15 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x0cd1b3e02e0bc556b0c7d4779c69a9a383c0c7cd"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP5 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x0d0e14670e6e8718377bc2fae6b6814d558d3dee"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP7 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x0d423fa4896aca0a02cba41462e754c3241427f0"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.AND + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x1029b338aa781a64308000fa49515769618f176e"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.NOT + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x10df9321d0355308a994d3709e30609bd72655b7"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP2 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x113855e9aa747f6ae6fd74667d7a288b2288caf6"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SHA3(offset=0x80, size=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x11ffe11bb835b6ce89fc91d65b1f6c0919b07a1d"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.POP(0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x14ed6c71ebccdf69007d79fe699d368102533929"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.SIGNEXTEND(0x80, 0x80) + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x1523b84a9fb4a0d32f070847190d34f912c04c4e"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.CREATE - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x16a80f6c0bbed421a0d6b392e891a52fca715213"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP16 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x175de68007e136237a4f26b6983dbce27a87fb5b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.LOG0 + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x17f25a871ea2ea564cffe99d31dedcf1fcff0a63"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.SMOD(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x18c875e7eb21e50bad81e8940a2272fd6760e0dd"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP4 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x19598106d1cede298b275523e64593c95d5c431c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP12 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x1bb096578fe2f1be79e03ea88551a8bdd0692bea"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.BYTE + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x1be71f78fcfbc7e4002db615e7fc878e7f090c50"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP16 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x1debd2afba875db8938ce64218b40fb210e1de0a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.SIGNEXTEND - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x1e27cc27790c60dde31215bf2be1d9a66c41c8fa"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP14 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x1eb3790937f47fe31a45f55bd82f50107e7a463a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.LOG3( - offset=0x80, - size=0x80, - topic_1=0x80, - topic_2=0x80, - topic_3=0x80, - ) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x22d7d32459b46a9b69542c31545cb3a0d887064c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.ADDMOD(0x80, 0x80, 0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x23d790b6f14975963ee30ff45cc4621c7e1eeaf7"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.LT(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x2947a82b8aabd0f80c7e215bc066ea92bdd65b31"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP10 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x2ac63027195da2ee9ce4cc1dff225ca97d3c2f0c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.EQ + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x2b3bc02cabba968640fd86614f855a406b5c32e2"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP3 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x2c2938555e004cbb0ce4481bad8a15857d983d06"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP15 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x2cd79f853ec648b7c3ec3fac7c7ce82d7d83ea1e"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP14 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x34fb465a898787f7ed08bc2f5de86a896f8bc4da"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.ADD + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x3aac251f428dcd7cb57e01c7dbb8bc3a76d5d628"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP9 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x3ad6053af54d703f7e7229bd5bf120c908c8513d"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.LOG2(offset=0x80, size=0x80, topic_1=0x80, topic_2=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x3fd249e0be1d7bf6386b7dc90d92bf95f9f98bc4"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP11 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x4289634ebf793179377faa7140610bb80db21b45"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP10 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x444a2203a30517f4a8becca90192b193a7b6ecf3"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP8 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x44c420a5b1a9071eb7ff6f1027c167c002c7f355"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.STATICCALL( - gas=0x80, - address=0x80, - args_offset=0x80, - args_size=0x80, - ret_offset=0x80, - ret_size=0x80, - ) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x45952ed2c957691ae4de05032b429a8a0f0ced5b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.CALLDATALOAD(offset=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x488a9b0f0e885b96f67c113f0979799f801d70d3"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.XOR + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x4c47590ab3f1dfe486900d0ec41510f85545b182"), # noqa: E501 - ) - # Source: LLL - # { - # [[0]] 0x60A7 - # (call (gas) $4 0 0 0 0 0) - # [[1]] 0x60A7 - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x60A7) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x4), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x60A7) - + Op.STOP - ), - nonce=0, - address=Address("0x4c5f839d523e76fc3837e085a3e1538cd36e288a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP10 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x4da0082f56c3cae860eb6fb0fe36bc17cfba2c27"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.MOD(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x4e985c32a0f53ab426fe2bcdea720f0f71a4c1d1"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.EQ(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x5029d082367aa4510d5a6e3b5cf83cd41e05c7f4"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.SLOAD(key=0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x5096db6b2ea6ace8e2aeb3610faaad183a51ca8d"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.CODECOPY - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x50a33da19f003aec73bc65754e12a7f94c9b1c34"), # noqa: E501 - ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.DUP1 + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x5782c86be10d218c82d509f3257e9dfdbf6dead8"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.BALANCE(address=0x80) + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x58a413dde8ddd92c793fca0b18ce89bd3dfba0e8"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.SDIV(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x58cd7cc2b1b1cd459decc8ebbbd2fcbf9c68cef9"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.CALLDATACOPY - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x59f8c0328e432df7467313742e1effc9ee2bac4e"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP5 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x5bb0e367bec7d734cb0fc9c27eb85af479b39673"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP4 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x5bce589f39f0eff323bcbeac539dc9fd0f429bd2"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP9 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x5d4fa1456fbf03872b922dc0e8e48ec49f5faf9e"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.MOD + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x5df0dd6d100e8dd03d211b55d4a8cc7c7657c038"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.POP + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x5f750bad38b37c4ebcc5fee4eed5639283a09a38"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP7 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x620d85c5acc41cbfa47a763bbb9e326054b1819d"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP3 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x63e21ad1535b95aaeed05e893b5b7947d6b0f15a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP8 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x662d9872215dde44ec296918a0fd96c45c97b332"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.EXTCODESIZE + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x664f23c7af786dc61b6a068b3f9bde0051716384"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP12 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x66a62a0af37886b9b057a1bad714665525e7687f"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP1 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x6c6bc4f9ccde5da559a3e5dddb6b60a8675c0076"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP12 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x6ce1b9fedca232f6829f0831ed2c23bd9c2f99a2"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP16 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x6f631ae51ead55c8526aff13665fe5dd055e3561"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.BLOCKHASH + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x6f72794f9c9d8a693ff6c1134d611d353678fcf0"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.SHL(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x701a7d6aa6ef15a38fd8311e074a96c09b434a2a"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.EXTCODEHASH + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x7142d01ed8802179659127719398fa679ac41292"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.LOG4 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x715f213243cd7baeefd3a52434353015a4fc8de2"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP10 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x723a69480f074f5df2544cacf63347fb5f0f36d1"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP14 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x727fd27941dbe4d8f1e2e9daa0df70288fd73772"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP11 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x73f7599a216d98d9ff1559788a9771d78895a6a3"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP11 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x742bf896d715c00eb77f340fcaa65bacaee2467c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP13 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x745a759f45602915eab7bdc87bc8d1c1675d4e29"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.EXTCODESIZE(address=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x75a2a8afa2446ec88a716ef7074351accfaccadf"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.LT + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x77225976113d69eee2fd870ea02d670badabdcab"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DELEGATECALL - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x799721e570bcd85be50c0d7a399af369be561fbe"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.LOG4( - offset=0x80, - size=0x80, - topic_1=0x80, - topic_2=0x80, - topic_3=0x80, - topic_4=0x80, - ) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x79d8aedd70f8a99a15e3083d3335a028d69af9fa"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.SLOAD + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x7aedaf23d4e9afb84baa67824cebfec01339afc1"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.RETURN(offset=0x80, size=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x7d002cacbe954f4360fe634fbe23f5b67c686cbf"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.OR + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x7d00c3c2cbb3b64bbb4f0f518ef779f6df875f6e"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP4 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x8030a1eb20b388143f12fb547b5e53a4c164a621"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.DIV(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x836d0c3ce82596908935c3cc794da4603e135b1c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.RETURN - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x84798b4fb35d09db14ecab9d65a4a280e483fe29"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.CODECOPY(dest_offset=0x80, offset=0x80, size=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x866777eaddc2be0a50b3d3f76f2064876ea42802"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x80, value=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x891e304c4126f24bf762df079c7683420b16ff57"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SWAP1 + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x8b62b65db3bd1be727290b490c679c0e84585498"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.CALL( - gas=0x80, - address=0x80, - value=0x80, - args_offset=0x80, - args_size=0x80, - ret_offset=0x80, - ret_size=0x80, - ) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x8ce099e0d9e5e5153e578f7cbfa9fd071b714142"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.DUP1 + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x8ceb89e3037b7ac8b58e3765ea3eb65f1a9e4a7c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.CALLCODE - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x8e3ab300e3d93ac55727c65510ff8bd96ea76928"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.SAR(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x8e689eee6c7387a37612a42f8ee44dd7a823fb5c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP15 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x8fd69485a26470a721f6dd7e685da39ee2a3dc1c"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP13 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x91605658e9533e831c9f855874faa14c363dc795"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.MLOAD + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x92bfb1aa73e92c1f591d8b6854514df6672bbb90"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.CREATE2 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x933cb75e0e03a16aa3d3e7114d269a6fe4db46f9"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.DELEGATECALL( - gas=0x80, - address=0x80, - args_offset=0x80, - args_size=0x80, - ret_offset=0x80, - ret_size=0x80, - ) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x9386c3cce8cab9f8c3bc1a89c82a0e55588ced9d"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.EXTCODECOPY - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x93d0507f681ba7de662d14ae8de922d161698c8e"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.BALANCE + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x943b918e625b3ecb5d186d820a60c8eebd1c71ec"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.EXP(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x973b5cc7e4678bcb85618b38c910f8adc68703a6"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP3 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x9768a9bb367830f3331b0c09d7183c131e44a7fc"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP6 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x9a90a463d916b189eee17b331f27a54142b79961"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.XOR(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x9b0edd3cf5b6ccc09b3c9d15646ef629a7767ba8"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP7 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x9b9d04770c429114574c11780fc9658d3257e80b"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.CREATE(value=0x80, offset=0x80, size=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x9bd8e7c30198bd73a39e51d6866b72026272773e"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP16 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x9c8fc002a1dcd0edcf93c20dc9d674031dc5a28d"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SMOD + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0x9d8ea14af8d401208eb0687b8ae6f1e5ed6808d4"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP5 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xa15fe2669809ddc6640e94572907a53411b2aa6e"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.MSTORE8 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xa1903db9aa9aa2665ca7da383db9291d93f1d576"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.EXTCODEHASH(address=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xa3d5aecbf6541cd2a0df5ae2e1294abc682180e6"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.SHR(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xa49e66f497a85d949d334a20724bc6b75da3d3ae"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SHL + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xa7b1cd72ebc0b8f3e353885ef17b04aa28d8f0fa"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.LOG3 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xa7eec8574dbfc883575f2b20a80f14f335a809b6"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE(offset=0x80, value=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xac95d1d1c86af90f5a0cf44c104d0da04ab3a467"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP2 - + Op.STOP +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/stStackTests/underflowTestFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="ADD-1", + ), + pytest.param( + 1, + 0, + 0, + id="ADD-2", + ), + pytest.param( + 2, + 0, + 0, + id="MUL-1", + ), + pytest.param( + 3, + 0, + 0, + id="MUL-2", + ), + pytest.param( + 4, + 0, + 0, + id="SUB-1", + ), + pytest.param( + 5, + 0, + 0, + id="SUB-2", + ), + pytest.param( + 6, + 0, + 0, + id="DIV-1", + ), + pytest.param( + 7, + 0, + 0, + id="DIV-2", + ), + pytest.param( + 8, + 0, + 0, + id="SDIV-1", + ), + pytest.param( + 9, + 0, + 0, + id="SDIV-2", + ), + pytest.param( + 10, + 0, + 0, + id="MOD-1", + ), + pytest.param( + 11, + 0, + 0, + id="MOD-2", + ), + pytest.param( + 12, + 0, + 0, + id="SMOD-1", + ), + pytest.param( + 13, + 0, + 0, + id="SMOD-2", + ), + pytest.param( + 14, + 0, + 0, + id="ADDMOD-2", + ), + pytest.param( + 15, + 0, + 0, + id="ADDMOD-3", + ), + pytest.param( + 16, + 0, + 0, + id="MULMOD-2", + ), + pytest.param( + 17, + 0, + 0, + id="MULMOD-3", + ), + pytest.param( + 18, + 0, + 0, + id="EXP-1", + ), + pytest.param( + 19, + 0, + 0, + id="EXP-2", + ), + pytest.param( + 20, + 0, + 0, + id="SIGNEXTEND-1", + ), + pytest.param( + 21, + 0, + 0, + id="SIGNEXTEND-2", + ), + pytest.param( + 22, + 0, + 0, + id="LT-1", + ), + pytest.param( + 23, + 0, + 0, + id="LT-2", + ), + pytest.param( + 24, + 0, + 0, + id="GT-1", + ), + pytest.param( + 25, + 0, + 0, + id="GT-2", + ), + pytest.param( + 26, + 0, + 0, + id="SLT-1", + ), + pytest.param( + 27, + 0, + 0, + id="SLT-2", + ), + pytest.param( + 28, + 0, + 0, + id="SGT-1", + ), + pytest.param( + 29, + 0, + 0, + id="SGT-2", + ), + pytest.param( + 30, + 0, + 0, + id="EQ-1", + ), + pytest.param( + 31, + 0, + 0, + id="EQ-2", + ), + pytest.param( + 32, + 0, + 0, + id="ISZERO-0", + ), + pytest.param( + 33, + 0, + 0, + id="ISZERO-1", + ), + pytest.param( + 34, + 0, + 0, + id="AND-1", + ), + pytest.param( + 35, + 0, + 0, + id="AND-2", + ), + pytest.param( + 36, + 0, + 0, + id="OR-1", + ), + pytest.param( + 37, + 0, + 0, + id="OR-2", + ), + pytest.param( + 38, + 0, + 0, + id="XOR-1", + ), + pytest.param( + 39, + 0, + 0, + id="XOR-2", + ), + pytest.param( + 40, + 0, + 0, + id="NOT-0", + ), + pytest.param( + 41, + 0, + 0, + id="NOT-1", + ), + pytest.param( + 42, + 0, + 0, + id="BYTE-1", + ), + pytest.param( + 43, + 0, + 0, + id="BYTE-2", + ), + pytest.param( + 44, + 0, + 0, + id="SHL-1", + ), + pytest.param( + 45, + 0, + 0, + id="SHL-2", + ), + pytest.param( + 46, + 0, + 0, + id="SHR-1", + ), + pytest.param( + 47, + 0, + 0, + id="SHR-2", + ), + pytest.param( + 48, + 0, + 0, + id="SAR-1", + ), + pytest.param( + 49, + 0, + 0, + id="SAR-2", + ), + pytest.param( + 50, + 0, + 0, + id="SHA3-1", + ), + pytest.param( + 51, + 0, + 0, + id="SHA3-2", + ), + pytest.param( + 52, + 0, + 0, + id="BALANCE-0", + ), + pytest.param( + 53, + 0, + 0, + id="BALANCE-1", + ), + pytest.param( + 54, + 0, + 0, + id="CALLDATALOAD-0", + ), + pytest.param( + 55, + 0, + 0, + id="CALLDATALOAD-1", + ), + pytest.param( + 56, + 0, + 0, + id="CALLDATACOPY-2", + ), + pytest.param( + 57, + 0, + 0, + id="CALLDATACOPY-3", + ), + pytest.param( + 58, + 0, + 0, + id="CODECOPY-2", + ), + pytest.param( + 59, + 0, + 0, + id="CODECOPY-3", + ), + pytest.param( + 60, + 0, + 0, + id="EXTCODESIZE-0", + ), + pytest.param( + 61, + 0, + 0, + id="EXTCODESIZE-1", + ), + pytest.param( + 62, + 0, + 0, + id="EXTCODECOPY-3", + ), + pytest.param( + 63, + 0, + 0, + id="EXTCODECOPY-4", + ), + pytest.param( + 64, + 0, + 0, + id="EXTCODEHASH-0", + ), + pytest.param( + 65, + 0, + 0, + id="EXTCODEHASH-1", + ), + pytest.param( + 66, + 0, + 0, + id="BLOCKHASH-0", + ), + pytest.param( + 67, + 0, + 0, + id="BLOCKHASH-1", + ), + pytest.param( + 68, + 0, + 0, + id="POP-0", + ), + pytest.param( + 69, + 0, + 0, + id="POP-1", + ), + pytest.param( + 70, + 0, + 0, + id="MLOAD-0", + ), + pytest.param( + 71, + 0, + 0, + id="MLOAD-1", + ), + pytest.param( + 72, + 0, + 0, + id="MSTORE-1", + ), + pytest.param( + 73, + 0, + 0, + id="MSTORE-2", + ), + pytest.param( + 74, + 0, + 0, + id="MSTORE8-1", + ), + pytest.param( + 75, + 0, + 0, + id="MSTORE8-2", + ), + pytest.param( + 76, + 0, + 0, + id="SLOAD-0", + ), + pytest.param( + 77, + 0, + 0, + id="SLOAD-1", + ), + pytest.param( + 78, + 0, + 0, + id="LOG0-1", + ), + pytest.param( + 79, + 0, + 0, + id="LOG0-2", + ), + pytest.param( + 80, + 0, + 0, + id="LOG1-2", + ), + pytest.param( + 81, + 0, + 0, + id="LOG1-3", + ), + pytest.param( + 82, + 0, + 0, + id="LOG2-3", + ), + pytest.param( + 83, + 0, + 0, + id="LOG2-4", + ), + pytest.param( + 84, + 0, + 0, + id="LOG3-4", + ), + pytest.param( + 85, + 0, + 0, + id="LOG3-5", + ), + pytest.param( + 86, + 0, + 0, + id="LOG4-5", + ), + pytest.param( + 87, + 0, + 0, + id="LOG4-6", + ), + pytest.param( + 88, + 0, + 0, + id="CREATE-2", + ), + pytest.param( + 89, + 0, + 0, + id="CREATE-3", + ), + pytest.param( + 90, + 0, + 0, + id="CALL-6", + ), + pytest.param( + 91, + 0, + 0, + id="CALL-7", + ), + pytest.param( + 92, + 0, + 0, + id="CALLCODE-6", + ), + pytest.param( + 93, + 0, + 0, + id="CALLCODE-7", + ), + pytest.param( + 94, + 0, + 0, + id="RETURN-1", + ), + pytest.param( + 95, + 0, + 0, + id="RETURN-2", + ), + pytest.param( + 96, + 0, + 0, + id="DELEGATECALL-5", + ), + pytest.param( + 97, + 0, + 0, + id="DELEGATECALL-6", + ), + pytest.param( + 98, + 0, + 0, + id="CREATE2-3", + ), + pytest.param( + 99, + 0, + 0, + id="CREATE2-4", + ), + pytest.param( + 100, + 0, + 0, + id="STATICCALL-5", + ), + pytest.param( + 101, + 0, + 0, + id="STATICCALL-6", + ), + pytest.param( + 102, + 0, + 0, + id="DUP1-0", + ), + pytest.param( + 103, + 0, + 0, + id="DUP1-1", + ), + pytest.param( + 104, + 0, + 0, + id="DUP2-1", + ), + pytest.param( + 105, + 0, + 0, + id="DUP2-2", + ), + pytest.param( + 106, + 0, + 0, + id="DUP3-2", + ), + pytest.param( + 107, + 0, + 0, + id="DUP3-3", + ), + pytest.param( + 108, + 0, + 0, + id="DUP4-3", + ), + pytest.param( + 109, + 0, + 0, + id="DUP4-4", + ), + pytest.param( + 110, + 0, + 0, + id="DUP5-4", + ), + pytest.param( + 111, + 0, + 0, + id="DUP5-5", + ), + pytest.param( + 112, + 0, + 0, + id="DUP6-5", + ), + pytest.param( + 113, + 0, + 0, + id="DUP6-6", + ), + pytest.param( + 114, + 0, + 0, + id="DUP7-6", + ), + pytest.param( + 115, + 0, + 0, + id="DUP7-7", + ), + pytest.param( + 116, + 0, + 0, + id="DUP8-7", + ), + pytest.param( + 117, + 0, + 0, + id="DUP8-8", + ), + pytest.param( + 118, + 0, + 0, + id="DUP9-8", + ), + pytest.param( + 119, + 0, + 0, + id="DUP9-9", + ), + pytest.param( + 120, + 0, + 0, + id="DUP10-9", + ), + pytest.param( + 121, + 0, + 0, + id="DUP10-10", + ), + pytest.param( + 122, + 0, + 0, + id="DUP11-10", + ), + pytest.param( + 123, + 0, + 0, + id="DUP11-11", + ), + pytest.param( + 124, + 0, + 0, + id="DUP12-11", + ), + pytest.param( + 125, + 0, + 0, + id="DUP12-12", + ), + pytest.param( + 126, + 0, + 0, + id="DUP13-12", + ), + pytest.param( + 127, + 0, + 0, + id="DUP13-13", + ), + pytest.param( + 128, + 0, + 0, + id="DUP14-13", + ), + pytest.param( + 129, + 0, + 0, + id="DUP14-14", + ), + pytest.param( + 130, + 0, + 0, + id="DUP15-14", + ), + pytest.param( + 131, + 0, + 0, + id="DUP15-15", + ), + pytest.param( + 132, + 0, + 0, + id="DUP16-15", + ), + pytest.param( + 133, + 0, + 0, + id="DUP16-16", + ), + pytest.param( + 134, + 0, + 0, + id="SWAP1-1", + ), + pytest.param( + 135, + 0, + 0, + id="SWAP1-2", + ), + pytest.param( + 136, + 0, + 0, + id="SWAP2-2", + ), + pytest.param( + 137, + 0, + 0, + id="SWAP2-3", + ), + pytest.param( + 138, + 0, + 0, + id="SWAP3-3", + ), + pytest.param( + 139, + 0, + 0, + id="SWAP3-4", + ), + pytest.param( + 140, + 0, + 0, + id="SWAP4-4", + ), + pytest.param( + 141, + 0, + 0, + id="SWAP4-5", + ), + pytest.param( + 142, + 0, + 0, + id="SWAP5-5", + ), + pytest.param( + 143, + 0, + 0, + id="SWAP5-6", + ), + pytest.param( + 144, + 0, + 0, + id="SWAP6-6", + ), + pytest.param( + 145, + 0, + 0, + id="SWAP6-7", + ), + pytest.param( + 146, + 0, + 0, + id="SWAP7-7", + ), + pytest.param( + 147, + 0, + 0, + id="SWAP7-8", + ), + pytest.param( + 148, + 0, + 0, + id="SWAP8-8", + ), + pytest.param( + 149, + 0, + 0, + id="SWAP8-9", + ), + pytest.param( + 150, + 0, + 0, + id="SWAP9-9", + ), + pytest.param( + 151, + 0, + 0, + id="SWAP9-10", + ), + pytest.param( + 152, + 0, + 0, + id="SWAP10-10", + ), + pytest.param( + 153, + 0, + 0, + id="SWAP10-11", + ), + pytest.param( + 154, + 0, + 0, + id="SWAP11-11", + ), + pytest.param( + 155, + 0, + 0, + id="SWAP11-12", + ), + pytest.param( + 156, + 0, + 0, + id="SWAP12-12", + ), + pytest.param( + 157, + 0, + 0, + id="SWAP12-13", + ), + pytest.param( + 158, + 0, + 0, + id="SWAP13-13", + ), + pytest.param( + 159, + 0, + 0, + id="SWAP13-14", + ), + pytest.param( + 160, + 0, + 0, + id="SWAP14-14", + ), + pytest.param( + 161, + 0, + 0, + id="SWAP14-15", + ), + pytest.param( + 162, + 0, + 0, + id="SWAP15-15", + ), + pytest.param( + 163, + 0, + 0, + id="SWAP15-16", + ), + pytest.param( + 164, + 0, + 0, + id="SWAP16-16", + ), + pytest.param( + 165, + 0, + 0, + id="SWAP16-17", ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xacda51eb0d678a0d52bfa44e4354d8f371f43438"), # noqa: E501 + ], +) +@pytest.mark.pre_alloc_mutable +def test_underflow_test( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP9 - + Op.STOP - ), - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xaeec863f85b9a222ac1ffff774a881d46ec3ad37"), # noqa: E501 + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.CALLCODE( - gas=0x80, - address=0x80, - value=0x80, - args_offset=0x80, - args_size=0x80, - ret_offset=0x80, - ret_size=0x80, - ) - + Op.STOP - ), - storage={0x1: 0x60A7}, + + # Source: raw + # 0x600160015560800100 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.ADD + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xaf6ead2e1a296b787d4b084d30b0733518fd2462"), # noqa: E501 + address=Address(0x3AAC251F428DCD7CB57E01C7DBB8BC3A76D5D628), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.MLOAD(offset=0x80) + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060800100 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.ADD(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xb2e76a6fdfc66a93a2354748ec2d107a818fe73c"), # noqa: E501 + address=Address(0xCC44BEBAEB76A6568AA26AE045F8516FA29B0F9C), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SAR + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560800200 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.MUL + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xb37c41d445866ceb36edc4e6456cae78949c9f97"), # noqa: E501 + address=Address(0xE383F3E5B45FA86D5B37CDFEB146CF903641C76C), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP4 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060800200 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.MUL(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xb44c7350f24bb5482057b53911a1d3c91c263eaf"), # noqa: E501 + address=Address(0xDA3EC48D60F1CF78ECC154FA0C6181CF833916AA), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x600160015560800300 + addr_5 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SUB + Op.STOP, - storage={0x1: 0x60A7}, + storage={1: 24743}, nonce=0, - address=Address("0xb50944b674eb20b0fe99a18bb764b45500c41144"), # noqa: E501 + address=Address(0xB50944B674EB20B0FE99A18BB764B45500C41144), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.BLOCKHASH(block_number=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060800300 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.SUB(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xb8479583829f24d888a0493a9132845b3d6a5305"), # noqa: E501 + address=Address(0xFCC0A7EBCAB4F6D8C91C9062F2CD1148073253D2), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.CALLDATACOPY(dest_offset=0x80, offset=0x80, size=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560800400 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.DIV + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xbc57a2f2490132b8f8980cd242f7dc76b4b3f1c3"), # noqa: E501 + address=Address(0xD54C502B5478A191E9A25BC0D1BA94669C5A5F4F), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.ISZERO(0x80) + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060800400 + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.DIV(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xbe25986eb0ee281252e783918d867630e5119455"), # noqa: E501 + address=Address(0x836D0C3CE82596908935C3CC794DA4603E135B1C), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.EXTCODECOPY( - address=0x80, - dest_offset=0x80, - offset=0x80, - size=0x80, - ) - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560800500 + addr_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.SDIV + + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xbf337119d0b966cc500cd3ff5ab9f3c7fddaa91d"), # noqa: E501 + address=Address(0xC131D96E30386B63F89592008939DD517579F203), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP13 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060800500 + addr_10 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.SDIV(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xbf99ad09fc2f72924cbe6da6020f985e65f78901"), # noqa: E501 + address=Address(0x58CD7CC2B1B1CD459DECC8EBBBD2FCBF9C68CEF9), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SHR + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560800600 + addr_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.MOD + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xc024f0f81b1c2c1ab6362e5ecf79a7be3de2f60e"), # noqa: E501 + address=Address(0x5DF0DD6D100E8DD03D211B55D4A8CC7C7657C038), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SDIV + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060800600 + addr_12 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.MOD(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xc131d96e30386b63f89592008939dd517579f203"), # noqa: E501 + address=Address(0x4E985C32A0F53AB426FE2BCDEA720F0F71A4C1D1), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.CALLDATALOAD + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560800700 + addr_13 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.SMOD + + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xc24790535cfea9781d66d59b81d9b92a576bb9ef"), # noqa: E501 + address=Address(0x9D8EA14AF8D401208EB0687B8AE6F1E5ED6808D4), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x6001600155608060800700 + addr_14 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.SMOD(0x80, 0x80) + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x18C875E7EB21E50BAD81E8940A2272FD6760E0DD), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060800800 + addr_15 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.ADDMOD + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xC51017527CDD990D0C8E146ED36237694024021C), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060800800 + addr_16 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.ADDMOD(0x80, 0x80, 0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x23D790B6F14975963EE30FF45CC4621C7E1EEAF7), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060800900 + addr_17 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.MULMOD + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x0824DE5BB894849FCDD60634275D6BCB8157D4A0), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060800900 + addr_18 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MULMOD(0x80, 0x80, 0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xDA24FFD288756277E556671AE2306B7587EF0C63), # noqa: E501 + ) + # Source: raw + # 0x600160015560800A00 + addr_19 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.EXP + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xc36332f339266d7989b005864c48548883213125"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP6 - + Op.STOP - ), - storage={0x1: 0x60A7}, + storage={1: 24743}, nonce=0, - address=Address("0xc3fce336558080ef8b1a20a209b173e6d163e548"), # noqa: E501 + address=Address(0xC36332F339266D7989B005864C48548883213125), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.ADDMOD - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060800A00 + addr_20 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.EXP(0x80, 0x80) + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x973B5CC7E4678BCB85618B38C910F8ADC68703A6), # noqa: E501 + ) + # Source: raw + # 0x600160015560800B00 + addr_21 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.SIGNEXTEND + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x1E27CC27790C60DDE31215BF2BE1D9A66C41C8FA), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060800B00 + addr_22 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SIGNEXTEND(0x80, 0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x1523B84A9FB4A0D32F070847190D34F912C04C4E), # noqa: E501 + ) + # Source: raw + # 0x600160015560801000 + addr_23 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.LT + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xc51017527cdd990d0c8e146ed36237694024021c"), # noqa: E501 + address=Address(0x77225976113D69EEE2FD870EA02D670BADABDCAB), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.NOT(0x80) + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060801000 + addr_24 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.LT(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xc52f28d6433f203eae23f5f2fc642938a25aafe7"), # noqa: E501 + address=Address(0x2947A82B8AABD0F80C7E215BC066EA92BDD65B31), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP12 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801100 + addr_25 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.GT + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xc698050f674750bbcafa30c433633dee22b8a9d3"), # noqa: E501 + address=Address(0xF9A965915F18A6108B842A40148DC5FD47EC7140), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.LOG1 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060801100 + addr_26 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.GT(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xc70e97b872035f925b07db55b85a3eac04e724d6"), # noqa: E501 + address=Address(0xD60AB3D73FD71F071EDE5EEAD527DB298236B162), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.ISZERO + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801200 + addr_27 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SLT + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xc744cf16cf5e2eb3c97e641e63801b8af3015def"), # noqa: E501 + address=Address(0xE519AC21322361B960BED6CCBBF538840E85F76E), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x6001600155608060801200 + addr_28 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.SLT(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xc74809261edc3edd91ec17dbf4b898233c42ddb4"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.AND(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, - nonce=0, - address=Address("0xc8d2eb10090f9940b7e816e6a278ae2ec943d232"), # noqa: E501 - ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP7 - + Op.STOP - ), - storage={0x1: 0x60A7}, + storage={1: 24743}, nonce=0, - address=Address("0xca098deb4ab81002cddbd3c93261d6d1cb5113b5"), # noqa: E501 + address=Address(0xC74809261EDC3EDD91EC17DBF4B898233C42DDB4), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.ADD(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801300 + addr_29 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SGT + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xcc44bebaeb76a6568aa26ae045f8516fa29b0f9c"), # noqa: E501 + address=Address(0xCC9FFEDE5B0D7F58002F852181D0B4B35C0DABEE), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SGT + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060801300 + addr_30 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.SGT(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xcc9ffede5b0d7f58002f852181d0b4b35c0dabee"), # noqa: E501 + address=Address(0x0BDF35FC6C5C2A3E1E9711112FF7EF71E2419532), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP15 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801400 + addr_31 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.EQ + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xcd63f547ee166a3feb23a945f488ccc5ee921eef"), # noqa: E501 + address=Address(0x2B3BC02CABBA968640FD86614F855A406B5C32E2), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.LOG1(offset=0x80, size=0x80, topic_1=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060801400 + addr_32 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.EQ(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xd051afb76160844eb32df55e052044de76250ebc"), # noqa: E501 + address=Address(0x5029D082367AA4510D5A6E3B5CF83CD41E05C7F4), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP6 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x60016001551500 + addr_33 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.ISZERO + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xd435f13e92f7db306b9b32e1d61db6ecd9c135bd"), # noqa: E501 + address=Address(0xC744CF16CF5E2EB3C97E641E63801B8AF3015DEF), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.DIV + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801500 + addr_34 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.ISZERO(0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xd54c502b5478a191e9a25bc0d1ba94669c5a5f4f"), # noqa: E501 + address=Address(0xBE25986EB0EE281252E783918D867630E5119455), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP11 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801600 + addr_35 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.AND + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xd5765c6e58b373df78d7311fe80a67de0ddf987e"), # noqa: E501 + address=Address(0x1029B338AA781A64308000FA49515769618F176E), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.GT(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060801600 + addr_36 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.AND(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xd60ab3d73fd71f071ede5eead527db298236b162"), # noqa: E501 + address=Address(0xC8D2EB10090F9940B7E816E6A278AE2EC943D232), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP3 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801700 + addr_37 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.OR + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xd6bb0ea7c7f60c967d3deeeaaba555daafbc52cb"), # noqa: E501 + address=Address(0x7D00C3C2CBB3B64BBB4F0F518EF779F6DF875F6E), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP9 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060801700 + addr_38 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.OR(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xd9292de838cd8839d91b496d8a9d25ac102cd821"), # noqa: E501 + address=Address(0xE8565720BA47032E7B0EDCB4BCE06303F83FF450), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MULMOD(0x80, 0x80, 0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801800 + addr_39 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.XOR + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xda24ffd288756277e556671ae2306b7587ef0c63"), # noqa: E501 + address=Address(0x4C47590AB3F1DFE486900D0EC41510F85545B182), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.MUL(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060801800 + addr_40 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.XOR(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xda3ec48d60f1cf78ecc154fa0c6181cf833916aa"), # noqa: E501 + address=Address(0x9B0EDD3CF5B6CCC09B3C9D15646EF629A7767BA8), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.LOG2 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x60016001551900 + addr_41 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.NOT + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xdac05b6fc9dc9c0b65ecc5032f2313f7a7dd2586"), # noqa: E501 + address=Address(0x10DF9321D0355308A994D3709E30609BD72655B7), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP8 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801900 + addr_42 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.NOT(0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xdcb6a7c9b64471effdd8bbf72d32d271deeec8c5"), # noqa: E501 + address=Address(0xC52F28D6433F203EAE23F5F2FC642938A25AAFE7), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.MUL + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801A00 + addr_43 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.BYTE + + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xe383f3e5b45fa86d5b37cdfeb146cf903641c76c"), # noqa: E501 + address=Address(0x1BE71F78FCFBC7E4002DB615E7FC878E7F090C50), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SLT + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060801A00 + addr_44 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.BYTE(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xe519ac21322361b960bed6ccbbf538840e85f76e"), # noqa: E501 + address=Address(0xF04FE60AD6F92FA14A53A0882943A66EA4E49EF1), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP5 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801B00 + addr_45 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SHL + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xe594a68387d42d18bb8e460cef74876f05985e3a"), # noqa: E501 + address=Address(0xA7B1CD72EBC0B8F3E353885EF17B04AA28D8F0FA), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.DUP2 + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060801B00 + addr_46 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.SHL(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xe6d703c31f83bc617a62f78e3c3a615001d3dd2c"), # noqa: E501 + address=Address(0x701A7D6AA6EF15A38FD8311E074A96C09B434A2A), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.OR(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801C00 + addr_47 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SHR + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xe8565720ba47032e7b0edcb4bce06303f83ff450"), # noqa: E501 + address=Address(0xC024F0F81B1C2C1AB6362E5ECF79A7BE3DE2F60E), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.SWAP2 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060801C00 + addr_48 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.SHR(0x80, 0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xe98c1ab0ff23d5c5005c639781d1a635b9af887b"), # noqa: E501 + address=Address(0xA49E66F497A85D949D334A20724BC6B75DA3D3AE), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.MSTORE - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560801D00 + addr_49 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SAR + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xec26e590a6f5da137088aee0c4d6b0f8870eb1ad"), # noqa: E501 + address=Address(0xB37C41D445866CEB36EDC4E6456CAE78949C9F97), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.SHA3 + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x6001600155608060801D00 + addr_50 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.SAR(0x80, 0x80) + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x8E689EEE6C7387A37612A42F8EE44DD7A823FB5C), # noqa: E501 + ) + # Source: raw + # 0x600160015560802000 + addr_51 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.SHA3 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xEC8B92806C1AD0F2DCF5B0207DB7EDDB464DF0CA), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060802000 + addr_52 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SHA3(offset=0x80, size=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x11FFE11BB835B6CE89FC91D65B1F6C0919B07A1D), # noqa: E501 + ) + # Source: raw + # 0x60016001553100 + addr_53 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.BALANCE + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xec8b92806c1ad0f2dcf5b0207db7eddb464df0ca"), # noqa: E501 + address=Address(0x943B918E625B3ECB5D186D820A60C8EEBD1C71EC), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.STATICCALL - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560803100 + addr_54 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.BALANCE(address=0x80) + + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xee8790666225df6f97ae194e20853f2907bbaebc"), # noqa: E501 + address=Address(0x58A413DDE8DDD92C793FCA0B18CE89BD3DFBA0E8), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.BYTE(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x60016001553500 + addr_55 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.CALLDATALOAD + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xC24790535CFEA9781D66D59B81D9B92A576BB9EF), # noqa: E501 + ) + # Source: raw + # 0x600160015560803500 + addr_56 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.CALLDATALOAD(offset=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x488A9B0F0E885B96F67C113F0979799F801D70D3), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060803700 + addr_57 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.CALLDATACOPY + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x59F8C0328E432DF7467313742E1EFFC9EE2BAC4E), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060803700 + addr_58 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.CALLDATACOPY(dest_offset=0x80, offset=0x80, size=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xBC57A2F2490132B8F8980CD242F7DC76B4B3F1C3), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060803900 + addr_59 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.CODECOPY + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x50A33DA19F003AEC73BC65754E12A7F94C9B1C34), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060803900 + addr_60 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.CODECOPY(dest_offset=0x80, offset=0x80, size=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x866777EADDC2BE0A50B3D3F76F2064876EA42802), # noqa: E501 + ) + # Source: raw + # 0x60016001553B00 + addr_61 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.EXTCODESIZE + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x664F23C7AF786DC61B6A068B3F9BDE0051716384), # noqa: E501 + ) + # Source: raw + # 0x600160015560803B00 + addr_62 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.EXTCODESIZE(address=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x75A2A8AFA2446EC88A716EF7074351ACCFACCADF), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060803C00 + addr_63 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 3 + + Op.EXTCODECOPY + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x93D0507F681BA7DE662D14AE8DE922D161698C8E), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060803C00 + addr_64 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.EXTCODECOPY( + address=0x80, dest_offset=0x80, offset=0x80, size=0x80 + ) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xBF337119D0B966CC500CD3FF5AB9F3C7FDDAA91D), # noqa: E501 + ) + # Source: raw + # 0x60016001553F00 + addr_65 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.EXTCODEHASH + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xf04fe60ad6f92fa14a53a0882943a66ea4e49ef1"), # noqa: E501 + address=Address(0x7142D01ED8802179659127719398FA679AC41292), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.CREATE2(value=0x80, offset=0x80, size=0x80, salt=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560803F00 + addr_66 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.EXTCODEHASH(address=0x80) + + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xf1cfc656c8d8e2bcfdfea0e0e9cabcc0b743dd19"), # noqa: E501 + address=Address(0xA3D5AECBF6541CD2A0DF5AE2E1294ABC682180E6), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP13 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x60016001554000 + addr_67 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.BLOCKHASH + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xf2578fadcdd5cd7b55f7046c88a7a77e195a7b17"), # noqa: E501 + address=Address(0x6F72794F9C9D8A693FF6C1134D611D353678FCF0), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.CALL - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560804000 + addr_68 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.BLOCKHASH(block_number=0x80) + + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xf465862e7bf5085fb692e16d3181afaba87550cc"), # noqa: E501 + address=Address(0xB8479583829F24D888A0493A9132845B3D6A5305), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP14 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x60016001555000 + addr_69 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.POP + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xf84f405591be4ab47ca2ca1841dcb57cc43f076f"), # noqa: E501 + address=Address(0x5F750BAD38B37C4EBCC5FEE4EED5639283A09A38), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.PUSH1[0x80] + Op.GT + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560805000 + addr_70 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.POP(0x80) + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xf9a965915f18a6108b842a40148dc5fd47ec7140"), # noqa: E501 + address=Address(0x14ED6C71EBCCDF69007D79FE699D368102533929), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.LOG0(offset=0x80, size=0x80) - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x60016001555100 + addr_71 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.MLOAD + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xfb5dbfcd64b16ab0129b99278b9d5ccfb9b605b9"), # noqa: E501 + address=Address(0x92BFB1AA73E92C1F591D8B6854514DF6672BBB90), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.PUSH1[0x80] - + Op.DUP8 - + Op.STOP - ), - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560805100 + addr_72 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.MLOAD(offset=0x80) + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xB2E76A6FDFC66A93A2354748EC2D107A818FE73C), # noqa: E501 + ) + # Source: raw + # 0x600160015560805200 + addr_73 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.MSTORE + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xEC26E590A6F5DA137088AEE0C4D6B0F8870EB1AD), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060805200 + addr_74 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE(offset=0x80, value=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xAC95D1D1C86AF90F5A0CF44C104D0DA04AB3A467), # noqa: E501 + ) + # Source: raw + # 0x600160015560805300 + addr_75 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.MSTORE8 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xA1903DB9AA9AA2665CA7DA383DB9291D93F1D576), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060805300 + addr_76 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x80, value=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x891E304C4126F24BF762DF079C7683420B16FF57), # noqa: E501 + ) + # Source: raw + # 0x60016001555400 + addr_77 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.SLOAD + Op.STOP, + storage={1: 24743}, nonce=0, - address=Address("0xfbc09ac707fcca4ae8e348f01457ea18825bd139"), # noqa: E501 + address=Address(0x7AEDAF23D4E9AFB84BAA67824CEBFEC01339AFC1), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.SUB(0x80, 0x80) + Op.STOP, - storage={0x1: 0x60A7}, + # Source: raw + # 0x600160015560805400 + addr_78 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.SLOAD(key=0x80) + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x5096DB6B2EA6ACE8E2AEB3610FAAAD183A51CA8D), # noqa: E501 + ) + # Source: raw + # 0x60016001556080A000 + addr_79 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.LOG0 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x17F25A871EA2EA564CFFE99D31DEDCF1FCFF0A63), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080A000 + addr_80 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.LOG0(offset=0x80, size=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xFB5DBFCD64B16AB0129B99278B9D5CCFB9B605B9), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080A100 + addr_81 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.LOG1 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xC70E97B872035F925B07DB55B85A3EAC04E724D6), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080A100 + addr_82 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.LOG1(offset=0x80, size=0x80, topic_1=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xD051AFB76160844EB32DF55E052044DE76250EBC), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080A200 + addr_83 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 3 + + Op.LOG2 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xDAC05B6FC9DC9C0B65ECC5032F2313F7A7DD2586), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080A200 + addr_84 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.LOG2(offset=0x80, size=0x80, topic_1=0x80, topic_2=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x3FD249E0BE1D7BF6386B7DC90D92BF95F9F98BC4), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080A300 + addr_85 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 4 + + Op.LOG3 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xA7EEC8574DBFC883575F2B20A80F14F335A809B6), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080A300 + addr_86 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.LOG3( + offset=0x80, size=0x80, topic_1=0x80, topic_2=0x80, topic_3=0x80 + ) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x22D7D32459B46A9B69542C31545CB3A0D887064C), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080A400 + addr_87 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 5 + + Op.LOG4 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x715F213243CD7BAEEFD3A52434353015A4FC8DE2), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080A400 + addr_88 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.LOG4( + offset=0x80, + size=0x80, + topic_1=0x80, + topic_2=0x80, + topic_3=0x80, + topic_4=0x80, + ) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x79D8AEDD70F8A99A15E3083D3335A028D69AF9FA), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080F000 + addr_89 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.CREATE + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x16A80F6C0BBED421A0D6B392E891A52FCA715213), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080F000 + addr_90 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.CREATE(value=0x80, offset=0x80, size=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x9BD8E7C30198BD73A39E51D6866B72026272773E), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080F100 + addr_91 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 6 + + Op.CALL + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xF465862E7BF5085FB692E16D3181AFABA87550CC), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080F100 + addr_92 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.CALL( + gas=0x80, + address=0x80, + value=0x80, + args_offset=0x80, + args_size=0x80, + ret_offset=0x80, + ret_size=0x80, + ) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x8CE099E0D9E5E5153E578F7CBFA9FD071B714142), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080F200 + addr_93 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 6 + + Op.CALLCODE + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x8E3AB300E3D93AC55727C65510FF8BD96EA76928), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080F200 + addr_94 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.CALLCODE( + gas=0x80, + address=0x80, + value=0x80, + args_offset=0x80, + args_size=0x80, + ret_offset=0x80, + ret_size=0x80, + ) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xAF6EAD2E1A296B787D4B084D30B0733518FD2462), # noqa: E501 + ) + # Source: raw + # 0x60016001556080F300 + addr_95 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.RETURN + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x84798B4FB35D09DB14ECAB9D65A4A280E483FE29), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080F300 + addr_96 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.RETURN(offset=0x80, size=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x7D002CACBE954F4360FE634FBE23F5B67C686CBF), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080F400 + addr_97 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 5 + + Op.DELEGATECALL + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x799721E570BCD85BE50C0D7A399AF369BE561FBE), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080F400 + addr_98 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.DELEGATECALL( + gas=0x80, + address=0x80, + args_offset=0x80, + args_size=0x80, + ret_offset=0x80, + ret_size=0x80, + ) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x9386C3CCE8CAB9F8C3BC1A89C82A0E55588CED9D), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080F500 + addr_99 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 3 + + Op.CREATE2 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x933CB75E0E03A16AA3D3E7114D269A6FE4DB46F9), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080F500 + addr_100 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.CREATE2(value=0x80, offset=0x80, size=0x80, salt=0x80) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xF1CFC656C8D8E2BCFDFEA0E0E9CABCC0B743DD19), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080FA00 + addr_101 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 5 + + Op.STATICCALL + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xEE8790666225DF6F97AE194E20853F2907BBAEBC), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080FA00 + addr_102 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.STATICCALL( + gas=0x80, + address=0x80, + args_offset=0x80, + args_size=0x80, + ret_offset=0x80, + ret_size=0x80, + ) + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x45952ED2C957691AE4DE05032B429A8A0F0CED5B), # noqa: E501 + ) + # Source: raw + # 0x60016001558000 + addr_103 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.DUP1 + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x8CEB89E3037B7AC8B58E3765EA3EB65F1A9E4A7C), # noqa: E501 + ) + # Source: raw + # 0x600160015560808000 + addr_104 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.DUP1 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x5782C86BE10D218C82D509F3257E9DFDBF6DEAD8), # noqa: E501 + ) + # Source: raw + # 0x600160015560808100 + addr_105 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.DUP2 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xE6D703C31F83BC617A62F78E3C3A615001D3DD2C), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060808100 + addr_106 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.DUP2 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x113855E9AA747F6AE6FD74667D7A288B2288CAF6), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060808200 + addr_107 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.DUP3 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x2C2938555E004CBB0CE4481BAD8A15857D983D06), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060808200 + addr_108 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 3 + + Op.DUP3 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x63E21AD1535B95AAEED05E893B5B7947D6B0F15A), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060808300 + addr_109 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 3 + + Op.DUP4 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x5BCE589F39F0EFF323BCBEAC539DC9FD0F429BD2), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060808300 + addr_110 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 4 + + Op.DUP4 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x8030A1EB20B388143F12FB547B5E53A4C164A621), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060808400 + addr_111 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 4 + + Op.DUP5 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x5BB0E367BEC7D734CB0FC9C27EB85AF479B39673), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060808400 + addr_112 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 5 + + Op.DUP5 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xE594A68387D42D18BB8E460CEF74876F05985E3A), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060808500 + addr_113 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 5 + + Op.DUP6 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x9A90A463D916B189EEE17B331F27A54142B79961), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060808500 + addr_114 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 6 + + Op.DUP6 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x029D8125096A81237BE857845270AB34AFAB88AC), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060808600 + addr_115 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 6 + + Op.DUP7 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x0D423FA4896ACA0A02CBA41462E754C3241427F0), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060808600 + addr_116 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 7 + + Op.DUP7 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xCA098DEB4AB81002CDDBD3C93261D6D1CB5113B5), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060808700 + addr_117 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 7 + + Op.DUP8 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xFBC09AC707FCCA4AE8E348F01457EA18825BD139), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060808700 + addr_118 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 8 + + Op.DUP8 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x662D9872215DDE44EC296918A0FD96C45C97B332), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060808800 + addr_119 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 8 + + Op.DUP9 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xAEEC863F85B9A222AC1FFFF774A881D46EC3AD37), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060808800 + addr_120 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 9 + + Op.DUP9 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x5D4FA1456FBF03872B922DC0E8E48EC49F5FAF9E), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060808900 + addr_121 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 9 + + Op.DUP10 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x4DA0082F56C3CAE860EB6FB0FE36BC17CFBA2C27), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060806080608060808900 + addr_122 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 10 + + Op.DUP10 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x444A2203A30517F4A8BECCA90192B193A7B6ECF3), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060806080608060808a00 + addr_123 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 10 + + Op.DUP11 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xD5765C6E58B373DF78D7311FE80A67DE0DDF987E), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060806080608060808a00 + addr_124 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 11 + + Op.DUP11 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x742BF896D715C00EB77F340FCAA65BACAEE2467C), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060806080608060808b00 + addr_125 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 11 + + Op.DUP12 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xC698050F674750BBCAFA30C433633DEE22B8A9D3), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060806080608060808b00 + addr_126 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 12 + + Op.DUP12 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x6CE1B9FEDCA232F6829F0831ED2C23BD9C2F99A2), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060806080608060808c00 + addr_127 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 12 + + Op.DUP13 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x91605658E9533E831C9F855874FAA14C363DC795), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060806080608060806080608060808c00 + addr_128 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 13 + + Op.DUP13 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xF2578FADCDD5CD7B55F7046C88A7A77E195A7B17), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060806080608060806080608060808d00 + addr_129 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 13 + + Op.DUP14 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x34FB465A898787F7ED08BC2F5DE86A896F8BC4DA), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060806080608060806080608060808d00 + addr_130 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 14 + + Op.DUP14 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xF84F405591BE4AB47CA2CA1841DCB57CC43F076F), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060806080608060806080608060808e00 + addr_131 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 14 + + Op.DUP15 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x2CD79F853EC648B7C3EC3FAC7C7CE82D7D83EA1E), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060806080608060806080608060808e00 # noqa: E501 + addr_132 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 15 + + Op.DUP15 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x0CD1B3E02E0BC556B0C7D4779C69A9A383C0C7CD), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060806080608060806080608060808f00 # noqa: E501 + addr_133 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 15 + + Op.DUP16 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x175DE68007E136237A4F26B6983DBCE27A87FB5B), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060806080608060806080608060806080608060808f00 # noqa: E501 + addr_134 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 16 + + Op.DUP16 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x9C8FC002A1DCD0EDCF93C20DC9D674031DC5A28D), # noqa: E501 + ) + # Source: raw + # 0x600160015560809000 + addr_135 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] + + Op.SWAP1 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x8B62B65DB3BD1BE727290B490C679C0E84585498), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060809000 + addr_136 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.SWAP1 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x6C6BC4F9CCDE5DA559A3E5DDDB6B60A8675C0076), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060809100 + addr_137 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 2 + + Op.SWAP2 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xE98C1AB0FF23D5C5005C639781D1A635B9AF887B), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060809100 + addr_138 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 3 + + Op.SWAP2 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xACDA51EB0D678A0D52BFA44E4354D8F371F43438), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060809200 + addr_139 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 3 + + Op.SWAP3 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x9768A9BB367830F3331B0C09D7183C131E44A7FC), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060809200 + addr_140 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 4 + + Op.SWAP3 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xD6BB0EA7C7F60C967D3DEEEAABA555DAAFBC52CB), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060809300 + addr_141 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 4 + + Op.SWAP4 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x19598106D1CEDE298B275523E64593C95D5C431C), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060809300 + addr_142 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 5 + + Op.SWAP4 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xB44C7350F24BB5482057B53911A1D3C91C263EAF), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060809400 + addr_143 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 5 + + Op.SWAP5 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x0D0E14670E6E8718377BC2FAE6B6814D558D3DEE), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060809400 + addr_144 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 6 + + Op.SWAP5 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xA15FE2669809DDC6640E94572907A53411B2AA6E), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060809500 + addr_145 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 6 + + Op.SWAP6 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xD435F13E92F7DB306B9B32E1D61DB6ECD9C135BD), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060809500 + addr_146 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 7 + + Op.SWAP6 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xC3FCE336558080EF8B1A20A209B173E6D163E548), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060809600 + addr_147 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 7 + + Op.SWAP7 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x620D85C5ACC41CBFA47A763BBB9E326054B1819D), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060809600 + addr_148 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 8 + + Op.SWAP7 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x9B9D04770C429114574C11780FC9658D3257E80B), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060809700 + addr_149 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 8 + + Op.SWAP8 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x44C420A5B1A9071EB7FF6F1027C167C002C7F355), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060809700 + addr_150 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 9 + + Op.SWAP8 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xDCB6A7C9B64471EFFDD8BBF72D32D271DEEEC8C5), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060809800 + addr_151 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 9 + + Op.SWAP9 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x3AD6053AF54D703F7E7229BD5BF120C908C8513D), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060806080608060809800 + addr_152 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 10 + + Op.SWAP9 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xD9292DE838CD8839D91B496D8A9D25AC102CD821), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060806080608060809900 + addr_153 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 10 + + Op.SWAP10 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x2AC63027195DA2EE9CE4CC1DFF225CA97D3C2F0C), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060806080608060809900 + addr_154 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 11 + + Op.SWAP10 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x723A69480F074F5DF2544CACF63347FB5F0F36D1), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060806080608060809a00 + addr_155 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 11 + + Op.SWAP11 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x73F7599A216D98D9FF1559788A9771D78895A6A3), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060806080608060809a00 + addr_156 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 12 + + Op.SWAP11 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x4289634EBF793179377FAA7140610BB80DB21B45), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060806080608060809b00 + addr_157 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 12 + + Op.SWAP12 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x66A62A0AF37886B9B057A1BAD714665525E7687F), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060806080608060806080608060809b00 + addr_158 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 13 + + Op.SWAP12 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x1BB096578FE2F1BE79E03EA88551A8BDD0692BEA), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060806080608060806080608060809c00 + addr_159 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 13 + + Op.SWAP13 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x745A759F45602915EAB7BDC87BC8D1C1675D4E29), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060806080608060806080608060809c00 + addr_160 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 14 + + Op.SWAP13 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xBF99AD09FC2F72924CBE6DA6020F985E65F78901), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060806080608060806080608060809d00 + addr_161 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 14 + + Op.SWAP14 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x727FD27941DBE4D8F1E2E9DAA0DF70288FD73772), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060806080608060806080608060809d00 # noqa: E501 + addr_162 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 15 + + Op.SWAP14 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x1EB3790937F47FE31A45F55BD82F50107E7A463A), # noqa: E501 + ) + # Source: raw + # 0x60016001556080608060806080608060806080608060806080608060806080608060809e00 # noqa: E501 + addr_163 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 15 + + Op.SWAP15 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0xCD63F547EE166A3FEB23A945F488CCC5EE921EEF), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060806080608060806080608060806080608060809e00 # noqa: E501 + addr_164 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 16 + + Op.SWAP15 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x8FD69485A26470A721F6DD7E685DA39EE2A3DC1C), # noqa: E501 + ) + # Source: raw + # 0x600160015560806080608060806080608060806080608060806080608060806080608060809f00 # noqa: E501 + addr_165 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 16 + + Op.SWAP16 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x6F631AE51EAD55C8526AFF13665FE5DD055E3561), # noqa: E501 + ) + # Source: raw + # 0x6001600155608060806080608060806080608060806080608060806080608060806080608060809f00 # noqa: E501 + addr_166 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x80] * 17 + + Op.SWAP16 + + Op.STOP, + storage={1: 24743}, + nonce=0, + address=Address(0x1DEBD2AFBA875DB8938CE64218B40FB210E1DE0A), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0x60A7 + # (call (gas) $4 0 0 0 0 0) + # [[1]] 0x60A7 + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x60A7) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x4), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x1, value=0x60A7) + + Op.STOP, nonce=0, - address=Address("0xfcc0a7ebcab4f6d8c91c9062f2cd1148073253d2"), # noqa: E501 + address=Address(0x4C5F839D523E76FC3837E085A3E1538CD36E288A), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_2: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_3: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_4: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_5: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_6: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_7: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_8: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_9: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_10: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_11: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [11], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_12: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [12], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_13: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [13], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_14: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [14], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_15: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [15], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_16: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [16], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_17: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [17], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_18: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [18], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_19: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [19], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_20: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [20], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_21: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [21], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_22: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [22], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_23: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [23], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_24: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [24], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_25: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [25], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_26: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [26], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_27: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [27], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_28: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [28], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_29: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [29], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_30: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [30], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_31: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [31], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_32: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [32], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_33: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [33], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_34: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [34], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_35: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [35], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_36: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [36], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_37: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [37], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_38: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [38], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_39: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [39], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_40: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [40], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_41: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [41], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_42: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [42], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_43: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [43], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_44: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [44], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_45: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [45], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_46: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [46], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_47: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [47], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_48: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [48], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_49: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [49], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_50: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [50], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_51: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [51], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_52: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [52], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_53: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [53], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_54: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [54], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_55: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [55], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_56: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [56], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_57: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [57], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_58: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [58], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_59: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [59], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_60: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [60], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_61: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [61], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_62: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [62], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_63: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [63], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_64: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [64], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_65: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [65], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_66: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [66], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_67: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [67], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_68: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [68], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_69: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [69], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_70: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [70], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_71: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [71], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_72: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [72], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_73: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [73], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_74: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [74], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_75: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [75], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_76: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [76], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_77: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [77], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_78: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [78], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_79: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [79], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_80: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [80], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_81: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [81], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_82: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [82], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_83: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [83], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_84: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [84], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_85: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [85], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_86: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [86], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_87: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [87], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_88: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [88], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_89: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [89], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_90: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [90], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_91: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [91], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_92: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [92], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_93: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [93], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_94: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [94], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_95: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [95], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_96: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [96], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_97: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [97], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_98: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [98], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_99: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [99], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_100: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [100], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_101: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [101], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_102: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [102], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_103: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [103], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_104: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [104], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_105: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [105], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_106: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [106], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_107: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [107], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_108: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [108], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_109: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [109], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_110: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [110], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_111: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [111], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_112: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [112], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_113: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [113], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_114: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [114], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_115: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [115], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_116: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [116], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_117: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [117], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_118: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [118], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_119: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [119], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_120: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [120], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_121: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [121], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_122: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [122], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_123: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [123], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_124: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [124], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_125: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [125], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_126: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [126], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_127: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [127], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_128: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [128], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_129: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [129], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_130: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [130], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_131: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [131], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_132: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [132], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_133: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [133], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_134: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [134], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_135: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [135], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_136: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [136], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_137: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [137], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_138: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [138], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_139: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [139], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_140: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [140], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_141: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [141], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_142: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [142], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_143: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [143], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_144: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [144], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_145: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [145], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_146: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [146], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_147: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [147], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_148: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [148], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_149: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [149], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_150: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [150], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_151: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [151], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_152: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [152], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_153: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [153], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_154: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [154], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_155: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [155], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_156: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [156], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_157: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [157], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_158: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [158], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_159: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [159], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_160: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [160], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_161: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [161], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_162: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [162], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_163: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [163], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_164: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [164], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_165: Account(storage={1: 24743}), + }, + }, + { + "indexes": {"data": [165], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 24743, 1: 24743}), + addr_166: Account(storage={1: 1}), + }, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(addr, left_padding=True), + Bytes("693c6139") + Hash(addr_2, left_padding=True), + Bytes("693c6139") + Hash(addr_3, left_padding=True), + Bytes("693c6139") + Hash(addr_4, left_padding=True), + Bytes("693c6139") + Hash(addr_5, left_padding=True), + Bytes("693c6139") + Hash(addr_6, left_padding=True), + Bytes("693c6139") + Hash(addr_7, left_padding=True), + Bytes("693c6139") + Hash(addr_8, left_padding=True), + Bytes("693c6139") + Hash(addr_9, left_padding=True), + Bytes("693c6139") + Hash(addr_10, left_padding=True), + Bytes("693c6139") + Hash(addr_11, left_padding=True), + Bytes("693c6139") + Hash(addr_12, left_padding=True), + Bytes("693c6139") + Hash(addr_13, left_padding=True), + Bytes("693c6139") + Hash(addr_14, left_padding=True), + Bytes("693c6139") + Hash(addr_15, left_padding=True), + Bytes("693c6139") + Hash(addr_16, left_padding=True), + Bytes("693c6139") + Hash(addr_17, left_padding=True), + Bytes("693c6139") + Hash(addr_18, left_padding=True), + Bytes("693c6139") + Hash(addr_19, left_padding=True), + Bytes("693c6139") + Hash(addr_20, left_padding=True), + Bytes("693c6139") + Hash(addr_21, left_padding=True), + Bytes("693c6139") + Hash(addr_22, left_padding=True), + Bytes("693c6139") + Hash(addr_23, left_padding=True), + Bytes("693c6139") + Hash(addr_24, left_padding=True), + Bytes("693c6139") + Hash(addr_25, left_padding=True), + Bytes("693c6139") + Hash(addr_26, left_padding=True), + Bytes("693c6139") + Hash(addr_27, left_padding=True), + Bytes("693c6139") + Hash(addr_28, left_padding=True), + Bytes("693c6139") + Hash(addr_29, left_padding=True), + Bytes("693c6139") + Hash(addr_30, left_padding=True), + Bytes("693c6139") + Hash(addr_31, left_padding=True), + Bytes("693c6139") + Hash(addr_32, left_padding=True), + Bytes("693c6139") + Hash(addr_33, left_padding=True), + Bytes("693c6139") + Hash(addr_34, left_padding=True), + Bytes("693c6139") + Hash(addr_35, left_padding=True), + Bytes("693c6139") + Hash(addr_36, left_padding=True), + Bytes("693c6139") + Hash(addr_37, left_padding=True), + Bytes("693c6139") + Hash(addr_38, left_padding=True), + Bytes("693c6139") + Hash(addr_39, left_padding=True), + Bytes("693c6139") + Hash(addr_40, left_padding=True), + Bytes("693c6139") + Hash(addr_41, left_padding=True), + Bytes("693c6139") + Hash(addr_42, left_padding=True), + Bytes("693c6139") + Hash(addr_43, left_padding=True), + Bytes("693c6139") + Hash(addr_44, left_padding=True), + Bytes("693c6139") + Hash(addr_45, left_padding=True), + Bytes("693c6139") + Hash(addr_46, left_padding=True), + Bytes("693c6139") + Hash(addr_47, left_padding=True), + Bytes("693c6139") + Hash(addr_48, left_padding=True), + Bytes("693c6139") + Hash(addr_49, left_padding=True), + Bytes("693c6139") + Hash(addr_50, left_padding=True), + Bytes("693c6139") + Hash(addr_51, left_padding=True), + Bytes("693c6139") + Hash(addr_52, left_padding=True), + Bytes("693c6139") + Hash(addr_53, left_padding=True), + Bytes("693c6139") + Hash(addr_54, left_padding=True), + Bytes("693c6139") + Hash(addr_55, left_padding=True), + Bytes("693c6139") + Hash(addr_56, left_padding=True), + Bytes("693c6139") + Hash(addr_57, left_padding=True), + Bytes("693c6139") + Hash(addr_58, left_padding=True), + Bytes("693c6139") + Hash(addr_59, left_padding=True), + Bytes("693c6139") + Hash(addr_60, left_padding=True), + Bytes("693c6139") + Hash(addr_61, left_padding=True), + Bytes("693c6139") + Hash(addr_62, left_padding=True), + Bytes("693c6139") + Hash(addr_63, left_padding=True), + Bytes("693c6139") + Hash(addr_64, left_padding=True), + Bytes("693c6139") + Hash(addr_65, left_padding=True), + Bytes("693c6139") + Hash(addr_66, left_padding=True), + Bytes("693c6139") + Hash(addr_67, left_padding=True), + Bytes("693c6139") + Hash(addr_68, left_padding=True), + Bytes("693c6139") + Hash(addr_69, left_padding=True), + Bytes("693c6139") + Hash(addr_70, left_padding=True), + Bytes("693c6139") + Hash(addr_71, left_padding=True), + Bytes("693c6139") + Hash(addr_72, left_padding=True), + Bytes("693c6139") + Hash(addr_73, left_padding=True), + Bytes("693c6139") + Hash(addr_74, left_padding=True), + Bytes("693c6139") + Hash(addr_75, left_padding=True), + Bytes("693c6139") + Hash(addr_76, left_padding=True), + Bytes("693c6139") + Hash(addr_77, left_padding=True), + Bytes("693c6139") + Hash(addr_78, left_padding=True), + Bytes("693c6139") + Hash(addr_79, left_padding=True), + Bytes("693c6139") + Hash(addr_80, left_padding=True), + Bytes("693c6139") + Hash(addr_81, left_padding=True), + Bytes("693c6139") + Hash(addr_82, left_padding=True), + Bytes("693c6139") + Hash(addr_83, left_padding=True), + Bytes("693c6139") + Hash(addr_84, left_padding=True), + Bytes("693c6139") + Hash(addr_85, left_padding=True), + Bytes("693c6139") + Hash(addr_86, left_padding=True), + Bytes("693c6139") + Hash(addr_87, left_padding=True), + Bytes("693c6139") + Hash(addr_88, left_padding=True), + Bytes("693c6139") + Hash(addr_89, left_padding=True), + Bytes("693c6139") + Hash(addr_90, left_padding=True), + Bytes("693c6139") + Hash(addr_91, left_padding=True), + Bytes("693c6139") + Hash(addr_92, left_padding=True), + Bytes("693c6139") + Hash(addr_93, left_padding=True), + Bytes("693c6139") + Hash(addr_94, left_padding=True), + Bytes("693c6139") + Hash(addr_95, left_padding=True), + Bytes("693c6139") + Hash(addr_96, left_padding=True), + Bytes("693c6139") + Hash(addr_97, left_padding=True), + Bytes("693c6139") + Hash(addr_98, left_padding=True), + Bytes("693c6139") + Hash(addr_99, left_padding=True), + Bytes("693c6139") + Hash(addr_100, left_padding=True), + Bytes("693c6139") + Hash(addr_101, left_padding=True), + Bytes("693c6139") + Hash(addr_102, left_padding=True), + Bytes("693c6139") + Hash(addr_103, left_padding=True), + Bytes("693c6139") + Hash(addr_104, left_padding=True), + Bytes("693c6139") + Hash(addr_105, left_padding=True), + Bytes("693c6139") + Hash(addr_106, left_padding=True), + Bytes("693c6139") + Hash(addr_107, left_padding=True), + Bytes("693c6139") + Hash(addr_108, left_padding=True), + Bytes("693c6139") + Hash(addr_109, left_padding=True), + Bytes("693c6139") + Hash(addr_110, left_padding=True), + Bytes("693c6139") + Hash(addr_111, left_padding=True), + Bytes("693c6139") + Hash(addr_112, left_padding=True), + Bytes("693c6139") + Hash(addr_113, left_padding=True), + Bytes("693c6139") + Hash(addr_114, left_padding=True), + Bytes("693c6139") + Hash(addr_115, left_padding=True), + Bytes("693c6139") + Hash(addr_116, left_padding=True), + Bytes("693c6139") + Hash(addr_117, left_padding=True), + Bytes("693c6139") + Hash(addr_118, left_padding=True), + Bytes("693c6139") + Hash(addr_119, left_padding=True), + Bytes("693c6139") + Hash(addr_120, left_padding=True), + Bytes("693c6139") + Hash(addr_121, left_padding=True), + Bytes("693c6139") + Hash(addr_122, left_padding=True), + Bytes("693c6139") + Hash(addr_123, left_padding=True), + Bytes("693c6139") + Hash(addr_124, left_padding=True), + Bytes("693c6139") + Hash(addr_125, left_padding=True), + Bytes("693c6139") + Hash(addr_126, left_padding=True), + Bytes("693c6139") + Hash(addr_127, left_padding=True), + Bytes("693c6139") + Hash(addr_128, left_padding=True), + Bytes("693c6139") + Hash(addr_129, left_padding=True), + Bytes("693c6139") + Hash(addr_130, left_padding=True), + Bytes("693c6139") + Hash(addr_131, left_padding=True), + Bytes("693c6139") + Hash(addr_132, left_padding=True), + Bytes("693c6139") + Hash(addr_133, left_padding=True), + Bytes("693c6139") + Hash(addr_134, left_padding=True), + Bytes("693c6139") + Hash(addr_135, left_padding=True), + Bytes("693c6139") + Hash(addr_136, left_padding=True), + Bytes("693c6139") + Hash(addr_137, left_padding=True), + Bytes("693c6139") + Hash(addr_138, left_padding=True), + Bytes("693c6139") + Hash(addr_139, left_padding=True), + Bytes("693c6139") + Hash(addr_140, left_padding=True), + Bytes("693c6139") + Hash(addr_141, left_padding=True), + Bytes("693c6139") + Hash(addr_142, left_padding=True), + Bytes("693c6139") + Hash(addr_143, left_padding=True), + Bytes("693c6139") + Hash(addr_144, left_padding=True), + Bytes("693c6139") + Hash(addr_145, left_padding=True), + Bytes("693c6139") + Hash(addr_146, left_padding=True), + Bytes("693c6139") + Hash(addr_147, left_padding=True), + Bytes("693c6139") + Hash(addr_148, left_padding=True), + Bytes("693c6139") + Hash(addr_149, left_padding=True), + Bytes("693c6139") + Hash(addr_150, left_padding=True), + Bytes("693c6139") + Hash(addr_151, left_padding=True), + Bytes("693c6139") + Hash(addr_152, left_padding=True), + Bytes("693c6139") + Hash(addr_153, left_padding=True), + Bytes("693c6139") + Hash(addr_154, left_padding=True), + Bytes("693c6139") + Hash(addr_155, left_padding=True), + Bytes("693c6139") + Hash(addr_156, left_padding=True), + Bytes("693c6139") + Hash(addr_157, left_padding=True), + Bytes("693c6139") + Hash(addr_158, left_padding=True), + Bytes("693c6139") + Hash(addr_159, left_padding=True), + Bytes("693c6139") + Hash(addr_160, left_padding=True), + Bytes("693c6139") + Hash(addr_161, left_padding=True), + Bytes("693c6139") + Hash(addr_162, left_padding=True), + Bytes("693c6139") + Hash(addr_163, left_padding=True), + Bytes("693c6139") + Hash(addr_164, left_padding=True), + Bytes("693c6139") + Hash(addr_165, left_padding=True), + Bytes("693c6139") + Hash(addr_166, left_padding=True), + ] + tx_gas = [8000000] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=8000000, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/__init__.py b/tests/ported_static/stStaticCall/__init__.py index abc4be341db..b2c50ed8d54 100644 --- a/tests/ported_static/stStaticCall/__init__.py +++ b/tests/ported_static/stStaticCall/__init__.py @@ -1 +1 @@ -"""Tests ported from stStaticCall.""" +"""Ported static tests: stStaticCall.""" # noqa: N999 diff --git a/tests/ported_static/stStaticCall/test_static_ab_acalls0.py b/tests/ported_static/stStaticCall/test_static_ab_acalls0.py index a46417ba8ee..cc37220c170 100644 --- a/tests/ported_static/stStaticCall/test_static_ab_acalls0.py +++ b/tests/ported_static/stStaticCall/test_static_ab_acalls0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_ab_acalls0. Ported from: -tests/static/state_tests/stStaticCall/static_ABAcalls0Filler.json +state_tests/stStaticCall/static_ABAcalls0Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,41 +27,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_ABAcalls0Filler.json"], + ["state_tests/stStaticCall/static_ABAcalls0Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000c54c4be163add3cc0efe5268a599a308dab12c74", - { - Address("0xfddb268f64fd5a90f618bbee0bd38e0c24b0a945"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000007a365d98665a08e6ed6c1638c8ea6775fa649048", - { - Address("0xfddb268f64fd5a90f618bbee0bd38e0c24b0a945"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_ab_acalls0( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_ab_acalls0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -70,116 +72,141 @@ def test_static_ab_acalls0( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=Op.PC) - + Op.STATICCALL( - gas=0xC350, - address=0x7A365D98665A08E6ED6C1638C8EA6775FA649048, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), - balance=23, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x718a83e869d6f4dea50a650b9825cbfe683bdf16"), # noqa: E501 + address=Address(0xFDDB268F64FD5A90F618BBEE0BD38E0C24B0A945), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=Op.PC) - + Op.STATICCALL( + # Source: lll + # { [[ (PC) ]] (STATICCALL 100000 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.STATICCALL( gas=0x186A0, - address=0x718A83E869D6F4DEA50A650B9825CBFE683BDF16, + address=0x9A95017E0DBF52BB87DDFDA883B69D6188D574CA, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7a365d98665a08e6ed6c1638c8ea6775fa649048"), # noqa: E501 + address=Address(0xC54C4BE163ADD3CC0EFE5268A599A308DAB12C74), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.ADD( - 0x1, - Op.STATICCALL( - gas=0xC350, - address=0xC54C4BE163ADD3CC0EFE5268A599A308DAB12C74, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ), - ) - + Op.STOP - ), - balance=23, - nonce=0, - address=Address("0x9a95017e0dbf52bb87ddfda883b69d6188d574ca"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.STATICCALL( - gas=0x186A0, - address=0x9A95017E0DBF52BB87DDFDA883B69D6188D574CA, + # Source: lll + # { [[ (PC) ]] (ADD 1 (STATICCALL 50000 0 0 0 0)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.ADD( + 0x1, + Op.STATICCALL( + gas=0xC350, + address=0xC54C4BE163ADD3CC0EFE5268A599A308DAB12C74, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ), + ) + + Op.STOP, + balance=23, nonce=0, - address=Address("0xc54c4be163add3cc0efe5268a599a308dab12c74"), # noqa: E501 + address=Address(0x9A95017E0DBF52BB87DDFDA883B69D6188D574CA), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 1 (PC)) (STATICCALL 100000 0 0 0 0) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=Op.PC) + + Op.STATICCALL( + gas=0x186A0, + address=0x718A83E869D6F4DEA50A650B9825CBFE683BDF16, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfddb268f64fd5a90f618bbee0bd38e0c24b0a945"), # noqa: E501 + address=Address(0x7A365D98665A08E6ED6C1638C8EA6775FA649048), # noqa: E501 ) + # Source: lll + # { (MSTORE 1 (PC)) (STATICCALL 50000 0 0 0 0) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=Op.PC) + + Op.STATICCALL( + gas=0xC350, + address=0x7A365D98665A08E6ED6C1638C8EA6775FA649048, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=23, + nonce=0, + address=Address(0x718A83E869D6F4DEA50A650B9825CBFE683BDF16), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage={36: 0}, balance=0xDE0B6B3A76586A0), + addr_2: Account(storage={38: 0}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_3: Account(storage={36: 0}, balance=0xDE0B6B3A76586A0), + addr_4: Account(storage={38: 0}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [1000000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1000000, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_ab_acalls1.py b/tests/ported_static/stStaticCall/test_static_ab_acalls1.py index fe972dc73cd..5eaa13d198d 100644 --- a/tests/ported_static/stStaticCall/test_static_ab_acalls1.py +++ b/tests/ported_static/stStaticCall/test_static_ab_acalls1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_ab_acalls1. Ported from: -tests/static/state_tests/stStaticCall/static_ABAcalls1Filler.json +state_tests/stStaticCall/static_ABAcalls1Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,42 +27,39 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_ABAcalls1Filler.json"], + ["state_tests/stStaticCall/static_ABAcalls1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000d0a73d84aa7112e8d5179cae211b268d16dafd73", - { - Address("0xe7fe01f115e85f0487086659fa9bbf09579b0e3a"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000c1eb8f73f2e1e269acd146c961210b665078841b", - { - Address("0xe7fe01f115e85f0487086659fa9bbf09579b0e3a"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_ab_acalls1( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_ab_acalls1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -71,121 +73,146 @@ def test_static_ab_acalls1( gas_limit=10000000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=Op.PC, - value=Op.ADD( - 0x1, - Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xC1EB8F73F2E1E269ACD146C961210B665078841B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ), - ) - + Op.STOP - ), - balance=23, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5e75046384134a4554c3c7061d4637cb978d5699"), # noqa: E501 + address=Address(0xE7FE01F115E85F0487086659FA9BBF09579B0E3A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=Op.PC) - + Op.STATICCALL( + # Source: lll + # { [[ (PC) ]] (STATICCALL (- (GAS) 100000) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.STATICCALL( gas=Op.SUB(Op.GAS, 0x186A0), - address=0x5E75046384134A4554C3C7061D4637CB978D5699, + address=0xCC7901B70DCEC81D198AC6CF196EF14BCA9870BE, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc1eb8f73f2e1e269acd146c961210b665078841b"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.ADD( - 0x1, - Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xD0A73D84AA7112E8D5179CAE211B268D16DAFD73, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ), - ) - + Op.STOP - ), - balance=23, - nonce=0, - address=Address("0xcc7901b70dcec81d198ac6cf196ef14bca9870be"), # noqa: E501 + address=Address(0xD0A73D84AA7112E8D5179CAE211B268D16DAFD73), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.STATICCALL( + # Source: lll + # { [[ (PC) ]] (ADD 1 (STATICCALL (- (GAS) 100000) 0 0 0 0)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.ADD( + 0x1, + Op.STATICCALL( gas=Op.SUB(Op.GAS, 0x186A0), - address=0xCC7901B70DCEC81D198AC6CF196EF14BCA9870BE, + address=0xD0A73D84AA7112E8D5179CAE211B268D16DAFD73, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ), - ) - + Op.STOP - ), + ), + ) + + Op.STOP, + balance=23, + nonce=0, + address=Address(0xCC7901B70DCEC81D198AC6CF196EF14BCA9870BE), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 (PC)) (STATICCALL (- (GAS) 100000) 0 0 0 0) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=Op.PC) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0x5E75046384134A4554C3C7061D4637CB978D5699, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd0a73d84aa7112e8d5179cae211b268d16dafd73"), # noqa: E501 + address=Address(0xC1EB8F73F2E1E269ACD146C961210B665078841B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, + # Source: lll + # { (MSTORE (PC) (ADD 1 (STATICCALL (- (GAS) 100000) 0 0 0 0)) ) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=Op.PC, + value=Op.ADD( + 0x1, + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xC1EB8F73F2E1E269ACD146C961210B665078841B, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ), + ) + + Op.STOP, + balance=23, nonce=0, - address=Address("0xe7fe01f115e85f0487086659fa9bbf09579b0e3a"), # noqa: E501 + address=Address(0x5E75046384134A4554C3C7061D4637CB978D5699), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_ab_acalls2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -74,106 +73,131 @@ def test_static_ab_acalls2( gas_limit=10000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0x2b0de1d059b61d3afbdbc6d7d59720fe04c1fff2"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xDB486D3E181181D2063032B1250C07CA0185A446, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x57efc7a25d8e40b0798fb4cbc2bcc3c124141cbb"), # noqa: E501 + address=Address(0x2B0DE1D059B61D3AFBDBC6D7D59720FE04C1FFF2), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xE278F8058BEF1396C2B1DF4D1DC4B65233133C57, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xE278F8058BEF1396C2B1DF4D1DC4B65233133C57, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcee890df61958e0d40fbbfc310af80b8c47d0dfe"), # noqa: E501 + address=Address(0xCEE890DF61958E0D40FBBFC310AF80B8C47D0DFE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0x57EFC7A25D8E40B0798FB4CBC2BCC3C124141CBB, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0 0 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xCEE890DF61958E0D40FBBFC310AF80B8C47D0DFE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + nonce=0, + address=Address(0xE278F8058BEF1396C2B1DF4D1DC4B65233133C57), # noqa: E501 + ) + # Source: lll + # { ( MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0 0 0 0) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0x57EFC7A25D8E40B0798FB4CBC2BCC3C124141CBB, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xdb486d3e181181d2063032b1250c07ca0185a446"), # noqa: E501 + address=Address(0xDB486D3E181181D2063032B1250C07CA0185A446), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xCEE890DF61958E0D40FBBFC310AF80B8C47D0DFE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { ( MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0 0 0 0) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xDB486D3E181181D2063032B1250C07CA0185A446, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xe278f8058bef1396c2b1df4d1dc4b65233133c57"), # noqa: E501 + address=Address(0x57EFC7A25D8E40B0798FB4CBC2BCC3C124141CBB), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_ab_acalls3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,106 +72,131 @@ def test_static_ab_acalls3( gas_limit=1000000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xE40C059876E334B99A5D199693978C39BEDB690D, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x0b1f7380db647f1d85565b28978ba83861b99965"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xE278F8058BEF1396C2B1DF4D1DC4B65233133C57, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xE278F8058BEF1396C2B1DF4D1DC4B65233133C57, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xFA3E8, nonce=0, - address=Address("0x407da20797d4e89c2f4e48c502385c1514d9fa52"), # noqa: E501 + address=Address(0x407DA20797D4E89C2F4E48C502385C1514D9FA52), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0 0 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0x407DA20797D4E89C2F4E48C502385C1514D9FA52, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xE278F8058BEF1396C2B1DF4D1DC4B65233133C57), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0x407DA20797D4E89C2F4E48C502385C1514D9FA52, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (ADD (SLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0 0 0 0) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xB1F7380DB647F1D85565B28978BA83861B99965, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xFA3E8, nonce=0, - address=Address("0xe278f8058bef1396c2b1df4d1dc4b65233133c57"), # noqa: E501 + address=Address(0xE40C059876E334B99A5D199693978C39BEDB690D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xB1F7380DB647F1D85565B28978BA83861B99965, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0xFA3E8, + # Source: lll + # { (MSTORE 0 (ADD (SLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0 0 0 0) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xE40C059876E334B99A5D199693978C39BEDB690D, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xe40c059876e334b99a5d199693978c39bedb690d"), # noqa: E501 + address=Address(0x0B1F7380DB647F1D85565B28978BA83861B99965), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={0: 1}), + addr_2: Account(storage={0: 0}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 1, 1: 1}), + addr_3: Account(storage={0: 0}), + addr_4: Account(storage={0: 0}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [10000000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_ab_acalls_suicide0.py b/tests/ported_static/stStaticCall/test_static_ab_acalls_suicide0.py index 0b6fc07f179..3b6c5bf3f3e 100644 --- a/tests/ported_static/stStaticCall/test_static_ab_acalls_suicide0.py +++ b/tests/ported_static/stStaticCall/test_static_ab_acalls_suicide0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_ab_acalls_suicide0. Ported from: -tests/static/state_tests/stStaticCall/static_ABAcallsSuicide0Filler.json +state_tests/stStaticCall/static_ABAcallsSuicide0Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,43 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_ABAcallsSuicide0Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_ABAcallsSuicide0Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000195198c66c5e31767d41365ff8003c5fe4387110", - { - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "00000000000000000000000015631f76b02193e5716cbd4b4d696f2f7a39f0a4", - { - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_ab_acalls_suicide0( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_ab_acalls_suicide0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -72,128 +72,147 @@ def test_static_ab_acalls_suicide0( gas_limit=100000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=Op.PC, - value=Op.STATICCALL( - gas=0x186A0, - address=0x644AC2B24A9316ED4C55001E5EDA02D77F729C7B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SELFDESTRUCT( - address=0xC20B4779ED25A1CCF1848F1CBCC84433FCB9D083 - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 + ) + # Source: lll + # { [[ (PC) ]] (STATICCALL 100000 0 0 0 0) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.STATICCALL( + gas=0x186A0, + address=0xC20B4779ED25A1CCF1848F1CBCC84433FCB9D083, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SELFDESTRUCT(address=0xC20B4779ED25A1CCF1848F1CBCC84433FCB9D083) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15631f76b02193e5716cbd4b4d696f2f7a39f0a4"), # noqa: E501 + address=Address(0x195198C66C5E31767D41365FF8003C5FE4387110), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.STATICCALL( - gas=0x186A0, - address=0xC20B4779ED25A1CCF1848F1CBCC84433FCB9D083, + # Source: lll + # { [[ (PC) ]] (ADD 1 (STATICCALL 50000 0 0 0 0)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.ADD( + 0x1, + Op.STATICCALL( + gas=0xC350, + address=0x195198C66C5E31767D41365FF8003C5FE4387110, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ), - ) - + Op.SELFDESTRUCT( - address=0xC20B4779ED25A1CCF1848F1CBCC84433FCB9D083 - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ), + ) + + Op.STOP, + balance=23, nonce=0, - address=Address("0x195198c66c5e31767d41365ff8003c5fe4387110"), # noqa: E501 + address=Address(0xC20B4779ED25A1CCF1848F1CBCC84433FCB9D083), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=Op.PC, - value=Op.ADD( - 0x1, - Op.STATICCALL( - gas=0xC350, - address=0x15631F76B02193E5716CBD4B4D696F2F7A39F0A4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ), - ) - + Op.STOP - ), - balance=23, + # Source: lll + # { (MSTORE (PC) (STATICCALL 100000 0 0 0 0)) (SELFDESTRUCT ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=Op.PC, + value=Op.STATICCALL( + gas=0x186A0, + address=0x644AC2B24A9316ED4C55001E5EDA02D77F729C7B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SELFDESTRUCT(address=0xC20B4779ED25A1CCF1848F1CBCC84433FCB9D083) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x644ac2b24a9316ed4c55001e5eda02d77f729c7b"), # noqa: E501 + address=Address(0x15631F76B02193E5716CBD4B4D696F2F7A39F0A4), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, + # Source: lll + # { (MSTORE (PC) (ADD 1 (STATICCALL 50000 0 0 0 0)) ) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=Op.PC, + value=Op.ADD( + 0x1, + Op.STATICCALL( + gas=0xC350, + address=0x15631F76B02193E5716CBD4B4D696F2F7A39F0A4, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.ADD( - 0x1, - Op.STATICCALL( - gas=0xC350, - address=0x195198C66C5E31767D41365FF8003C5FE4387110, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ), - ) - + Op.STOP - ), + ), + ) + + Op.STOP, balance=23, nonce=0, - address=Address("0xc20b4779ed25a1ccf1848f1cbcc84433fcb9d083"), # noqa: E501 + address=Address(0x644AC2B24A9316ED4C55001E5EDA02D77F729C7B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_2: Account(storage={38: 0}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 1, 1: 1}), + addr_2: Account(storage={38: 0}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [10000000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_ab_acalls_suicide1.py b/tests/ported_static/stStaticCall/test_static_ab_acalls_suicide1.py index bee9494637b..8603614a8d5 100644 --- a/tests/ported_static/stStaticCall/test_static_ab_acalls_suicide1.py +++ b/tests/ported_static/stStaticCall/test_static_ab_acalls_suicide1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_ab_acalls_suicide1. Ported from: -tests/static/state_tests/stStaticCall/static_ABAcallsSuicide1Filler.json +state_tests/stStaticCall/static_ABAcallsSuicide1Filler.json """ import pytest @@ -12,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,35 +24,40 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_ABAcallsSuicide1Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_ABAcallsSuicide1Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000186a0", - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "00000000000000000000000000000000000000000000000000000000000486a0", - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_ab_acalls_suicide1( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_ab_acalls_suicide1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) + contract_1 = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -64,61 +71,67 @@ def test_static_ab_acalls_suicide1( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL (CALLDATALOAD 0) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 32 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.STATICCALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0x945304EB96065B2A98B57A48A06AE28D285A71B5, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.STATICCALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0x945304EB96065B2A98B57A48A06AE28D285A71B5, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL (SUB (CALLDATALOAD 0) 50000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 32 0 0) (SELFDESTRUCT 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.POP( - Op.STATICCALL( - gas=Op.SUB(Op.CALLDATALOAD(offset=0x0), 0xC350), - address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SELFDESTRUCT( - address=0xF572E5295C57F15886F9B263E2F6D2D6C7B5EC6 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.POP( + Op.STATICCALL( + gas=Op.SUB(Op.CALLDATALOAD(offset=0x0), 0xC350), + address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0xF572E5295C57F15886F9B263E2F6D2D6C7B5EC6) + + Op.STOP, balance=23, nonce=0, - address=Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5"), # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(0x186A0), + Hash(0x486A0), + ] + tx_gas = [10000000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, - value=100000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_0: Account(storage={}), + Address( + 0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6 + ): Account.NONEXISTENT, + contract_1: Account(storage={}, balance=23), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call10.py b/tests/ported_static/stStaticCall/test_static_call10.py index 4d1ee19e18a..703f0759083 100644 --- a/tests/ported_static/stStaticCall/test_static_call10.py +++ b/tests/ported_static/stStaticCall/test_static_call10.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call10. Ported from: -tests/static/state_tests/stStaticCall/static_Call10Filler.json +state_tests/stStaticCall/static_Call10Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,48 +27,42 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_Call10Filler.json"], + ["state_tests/stStaticCall/static_Call10Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000ba3d56e16f62d1c74689f260f80faeb7181fcf8f", - { - Address("0xba3d56e16f62d1c74689f260f80faeb7181fcf8f"): Account( - storage={0: 1, 1: 10} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000689ef931c00f3b00de5dd2cf0e06f5409b0f26a4", - { - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call10( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call10.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee_2 = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -75,96 +74,117 @@ def test_static_call10( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x40, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xA)), - ) - + Op.MSTORE( - offset=0x0, - value=Op.STATICCALL( - gas=0xFFFFFFFFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), - balance=1000, + pre[addr] = Account(balance=7000) + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x689ef931c00f3b00de5dd2cf0e06f5409b0f26a4"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x40, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xA)), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xFFFFFFFFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 10) [i](+ @i 1) [[ 0 ]](STATICCALL 0xfffffffffff 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x40, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xA)) + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xFFFFFFFFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xba3d56e16f62d1c74689f260f80faeb7181fcf8f"), # noqa: E501 + address=Address(0xBA3D56E16F62D1C74689F260F80FAEB7181FCF8F), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 10) [i](+ @i 1) (MSTORE 0 (STATICCALL 0xfffffffffff 0 50000 0 0)) ) (MSTORE 32 @i)} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x40, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xA)) + ) + + Op.MSTORE( + offset=0x0, + value=Op.STATICCALL( + gas=0xFFFFFFFFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) + + Op.STOP, + balance=1000, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x689EF931C00F3B00DE5DD2CF0E06F5409B0F26A4), # noqa: E501 ) - pre[callee_2] = Account(balance=7000, nonce=0) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_2: Account(storage={0: 1, 1: 10}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_2: Account(storage={0: 0, 1: 0}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [200000] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=200000, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call1024_balance_too_low.py b/tests/ported_static/stStaticCall/test_static_call1024_balance_too_low.py index 4c32b4a8b3d..b23dffab7fb 100644 --- a/tests/ported_static/stStaticCall/test_static_call1024_balance_too_low.py +++ b/tests/ported_static/stStaticCall/test_static_call1024_balance_too_low.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call1024_balance_too_low. Ported from: -tests/static/state_tests/stStaticCall/static_Call1024BalanceTooLowFiller.json +state_tests/stStaticCall/static_Call1024BalanceTooLowFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,51 +27,43 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_Call1024BalanceTooLowFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_Call1024BalanceTooLowFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000d395a2cb1cb7ef1b90e2edb71fc0a390ecc84fe8", - { - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - Address("0xd395a2cb1cb7ef1b90e2edb71fc0a390ecc84fe8"): Account( - storage={0: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000e8f28ee50521b0388cf0a623b1a89e43d022c039", - { - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call1024_balance_too_low( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call1024_balance_too_low.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee_1 = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -78,80 +75,103 @@ def test_static_call1024_balance_too_low( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0xFFFFFFFFFFF, - address=0xD395A2CB1CB7EF1B90E2EDB71FC0A390ECC84FE8, - args_offset=Op.SLOAD(key=0x0), - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff @@0 0 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0xFFFFFFFFFFF, + address=0xD395A2CB1CB7EF1B90E2EDB71FC0A390ECC84FE8, + args_offset=Op.SLOAD(key=0x0), + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0xd395a2cb1cb7ef1b90e2edb71fc0a390ecc84fe8"), # noqa: E501 + address=Address(0xD395A2CB1CB7EF1B90E2EDB71FC0A390ECC84FE8), # noqa: E501 ) - pre[callee_1] = Account(balance=7000, nonce=0) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.MSTORE( - offset=0x20, - value=Op.STATICCALL( - gas=0xFFFFFFFFFFF, - address=0xE8F28EE50521B0388CF0A623B1A89E43D022C039, - args_offset=Op.MLOAD(offset=0x0), - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (ADD (MLOAD 0) 1)) (MSTORE 32 (STATICCALL 0xfffffffffff (MLOAD 0) 0 0 0)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.MSTORE( + offset=0x20, + value=Op.STATICCALL( + gas=0xFFFFFFFFFFF, + address=0xE8F28EE50521B0388CF0A623B1A89E43D022C039, + args_offset=Op.MLOAD(offset=0x0), + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0xe8f28ee50521b0388cf0a623b1a89e43d022c039"), # noqa: E501 + address=Address(0xE8F28EE50521B0388CF0A623B1A89E43D022C039), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call1024_balance_too_low2.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee_1 = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -78,80 +75,103 @@ def test_static_call1024_balance_too_low2( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0xFFFFFFFFFFF, - address=0xD395A2CB1CB7EF1B90E2EDB71FC0A390ECC84FE8, - args_offset=Op.SLOAD(key=0x0), - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff @@0 0 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0xFFFFFFFFFFF, + address=0xD395A2CB1CB7EF1B90E2EDB71FC0A390ECC84FE8, + args_offset=Op.SLOAD(key=0x0), + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0xd395a2cb1cb7ef1b90e2edb71fc0a390ecc84fe8"), # noqa: E501 + address=Address(0xD395A2CB1CB7EF1B90E2EDB71FC0A390ECC84FE8), # noqa: E501 ) - pre[callee_1] = Account(balance=7000, nonce=0) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.MSTORE( - offset=0x20, - value=Op.STATICCALL( - gas=0xFFFFFFFFFFF, - address=0xE8F28EE50521B0388CF0A623B1A89E43D022C039, - args_offset=Op.MLOAD(offset=0x0), - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (ADD (MLOAD 0) 1)) (MSTORE 32 (STATICCALL 0xfffffffffff (MLOAD 0) 0 0 0)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.MSTORE( + offset=0x20, + value=Op.STATICCALL( + gas=0xFFFFFFFFFFF, + address=0xE8F28EE50521B0388CF0A623B1A89E43D022C039, + args_offset=Op.MLOAD(offset=0x0), + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0xe8f28ee50521b0388cf0a623b1a89e43d022c039"), # noqa: E501 + address=Address(0xE8F28EE50521B0388CF0A623B1A89E43D022C039), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call1024_oog.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee_2 = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -74,94 +73,115 @@ def test_static_call1024_oog( gas_limit=9223372036854775807, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.POP( - Op.STATICCALL( - gas=Op.MUL( - Op.SUB(Op.GAS, 0x2710), - Op.SUB(0x1, Op.DIV(Op.MLOAD(offset=0x0), 0x401)), - ), - address=0x42223EC7D9570A769BECBE4BEED7D885E01E6E37, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE( - offset=0x20, - value=Op.ADD(0x1, Op.MUL(Op.MLOAD(offset=0x0), 0x3E8)), - ) - + Op.STOP - ), - balance=1024, + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + pre[addr] = Account(balance=7000) + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x42223ec7d9570a769becbe4beed7d885e01e6e37"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=Op.MUL( - Op.SUB(Op.GAS, 0x2710), - Op.SUB(0x1, Op.DIV(Op.SLOAD(key=0x0), 0x401)), - ), - address=0x5EB006F1716196A0D072B390030A665386C48B9B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + # Source: lll + # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL (MUL (SUB (GAS) 10000) (SUB 1 (DIV @@0 1025))) 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=Op.MUL( + Op.SUB(Op.GAS, 0x2710), + Op.SUB(0x1, Op.DIV(Op.SLOAD(key=0x0), 0x401)), ), - ) - + Op.SSTORE( - key=0x2, - value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)), - ) - + Op.STOP - ), + address=0x5EB006F1716196A0D072B390030A665386C48B9B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)) + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0x5eb006f1716196a0d072b390030a665386c48b9b"), # noqa: E501 + address=Address(0x5EB006F1716196A0D072B390030A665386C48B9B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, + # Source: lll + # { (MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL (MUL (SUB (GAS) 10000) (SUB 1 (DIV (MLOAD 0) 1025))) 0 0 0 0) (MSTORE 32 (ADD 1(MUL (MLOAD 0) 1000))) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.POP( + Op.STATICCALL( + gas=Op.MUL( + Op.SUB(Op.GAS, 0x2710), + Op.SUB(0x1, Op.DIV(Op.MLOAD(offset=0x0), 0x401)), ), + address=0x42223EC7D9570A769BECBE4BEED7D885E01E6E37, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE( + offset=0x20, value=Op.ADD(0x1, Op.MUL(Op.MLOAD(offset=0x0), 0x3E8)) + ) + + Op.STOP, + balance=1024, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x42223EC7D9570A769BECBE4BEED7D885E01E6E37), # noqa: E501 ) - pre[callee_2] = Account(balance=7000, nonce=0) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_2: Account(storage={0: 1, 1: 0, 2: 1001}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_2: Account(storage={0: 0, 1: 0, 2: 0}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [15720826] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=15720826, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call1024_pre_calls.py b/tests/ported_static/stStaticCall/test_static_call1024_pre_calls.py index 12350bb65fb..077d9c2b1d3 100644 --- a/tests/ported_static/stStaticCall/test_static_call1024_pre_calls.py +++ b/tests/ported_static/stStaticCall/test_static_call1024_pre_calls.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call1024_pre_calls. Ported from: -tests/static/state_tests/stStaticCall/static_Call1024PreCallsFiller.json +state_tests/stStaticCall/static_Call1024PreCallsFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,51 +27,43 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_Call1024PreCallsFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_Call1024PreCallsFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000002806e7553f3585d821f91d679a254abbf002f6f2", - { - Address("0x2806e7553f3585d821f91d679a254abbf002f6f2"): Account( - storage={0: 1, 2: 1, 3: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000007c546b69d5bda111c03c8d7b51b41a8d55b843ca", - { - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call1024_pre_calls( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call1024_pre_calls.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xCC381C83857B17CA629268ED418E2915A0287B84EFE9CF2204C020302E83CDA0 ) - callee_2 = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -77,120 +74,134 @@ def test_static_call1024_pre_calls( gas_limit=9223372036854775807, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x3, - value=Op.STATICCALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0xFFFFFFFFFFF, - address=0x2806E7553F3585D821F91D679A254ABBF002F6F2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - balance=2024, + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x2806e7553f3585d821f91d679a254abbf002f6f2"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.STATICCALL( + pre[addr] = Account(balance=7000) + # Source: lll + # { [[ 2 ]] (STATICCALL 0xffff 0 0 0 0) [[ 3 ]] (STATICCALL 0xffff 0 0 0 0) [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0 0 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0xFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x3, + value=Op.STATICCALL( + gas=0xFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( gas=0xFFFFFFFFFFF, - address=0x7C546B69D5BDA111C03C8D7B51B41A8D55B843CA, + address=0x2806E7553F3585D821F91D679A254ABBF002F6F2, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, balance=2024, nonce=0, - address=Address("0x7c546b69d5bda111c03c8d7b51b41a8d55b843ca"), # noqa: E501 + address=Address(0x2806E7553F3585D821F91D679A254ABBF002F6F2), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (STATICCALL 0xffff 0 0 0 0) (STATICCALL 0xffff 0 0 0 0) (MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL 0xfffffffffff 0 0 0 0) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ) + * 2 + + Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.STATICCALL( + gas=0xFFFFFFFFFFF, + address=0x7C546B69D5BDA111C03C8D7B51B41A8D55B843CA, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=2024, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x7C546B69D5BDA111C03C8D7B51B41A8D55B843CA), # noqa: E501 ) - pre[callee_2] = Account(balance=7000, nonce=0) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call1024_pre_calls2.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xCC381C83857B17CA629268ED418E2915A0287B84EFE9CF2204C020302E83CDA0 ) @@ -76,125 +73,141 @@ def test_static_call1024_pre_calls2( gas_limit=9223372036854775807, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0xFFFF, - address=0xEEB613E2A52609EE927BE8A5B80FF190F6B71A37, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x3, - value=Op.STATICCALL( - gas=0xFFFF, - address=0xEEB613E2A52609EE927BE8A5B80FF190F6B71A37, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xFFFFFFFFFFF, - address=0x2455231C1BE66D57981908F4AC3633DEE2E242E0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - balance=2024, - nonce=0, - address=Address("0x2455231c1be66d57981908f4ac3633dee2e242e0"), # noqa: E501 - ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xFFFF, - address=0xEEB613E2A52609EE927BE8A5B80FF190F6B71A37, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xFFFF, - address=0xEEB613E2A52609EE927BE8A5B80FF190F6B71A37, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.DELEGATECALL( + # Source: lll + # { (MSTORE 0 1)} + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x1) + Op.STOP, + balance=7000, + nonce=0, + address=Address(0xEEB613E2A52609EE927BE8A5B80FF190F6B71A37), # noqa: E501 + ) + # Source: lll + # { [[ 2 ]] (STATICCALL 0xffff 0 0 0 0) [[ 3 ]] (STATICCALL 0xffff 0 0 0 0) [[ 0 ]] (ADD @@0 1) [[ 1 ]] (DELEGATECALL 0xfffffffffff 0 0 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0xFFFF, + address=0xEEB613E2A52609EE927BE8A5B80FF190F6B71A37, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x3, + value=Op.STATICCALL( + gas=0xFFFF, + address=0xEEB613E2A52609EE927BE8A5B80FF190F6B71A37, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( gas=0xFFFFFFFFFFF, - address=0xDAF588778CBCCF0D5636643DBC67B42246B52F4A, + address=0x2455231C1BE66D57981908F4AC3633DEE2E242E0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, balance=2024, nonce=0, - address=Address("0xdaf588778cbccf0d5636643dbc67b42246b52f4a"), # noqa: E501 + address=Address(0x2455231C1BE66D57981908F4AC3633DEE2E242E0), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x0, value=0x1) + Op.STOP, - balance=7000, + # Source: lll + # { (STATICCALL 0xffff 0 0 0 0) (STATICCALL 0xffff 0 0 0 0) (MSTORE 0 (ADD (MLOAD 0) 1)) (DELEGATECALL 0xfffffffffff 0 0 0 0) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xFFFF, + address=0xEEB613E2A52609EE927BE8A5B80FF190F6B71A37, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + * 2 + + Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.DELEGATECALL( + gas=0xFFFFFFFFFFF, + address=0xDAF588778CBCCF0D5636643DBC67B42246B52F4A, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=2024, nonce=0, - address=Address("0xeeb613e2a52609ee927be8a5b80ff190f6b71a37"), # noqa: E501 + address=Address(0xDAF588778CBCCF0D5636643DBC67B42246B52F4A), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call1024_pre_calls3.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xCC381C83857B17CA629268ED418E2915A0287B84EFE9CF2204C020302E83CDA0 ) - callee_2 = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -77,120 +74,134 @@ def test_static_call1024_pre_calls3( gas_limit=9223372036854775807, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x3, - value=Op.STATICCALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0xFFFFFFFFFFF, - address=0x2806E7553F3585D821F91D679A254ABBF002F6F2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - balance=2024, + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x2806e7553f3585d821f91d679a254abbf002f6f2"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP( - Op.STATICCALL( - gas=0xFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.STATICCALL( + pre[addr] = Account(balance=7000) + # Source: lll + # { [[ 2 ]] (STATICCALL 0xffff 0 0 0 0) [[ 3 ]] (STATICCALL 0xffff 0 0 0 0) [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0 0 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0xFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x3, + value=Op.STATICCALL( + gas=0xFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( gas=0xFFFFFFFFFFF, - address=0x7C546B69D5BDA111C03C8D7B51B41A8D55B843CA, + address=0x2806E7553F3585D821F91D679A254ABBF002F6F2, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, balance=2024, nonce=0, - address=Address("0x7c546b69d5bda111c03c8d7b51b41a8d55b843ca"), # noqa: E501 + address=Address(0x2806E7553F3585D821F91D679A254ABBF002F6F2), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (STATICCALL 0xffff 0 0 0 0) (STATICCALL 0xffff 0 0 0 0) (MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL 0xfffffffffff 0 0 0 0) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ) + * 2 + + Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.STATICCALL( + gas=0xFFFFFFFFFFF, + address=0x7C546B69D5BDA111C03C8D7B51B41A8D55B843CA, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=2024, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x7C546B69D5BDA111C03C8D7B51B41A8D55B843CA), # noqa: E501 ) - pre[callee_2] = Account(balance=7000, nonce=0) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call1_mb1024_calldepth.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0x2AB8257767339461506C0C67824CF17BC77B52CA) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0x2ab8257767339461506c0c67824cf17bc77b52ca") env = Environment( fee_recipient=coinbase, @@ -77,91 +74,114 @@ def test_static_call1_mb1024_calldepth( gas_limit=892500000000, ) - pre[callee] = Account(balance=0xFFFFFFFFFFFFF, nonce=0) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.JUMPI(pc=0x1B, condition=Op.LT(Op.MLOAD(offset=0x0), 0x400)) - + Op.MSTORE(offset=0x40, value=0x1) - + Op.JUMP(pc=0x45) - + Op.JUMPDEST - + Op.MSTORE( - offset=0x20, - value=Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0xF55C8), - address=0x583AA587D7D852A5B8448CC4160537D9BD12C889, - args_offset=0x0, - args_size=0xF4240, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.STOP - ), + pre[addr] = Account(balance=0xFFFFFFFFFFFFF) + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x583aa587d7d852a5b8448cc4160537d9bd12c889"), # noqa: E501 + address=Address(0xB16DBBE237612935E6611C3F5FB7D80EB0046801), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.JUMPI(pc=0x1B, condition=Op.LT(Op.SLOAD(key=0x0), 0x400)) - + Op.SSTORE(key=0x2, value=0x1) - + Op.JUMP(pc=0x45) - + Op.JUMPDEST - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0xF55C8), - address=0xA79AE640E38871970F579F62237DFE2705068825, - args_offset=0x0, - args_size=0xF4240, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) [[ 0 ]] (+ @@0 1) (if (LT @@0 1024) [[ 1 ]] (STATICCALL (- (GAS) 1005000) 0 1000000 0 0) [[ 2 ]] 1 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.JUMPI(pc=0x1B, condition=Op.LT(Op.SLOAD(key=0x0), 0x400)) + + Op.SSTORE(key=0x2, value=0x1) + + Op.JUMP(pc=0x45) + + Op.JUMPDEST + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0xF55C8), + address=0xA79AE640E38871970F579F62237DFE2705068825, + args_offset=0x0, + args_size=0xF4240, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPDEST + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xa79ae640e38871970f579f62237dfe2705068825"), # noqa: E501 + address=Address(0xA79AE640E38871970F579F62237DFE2705068825), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (MSTORE 0 (+ (MLOAD 0) 1)) (if (LT (MLOAD 0) 1024) (MSTORE 32 (STATICCALL (- (GAS) 1005000) 0 1000000 0 0)) (MSTORE 64 1) ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.JUMPI(pc=0x1B, condition=Op.LT(Op.MLOAD(offset=0x0), 0x400)) + + Op.MSTORE(offset=0x40, value=0x1) + + Op.JUMP(pc=0x45) + + Op.JUMPDEST + + Op.MSTORE( + offset=0x20, + value=Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0xF55C8), + address=0x583AA587D7D852A5B8448CC4160537D9BD12C889, + args_offset=0x0, + args_size=0xF4240, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPDEST + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xb16dbbe237612935e6611c3f5fb7d80eb0046801"), # noqa: E501 + address=Address(0x583AA587D7D852A5B8448CC4160537D9BD12C889), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call50000.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -89,110 +73,143 @@ def test_static_call50000( gas_limit=100000000000, ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3E, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x186A0, - address=0x7EFD7E4E34D1783F5D86B7862A37B3BBBD13DEB8, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), - balance=0xFFFFFFFFFFFFF, - nonce=0, - address=Address("0x2e396fd4f6f2799d61f534b43175f5344c65ecac"), # noqa: E501 - ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre.deploy_contract( + # Source: lll + # { (MSTORE 0 (SLOAD 0)) } + addr = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x0, value=Op.SLOAD(key=0x0)) + Op.STOP, - storage={0x0: 0x1}, + storage={0: 1}, balance=7000, nonce=0, - address=Address("0x6d440cd3e818056e21914c856e3712f4186b06c8"), # noqa: E501 + address=Address(0x6D440CD3E818056E21914C856E3712F4186B06C8), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 0 (SLOAD 0)) } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.SLOAD(key=0x0)) + Op.STOP, - storage={0x0: 0x1}, + storage={0: 1}, balance=7000, nonce=0, - address=Address("0x7efd7e4e34d1783f5d86b7862a37b3bbbd13deb8"), # noqa: E501 + address=Address(0x7EFD7E4E34D1783F5D86B7862A37B3BBBD13DEB8), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3E, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x186A0, - address=0x6D440CD3E818056E21914C856E3712F4186B06C8, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x20, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 + ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 100000 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3E, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x186A0, + address=0x7EFD7E4E34D1783F5D86B7862A37B3BBBD13DEB8, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xb00a8701f877b1152cd955e957fcbaf51a15f55f"), # noqa: E501 + address=Address(0x2E396FD4F6F2799D61F534B43175F5344C65ECAC), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (SSTORE 0 (STATICCALL 100000 0 50000 0 0)) ) (SSTORE 32 @i ) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3E, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x186A0, + address=0x6D440CD3E818056E21914C856E3712F4186B06C8, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x20, value=Op.MLOAD(offset=0x80)) + + Op.STOP, + balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xB00A8701F877B1152CD955E957FCBAF51A15F55F), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call50000_ecrec.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -77,95 +74,118 @@ def test_static_call50000_ecrec( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x2A, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x1F4, - address=0x1, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x88c698df82bba0a5bc4eded3c9abfcaa22adef92"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x2A, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.MSTORE( - offset=0x0, - value=Op.STATICCALL( - gas=0x1F4, - address=0x1, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 500 1 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x2A, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x1F4, + address=0x1, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, nonce=0, - address=Address("0xb5c3e48b7024dbbdbe53d636adcc0531cdc8da1a"), # noqa: E501 + address=Address(0x88C698DF82BBA0A5BC4EDED3C9ABFCAA22ADEF92), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 500 1 0 50000 0 0)) ) (MSTORE 32 @i ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x2A, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.MSTORE( + offset=0x0, + value=Op.STATICCALL( + gas=0x1F4, + address=0x1, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) + + Op.STOP, + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xB5C3E48B7024DBBDBE53D636ADCC0531CDC8DA1A), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call50000_identity.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -59,97 +74,118 @@ def test_static_call50000_identity( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x2A, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x61C, - address=0x4, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), - balance=0xFFFFFFFFFFFFF, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x60ee5f7db2e72863689037b116bd02fd7c5edfe4"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x2A, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.MSTORE( - offset=0x0, - value=Op.STATICCALL( - gas=0x61C, - address=0x4, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1564 4 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x2A, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x61C, + address=0x4, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x8e9932c9d52eb968f6fa6bcaf50df4f2c7799852"), # noqa: E501 + address=Address(0x60EE5F7DB2E72863689037B116BD02FD7C5EDFE4), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 1564 4 0 50000 0 0)) ) (MSTORE 32 @i ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x2A, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.MSTORE( + offset=0x0, + value=Op.STATICCALL( + gas=0x61C, + address=0x4, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) + + Op.STOP, + balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x8E9932C9D52EB968F6FA6BCAF50DF4F2C7799852), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call50000_identity2.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -77,99 +74,122 @@ def test_static_call50000_identity2( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x2A) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x30, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.MSTORE( - offset=0x0, - value=Op.STATICCALL( - gas=0x61C, - address=0x4, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x1, - ret_size=0xC350, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x5) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) - + Op.MSTORE(offset=0x40, value=Op.MLOAD(offset=0x1)) - + Op.STOP - ), - balance=0xFFFFFFFFFFFFF, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb02bd8691a1a4f5fd4432b5b17c68dde3013fc35"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) [ 1 ] 42 (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1564 4 0 50000 1 50000) ) [[ 1 ]] @i [[ 2 ]] @1 } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x2A) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x30, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x61C, + address=0x4, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x1, + ret_size=0xC350, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x5) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x1)) + + Op.STOP, + balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xCFB4C99D22928822FEFFA77A1A6DE64042E48DD3), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x2A) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x30, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x61C, - address=0x4, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x1, - ret_size=0xC350, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x5) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x1)) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) [ 1 ] 42 (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 1564 4 0 50000 1 50000)) ) (MSTORE 32 @i) (MSTORE 64 @1 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x2A) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x30, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.MSTORE( + offset=0x0, + value=Op.STATICCALL( + gas=0x61C, + address=0x4, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x1, + ret_size=0xC350, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x5) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) + + Op.MSTORE(offset=0x40, value=Op.MLOAD(offset=0x1)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xcfb4c99d22928822feffa77a1a6de64042e48dd3"), # noqa: E501 + address=Address(0xB02BD8691A1A4F5FD4432B5B17C68DDE3013FC35), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call50000_rip160.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -58,98 +70,107 @@ def test_static_call50000_rip160( gas_limit=39250000000, ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x2B, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.MSTORE( - offset=0x0, - value=Op.STATICCALL( - gas=0x13178, - address=0x3, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), - balance=0xFFFFFFFFFFFFF, - nonce=0, - address=Address("0x4689cad8bbc0e90b346e8b4bc385e68ba03f307c"), # noqa: E501 - ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x2B, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x13178, - address=0x3, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 78200 3 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x2B, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x13178, + address=0x3, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xf50714ea64904a573fee759ca74a1c3c93fef59f"), # noqa: E501 + address=Address(0xF50714EA64904A573FEE759CA74A1C3C93FEF59F), # noqa: E501 + ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 78200 3 0 50000 0 0)) ) (MSTORE 32 @i) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x2B, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.MSTORE( + offset=0x0, + value=Op.STATICCALL( + gas=0x13178, + address=0x3, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) + + Op.STOP, + balance=0xFFFFFFFFFFFFF, + nonce=0, + address=Address(0x4689CAD8BBC0E90B346E8B4BC385E68BA03F307C), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [3925000000] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3925000000, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) post = { - contract: Account(storage={1: 1}), + sender: Account(storage={}, nonce=1), + addr: Account( + storage={0: 0, 1: 0}, + code=bytes.fromhex( + "5b61c3506080511015602b576000600061c3506000600362013178fa6000556001608051016080526000565b60805160015500" # noqa: E501 + ), + nonce=0, + ), + target: Account(storage={0: 0, 1: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call50000bytes_contract50_1.py b/tests/ported_static/stStaticCall/test_static_call50000bytes_contract50_1.py index 4e0262ebff3..a18045ffdc0 100644 --- a/tests/ported_static/stStaticCall/test_static_call50000bytes_contract50_1.py +++ b/tests/ported_static/stStaticCall/test_static_call50000bytes_contract50_1.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call50000bytes_contract50_1. Ported from: -tests/static/state_tests/stStaticCall -static_Call50000bytesContract50_1Filler.json +state_tests/stStaticCall/static_Call50000bytesContract50_1Filler.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,49 +27,42 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_Call50000bytesContract50_1Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_Call50000bytesContract50_1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000d7b377d5d96ef739e27bc58e021c51e934a9a85b", - { - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000005884670236220cd03f863517caaf72a56584429e", - { - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call50000bytes_contract50_1( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call50000bytes_contract50_1.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee_1 = Address("0x784c659b2b4d2b69ab5564d60f4e565c7a1ceb2b") - callee_2 = Address("0x80c3355386cd2326418157dbd8764b380b971f67") env = Environment( fee_recipient=coinbase, @@ -77,3441 +74,140 @@ def test_static_call50000bytes_contract50_1( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3E, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)), - ) - + Op.MSTORE( - offset=0x0, - value=Op.STATICCALL( - gas=0x148C1C2280, - address=0x80C3355386CD2326418157DBD8764B380B971F67, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), - balance=0xFFFFFFFFFFFFF, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x5884670236220cd03f863517caaf72a56584429e"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre[callee_1] = Account( - balance=0xFFFFFFFFFFFFF, - nonce=0, + # Source: raw + # 0x6001600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600055 # noqa: E501 + addr = Address(0x784C659B2B4D2B69AB5564D60F4E565C7A1CEB2B) + pre[addr] = Account( code=bytes.fromhex( - "600160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "0101600101600101600101600101600101600101600101600101600055" + "6001600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600055" # noqa: E501 ), + balance=0xFFFFFFFFFFFFF, + nonce=0, ) - pre[callee_2] = Account( + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (STATICCALL 88250000000 0 0 0 0) ) [[ 1 ]] @i } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3E, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)) + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x148C1C2280, + address=0x784C659B2B4D2B69AB5564D60F4E565C7A1CEB2B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - code=bytes.fromhex( - "600160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "010160010160010160010160010160010160010160010160010160010160010160010160" # noqa: E501 - "01016001016001016001016001016001016001016001016001016000" - ), + address=Address(0xD7B377D5D96EF739E27BC58E021C51E934A9A85B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP + # Source: raw + # 0x60016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016000 # noqa: E501 + addr_3 = Address(0x80C3355386CD2326418157DBD8764B380B971F67) + pre[addr_3] = Account( + code=bytes.fromhex( + "60016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016000" # noqa: E501 ), + balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3E, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x148C1C2280, - address=0x784C659B2B4D2B69AB5564D60F4E565C7A1CEB2B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) (MSTORE 0 (STATICCALL 88250000000 0 0 0 0)) ) (MSTORE 32 @i) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3E, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)) + ) + + Op.MSTORE( + offset=0x0, + value=Op.STATICCALL( + gas=0x148C1C2280, + address=0x80C3355386CD2326418157DBD8764B380B971F67, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xd7b377d5d96ef739e27bc58e021c51e934a9a85b"), # noqa: E501 + address=Address(0x5884670236220CD03F863517CAAF72A56584429E), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call50000bytes_contract50_2.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0x1836fd8c1db3e96ae2a516f50c27483cd48d2ef0") - callee_2 = Address("0xea3174ab39f002def28b14b425dc9e7e67fed805") env = Environment( fee_recipient=coinbase, @@ -76,3442 +73,141 @@ def test_static_call50000bytes_contract50_2( gas_limit=892500000000, ) - pre[callee] = Account( - balance=0xFFFFFFFFFFFFF, - nonce=0, - code=bytes.fromhex( - "60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055" - ), - ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3E, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x148C1C2280, - address=0x1836FD8C1DB3E96AE2A516F50C27483CD48D2EF0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP + # Source: raw + # 0x60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055 # noqa: E501 + addr = Address(0x1836FD8C1DB3E96AE2A516F50C27483CD48D2EF0) + pre[addr] = Account( + code=bytes.fromhex( + "60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055" # noqa: E501 ), balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xd7b377d5d96ef739e27bc58e021c51e934a9a85b"), # noqa: E501 ) - pre[callee_2] = Account( + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (STATICCALL 88250000000 0 0 0 0) ) [[ 1 ]] @i } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3E, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)) + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x148C1C2280, + address=0x1836FD8C1DB3E96AE2A516F50C27483CD48D2EF0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, + address=Address(0xD7B377D5D96EF739E27BC58E021C51E934A9A85B), # noqa: E501 + ) + # Source: raw + # 0x60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101 # noqa: E501 + addr_3 = Address(0xEA3174AB39F002DEF28B14B425DC9E7E67FED805) + pre[addr_3] = Account( code=bytes.fromhex( - "60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101" + "60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101" # noqa: E501 ), + balance=0xFFFFFFFFFFFFF, + nonce=0, ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3E, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)), - ) - + Op.MSTORE( - offset=0x0, - value=Op.STATICCALL( - gas=0x148C1C2280, - address=0xEA3174AB39F002DEF28B14B425DC9E7E67FED805, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) (MSTORE 0 (STATICCALL 88250000000 0 0 0 0)) ) (MSTORE 32 @i ) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3E, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)) + ) + + Op.MSTORE( + offset=0x0, + value=Op.STATICCALL( + gas=0x148C1C2280, + address=0xEA3174AB39F002DEF28B14B425DC9E7E67FED805, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xf3ea765b408b8de710b2c4c37b7300dbaaa58b79"), # noqa: E501 + address=Address(0xF3EA765B408B8DE710B2C4C37B7300DBAAA58B79), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call50000bytes_contract50_3.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0x0431fbe9c18dc43af2c372a7554bb2826176bdfd") - callee_1 = Address("0x653cf6168b15c28d212f20d652c34bbe734a8718") env = Environment( fee_recipient=coinbase, @@ -76,3442 +73,141 @@ def test_static_call50000bytes_contract50_3( gas_limit=892500000000, ) - pre[callee] = Account( - balance=0xFFFFFFFFFFFFF, + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 + ) + # Source: raw + # 0x600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055 # noqa: E501 + addr = Address(0x653CF6168B15C28D212F20D652C34BBE734A8718) + pre[addr] = Account( code=bytes.fromhex( - "600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101" # noqa: E501 + "600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055" # noqa: E501 ), - ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre[callee_1] = Account( balance=0xFFFFFFFFFFFFF, nonce=0, - code=bytes.fromhex( - "600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b" # noqa: E501 - "5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055" # noqa: E501 - ), ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (STATICCALL 88250000000 0 0 0 0) ) [[ 1 ]] @i } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3E, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)) + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x148C1C2280, + address=0x653CF6168B15C28D212F20D652C34BBE734A8718, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, + balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xD7B377D5D96EF739E27BC58E021C51E934A9A85B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3E, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x148C1C2280, - address=0x653CF6168B15C28D212F20D652C34BBE734A8718, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP + # Source: raw + # 0x600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101 # noqa: E501 + addr_3 = Address(0x0431FBE9C18DC43AF2C372A7554BB2826176BDFD) + pre[addr_3] = Account( + code=bytes.fromhex( + "600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101" # noqa: E501 ), balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xd7b377d5d96ef739e27bc58e021c51e934a9a85b"), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3E, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)), - ) - + Op.MSTORE( - offset=0x0, - value=Op.STATICCALL( - gas=0x148C1C2280, - address=0x431FBE9C18DC43AF2C372A7554BB2826176BDFD, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) (MSTORE 0 (STATICCALL 88250000000 0 0 0 0)) ) (MSTORE 32 @i ) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3E, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0x32)) + ) + + Op.MSTORE( + offset=0x0, + value=Op.STATICCALL( + gas=0x148C1C2280, + address=0x431FBE9C18DC43AF2C372A7554BB2826176BDFD, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.MSTORE(offset=0x20, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xf3ea765b408b8de710b2c4c37b7300dbaaa58b79"), # noqa: E501 + address=Address(0xF3EA765B408B8DE710B2C4C37B7300DBAAA58B79), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_and_callcode_consume_more_gas_then_transaction_has.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -72,109 +74,143 @@ def test_static_call_and_callcode_consume_more_gas_then_transaction_has( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x9, - value=Op.STATICCALL( - gas=0x927C0, - address=0xFD59ABAE521384B5731AC657616680219FBC423D, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xA, - value=Op.CALLCODE( - gas=0x927C0, - address=0xFD59ABAE521384B5731AC657616680219FBC423D, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x438f316ba8e30f69666a3477a7f5cd26235d3cbb"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x9, - value=Op.STATICCALL( - gas=0x927C0, - address=0x9620801959B49D6D1BD08F0CDAFDA5D87E900403, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xA, - value=Op.CALLCODE( - gas=0x927C0, - address=0xFD59ABAE521384B5731AC657616680219FBC423D, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 9 (STATICCALL 600000 0 0 0 0)) (SSTORE 10 (CALLCODE 600000 0 0 0 0 0)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x9, + value=Op.STATICCALL( + gas=0x927C0, + address=0xFD59ABAE521384B5731AC657616680219FBC423D, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xA, + value=Op.CALLCODE( + gas=0x927C0, + address=0xFD59ABAE521384B5731AC657616680219FBC423D, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x7d77eaf6dc93e2b7b83a8e06314af1ce47cd2596"), # noqa: E501 + address=Address(0x438F316BA8E30F69666A3477A7F5CD26235D3CBB), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x0, value=0x12) + Op.STOP, + # Source: lll + # { (SSTORE 0 0x12) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x12) + Op.STOP, nonce=0, - address=Address("0x9620801959b49d6d1bd08f0cdafda5d87e900403"), # noqa: E501 + address=Address(0xFD59ABAE521384B5731AC657616680219FBC423D), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 9 (STATICCALL 600000 0 0 0 0)) (SSTORE 10 (CALLCODE 600000 0 0 0 0 0)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x9, + value=Op.STATICCALL( + gas=0x927C0, + address=0x9620801959B49D6D1BD08F0CDAFDA5D87E900403, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xA, + value=Op.CALLCODE( + gas=0x927C0, + address=0xFD59ABAE521384B5731AC657616680219FBC423D, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x7D77EAF6DC93E2B7B83A8E06314AF1CE47CD2596), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - pre.deploy_contract( - code=Op.SSTORE(key=0x0, value=0x12) + Op.STOP, + # Source: lll + # { (MSTORE 0 0x12) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x12) + Op.STOP, nonce=0, - address=Address("0xfd59abae521384b5731ac657616680219fbc423d"), # noqa: E501 + address=Address(0x9620801959B49D6D1BD08F0CDAFDA5D87E900403), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage={0: 0, 8: 0, 9: 0, 10: 0}), + addr_2: Account( + storage={}, + code=bytes.fromhex("601260005500"), + nonce=0, + ), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_3: Account(storage={0: 18, 9: 1, 10: 1}), + addr_4: Account( + storage={}, + code=bytes.fromhex("601260005200"), + nonce=0, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [600000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=600000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_ask_more_gas_on_depth2_then_transaction_has.py b/tests/ported_static/stStaticCall/test_static_call_ask_more_gas_on_depth2_then_transaction_has.py index 111a84c94f4..3d69d184695 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ask_more_gas_on_depth2_then_transaction_has.py +++ b/tests/ported_static/stStaticCall/test_static_call_ask_more_gas_on_depth2_then_transaction_has.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ask_more_gas_on_depth2_then_transaction_has. Ported from: -tests/static/state_tests/stStaticCall -static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json +state_tests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,48 +28,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000ef69a9b2c20255fb7bd2b0ac7d45601a03d570b0", - { - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - Address("0xef69a9b2c20255fb7bd2b0ac7d45601a03d570b0"): Account( - storage={8: 1, 9: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000008169dc735802bb5c18a777052cf4ce326b5fd725", - { - Address("0x8169dc735802bb5c18a777052cf4ce326b5fd725"): Account( - storage={8: 1, 9: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call_ask_more_gas_on_depth2_then_transaction_has( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ask_more_gas_on_depth2_then_transaction_has.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -79,125 +74,155 @@ def test_static_call_ask_more_gas_on_depth2_then_transaction_has( gas_limit=10000000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x8, value=0x1) + Op.STOP, + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x5044bfb29664a79de12215897c630dc8a11b0b97"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE( - key=0x9, - value=Op.STATICCALL( - gas=0x30D40, - address=0xE5A4D8074950EC8067D602848B666CA151B09C9F, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 8 1) (SSTORE 9 (STATICCALL 200000 0 0 0 0)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE( + key=0x9, + value=Op.STATICCALL( + gas=0x30D40, + address=0xD9539C5A3DC4713D47A547BFC9A075BD97287080, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x8169dc735802bb5c18a777052cf4ce326b5fd725"), # noqa: E501 + address=Address(0xEF69A9B2C20255FB7BD2B0AC7D45601A03D570B0), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x8, value=Op.GAS) + Op.STOP, + # Source: lll + # { (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0 0 0 0)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x8, value=Op.GAS) + + Op.MSTORE( + offset=0x9, + value=Op.STATICCALL( + gas=0x927C0, + address=0x5044BFB29664A79DE12215897C630DC8A11B0B97, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x91b291a3336bc1357388354df18ca061b39e3745"), # noqa: E501 + address=Address(0xD9539C5A3DC4713D47A547BFC9A075BD97287080), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 8 1)} + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=0x1) + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x5044BFB29664A79DE12215897C630DC8A11B0B97), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x8, value=Op.GAS) - + Op.MSTORE( - offset=0x9, - value=Op.STATICCALL( - gas=0x927C0, - address=0x5044BFB29664A79DE12215897C630DC8A11B0B97, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 8 1) (SSTORE 9 (STATICCALL 200000 0 0 0 0)) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE( + key=0x9, + value=Op.STATICCALL( + gas=0x30D40, + address=0xE5A4D8074950EC8067D602848B666CA151B09C9F, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xd9539c5a3dc4713d47a547bfc9a075bd97287080"), # noqa: E501 + address=Address(0x8169DC735802BB5C18A777052CF4CE326B5FD725), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x8, value=Op.GAS) - + Op.MSTORE( - offset=0x9, - value=Op.STATICCALL( - gas=0x927C0, - address=0x91B291A3336BC1357388354DF18CA061B39E3745, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0 0 0 0)) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x8, value=Op.GAS) + + Op.MSTORE( + offset=0x9, + value=Op.STATICCALL( + gas=0x927C0, + address=0x91B291A3336BC1357388354DF18CA061B39E3745, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xe5a4d8074950ec8067d602848b666ca151b09c9f"), # noqa: E501 + address=Address(0xE5A4D8074950EC8067D602848B666CA151B09C9F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE( - key=0x9, - value=Op.STATICCALL( - gas=0x30D40, - address=0xD9539C5A3DC4713D47A547BFC9A075BD97287080, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 8 (GAS))} + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x8, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0xef69a9b2c20255fb7bd2b0ac7d45601a03d570b0"), # noqa: E501 + address=Address(0x91B291A3336BC1357388354DF18CA061B39E3745), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage={8: 1, 9: 1}), + addr_2: Account(storage={8: 0, 9: 0}), + addr_3: Account(storage={8: 0}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_4: Account(storage={8: 1, 9: 1}), + addr_5: Account(storage={8: 0, 9: 0}), + addr_6: Account(storage={8: 0}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [600000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=600000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_basic.py b/tests/ported_static/stStaticCall/test_static_call_basic.py index 9da97ee3cec..00a1b0623e4 100644 --- a/tests/ported_static/stStaticCall/test_static_call_basic.py +++ b/tests/ported_static/stStaticCall/test_static_call_basic.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_basic. Ported from: -tests/static/state_tests/stStaticCall/static_callBasicFiller.json +state_tests/stStaticCall/static_callBasicFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,69 +27,50 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_callBasicFiller.json"], + ["state_tests/stStaticCall/static_callBasicFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000d3c0847ca0222f22dcfb4a433a378ff58ad6a881", - { - Address("0x13670d6bd41acd42d75e7c4c25df7384a6fbd752"): Account( - storage={1: 1} - ), - Address("0xd3c0847ca0222f22dcfb4a433a378ff58ad6a881"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000ead198f480fb91a5fbedcf5eb28cd369ee4c6cf2", - { - Address("0x13670d6bd41acd42d75e7c4c25df7384a6fbd752"): Account( - storage={1: 1} - ), - Address("0xd3c0847ca0222f22dcfb4a433a378ff58ad6a881"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "000000000000000000000000eb015f637a39c63f8b6db67505f5c02c613defc1", - { - Address("0x13670d6bd41acd42d75e7c4c25df7384a6fbd752"): Account( - storage={0: 1, 1: 1} - ), - Address("0xd3c0847ca0222f22dcfb4a433a378ff58ad6a881"): Account( - storage={1: 1} - ), - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "000000000000000000000000d5b64fa2ca1e471b45b639a5e9c259ca24c28ace", - { - Address("0x13670d6bd41acd42d75e7c4c25df7384a6fbd752"): Account( - storage={0: 1, 1: 1} - ), - Address("0xd3c0847ca0222f22dcfb4a433a378ff58ad6a881"): Account( - storage={1: 1} - ), - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call_basic( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_basic.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -98,110 +84,143 @@ def test_static_call_basic( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x186A0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x186A0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x13670d6bd41acd42d75e7c4c25df7384a6fbd752"), # noqa: E501 + address=Address(0x13670D6BD41ACD42D75E7C4C25DF7384A6FBD752), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.LOG0(offset=0x1, size=0xA) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 1 ]] 1 } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, + storage={1: 1}, balance=23, nonce=0, - address=Address("0x2e0dd8abe4e68c5b602f3c65051f4b30c6d018da"), # noqa: E501 + address=Address(0xD3C0847CA0222F22DCFB4A433A378FF58AD6A881), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + # Source: lll + # { [[ 1 ]] 0 } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, + storage={1: 0}, balance=23, nonce=0, - address=Address("0xc93c7a588b13699e562b3933e8f2b1c15e610781"), # noqa: E501 + address=Address(0xEAD198F480FB91A5FBEDCF5EB28CD369EE4C6CF2), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, - storage={0x1: 0x1}, + # Source: lll + # { (CALL 40000 0 0 0 0 0) (MSTORE 1 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x9C40, + address=0x2E0DD8ABE4E68C5B602F3C65051F4B30C6D018DA, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.STOP, balance=23, nonce=0, - address=Address("0xd3c0847ca0222f22dcfb4a433a378ff58ad6a881"), # noqa: E501 + address=Address(0xEB015F637A39C63F8B6DB67505F5C02C613DEFC1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x9C40, - address=0xC93C7A588B13699E562B3933E8F2B1C15E610781, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (LOG0 1 10) (MSTORE 1 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.LOG0(offset=0x1, size=0xA) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.STOP, balance=23, nonce=0, - address=Address("0xd5b64fa2ca1e471b45b639a5e9c259ca24c28ace"), # noqa: E501 + address=Address(0x2E0DD8ABE4E68C5B602F3C65051F4B30C6D018DA), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x0}, + # Source: lll + # { (CALLCODE 40000 1 0 0 0 0) (MSTORE 1 1) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x9C40, + address=0xC93C7A588B13699E562B3933E8F2B1C15E610781, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.STOP, balance=23, nonce=0, - address=Address("0xead198f480fb91a5fbedcf5eb28cd369ee4c6cf2"), # noqa: E501 + address=Address(0xD5B64FA2CA1E471B45B639A5E9C259CA24C28ACE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x9C40, - address=0x2E0DD8ABE4E68C5B602F3C65051F4B30C6D018DA, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 1 1) } + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, balance=23, nonce=0, - address=Address("0xeb015f637a39c63f8b6db67505f5c02c613defc1"), # noqa: E501 + address=Address(0xC93C7A588B13699E562B3933E8F2B1C15E610781), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0, 1: 1})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 1, 1: 1}), + addr_6: Account(balance=23), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [1000000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1000000, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_change_revert.py b/tests/ported_static/stStaticCall/test_static_call_change_revert.py index 7a97b1d7f0f..1aa56589b9b 100644 --- a/tests/ported_static/stStaticCall/test_static_call_change_revert.py +++ b/tests/ported_static/stStaticCall/test_static_call_change_revert.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_change_revert. Ported from: -tests/static/state_tests/stStaticCall/static_callChangeRevertFiller.json +state_tests/stStaticCall/static_callChangeRevertFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,47 +27,44 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callChangeRevertFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callChangeRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000e6f1fdaa1c99007971c641e10af3a8fac0b641c8", - { - Address("0xe6f1fdaa1c99007971c641e10af3a8fac0b641c8"): Account( - storage={0: 1, 1: 1, 2: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000ea22ec955ac71d8e4380541212bd20818d704567", - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "0000000000000000000000002c004389edaae817e664b6d660f46735756b56d3", - { - Address("0x2c004389edaae817e664b6d660f46735756b56d3"): Account( - storage={0: 1, 2: 1} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call_change_revert( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_change_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -76,189 +78,222 @@ def test_static_call_change_revert( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x186A0, - address=0x47C4ED3D93429CB8304737E2327B522E8928C9F3, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x186A0, - address=0x47C4ED3D93429CB8304737E2327B522E8928C9F3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x186A0, - address=0x47C4ED3D93429CB8304737E2327B522E8928C9F3, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (CALL 350000 (CALLDATALOAD 0) 0 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x55730, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2c004389edaae817e664b6d660f46735756b56d3"), # noqa: E501 + address=Address(0x492BB18ADCE7DA2BED3592742FB4E3DF9086FB4C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=Op.SLOAD(key=0x1)) - + Op.STOP - ), - nonce=0, - address=Address("0x47c4ed3d93429cb8304737e2327b522e8928c9f3"), # noqa: E501 - ) - # Source: LLL - # { (CALL 350000 (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x55730, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, + # Source: lll + # { [[ 0 ]] (CALL 100000 1 0 0 0 0) [[ 1 ]] (STATICCALL 100000 0 0 0 0) [[ 2 ]] (CALL 100000 1 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x186A0, + address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, + value=0x1, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x186A0, + address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x186A0, + address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x492bb18adce7da2bed3592742fb4e3df9086fb4c"), # noqa: E501 + address=Address(0xE6F1FDAA1C99007971C641E10AF3A8FAC0B641C8), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (MSTORE 1 1) } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, nonce=0, - address=Address("0xc031fc0aa7b61a5d7d962afee8838dec6948abb7"), # noqa: E501 + address=Address(0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x186A0, - address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x186A0, - address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x186A0, - address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 100000 1 0 0 0 0) [[ 1 ]] (STATICCALL 100000 0 0 0 0) [[ 2 ]] (CALL 100000 1 0 0 0 0) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x186A0, + address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x186A0, + address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x186A0, + address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x8F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x73) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe6f1fdaa1c99007971c641e10af3a8fac0b641c8"), # noqa: E501 + address=Address(0xEA22EC955AC71D8E4380541212BD20818D704567), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x186A0, - address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x186A0, - address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.CALL( - gas=0x186A0, - address=0xC031FC0AA7B61A5D7D962AFEE8838DEC6948ABB7, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x8F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x73) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL 100000 1 0 0 0 0) [[ 1 ]] (STATICCALL 100000 0 0 0 0) [[ 2 ]] (CALL 100000 1 0 0 0 0) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x186A0, + address=0x47C4ED3D93429CB8304737E2327B522E8928C9F3, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x186A0, + address=0x47C4ED3D93429CB8304737E2327B522E8928C9F3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, + value=Op.CALL( + gas=0x186A0, + address=0x47C4ED3D93429CB8304737E2327B522E8928C9F3, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xea22ec955ac71d8e4380541212bd20818d704567"), # noqa: E501 + address=Address(0x2C004389EDAAE817E664B6D660F46735756B56D3), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 1) (SSTORE 1 (SLOAD 1)) } + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=Op.SLOAD(key=0x1)) + + Op.STOP, + nonce=0, + address=Address(0x47C4ED3D93429CB8304737E2327B522E8928C9F3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage={0: 1, 1: 1, 2: 1}), + addr_2: Account(balance=2), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_3: Account(storage={0: 0, 1: 0, 2: 0}), + addr_2: Account(balance=0), + }, + }, + { + "indexes": {"data": 2, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_4: Account(storage={0: 1, 1: 0, 2: 1}), + addr_5: Account(balance=2), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [1000000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1000000, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_and_call_it_oog.py b/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_and_call_it_oog.py index 691f79410c9..6710604ac0c 100644 --- a/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_and_call_it_oog.py +++ b/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_and_call_it_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_contract_to_create_contract_and_call_it_oog. Ported from: -tests/static/state_tests/stStaticCall -static_CallContractToCreateContractAndCallItOOGFiller.json +state_tests/stStaticCall/static_CallContractToCreateContractAndCallItOOGFiller.json """ import pytest @@ -12,9 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -24,38 +29,40 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CallContractToCreateContractAndCallItOOGFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CallContractToCreateContractAndCallItOOGFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ("00", {}), - ( - "01", - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6} - ), - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={0: 12} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call_contract_to_create_contract_and_call_it_oog( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_contract_to_create_contract_and_call_it_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -69,52 +76,78 @@ def test_static_call_contract_to_create_contract_and_call_it_oog( gas_limit=100000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 1 11 21) (STATICCALL 1000 (SLOAD 0) 0 0 0 0) (IF (EQ (CALLDATALOAD 0) 0) (KECCAK256 0x00 0x2fffff) (GAS) ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600C60005566602060406000F060205260076039F3, - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15) - ) - + Op.POP( - Op.STATICCALL( - gas=0x3E8, - address=Op.SLOAD(key=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x600C60005566602060406000F060205260076039F3 + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15)) + + Op.POP( + Op.STATICCALL( + gas=0x3E8, + address=Op.SLOAD(key=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPI( - pc=0x40, condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x0) - ) - + Op.GAS - + Op.JUMP(pc=0x48) - + Op.JUMPDEST - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.JUMPI(pc=0x40, condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x0)) + + Op.GAS + + Op.JUMP(pc=0x48) + + Op.JUMPDEST + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.JUMPDEST + + Op.STOP, balance=1000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + nonce=1, + ), + sender: Account(nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 12}, balance=1, nonce=1 + ), + }, + }, + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={0: 0, 2: 0}, nonce=0), + sender: Account(nonce=1), + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("00"), + Bytes("01"), + ] + tx_gas = [2000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=2000000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_oog.py b/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_oog.py index 42e7ff33fd6..b389aa587f1 100644 --- a/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_oog.py +++ b/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_contract_to_create_contract_oog. Ported from: -tests/static/state_tests/stStaticCall -static_CallContractToCreateContractOOGFiller.json +state_tests/stStaticCall/static_CallContractToCreateContractOOGFiller.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,38 +28,40 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CallContractToCreateContractOOGFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CallContractToCreateContractOOGFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - (0, {}), - ( + pytest.param( + 0, + 0, + 0, + id="-v0", + ), + pytest.param( + 0, + 0, 1, - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6} - ), - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={0: 12} - ), - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call_contract_to_create_contract_oog( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_contract_to_create_contract_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -69,39 +75,64 @@ def test_static_call_contract_to_create_contract_oog( gas_limit=100000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x600c60005566602060406000f060205260076039f3) [[0]](CREATE 1 11 21) (STATICCALL 0 (SLOAD 0) 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600C60005566602060406000F060205260076039F3, - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15) - ) - + Op.STATICCALL( - gas=0x0, - address=Op.SLOAD(key=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x600C60005566602060406000F060205260076039F3 + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15)) + + Op.STATICCALL( + gas=0x0, + address=Op.SLOAD(key=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x2540BE400) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={0: 0}, nonce=0), + sender: Account(nonce=1), + }, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + nonce=1, + ), + sender: Account(nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [100000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=100000, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_oog_bonus_gas.py b/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_oog_bonus_gas.py index 462df136c27..54d37a49a9f 100644 --- a/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_oog_bonus_gas.py +++ b/tests/ported_static/stStaticCall/test_static_call_contract_to_create_contract_oog_bonus_gas.py @@ -2,8 +2,7 @@ Gas analysis showed this test's gas can go as low as 101174, and still... Ported from: -tests/static/state_tests/stStaticCall -static_CallContractToCreateContractOOGBonusGasFiller.json +state_tests/stStaticCall/static_CallContractToCreateContractOOGBonusGasFiller.json """ import pytest @@ -12,9 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -24,39 +29,41 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CallContractToCreateContractOOGBonusGasFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CallContractToCreateContractOOGBonusGasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 20000000, - { - Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"): Account( - storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6} - ), - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={0: 12} - ), - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), - (80000, {}), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call_contract_to_create_contract_oog_bonus_gas( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Gas analysis showed this test's gas can go as low as 101174, and...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -70,42 +77,72 @@ def test_static_call_contract_to_create_contract_oog_bonus_gas( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x600c60005566602060406000f060205260076039f3) [[0]](CREATE 1 11 21) [[ 1 ]] (STATICCALL 0 (SLOAD 0) 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600C60005566602060406000F060205260076039F3, - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15) - ) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x0, - address=Op.SLOAD(key=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x600C60005566602060406000F060205260076039F3 + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15)) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x0, + address=Op.SLOAD(key=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=112, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x2540BE400) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun=Cancun None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_contract_to_create_contract_which_would_create_con...""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,48 +51,52 @@ def test_static_call_contract_to_create_contract_which_would_create_contract_if_ gas_limit=100000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x600c60005566602060406000f060205260076039f3) [[ 0 ]](CREATE 1 11 21) [[ 1 ]] (STATICCALL 150000 (SLOAD 0) 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x600C60005566602060406000F060205260076039F3, - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15) - ) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x249F0, - address=Op.SLOAD(key=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x600C60005566602060406000F060205260076039F3 + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0xB, size=0x15)) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x249F0, + address=Op.SLOAD(key=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=1000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x2540BE400) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=300000, ) post = { - contract: Account( - storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + contract_0: Account( + storage={ + 0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6, + 1: 0, + }, + nonce=1, ), - Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"): Account( - storage={0: 12}, + Address( + 0x62C01474F089B07DAE603491675DC5B5748F7049 + ): Account.NONEXISTENT, + sender: Account(nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 12}, balance=1, nonce=1 ), } diff --git a/tests/ported_static/stStaticCall/test_static_call_create.py b/tests/ported_static/stStaticCall/test_static_call_create.py index cb19f531d08..714100333f0 100644 --- a/tests/ported_static/stStaticCall/test_static_call_create.py +++ b/tests/ported_static/stStaticCall/test_static_call_create.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_create. Ported from: -tests/static/state_tests/stStaticCall/static_callCreateFiller.json +state_tests/stStaticCall/static_callCreateFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,53 +27,50 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_callCreateFiller.json"], + ["state_tests/stStaticCall/static_callCreateFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000f5c27325e6c5769b6569971cd81e01570fd30ef1", - { - Address("0xe49f04b30026f23e9e04493c44ece7cfec9224ca"): Account( - storage={0: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "00000000000000000000000029d4d72a31d1b141b2067d1d4193bdf12fcddc41", - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "000000000000000000000000b4aa7cc91d100eddc01f22ca32f643bb0f1c91cc", - { - Address("0xe49f04b30026f23e9e04493c44ece7cfec9224ca"): Account( - storage={0: 1} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "000000000000000000000000f9ecfe0635fefb5ad44418f97d7fcaf210ebd5aa", - { - Address("0xe49f04b30026f23e9e04493c44ece7cfec9224ca"): Account( - storage={0: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call_create( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_create.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -82,94 +84,115 @@ def test_static_call_create( gas_limit=10000000, ) - pre.deploy_contract( - code=Op.CREATE(value=0x0, offset=0x1, size=0x1) + Op.STOP, - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x29d4d72a31d1b141b2067d1d4193bdf12fcddc41"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x249F0, - address=0x29D4D72A31D1B141B2067D1D4193BDF12FCDDC41, + # Source: lll + # { [[ 0 ]] (STATICCALL 300000 (CALLDATALOAD 0) 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x493E0, + address=Op.CALLDATALOAD(offset=0x0), args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb4aa7cc91d100eddc01f22ca32f643bb0f1c91cc"), # noqa: E501 + address=Address(0xE49F04B30026F23E9E04493C44ECE7CFEC9224CA), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 300000 (CALLDATALOAD 0) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x493E0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (CALL 150000 0 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x249F0, + address=0x29D4D72A31D1B141B2067D1D4193BDF12FCDDC41, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe49f04b30026f23e9e04493c44ece7cfec9224ca"), # noqa: E501 + address=Address(0xF5C27325E6C5769B6569971CD81E01570FD30EF1), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.CALL( - gas=0x249F0, - address=0x29D4D72A31D1B141B2067D1D4193BDF12FCDDC41, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 150000 0 0 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x249F0, + address=0x29D4D72A31D1B141B2067D1D4193BDF12FCDDC41, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf5c27325e6c5769b6569971cd81e01570fd30ef1"), # noqa: E501 + address=Address(0xB4AA7CC91D100EDDC01F22CA32F643BB0F1C91CC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x249F0, - address=0x29D4D72A31D1B141B2067D1D4193BDF12FCDDC41, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 150000 0 0 0 0) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x249F0, + address=0x29D4D72A31D1B141B2067D1D4193BDF12FCDDC41, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf9ecfe0635fefb5ad44418f97d7fcaf210ebd5aa"), # noqa: E501 + address=Address(0xF9ECFE0635FEFB5AD44418F97D7FCAF210EBD5AA), # noqa: E501 ) + # Source: lll + # { (CREATE 0 1 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.CREATE(value=0x0, offset=0x1, size=0x1) + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x29D4D72A31D1B141B2067D1D4193BDF12FCDDC41), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 2, 3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_4, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [1000000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1000000, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_create2.py b/tests/ported_static/stStaticCall/test_static_call_create2.py index af8717dced9..54c33b8d0a8 100644 --- a/tests/ported_static/stStaticCall/test_static_call_create2.py +++ b/tests/ported_static/stStaticCall/test_static_call_create2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_create2. Ported from: -tests/static/state_tests/stStaticCall/static_callCreate2Filler.json +state_tests/stStaticCall/static_callCreate2Filler.json """ import pytest @@ -12,8 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -22,48 +28,48 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_callCreate2Filler.json"], + ["state_tests/stStaticCall/static_callCreate2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000001000000000000000000000000000000000000000", - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={ - 0: 0x13136008B64FF592819B2FA6D43F2835C452020E, - 1: 1, - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000001000000000000000000000000000000000000001", - { - Address("0x1000000000000000000000000000000000000001"): Account( - storage={0: 0x5DDDFCE53EE040D9EB21AFBC0AE1BB4DBB0BA643} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "0000000000000000000000001000000000000000000000000000000000000002", - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call_create2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_create2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA000000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000000) + contract_2 = Address(0x1000000000000000000000000000000000000001) + contract_3 = Address(0x1000000000000000000000000000000000000002) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -77,120 +83,149 @@ def test_static_call_create2( gas_limit=10000000, ) - # Source: LLL - # { [[ 0 ]] (CREATE 1 0 0) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) } - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0x0, size=0x0) - ) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x493E0, - address=Op.SLOAD(key=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (CALL 600000 (CALLDATALOAD 0) 0 0 0 0 0) } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x927C0, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0x6460016001556000526005601bf3 ) [[ 0 ]] (CREATE 1 18 14) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0x12, size=0xE) - ) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x493E0, - address=Op.SLOAD(key=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CREATE 1 0 0) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.CREATE(value=0x1, offset=0x0, size=0x0) + ) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x493E0, + address=Op.SLOAD(key=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0x6460016001556000526005601bf3 ) [[ 0 ]] (CREATE 1 18 14) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0x12, size=0xE) - ) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x493E0, - address=Op.SLOAD(key=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x2F) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0x6460016001556000526005601bf3 ) [[ 0 ]] (CREATE 1 18 14) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) } # noqa: E501 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0x12, size=0xE)) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x493E0, + address=Op.SLOAD(key=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1000000000000000000000000000000000000002"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL - # { (CALL 600000 (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x927C0, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, + # Source: lll + # { (MSTORE 0 0x6460016001556000526005601bf3 ) [[ 0 ]] (CREATE 1 18 14) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x6460016001556000526005601BF3) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0x12, size=0xE)) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x493E0, + address=Op.SLOAD(key=0x0), args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x2F) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000002), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={ + 0: 0x13136008B64FF592819B2FA6D43F2835C452020E, + 1: 1, + }, + ), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account( + storage={ + 0: 0x5DDDFCE53EE040D9EB21AFBC0AE1BB4DBB0BA643, + 1: 0, + }, + ), + compute_create_address(address=contract_2, nonce=0): Account( + storage={}, code=bytes.fromhex("6001600155") + ), + }, + }, + { + "indexes": {"data": 2, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 0, 1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_1, left_padding=True), + Hash(contract_2, left_padding=True), + Hash(contract_3, left_padding=True), + ] + tx_gas = [1000000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1000000, - value=100000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_create3.py b/tests/ported_static/stStaticCall/test_static_call_create3.py index a0000b0f4da..44f5ac81bc3 100644 --- a/tests/ported_static/stStaticCall/test_static_call_create3.py +++ b/tests/ported_static/stStaticCall/test_static_call_create3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_create3. Ported from: -tests/static/state_tests/stStaticCall/static_callCreate3Filler.json +state_tests/stStaticCall/static_callCreate3Filler.json """ import pytest @@ -12,6 +12,7 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,17 +23,19 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_callCreate3Filler.json"], + ["state_tests/stStaticCall/static_callCreate3Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_create3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_create3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA000000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,68 +49,59 @@ def test_static_call_create3( gas_limit=10000000, ) - # Source: LLL - # { (MSTORE 0 0x6d600060006000600030620186a0fa600052600e6012f3) [[ 0 ]] (CREATE 1 9 23) [[ 1 ]] (STATICCALL 30000 (SLOAD 0) 0 0 0 0) [[ 2 ]] 1 } # noqa: E501 - callee = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6D600060006000600030620186A0FA600052600E6012F3, - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x1, offset=0x9, size=0x17) - ) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x7530, - address=Op.SLOAD(key=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0x1) - + Op.STOP - ), + # Source: lll + # { (CALL 600000 (CALLDATALOAD 0) 0 0 0 0 0) } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x927C0, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (CALL 600000 (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x927C0, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, + # Source: lll + # { (MSTORE 0 0x6d600060006000600030620186a0fa600052600e6012f3) [[ 0 ]] (CREATE 1 9 23) [[ 1 ]] (STATICCALL 30000 (SLOAD 0) 0 0 0 0) [[ 2 ]] 1 } # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x6D600060006000600030620186A0FA600052600E6012F3 + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x1, offset=0x9, size=0x17)) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x7530, + address=Op.SLOAD(key=0x0), args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x2, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "0000000000000000000000001000000000000000000000000000000000000000" - ), + to=contract_0, + data=Hash(contract_1, left_padding=True), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - callee: Account( + contract_1: Account( storage={ 0: 0x13136008B64FF592819B2FA6D43F2835C452020E, 1: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover0.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover0.py index a1d15d925bf..402741a5515 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover0.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover0. Ported from: -tests/static/state_tests/stStaticCall/static_CallEcrecover0Filler.json +state_tests/stStaticCall/static_CallEcrecover0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,18 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallEcrecover0Filler.json"], + ["state_tests/stStaticCall/static_CallEcrecover0Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,56 +48,54 @@ def test_static_call_ecrecover0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x493E0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x493E0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_0input.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_0input.py index 238a15bc67f..08e2b13a797 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_0input.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_0input.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover0_0input. Ported from: -tests/static/state_tests/stStaticCall/static_CallEcrecover0_0inputFiller.json +state_tests/stStaticCall/static_CallEcrecover0_0inputFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,112 +27,80 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallEcrecover0_0inputFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallEcrecover0_0inputFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000000000000000000000000000000000000000000000", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000002", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={ - 0: 0x8209944E898F69A7BD10A23C839D341E935FD5CA, - 2: 1, - } - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000003", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={ - 0: 0x4300A157335CB7C9FC9423E011D7DD51090D093F, - 2: 1, - } - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000004", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000005", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000006", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000007", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000008", - {}, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call_ecrecover0_0input( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover0_0input.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -141,204 +114,90 @@ def test_static_call_ecrecover0_0input( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (STATICCALL 300000 (CALLDATALOAD 0) 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x493E0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x493E0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"), # noqa: E501 + address=Address(0x1FD04A51AC69C94C58521D30E2DEFC4856A581B0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=3652240, - value=100000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallEcrecover0_0inputFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "0000000000000000000000000000000000000000000000000000000000000000", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000002", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( + expect_entries_: list[dict] = [ + { + "indexes": {"data": 8, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={2: 0})}, + }, + { + "indexes": {"data": [0, 1, 4, 5, 6, 7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={2: 1})}, + }, + { + "indexes": {"data": 2, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( storage={ 0: 0x8209944E898F69A7BD10A23C839D341E935FD5CA, 2: 1, - } - ) + }, + ), }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000003", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( + }, + { + "indexes": {"data": 3, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( storage={ 0: 0x4300A157335CB7C9FC9423E011D7DD51090D093F, 2: 1, - } - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000004", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000005", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000006", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000007", - { - Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"): Account( - storage={2: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000008", - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - ], -) -@pytest.mark.pre_alloc_mutable -@pytest.mark.slow -def test_static_call_ecrecover0_0input_from_osaka( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL - # { [[ 2 ]] (STATICCALL 300000 (CALLDATALOAD 0) 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x493E0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, + }, ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.STOP - ), - balance=0x1312D00, - nonce=0, - address=Address("0x1fd04a51ac69c94c58521d30e2defc4856a581b0"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x0), + Hash(0x1), + Hash(0x2), + Hash(0x3), + Hash(0x4), + Hash(0x5), + Hash(0x6), + Hash(0x7), + Hash(0x8), + ] + tx_gas = [3652240] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3652240, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_complete_return_value.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_complete_return_value.py index d264d74cf11..da95498db9e 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_complete_return_value.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_complete_return_value.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover0_complete_return_value. Ported from: -tests/static/state_tests/stStaticCall -static_CallEcrecover0_completeReturnValueFiller.json +state_tests/stStaticCall/static_CallEcrecover0_completeReturnValueFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,19 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CallEcrecover0_completeReturnValueFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CallEcrecover0_completeReturnValueFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover0_complete_return_value( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover0_complete_return_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,52 +50,51 @@ def test_static_call_ecrecover0_complete_return_value( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 13000 1 0 128 128 32) [[ 0 ]] (MLOAD 128) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x32C8, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x32C8, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_gas2999.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_gas2999.py index 2dc12eb5baf..512e421fd88 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_gas2999.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_gas2999.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover0_gas2999. Ported from: -tests/static/state_tests/stStaticCall/static_CallEcrecover0_Gas2999Filler.json +state_tests/stStaticCall/static_CallEcrecover0_Gas2999Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallEcrecover0_Gas2999Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallEcrecover0_Gas2999Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover0_gas2999( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover0_gas2999.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,54 +47,52 @@ def test_static_call_ecrecover0_gas2999( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 2999 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0xBB7, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0xBB7, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xa2c5b42ceef52ed9fad58b7c78f1a9fde7241247"), # noqa: E501 + address=Address(0xA2C5B42CEEF52ED9FAD58B7C78F1A9FDE7241247), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={2: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_gas3000.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_gas3000.py index 0c4a2d880f9..bfca4018811 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_gas3000.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_gas3000.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover0_gas3000. Ported from: -tests/static/state_tests/stStaticCall/static_CallEcrecover0_gas3000Filler.json +state_tests/stStaticCall/static_CallEcrecover0_gas3000Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,18 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallEcrecover0_gas3000Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallEcrecover0_gas3000Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover0_gas3000( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover0_gas3000.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,56 +48,54 @@ def test_static_call_ecrecover0_gas3000( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 3000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0xBB8, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0xBB8, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_no_gas.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_no_gas.py index 0ee0807d2df..674c360d8f5 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_no_gas.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_no_gas.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover0_no_gas. Ported from: -tests/static/state_tests/stStaticCall/static_CallEcrecover0_NoGasFiller.json +state_tests/stStaticCall/static_CallEcrecover0_NoGasFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallEcrecover0_NoGasFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallEcrecover0_NoGasFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover0_no_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover0_no_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,52 +47,50 @@ def test_static_call_ecrecover0_no_gas( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 0 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x6231f5f50790a293b60749cf936c2f442d692bb4"), # noqa: E501 + address=Address(0x6231F5F50790A293B60749CF936C2F442D692BB4), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post: dict = {} diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_overlapping_input_output.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_overlapping_input_output.py index e0c1c7dbe32..58be186c704 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover0_overlapping_input_output.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover0_overlapping_input_output.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover0_overlapping_input_output. Ported from: -tests/static/state_tests/stStaticCall -static_CallEcrecover0_overlappingInputOutputFiller.json +state_tests/stStaticCall/static_CallEcrecover0_overlappingInputOutputFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,19 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CallEcrecover0_overlappingInputOutputFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CallEcrecover0_overlappingInputOutputFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover0_overlapping_input_output( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover0_overlapping_input_output.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,56 +50,54 @@ def test_static_call_ecrecover0_overlapping_input_output( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 64 32) [[ 0 ]] (MOD (MLOAD 64) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x493E0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x40, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x40), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x493E0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x40, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x40), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover1.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover1.py index 453329aa919..7651d0d4548 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover1.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover1. Ported from: -tests/static/state_tests/stStaticCall/static_CallEcrecover1Filler.json +state_tests/stStaticCall/static_CallEcrecover1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallEcrecover1Filler.json"], + ["state_tests/stStaticCall/static_CallEcrecover1Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,56 +47,52 @@ def test_static_call_ecrecover1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 1) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 100000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x186A0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x186A0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x618120f7c175e20b183addd8859095183359b357"), # noqa: E501 + address=Address(0x618120F7C175E20B183ADDD8859095183359B357), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover2.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover2.py index d63981460d3..6c8479c30b7 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover2.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover2. Ported from: -tests/static/state_tests/stStaticCall/static_CallEcrecover2Filler.json +state_tests/stStaticCall/static_CallEcrecover2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallEcrecover2Filler.json"], + ["state_tests/stStaticCall/static_CallEcrecover2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,56 +47,52 @@ def test_static_call_ecrecover2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 33 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 65 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 100000 1 0 97 97 32) [[ 0 ]] (MOD (MLOAD 97) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x21, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x41, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x186A0, - address=0x1, - args_offset=0x0, - args_size=0x61, - ret_offset=0x61, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x61), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x21, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x41, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x186A0, + address=0x1, + args_offset=0x0, + args_size=0x61, + ret_offset=0x61, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x61), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x77c4dedd873bb751217a744a41ccc43a37e0859e"), # noqa: E501 + address=Address(0x77C4DEDD873BB751217A744A41CCC43A37E0859E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover3.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover3.py index 0425a495b48..dd6afae45f5 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover3.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover3. Ported from: -tests/static/state_tests/stStaticCall/static_CallEcrecover3Filler.json +state_tests/stStaticCall/static_CallEcrecover3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallEcrecover3Filler.json"], + ["state_tests/stStaticCall/static_CallEcrecover3Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,56 +47,54 @@ def test_static_call_ecrecover3( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x2f380a2dea7e778d81affc2443403b8fe4644db442ae4862ff5bb3732829cdb9) (MSTORE 32 27) (MSTORE 64 0x6b65ccb0558806e9b097f27a396d08f964e37b8b7af6ceeb516ff86739fbea0a) (MSTORE 96 0x37cbc8d883e129a4b1ef9d5f1df53c4f21a3ef147cf2a50a4ede0eb06ce092d4) [[ 2 ]] (STATICCALL 100000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x2F380A2DEA7E778D81AFFC2443403B8FE4644DB442AE4862FF5BB3732829CDB9, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1B) - + Op.MSTORE( - offset=0x40, - value=0x6B65CCB0558806E9B097F27A396D08F964E37B8B7AF6CEEB516FF86739FBEA0A, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x37CBC8D883E129A4B1EF9D5F1DF53C4F21A3EF147CF2A50A4EDE0EB06CE092D4, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x186A0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x2F380A2DEA7E778D81AFFC2443403B8FE4644DB442AE4862FF5BB3732829CDB9, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1B) + + Op.MSTORE( + offset=0x40, + value=0x6B65CCB0558806E9B097F27A396D08F964E37B8B7AF6CEEB516FF86739FBEA0A, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x37CBC8D883E129A4B1EF9D5F1DF53C4F21A3EF147CF2A50A4EDE0EB06CE092D4, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x186A0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xc2f38613f26b4b1c6de179462718c7e67c175419"), # noqa: E501 + address=Address(0xC2F38613F26B4B1C6DE179462718C7E67C175419), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xE4319F4B631C6D0FCFC84045DBCB676865FE5E13, 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover80.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover80.py index e453a846dfd..88caa192658 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover80.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover80.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover80. Ported from: -tests/static/state_tests/stStaticCall/static_CallEcrecover80Filler.json +state_tests/stStaticCall/static_CallEcrecover80Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallEcrecover80Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallEcrecover80Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover80( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover80.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,56 +47,52 @@ def test_static_call_ecrecover80( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x493E0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x493E0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xb04d781b56fba0546d9c9fd33c9fb623908d49d2"), # noqa: E501 + address=Address(0xB04D781B56FBA0546D9C9FD33C9FB623908D49D2), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={0: 0, 1: 0, 2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover_check_length.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover_check_length.py index d831dc361b6..57d6e56cfed 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover_check_length.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover_check_length.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover_check_length. Ported from: -tests/static/state_tests/stStaticCall -static_CallEcrecoverCheckLengthFiller.json +state_tests/stStaticCall/static_CallEcrecoverCheckLengthFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,18 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallEcrecoverCheckLengthFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallEcrecoverCheckLengthFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover_check_length( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover_check_length.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,57 +48,56 @@ def test_static_call_ecrecover_check_length( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 128 0x1122334455667788990011223344556677889900112233445566778899001122) (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MLOAD 128) [[ 1 ]] (MSIZE) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x80, - value=0x1122334455667788990011223344556677889900112233445566778899001122, # noqa: E501 - ) - + Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x493E0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) - + Op.SSTORE(key=0x1, value=Op.MSIZE) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x80, + value=0x1122334455667788990011223344556677889900112233445566778899001122, # noqa: E501 + ) + + Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x493E0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) + + Op.SSTORE(key=0x1, value=Op.MSIZE) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 160, diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover_check_length_wrong_v.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover_check_length_wrong_v.py index 0263baf7a90..d3acf5ef081 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover_check_length_wrong_v.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover_check_length_wrong_v.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover_check_length_wrong_v. Ported from: -tests/static/state_tests/stStaticCall -static_CallEcrecoverCheckLengthWrongVFiller.json +state_tests/stStaticCall/static_CallEcrecoverCheckLengthWrongVFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CallEcrecoverCheckLengthWrongVFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CallEcrecoverCheckLengthWrongVFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover_check_length_wrong_v( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover_check_length_wrong_v.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,57 +49,56 @@ def test_static_call_ecrecover_check_length_wrong_v( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 128 0x1122334455667788990011223344556677889900112233445566778899001122) (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 29) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MLOAD 128) [[ 1 ]] (MSIZE) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x80, - value=0x1122334455667788990011223344556677889900112233445566778899001122, # noqa: E501 - ) - + Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1D) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x493E0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) - + Op.SSTORE(key=0x1, value=Op.MSIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x80, + value=0x1122334455667788990011223344556677889900112233445566778899001122, # noqa: E501 + ) + + Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1D) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x493E0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x80)) + + Op.SSTORE(key=0x1, value=Op.MSIZE) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x41f7ee7d96703a0f8bd1bf92288996596ca85bd6"), # noqa: E501 + address=Address(0x41F7EE7D96703A0F8BD1BF92288996596CA85BD6), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x1122334455667788990011223344556677889900112233445566778899001122, # noqa: E501 1: 160, diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover_h_prefixed0.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover_h_prefixed0.py index c978c1ffa4c..ea35f8768dc 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover_h_prefixed0.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover_h_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover_h_prefixed0. Ported from: -tests/static/state_tests/stStaticCall -static_CallEcrecoverH_prefixed0Filler.json +state_tests/stStaticCall/static_CallEcrecoverH_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallEcrecoverH_prefixed0Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallEcrecoverH_prefixed0Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover_h_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover_h_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,58 +47,57 @@ def test_static_call_ecrecover_h_prefixed0( gas_limit=10000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x493E0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xC547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x493E0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xeeaa46c8d2b439bccc8ba7b735f1f68564c75801"), # noqa: E501 + address=Address(0xEEAA46C8D2B439BCCC8BA7B735F1F68564C75801), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xA0B29AF6A56D6CFEF6415CB195CCBE540E006D0A, + 1: 0, 2: 1, }, ), diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover_r_prefixed0.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover_r_prefixed0.py index d68e08de4d8..c543ae7ba01 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover_r_prefixed0.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover_r_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover_r_prefixed0. Ported from: -tests/static/state_tests/stStaticCall -static_CallEcrecoverR_prefixed0Filler.json +state_tests/stStaticCall/static_CallEcrecoverR_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallEcrecoverR_prefixed0Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallEcrecoverR_prefixed0Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover_r_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover_r_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,56 +47,52 @@ def test_static_call_ecrecover_r_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x493E0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0xB1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x493E0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x2e063e550f3f9751ef9eb0da5e2b392c3ece8e6e"), # noqa: E501 + address=Address(0x2E063E550F3F9751EF9EB0DA5E2B392C3ECE8E6E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={0: 0, 1: 0, 2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover_s_prefixed0.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover_s_prefixed0.py index 81e83654dba..15ef873cde3 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover_s_prefixed0.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover_s_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover_s_prefixed0. Ported from: -tests/static/state_tests/stStaticCall -static_CallEcrecoverS_prefixed0Filler.json +state_tests/stStaticCall/static_CallEcrecoverS_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallEcrecoverS_prefixed0Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallEcrecoverS_prefixed0Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover_s_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover_s_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,58 +47,57 @@ def test_static_call_ecrecover_s_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x493E0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x493E0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x200ecc0698b28ef50ee8bf150b2d7a87ed969482"), # noqa: E501 + address=Address(0x200ECC0698B28EF50EE8BF150B2D7A87ED969482), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xB4950A7FAD428434B11C357FA6D4B4BCD3096A5D, + 1: 0, 2: 1, }, ), diff --git a/tests/ported_static/stStaticCall/test_static_call_ecrecover_v_prefixed0.py b/tests/ported_static/stStaticCall/test_static_call_ecrecover_v_prefixed0.py index 39122295e73..4330ce2f807 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ecrecover_v_prefixed0.py +++ b/tests/ported_static/stStaticCall/test_static_call_ecrecover_v_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ecrecover_v_prefixed0. Ported from: -tests/static/state_tests/stStaticCall -static_CallEcrecoverV_prefixed0Filler.json +state_tests/stStaticCall/static_CallEcrecoverV_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,18 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallEcrecoverV_prefixed0Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallEcrecoverV_prefixed0Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ecrecover_v_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ecrecover_v_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,56 +48,54 @@ def test_static_call_ecrecover_v_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 0x001c) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x493E0, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x80, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x493E0, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x80, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x0, value=Op.MOD(Op.MLOAD(offset=0x80), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x1, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x0))) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3652240, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 1: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_goes_oog_on_second_level.py b/tests/ported_static/stStaticCall/test_static_call_goes_oog_on_second_level.py index 9a0c8fc768e..67c548c3359 100644 --- a/tests/ported_static/stStaticCall/test_static_call_goes_oog_on_second_level.py +++ b/tests/ported_static/stStaticCall/test_static_call_goes_oog_on_second_level.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_goes_oog_on_second_level. Ported from: -tests/static/state_tests/stStaticCall -static_CallGoesOOGOnSecondLevelFiller.json +state_tests/stStaticCall/static_CallGoesOOGOnSecondLevelFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallGoesOOGOnSecondLevelFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallGoesOOGOnSecondLevelFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_goes_oog_on_second_level( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_goes_oog_on_second_level.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -49,59 +47,64 @@ def test_static_call_goes_oog_on_second_level( gas_limit=10000000, ) - pre.deploy_contract( - code=Op.SHA3(offset=0x0, size=0x2FFFFF) + Op.STOP, + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (SSTORE 9 (STATICCALL 600000 0 0 0 0)) [[ 10 ]] (GAS) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x9, + value=Op.STATICCALL( + gas=0x927C0, + address=0xA1202B00F0CB8ACDD112E4FC87899F33572541C6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0xA, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x44969261d9660fcc1a2e03db83ba372ebf5f652d"), # noqa: E501 + address=Address(0x6A2A170A903E470C3DD8BFD7974C77020C5FD8F9), # noqa: E501 ) - # Source: LLL - # { (SSTORE 9 (STATICCALL 600000 0 0 0 0)) [[ 10 ]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x9, - value=Op.STATICCALL( - gas=0x927C0, - address=0xA1202B00F0CB8ACDD112E4FC87899F33572541C6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0xA, value=Op.GAS) - + Op.STOP - ), + # Source: lll + # { (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0 0 0 0)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x8, value=Op.GAS) + + Op.MSTORE( + offset=0x9, + value=Op.STATICCALL( + gas=0x927C0, + address=0x44969261D9660FCC1A2E03DB83BA372EBF5F652D, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x6a2a170a903e470c3dd8bfd7974c77020c5fd8f9"), # noqa: E501 + address=Address(0xA1202B00F0CB8ACDD112E4FC87899F33572541C6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x8, value=Op.GAS) - + Op.MSTORE( - offset=0x9, - value=Op.STATICCALL( - gas=0x927C0, - address=0x44969261D9660FCC1A2E03DB83BA372EBF5F652D, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SHA3(offset=0x0, size=0x2FFFFF) + Op.STOP, nonce=0, - address=Address("0xa1202b00f0cb8acdd112e4fc87899f33572541c6"), # noqa: E501 + address=Address(0x44969261D9660FCC1A2E03DB83BA372EBF5F652D), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=220000, ) - post: dict = {} + post = { + addr: Account(storage={}), + addr_2: Account(storage={}), + target: Account(storage={}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_goes_oog_on_second_level2.py b/tests/ported_static/stStaticCall/test_static_call_goes_oog_on_second_level2.py index 758d419dd06..a101aad3b73 100644 --- a/tests/ported_static/stStaticCall/test_static_call_goes_oog_on_second_level2.py +++ b/tests/ported_static/stStaticCall/test_static_call_goes_oog_on_second_level2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_goes_oog_on_second_level2. Ported from: -tests/static/state_tests/stStaticCall -static_CallGoesOOGOnSecondLevel2Filler.json +state_tests/stStaticCall/static_CallGoesOOGOnSecondLevel2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallGoesOOGOnSecondLevel2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallGoesOOGOnSecondLevel2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000f2774cee95a518a51cd32426d3ce8db19f095b37", - "00000000000000000000000045e70d14d712a8898dce133fe063f71179f04059", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call_goes_oog_on_second_level2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_goes_oog_on_second_level2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -58,79 +69,82 @@ def test_static_call_goes_oog_on_second_level2( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 600000 0 32 0 0) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x927C0, + address=0x666EBB8AFC7A9BA4BEDB7D78F85184B65639531D, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x45e70d14d712a8898dce133fe063f71179f04059"), # noqa: E501 + address=Address(0xB9C1C6C39CB3E528B2EF06493C17D63B7827077B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x8, value=Op.GAS) - + Op.MSTORE( - offset=0x9, - value=Op.STATICCALL( - gas=0x927C0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 (CALLDATALOAD 0) 0 0 0 0)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x8, value=Op.GAS) + + Op.MSTORE( + offset=0x9, + value=Op.STATICCALL( + gas=0x927C0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x666ebb8afc7a9ba4bedb7d78f85184b65639531d"), # noqa: E501 + address=Address(0x666EBB8AFC7A9BA4BEDB7D78F85184B65639531D), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 600000 0 32 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x927C0, - address=0x666EBB8AFC7A9BA4BEDB7D78F85184B65639531D, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 1 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb9c1c6c39cb3e528b2ef06493c17d63b7827077b"), # noqa: E501 + address=Address(0xF2774CEE95A518A51CD32426D3CE8DB19F095B37), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xf2774cee95a518a51cd32426d3ce8db19f095b37"), # noqa: E501 + address=Address(0x45E70D14D712A8898DCE133FE063F71179F04059), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [160000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=160000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post: dict = {} + post = {target: Account(storage={0: 0, 1: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_identitiy_1.py b/tests/ported_static/stStaticCall/test_static_call_identitiy_1.py index 62d7ca98044..d4cea15356c 100644 --- a/tests/ported_static/stStaticCall/test_static_call_identitiy_1.py +++ b/tests/ported_static/stStaticCall/test_static_call_identitiy_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_identitiy_1. Ported from: -tests/static/state_tests/stStaticCall/static_CallIdentitiy_1Filler.json +state_tests/stStaticCall/static_CallIdentitiy_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallIdentitiy_1Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallIdentitiy_1Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_identitiy_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_identitiy_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,39 +47,36 @@ def test_static_call_identitiy_1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (STATICCALL 500 4 0 0 0 32) [[ 0 ]] (MLOAD 0)} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1F4, - address=0x4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1F4, + address=0x4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x93d25ce7c8af6cace03dcb393962cb32ba8d4f42"), # noqa: E501 + address=Address(0x93D25CE7C8AF6CACE03DCB393962CB32BA8D4F42), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={0: 0, 2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_identity_1_nonzero_value.py b/tests/ported_static/stStaticCall/test_static_call_identity_1_nonzero_value.py index 3f8a3fa010e..af26095d83c 100644 --- a/tests/ported_static/stStaticCall/test_static_call_identity_1_nonzero_value.py +++ b/tests/ported_static/stStaticCall/test_static_call_identity_1_nonzero_value.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_identity_1_nonzero_value. Ported from: -tests/static/state_tests/stStaticCall -static_CallIdentity_1_nonzeroValueFiller.json +state_tests/stStaticCall/static_CallIdentity_1_nonzeroValueFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallIdentity_1_nonzeroValueFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallIdentity_1_nonzeroValueFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_identity_1_nonzero_value( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_identity_1_nonzero_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,50 +47,52 @@ def test_static_call_identity_1_nonzero_value( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (STATICCALL 200000 4 0 0 0 32) (CALL 50000 4 0x13 0 0 0 0) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x30D40, - address=0x4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.POP( - Op.CALL( - gas=0xC350, - address=0x4, - value=0x13, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x30D40, + address=0x4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.POP( + Op.CALL( + gas=0xC350, + address=0x4, + value=0x13, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xBEBC200, nonce=0, - address=Address("0x07f023a2418eb0dc955c465d7e5ef48189f005be"), # noqa: E501 + address=Address(0x07F023A2418EB0DC955C465D7E5EF48189F005BE), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={2: 1}), + Address(0x0000000000000000000000000000000000000004): Account( + balance=19 + ), + target: Account(storage={0: 0, 2: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_identity_2.py b/tests/ported_static/stStaticCall/test_static_call_identity_2.py index 043bd7cf18a..96ea610d598 100644 --- a/tests/ported_static/stStaticCall/test_static_call_identity_2.py +++ b/tests/ported_static/stStaticCall/test_static_call_identity_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_identity_2. Ported from: -tests/static/state_tests/stStaticCall/static_CallIdentity_2Filler.json +state_tests/stStaticCall/static_CallIdentity_2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallIdentity_2Filler.json"], + ["state_tests/stStaticCall/static_CallIdentity_2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_identity_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_identity_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,40 +47,37 @@ def test_static_call_identity_2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 4 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1F4, - address=0x4, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1F4, + address=0x4, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xc23a3b84d36d8d9d3d045162c4c153465de4816c"), # noqa: E501 + address=Address(0xC23A3B84D36D8D9D3D045162C4C153465DE4816C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 0xF34578907F, 2: 1}), - } + post = {target: Account(storage={0: 0xF34578907F, 2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_identity_3.py b/tests/ported_static/stStaticCall/test_static_call_identity_3.py index b225b479e85..b186a4b22f9 100644 --- a/tests/ported_static/stStaticCall/test_static_call_identity_3.py +++ b/tests/ported_static/stStaticCall/test_static_call_identity_3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_identity_3. Ported from: -tests/static/state_tests/stStaticCall/static_CallIdentity_3Filler.json +state_tests/stStaticCall/static_CallIdentity_3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallIdentity_3Filler.json"], + ["state_tests/stStaticCall/static_CallIdentity_3Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_identity_3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_identity_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,40 +47,37 @@ def test_static_call_identity_3( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 4 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1F4, - address=0x4, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1F4, + address=0x4, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xc23a3b84d36d8d9d3d045162c4c153465de4816c"), # noqa: E501 + address=Address(0xC23A3B84D36D8D9D3D045162C4C153465DE4816C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 0xF34578907F, 2: 1}), - } + post = {target: Account(storage={0: 0xF34578907F, 2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_identity_4.py b/tests/ported_static/stStaticCall/test_static_call_identity_4.py index b43848f85fa..75b52c55ce9 100644 --- a/tests/ported_static/stStaticCall/test_static_call_identity_4.py +++ b/tests/ported_static/stStaticCall/test_static_call_identity_4.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_identity_4. Ported from: -tests/static/state_tests/stStaticCall/static_CallIdentity_4Filler.json +state_tests/stStaticCall/static_CallIdentity_4Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallIdentity_4Filler.json"], + ["state_tests/stStaticCall/static_CallIdentity_4Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_identity_4( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_identity_4.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,43 +47,42 @@ def test_static_call_identity_4( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 100 4 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x64, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x64, + address=0x4, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x1e23b8487de5c16b372f0abe69d7c9d57118defd"), # noqa: E501 + address=Address(0x1E23B8487DE5C16B372F0ABE69D7C9D57118DEFD), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_identity_4_gas17.py b/tests/ported_static/stStaticCall/test_static_call_identity_4_gas17.py index afed92ae708..d7828e843e3 100644 --- a/tests/ported_static/stStaticCall/test_static_call_identity_4_gas17.py +++ b/tests/ported_static/stStaticCall/test_static_call_identity_4_gas17.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_identity_4_gas17. Ported from: -tests/static/state_tests/stStaticCall/static_CallIdentity_4_gas17Filler.json +state_tests/stStaticCall/static_CallIdentity_4_gas17Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallIdentity_4_gas17Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallIdentity_4_gas17Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_identity_4_gas17( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_identity_4_gas17.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,45 +47,45 @@ def test_static_call_identity_4_gas17( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 17 4 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x11, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x11, + address=0x4, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x23ef65623397a46f452ada1dc7e9f974b028ad46"), # noqa: E501 + address=Address(0x23EF65623397A46F452ADA1DC7E9F974B028AD46), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 2: 0, }, ), } diff --git a/tests/ported_static/stStaticCall/test_static_call_identity_4_gas18.py b/tests/ported_static/stStaticCall/test_static_call_identity_4_gas18.py index f44ba9ee6a9..b9708a272c1 100644 --- a/tests/ported_static/stStaticCall/test_static_call_identity_4_gas18.py +++ b/tests/ported_static/stStaticCall/test_static_call_identity_4_gas18.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_identity_4_gas18. Ported from: -tests/static/state_tests/stStaticCall/static_CallIdentity_4_gas18Filler.json +state_tests/stStaticCall/static_CallIdentity_4_gas18Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallIdentity_4_gas18Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallIdentity_4_gas18Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_identity_4_gas18( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_identity_4_gas18.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,43 +47,42 @@ def test_static_call_identity_4_gas18( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 18 4 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x12, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x12, + address=0x4, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x3b631e26eb9003c05e06782820db8893b7c864df"), # noqa: E501 + address=Address(0x3B631E26EB9003C05E06782820DB8893B7C864DF), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_identity_5.py b/tests/ported_static/stStaticCall/test_static_call_identity_5.py index 49cff8b4b9f..12369f7713e 100644 --- a/tests/ported_static/stStaticCall/test_static_call_identity_5.py +++ b/tests/ported_static/stStaticCall/test_static_call_identity_5.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_identity_5. Ported from: -tests/static/state_tests/stStaticCall/static_CallIdentity_5Filler.json +state_tests/stStaticCall/static_CallIdentity_5Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallIdentity_5Filler.json"], + ["state_tests/stStaticCall/static_CallIdentity_5Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_identity_5( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_identity_5.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,43 +47,42 @@ def test_static_call_identity_5( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 600 4 0 1000000 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x258, - address=0x4, - args_offset=0x0, - args_size=0xF4240, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x258, + address=0x4, + args_offset=0x0, + args_size=0xF4240, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xe916a006634545dcd9a7df166a5da16ed90148b0"), # noqa: E501 + address=Address(0xE916A006634545DCD9A7DF166A5DA16ED90148B0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stStaticCall/test_static_call_lose_gas_oog.py b/tests/ported_static/stStaticCall/test_static_call_lose_gas_oog.py index 6ae2427ddfc..b0af0e1ee31 100644 --- a/tests/ported_static/stStaticCall/test_static_call_lose_gas_oog.py +++ b/tests/ported_static/stStaticCall/test_static_call_lose_gas_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_lose_gas_oog. Ported from: -tests/static/state_tests/stStaticCall/static_CallLoseGasOOGFiller.json +state_tests/stStaticCall/static_CallLoseGasOOGFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,21 +23,21 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallLoseGasOOGFiller.json"], + ["state_tests/stStaticCall/static_CallLoseGasOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_lose_gas_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_call_lose_gas_oog.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -48,43 +49,39 @@ def test_static_call_lose_gas_oog( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL (ADD 1(MUL @@0 100000)) 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x186A0)), - address=0x7F04B68576FC8573ABDC49251B804F6CB44617CE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x186A0)), + address=0x7F04B68576FC8573ABDC49251B804F6CB44617CE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, value=Op.ADD(0x1, Op.MUL(Op.SLOAD(key=0x0), 0x3E8)) + ) + + Op.STOP, balance=1024, nonce=0, - address=Address("0x7f04b68576fc8573abdc49251b804f6cb44617ce"), # noqa: E501 + address=Address(0x7F04B68576FC8573ABDC49251B804F6CB44617CE), # noqa: E501 ) - pre[callee] = Account(balance=7000, nonce=0) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, value=10, ) - post = { - contract: Account(storage={0: 1, 2: 1001}), - } + post = {target: Account(storage={0: 1, 2: 1001})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_one_v_call_suicide.py b/tests/ported_static/stStaticCall/test_static_call_one_v_call_suicide.py index ec7a01fbc26..33065232403 100644 --- a/tests/ported_static/stStaticCall/test_static_call_one_v_call_suicide.py +++ b/tests/ported_static/stStaticCall/test_static_call_one_v_call_suicide.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_one_v_call_suicide. Ported from: -tests/static/state_tests/stStaticCall/static_CALL_OneVCallSuicideFiller.json +state_tests/stStaticCall/static_CALL_OneVCallSuicideFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CALL_OneVCallSuicideFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CALL_OneVCallSuicideFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_one_v_call_suicide( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_one_v_call_suicide.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,47 +47,49 @@ def test_static_call_one_v_call_suicide( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[1]](STATICCALL 60000 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0xEA60, - address=0x9EB21FC7FD6DB177A8AAEFB4FB2289D2B31C8ED5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0xEA60, + address=0x9EB21FC7FD6DB177A8AAEFB4FB2289D2B31C8ED5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, balance=100, nonce=0, - address=Address("0x8cb4cc1396942231551322a3ba85da94c3b1ec16"), # noqa: E501 + address=Address(0x8CB4CC1396942231551322A3BA85DA94C3B1EC16), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x8CB4CC1396942231551322A3BA85DA94C3B1EC16) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x8CB4CC1396942231551322A3BA85DA94C3B1EC16 + ) + + Op.STOP, balance=1, nonce=0, - address=Address("0x9eb21fc7fd6db177a8aaefb4fb2289d2b31c8ed5"), # noqa: E501 + address=Address(0x9EB21FC7FD6DB177A8AAEFB4FB2289D2B31C8ED5), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={100: 1}), + addr: Account(balance=1), + target: Account(storage={1: 0, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_oog_additional_gas_costs1.py b/tests/ported_static/stStaticCall/test_static_call_oog_additional_gas_costs1.py index 2489aa67b48..beaf18a288e 100644 --- a/tests/ported_static/stStaticCall/test_static_call_oog_additional_gas_costs1.py +++ b/tests/ported_static/stStaticCall/test_static_call_oog_additional_gas_costs1.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_oog_additional_gas_costs1. Ported from: -tests/static/state_tests/stStaticCall -static_call_OOG_additionalGasCosts1Filler.json +state_tests/stStaticCall/static_call_OOG_additionalGasCosts1Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_call_OOG_additionalGasCosts1Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_call_OOG_additionalGasCosts1Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_oog_additional_gas_costs1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_oog_additional_gas_costs1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,36 +49,35 @@ def test_static_call_oog_additional_gas_costs1( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 6000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x1770, - address=0x1000000000000000000000000000000000000001, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x1770, + address=0x1000000000000000000000000000000000000001, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe5625454dfc66a8dcc86f028c5f5ab384f2e8cc3"), # noqa: E501 + address=Address(0xE5625454DFC66A8DCC86F028C5F5AB384F2E8CC3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=30000, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_oog_additional_gas_costs2_paris.py b/tests/ported_static/stStaticCall/test_static_call_oog_additional_gas_costs2_paris.py index 294bda69bcc..c801c9e79b2 100644 --- a/tests/ported_static/stStaticCall/test_static_call_oog_additional_gas_costs2_paris.py +++ b/tests/ported_static/stStaticCall/test_static_call_oog_additional_gas_costs2_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_oog_additional_gas_costs2_paris. Ported from: -tests/static/state_tests/stStaticCall -static_call_OOG_additionalGasCosts2_ParisFiller.json +state_tests/stStaticCall/static_call_OOG_additionalGasCosts2_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,22 +24,22 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_call_OOG_additionalGasCosts2_ParisFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_call_OOG_additionalGasCosts2_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_oog_additional_gas_costs2_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_oog_additional_gas_costs2_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -50,37 +50,39 @@ def test_static_call_oog_additional_gas_costs2_paris( gas_limit=3000000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 6000 0 64 0 64 ) [[ 1 ]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x1770, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x1770, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb836bad7c1ae4c13ac3cbec9a4445ea8b80e3a31"), # noqa: E501 + address=Address(0xB836BAD7C1AE4C13AC3CBEC9A4445EA8B80E3A31), # noqa: E501 ) + pre[addr] = Account(balance=10) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=30000, ) - post: dict = {} + post = { + target: Account(storage={}), + addr: Account(balance=10), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_output1.py b/tests/ported_static/stStaticCall/test_static_call_output1.py index 72d71f25a95..df38cded9a3 100644 --- a/tests/ported_static/stStaticCall/test_static_call_output1.py +++ b/tests/ported_static/stStaticCall/test_static_call_output1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_output1. Ported from: -tests/static/state_tests/stStaticCall/static_callOutput1Filler.json +state_tests/stStaticCall/static_callOutput1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_callOutput1Filler.json"], + ["state_tests/stStaticCall/static_callOutput1Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_output1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_output1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,49 +47,49 @@ def test_static_call_output1( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0 0 0 0) [[ 0 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9c450200c431343e91665596bd7f249469f3823a"), # noqa: E501 + address=Address(0x9C450200C431343E91665596BD7F249469F3823A), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stStaticCall/test_static_call_output2.py b/tests/ported_static/stStaticCall/test_static_call_output2.py index 14f691b24f8..ab3aa1a330c 100644 --- a/tests/ported_static/stStaticCall/test_static_call_output2.py +++ b/tests/ported_static/stStaticCall/test_static_call_output2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_output2. Ported from: -tests/static/state_tests/stStaticCall/static_callOutput2Filler.json +state_tests/stStaticCall/static_callOutput2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_callOutput2Filler.json"], + ["state_tests/stStaticCall/static_callOutput2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_output2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_output2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,49 +47,49 @@ def test_static_call_output2( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0 32 0 0) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0cc5226eea92a2af2f4f36413737f04f984c43a7"), # noqa: E501 + address=Address(0x0CC5226EEA92A2AF2F4F36413737F04F984C43A7), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stStaticCall/test_static_call_output3.py b/tests/ported_static/stStaticCall/test_static_call_output3.py index be560294ca2..ebeb6891dab 100644 --- a/tests/ported_static/stStaticCall/test_static_call_output3.py +++ b/tests/ported_static/stStaticCall/test_static_call_output3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_output3. Ported from: -tests/static/state_tests/stStaticCall/static_callOutput3Filler.json +state_tests/stStaticCall/static_callOutput3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_callOutput3Filler.json"], + ["state_tests/stStaticCall/static_callOutput3Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_output3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_output3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -46,49 +47,49 @@ def test_static_call_output3( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0 0 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x70663c1333ecbaea42f33ab4ec9bb647c794bfcd"), # noqa: E501 + address=Address(0x70663C1333ECBAEA42F33AB4EC9BB647C794BFCD), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stStaticCall/test_static_call_output3_fail.py b/tests/ported_static/stStaticCall/test_static_call_output3_fail.py index 56b5bf4855b..4ded5413f69 100644 --- a/tests/ported_static/stStaticCall/test_static_call_output3_fail.py +++ b/tests/ported_static/stStaticCall/test_static_call_output3_fail.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_output3_fail. Ported from: -tests/static/state_tests/stStaticCall/static_callOutput3FailFiller.json +state_tests/stStaticCall/static_callOutput3FailFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callOutput3FailFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callOutput3FailFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_output3_fail( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_output3_fail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -48,49 +47,49 @@ def test_static_call_output3_fail( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0 0 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x70663c1333ecbaea42f33ab4ec9bb647c794bfcd"), # noqa: E501 + address=Address(0x70663C1333ECBAEA42F33AB4EC9BB647C794BFCD), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x016001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x834abc2c68c5f44ea9ae82b67aaf92044901cdc6"), # noqa: E501 + address=Address(0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stStaticCall/test_static_call_output3partial.py b/tests/ported_static/stStaticCall/test_static_call_output3partial.py index dc9bc054b76..3fd4cd42c25 100644 --- a/tests/ported_static/stStaticCall/test_static_call_output3partial.py +++ b/tests/ported_static/stStaticCall/test_static_call_output3partial.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_output3partial. Ported from: -tests/static/state_tests/stStaticCall/static_callOutput3partialFiller.json +state_tests/stStaticCall/static_callOutput3partialFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callOutput3partialFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callOutput3partialFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_output3partial( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_output3partial.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -48,49 +47,49 @@ def test_static_call_output3partial( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xA, ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0xBCC1197CCD23A97607F2F96D031F3432E0D16A02, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xA, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa4216cfba09e812ce041c734f1a2f266cb02b02d"), # noqa: E501 + address=Address(0xA4216CFBA09E812CE041C734F1A2F266CB02B02D), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x6001600101600055 + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbcc1197ccd23a97607f2f96d031f3432e0d16a02"), # noqa: E501 + address=Address(0xBCC1197CCD23A97607F2F96D031F3432E0D16A02), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stStaticCall/test_static_call_output3partial_fail.py b/tests/ported_static/stStaticCall/test_static_call_output3partial_fail.py index 109b67ac156..6a701a9a979 100644 --- a/tests/ported_static/stStaticCall/test_static_call_output3partial_fail.py +++ b/tests/ported_static/stStaticCall/test_static_call_output3partial_fail.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_output3partial_fail. Ported from: -tests/static/state_tests/stStaticCall/static_callOutput3partialFailFiller.json +state_tests/stStaticCall/static_callOutput3partialFailFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callOutput3partialFailFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callOutput3partialFailFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_output3partial_fail( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_output3partial_fail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -48,49 +47,49 @@ def test_static_call_output3partial_fail( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( - code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), + # Source: lll + # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 + ) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0xA, + ) + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x834abc2c68c5f44ea9ae82b67aaf92044901cdc6"), # noqa: E501 + address=Address(0xA4216CFBA09E812CE041C734F1A2F266CB02B02D), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0 0 0 10) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0xA, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + pre[sender] = Account(balance=0xDE0B6B3A7640000) + # Source: raw + # 0x016001600101600055 + addr = pre.deploy_contract( # noqa: F841 + code=Op.ADD + Op.SSTORE(key=0x0, value=Op.ADD(0x1, 0x1)), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa4216cfba09e812ce041c734f1a2f266cb02b02d"), # noqa: E501 + address=Address(0x834ABC2C68C5F44EA9AE82B67AAF92044901CDC6), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x5E20A0453CECD065EA59C37AC63E079EE08998B6045136A8CE6635C7912EC0B6, # noqa: E501 }, diff --git a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb0.py b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb0.py index 2ce79a0f3ef..363c767a98f 100644 --- a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb0.py +++ b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_recursive_bomb0. Ported from: -tests/static/state_tests/stStaticCall/static_CallRecursiveBomb0Filler.json +state_tests/stStaticCall/static_CallRecursiveBomb0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,20 +23,18 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRecursiveBomb0Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRecursiveBomb0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_recursive_bomb0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_recursive_bomb0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,56 +48,56 @@ def test_static_call_recursive_bomb0( gas_limit=100000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 100000000 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x5F5E100, - address=0xC2641F62F868340A29AFB342ECBE22936A4336AE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0x77359400, - nonce=0, - address=Address("0xa8f75b202dba133e3184b84520cf27623e8c993f"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x2AF8), - address=Op.ADDRESS, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x5F5E100, + address=0xC2641F62F868340A29AFB342ECBE22936A4336AE, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0x77359400, + nonce=0, + address=Address(0xA8F75B202DBA133E3184B84520CF27623E8C993F), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 11000) (ADDRESS) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x2AF8), + address=Op.ADDRESS, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc2641f62f868340a29afb342ecbe22936a4336ae"), # noqa: E501 + address=Address(0xC2641F62F868340A29AFB342ECBE22936A4336AE), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb0_oog_at_max_call_depth.py b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb0_oog_at_max_call_depth.py index d89f2cb3719..a4c926743a6 100644 --- a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb0_oog_at_max_call_depth.py +++ b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb0_oog_at_max_call_depth.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_recursive_bomb0_oog_at_max_call_depth. Ported from: -tests/static/state_tests/stStaticCall -static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json +state_tests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,19 +24,19 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_recursive_bomb0_oog_at_max_call_depth( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_recursive_bomb0_oog_at_max_call_depth.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -50,66 +50,61 @@ def test_static_call_recursive_bomb0_oog_at_max_call_depth( gas_limit=110000000000, ) - # Source: LLL + # Source: lll # { (CALLCODE (GAS) 0 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=0xBB09BB747BB11897420C59CACB65853142C67BB7, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0x1312D00, - nonce=0, - address=Address("0x4a20a569d7008020c8cd630cff560f3e627522d3"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.MSTORE( - offset=0x2, - value=Op.MUL( - Op.DIV(Op.MLOAD(offset=0x0), 0x402), - 0xFFFFFFFFFFFFFFFFFFF, - ), - ) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x400), - address=Op.ADDRESS, + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=Op.GAS, + address=0xBB09BB747BB11897420C59CACB65853142C67BB7, + value=0x0, args_offset=0x0, - args_size=Op.MUL( - Op.DIV(Op.MLOAD(offset=0x0), 0x402), - 0xFFFFFFFFFFFFFFFFFFF, - ), + args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0x1312D00, + nonce=0, + address=Address(0x4A20A569D7008020C8CD630CFF560F3E627522D3), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 (+ (SLOAD 0) 1)) (MSTORE 2 (MUL (DIV (MLOAD 0) 0x0402) 0xfffffffffffffffffff)) (STATICCALL (- (GAS) 1024) (ADDRESS) 0 (MUL (DIV (MLOAD 0) 0x0402) 0xfffffffffffffffffff) 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.MSTORE( + offset=0x2, + value=Op.MUL( + Op.DIV(Op.MLOAD(offset=0x0), 0x402), 0xFFFFFFFFFFFFFFFFFFF + ), + ) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x400), + address=Op.ADDRESS, + args_offset=0x0, + args_size=Op.MUL( + Op.DIV(Op.MLOAD(offset=0x0), 0x402), 0xFFFFFFFFFFFFFFFFFFF + ), + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xbb09bb747bb11897420c59cacb65853142c67bb7"), # noqa: E501 + address=Address(0xBB09BB747BB11897420C59CACB65853142C67BB7), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb1.py b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb1.py index 3567de66944..e1779f0b26d 100644 --- a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb1.py +++ b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_recursive_bomb1. Ported from: -tests/static/state_tests/stStaticCall/static_CallRecursiveBomb1Filler.json +state_tests/stStaticCall/static_CallRecursiveBomb1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,20 +23,18 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRecursiveBomb1Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRecursiveBomb1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_recursive_bomb1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_recursive_bomb1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,56 +48,53 @@ def test_static_call_recursive_bomb1( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (CALLCODE (GAS) 0 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=0xCF55FF2B7D15859F0CEA76885B2D9E850D7DCACD, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0x1312D00, - nonce=0, - address=Address("0x3134aac90d2474f00108572cb10ad2de05bfa7ee"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x3A98), - address=Op.ADDRESS, + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=Op.GAS, + address=0xCF55FF2B7D15859F0CEA76885B2D9E850D7DCACD, + value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0x1312D00, + nonce=0, + address=Address(0x3134AAC90D2474F00108572CB10AD2DE05BFA7EE), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 15000) (ADDRESS) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x3A98), + address=Op.ADDRESS, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xcf55ff2b7d15859f0cea76885b2d9e850d7dcacd"), # noqa: E501 + address=Address(0xCF55FF2B7D15859F0CEA76885B2D9E850D7DCACD), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=20622100, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb2.py b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb2.py index 192e104dce9..f8af9c790ab 100644 --- a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb2.py +++ b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_recursive_bomb2. Ported from: -tests/static/state_tests/stStaticCall/static_CallRecursiveBomb2Filler.json +state_tests/stStaticCall/static_CallRecursiveBomb2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,20 +23,18 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRecursiveBomb2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRecursiveBomb2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_recursive_bomb2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_recursive_bomb2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,57 +48,54 @@ def test_static_call_recursive_bomb2( gas_limit=100000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x3A98), - address=Op.ADDRESS, + # Source: lll + # { [[ 0 ]] (CALLCODE (GAS) 0 0 0 0 0) [[ 1 ]] 1} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=Op.GAS, + address=0xCF55FF2B7D15859F0CEA76885B2D9E850D7DCACD, + value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xcf55ff2b7d15859f0cea76885b2d9e850d7dcacd"), # noqa: E501 + address=Address(0xFB952C049826590F07BEE2F88274ADF6C4724A6C), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { [[ 0 ]] (CALLCODE (GAS) 0 0 0 0 0) [[ 1 ]] 1} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=Op.GAS, - address=0xCF55FF2B7D15859F0CEA76885B2D9E850D7DCACD, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 15000) (ADDRESS) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x3A98), + address=Op.ADDRESS, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xfb952c049826590f07bee2f88274adf6c4724a6c"), # noqa: E501 + address=Address(0xCF55FF2B7D15859F0CEA76885B2D9E850D7DCACD), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=20622099, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb3.py b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb3.py index 02802066721..e9b23c04fac 100644 --- a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb3.py +++ b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_recursive_bomb3. Ported from: -tests/static/state_tests/stStaticCall/static_CallRecursiveBomb3Filler.json +state_tests/stStaticCall/static_CallRecursiveBomb3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRecursiveBomb3Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRecursiveBomb3Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_recursive_bomb3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_recursive_bomb3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,57 +47,54 @@ def test_static_call_recursive_bomb3( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE ( - (GAS) 100000) 0 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xDA47DB5B3761AED22B9F70AEDAA7D54C5E340CC5, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0x1312D00, - nonce=0, - address=Address("0xb5347f5cfb7bf5da15162fb6d93a36b5cb3f4fa9"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0xE0), - address=Op.ADDRESS, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xDA47DB5B3761AED22B9F70AEDAA7D54C5E340CC5, + value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0x1312D00, + nonce=0, + address=Address(0xB5347F5CFB7BF5DA15162FB6D93A36B5CB3F4FA9), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 (+ (SLOAD 0) 1)) (STATICCALL (- (GAS) 224) (ADDRESS) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0xE0), + address=Op.ADDRESS, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xda47db5b3761aed22b9f70aedaa7d54c5e340cc5"), # noqa: E501 + address=Address(0xDA47DB5B3761AED22B9F70AEDAA7D54C5E340CC5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_log.py b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_log.py index 6a86e84cac3..962c9ed3eda 100644 --- a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_log.py +++ b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_log.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_recursive_bomb_log. Ported from: -tests/static/state_tests/stStaticCall/static_CallRecursiveBombLogFiller.json +state_tests/stStaticCall/static_CallRecursiveBombLogFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,20 +23,18 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRecursiveBombLogFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRecursiveBombLogFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_recursive_bomb_log( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_recursive_bomb_log.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,60 +48,57 @@ def test_static_call_recursive_bomb_log( gas_limit=100000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL (- (GAS) 100000) 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xC60FAB741BDA8373B3905ED824826A8F6EA8FD0A, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0x1312D00, - nonce=0, - address=Address("0x2effe40c3fdb4abb2979bfcfb8d814f1a786576d"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG0(offset=0x0, size=0x20) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x61A8), - address=Op.ADDRESS, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xC60FAB741BDA8373B3905ED824826A8F6EA8FD0A, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0x1312D00, + nonce=0, + address=Address(0x2EFFE40C3FDB4ABB2979BFCFB8D814F1A786576D), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) (STATICCALL (- (GAS) 25000) (ADDRESS) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG0(offset=0x0, size=0x20) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x61A8), + address=Op.ADDRESS, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc60fab741bda8373b3905ed824826a8f6ea8fd0a"), # noqa: E501 + address=Address(0xC60FAB741BDA8373B3905ED824826A8F6EA8FD0A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_log2.py b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_log2.py index cdf87867498..1253691d71f 100644 --- a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_log2.py +++ b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_log2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_recursive_bomb_log2. Ported from: -tests/static/state_tests/stStaticCall/static_CallRecursiveBombLog2Filler.json +state_tests/stStaticCall/static_CallRecursiveBombLog2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,20 +23,18 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRecursiveBombLog2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRecursiveBombLog2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_recursive_bomb_log2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_recursive_bomb_log2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,57 +48,57 @@ def test_static_call_recursive_bomb_log2( gas_limit=20000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL ( - (GAS) 100000) 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xB6D3EDE67FDCDD6C67468B0EE88BD06FA680F8B3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0x1312D00, - nonce=0, - address=Address("0x846ac33c2465429e6d236eeb8a440983ac2349ed"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG0(offset=0x0, size=0x20) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x61A8), - address=Op.ADDRESS, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xB6D3EDE67FDCDD6C67468B0EE88BD06FA680F8B3, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0x1312D00, + nonce=0, + address=Address(0x846AC33C2465429E6D236EEB8A440983AC2349ED), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 (GAS)) (LOG0 0 32) (STATICCALL (- (GAS) 25000) (ADDRESS) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.LOG0(offset=0x0, size=0x20) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x61A8), + address=Op.ADDRESS, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb6d3ede67fdcdd6c67468b0ee88bd06fa680f8b3"), # noqa: E501 + address=Address(0xB6D3EDE67FDCDD6C67468B0EE88BD06FA680F8B3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={1: 1}), + target: Account(storage={0: 0, 1: 1}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_pre_call.py b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_pre_call.py index 4293f5fa745..f44790d4296 100644 --- a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_pre_call.py +++ b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_pre_call.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_recursive_bomb_pre_call. Ported from: -tests/static/state_tests/stStaticCall -static_CallRecursiveBombPreCallFiller.json +state_tests/stStaticCall/static_CallRecursiveBombPreCallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,20 +23,18 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRecursiveBombPreCallFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRecursiveBombPreCallFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_recursive_bomb_pre_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_recursive_bomb_pre_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x77F65B71F1F16A75476F469F7106D1B60BFEC266AE25B8DA16A9091D223AA24A ) @@ -50,65 +48,65 @@ def test_static_call_recursive_bomb_pre_call( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (STATICCALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 0 ]] (DELEGATECALL 0x7ffffffffffffff 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0xBAD304EB96065B2A98B57A48A06AE28D285A71B5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x72E480206054168CFA7D5C6A1BD8C3FFE26A4D82, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0xBAD304EB96065B2A98B57A48A06AE28D285A71B5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - nonce=0, - address=Address("0x6a441a35b94353a66ffd7fd1e54550acecb81aaf"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x36B00), + ) + + Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x7FFFFFFFFFFFFFF, address=0x72E480206054168CFA7D5C6A1BD8C3FFE26A4D82, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + nonce=0, + address=Address(0x6A441A35B94353A66FFD7FD1E54550ACECB81AAF), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 224000) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x36B00), + address=0x72E480206054168CFA7D5C6A1BD8C3FFE26A4D82, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x72e480206054168cfa7d5c6a1bd8c3ffe26a4d82"), # noqa: E501 + address=Address(0x72E480206054168CFA7D5C6A1BD8C3FFE26A4D82), # noqa: E501 ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=9214364837600034817, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_pre_call2.py b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_pre_call2.py index a0f8bc888d8..4eed5ee7da2 100644 --- a/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_pre_call2.py +++ b/tests/ported_static/stStaticCall/test_static_call_recursive_bomb_pre_call2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_recursive_bomb_pre_call2. Ported from: -tests/static/state_tests/stStaticCall -static_CallRecursiveBombPreCall2Filler.json +state_tests/stStaticCall/static_CallRecursiveBombPreCall2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,20 +23,18 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRecursiveBombPreCall2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRecursiveBombPreCall2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_recursive_bomb_pre_call2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_recursive_bomb_pre_call2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x77F65B71F1F16A75476F469F7106D1B60BFEC266AE25B8DA16A9091D223AA24A ) @@ -50,65 +48,65 @@ def test_static_call_recursive_bomb_pre_call2( gas_limit=9223372036854775807, ) - # Source: LLL + # Source: lll # { (STATICCALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 0 ]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0xBAD304EB96065B2A98B57A48A06AE28D285A71B5, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xED136EDCE8F08EF121C25430E7DEC4ED3FEB511D, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - nonce=0, - address=Address("0x5e01fe5d73a471c61018a02f7cf7d8f977343093"), # noqa: E501 - ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) - + Op.STATICCALL( - gas=Op.SUB(Op.GAS, 0x36B00), - address=Op.ADDRESS, + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0xBAD304EB96065B2A98B57A48A06AE28D285A71B5, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xED136EDCE8F08EF121C25430E7DEC4ED3FEB511D, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + nonce=0, + address=Address(0x5E01FE5D73A471C61018A02F7CF7D8F977343093), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 224000) (ADDRESS) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(Op.MLOAD(offset=0x0), 0x1)) + + Op.STATICCALL( + gas=Op.SUB(Op.GAS, 0x36B00), + address=Op.ADDRESS, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xed136edce8f08ef121c25430e7dec4ed3feb511d"), # noqa: E501 + address=Address(0xED136EDCE8F08EF121C25430E7DEC4ED3FEB511D), # noqa: E501 ) + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=9214364837600034817, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_ripemd160_1.py b/tests/ported_static/stStaticCall/test_static_call_ripemd160_1.py index 9da320a5796..8c2c71d3895 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ripemd160_1.py +++ b/tests/ported_static/stStaticCall/test_static_call_ripemd160_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ripemd160_1. Ported from: -tests/static/state_tests/stStaticCall/static_CallRipemd160_1Filler.json +state_tests/stStaticCall/static_CallRipemd160_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRipemd160_1Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRipemd160_1Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ripemd160_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ripemd160_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,39 +47,38 @@ def test_static_call_ripemd160_1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (STATICCALL 600 3 0 0 0 32) [[ 0 ]] (MLOAD 0)} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x258, - address=0x3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x258, + address=0x3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xe9854e2c2ffbd0c6f24140954ad56f59ebc56434"), # noqa: E501 + address=Address(0xE9854E2C2FFBD0C6F24140954AD56F59EBC56434), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x9C1185A5C5E9FC54612808977EE8F548B2258D31, 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ripemd160_2.py b/tests/ported_static/stStaticCall/test_static_call_ripemd160_2.py index b07ca63f50a..b3016d6372d 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ripemd160_2.py +++ b/tests/ported_static/stStaticCall/test_static_call_ripemd160_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ripemd160_2. Ported from: -tests/static/state_tests/stStaticCall/static_CallRipemd160_2Filler.json +state_tests/stStaticCall/static_CallRipemd160_2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRipemd160_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRipemd160_2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ripemd160_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ripemd160_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,40 +47,39 @@ def test_static_call_ripemd160_2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 5 0xf34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x5, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1770, - address=0x3, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x5, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1770, + address=0x3, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x0d371480e081540255fbcef75d8c5c09535cec3a"), # noqa: E501 + address=Address(0x0D371480E081540255FBCEF75D8C5C09535CEC3A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xDBC100F916BFBC53535573D98CF0CBB3A5B36124, 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ripemd160_3.py b/tests/ported_static/stStaticCall/test_static_call_ripemd160_3.py index 6f24b8bd9ea..28e6f3818a2 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ripemd160_3.py +++ b/tests/ported_static/stStaticCall/test_static_call_ripemd160_3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ripemd160_3. Ported from: -tests/static/state_tests/stStaticCall/static_CallRipemd160_3Filler.json +state_tests/stStaticCall/static_CallRipemd160_3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRipemd160_3Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRipemd160_3Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ripemd160_3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ripemd160_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,40 +47,39 @@ def test_static_call_ripemd160_3( gas_limit=10000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1770, - address=0x3, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1770, + address=0x3, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xebbc88ff981239628c72a1b30bc50038e636471f"), # noqa: E501 + address=Address(0xEBBC88FF981239628C72A1B30BC50038E636471F), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x316750573F9BE26BC17727B47CACEDBD0AB3E6CA, 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ripemd160_3_postfixed0.py b/tests/ported_static/stStaticCall/test_static_call_ripemd160_3_postfixed0.py index b0178c7e5f0..834286c14e3 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ripemd160_3_postfixed0.py +++ b/tests/ported_static/stStaticCall/test_static_call_ripemd160_3_postfixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ripemd160_3_postfixed0. Ported from: -tests/static/state_tests/stStaticCall -static_CallRipemd160_3_postfixed0Filler.json +state_tests/stStaticCall/static_CallRipemd160_3_postfixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRipemd160_3_postfixed0Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRipemd160_3_postfixed0Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ripemd160_3_postfixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ripemd160_3_postfixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,40 +47,39 @@ def test_static_call_ripemd160_3_postfixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f00) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F00) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1770, - address=0x3, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F00) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1770, + address=0x3, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x8152f3b3414ac9676cd28740bd7900e041cb726c"), # noqa: E501 + address=Address(0x8152F3B3414AC9676CD28740BD7900E041CB726C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x7730B4642169B0F16752696DA8DA830A4B429C9D, 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ripemd160_3_prefixed0.py b/tests/ported_static/stStaticCall/test_static_call_ripemd160_3_prefixed0.py index 8c3a0efb4a8..e4edefdd9da 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ripemd160_3_prefixed0.py +++ b/tests/ported_static/stStaticCall/test_static_call_ripemd160_3_prefixed0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ripemd160_3_prefixed0. Ported from: -tests/static/state_tests/stStaticCall -static_CallRipemd160_3_prefixed0Filler.json +state_tests/stStaticCall/static_CallRipemd160_3_prefixed0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRipemd160_3_prefixed0Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRipemd160_3_prefixed0Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ripemd160_3_prefixed0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ripemd160_3_prefixed0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,40 +47,39 @@ def test_static_call_ripemd160_3_prefixed0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00f34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1770, - address=0x3, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1770, + address=0x3, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xa70cc468f5df9f13d75a41b072fc82378be1b31d"), # noqa: E501 + address=Address(0xA70CC468F5DF9F13D75A41B072FC82378BE1B31D), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x316750573F9BE26BC17727B47CACEDBD0AB3E6CA, 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ripemd160_4.py b/tests/ported_static/stStaticCall/test_static_call_ripemd160_4.py index 77a3c7f449d..28ed6281b48 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ripemd160_4.py +++ b/tests/ported_static/stStaticCall/test_static_call_ripemd160_4.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ripemd160_4. Ported from: -tests/static/state_tests/stStaticCall/static_CallRipemd160_4Filler.json +state_tests/stStaticCall/static_CallRipemd160_4Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRipemd160_4Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRipemd160_4Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ripemd160_4( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ripemd160_4.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,43 +47,42 @@ def test_static_call_ripemd160_4( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 720 3 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x2D0, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x2D0, + address=0x3, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xd2243cbf1de778d48e5fae09f95d4707623a9fb6"), # noqa: E501 + address=Address(0xD2243CBF1DE778D48E5FAE09F95D4707623A9FB6), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x1CF4E77F5966E13E109703CD8A0DF7CEDA7F3DC3, 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_ripemd160_4_gas719.py b/tests/ported_static/stStaticCall/test_static_call_ripemd160_4_gas719.py index c5000f7d325..11277fd777b 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ripemd160_4_gas719.py +++ b/tests/ported_static/stStaticCall/test_static_call_ripemd160_4_gas719.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ripemd160_4_gas719. Ported from: -tests/static/state_tests/stStaticCall/static_CallRipemd160_4_gas719Filler.json +state_tests/stStaticCall/static_CallRipemd160_4_gas719Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRipemd160_4_gas719Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRipemd160_4_gas719Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ripemd160_4_gas719( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ripemd160_4_gas719.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,43 +47,42 @@ def test_static_call_ripemd160_4_gas719( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 719 3 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x2CF, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x2CF, + address=0x3, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x17cf516dea393215768ee3be0a92dbe1db6a82cc"), # noqa: E501 + address=Address(0x17CF516DEA393215768EE3BE0A92DBE1DB6A82CC), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stStaticCall/test_static_call_ripemd160_5.py b/tests/ported_static/stStaticCall/test_static_call_ripemd160_5.py index a5ec8e8975d..ed93f53c218 100644 --- a/tests/ported_static/stStaticCall/test_static_call_ripemd160_5.py +++ b/tests/ported_static/stStaticCall/test_static_call_ripemd160_5.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_ripemd160_5. Ported from: -tests/static/state_tests/stStaticCall/static_CallRipemd160_5Filler.json +state_tests/stStaticCall/static_CallRipemd160_5Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallRipemd160_5Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallRipemd160_5Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_ripemd160_5( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_ripemd160_5.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,43 +47,42 @@ def test_static_call_ripemd160_5( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 6000 3 0 1000000 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1770, - address=0x3, - args_offset=0x0, - args_size=0xF4240, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1770, + address=0x3, + args_offset=0x0, + args_size=0xF4240, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x1d3e8582b56142ac3a4d5e93971ab0b6dc2f1636"), # noqa: E501 + address=Address(0x1D3E8582B56142AC3A4D5E93971AB0B6DC2F1636), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stStaticCall/test_static_call_sha256_1.py b/tests/ported_static/stStaticCall/test_static_call_sha256_1.py index a488222be86..2de0c6ae909 100644 --- a/tests/ported_static/stStaticCall/test_static_call_sha256_1.py +++ b/tests/ported_static/stStaticCall/test_static_call_sha256_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_sha256_1. Ported from: -tests/static/state_tests/stStaticCall/static_CallSha256_1Filler.json +state_tests/stStaticCall/static_CallSha256_1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallSha256_1Filler.json"], + ["state_tests/stStaticCall/static_CallSha256_1Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_sha256_1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_sha256_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,39 +47,38 @@ def test_static_call_sha256_1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (STATICCALL 500 2 0 0 0 32) [[ 0 ]] (MLOAD 0)} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1F4, - address=0x2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1F4, + address=0x2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x9385a5d182321342581977632b67b71ffce94c7c"), # noqa: E501 + address=Address(0x9385A5D182321342581977632B67B71FFCE94C7C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xE3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855, # noqa: E501 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_sha256_1_nonzero_value.py b/tests/ported_static/stStaticCall/test_static_call_sha256_1_nonzero_value.py index 7ab0b8c3a2b..fcb372febe3 100644 --- a/tests/ported_static/stStaticCall/test_static_call_sha256_1_nonzero_value.py +++ b/tests/ported_static/stStaticCall/test_static_call_sha256_1_nonzero_value.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_sha256_1_nonzero_value. Ported from: -tests/static/state_tests/stStaticCall -static_CallSha256_1_nonzeroValueFiller.json +state_tests/stStaticCall/static_CallSha256_1_nonzeroValueFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallSha256_1_nonzeroValueFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallSha256_1_nonzeroValueFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_sha256_1_nonzero_value( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_sha256_1_nonzero_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,34 +47,23 @@ def test_static_call_sha256_1_nonzero_value( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[ 2 ]] (STATICCALL 200000 2 0 0 0 32) [[ 0 ]] (MLOAD 0) (CALL (GAS) 2 19 0 0 0 0) (CALLCODE (GAS) 2 19 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x30D40, - address=0x2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0x2, - value=0x13, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.CALLCODE( + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x30D40, + address=0x2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.POP( + Op.CALL( gas=Op.GAS, address=0x2, value=0x13, @@ -85,23 +72,36 @@ def test_static_call_sha256_1_nonzero_value( ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.CALLCODE( + gas=Op.GAS, + address=0x2, + value=0x13, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xBEBC200, nonce=0, - address=Address("0x6efbd97a458c5b978bea2d03f8808bf02fe8c42d"), # noqa: E501 + address=Address(0x6EFBD97A458C5B978BEA2D03F8808BF02FE8C42D), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + Address(0x0000000000000000000000000000000000000002): Account( + balance=19 + ), + target: Account( storage={ 0: 0xE3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855, # noqa: E501 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_sha256_2.py b/tests/ported_static/stStaticCall/test_static_call_sha256_2.py index 799256bdae4..b86128f4223 100644 --- a/tests/ported_static/stStaticCall/test_static_call_sha256_2.py +++ b/tests/ported_static/stStaticCall/test_static_call_sha256_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_sha256_2. Ported from: -tests/static/state_tests/stStaticCall/static_CallSha256_2Filler.json +state_tests/stStaticCall/static_CallSha256_2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallSha256_2Filler.json"], + ["state_tests/stStaticCall/static_CallSha256_2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_sha256_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_sha256_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,40 +47,39 @@ def test_static_call_sha256_2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 5 0xf34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x5, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1F4, - address=0x2, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x5, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1F4, + address=0x2, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xc3764ef9b916cf39bbc2f0092b1c2e792f160cb1"), # noqa: E501 + address=Address(0xC3764EF9B916CF39BBC2F0092B1C2E792F160CB1), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xCB39B3BDE22925B2F931111130C774761D8895E0E08437C9B396C1E97D10F34D, # noqa: E501 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_sha256_3.py b/tests/ported_static/stStaticCall/test_static_call_sha256_3.py index 4de86b964d9..78784076a20 100644 --- a/tests/ported_static/stStaticCall/test_static_call_sha256_3.py +++ b/tests/ported_static/stStaticCall/test_static_call_sha256_3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_sha256_3. Ported from: -tests/static/state_tests/stStaticCall/static_CallSha256_3Filler.json +state_tests/stStaticCall/static_CallSha256_3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallSha256_3Filler.json"], + ["state_tests/stStaticCall/static_CallSha256_3Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_sha256_3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_sha256_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,40 +47,39 @@ def test_static_call_sha256_3( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1F4, - address=0x2, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1F4, + address=0x2, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x9b35a511ede9cdecc6dfc827744e0ca1d0e5f236"), # noqa: E501 + address=Address(0x9B35A511EDE9CDECC6DFC827744E0CA1D0E5F236), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x7392925565D67BE8E9620AACBCFAECD8CB6EC58D709D25DA9ECCF1D08A41CE35, # noqa: E501 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_sha256_3_postfix0.py b/tests/ported_static/stStaticCall/test_static_call_sha256_3_postfix0.py index 72d3afe9cb4..5aba000d1f4 100644 --- a/tests/ported_static/stStaticCall/test_static_call_sha256_3_postfix0.py +++ b/tests/ported_static/stStaticCall/test_static_call_sha256_3_postfix0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_sha256_3_postfix0. Ported from: -tests/static/state_tests/stStaticCall/static_CallSha256_3_postfix0Filler.json +state_tests/stStaticCall/static_CallSha256_3_postfix0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallSha256_3_postfix0Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallSha256_3_postfix0Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_sha256_3_postfix0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_sha256_3_postfix0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,40 +47,39 @@ def test_static_call_sha256_3_postfix0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xf34578907f00) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F00) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1F4, - address=0x2, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F00) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1F4, + address=0x2, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xd147fce2c6650060e058b25ccfd3c7b24d744503"), # noqa: E501 + address=Address(0xD147FCE2C6650060E058B25CCFD3C7B24D744503), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x3B745A1C00D035C334F358D007A430E4CF0AE63AA0556FB05529706DE546464D, # noqa: E501 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_sha256_3_prefix0.py b/tests/ported_static/stStaticCall/test_static_call_sha256_3_prefix0.py index cb3507fbeb6..c3b120e768b 100644 --- a/tests/ported_static/stStaticCall/test_static_call_sha256_3_prefix0.py +++ b/tests/ported_static/stStaticCall/test_static_call_sha256_3_prefix0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_sha256_3_prefix0. Ported from: -tests/static/state_tests/stStaticCall/static_CallSha256_3_prefix0Filler.json +state_tests/stStaticCall/static_CallSha256_3_prefix0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallSha256_3_prefix0Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallSha256_3_prefix0Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_sha256_3_prefix0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_sha256_3_prefix0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,40 +47,39 @@ def test_static_call_sha256_3_prefix0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x00f34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0xF34578907F) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x1F4, - address=0x2, - args_offset=0x0, - args_size=0x25, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xF34578907F) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x1F4, + address=0x2, + args_offset=0x0, + args_size=0x25, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x0219107bb8477432afd6777a32e63e0e7c4b999a"), # noqa: E501 + address=Address(0x0219107BB8477432AFD6777A32E63E0E7C4B999A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0x7392925565D67BE8E9620AACBCFAECD8CB6EC58D709D25DA9ECCF1D08A41CE35, # noqa: E501 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_sha256_4.py b/tests/ported_static/stStaticCall/test_static_call_sha256_4.py index 1c076094c57..37ddc46be13 100644 --- a/tests/ported_static/stStaticCall/test_static_call_sha256_4.py +++ b/tests/ported_static/stStaticCall/test_static_call_sha256_4.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_sha256_4. Ported from: -tests/static/state_tests/stStaticCall/static_CallSha256_4Filler.json +state_tests/stStaticCall/static_CallSha256_4Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallSha256_4Filler.json"], + ["state_tests/stStaticCall/static_CallSha256_4Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_sha256_4( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_sha256_4.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,43 +47,42 @@ def test_static_call_sha256_4( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 100 2 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x64, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x64, + address=0x2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x91666cd4c3ec5456566d5107f1a3cee6dc078818"), # noqa: E501 + address=Address(0x91666CD4C3EC5456566D5107F1A3CEE6DC078818), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xAF9613760F72635FBDB44A5A0A63C39F12AF30F950A6EE5C971BE188E89C4051, # noqa: E501 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_sha256_4_gas99.py b/tests/ported_static/stStaticCall/test_static_call_sha256_4_gas99.py index 9f3821f5089..3b2a51c8720 100644 --- a/tests/ported_static/stStaticCall/test_static_call_sha256_4_gas99.py +++ b/tests/ported_static/stStaticCall/test_static_call_sha256_4_gas99.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_sha256_4_gas99. Ported from: -tests/static/state_tests/stStaticCall/static_CallSha256_4_gas99Filler.json +state_tests/stStaticCall/static_CallSha256_4_gas99Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallSha256_4_gas99Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallSha256_4_gas99Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_sha256_4_gas99( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_sha256_4_gas99.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,43 +47,42 @@ def test_static_call_sha256_4_gas99( gas_limit=10000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 99 2 0 32 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x63, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x63, + address=0x2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xeda46fa30192c0ab5a8e9c2567faf9a110ce6720"), # noqa: E501 + address=Address(0xEDA46FA30192C0AB5A8E9C2567FAF9A110CE6720), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=365224, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xAF9613760F72635FBDB44A5A0A63C39F12AF30F950A6EE5C971BE188E89C4051, # noqa: E501 2: 1, diff --git a/tests/ported_static/stStaticCall/test_static_call_sha256_5.py b/tests/ported_static/stStaticCall/test_static_call_sha256_5.py index b59453bad15..6cf423cbf01 100644 --- a/tests/ported_static/stStaticCall/test_static_call_sha256_5.py +++ b/tests/ported_static/stStaticCall/test_static_call_sha256_5.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_sha256_5. Ported from: -tests/static/state_tests/stStaticCall/static_CallSha256_5Filler.json +state_tests/stStaticCall/static_CallSha256_5Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallSha256_5Filler.json"], + ["state_tests/stStaticCall/static_CallSha256_5Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_sha256_5( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_sha256_5.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,43 +47,42 @@ def test_static_call_sha256_5( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 600 2 0 1000000 0 32) [[ 0 ]] (MLOAD 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x258, - address=0x2, - args_offset=0x0, - args_size=0xF4240, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x258, + address=0x2, + args_offset=0x0, + args_size=0xF4240, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x76a2f21c718430c6918ba8c11e175c2636b35671"), # noqa: E501 + address=Address(0x76A2F21C718430C6918BA8C11E175C2636B35671), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, diff --git a/tests/ported_static/stStaticCall/test_static_call_to_call_code_op_code_check.py b/tests/ported_static/stStaticCall/test_static_call_to_call_code_op_code_check.py index b41bbac955e..8e13d44b592 100644 --- a/tests/ported_static/stStaticCall/test_static_call_to_call_code_op_code_check.py +++ b/tests/ported_static/stStaticCall/test_static_call_to_call_code_op_code_check.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_to_call_code_op_code_check. Ported from: -tests/static/state_tests/stStaticCall -static_callToCallCodeOpCodeCheckFiller.json +state_tests/stStaticCall/static_callToCallCodeOpCodeCheckFiller.json """ import pytest @@ -13,6 +12,7 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callToCallCodeOpCodeCheckFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callToCallCodeOpCodeCheckFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_to_call_code_op_code_check( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_to_call_code_op_code_check.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,117 +47,108 @@ def test_static_call_to_call_code_op_code_check( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x186A0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x186A0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7ef8271e6cdb0a23220b73bf3e9697e173f9d015"), # noqa: E501 + address=Address(0x7EF8271E6CDB0A23220B73BF3E9697E173F9D015), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=Op.CALLCODE( - gas=0x186A0, - address=0xF0D7D1B32BBC0012F183FB3E3F4F9434ABED93BD, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x38, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x1) - + Op.JUMP(pc=0x3E) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLCODE 100000 0 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=Op.CALLCODE( + gas=0x186A0, + address=0xF0D7D1B32BBC0012F183FB3E3F4F9434ABED93BD, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x38, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMP(pc=0x3E) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xea435169b5c0848d55c71080fb937e9b611a505d"), # noqa: E501 + address=Address(0xEA435169B5C0848D55C71080FB937E9B611A505D), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0xEA435169B5C0848D55C71080FB937E9B611A505D, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0xEA435169B5C0848D55C71080FB937E9B611A505D, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0xEA435169B5C0848D55C71080FB937E9B611A505D, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0xEA435169B5C0848D55C71080FB937E9B611A505D, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf0d7d1b32bbc0012f183fb3e3f4f9434abed93bd"), # noqa: E501 + address=Address(0xF0D7D1B32BBC0012F183FB3E3F4F9434ABED93BD), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "000000000000000000000000ea435169b5c0848d55c71080fb937e9b611a505d" - ), + to=target, + data=Hash(addr, left_padding=True), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_to_call_op_code_check.py b/tests/ported_static/stStaticCall/test_static_call_to_call_op_code_check.py index fcb2f3dbe3c..b595a4bdac5 100644 --- a/tests/ported_static/stStaticCall/test_static_call_to_call_op_code_check.py +++ b/tests/ported_static/stStaticCall/test_static_call_to_call_op_code_check.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_to_call_op_code_check. Ported from: -tests/static/state_tests/stStaticCall/static_callToCallOpCodeCheckFiller.json +state_tests/stStaticCall/static_callToCallOpCodeCheckFiller.json """ import pytest @@ -12,6 +12,7 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callToCallOpCodeCheckFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callToCallOpCodeCheckFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_to_call_op_code_check( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_to_call_op_code_check.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,117 +47,108 @@ def test_static_call_to_call_op_code_check( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x51A6B9D90FA023DBFE63296B65876F9CAF3FF3FD, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0xD366057A988CB6562F7FA2A601F06A503D30A90, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x186A0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0d366057a988cb6562f7fa2a601f06a503d30a90"), # noqa: E501 + address=Address(0x7EF8271E6CDB0A23220B73BF3E9697E173F9D015), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=Op.CALL( - gas=0x186A0, - address=0xD366057A988CB6562F7FA2A601F06A503D30A90, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x38, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x1) - + Op.JUMP(pc=0x3E) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALL 100000 0 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=Op.CALL( + gas=0x186A0, + address=0xD366057A988CB6562F7FA2A601F06A503D30A90, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x38, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMP(pc=0x3E) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x51a6b9d90fa023dbfe63296b65876f9caf3ff3fd"), # noqa: E501 + address=Address(0x51A6B9D90FA023DBFE63296B65876F9CAF3FF3FD), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x186A0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x51A6B9D90FA023DBFE63296B65876F9CAF3FF3FD, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0xD366057A988CB6562F7FA2A601F06A503D30A90, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7ef8271e6cdb0a23220b73bf3e9697e173f9d015"), # noqa: E501 + address=Address(0x0D366057A988CB6562F7FA2A601F06A503D30A90), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "00000000000000000000000051a6b9d90fa023dbfe63296b65876f9caf3ff3fd" - ), + to=target, + data=Hash(addr, left_padding=True), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_to_del_call_op_code_check.py b/tests/ported_static/stStaticCall/test_static_call_to_del_call_op_code_check.py index e0715253b05..a37cc64680d 100644 --- a/tests/ported_static/stStaticCall/test_static_call_to_del_call_op_code_check.py +++ b/tests/ported_static/stStaticCall/test_static_call_to_del_call_op_code_check.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_to_del_call_op_code_check. Ported from: -tests/static/state_tests/stStaticCall -static_callToDelCallOpCodeCheckFiller.json +state_tests/stStaticCall/static_callToDelCallOpCodeCheckFiller.json """ import pytest @@ -13,6 +12,7 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callToDelCallOpCodeCheckFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callToDelCallOpCodeCheckFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_to_del_call_op_code_check( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_to_del_call_op_code_check.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,116 +47,107 @@ def test_static_call_to_del_call_op_code_check( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x7EF8271E6CDB0A23220B73BF3E9697E173F9D015, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0x692BDB71BF492107772D8FB07345FAA13B37937B, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x186A0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x114ca039127835ca3472ef43e00d15e2d8623286"), # noqa: E501 + address=Address(0x7EF8271E6CDB0A23220B73BF3E9697E173F9D015), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0x114CA039127835CA3472EF43E00D15E2D8623286, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x36, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x1) - + Op.JUMP(pc=0x3C) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (DELEGATECALL 100000 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0x114CA039127835CA3472EF43E00D15E2D8623286, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x36, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMP(pc=0x3C) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x692bdb71bf492107772d8fb07345faa13b37937b"), # noqa: E501 + address=Address(0x692BDB71BF492107772D8FB07345FAA13B37937B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x186A0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x7EF8271E6CDB0A23220B73BF3E9697E173F9D015, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0x692BDB71BF492107772D8FB07345FAA13B37937B, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7ef8271e6cdb0a23220b73bf3e9697e173f9d015"), # noqa: E501 + address=Address(0x114CA039127835CA3472EF43E00D15E2D8623286), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "000000000000000000000000692bdb71bf492107772d8fb07345faa13b37937b" - ), + to=target, + data=Hash(addr, left_padding=True), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_to_name_registrator0.py b/tests/ported_static/stStaticCall/test_static_call_to_name_registrator0.py index 2439cd51932..1a7da61d349 100644 --- a/tests/ported_static/stStaticCall/test_static_call_to_name_registrator0.py +++ b/tests/ported_static/stStaticCall/test_static_call_to_name_registrator0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_to_name_registrator0. Ported from: -tests/static/state_tests/stStaticCall/static_CallToNameRegistrator0Filler.json +state_tests/stStaticCall/static_CallToNameRegistrator0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CallToNameRegistrator0Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CallToNameRegistrator0Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_to_name_registrator0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_to_name_registrator0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,62 +47,59 @@ def test_static_call_to_name_registrator0( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=23, + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 100000 0 64 64 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x186A0, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + args_offset=0x0, + args_size=0x40, + ret_offset=0x40, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0xBF5DCED1C89E98F99D5702C65FC3A881E0BDA929), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 100000 0 64 64 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x186A0, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - args_offset=0x0, - args_size=0x40, - ret_offset=0x40, - ret_size=0x0, - ), - ) - + Op.STOP + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=23, nonce=0, - address=Address("0xbf5dced1c89e98f99d5702c65fc3a881e0bda929"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={0: 0}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_to_return1.py b/tests/ported_static/stStaticCall/test_static_call_to_return1.py index 992b8e182e2..35f82164f46 100644 --- a/tests/ported_static/stStaticCall/test_static_call_to_return1.py +++ b/tests/ported_static/stStaticCall/test_static_call_to_return1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_to_return1. Ported from: -tests/static/state_tests/stStaticCall/static_CallToReturn1Filler.json +state_tests/stStaticCall/static_CallToReturn1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CallToReturn1Filler.json"], + ["state_tests/stStaticCall/static_CallToReturn1Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_to_return1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_to_return1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,49 +47,45 @@ def test_static_call_to_return1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 1000 0 0 31 1) [[ 1 ]] @0 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0xD0A322C1EA1978A5D1EDB863E5A6C9027039BF6C, - args_offset=0x0, - args_size=0x0, - ret_offset=0x1F, - ret_size=0x1, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0xD0A322C1EA1978A5D1EDB863E5A6C9027039BF6C, + args_offset=0x0, + args_size=0x0, + ret_offset=0x1F, + ret_size=0x1, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x60f1c8af50c827c6787a7bc5249e9bdde475a4ba"), # noqa: E501 + address=Address(0x60F1C8AF50C827C6787A7BC5249E9BDDE475A4BA), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x1F, value=0x2A) - + Op.RETURN(offset=0x1F, size=0x1) - ), + # Source: raw + # 0x602a601f536001601ff3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x1F, value=0x2A) + + Op.RETURN(offset=0x1F, size=0x1), balance=23, nonce=0, - address=Address("0xd0a322c1ea1978a5d1edb863e5a6c9027039bf6c"), # noqa: E501 + address=Address(0xD0A322C1EA1978A5D1EDB863E5A6C9027039BF6C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1, 1: 42}), - } + post = {target: Account(storage={0: 1, 1: 42}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_to_static_op_code_check.py b/tests/ported_static/stStaticCall/test_static_call_to_static_op_code_check.py index 0b538f9b876..c80ccfdfd56 100644 --- a/tests/ported_static/stStaticCall/test_static_call_to_static_op_code_check.py +++ b/tests/ported_static/stStaticCall/test_static_call_to_static_op_code_check.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_to_static_op_code_check. Ported from: -tests/static/state_tests/stStaticCall/static_callToStaticOpCodeCheckFiller.json +state_tests/stStaticCall/static_callToStaticOpCodeCheckFiller.json """ import pytest @@ -12,6 +12,7 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callToStaticOpCodeCheckFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callToStaticOpCodeCheckFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_to_static_op_code_check( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_to_static_op_code_check.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,116 +47,107 @@ def test_static_call_to_static_op_code_check( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x5E93BF4D3E4A5F90AE3A7A68DBD03E6C47F1245A, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0xD366057A988CB6562F7FA2A601F06A503D30A90, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x186A0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0d366057a988cb6562f7fa2a601f06a503d30a90"), # noqa: E501 + address=Address(0x7EF8271E6CDB0A23220B73BF3E9697E173F9D015), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=Op.STATICCALL( - gas=0x186A0, - address=0xD366057A988CB6562F7FA2A601F06A503D30A90, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x36, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x1) - + Op.JUMP(pc=0x3C) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (STATICCALL 100000 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=Op.STATICCALL( + gas=0x186A0, + address=0xD366057A988CB6562F7FA2A601F06A503D30A90, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x36, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMP(pc=0x3C) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5e93bf4d3e4a5f90ae3a7a68dbd03e6c47f1245a"), # noqa: E501 + address=Address(0x5E93BF4D3E4A5F90AE3A7A68DBD03E6C47F1245A), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x186A0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x5E93BF4D3E4A5F90AE3A7A68DBD03E6C47F1245A, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0xD366057A988CB6562F7FA2A601F06A503D30A90, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7ef8271e6cdb0a23220b73bf3e9697e173f9d015"), # noqa: E501 + address=Address(0x0D366057A988CB6562F7FA2A601F06A503D30A90), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "0000000000000000000000005e93bf4d3e4a5f90ae3a7a68dbd03e6c47f1245a" - ), + to=target, + data=Hash(addr, left_padding=True), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_value_inherit.py b/tests/ported_static/stStaticCall/test_static_call_value_inherit.py index a565b4161a5..82aa94d2839 100644 --- a/tests/ported_static/stStaticCall/test_static_call_value_inherit.py +++ b/tests/ported_static/stStaticCall/test_static_call_value_inherit.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_value_inherit. Ported from: -tests/static/state_tests/stStaticCall/static_call_value_inheritFiller.json +state_tests/stStaticCall/static_call_value_inheritFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_call_value_inheritFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_call_value_inheritFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_value_inherit( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_value_inherit.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,50 +47,47 @@ def test_static_call_value_inherit( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]] (STATICCALL 50000 0 0 0 32) [[1]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xC350, - address=0xCB9A81371BC2600A843F60738091E390318CDA9C, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x1: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xC350, + address=0xCB9A81371BC2600A843F60738091E390318CDA9C, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={1: 1}, balance=1, nonce=0, - address=Address("0x453c54cfc5af8e6fd9110c386da8fbc47105d611"), # noqa: E501 + address=Address(0x453C54CFC5AF8E6FD9110C386DA8FBC47105D611), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLVALUE) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLVALUE)) (RETURN 0 32) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLVALUE) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, balance=1, nonce=0, - address=Address("0xcb9a81371bc2600a843f60738091e390318cda9c"), # noqa: E501 + address=Address(0xCB9A81371BC2600A843F60738091E390318CDA9C), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=460000, value=10, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1, 1: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_value_inherit_from_call.py b/tests/ported_static/stStaticCall/test_static_call_value_inherit_from_call.py index 05bec6f2804..2a7ebfd5448 100644 --- a/tests/ported_static/stStaticCall/test_static_call_value_inherit_from_call.py +++ b/tests/ported_static/stStaticCall/test_static_call_value_inherit_from_call.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_value_inherit_from_call. Ported from: -tests/static/state_tests/stStaticCall -static_call_value_inherit_from_callFiller.json +state_tests/stStaticCall/static_call_value_inherit_from_callFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_call_value_inherit_from_callFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_call_value_inherit_from_callFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_value_inherit_from_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_value_inherit_from_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -49,66 +49,63 @@ def test_static_call_value_inherit_from_call( gas_limit=10000000, ) - # Source: LLL - # { (CALL 100000 10 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x186A0, - address=0x453C54CFC5AF8E6FD9110C386DA8FBC47105D611, - value=0xA, + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] (STATICCALL 50000 0 0 0 32) [[1]] (MLOAD 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xC350, + address=0xCB9A81371BC2600A843F60738091E390318CDA9C, args_offset=0x0, args_size=0x0, ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={1: 1}, + balance=1, nonce=0, - address=Address("0x0af4ae2156e6347e93d875a9d46085e31e57bbe9"), # noqa: E501 + address=Address(0x453C54CFC5AF8E6FD9110C386DA8FBC47105D611), # noqa: E501 ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xC350, - address=0xCB9A81371BC2600A843F60738091E390318CDA9C, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x1: 0x1}, - balance=1, + # Source: lll + # { (CALL 100000 10 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x186A0, + address=0x453C54CFC5AF8E6FD9110C386DA8FBC47105D611, + value=0xA, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x453c54cfc5af8e6fd9110c386da8fbc47105d611"), # noqa: E501 + address=Address(0x0AF4AE2156E6347E93D875A9D46085E31E57BBE9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLVALUE) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLVALUE)) (RETURN 0 32) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLVALUE) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, balance=1, nonce=0, - address=Address("0xcb9a81371bc2600a843f60738091e390318cda9c"), # noqa: E501 + address=Address(0xCB9A81371BC2600A843F60738091E390318CDA9C), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=460000, value=10, ) - post = { - callee: Account(storage={0: 1}), - } + post = {addr: Account(storage={0: 1, 1: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_with_high_value.py b/tests/ported_static/stStaticCall/test_static_call_with_high_value.py index 05f98ed162f..6956ed78807 100644 --- a/tests/ported_static/stStaticCall/test_static_call_with_high_value.py +++ b/tests/ported_static/stStaticCall/test_static_call_with_high_value.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_with_high_value. Ported from: -tests/static/state_tests/stStaticCall/static_callWithHighValueFiller.json +state_tests/stStaticCall/static_callWithHighValueFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callWithHighValueFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callWithHighValueFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_with_high_value( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_with_high_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,48 +47,44 @@ def test_static_call_with_high_value( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 50000 0 64 0 2 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xC350, - address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xC350, + address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc81da1ac86642f6600ecf1369d53787a64412cfc"), # noqa: E501 + address=Address(0xC81DA1AC86642F6600ECF1369D53787A64412CFC), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), + # Source: raw + # 0x603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), balance=23, nonce=0, - address=Address("0xd5d9e9e0158920b17b6df82fac474b3e2691ee99"), # noqa: E501 + address=Address(0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_with_high_value_and_gas_oog.py b/tests/ported_static/stStaticCall/test_static_call_with_high_value_and_gas_oog.py index fac66409cce..7f925647e29 100644 --- a/tests/ported_static/stStaticCall/test_static_call_with_high_value_and_gas_oog.py +++ b/tests/ported_static/stStaticCall/test_static_call_with_high_value_and_gas_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_with_high_value_and_gas_oog. Ported from: -tests/static/state_tests/stStaticCall -static_callWithHighValueAndGasOOGFiller.json +state_tests/stStaticCall/static_callWithHighValueAndGasOOGFiller.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,49 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callWithHighValueAndGasOOGFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callWithHighValueAndGasOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000a5b789cb3b73deb59cef5b261568362db2f967dd", - { - Address("0xa5b789cb3b73deb59cef5b261568362db2f967dd"): Account( - storage={ - 0: 1, - 1: 0x3700FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - } - ), - Address("0xbe9c847927d7e832ff5655392c160933d99cb4e8"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000be9c847927d7e832ff5655392c160933d99cb4e8", - { - Address("0xbe9c847927d7e832ff5655392c160933d99cb4e8"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_call_with_high_value_and_gas_oog( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_with_high_value_and_gas_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -79,110 +72,135 @@ def test_static_call_with_high_value_and_gas_oog( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { (CALL 500000 (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x7A120, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x7A120, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x46fcfdfd17a5789b6ab6d7e23f33f4eadecfb5ad"), # noqa: E501 + address=Address(0x46FCFDFD17A5789B6AB6D7E23F33F4EADECFB5AD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, - address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 0xffffffffffffffffffffffff 0 64 0 2 ) [[ 1 ]] (MLOAD 0)} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, + address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa5b789cb3b73deb59cef5b261568362db2f967dd"), # noqa: E501 + address=Address(0xA5B789CB3B73DEB59CEF5B261568362DB2F967DD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, - address=0xD2B07D10E28B46411527B841F0E0382A8E3BCB80, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1}, + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 0xffffffffffffffffffffffff 0 64 0 2 ) [[ 1 ]] (MLOAD 0)} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xFFFFFFFFFFFFFFFFFFFFFFFF, + address=0xD2B07D10E28B46411527B841F0E0382A8E3BCB80, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + storage={0: 1, 1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbe9c847927d7e832ff5655392c160933d99cb4e8"), # noqa: E501 + address=Address(0xBE9C847927D7E832FF5655392C160933D99CB4E8), # noqa: E501 ) - pre.deploy_contract( - code=Op.SHA3(offset=0x0, size=0x2FFFFF) + Op.STOP, + # Source: raw + # 0x603760005360026000f3 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), balance=23, nonce=0, - address=Address("0xd2b07d10e28b46411527b841f0e0382a8e3bcb80"), # noqa: E501 + address=Address(0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), + # Source: lll + # { (KECCAK256 0x00 0x2fffff) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SHA3(offset=0x0, size=0x2FFFFF) + Op.STOP, balance=23, nonce=0, - address=Address("0xd5d9e9e0158920b17b6df82fac474b3e2691ee99"), # noqa: E501 + address=Address(0xD2B07D10E28B46411527B841F0E0382A8E3BCB80), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account( + storage={ + 0: 1, + 1: 0x3700FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {addr_2: Account(storage={0: 1, 1: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [3000000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3000000, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_with_high_value_and_oo_gat_tx_level.py b/tests/ported_static/stStaticCall/test_static_call_with_high_value_and_oo_gat_tx_level.py index 92bb2f764ea..33f528e4b98 100644 --- a/tests/ported_static/stStaticCall/test_static_call_with_high_value_and_oo_gat_tx_level.py +++ b/tests/ported_static/stStaticCall/test_static_call_with_high_value_and_oo_gat_tx_level.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_with_high_value_and_oo_gat_tx_level. Ported from: -tests/static/state_tests/stStaticCall -static_callWithHighValueAndOOGatTxLevelFiller.json +state_tests/stStaticCall/static_callWithHighValueAndOOGatTxLevelFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callWithHighValueAndOOGatTxLevelFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callWithHighValueAndOOGatTxLevelFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_with_high_value_and_oo_gat_tx_level( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_with_high_value_and_oo_gat_tx_level.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,48 +49,44 @@ def test_static_call_with_high_value_and_oo_gat_tx_level( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 3000001 0 0 0 0 ) [[ 1 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x2DC6C1, - address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x2DC6C1, + address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0x5b4a9566e26075aa8ffbee639b15cbf0292368f6"), # noqa: E501 + address=Address(0x5B4A9566E26075AA8FFBEE639B15CBF0292368F6), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), + # Source: raw + # 0x603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), balance=23, nonce=0, - address=Address("0xd5d9e9e0158920b17b6df82fac474b3e2691ee99"), # noqa: E501 + address=Address(0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_with_high_value_oo_gin_call.py b/tests/ported_static/stStaticCall/test_static_call_with_high_value_oo_gin_call.py index 93573a6d6a4..64c5ba35f5b 100644 --- a/tests/ported_static/stStaticCall/test_static_call_with_high_value_oo_gin_call.py +++ b/tests/ported_static/stStaticCall/test_static_call_with_high_value_oo_gin_call.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_call_with_high_value_oo_gin_call. Ported from: -tests/static/state_tests/stStaticCall -static_callWithHighValueOOGinCallFiller.json +state_tests/stStaticCall/static_callWithHighValueOOGinCallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callWithHighValueOOGinCallFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callWithHighValueOOGinCallFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_with_high_value_oo_gin_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_with_high_value_oo_gin_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,51 +47,47 @@ def test_static_call_with_high_value_oo_gin_call( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (ADD (STATICCALL 10 0 0 0 0 ) 1) [[ 1 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.ADD( - Op.STATICCALL( - gas=0xA, - address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - 0x1, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ADD( + Op.STATICCALL( + gas=0xA, + address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + 0x1, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0x211d767449420e452c129490ca6ad58adad11530"), # noqa: E501 + address=Address(0x211D767449420E452C129490CA6AD58ADAD11530), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), + # Source: raw + # 0x603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), balance=23, nonce=0, - address=Address("0xd5d9e9e0158920b17b6df82fac474b3e2691ee99"), # noqa: E501 + address=Address(0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_call_zero_v_call_suicide.py b/tests/ported_static/stStaticCall/test_static_call_zero_v_call_suicide.py index 851c27082a0..8ef6e121a52 100644 --- a/tests/ported_static/stStaticCall/test_static_call_zero_v_call_suicide.py +++ b/tests/ported_static/stStaticCall/test_static_call_zero_v_call_suicide.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_call_zero_v_call_suicide. Ported from: -tests/static/state_tests/stStaticCall/static_CALL_ZeroVCallSuicideFiller.json +state_tests/stStaticCall/static_CALL_ZeroVCallSuicideFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CALL_ZeroVCallSuicideFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CALL_ZeroVCallSuicideFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_call_zero_v_call_suicide( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_call_zero_v_call_suicide.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,39 +47,47 @@ def test_static_call_zero_v_call_suicide( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x7A0DDD9CCF14D217E4C1AE6B7C2C770CD4E929EE) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (STATICCALL 60000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0xEA60, + address=0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x79968a94dbedb20475585e9dd4dae6333add4c01"), # noqa: E501 + address=Address(0x7A0DDD9CCF14D217E4C1AE6B7C2C770CD4E929EE), # noqa: E501 ) - # Source: LLL - # { (STATICCALL 60000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0xEA60, - address=0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x7A0DDD9CCF14D217E4C1AE6B7C2C770CD4E929EE + ) + + Op.STOP, nonce=0, - address=Address("0x7a0ddd9ccf14d217e4c1ae6b7c2c770cd4e929ee"), # noqa: E501 + address=Address(0x79968A94DBEDB20475585E9DD4DAE6333ADD4C01), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = { + addr: Account( + code=bytes.fromhex( + "737a0ddd9ccf14d217e4c1ae6b7c2c770cd4e929eeff00" + ), + ), + target: Account(storage={0: 0, 100: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcall_00.py b/tests/ported_static/stStaticCall/test_static_callcall_00.py index 21e94f184c5..0026a734ccf 100644 --- a/tests/ported_static/stStaticCall/test_static_callcall_00.py +++ b/tests/ported_static/stStaticCall/test_static_callcall_00.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcall_00. Ported from: -tests/static/state_tests/stStaticCall/static_callcall_00Filler.json +state_tests/stStaticCall/static_callcall_00Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,47 +27,38 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_callcall_00Filler.json"], + ["state_tests/stStaticCall/static_callcall_00Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000002f9ec0afcb4edcd7d38c6a48f5e36038263ca3cd", - { - Address("0x2f9ec0afcb4edcd7d38c6a48f5e36038263ca3cd"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000bf23f3306533431b2ee5e4ca95e0a0834c090105", - { - Address("0xbf23f3306533431b2ee5e4ca95e0a0834c090105"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcall_00( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcall_00.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -76,139 +72,185 @@ def test_static_callcall_00( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=Op.CALLER) - + Op.MSTORE(offset=0x40, value=Op.CALLVALUE) - + Op.MSTORE(offset=0x60, value=Op.ADDRESS) - + Op.MSTORE(offset=0x80, value=Op.ORIGIN) - + Op.MSTORE(offset=0xA0, value=Op.CALLDATASIZE) - + Op.MSTORE(offset=0xC0, value=Op.CODESIZE) - + Op.MSTORE(offset=0xE0, value=Op.GASPRICE) - + Op.STOP - ), - nonce=0, - address=Address("0x29736372c0fab51db4556614ef27d74a89acfe21"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0x620B442C84D5068E6B57D390A1AC99130205406E, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x2f9ec0afcb4edcd7d38c6a48f5e36038263ca3cd"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0xE6, value=Op.ADDRESS) - + Op.SSTORE(key=0xE8, value=Op.ORIGIN) - + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0xEE, value=Op.CODESIZE) - + Op.SSTORE(key=0xF0, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x33f368f0b54063613cf5944941e8e0e4eeb64697"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x3D090, - address=0x33F368F0B54063613CF5944941E8E0E4EEB64697, + # Source: lll + # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0x620B442C84D5068E6B57D390A1AC99130205406E, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x620b442c84d5068e6b57d390a1ac99130205406e"), # noqa: E501 + address=Address(0x2F9EC0AFCB4EDCD7D38C6A48F5E36038263CA3CD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0xDCC76191E9F918ECFE9FBA5414884D5EE621AE00, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 250000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x3D090, + address=0x33F368F0B54063613CF5944941E8E0E4EEB64697, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbf23f3306533431b2ee5e4ca95e0a0834c090105"), # noqa: E501 + address=Address(0x620B442C84D5068E6B57D390A1AC99130205406E), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE))} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0xE6, value=Op.ADDRESS) + + Op.SSTORE(key=0xE8, value=Op.ORIGIN) + + Op.SSTORE(key=0xEC, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0xEE, value=Op.CODESIZE) + + Op.SSTORE(key=0xF0, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x33F368F0B54063613CF5944941E8E0E4EEB64697), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x3D090, - address=0x29736372C0FAB51DB4556614EF27D74A89ACFE21, + # Source: lll + # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0xDCC76191E9F918ECFE9FBA5414884D5EE621AE00, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0xBF23F3306533431B2EE5E4CA95E0A0834C090105), # noqa: E501 + ) + # Source: lll + # { (STATICCALL 250000 0 64 0 64 ) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x3D090, + address=0x29736372C0FAB51DB4556614EF27D74A89ACFE21, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xdcc76191e9f918ecfe9fba5414884d5ee621ae00"), # noqa: E501 + address=Address(0xDCC76191E9F918ECFE9FBA5414884D5EE621AE00), # noqa: E501 + ) + # Source: lll + # { (MSTORE 0 1) (MSTORE 32 (CALLER)) (MSTORE 64 (CALLVALUE)) (MSTORE 96 (ADDRESS)) (MSTORE 128 (ORIGIN)) (MSTORE 160 (CALLDATASIZE)) (MSTORE 192 (CODESIZE)) (MSTORE 224 (GASPRICE))} # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x1) + + Op.MSTORE(offset=0x20, value=Op.CALLER) + + Op.MSTORE(offset=0x40, value=Op.CALLVALUE) + + Op.MSTORE(offset=0x60, value=Op.ADDRESS) + + Op.MSTORE(offset=0x80, value=Op.ORIGIN) + + Op.MSTORE(offset=0xA0, value=Op.CALLDATASIZE) + + Op.MSTORE(offset=0xC0, value=Op.CODESIZE) + + Op.MSTORE(offset=0xE0, value=Op.GASPRICE) + + Op.STOP, + nonce=0, + address=Address(0x29736372C0FAB51DB4556614EF27D74A89ACFE21), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={0: 1}), + addr_3: Account( + storage={ + 2: 0, + 4: 0, + 7: 0, + 230: 0, + 232: 0, + 236: 0, + 238: 0, + 240: 0, + }, + ), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 1, 1: 1}), + addr_4: Account(storage={0: 1}), + addr_6: Account( + storage={ + 2: 0, + 4: 0, + 7: 0, + 230: 0, + 232: 0, + 236: 0, + 238: 0, + 240: 0, + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [3000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcall_00_ooge.py b/tests/ported_static/stStaticCall/test_static_callcall_00_ooge.py index 18a77602dde..3cfcc58cdde 100644 --- a/tests/ported_static/stStaticCall/test_static_callcall_00_ooge.py +++ b/tests/ported_static/stStaticCall/test_static_callcall_00_ooge.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcall_00_ooge. Ported from: -tests/static/state_tests/stStaticCall/static_callcall_00_OOGEFiller.json +state_tests/stStaticCall/static_callcall_00_OOGEFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,49 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcall_00_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcall_00_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000002f9ec0afcb4edcd7d38c6a48f5e36038263ca3cd", - { - Address("0x2f9ec0afcb4edcd7d38c6a48f5e36038263ca3cd"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000998a75f1a4457fb7b5872c51f34aa7256f732b1e", - { - Address("0x998a75f1a4457fb7b5872c51f34aa7256f732b1e"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcall_00_ooge( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcall_00_ooge.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -78,140 +72,165 @@ def test_static_callcall_00_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x2, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x1D4D4, - address=0xCE21F15217A7B94DB9C505A66C9549E803BF141C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x2814f1be80fce656766c827bc6e55bfb7a3bc4b9"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0x2814F1BE80FCE656766C827BC6E55BFB7A3BC4B9, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0x2814F1BE80FCE656766C827BC6E55BFB7A3BC4B9, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2f9ec0afcb4edcd7d38c6a48f5e36038263ca3cd"), # noqa: E501 + address=Address(0x2F9EC0AFCB4EDCD7D38C6A48F5E36038263CA3CD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0xA18394A87A4C414718BBBEE0F695D74CD7A4F9DE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 2 1) (STATICCALL 120020 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x2, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x1D4D4, + address=0xCE21F15217A7B94DB9C505A66C9549E803BF141C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x998a75f1a4457fb7b5872c51f34aa7256f732b1e"), # noqa: E501 + address=Address(0x2814F1BE80FCE656766C827BC6E55BFB7A3BC4B9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x2, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x4E34, - address=0xE574F7EC5305BE91332B5B8B12DEB8966E05F42D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (MSTORE 2 1)} + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.MSTORE(offset=0x2, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xa18394a87a4c414718bbbee0f695d74cd7a4f9de"), # noqa: E501 + address=Address(0xCE21F15217A7B94DB9C505A66C9549E803BF141C), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0xA18394A87A4C414718BBBEE0F695D74CD7A4F9DE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x998A75F1A4457FB7B5872C51F34AA7256F732B1E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.MSTORE(offset=0x2, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 2 1) (STATICCALL 20020 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x2, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x4E34, + address=0xE574F7EC5305BE91332B5B8B12DEB8966E05F42D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xce21f15217a7b94db9c505a66c9549e803bf141c"), # noqa: E501 + address=Address(0xA18394A87A4C414718BBBEE0F695D74CD7A4F9DE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )} + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xe574f7ec5305be91332b5b8b12deb8966e05f42d"), # noqa: E501 + address=Address(0xE574F7EC5305BE91332B5B8B12DEB8966E05F42D), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage={0: 1, 1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + addr_3: Account(storage={2: 0}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_4: Account(storage={0: 1, 1: 0, 2: 0}), + addr_5: Account(storage={1: 0, 2: 0}), + addr_6: Account(storage={2: 0}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcall_00_ooge_1.py b/tests/ported_static/stStaticCall/test_static_callcall_00_ooge_1.py index 333411da5e6..6225f08f068 100644 --- a/tests/ported_static/stStaticCall/test_static_callcall_00_ooge_1.py +++ b/tests/ported_static/stStaticCall/test_static_callcall_00_ooge_1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcall_00_ooge_1. Ported from: -tests/static/state_tests/stStaticCall/static_callcall_00_OOGE_1Filler.json +state_tests/stStaticCall/static_callcall_00_OOGE_1Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,49 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcall_00_OOGE_1Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcall_00_OOGE_1Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000a2ca69f1cf9ffa7a761899e8dd2f941d40326fd6", - { - Address("0xa2ca69f1cf9ffa7a761899e8dd2f941d40326fd6"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000998a75f1a4457fb7b5872c51f34aa7256f732b1e", - { - Address("0x998a75f1a4457fb7b5872c51f34aa7256f732b1e"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcall_00_ooge_1( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcall_00_ooge_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -78,142 +72,165 @@ def test_static_callcall_00_ooge_1( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x2, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x609E4DFE6190235B9A0362084C741D9EC330FB1E, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x1d401212ba6c32405b4fdc993079acab6c7aab6f"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0xA122FC55193A6573FA47C988F537AE631E411058, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x609e4dfe6190235b9a0362084c741d9ec330fb1e"), # noqa: E501 + address=Address(0xA2CA69F1CF9FFA7A761899E8DD2F941D40326FD6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x1D401212BA6C32405B4FDC993079ACAB6C7AAB6F, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 2 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x2, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0xA65F4B36F21EF107A26AB282B736F93D47BF83DE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x998a75f1a4457fb7b5872c51f34aa7256f732b1e"), # noqa: E501 + address=Address(0xA122FC55193A6573FA47C988F537AE631E411058), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x2, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0xA65F4B36F21EF107A26AB282B736F93D47BF83DE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (SSTORE 5 (CALLVALUE)) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x5, value=Op.CALLVALUE) + + Op.STOP, + nonce=0, + address=Address(0xA65F4B36F21EF107A26AB282B736F93D47BF83DE), # noqa: E501 + ) + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x1D401212BA6C32405B4FDC993079ACAB6C7AAB6F, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa122fc55193a6573fa47c988f537ae631e411058"), # noqa: E501 + address=Address(0x998A75F1A4457FB7B5872C51F34AA7256F732B1E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0xA122FC55193A6573FA47C988F537AE631E411058, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 2 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x2, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x609E4DFE6190235B9A0362084C741D9EC330FB1E, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa2ca69f1cf9ffa7a761899e8dd2f941d40326fd6"), # noqa: E501 + address=Address(0x1D401212BA6C32405B4FDC993079ACAB6C7AAB6F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x5, value=Op.CALLVALUE) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) } + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xa65f4b36f21ef107a26ab282b736f93d47bf83de"), # noqa: E501 - ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x609E4DFE6190235B9A0362084C741D9EC330FB1E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={0: 1}), + addr_3: Account(storage={2: 0, 5: 0}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 1, 1: 1}), + addr_4: Account(storage={0: 1}), + addr_6: Account(storage={2: 0, 5: 0}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [380066] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=380066, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcall_00_ooge_2.py b/tests/ported_static/stStaticCall/test_static_callcall_00_ooge_2.py index 7f98c5953ab..f3f3058d0f0 100644 --- a/tests/ported_static/stStaticCall/test_static_callcall_00_ooge_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcall_00_ooge_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcall_00_ooge_2. Ported from: -tests/static/state_tests/stStaticCall/static_callcall_00_OOGE_2Filler.json +state_tests/stStaticCall/static_callcall_00_OOGE_2Filler.json """ import pytest @@ -12,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcall_00_OOGE_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcall_00_OOGE_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000a2ca69f1cf9ffa7a761899e8dd2f941d40326fd6", - "000000000000000000000000998a75f1a4457fb7b5872c51f34aa7256f732b1e", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcall_00_ooge_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcall_00_ooge_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -57,142 +69,147 @@ def test_static_callcall_00_ooge_2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x2, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0xA65F4B36F21EF107A26AB282B736F93D47BF83DE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x2defc3fb57b42969b271935d982740948b92e86b"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x609e4dfe6190235b9a0362084c741d9ec330fb1e"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0xDDC2B4BC1FB31ED3CD95025FB7C668BA01B2DB6C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x2DEFC3FB57B42969B271935D982740948B92E86B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x998a75f1a4457fb7b5872c51f34aa7256f732b1e"), # noqa: E501 + address=Address(0xA2CA69F1CF9FFA7A761899E8DD2F941D40326FD6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x2DEFC3FB57B42969B271935D982740948B92E86B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 2 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x2, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0xA65F4B36F21EF107A26AB282B736F93D47BF83DE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa2ca69f1cf9ffa7a761899e8dd2f941d40326fd6"), # noqa: E501 + address=Address(0x2DEFC3FB57B42969B271935D982740948B92E86B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x5, value=Op.CALLVALUE) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (SSTORE 5 (CALLVALUE)) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x5, value=Op.CALLVALUE) + + Op.STOP, nonce=0, - address=Address("0xa65f4b36f21ef107a26ab282b736f93d47bf83de"), # noqa: E501 + address=Address(0xA65F4B36F21EF107A26AB282B736F93D47BF83DE), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0xDDC2B4BC1FB31ED3CD95025FB7C668BA01B2DB6C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x998A75F1A4457FB7B5872C51F34AA7256F732B1E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x2, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x609E4DFE6190235B9A0362084C741D9EC330FB1E, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 2 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x2, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x609E4DFE6190235B9A0362084C741D9EC330FB1E, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xddc2b4bc1fb31ed3cd95025fb7c668ba01b2db6c"), # noqa: E501 + address=Address(0xDDC2B4BC1FB31ED3CD95025FB7C668BA01B2DB6C), # noqa: E501 + ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) } + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, + nonce=0, + address=Address(0x609E4DFE6190235B9A0362084C741D9EC330FB1E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [150066] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=150066, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post: dict = {} + post = { + addr_3: Account(storage={2: 0, 5: 0}), + addr: Account(storage={0: 0}), + target: Account(storage={0: 0, 1: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcall_00_suicide_end.py b/tests/ported_static/stStaticCall/test_static_callcall_00_suicide_end.py index 9f264b03adc..058da94535f 100644 --- a/tests/ported_static/stStaticCall/test_static_callcall_00_suicide_end.py +++ b/tests/ported_static/stStaticCall/test_static_callcall_00_suicide_end.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcall_00_suicide_end. Ported from: -tests/static/state_tests/stStaticCall/static_callcall_00_SuicideEndFiller.json +state_tests/stStaticCall/static_callcall_00_SuicideEndFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcall_00_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcall_00_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcall_00_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcall_00_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,63 +47,65 @@ def test_static_callcall_00_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x20, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xA2CA69F1CF9FFA7A761899E8DD2F941D40326FD6 - ) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x662727C5FEC3E62DB4F386D95388CAEDD4067BB8, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x662727c5fec3e62db4f386d95388caedd4067bb8"), # noqa: E501 + address=Address(0xA2CA69F1CF9FFA7A761899E8DD2F941D40326FD6), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x662727C5FEC3E62DB4F386D95388CAEDD4067BB8, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 32 1) (STATICCALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x20, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.SELFDESTRUCT(address=0xA2CA69F1CF9FFA7A761899E8DD2F941D40326FD6) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xa2ca69f1cf9ffa7a761899e8dd2f941d40326fd6"), # noqa: E501 + address=Address(0x662727C5FEC3E62DB4F386D95388CAEDD4067BB8), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (MSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xcfb5784a5e49924becc2d5c5d2ee0a9b141e6216"), # noqa: E501 + address=Address(0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post: dict = {} + post = { + target: Account(storage={0: 0}, balance=0xDE0B6B3A7640000), + addr_2: Account(storage={2: 0}, balance=0x2540BE400), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcall_000.py b/tests/ported_static/stStaticCall/test_static_callcallcall_000.py index 3164cb157f9..10b37a976e2 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcall_000.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcall_000.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcall_000. Ported from: -tests/static/state_tests/stStaticCall/static_callcallcall_000Filler.json +state_tests/stStaticCall/static_callcallcall_000Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,49 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcall_000Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcall_000Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000fb157bfd4470ab46dffec6f8390b747c67f62b38", - { - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - Address("0xfb157bfd4470ab46dffec6f8390b747c67f62b38"): Account( - storage={0: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000bf23f3306533431b2ee5e4ca95e0a0834c090105", - { - Address("0xbf23f3306533431b2ee5e4ca95e0a0834c090105"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcall_000( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcall_000.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -78,177 +72,229 @@ def test_static_callcallcall_000( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x181b4ed322e192361633cc3c0a418f259ab0cf4b"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (STATICCALL 650000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x9EB10, + address=0x36ACE903A154317B8FA379AAD88A425B7EF025DC, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0xFB157BFD4470AB46DFFEC6F8390B747C67F62B38), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x61A80, - address=0x3F6D147A714319EF90C47921715DC5F0CCFE3B09, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 400000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x61A80, + address=0x3F6D147A714319EF90C47921715DC5F0CCFE3B09, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x36ace903a154317b8fa379aad88a425b7ef025dc"), # noqa: E501 + address=Address(0x36ACE903A154317B8FA379AAD88A425B7EF025DC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x3D090, - address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 250000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x3D090, + address=0x181B4ED322E192361633CC3C0A418F259AB0CF4B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3f6d147a714319ef90c47921715dc5f0ccfe3b09"), # noqa: E501 + address=Address(0x3F6D147A714319EF90C47921715DC5F0CCFE3B09), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x3D090, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))} # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0x85ee033b8ff327153f5c82d191b4942102debffc"), # noqa: E501 + address=Address(0x181B4ED322E192361633CC3C0A418F259AB0CF4B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0xD518EBB39FB88BEB34AD1598FE3CCD3F8E4C4708, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0xD518EBB39FB88BEB34AD1598FE3CCD3F8E4C4708, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbf23f3306533431b2ee5e4ca95e0a0834c090105"), # noqa: E501 + address=Address(0xBF23F3306533431B2EE5E4CA95E0A0834C090105), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 300000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=0x85EE033B8FF327153F5C82D191B4942102DEBFFC, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xD518EBB39FB88BEB34AD1598FE3CCD3F8E4C4708), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x493E0, - address=0x85EE033B8FF327153F5C82D191B4942102DEBFFC, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 250000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x3D090, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd518ebb39fb88beb34ad1598fe3ccd3f8e4c4708"), # noqa: E501 + address=Address(0x85EE033B8FF327153F5C82D191B4942102DEBFFC), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x9EB10, - address=0x36ACE903A154317B8FA379AAD88A425B7EF025DC, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xfb157bfd4470ab46dffec6f8390b747c67f62b38"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage={0: 1}), + addr_2: Account(storage={}), + addr_3: Account(storage={}), + addr_4: Account( + storage={ + 3: 0, + 4: 0, + 7: 0, + 330: 0, + 332: 0, + 336: 0, + 338: 0, + 340: 0, + }, + ), + target: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr_5: Account(storage={0: 1}), + addr_6: Account(storage={}), + addr_7: Account(storage={}), + addr_8: Account( + storage={ + 3: 0, + 4: 0, + 7: 0, + 330: 0, + 332: 0, + 336: 0, + 338: 0, + 340: 0, + }, + ), + target: Account(storage={0: 1, 1: 1}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [3000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcall_000_ooge.py b/tests/ported_static/stStaticCall/test_static_callcallcall_000_ooge.py index fbfe55d3095..a7cd6aba1dc 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcall_000_ooge.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcall_000_ooge.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcall_000_ooge. Ported from: -tests/static/state_tests/stStaticCall/static_callcallcall_000_OOGEFiller.json +state_tests/stStaticCall/static_callcallcall_000_OOGEFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,49 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcall_000_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcall_000_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000071587c3e5f2ebf88b2a5b048733778605addb28", - { - Address("0x071587c3e5f2ebf88b2a5b048733778605addb28"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000009b0cb3cb3655d3173ff7c2cd51319aaf2cca3cad", - { - Address("0x9b0cb3cb3655d3173ff7c2cd51319aaf2cca3cad"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcall_000_ooge( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcall_000_ooge.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -78,178 +72,199 @@ def test_static_callcallcall_000_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x7A120, - address=0xA69F4D8056BB192982BF07D59AD0FF96A15B41D9, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x071587c3e5f2ebf88b2a5b048733778605addb28"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x927C0, - address=0xA69F4D8056BB192982BF07D59AD0FF96A15B41D9, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 500000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x7A120, + address=0xA69F4D8056BB192982BF07D59AD0FF96A15B41D9, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9b0cb3cb3655d3173ff7c2cd51319aaf2cca3cad"), # noqa: E501 + address=Address(0x071587C3E5F2EBF88B2A5B048733778605ADDB28), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 300000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=0xCD0BD482BAEEB001E6F3FFD36BCEB34D32169C93, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x9d41ca9233d19d3202befcef33f16af7201f0eaa"), # noqa: E501 + address=Address(0xA69F4D8056BB192982BF07D59AD0FF96A15B41D9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x493E0, - address=0xCD0BD482BAEEB001E6F3FFD36BCEB34D32169C93, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 120020 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x1D4D4, + address=0x9D41CA9233D19D3202BEFCEF33F16AF7201F0EAA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xa69f4d8056bb192982bf07d59ad0ff96a15b41d9"), # noqa: E501 + address=Address(0xCD0BD482BAEEB001E6F3FFD36BCEB34D32169C93), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x493E0, - address=0xAC6BF72C47193C6FEFC55EFCC14674F8023F39F9, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (MSTORE 3 1)} + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xa76ce2de971ea2b78bc19ba706cb135f4fff2cc2"), # noqa: E501 + address=Address(0x9D41CA9233D19D3202BEFCEF33F16AF7201F0EAA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x1D4D4, - address=0xF31E5B020AFCCF373BFA588C4D3A199C4F7A46A4, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 600000 0 64 0 64 ) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x927C0, + address=0xA69F4D8056BB192982BF07D59AD0FF96A15B41D9, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xac6bf72c47193c6fefc55efcc14674f8023f39f9"), # noqa: E501 + address=Address(0x9B0CB3CB3655D3173FF7C2CD51319AAF2CCA3CAD), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 300000 0 64 0 64 )(MSTORE 32 1) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=0xAC6BF72C47193C6FEFC55EFCC14674F8023F39F9, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0xA76CE2DE971EA2B78BC19BA706CB135F4FFF2CC2), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x1D4D4, - address=0x9D41CA9233D19D3202BEFCEF33F16AF7201F0EAA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 120020 0 64 0 64 )(MSTORE 32 1) } # noqa: E501 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x1D4D4, + address=0xF31E5B020AFCCF373BFA588C4D3A199C4F7A46A4, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xcd0bd482baeeb001e6f3ffd36bceb34d32169c93"), # noqa: E501 + address=Address(0xAC6BF72C47193C6FEFC55EFCC14674F8023F39F9), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) } + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xf31e5b020afccf373bfa588c4d3a199c4f7a46a4"), # noqa: E501 + address=Address(0xF31E5B020AFCCF373BFA588C4D3A199C4F7A46A4), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage={0: 1, 1: 0, 2: 0, 3: 0}), + addr_2: Account(storage={1: 0, 2: 0, 3: 0}), + addr_3: Account(storage={2: 0, 3: 0}), + addr_4: Account(storage={3: 0}), + target: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_after.py b/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_after.py index 61c42359e8a..e5f0cd0132b 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_after.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_after.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcall_000_oogm_after. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcall_000_OOGMAfterFiller.json +state_tests/stStaticCall/static_callcallcall_000_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcall_000_OOGMAfterFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcall_000_OOGMAfterFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcall_000_oogm_after( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcall_000_oogm_after.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,81 +47,85 @@ def test_static_callcallcall_000_oogm_after( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 600150 0 64 0 64 ) [[ 111 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x92856, - address=0x8FF16542095DE9F85F7C395D6D543D19B30D97D7, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x6F, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x92856, + address=0x8FF16542095DE9F85F7C395D6D543D19B30D97D7, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x6F, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x03681c634a188409b5f9b8ca2382c1a1499d8a0d"), # noqa: E501 + address=Address(0x03681C634A188409B5F9B8CA2382C1A1499D8A0D), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 400080 0 64 0 64 ) (SSTORE 3 1)} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x61AD0, + address=0xC2234F6B4A777DB8DF1447C9C2D0C8CEE376DE76, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x8FF16542095DE9F85F7C395D6D543D19B30D97D7), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x61AD0, - address=0xC2234F6B4A777DB8DF1447C9C2D0C8CEE376DE76, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 120020 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x8ff16542095de9f85f7c395d6d543d19b30d97d7"), # noqa: E501 + address=Address(0xC2234F6B4A777DB8DF1447C9C2D0C8CEE376DE76), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xc2234f6b4a777db8df1447c9c2d0c8cee376de76"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1720000, ) post = { - contract: Account(storage={111: 1}), + target: Account(storage={0: 0, 1: 0, 2: 0, 3: 0, 111: 1}), + addr: Account(storage={1: 0, 2: 0, 3: 0}), + addr_2: Account(storage={2: 0, 3: 0}), + addr_3: Account(storage={3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_after2.py b/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_after2.py index 80b94f728a1..7ee3733bc9b 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_after2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_after2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcall_000_oogm_after2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcall_000_OOGMAfter2Filler.json +state_tests/stStaticCall/static_callcallcall_000_OOGMAfter2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcall_000_OOGMAfter2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcall_000_OOGMAfter2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcall_000_oogm_after2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcall_000_oogm_after2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,89 +47,92 @@ def test_static_callcallcall_000_oogm_after2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x6DDD0, - address=0xA34EEE061F267A63C872265BED51C483F777A7B0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x44, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 700000 0 64 0 64 ) [[ 111 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xAAE60, + address=0x10345562E309B2045C737FFDD46E941710495FC4, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x6F, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x10345562e309b2045c737ffdd46e941710495fc4"), # noqa: E501 + address=Address(0x6DE4E4FA82A7139E6804B5B47B42E366A9595946), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 450000 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x6DDD0, + address=0xA34EEE061F267A63C872265BED51C483F777A7B0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x44, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x10345562E309B2045C737FFDD46E941710495FC4), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 700000 0 64 0 64 ) [[ 111 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xAAE60, - address=0x10345562E309B2045C737FFDD46E941710495FC4, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 120020 0 64 0 64 ) (MSTORE 32 1)} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x6F, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x6de4e4fa82a7139e6804b5b47b42e366a9595946"), # noqa: E501 + address=Address(0xA34EEE061F267A63C872265BED51C483F777A7B0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xa34eee061f267a63c872265bed51c483f777a7b0"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1720000, ) post = { - contract: Account(storage={111: 1}), + target: Account(storage={0: 0, 1: 0, 2: 0, 3: 0, 111: 1}), + addr: Account(storage={1: 0, 2: 0, 3: 0}), + addr_2: Account(storage={2: 0, 3: 0}), + addr_3: Account(storage={3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_before.py b/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_before.py index b9e2caf8d9f..e7d8adf51d1 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_before.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcall_000_oogm_before.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcall_000_oogm_before. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcall_000_OOGMBeforeFiller.json +state_tests/stStaticCall/static_callcallcall_000_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcall_000_OOGMBeforeFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcall_000_OOGMBeforeFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcall_000_oogm_before( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcall_000_oogm_before.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,82 +47,85 @@ def test_static_callcallcall_000_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 600000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x927C0, - address=0xEDBFA645E2C5462398C0BD3A12E41EF8EC1F9F5, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x081fa564a44bd568ecf6d6b044899f7ee4057f5f"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x61AD0, - address=0x97498B4CE896BE02417BCFE036BEAC3332185563, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x927C0, + address=0xEDBFA645E2C5462398C0BD3A12E41EF8EC1F9F5, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0edbfa645e2c5462398c0bd3a12e41ef8ec1f9f5"), # noqa: E501 + address=Address(0x081FA564A44BD568ECF6D6B044899F7EE4057F5F), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (STATICCALL 400080 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x61AD0, + address=0x97498B4CE896BE02417BCFE036BEAC3332185563, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x0EDBFA645E2C5462398C0BD3A12E41EF8EC1F9F5), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) (STATICCALL 120020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + nonce=0, + address=Address(0x97498B4CE896BE02417BCFE036BEAC3332185563), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0x97498b4ce896be02417bcfe036beac3332185563"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1720000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1, 2: 0, 3: 0}), + addr: Account(storage={1: 0, 2: 0, 3: 0}), + addr_2: Account(storage={2: 0, 3: 0}), + addr_3: Account(storage={3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcall_000_suicide_end.py b/tests/ported_static/stStaticCall/test_static_callcallcall_000_suicide_end.py index 805228eba19..a328a71f912 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcall_000_suicide_end.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcall_000_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcall_000_suicide_end. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcall_000_SuicideEndFiller.json +state_tests/stStaticCall/static_callcallcall_000_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcall_000_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcall_000_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcall_000_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcall_000_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,86 +47,86 @@ def test_static_callcallcall_000_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x3423652bb0c864ac51c919168f106e55d6f7d138"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0xCB401DA610F6DE2240321640E8BF2803CE6BFD0A, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0xCB401DA610F6DE2240321640E8BF2803CE6BFD0A, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x620b381d01cbd812ffb798ab35a1a316bde90ce6"), # noqa: E501 + address=Address(0x620B381D01CBD812FFB798AB35A1A316BDE90CE6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x3423652BB0C864AC51C919168F106E55D6F7D138, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6 + # Source: lll + # { (MSTORE 3 1) (STATICCALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x3423652BB0C864AC51C919168F106E55D6F7D138, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0xCB401DA610F6DE2240321640E8BF2803CE6BFD0A), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xcb401da610f6de2240321640e8bf2803ce6bfd0a"), # noqa: E501 + address=Address(0x3423652BB0C864AC51C919168F106E55D6F7D138), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr_2: Account(balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcall_000_suicide_middle.py b/tests/ported_static/stStaticCall/test_static_callcallcall_000_suicide_middle.py index 13d50b5973f..322f1bb57d0 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcall_000_suicide_middle.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcall_000_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcall_000_suicide_middle. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcall_000_SuicideMiddleFiller.json +state_tests/stStaticCall/static_callcallcall_000_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcall_000_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcall_000_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcall_000_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcall_000_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,81 +49,85 @@ def test_static_callcallcall_000_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x72CC05B5A698AA0AE6848A4814180A756561F046, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x620b381d01cbd812ffb798ab35a1a316bde90ce6"), # noqa: E501 + address=Address(0x8D1428C10723924A74AB6096C463EDAAB4CEA5FB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x8D1428C10723924A74AB6096C463EDAAB4CEA5FB) - + Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x72CC05B5A698AA0AE6848A4814180A756561F046, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x72cc05b5a698aa0ae6848a4814180a756561f046"), # noqa: E501 + address=Address(0x620B381D01CBD812FFB798AB35A1A316BDE90CE6), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SELFDESTRUCT ) (STATICCALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x8D1428C10723924A74AB6096C463EDAAB4CEA5FB + ) + + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x72CC05B5A698AA0AE6848A4814180A756561F046), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x8d1428c10723924a74ab6096c463edaab4cea5fb"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B3A7640000), + addr: Account(storage={1: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcall_abcb_recursive.py b/tests/ported_static/stStaticCall/test_static_callcallcall_abcb_recursive.py index c64c051a40d..5f07e240f11 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcall_abcb_recursive.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcall_abcb_recursive.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcall_abcb_recursive. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcall_ABCB_RECURSIVEFiller.json +state_tests/stStaticCall/static_callcallcall_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcall_ABCB_RECURSIVEFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcall_ABCB_RECURSIVEFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcall_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcall_abcb_recursive.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,76 +47,79 @@ def test_static_callcallcall_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { (MSTORE 1 1) (STATICCALL 25000000 0 64 0 64 ) (MSTORE 2 1) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x17D7840, - address=0xF687BDDCD749D085FD830B4E865CB76BB4F981AB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x17D7840, + address=0xF687BDDCD749D085FD830B4E865CB76BB4F981AB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x2, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x2, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa1d5b67585a05602670674bdb13ff8fedebe05bc"), # noqa: E501 + address=Address(0xA1D5B67585A05602670674BDB13FF8FEDEBE05BC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x5, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x7A120, - address=0xF687BDDCD749D085FD830B4E865CB76BB4F981AB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 1000000 0 64 0 64 ) (MSTORE 4 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0xF4240, + address=0xE6F4B463900F4C325A940DCA2C0C6B1C075631C9, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x6, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x4, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe6f4b463900f4c325a940dca2c0c6b1c075631c9"), # noqa: E501 + address=Address(0xF687BDDCD749D085FD830B4E865CB76BB4F981AB), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0xF4240, - address=0xE6F4B463900F4C325A940DCA2C0C6B1C075631C9, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 5 1) (STATICCALL 500000 0 64 0 64 ) (MSTORE 6 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x5, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x7A120, + address=0xF687BDDCD749D085FD830B4E865CB76BB4F981AB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x4, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x6, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xf687bddcd749d085fd830b4e865cb76bb4f981ab"), # noqa: E501 + address=Address(0xE6F4B463900F4C325A940DCA2C0C6B1C075631C9), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = { + target: Account(storage={0: 0, 1: 0}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001.py index ce81b847f97..9834b2ed84b 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001. Ported from: -tests/static/state_tests/stStaticCall/static_callcallcallcode_001Filler.json +state_tests/stStaticCall/static_callcallcallcode_001Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,49 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcallcode_001Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000009121e482add3986513a14639db36d5ec5ae41fb8", - { - Address("0x9121e482add3986513a14639db36d5ec5ae41fb8"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000bf23f3306533431b2ee5e4ca95e0a0834c090105", - { - Address("0xbf23f3306533431b2ee5e4ca95e0a0834c090105"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcallcode_001( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -78,178 +72,213 @@ def test_static_callcallcallcode_001( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x493E0, - address=0x82D1FD8C6ED53A58BD8B065074A6B572A7CA89FA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0x5CCB387AB81F41F0B490664795E7004D5D14BF91, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x9121E482ADD3986513A14639DB36D5EC5AE41FB8), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) (STATICCALL 300000 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=0x82D1FD8C6ED53A58BD8B065074A6B572A7CA89FA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5ccb387ab81f41f0b490664795e7004d5d14bf91"), # noqa: E501 + address=Address(0x5CCB387AB81F41F0B490664795E7004D5D14BF91), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x493E0, - address=0xF18DDE9381A558C4BE0B84B0F3A17E22B3F9FFCE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (DELEGATECALL 250000 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x3D090, + address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x69ce59f2414271f3e079542ef3893a021d7d68ea"), # noqa: E501 + address=Address(0x82D1FD8C6ED53A58BD8B065074A6B572A7CA89FA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x4, value=Op.CALLER) - + Op.SSTORE(key=0x7, value=Op.CALLVALUE) - + Op.SSTORE(key=0x14A, value=Op.ADDRESS) - + Op.SSTORE(key=0x14C, value=Op.ORIGIN) - + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) - + Op.SSTORE(key=0x152, value=Op.CODESIZE) - + Op.SSTORE(key=0x154, value=Op.GASPRICE) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x4, value=Op.CALLER) + + Op.SSTORE(key=0x7, value=Op.CALLVALUE) + + Op.SSTORE(key=0x14A, value=Op.ADDRESS) + + Op.SSTORE(key=0x14C, value=Op.ORIGIN) + + Op.SSTORE(key=0x150, value=Op.CALLDATASIZE) + + Op.SSTORE(key=0x152, value=Op.CODESIZE) + + Op.SSTORE(key=0x154, value=Op.GASPRICE) + + Op.STOP, nonce=0, - address=Address("0x7e63847aad8ca50fb7c04777dce6871a6bf8de0c"), # noqa: E501 + address=Address(0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x3D090, - address=0x7E63847AAD8CA50FB7C04777DCE6871A6BF8DE0C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0x69CE59F2414271F3E079542EF3893A021D7D68EA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x82d1fd8c6ed53a58bd8b065074a6b572a7ca89fa"), # noqa: E501 + address=Address(0xBF23F3306533431B2EE5E4CA95E0A0834C090105), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0x5CCB387AB81F41F0B490664795E7004D5D14BF91, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 300000 0 64 0 64 )(MSTORE 3 1) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=0xF18DDE9381A558C4BE0B84B0F3A17E22B3F9FFCE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9121e482add3986513a14639db36d5ec5ae41fb8"), # noqa: E501 + address=Address(0x69CE59F2414271F3E079542EF3893A021D7D68EA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0x69CE59F2414271F3E079542EF3893A021D7D68EA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (DELEGATECALL 250000 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x3D090, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbf23f3306533431b2ee5e4ca95e0a0834c090105"), # noqa: E501 + address=Address(0xF18DDE9381A558C4BE0B84B0F3A17E22B3F9FFCE), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x3D090, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, + + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + addr: Account(storage={0: 1, 1: 0, 3: 0, 4: 0}), + addr_2: Account(storage={1: 0, 3: 0, 4: 0}), + addr_3: Account( + storage={ + 2: 0, + 3: 0, + 4: 0, + 7: 0, + 330: 0, + 332: 0, + 336: 0, + 338: 0, + 340: 0, + }, ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xf18dde9381a558c4be0b84b0f3a17e22b3f9ffce"), # noqa: E501 - ) + target: Account(storage={0: 1, 1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [3000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_2.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_2.py index 86fb9d53a72..20eb1b6d1f5 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_2. Ported from: -tests/static/state_tests/stStaticCall/static_callcallcallcode_001_2Filler.json +state_tests/stStaticCall/static_callcallcallcode_001_2Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,49 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcallcode_001_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000002f9ec0afcb4edcd7d38c6a48f5e36038263ca3cd", - { - Address("0x2f9ec0afcb4edcd7d38c6a48f5e36038263ca3cd"): Account( - storage={0: 1} - ), - Address("0xe4552fdc3736d39144e64ad1a1e8253017b0c974"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000bf23f3306533431b2ee5e4ca95e0a0834c090105", - { - Address("0xbf23f3306533431b2ee5e4ca95e0a0834c090105"): Account( - storage={0: 1} - ), - Address("0xe4552fdc3736d39144e64ad1a1e8253017b0c974"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcallcode_001_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -78,166 +72,216 @@ def test_static_callcallcallcode_001_2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x2, - value=Op.CALLCODE( - gas=0x3D090, - address=0x2881A083EA775F78057A93F73110241FDB7398A9, - value=0x3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1} + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x0ffffaeb931552e5f094ca96a70be612da56b887"), # noqa: E501 + address=Address(0xE4552FDC3736D39144E64AD1A1E8253017B0C974), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x11223344) + Op.STOP, + # Source: lll + # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0x52BC8086D7F6AC48937CF1B98DFC6F4BE0F75112, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2881a083ea775f78057a93f73110241fdb7398a9"), # noqa: E501 + address=Address(0x2F9EC0AFCB4EDCD7D38C6A48F5E36038263CA3CD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0x52BC8086D7F6AC48937CF1B98DFC6F4BE0F75112, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (STATICCALL 300000 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=0xFFFFAEB931552E5F094CA96A70BE612DA56B887, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2f9ec0afcb4edcd7d38c6a48f5e36038263ca3cd"), # noqa: E501 + address=Address(0x52BC8086D7F6AC48937CF1B98DFC6F4BE0F75112), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 2 ]] (CALLCODE 250000 3 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.CALLCODE( + gas=0x3D090, + address=0x2881A083EA775F78057A93F73110241FDB7398A9, + value=0x3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x0FFFFAEB931552E5F094CA96A70BE612DA56B887), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x493E0, - address=0xFFFFAEB931552E5F094CA96A70BE612DA56B887, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 1 0x11223344) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x11223344) + Op.STOP, nonce=0, - address=Address("0x52bc8086d7f6ac48937cf1b98dfc6f4be0f75112"), # noqa: E501 + address=Address(0x2881A083EA775F78057A93F73110241FDB7398A9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x4, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=0x3D090, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x6, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0xB4631A307A08ABC5D5A582549B23CB98A7C5BEB2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5517c40699ceb16c4eb71f2b0d841078c198560e"), # noqa: E501 + address=Address(0xBF23F3306533431B2EE5E4CA95E0A0834C090105), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x493E0, - address=0x5517C40699CEB16C4EB71F2B0D841078C198560E, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (STATICCALL 300000 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=0x5517C40699CEB16C4EB71F2B0D841078C198560E, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb4631a307a08abc5d5a582549b23cb98a7c5beb2"), # noqa: E501 + address=Address(0xB4631A307A08ABC5D5A582549B23CB98A7C5BEB2), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0xB4631A307A08ABC5D5A582549B23CB98A7C5BEB2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 4 1) (CALLCODE 250000 0 0 64 0 64 ) (MSTORE 6 1) } # noqa: E501 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x4, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0x3D090, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x6, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbf23f3306533431b2ee5e4ca95e0a0834c090105"), # noqa: E501 + address=Address(0x5517C40699CEB16C4EB71F2B0D841078C198560E), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1} - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xe4552fdc3736d39144e64ad1a1e8253017b0c974"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 1, 1: 1}), + addr_3: Account( + storage={ + 2: 0, + 3: 0, + 4: 0, + 7: 0, + 330: 0, + 332: 0, + 336: 0, + 338: 0, + 340: 0, + }, + ), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account(storage={0: 1, 1: 1}), + addr_3: Account( + storage={ + 2: 0, + 3: 0, + 4: 0, + 7: 0, + 330: 0, + 332: 0, + 336: 0, + 338: 0, + 340: 0, + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [3000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_ooge.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_ooge.py index 78e33a51606..952b23aec34 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_ooge.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_ooge.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_ooge. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_OOGEFiller.json +state_tests/stStaticCall/static_callcallcallcode_001_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcallcode_001_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcallcode_001_ooge( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_ooge.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,92 +47,94 @@ def test_static_callcallcallcode_001_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 600000 0 64 0 64 ) (MSTORE 3 1)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x927C0, - address=0x6F80B859BA9392B2C26E5930C330D4A7247FBA4F, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x927C0, + address=0x6F80B859BA9392B2C26E5930C330D4A7247FBA4F, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x563f06d1277f7cb092689ac2168d6eecd1acb499"), # noqa: E501 + address=Address(0x563F06D1277F7CB092689AC2168D6EECD1ACB499), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x493E0, - address=0xA3E14608664E4A0229F96C49500F83F0FDBF3DCB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 300000 0 64 0 64 ) (MSTORE 3 1)} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=0xA3E14608664E4A0229F96C49500F83F0FDBF3DCB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x6f80b859ba9392b2c26e5930c330d4a7247fba4f"), # noqa: E501 + address=Address(0x6F80B859BA9392B2C26E5930C330D4A7247FBA4F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x1D4D4, - address=0xE574F7EC5305BE91332B5B8B12DEB8966E05F42D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (DELEGATECALL 120020 0 64 0 64 ) (MSTORE 3 1)} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x1D4D4, + address=0xE574F7EC5305BE91332B5B8B12DEB8966E05F42D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xa3e14608664e4a0229f96c49500f83f0fdbf3dcb"), # noqa: E501 + address=Address(0xA3E14608664E4A0229F96C49500F83F0FDBF3DCB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )} + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xe574f7ec5305be91332b5b8b12deb8966e05f42d"), # noqa: E501 + address=Address(0xE574F7EC5305BE91332B5B8B12DEB8966E05F42D), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1720000, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1, 2: 0, 3: 0}), + addr: Account(storage={1: 0, 2: 0, 3: 0}), + addr_2: Account(storage={2: 0, 3: 0}), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_ooge_2.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_ooge_2.py index 8212de482cf..26c5e80244e 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_ooge_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_ooge_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_ooge_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_OOGE_2Filler.json +state_tests/stStaticCall/static_callcallcallcode_001_OOGE_2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,49 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_OOGE_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcallcode_001_OOGE_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000071587c3e5f2ebf88b2a5b048733778605addb28", - { - Address("0x071587c3e5f2ebf88b2a5b048733778605addb28"): Account( - storage={0: 1} - ), - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000ed9009abb678fb6e7898148dc46fa339ea580cbd", - { - Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"): Account( - storage={0: 1, 1: 1} - ), - Address("0xed9009abb678fb6e7898148dc46fa339ea580cbd"): Account( - storage={0: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcallcode_001_ooge_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_ooge_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -79,164 +69,165 @@ def test_static_callcallcallcode_001_ooge_2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x7A120, - address=0xBDA9155E6214FE759004E6FCBE736289EF800528, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x071587c3e5f2ebf88b2a5b048733778605addb28"), # noqa: E501 + address=Address(0xC0E4183389EB57F779A986D8C878F89B9401DC8E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x493E0, - address=0xA7C64824C59E4295A3868A2B275AD46B38F7846D, + # Source: lll + # { [[ 0 ]] (STATICCALL 500000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x7A120, + address=0xBDA9155E6214FE759004E6FCBE736289EF800528, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2db6829f13013d6280c5be4f6a5e87de274a3c47"), # noqa: E501 + address=Address(0x071587C3E5F2EBF88B2A5B048733778605ADDB28), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (STATICCALL 300000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x493E0, + address=0xFEE7D85F02F84CE8917FA8300FEA57FF41AD47D7, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x609e4dfe6190235b9a0362084c741d9ec330fb1e"), # noqa: E501 + address=Address(0xBDA9155E6214FE759004E6FCBE736289EF800528), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 120020 0 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x1D4D4, + address=0x9D41CA9233D19D3202BEFCEF33F16AF7201F0EAA, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x9d41ca9233d19d3202befcef33f16af7201f0eaa"), # noqa: E501 + address=Address(0xFEE7D85F02F84CE8917FA8300FEA57FF41AD47D7), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x1D4D4, - address=0x609E4DFE6190235B9A0362084C741D9EC330FB1E, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (MSTORE 3 1)} + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xa7c64824c59e4295a3868a2b275ad46b38f7846d"), # noqa: E501 + address=Address(0x9D41CA9233D19D3202BEFCEF33F16AF7201F0EAA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x493E0, - address=0xFEE7D85F02F84CE8917FA8300FEA57FF41AD47D7, + # Source: lll + # { [[ 0 ]] (STATICCALL 500000 0 64 0 64 ) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x7A120, + address=0x2DB6829F13013D6280C5BE4F6A5E87DE274A3C47, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbda9155e6214fe759004e6fcbe736289ef800528"), # noqa: E501 + address=Address(0xED9009ABB678FB6E7898148DC46FA339EA580CBD), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 300000 0 64 0 64 ) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x493E0, + address=0xA7C64824C59E4295A3868A2B275AD46B38F7846D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xc0e4183389eb57f779a986d8c878f89b9401dc8e"), # noqa: E501 + address=Address(0x2DB6829F13013D6280C5BE4F6A5E87DE274A3C47), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x7A120, - address=0x2DB6829F13013D6280C5BE4F6A5E87DE274A3C47, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (CALLCODE 120020 0 0 64 0 64 ) } # noqa: E501 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x1D4D4, + address=0x609E4DFE6190235B9A0362084C741D9EC330FB1E, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xed9009abb678fb6e7898148dc46fa339ea580cbd"), # noqa: E501 + address=Address(0xA7C64824C59E4295A3868A2B275AD46B38F7846D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x1D4D4, - address=0x9D41CA9233D19D3202BEFCEF33F16AF7201F0EAA, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) } + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xfee7d85f02f84ce8917fa8300fea57ff41ad47d7"), # noqa: E501 + address=Address(0x609E4DFE6190235B9A0362084C741D9EC330FB1E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after.py index fb0ea2a85e2..f4c7bea28aa 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_oogm_after. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_OOGMAfterFiller.json +state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfterFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "0000000000000000000000004cd868420cbc0e9d9ba63455a2d0a36ce0fabf2c", - "000000000000000000000000ee8f7e38be79a20210ba7860a51507505984e4ed", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcallcode_001_oogm_after( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_oogm_after.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,111 +71,118 @@ def test_static_callcallcallcode_001_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x92856, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x265eeb9a84fea22da8b58252402b03bafe1a6324"), # noqa: E501 + address=Address(0xF1F083974FD68B961E68130C27FC5EF37B49C1DF), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 400085 0 64 0 64 ) (SSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x61AD5, + address=0x265EEB9A84FEA22DA8B58252402B03BAFE1A6324, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x4CD868420CBC0E9D9BA63455A2D0A36CE0FABF2C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x61AD5, - address=0x265EEB9A84FEA22DA8B58252402B03BAFE1A6324, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 400085 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x61AD5, + address=0x265EEB9A84FEA22DA8B58252402B03BAFE1A6324, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x44, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x4cd868420cbc0e9d9ba63455a2d0a36ce0fabf2c"), # noqa: E501 + address=Address(0xEE8F7E38BE79A20210BA7860A51507505984E4ED), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x61AD5, - address=0x265EEB9A84FEA22DA8B58252402B03BAFE1A6324, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x44, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (MSTORE 3 1) (DELEGATECALL 120020 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xee8f7e38be79a20210ba7860a51507505984e4ed"), # noqa: E501 + address=Address(0x265EEB9A84FEA22DA8B58252402B03BAFE1A6324), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x92856, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xf1f083974fd68b961e68130c27fc5ef37b49c1df"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) post = { - contract: Account(storage={1: 1}), + target: Account(storage={0: 0, 1: 1, 2: 0}), + addr: Account(storage={0: 0, 1: 0, 2: 0}), + addr_3: Account(storage={0: 0, 1: 0, 2: 0}), + addr_4: Account(storage={1: 0, 2: 0, 3: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after2.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after2.py index 9b197fc7796..353ab10b86c 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_oogm_after2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_OOGMAfter2Filler.json +state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfter2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfter2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfter2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000171a4477dfe54503dd5f21daf90429fd2f22d654", - "000000000000000000000000142cc6371ac4a38c018d3d1fda49a9327d8b0b45", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcallcode_001_oogm_after2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_oogm_after2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,106 +71,112 @@ def test_static_callcallcallcode_001_oogm_after2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x61AD0, - address=0xC26255D9FCF9D7D38D2734CD4E980B8C00ECEEF6, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x23) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x92856, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x142cc6371ac4a38c018d3d1fda49a9327d8b0b45"), # noqa: E501 + address=Address(0xF1F083974FD68B961E68130C27FC5EF37B49C1DF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x61AD0, - address=0xC26255D9FCF9D7D38D2734CD4E980B8C00ECEEF6, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (STATICCALL 400080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x61AD0, + address=0xC26255D9FCF9D7D38D2734CD4E980B8C00ECEEF6, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0x171a4477dfe54503dd5f21daf90429fd2f22d654"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x23) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x142CC6371AC4A38C018D3D1FDA49A9327D8B0B45), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - value=0x0, + # Source: lll + # { (STATICCALL 400080 0 64 0 64 ) (SSTORE 3 1)} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x61AD0, + address=0xC26255D9FCF9D7D38D2734CD4E980B8C00ECEEF6, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc26255d9fcf9d7d38d2734cd4e980b8c00eceef6"), # noqa: E501 + address=Address(0x171A4477DFE54503DD5F21DAF90429FD2F22D654), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x92856, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (CALLCODE 120020 0 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xf1f083974fd68b961e68130c27fc5ef37b49c1df"), # noqa: E501 + address=Address(0xC26255D9FCF9D7D38D2734CD4E980B8C00ECEEF6), # noqa: E501 ) + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) post = { - contract: Account(storage={1: 1}), + target: Account(storage={0: 0, 1: 1, 2: 0, 3: 0}), + addr_2: Account(storage={1: 0, 2: 0, 3: 0}), + addr_3: Account(storage={2: 0, 3: 0}), + addr_4: Account(storage={3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after_2.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after_2.py index 74e25db33e5..73b11d49b25 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_oogm_after_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_OOGMAfter_2Filler.json +state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "0000000000000000000000004fde3a9b8985c447bc5071ee2818f0feee56052f", - "0000000000000000000000003cc8446e7643b49561a6d83a5e699b9ad4c97854", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcallcode_001_oogm_after_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_oogm_after_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,105 +71,112 @@ def test_static_callcallcallcode_001_oogm_after_2( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + # Source: lll + # { [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xEAF6, + address=Op.CALLDATALOAD(offset=0x0), args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1067d2b507295358055ed9f68f74245839d6339f"), # noqa: E501 + address=Address(0xF346244D7B72784053A685F7B1531B0D914911CA), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (STATICCALL 400085 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x61AD5, + address=0x1067D2B507295358055ED9F68F74245839D6339F, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x23) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x3CC8446E7643B49561A6D83A5E699B9AD4C97854), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x61AD5, - address=0x1067D2B507295358055ED9F68F74245839D6339F, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (STATICCALL 400085 0 64 0 64 ) (SSTORE 3 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x61AD5, + address=0x1067D2B507295358055ED9F68F74245839D6339F, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x23) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x3cc8446e7643b49561a6d83a5e699b9ad4c97854"), # noqa: E501 + address=Address(0x4FDE3A9B8985C447BC5071EE2818F0FEEE56052F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x61AD5, - address=0x1067D2B507295358055ED9F68F74245839D6339F, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 120020 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x4fde3a9b8985c447bc5071ee2818f0feee56052f"), # noqa: E501 + address=Address(0x1067D2B507295358055ED9F68F74245839D6339F), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xEAF6, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xf346244d7b72784053a685f7b1531b0d914911ca"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) post = { - contract: Account(storage={1: 1}), + target: Account(storage={0: 0, 1: 1, 2: 0}), + addr_2: Account(storage={0: 0, 1: 0, 2: 0}), + addr_3: Account(storage={0: 0, 1: 0, 2: 0}), + addr_4: Account(storage={1: 0, 2: 0, 3: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after_3.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after_3.py index b1c0c6e215b..9423d61c55c 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after_3.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_after_3.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_oogm_after_3. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_OOGMAfter_3Filler.json +state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000171a4477dfe54503dd5f21daf90429fd2f22d654", - "000000000000000000000000813986a928f9829ba2bd6633d33083759f1990a3", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcallcode_001_oogm_after_3( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_oogm_after_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,106 +71,112 @@ def test_static_callcallcallcode_001_oogm_after_3( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x61AD0, - address=0xC26255D9FCF9D7D38D2734CD4E980B8C00ECEEF6, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0x171a4477dfe54503dd5f21daf90429fd2f22d654"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x92856, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0xF1F083974FD68B961E68130C27FC5EF37B49C1DF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x61AD0, - address=0xC26255D9FCF9D7D38D2734CD4E980B8C00ECEEF6, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (STATICCALL 400080 0 64 0 64 ) (SSTORE 3 1)} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x61AD0, + address=0xC26255D9FCF9D7D38D2734CD4E980B8C00ECEEF6, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x23) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x813986a928f9829ba2bd6633d33083759f1990a3"), # noqa: E501 + address=Address(0x171A4477DFE54503DD5F21DAF90429FD2F22D654), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - value=0x0, + # Source: lll + # { (STATICCALL 400080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x61AD0, + address=0xC26255D9FCF9D7D38D2734CD4E980B8C00ECEEF6, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x23) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xc26255d9fcf9d7d38d2734cd4e980b8c00eceef6"), # noqa: E501 + address=Address(0x813986A928F9829BA2BD6633D33083759F1990A3), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x92856, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (CALLCODE 120020 0 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xf1f083974fd68b961e68130c27fc5ef37b49c1df"), # noqa: E501 + address=Address(0xC26255D9FCF9D7D38D2734CD4E980B8C00ECEEF6), # noqa: E501 ) + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) post = { - contract: Account(storage={1: 1}), + target: Account(storage={0: 0, 1: 1, 2: 0, 3: 0}), + addr: Account(storage={1: 0, 2: 0, 3: 0}), + addr_3: Account(storage={2: 0, 3: 0}), + addr_4: Account(storage={3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_before.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_before.py index f8820fb8d4f..58af3033e34 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_before.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_before.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_oogm_before. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_OOGMBeforeFiller.json +state_tests/stStaticCall/static_callcallcallcode_001_OOGMBeforeFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_001_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "0000000000000000000000008214b87bb9fd41ed6c19255d74b7fcc66178c4d5", - "000000000000000000000000eb89be27eb1850f5f46204e0609023f43c2edc35", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcallcode_001_oogm_before( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_oogm_before.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,112 +71,119 @@ def test_static_callcallcallcode_001_oogm_before( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x61AD0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 600000 0 32 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x927C0, + address=0x10F374FCA091CACD3E57E847BA123BC16695C44E, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x10f374fca091cacd3e57e847ba123bc16695c44e"), # noqa: E501 + address=Address(0xC6DF53AF8AAF7C046B42CF493D4C6819EBEC7994), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 400080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x61AD0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x10F374FCA091CACD3E57E847BA123BC16695C44E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.POP( - Op.DELEGATECALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) (DELEGATECALL 120020 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.POP( + Op.DELEGATECALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x8214b87bb9fd41ed6c19255d74b7fcc66178c4d5"), # noqa: E501 + address=Address(0x8214B87BB9FD41ED6C19255D74B7FCC66178C4D5), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 600000 0 32 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x927C0, - address=0x10F374FCA091CACD3E57E847BA123BC16695C44E, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (SSTORE 1 1) (DELEGATECALL 120020 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc6df53af8aaf7c046b42cf493d4c6819ebec7994"), # noqa: E501 + address=Address(0xEB89BE27EB1850F5F46204E0609023F43C2EDC35), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xeb89be27eb1850f5f46204e0609023f43c2edc35"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1, 2: 0, 3: 0}), + addr: Account(storage={1: 0, 2: 0, 3: 0}), + addr_2: Account(storage={2: 0, 3: 0}), + addr_4: Account(storage={3: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_before2.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_before2.py index a8efab37b3f..93c55903a15 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_before2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_oogm_before2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_oogm_before2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_OOGMBefore2Filler.json +state_tests/stStaticCall/static_callcallcallcode_001_OOGMBefore2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_OOGMBefore2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_001_OOGMBefore2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000ea6e38ec4f121597eea4bab20e02865062d20101", - "000000000000000000000000cf0670b1aa38b467e493459f12ac3b22fdc4a12b", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcallcode_001_oogm_before2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_oogm_before2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,108 +71,114 @@ def test_static_callcallcallcode_001_oogm_before2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.POP( - Op.STATICCALL( - gas=0x61AD0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0x7beca6585c70e19a4a6b3b0452a8c8867fec95e8"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 600000 0 32 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x927C0, - address=0x7BECA6585C70E19A4A6B3B0452A8C8867FEC95E8, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0xc8cb56ed2b3bb8cb3e2f8ce276c85ad35d9ac1bf"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.CALLCODE( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - value=0x0, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x927C0, + address=0x7BECA6585C70E19A4A6B3B0452A8C8867FEC95E8, args_offset=0x0, - args_size=0x40, + args_size=0x20, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcf0670b1aa38b467e493459f12ac3b22fdc4a12b"), # noqa: E501 + address=Address(0xC8CB56ED2B3BB8CB3E2F8CE276C85AD35D9AC1BF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.CALLCODE( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - value=0x0, + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL 400080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.POP( + Op.STATICCALL( + gas=0x61AD0, + address=Op.CALLDATALOAD(offset=0x0), args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0x7BECA6585C70E19A4A6B3B0452A8C8867FEC95E8), # noqa: E501 + ) + # Source: lll + # { (SSTORE 1 1) (CALLCODE 120020 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.CALLCODE( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + nonce=0, + address=Address(0xEA6E38EC4F121597EEA4BAB20E02865062D20101), # noqa: E501 + ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (CALLCODE 120020 0 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.CALLCODE( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + nonce=0, + address=Address(0xCF0670B1AA38B467E493459F12AC3B22FDC4A12B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xea6e38ec4f121597eea4bab20e02865062d20101"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1, 2: 0, 3: 0}), + addr: Account(storage={1: 0, 2: 0, 3: 0}), + addr_2: Account(storage={2: 0, 3: 0}), + addr_4: Account(storage={3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_end.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_end.py index ca224580a63..bcd660b470e 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_end.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_suicide_end. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_SuicideEndFiller.json +state_tests/stStaticCall/static_callcallcallcode_001_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_SuicideEndFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_001_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcallcode_001_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,81 +49,84 @@ def test_static_callcallcallcode_001_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x186A0, + address=0x4A31DD3A8C3C9A793AC0B3C234A4DBAC2F201404, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x4a31dd3a8c3c9a793ac0b3c234a4dbac2f201404"), # noqa: E501 - ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 + address=Address(0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x186A0, - address=0x4A31DD3A8C3C9A793AC0B3C234A4DBAC2F201404, + # Source: lll + # { (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x4A31DD3A8C3C9A793AC0B3C234A4DBAC2F201404), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xd7997c3f1aacabdc66b4da9461b9558b1787e01c"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1, 2: 0}), + addr: Account(storage={1: 0, 3: 0}, balance=0x2540BE400), + addr_2: Account(balance=0x2540BE400), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_end2.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_end2.py index 88c6dab11ff..f2b2ae89a3a 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_end2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_end2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_suicide_end2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_SuicideEnd2Filler.json +state_tests/stStaticCall/static_callcallcallcode_001_SuicideEnd2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_SuicideEnd2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_001_SuicideEnd2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcallcode_001_suicide_end2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_suicide_end2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,82 +49,83 @@ def test_static_callcallcallcode_001_suicide_end2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x186A0, + address=0x90E9B92C59A0E93D8AB0B7AFBC945D6999A50A9B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x90e9b92c59a0e93d8ab0b7afbc945d6999a50a9b"), # noqa: E501 + address=Address(0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x186A0, - address=0x90E9B92C59A0E93D8AB0B7AFBC945D6999A50A9B, + # Source: lll + # { (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + value=0x0, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x90E9B92C59A0E93D8AB0B7AFBC945D6999A50A9B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xd7997c3f1aacabdc66b4da9461b9558b1787e01c"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_middle.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_middle.py index caaa7d06af6..1724215796a 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_middle.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_suicide_middle. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_SuicideMiddleFiller.json +state_tests/stStaticCall/static_callcallcallcode_001_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_001_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcallcode_001_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,81 +49,87 @@ def test_static_callcallcallcode_001_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0xB40862EB0C1F073048AC62D867277B80B57BF6E0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x620b381d01cbd812ffb798ab35a1a316bde90ce6"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D) - + Op.DELEGATECALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0xB40862EB0C1F073048AC62D867277B80B57BF6E0, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x620B381D01CBD812FFB798AB35A1A316BDE90CE6), # noqa: E501 + ) + # Source: lll + # { (SELFDESTRUCT ) (DELEGATECALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D + ) + + Op.DELEGATECALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0xB40862EB0C1F073048AC62D867277B80B57BF6E0), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xb40862eb0c1f073048ac62d867277b80b57bf6e0"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B3A7640000), + addr: Account(storage={1: 0, 2: 0}, balance=0x2540BE400), + addr_3: Account(storage={2: 0, 3: 0}, balance=0x2540BE400), + sender: Account(storage={2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_middle2.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_middle2.py index a43ca9daa89..ec4bef22a8c 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_middle2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_001_suicide_middle2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_001_suicide_middle2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_001_SuicideMiddle2Filler.json +state_tests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcallcode_001_suicide_middle2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_001_suicide_middle2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,82 +49,86 @@ def test_static_callcallcallcode_001_suicide_middle2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x8D1428C10723924A74AB6096C463EDAAB4CEA5FB) - + Op.CALLCODE( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - value=0x0, + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2dfe35a60d7de3d8eeb1d7a015541c76b0e00e9f"), # noqa: E501 + address=Address(0x8D1428C10723924A74AB6096C463EDAAB4CEA5FB), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x2DFE35A60D7DE3D8EEB1D7A015541C76B0E00E9F, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x620B381D01CBD812FFB798AB35A1A316BDE90CE6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x2DFE35A60D7DE3D8EEB1D7A015541C76B0E00E9F, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) (CALLCODE 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x8D1428C10723924A74AB6096C463EDAAB4CEA5FB + ) + + Op.CALLCODE( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x620b381d01cbd812ffb798ab35a1a316bde90ce6"), # noqa: E501 + address=Address(0x2DFE35A60D7DE3D8EEB1D7A015541C76B0E00E9F), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x8d1428c10723924a74ab6096c463edaab4cea5fb"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}, balance=0xDE0B6B3A7640000), + addr_3: Account(storage={2: 0, 3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_abcb_recursive.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_abcb_recursive.py index c891281d0ba..4f7c6e61031 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_abcb_recursive.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_abcb_recursive.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_abcb_recursive. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_ABCB_RECURSIVEFiller.json +state_tests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcallcode_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_abcb_recursive.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,76 +49,79 @@ def test_static_callcallcallcode_abcb_recursive( gas_limit=3000000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0xF4240, - address=0x458E20B622EC33A82F2A43A90EDC52A429639916, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (STATICCALL 25000000 0 64 0 64 ) (MSTORE 31 1)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x17D7840, + address=0x34BAF5E282FCBDE0D147EFD6F95E606CC8C27485, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x1F, value=0x1) - + Op.STOP - ), - balance=0x2540BE400, + ) + + Op.MSTORE(offset=0x1F, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x34baf5e282fcbde0d147efd6f95e606cc8c27485"), # noqa: E501 + address=Address(0x5EE4B6A55558049D98B92269841DB0F86FD1A59A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x7A120, - address=0x34BAF5E282FCBDE0D147EFD6F95E606CC8C27485, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (STATICCALL 1000000 0 64 0 64 ) (MSTORE 31 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0xF4240, + address=0x458E20B622EC33A82F2A43A90EDC52A429639916, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x15, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x1F, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x458e20b622ec33a82f2a43a90edc52a429639916"), # noqa: E501 + address=Address(0x34BAF5E282FCBDE0D147EFD6F95E606CC8C27485), # noqa: E501 ) - # Source: LLL - # { (MSTORE 1 1) (STATICCALL 25000000 0 64 0 64 ) (MSTORE 31 1)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x17D7840, - address=0x34BAF5E282FCBDE0D147EFD6F95E606CC8C27485, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (DELEGATECALL 500000 0 64 0 64 ) (MSTORE 21 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x7A120, + address=0x34BAF5E282FCBDE0D147EFD6F95E606CC8C27485, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x1F, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0x15, value=0x1) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x5ee4b6a55558049d98b92269841db0f86fd1a59a"), # noqa: E501 + address=Address(0x458E20B622EC33A82F2A43A90EDC52A429639916), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = { + target: Account(storage={0: 0, 1: 0}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcallcode_abcb_recursive2.py b/tests/ported_static/stStaticCall/test_static_callcallcallcode_abcb_recursive2.py index c822c4956a7..017d9a98abf 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcallcode_abcb_recursive2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcallcode_abcb_recursive2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcallcode_abcb_recursive2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcallcode_ABCB_RECURSIVE2Filler.json +state_tests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcallcode_abcb_recursive2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcallcode_abcb_recursive2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,77 +49,80 @@ def test_static_callcallcallcode_abcb_recursive2( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { (MSTORE 1 1) (STATICCALL 25000000 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x17D7840, - address=0xA340F8B0F598F6D5AD2856FFE45AADD934F37CF1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x17D7840, + address=0xA340F8B0F598F6D5AD2856FFE45AADD934F37CF1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x130e754252b72cb20aa752cb31176d9c2e9c8a21"), # noqa: E501 + address=Address(0x130E754252B72CB20AA752CB31176D9C2E9C8A21), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=0x7A120, - address=0xA340F8B0F598F6D5AD2856FFE45AADD934F37CF1, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (STATICCALL 1000000 0 64 0 64 ) (MSTORE 2 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0xF4240, + address=0x812297C04813FEA96B943B246D9D17EA17545526, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x2, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x2, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x812297c04813fea96b943b246d9d17ea17545526"), # noqa: E501 + address=Address(0xA340F8B0F598F6D5AD2856FFE45AADD934F37CF1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0xF4240, - address=0x812297C04813FEA96B943B246D9D17EA17545526, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (CALLCODE 500000 0 0 64 0 64 ) (MSTORE 2 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0x7A120, + address=0xA340F8B0F598F6D5AD2856FFE45AADD934F37CF1, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x2, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x2, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa340f8b0f598f6d5ad2856ffe45aadd934f37cf1"), # noqa: E501 + address=Address(0x812297C04813FEA96B943B246D9D17EA17545526), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = { + target: Account(storage={0: 0, 1: 0}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcode_01_2.py b/tests/ported_static/stStaticCall/test_static_callcallcode_01_2.py index a2e4259ce58..6aa62646e8f 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcode_01_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcode_01_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcode_01_2. Ported from: -tests/static/state_tests/stStaticCall/static_callcallcode_01_2Filler.json +state_tests/stStaticCall/static_callcallcode_01_2Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,43 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcode_01_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcode_01_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000fbe34b488c83765de2f7fefc646710b8f1dcb303", - { - Address("0xaab59f13d96113334fab5c68e4e62b61f6cbf647"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000c766dcc7257dd2af2b6a354fc922d43d3ad9a390", - { - Address("0xaab59f13d96113334fab5c68e4e62b61f6cbf647"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcode_01_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcode_01_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -72,117 +72,137 @@ def test_static_callcallcode_01_2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x3D090, - address=0x8AD8D964B0888C5016605939DD13E1BDCF679F05, - value=0x2, + # Source: lll + # { [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, args_offset=0x0, - args_size=0x20, + args_size=0x0, ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0c42c1601b039f8bb80a155b5b6afb4cffeb430a"), # noqa: E501 + address=Address(0xAAB59F13D96113334FAB5C68E4E62B61F6CBF647), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x0, value=0x11223344) + Op.STOP, + # Source: lll + # { (STATICCALL 350000 0 32 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x55730, + address=0xC42C1601B039F8BB80A155B5B6AFB4CFFEB430A, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2fcc143c5267b6c6ce4e1abd936e84eedffd6a4e"), # noqa: E501 + address=Address(0xFBE34B488C83765DE2F7FEFC646710B8F1DCB303), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x0, value=0x11223344) + Op.STOP, + # Source: lll + # { (CALLCODE 250000 2 0 32 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x3D090, + address=0x8AD8D964B0888C5016605939DD13E1BDCF679F05, + value=0x2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8ad8d964b0888c5016605939dd13e1bdcf679f05"), # noqa: E501 + address=Address(0x0C42C1601B039F8BB80A155B5B6AFB4CFFEB430A), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 0 0x11223344) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x11223344) + Op.STOP, nonce=0, - address=Address("0xaab59f13d96113334fab5c68e4e62b61f6cbf647"), # noqa: E501 + address=Address(0x8AD8D964B0888C5016605939DD13E1BDCF679F05), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x55730, - address=0xF686A2E0E79C5FBB3407D5E53F3AB6B0AB21A51A, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 350000 0 32 0 64 ) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x55730, + address=0xF686A2E0E79C5FBB3407D5E53F3AB6B0AB21A51A, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc766dcc7257dd2af2b6a354fc922d43d3ad9a390"), # noqa: E501 + address=Address(0xC766DCC7257DD2AF2B6A354FC922D43D3AD9A390), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.CALLCODE( - gas=0x3D090, - address=0x2FCC143C5267B6C6CE4E1ABD936E84EEDFFD6A4E, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) (CALLCODE 250000 0 0 32 0 64 ) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.CALLCODE( + gas=0x3D090, + address=0x2FCC143C5267B6C6CE4E1ABD936E84EEDFFD6A4E, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf686a2e0e79c5fbb3407d5e53f3ab6b0ab21a51a"), # noqa: E501 + address=Address(0xF686A2E0E79C5FBB3407D5E53F3AB6B0AB21A51A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x55730, - address=0xC42C1601B039F8BB80A155B5B6AFB4CFFEB430A, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 0 0x11223344) } + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x11223344) + Op.STOP, nonce=0, - address=Address("0xfbe34b488c83765de2f7fefc646710b8f1dcb303"), # noqa: E501 + address=Address(0x2FCC143C5267B6C6CE4E1ABD936E84EEDFFD6A4E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [3000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcode_01_ooge_2.py b/tests/ported_static/stStaticCall/test_static_callcallcode_01_ooge_2.py index 08618a8699d..748fa769b0d 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcode_01_ooge_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcode_01_ooge_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcode_01_ooge_2. Ported from: -tests/static/state_tests/stStaticCall/static_callcallcode_01_OOGE_2Filler.json +state_tests/stStaticCall/static_callcallcode_01_OOGE_2Filler.json """ import pytest @@ -12,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcode_01_OOGE_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcode_01_OOGE_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000ce21f15217a7b94db9c505a66c9549e803bf141c", - "000000000000000000000000609e4dfe6190235b9a0362084c741d9ec330fb1e", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcode_01_ooge_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcode_01_ooge_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -57,83 +69,82 @@ def test_static_callcallcode_01_ooge_2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0x609e4dfe6190235b9a0362084c741d9ec330fb1e"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x4E34, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0 32 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x85DDAAC1762B4B9A01861C244947C3D6F40FD709, args_offset=0x0, - args_size=0x40, + args_size=0x20, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x85ddaac1762b4b9a01861c244947c3d6f40fd709"), # noqa: E501 + address=Address(0xC4C9495535A13D71C26E498898C90576F7C64218), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0 32 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x85DDAAC1762B4B9A01861C244947C3D6F40FD709, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (CALLCODE 20020 (CALLDATALOAD 0) 0 0 64 0 64 ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x4E34, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xc4c9495535a13d71c26e498898c90576f7c64218"), # noqa: E501 + address=Address(0x85DDAAC1762B4B9A01861C244947C3D6F40FD709), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.MSTORE(offset=0x2, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (MSTORE 2 1)} + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.MSTORE(offset=0x2, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0xCE21F15217A7B94DB9C505A66C9549E803BF141C), # noqa: E501 + ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xce21f15217a7b94db9c505a66c9549e803bf141c"), # noqa: E501 + address=Address(0x609E4DFE6190235B9A0362084C741D9EC330FB1E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcode_01_suicide_end.py b/tests/ported_static/stStaticCall/test_static_callcallcode_01_suicide_end.py index c9b3ccb51f1..8ae8c36e2ac 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcode_01_suicide_end.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcode_01_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcode_01_suicide_end. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcode_01_SuicideEndFiller.json +state_tests/stStaticCall/static_callcallcode_01_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcode_01_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcode_01_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcode_01_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcode_01_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,65 +47,67 @@ def test_static_callcallcode_01_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D - ) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0xF25670A9CA7BFA523E8B216478051E908ECE142, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0f25670a9ca7bfa523e8b216478051e908ece142"), # noqa: E501 + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0xF25670A9CA7BFA523E8B216478051E908ECE142, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.SELFDESTRUCT(address=0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 + address=Address(0x0F25670A9CA7BFA523E8B216478051E908ECE142), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (MSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xcfb5784a5e49924becc2d5c5d2ee0a9b141e6216"), # noqa: E501 + address=Address(0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={1: 1}), + target: Account(storage={0: 0, 1: 1}), + addr: Account(balance=0x2540BE400), + addr_2: Account(storage={2: 0, 3: 0}), + sender: Account(storage={1: 0, 2: 0, 3: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcode_01_suicide_end2.py b/tests/ported_static/stStaticCall/test_static_callcallcode_01_suicide_end2.py index 0a73697ad4d..ec2e5bc44ef 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcode_01_suicide_end2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcode_01_suicide_end2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcode_01_suicide_end2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcode_01_SuicideEnd2Filler.json +state_tests/stStaticCall/static_callcallcode_01_SuicideEnd2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcode_01_SuicideEnd2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcode_01_SuicideEnd2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcode_01_suicide_end2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcode_01_suicide_end2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,66 +47,66 @@ def test_static_callcallcode_01_suicide_end2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x9E10A6AFFFCF5BBA3B47582F2575D787016A56CA - ) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x5DE1C119E1FC3598726F4D9411DEBD7ED1402187, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5de1c119e1fc3598726f4d9411debd7ed1402187"), # noqa: E501 + address=Address(0x9E10A6AFFFCF5BBA3B47582F2575D787016A56CA), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x5DE1C119E1FC3598726F4D9411DEBD7ED1402187, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.SELFDESTRUCT(address=0x9E10A6AFFFCF5BBA3B47582F2575D787016A56CA) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x9e10a6afffcf5bba3b47582f2575d787016a56ca"), # noqa: E501 + address=Address(0x5DE1C119E1FC3598726F4D9411DEBD7ED1402187), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (MSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xcfb5784a5e49924becc2d5c5d2ee0a9b141e6216"), # noqa: E501 + address=Address(0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={1: 1}), + target: Account(storage={0: 0, 1: 1}, balance=0xDE0B6B3A7640000), + addr_2: Account(storage={2: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010.py index 349d7383d78..c4bb1d40ffb 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010. Ported from: -tests/static/state_tests/stStaticCall/static_callcallcodecall_010Filler.json +state_tests/stStaticCall/static_callcallcodecall_010Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcodecall_010Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecall_010( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,83 +47,82 @@ def test_static_callcallcodecall_010( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x2a142c79a9b097c111ce945214226126b75e332c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0x8BD89F495B3F37357D15A16D7B0F72470ABE929F, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0x8BD89F495B3F37357D15A16D7B0F72470ABE929F, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x46df4a924470cb27a2f8700239656c40dd4794c8"), # noqa: E501 + address=Address(0x46DF4A924470CB27A2F8700239656C40DD4794C8), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (DELEGATECALL 300000 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=0x5AAEF6827794656B94367D6130F40D34B219F1FD, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5aaef6827794656b94367d6130f40d34b219f1fd"), # noqa: E501 + address=Address(0x8BD89F495B3F37357D15A16D7B0F72470ABE929F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x493E0, - address=0x5AAEF6827794656B94367D6130F40D34B219F1FD, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 250000 0 64 0 64 ) (MSTORE 3 1)} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8bd89f495b3f37357d15a16d7b0f72470abe929f"), # noqa: E501 + address=Address(0x5AAEF6827794656B94367D6130F40D34B219F1FD), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x2A142C79A9B097C111CE945214226126B75E332C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_2.py index 2a79f67ec0c..c84ff19ab31 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_2. Ported from: -tests/static/state_tests/stStaticCall/static_callcallcodecall_010_2Filler.json +state_tests/stStaticCall/static_callcallcodecall_010_2Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,43 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcodecall_010_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000006b21d14ffae42852fc3a6f98da6275e551c07008", - { - Address("0x04feba02513bfa1cf1456a0f32838b186775d8d4"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000d450d1d19aefb5a30dc4a483db88e86c215c67a0", - { - Address("0x04feba02513bfa1cf1456a0f32838b186775d8d4"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecall_010_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -72,94 +72,112 @@ def test_static_callcallcodecall_010_2( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 350000 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x04feba02513bfa1cf1456a0f32838b186775d8d4"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x493E0, - address=0xEF859513AE36C397C43170A2980741575916167B, - value=0x2, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=Op.CALLDATALOAD(offset=0x0), args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6b21d14ffae42852fc3a6f98da6275e551c07008"), # noqa: E501 + address=Address(0x04FEBA02513BFA1CF1456A0F32838B186775D8D4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x493E0, - address=0xEF859513AE36C397C43170A2980741575916167B, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 300000 2 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x493E0, + address=0xEF859513AE36C397C43170A2980741575916167B, + value=0x2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd450d1d19aefb5a30dc4a483db88e86c215c67a0"), # noqa: E501 + address=Address(0x6B21D14FFAE42852FC3A6F98DA6275E551C07008), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x3D090, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 300000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x493E0, + address=0xEF859513AE36C397C43170A2980741575916167B, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xef859513ae36c397c43170a2980741575916167b"), # noqa: E501 + address=Address(0xD450D1D19AEFB5A30DC4A483DB88E86C215C67A0), # noqa: E501 ) + # Source: lll + # { (STATICCALL 250000 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x3D090, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0xEF859513AE36C397C43170A2980741575916167B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [3000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_ooge.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_ooge.py index 409d5b272e4..65d3a0b358c 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_ooge.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_ooge.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_ooge. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_OOGEFiller.json +state_tests/stStaticCall/static_callcallcodecall_010_OOGEFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcodecall_010_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "0000000000000000000000000d195fccf4102d8b6b6798768727ae0915c88ed7", - "000000000000000000000000c45fe363c9ac4e1feed02b03a212fdf979a74505", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecall_010_ooge( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_ooge.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,109 +69,110 @@ def test_static_callcallcodecall_010_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x23) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0x0d195fccf4102d8b6b6798768727ae0915c88ed7"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 500000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x7A120, - address=0x39C3AAD8C9ECF3BE71828CAFFEEE06727FDA4679, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x7A120, + address=0x39C3AAD8C9ECF3BE71828CAFFEEE06727FDA4679, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x33344ff747b678f9e86028b0c745d8ab0e0d1792"), # noqa: E501 + address=Address(0x33344FF747B678F9E86028B0C745D8AB0E0D1792), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (DELEGATECALL 300000 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 1 1) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x39C3AAD8C9ECF3BE71828CAFFEEE06727FDA4679), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x493E0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (STATICCALL 120020 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x23) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x39c3aad8c9ecf3be71828caffeee06727fda4679"), # noqa: E501 + address=Address(0x0D195FCCF4102D8B6B6798768727AE0915C88ED7), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (STATICCALL 120020 0 64 0 64 ) (SSTORE 1 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0xC45FE363C9AC4E1FEED02B03A212FDF979A74505), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xc45fe363c9ac4e1feed02b03a212fdf979a74505"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_ooge_2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_ooge_2.py index d44c3904aa8..7e4c489ef97 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_ooge_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_ooge_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_ooge_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_OOGE_2Filler.json +state_tests/stStaticCall/static_callcallcodecall_010_OOGE_2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_OOGE_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcodecall_010_OOGE_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000b126c622075b1189fb6c45e851641cfaddf65b36", - "000000000000000000000000fbef21c5a6c2adcf3d769f085e0cc9fe9a8df954", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecall_010_ooge_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_ooge_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,95 +69,96 @@ def test_static_callcallcodecall_010_ooge_2( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 350000 0 32 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0x87B79D9A4C004A23C7A12074BA8DA784E201EA8C, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x519393d984beaf4fd226309e9f0704b2db3164b5"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x1D4D4, - address=Op.CALLDATALOAD(offset=0x0), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0x87B79D9A4C004A23C7A12074BA8DA784E201EA8C, args_offset=0x0, - args_size=0x40, + args_size=0x20, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x77e67836c6a30f95e117469caefb6c1fdcad0c2e"), # noqa: E501 + address=Address(0x519393D984BEAF4FD226309E9F0704B2DB3164B5), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.CALLCODE( - gas=0x30D40, - address=0x77E67836C6A30F95E117469CAEFB6C1FDCAD0C2E, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) (CALLCODE 200000 0 0 32 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.CALLCODE( + gas=0x30D40, + address=0x77E67836C6A30F95E117469CAEFB6C1FDCAD0C2E, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x87b79d9a4c004a23c7a12074ba8da784e201ea8c"), # noqa: E501 + address=Address(0x87B79D9A4C004A23C7A12074BA8DA784E201EA8C), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (STATICCALL 120020 (CALLDATALOAD 0) 0 64 0 64 ) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x1D4D4, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + nonce=0, + address=Address(0x77E67836C6A30F95E117469CAEFB6C1FDCAD0C2E), # noqa: E501 + ) + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xfbef21c5a6c2adcf3d769f085e0cc9fe9a8df954"), # noqa: E501 + address=Address(0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after.py index 1ff8891052b..e85db624c08 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_oogm_after. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_OOGMAfterFiller.json +state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfterFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000c00fba9c86d497814a90912f8f6c63801ea59908", - "0000000000000000000000003a2fb8850eea3cbd892bb77ff68da146ead9c49d", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecall_010_oogm_after( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_oogm_after.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,105 +71,106 @@ def test_static_callcallcodecall_010_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x92856, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0xF1F083974FD68B961E68130C27FC5EF37B49C1DF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x61AD0, - address=0x5AD1F77E14FE15F07A2F5DF1480DCABA5B4B6435, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (DELEGATECALL 400080 0 64 0 64 ) (SSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x61AD0, + address=0x5AD1F77E14FE15F07A2F5DF1480DCABA5B4B6435, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x23) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x3a2fb8850eea3cbd892bb77ff68da146ead9c49d"), # noqa: E501 + address=Address(0xC00FBA9C86D497814A90912F8F6C63801EA59908), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x1D4E8, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + # Source: lll + # { (DELEGATECALL 400080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x61AD0, + address=0x5AD1F77E14FE15F07A2F5DF1480DCABA5B4B6435, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x23) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x5ad1f77e14fe15f07a2f5df1480dcaba5b4b6435"), # noqa: E501 + address=Address(0x3A2FB8850EEA3CBD892BB77FF68DA146EAD9C49D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x61AD0, - address=0x5AD1F77E14FE15F07A2F5DF1480DCABA5B4B6435, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 120040 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x1D4E8, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xc00fba9c86d497814a90912f8f6c63801ea59908"), # noqa: E501 + address=Address(0x5AD1F77E14FE15F07A2F5DF1480DCABA5B4B6435), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x92856, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xf1f083974fd68b961e68130c27fc5ef37b49c1df"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1, 2: 0, 3: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after2.py index 4d85fd673a5..eba102b6f35 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_oogm_after2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_OOGMAfter2Filler.json +state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfter2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfter2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfter2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "0000000000000000000000004c57f5c93feb3af1807980230371459b773a1f88", - "000000000000000000000000ce0959ec3ec0c6527232db11b856879585afb0bb", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecall_010_oogm_after2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_oogm_after2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,107 +71,108 @@ def test_static_callcallcodecall_010_oogm_after2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x61AD0, - address=0x6F67C62FA385EDFE7BD280594EFF367F33E51438, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x41, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x25) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0x4c57f5c93feb3af1807980230371459b773a1f88"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xEAF6, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xEAF6, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x652a62e8338e91a46aa8387a2c205f35f79347ab"), # noqa: E501 + address=Address(0x652A62E8338E91A46AA8387A2C205F35F79347AB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + # Source: lll + # { (CALLCODE 400080 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x61AD0, + address=0x6F67C62FA385EDFE7BD280594EFF367F33E51438, + value=0x0, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x41, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x25) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x6f67c62fa385edfe7bd280594eff367f33e51438"), # noqa: E501 + address=Address(0x4C57F5C93FEB3AF1807980230371459B773A1F88), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x61AD0, - address=0x6F67C62FA385EDFE7BD280594EFF367F33E51438, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (CALLCODE 400080 0 0 64 0 64 ) (SSTORE 1 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x61AD0, + address=0x6F67C62FA385EDFE7BD280594EFF367F33E51438, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0xCE0959EC3EC0C6527232DB11B856879585AFB0BB), # noqa: E501 + ) + # Source: lll + # { (STATICCALL 120020 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + nonce=0, + address=Address(0x6F67C62FA385EDFE7BD280594EFF367F33E51438), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xce0959ec3ec0c6527232db11b856879585afb0bb"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after_2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after_2.py index f62993a794d..9f6d9cb873d 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_oogm_after_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_OOGMAfter_2Filler.json +state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000c00fba9c86d497814a90912f8f6c63801ea59908", - "0000000000000000000000003a2fb8850eea3cbd892bb77ff68da146ead9c49d", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecall_010_oogm_after_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_oogm_after_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,105 +71,106 @@ def test_static_callcallcodecall_010_oogm_after_2( gas_limit=10000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x92856, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0xF1F083974FD68B961E68130C27FC5EF37B49C1DF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x61AD0, - address=0x5AD1F77E14FE15F07A2F5DF1480DCABA5B4B6435, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (DELEGATECALL 400080 0 64 0 64 ) (SSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x61AD0, + address=0x5AD1F77E14FE15F07A2F5DF1480DCABA5B4B6435, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x23) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x3a2fb8850eea3cbd892bb77ff68da146ead9c49d"), # noqa: E501 + address=Address(0xC00FBA9C86D497814A90912F8F6C63801EA59908), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x1D4E8, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + # Source: lll + # { (DELEGATECALL 400080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x61AD0, + address=0x5AD1F77E14FE15F07A2F5DF1480DCABA5B4B6435, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x23) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x5ad1f77e14fe15f07a2f5df1480dcaba5b4b6435"), # noqa: E501 + address=Address(0x3A2FB8850EEA3CBD892BB77FF68DA146EAD9C49D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x61AD0, - address=0x5AD1F77E14FE15F07A2F5DF1480DCABA5B4B6435, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 120040 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x1D4E8, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xc00fba9c86d497814a90912f8f6c63801ea59908"), # noqa: E501 + address=Address(0x5AD1F77E14FE15F07A2F5DF1480DCABA5B4B6435), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x92856, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xf1f083974fd68b961e68130c27fc5ef37b49c1df"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1, 2: 0, 3: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after_3.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after_3.py index 9e690747ecd..189f11e2686 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after_3.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_after_3.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_oogm_after_3. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_OOGMAfter_3Filler.json +state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000079d1bfbc2a69eb3ca3dede36bf05a46d4f08116", - "0000000000000000000000004c57f5c93feb3af1807980230371459b773a1f88", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecall_010_oogm_after_3( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_oogm_after_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,107 +71,108 @@ def test_static_callcallcodecall_010_oogm_after_3( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x61AD0, - address=0x6F67C62FA385EDFE7BD280594EFF367F33E51438, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0x079d1bfbc2a69eb3ca3dede36bf05a46d4f08116"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x92856, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0xF1F083974FD68B961E68130C27FC5EF37B49C1DF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x61AD0, - address=0x6F67C62FA385EDFE7BD280594EFF367F33E51438, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x41, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (CALLCODE 400080 0 0 64 0 64 ) (SSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x61AD0, + address=0x6F67C62FA385EDFE7BD280594EFF367F33E51438, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x25) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x4c57f5c93feb3af1807980230371459b773a1f88"), # noqa: E501 + address=Address(0x079D1BFBC2A69EB3CA3DEDE36BF05A46D4F08116), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + # Source: lll + # { (CALLCODE 400080 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x61AD0, + address=0x6F67C62FA385EDFE7BD280594EFF367F33E51438, + value=0x0, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x41, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x25) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x6f67c62fa385edfe7bd280594eff367f33e51438"), # noqa: E501 + address=Address(0x4C57F5C93FEB3AF1807980230371459B773A1F88), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { [[ 0 ]] (STATICCALL 600150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x92856, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (STATICCALL 120020 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xf1f083974fd68b961e68130c27fc5ef37b49c1df"), # noqa: E501 + address=Address(0x6F67C62FA385EDFE7BD280594EFF367F33E51438), # noqa: E501 ) + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1, 2: 0, 3: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_before.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_before.py index 14915c55459..532b1199a50 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_before.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_before.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_oogm_before. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_OOGMBeforeFiller.json +state_tests/stStaticCall/static_callcallcodecall_010_OOGMBeforeFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_010_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000c5b28f694c0e1befb55bdfbec30be55455897729", - "000000000000000000000000f32619344056ad22a07f10433f70165ce82d9273", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecall_010_oogm_before( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_oogm_before.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,102 +71,103 @@ def test_static_callcallcodecall_010_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 500000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x7A120, - address=0xE7B982648E452964FB0AC2B867EFA7C7B5B93D91, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x7A120, + address=0xE7B982648E452964FB0AC2B867EFA7C7B5B93D91, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x33344ff747b678f9e86028b0c745d8ab0e0d1792"), # noqa: E501 + address=Address(0x33344FF747B678F9E86028B0C745D8AB0E0D1792), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (DELEGATECALL 400080 (CALLDATALOAD 0) 0 64 0 64 ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x61AD0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0xE7B982648E452964FB0AC2B867EFA7C7B5B93D91), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.STATICCALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (STATICCALL 120020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.STATICCALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xc5b28f694c0e1befb55bdfbec30be55455897729"), # noqa: E501 + address=Address(0xC5B28F694C0E1BEFB55BDFBEC30BE55455897729), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x61AD0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xe7b982648e452964fb0ac2b867efa7c7b5b93d91"), # noqa: E501 + address=Address(0xF32619344056AD22A07F10433F70165CE82D9273), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xf32619344056ad22a07f10433f70165ce82d9273"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1, 2: 0, 3: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_before2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_before2.py index 56a3b011893..a1b0382ed4f 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_before2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_oogm_before2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_oogm_before2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_OOGMBefore2Filler.json +state_tests/stStaticCall/static_callcallcodecall_010_OOGMBefore2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_OOGMBefore2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_010_OOGMBefore2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000d0a1696cc7cfd386eb4f9236b61899a9ba48878c", - "000000000000000000000000698f17d55bfc6351c73d397d5df71d8a1a1d694d", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecall_010_oogm_before2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_oogm_before2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,103 +71,104 @@ def test_static_callcallcodecall_010_oogm_before2( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 800000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xC3500, - address=0x21BE848CB68A95437A4928ED657B6D5F17DD3B03, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x045bc6e334b0570cc84fbc4b86847063456e7c99"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x61AD0, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xC3500, + address=0x21BE848CB68A95437A4928ED657B6D5F17DD3B03, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x21be848cb68a95437a4928ed657b6d5f17dd3b03"), # noqa: E501 + address=Address(0x045BC6E334B0570CC84FBC4B86847063456E7C99), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (CALLCODE 400080 (CALLDATALOAD 0) 0 0 64 0 64 ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x61AD0, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x21BE848CB68A95437A4928ED657B6D5F17DD3B03), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 120020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x698f17d55bfc6351c73d397d5df71d8a1a1d694d"), # noqa: E501 + address=Address(0xD0A1696CC7CFD386EB4F9236B61899A9BA48878C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + nonce=0, + address=Address(0x698F17D55BFC6351C73D397D5DF71D8A1A1D694D), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xd0a1696cc7cfd386eb4f9236b61899a9ba48878c"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1, 2: 0, 3: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_end.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_end.py index b7800b73e8e..ae366f0be5a 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_end.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_suicide_end. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_SuicideEndFiller.json +state_tests/stStaticCall/static_callcallcodecall_010_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_SuicideEndFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_010_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecall_010_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,81 +49,83 @@ def test_static_callcallcodecall_010_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x92D7028788CAA240253B7B2A92386464690CDC72, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x92D7028788CAA240253B7B2A92386464690CDC72, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 + ) + # Source: lll + # { (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x186A0, + address=0xB7770360E0B87603E3D9C87C866451760C95ABCA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x92D7028788CAA240253B7B2A92386464690CDC72), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x186A0, - address=0xB7770360E0B87603E3D9C87C866451760C95ABCA, + # Source: lll + # { (STATICCALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x92D7028788CAA240253B7B2A92386464690CDC72) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x92d7028788caa240253b7b2a92386464690cdc72"), # noqa: E501 + address=Address(0xB7770360E0B87603E3D9C87C866451760C95ABCA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x92D7028788CAA240253B7B2A92386464690CDC72 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xb7770360e0b87603e3d9c87c866451760c95abca"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1, 3: 0}), + addr: Account(balance=0x2540BE400), + addr_3: Account(storage={3: 0}), + sender: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_end2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_end2.py index 26398b39eb9..f2a251053c1 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_end2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_end2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_suicide_end2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_SuicideEnd2Filler.json +state_tests/stStaticCall/static_callcallcodecall_010_SuicideEnd2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_SuicideEnd2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_010_SuicideEnd2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecall_010_suicide_end2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_suicide_end2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,82 +49,82 @@ def test_static_callcallcodecall_010_suicide_end2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x9712F0CC76E9A67107DFAC82ABAB0F23783E97E0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x9712F0CC76E9A67107DFAC82ABAB0F23783E97E0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 + ) + # Source: lll + # { (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x186A0, + address=0xB7770360E0B87603E3D9C87C866451760C95ABCA, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x9712F0CC76E9A67107DFAC82ABAB0F23783E97E0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x186A0, - address=0xB7770360E0B87603E3D9C87C866451760C95ABCA, - value=0x0, + # Source: lll + # { (STATICCALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x9712F0CC76E9A67107DFAC82ABAB0F23783E97E0) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x9712f0cc76e9a67107dfac82abab0f23783e97e0"), # noqa: E501 + address=Address(0xB7770360E0B87603E3D9C87C866451760C95ABCA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x9712F0CC76E9A67107DFAC82ABAB0F23783E97E0 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xb7770360e0b87603e3d9c87c866451760c95abca"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_middle.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_middle.py index b0784d606cf..b3695a0a09f 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_middle.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_suicide_middle. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_SuicideMiddleFiller.json +state_tests/stStaticCall/static_callcallcodecall_010_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_010_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecall_010_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,77 +49,78 @@ def test_static_callcallcodecall_010_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D) - + Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x92D7028788CAA240253B7B2A92386464690CDC72, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x408f1aceffec7bdaa35d77006cdcaead563bb694"), # noqa: E501 + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x186A0, + address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x92D7028788CAA240253B7B2A92386464690CDC72), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x92D7028788CAA240253B7B2A92386464690CDC72, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SELFDESTRUCT ) (STATICCALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D + ) + + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 + address=Address(0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x186A0, - address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x92d7028788caa240253b7b2a92386464690cdc72"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_middle2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_middle2.py index 1af3f810fbd..afd8d610d62 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_middle2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_010_suicide_middle2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_010_suicide_middle2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_010_SuicideMiddle2Filler.json +state_tests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecall_010_suicide_middle2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_010_suicide_middle2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,78 +49,83 @@ def test_static_callcallcodecall_010_suicide_middle2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D) - + Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x9712F0CC76E9A67107DFAC82ABAB0F23783E97E0, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x408f1aceffec7bdaa35d77006cdcaead563bb694"), # noqa: E501 + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x186A0, + address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x9712F0CC76E9A67107DFAC82ABAB0F23783E97E0), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x9712F0CC76E9A67107DFAC82ABAB0F23783E97E0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SELFDESTRUCT ) (STATICCALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D + ) + + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 + address=Address(0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x186A0, - address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x9712f0cc76e9a67107dfac82abab0f23783e97e0"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr_2: Account(storage={1: 0, 2: 0}, balance=0x2540BE400), + addr_3: Account(storage={3: 0}, balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_abcb_recursive.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_abcb_recursive.py index 85292d9e817..5c01339715a 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_abcb_recursive.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_abcb_recursive.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_abcb_recursive. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_ABCB_RECURSIVEFiller.json +state_tests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecall_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_abcb_recursive.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,70 +49,71 @@ def test_static_callcallcodecall_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 25000000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x17D7840, - address=0x2C81F66472668C71014CE3A9537B033DB57AF77B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x0f30355d1f829e0dd67066517a43a738ac501d99"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0xF4240, - address=0xE07076B3A07FF8E567E4F8451DAC25BACEFB88B2, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x17D7840, + address=0x2C81F66472668C71014CE3A9537B033DB57AF77B, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x0F30355D1F829E0DD67066517A43A738AC501D99), # noqa: E501 + ) + # Source: lll + # { (DELEGATECALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0xF4240, + address=0xE07076B3A07FF8E567E4F8451DAC25BACEFB88B2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2c81f66472668c71014ce3a9537b033db57af77b"), # noqa: E501 + address=Address(0x2C81F66472668C71014CE3A9537B033DB57AF77B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x7A120, - address=0x2C81F66472668C71014CE3A9537B033DB57AF77B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x7A120, + address=0x2C81F66472668C71014CE3A9537B033DB57AF77B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xe07076b3a07ff8e567e4f8451dac25bacefb88b2"), # noqa: E501 + address=Address(0xE07076B3A07FF8E567E4F8451DAC25BACEFB88B2), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecall_abcb_recursive2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecall_abcb_recursive2.py index 497dfc00940..0e076189bbe 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecall_abcb_recursive2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecall_abcb_recursive2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecall_abcb_recursive2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecall_ABCB_RECURSIVE2Filler.json +state_tests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecall_abcb_recursive2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecall_abcb_recursive2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,71 +49,72 @@ def test_static_callcallcodecall_abcb_recursive2( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 25000000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x17D7840, - address=0x9EF1D089354C245C0C8A08590F55E76008AC54CD, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x0f30355d1f829e0dd67066517a43a738ac501d99"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x7A120, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x17D7840, address=0x9EF1D089354C245C0C8A08590F55E76008AC54CD, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x0F30355D1F829E0DD67066517A43A738AC501D99), # noqa: E501 + ) + # Source: lll + # { (CALLCODE 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0xF4240, + address=0x1E2229D0F325B81B81B8B14F2D239FF9742683C0, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1e2229d0f325b81b81b8b14f2d239ff9742683c0"), # noqa: E501 + address=Address(0x9EF1D089354C245C0C8A08590F55E76008AC54CD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0xF4240, - address=0x1E2229D0F325B81B81B8B14F2D239FF9742683C0, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x7A120, + address=0x9EF1D089354C245C0C8A08590F55E76008AC54CD, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x9ef1d089354c245c0c8a08590f55e76008ac54cd"), # noqa: E501 + address=Address(0x1E2229D0F325B81B81B8B14F2D239FF9742683C0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011.py index 22b105175a2..da4ad467c2a 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011Filler.json +state_tests/stStaticCall/static_callcallcodecallcode_011Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcodecallcode_011Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecallcode_011( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,83 +47,82 @@ def test_static_callcallcodecallcode_011( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) [[ 1 ]] 1} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0x2BF6D23C6CDD3A7712AD150DFA2680ADABDA8B82, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2a142c79a9b097c111ce945214226126b75e332c"), # noqa: E501 + address=Address(0x5CD189BC46453773DD75BDA72E7A7EEE97D63BCE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x493E0, - address=0x86ADD32E31AA6E47126BC308CF85B29D0C9A4234, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (DELEGATECALL 300000 0 64 0 64 ) (MSTORE 1 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=0x86ADD32E31AA6E47126BC308CF85B29D0C9A4234, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2bf6d23c6cdd3a7712ad150dfa2680adabda8b82"), # noqa: E501 + address=Address(0x2BF6D23C6CDD3A7712AD150DFA2680ADABDA8B82), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) [[ 1 ]] 1} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0x2BF6D23C6CDD3A7712AD150DFA2680ADABDA8B82, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 11 1) (DELEGATECALL 250000 0 64 0 64 ) (MSTORE 11 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0xB, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0xB, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5cd189bc46453773dd75bda72e7a7eee97d63bce"), # noqa: E501 + address=Address(0x86ADD32E31AA6E47126BC308CF85B29D0C9A4234), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0xB, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 1 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, nonce=0, - address=Address("0x86add32e31aa6e47126bc308cf85b29d0c9a4234"), # noqa: E501 + address=Address(0x2A142C79A9B097C111CE945214226126B75E332C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1, 3: 0, 4: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_2.py index 8c6f9e5c2df..28f2c9099cd 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_2Filler.json +state_tests/stStaticCall/static_callcallcodecallcode_011_2Filler.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,43 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcallcodecallcode_011_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000709eb538153d5f98f0b8482c462070c26db1cbae", - { - Address("0x023ae6338fbe9709a6449bfb0821f5aa83987b26"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000003cea889fd03a922cc673d25e5db4e72743aa4878", - { - Address("0x023ae6338fbe9709a6449bfb0821f5aa83987b26"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecallcode_011_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,96 +72,114 @@ def test_static_callcallcodecallcode_011_2( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0x21A2D07156B4F874F3B25DFD175145C9CCEC1E19, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x023ae6338fbe9709a6449bfb0821f5aa83987b26"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x493E0, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0x21A2D07156B4F874F3B25DFD175145C9CCEC1E19, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x21a2d07156b4f874f3b25dfd175145c9ccec1e19"), # noqa: E501 + address=Address(0x023AE6338FBE9709A6449BFB0821F5AA83987B26), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + # Source: lll + # { (CALLCODE 300000 (CALLDATALOAD 0) 0 0 64 0 64 ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x493E0, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2a142c79a9b097c111ce945214226126b75e332c"), # noqa: E501 + address=Address(0x21A2D07156B4F874F3B25DFD175145C9CCEC1E19), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 250000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3cea889fd03a922cc673d25e5db4e72743aa4878"), # noqa: E501 + address=Address(0x709EB538153D5F98F0B8482C462070C26DB1CBAE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 250000 1 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x709eb538153d5f98f0b8482c462070c26db1cbae"), # noqa: E501 + address=Address(0x3CEA889FD03A922CC673D25E5DB4E72743AA4878), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x2A142C79A9B097C111CE945214226126B75E332C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [3000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_ooge.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_ooge.py index 0b42956ca1e..556de5b40bc 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_ooge.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_ooge.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_ooge. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_OOGEFiller.json +state_tests/stStaticCall/static_callcallcodecallcode_011_OOGEFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_OOGEFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000b126c622075b1189fb6c45e851641cfaddf65b36", - "000000000000000000000000fbef21c5a6c2adcf3d769f085e0cc9fe9a8df954", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecallcode_011_ooge( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_ooge.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,94 +71,95 @@ def test_static_callcallcodecallcode_011_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.DELEGATECALL( - gas=0x186A0, - address=0x77612608C7A22F8929F6F1C9462A9954621AEEFD, + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x630155B633B8B8F4BCB63E94E0BAAE0197C824EB, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x630155b633b8b8f4bcb63e94e0baae0197c824eb"), # noqa: E501 + address=Address(0x6E143211E9D36EAEEBE65F6ED69D6C28500040D6), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x630155B633B8B8F4BCB63E94E0BAAE0197C824EB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.DELEGATECALL( + gas=0x186A0, + address=0x77612608C7A22F8929F6F1C9462A9954621AEEFD, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x6e143211e9d36eaeebe65f6ed69d6c28500040d6"), # noqa: E501 + address=Address(0x630155B633B8B8F4BCB63E94E0BAAE0197C824EB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x4E34, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x4E34, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x77612608c7a22f8929f6f1c9462a9954621aeefd"), # noqa: E501 + address=Address(0x77612608C7A22F8929F6F1C9462A9954621AEEFD), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xfbef21c5a6c2adcf3d769f085e0cc9fe9a8df954"), # noqa: E501 + address=Address(0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_ooge_2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_ooge_2.py index 0a8dd23ca33..ffbdcfebc2c 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_ooge_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_ooge_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_ooge_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_OOGE_2Filler.json +state_tests/stStaticCall/static_callcallcodecallcode_011_OOGE_2Filler.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +28,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_OOGE_2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_OOGE_2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000bb2e6e56806816e94a356b0f0c8e53f98e44d6ad", - { - Address("0x6e143211e9d36eaeebe65f6ed69d6c28500040d6"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000f43b4e8b779078758104039080947f8f74e663d3", - { - Address("0x6e143211e9d36eaeebe65f6ed69d6c28500040d6"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecallcode_011_ooge_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_ooge_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,105 +74,123 @@ def test_static_callcallcodecallcode_011_ooge_2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=0x186A0, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x11A4A9DAD43E6ED44E108EAF7FB160F9835068F4, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x11a4a9dad43e6ed44e108eaf7fb160f9835068f4"), # noqa: E501 + address=Address(0x6E143211E9D36EAEEBE65F6ED69D6C28500040D6), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (CALLCODE 100000 (CALLDATALOAD 0) 0 0 64 0 64 ) (MSTORE 3 1)} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0x186A0, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x11A4A9DAD43E6ED44E108EAF7FB160F9835068F4), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x11A4A9DAD43E6ED44E108EAF7FB160F9835068F4, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 11) (CALLCODE 20020 0 0 64 0 64 ) (MSTORE 13 1)} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0xB) + + Op.POP( + Op.CALLCODE( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0xD, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x6e143211e9d36eaeebe65f6ed69d6c28500040d6"), # noqa: E501 + address=Address(0xBB2E6E56806816E94A356B0F0C8E53F98E44D6AD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0xB) - + Op.POP( - Op.CALLCODE( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 11) (CALLCODE 20020 1 0 64 0 64 ) (MSTORE 13 1)} # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0xB) + + Op.POP( + Op.CALLCODE( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0xD, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0xD, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xbb2e6e56806816e94a356b0f0c8e53f98e44d6ad"), # noqa: E501 + address=Address(0xF43B4E8B779078758104039080947F8F74E663D3), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0xB) - + Op.POP( - Op.CALLCODE( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xD, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xf43b4e8b779078758104039080947f8f74e663d3"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after.py index 581e66bfcb2..d38ae9044ff 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_oogm_after. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_OOGMAfterFiller.json +state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfterFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000476564431e8a9c2c934ef7712a1182eebb46b872", - "000000000000000000000000d678d9a03433a246d441a9a225553d3e4e760c5f", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecallcode_011_oogm_after( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_oogm_after.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,111 +71,112 @@ def test_static_callcallcodecallcode_011_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (STATICCALL 60140 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xEAEC, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0xB4D115B5309A03FEBD836ABB6456BCE43CEC037B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x9C90, - address=0xFECF0806036B619896DA47F661DFCE85C0107E9D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (DELEGATECALL 40080 0 64 0 64 ) (SSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x9C90, + address=0xFECF0806036B619896DA47F661DFCE85C0107E9D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x476564431e8a9c2c934ef7712a1182eebb46b872"), # noqa: E501 + address=Address(0x476564431E8A9C2C934EF7712A1182EEBB46B872), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 60140 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xEAEC, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (DELEGATECALL 40080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x9C90, + address=0xFECF0806036B619896DA47F661DFCE85C0107E9D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x43, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x27) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xb4d115b5309a03febd836abb6456bce43cec037b"), # noqa: E501 + address=Address(0xD678D9A03433A246D441A9A225553D3E4E760C5F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x9C90, - address=0xFECF0806036B619896DA47F661DFCE85C0107E9D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x43, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (MSTORE 1 1) (DELEGATECALL 20020 0 64 0 64 ) (MSTORE 1 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x27) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xd678d9a03433a246d441a9a225553d3e4e760c5f"), # noqa: E501 + address=Address(0xFECF0806036B619896DA47F661DFCE85C0107E9D), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xfecf0806036b619896da47f661dfce85c0107e9d"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after2.py index e65e19f2f50..990955e3558 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_oogm_after2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_OOGMAfter2Filler.json +state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "0000000000000000000000000973e7675ca57f8e6deb10cc07de5d8b53956212", - "00000000000000000000000013a5eb6fc2cf111fba5de5c336a9510e8229a44c", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecallcode_011_oogm_after2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_oogm_after2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,108 +71,109 @@ def test_static_callcallcodecallcode_011_oogm_after2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x9C90, - address=0x25D69E6A677BD6D872F436BAD807C3244A268673, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xEAF6, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0973e7675ca57f8e6deb10cc07de5d8b53956212"), # noqa: E501 + address=Address(0x652A62E8338E91A46AA8387A2C205F35F79347AB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x9C90, - address=0x25D69E6A677BD6D872F436BAD807C3244A268673, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x40, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (CALLCODE 40080 0 0 64 0 64 ) (SSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x9C90, + address=0x25D69E6A677BD6D872F436BAD807C3244A268673, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x24) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x13a5eb6fc2cf111fba5de5c336a9510e8229a44c"), # noqa: E501 + address=Address(0x0973E7675CA57F8E6DEB10CC07DE5D8B53956212), # noqa: E501 ) - pre.deploy_contract( - code=( + # Source: lll + # { (CALLCODE 40080 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( Op.CALLCODE( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + gas=0x9C90, + address=0x25D69E6A677BD6D872F436BAD807C3244A268673, value=0x0, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x40, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x24) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x25d69e6a677bd6d872f436bad807c3244a268673"), # noqa: E501 + address=Address(0x13A5EB6FC2CF111FBA5DE5C336A9510E8229A44C), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (CALLCODE 20020 0 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x25D69E6A677BD6D872F436BAD807C3244A268673), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xEAF6, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0x652a62e8338e91a46aa8387a2c205f35f79347ab"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after_1.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after_1.py index ec8aeaaf56a..4bd426bacd3 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after_1.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after_1.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_oogm_after_1. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_OOGMAfter_1Filler.json +state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000ea0c00bca818c88ecda8e81c47cc1eac92284a74", - { - Address("0xb4d115b5309a03febd836abb6456bce43cec037b"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000037bf0d28af83352e42a45cd844899ee7c948a7c", - { - Address("0xb4d115b5309a03febd836abb6456bce43cec037b"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecallcode_011_oogm_after_1( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_oogm_after_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,109 +71,112 @@ def test_static_callcallcodecallcode_011_oogm_after_1( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 60140 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xEAEC, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x02c0bffb833f0bd1bdcb227a4fe215cf640316bb"), # noqa: E501 + address=Address(0xB4D115B5309A03FEBD836ABB6456BCE43CEC037B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x9C90, - address=0x2C0BFFB833F0BD1BDCB227A4FE215CF640316BB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (DELEGATECALL 40080 0 64 0 64 ) (SSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x9C90, + address=0x2C0BFFB833F0BD1BDCB227A4FE215CF640316BB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x43, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x27) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x037bf0d28af83352e42a45cd844899ee7c948a7c"), # noqa: E501 + address=Address(0xEA0C00BCA818C88ECDA8E81C47CC1EAC92284A74), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (DELEGATECALL 40080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x9C90, + address=0x2C0BFFB833F0BD1BDCB227A4FE215CF640316BB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x43, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x27) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x037BF0D28AF83352E42A45CD844899EE7C948A7C), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 60140 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xEAEC, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (DELEGATECALL 20020 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb4d115b5309a03febd836abb6456bce43cec037b"), # noqa: E501 + address=Address(0x02C0BFFB833F0BD1BDCB227A4FE215CF640316BB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x9C90, - address=0x2C0BFFB833F0BD1BDCB227A4FE215CF640316BB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xea0c00bca818c88ecda8e81c47cc1eac92284a74"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after_2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after_2.py index d9a037d4714..52404fc0bae 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_after_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_oogm_after_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_OOGMAfter_2Filler.json +state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "0000000000000000000000007da35806c36ef9661efa1128809b18a8ed9c78f0", - "00000000000000000000000045445092b290295fb6c954103ff2ce24cf3cfaf5", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecallcode_011_oogm_after_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_oogm_after_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,114 +71,115 @@ def test_static_callcallcodecallcode_011_oogm_after_2( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xEAF6, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e28daa61ad32aac8383a1f7b17986c69f0c3273"), # noqa: E501 + address=Address(0x652A62E8338E91A46AA8387A2C205F35F79347AB), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (CALLCODE 40080 0 0 64 0 64 ) (SSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0x9C90, + address=0x1E28DAA61AD32AAC8383A1F7B17986C69F0C3273, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x7DA35806C36EF9661EFA1128809B18A8ED9C78F0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=0x9C90, - address=0x1E28DAA61AD32AAC8383A1F7B17986C69F0C3273, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x45, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (MSTORE 3 1) (CALLCODE 40080 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0x9C90, + address=0x1E28DAA61AD32AAC8383A1F7B17986C69F0C3273, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x29) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x45, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x29) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x45445092b290295fb6c954103ff2ce24cf3cfaf5"), # noqa: E501 + address=Address(0x45445092B290295FB6C954103FF2CE24CF3CFAF5), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xEAF6, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (CALLCODE 20020 0 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x652a62e8338e91a46aa8387a2c205f35f79347ab"), # noqa: E501 + address=Address(0x1E28DAA61AD32AAC8383A1F7B17986C69F0C3273), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=0x9C90, - address=0x1E28DAA61AD32AAC8383A1F7B17986C69F0C3273, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0x7da35806c36ef9661efa1128809b18a8ed9c78f0"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_before.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_before.py index d3488e995ca..a084bc0c56e 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_before.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_before.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_oogm_before. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_OOGMBeforeFiller.json +state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMBeforeFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "00000000000000000000000025a467084f1402e7813d24d9904c6faefc4241c8", - "0000000000000000000000009d3e6c1d2bc6290f0e7161adbb3ad1ec4770d0d3", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecallcode_011_oogm_before( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_oogm_before.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,112 +71,113 @@ def test_static_callcallcodecallcode_011_oogm_before( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0xF752172F60D0024AF14BEE497ED232AB3A215362, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x25a467084f1402e7813d24d9904c6faefc4241c8"), # noqa: E501 + address=Address(0xD28B8E27785DDEE975645E09E8631D7BCB4133F3), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (DELEGATECALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x9C90, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0xF752172F60D0024AF14BEE497ED232AB3A215362), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (SSTORE 3 1) (DELEGATECALL 20020 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.POP( - Op.DELEGATECALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x9d3e6c1d2bc6290f0e7161adbb3ad1ec4770d0d3"), # noqa: E501 + address=Address(0x25A467084F1402E7813D24D9904C6FAEFC4241C8), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0xF752172F60D0024AF14BEE497ED232AB3A215362, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (DELEGATECALL 20020 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.POP( + Op.DELEGATECALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xd28b8e27785ddee975645e09e8631d7bcb4133f3"), # noqa: E501 + address=Address(0x9D3E6C1D2BC6290F0E7161ADBB3AD1EC4770D0D3), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x9C90, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xf752172f60d0024af14bee497ed232ab3a215362"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_before2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_before2.py index f79f601552b..209c0d32b7d 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_before2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_oogm_before2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_oogm_before2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_OOGMBefore2Filler.json +state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2Filler.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,50 +28,45 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "00000000000000000000000087f0bb05316a8d8146646a151a64f38ae9d25176", - { - Address("0x6e143211e9d36eaeebe65f6ed69d6c28500040d6"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000001dffdbfbe33709f17b6e90137242c109917a994b", - { - Address("0x6e143211e9d36eaeebe65f6ed69d6c28500040d6"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "00000000000000000000000094c82267a4e8333afb80073fbaed3fe5973adc7c", - { - Address("0x6e143211e9d36eaeebe65f6ed69d6c28500040d6"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcallcodecallcode_011_oogm_before2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_oogm_before2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -81,133 +80,151 @@ def test_static_callcallcodecallcode_011_oogm_before2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.POP( - Op.CALLCODE( - gas=0x4E34, - address=0xD4286AC3FCAC436406BC95F5B0176AD49AED7F7C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x8BDE6A10A1792232FD09B528800D9AC2A6835424, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1dffdbfbe33709f17b6e90137242c109917a994b"), # noqa: E501 + address=Address(0x6E143211E9D36EAEEBE65F6ED69D6C28500040D6), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x8BDE6A10A1792232FD09B528800D9AC2A6835424, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 32 1) (CALLCODE 40080 (CALLDATALOAD 0) 0 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x20, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0x9C90, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x6e143211e9d36eaeebe65f6ed69d6c28500040d6"), # noqa: E501 + address=Address(0x8BDE6A10A1792232FD09B528800D9AC2A6835424), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=0x4E34, - address=0xD4286AC3FCAC436406BC95F5B0176AD49AED7F7C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (SSTORE 3 1) (CALLCODE 20020 0 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0x4E34, + address=0xD4286AC3FCAC436406BC95F5B0176AD49AED7F7C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x87f0bb05316a8d8146646a151a64f38ae9d25176"), # noqa: E501 + address=Address(0x87F0BB05316A8D8146646A151A64F38AE9D25176), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x20, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=0x9C90, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (CALLCODE 20020 0 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.POP( + Op.CALLCODE( + gas=0x4E34, + address=0xD4286AC3FCAC436406BC95F5B0176AD49AED7F7C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x8bde6a10a1792232fd09b528800d9ac2a6835424"), # noqa: E501 + address=Address(0x1DFFDBFBE33709F17B6E90137242C109917A994B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x4E34, - address=0xD4286AC3FCAC436406BC95F5B0176AD49AED7F7C, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (CALLCODE 20020 1 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x4E34, + address=0xD4286AC3FCAC436406BC95F5B0176AD49AED7F7C, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=10, nonce=0, - address=Address("0x94c82267a4e8333afb80073fbaed3fe5973adc7c"), # noqa: E501 + address=Address(0x94C82267A4E8333AFB80073FBAED3FE5973ADC7C), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (MSTORE 32 1) } + addr_5 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x20, value=0x1) + Op.STOP, nonce=0, - address=Address("0xd4286ac3fcac436406bc95f5b0176ad49aed7f7c"), # noqa: E501 + address=Address(0xD4286AC3FCAC436406BC95F5B0176AD49AED7F7C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_end.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_end.py index f0ed528d677..37679cc9d73 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_end.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_suicide_end. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_SuicideEndFiller.json +state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideEndFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecallcode_011_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,81 +49,81 @@ def test_static_callcallcodecallcode_011_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x92D7028788CAA240253B7B2A92386464690CDC72, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x92D7028788CAA240253B7B2A92386464690CDC72 - ) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x186A0, + address=0x4A31DD3A8C3C9A793AC0B3C234A4DBAC2F201404, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x4a31dd3a8c3c9a793ac0b3c234a4dbac2f201404"), # noqa: E501 - ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x92D7028788CAA240253B7B2A92386464690CDC72, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 + address=Address(0x92D7028788CAA240253B7B2A92386464690CDC72), # noqa: E501 ) - pre.deploy_contract( - code=( + # Source: lll + # { (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( Op.DELEGATECALL( - gas=0x186A0, - address=0x4A31DD3A8C3C9A793AC0B3C234A4DBAC2F201404, + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x92D7028788CAA240253B7B2A92386464690CDC72) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x4A31DD3A8C3C9A793AC0B3C234A4DBAC2F201404), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x92d7028788caa240253b7b2a92386464690cdc72"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr_2: Account(balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_end2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_end2.py index ca98407a02d..f7434d31144 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_end2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_end2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_suicide_end2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_SuicideEnd2Filler.json +state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecallcode_011_suicide_end2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_suicide_end2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,85 +49,82 @@ def test_static_callcallcodecallcode_011_suicide_end2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0xA5EACC8F2682A6D310E37822C75BFD196E040BCB - ) - + Op.STOP - ), - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0xA5EACC8F2682A6D310E37822C75BFD196E040BCB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x13b9edff99ae7b562c9292952c1e67e8fa0a3e03"), # noqa: E501 + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (CALLCODE 100000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.CALLCODE( + gas=0x186A0, + address=0x13B9EDFF99AE7B562C9292952C1E67E8FA0A3E03, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 - ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0xA5EACC8F2682A6D310E37822C75BFD196E040BCB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 + address=Address(0xA5EACC8F2682A6D310E37822C75BFD196E040BCB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.CALLCODE( - gas=0x186A0, - address=0x13B9EDFF99AE7B562C9292952C1E67E8FA0A3E03, + # Source: lll + # { (MSTORE 3 1) (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, value=0x0, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0xA5EACC8F2682A6D310E37822C75BFD196E040BCB) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x13B9EDFF99AE7B562C9292952C1E67E8FA0A3E03), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xa5eacc8f2682a6d310e37822c75bfd196e040bcb"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_middle.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_middle.py index d91ecf9853a..5615d596d57 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_middle.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_suicide_middle. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_SuicideMiddleFiller.json +state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecallcode_011_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,77 +49,81 @@ def test_static_callcallcodecallcode_011_suicide_middle( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x92D7028788CAA240253B7B2A92386464690CDC72, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x569cdc3b32cc3f9747bbde39fd70fead591d2f0d"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x186A0, - address=0xECA01D36DBE4F4AB283A49016EFA370BAC7E7346, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x92D7028788CAA240253B7B2A92386464690CDC72, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D), # noqa: E501 + ) + # Source: lll + # { (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x186A0, + address=0xECA01D36DBE4F4AB283A49016EFA370BAC7E7346, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x92d7028788caa240253b7b2a92386464690cdc72"), # noqa: E501 + address=Address(0x92D7028788CAA240253B7B2A92386464690CDC72), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D) - + Op.DELEGATECALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) (DELEGATECALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x569CDC3B32CC3F9747BBDE39FD70FEAD591D2F0D + ) + + Op.DELEGATECALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xeca01d36dbe4f4ab283a49016efa370bac7e7346"), # noqa: E501 + address=Address(0xECA01D36DBE4F4AB283A49016EFA370BAC7E7346), # noqa: E501 ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr_2: Account(balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_middle2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_middle2.py index ecc69996417..2e4cb91900c 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_middle2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_011_suicide_middle2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_011_suicide_middle2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_011_SuicideMiddle2Filler.json +state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecallcode_011_suicide_middle2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_011_suicide_middle2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,85 +49,89 @@ def test_static_callcallcodecallcode_011_suicide_middle2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0xD009AF172F5FAE9CCFE64264207C2FE773E0764F, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0xD009AF172F5FAE9CCFE64264207C2FE773E0764F, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa2ca69f1cf9ffa7a761899e8dd2f941d40326fd6"), # noqa: E501 + address=Address(0xA2CA69F1CF9FFA7A761899E8DD2F941D40326FD6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=0x186A0, - address=0xDCAD05283EB3153CA2200073454E8303C30805EC, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (CALLCODE 100000 0 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0x186A0, + address=0xDCAD05283EB3153CA2200073454E8303C30805EC, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xd009af172f5fae9ccfe64264207c2fe773e0764f"), # noqa: E501 + address=Address(0xD009AF172F5FAE9CCFE64264207C2FE773E0764F), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xA2CA69F1CF9FFA7A761899E8DD2F941D40326FD6) - + Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (SELFDESTRUCT ) (CALLCODE 50000 0 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xA2CA69F1CF9FFA7A761899E8DD2F941D40326FD6 + ) + + Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0xDCAD05283EB3153CA2200073454E8303C30805EC), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xdcad05283eb3153ca2200073454e8303c30805ec"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account(storage={0: 1}), + target: Account(storage={0: 1, 1: 0}), + addr_2: Account(balance=0x2540BE400), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_abcb_recursive.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_abcb_recursive.py index f5e7d4f81c1..6d4671b3856 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_abcb_recursive.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_abcb_recursive.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_abcb_recursive. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_ABCB_RECURSIVEFiller.json +state_tests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecallcode_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_abcb_recursive.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,70 +49,71 @@ def test_static_callcallcodecallcode_abcb_recursive( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 25000000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x17D7840, - address=0x2C81F66472668C71014CE3A9537B033DB57AF77B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x0f30355d1f829e0dd67066517a43a738ac501d99"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0xF4240, - address=0xAB5C6018CF3368381E283C1DE7F906C456188BC3, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x17D7840, + address=0x2C81F66472668C71014CE3A9537B033DB57AF77B, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x0F30355D1F829E0DD67066517A43A738AC501D99), # noqa: E501 + ) + # Source: lll + # { (DELEGATECALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0xF4240, + address=0xAB5C6018CF3368381E283C1DE7F906C456188BC3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2c81f66472668c71014ce3a9537b033db57af77b"), # noqa: E501 + address=Address(0x2C81F66472668C71014CE3A9537B033DB57AF77B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x7A120, - address=0x2C81F66472668C71014CE3A9537B033DB57AF77B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x7A120, + address=0x2C81F66472668C71014CE3A9537B033DB57AF77B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xab5c6018cf3368381e283c1de7f906c456188bc3"), # noqa: E501 + address=Address(0xAB5C6018CF3368381E283C1DE7F906C456188BC3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_abcb_recursive2.py b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_abcb_recursive2.py index a40b22ccec0..15773391f13 100644 --- a/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_abcb_recursive2.py +++ b/tests/ported_static/stStaticCall/test_static_callcallcodecallcode_abcb_recursive2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcallcodecallcode_abcb_recursive2. Ported from: -tests/static/state_tests/stStaticCall -static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json +state_tests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcallcodecallcode_abcb_recursive2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcallcodecallcode_abcb_recursive2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,72 +49,73 @@ def test_static_callcallcodecallcode_abcb_recursive2( gas_limit=3000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 25000000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x17D7840, - address=0x9EF1D089354C245C0C8A08590F55E76008AC54CD, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x0f30355d1f829e0dd67066517a43a738ac501d99"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x7A120, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x17D7840, address=0x9EF1D089354C245C0C8A08590F55E76008AC54CD, - value=0x0, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x0F30355D1F829E0DD67066517A43A738AC501D99), # noqa: E501 + ) + # Source: lll + # { (CALLCODE 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0xF4240, + address=0x1A3C543695D7CA3A7D5522E9C7AABE5512571706, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1a3c543695d7ca3a7d5522e9c7aabe5512571706"), # noqa: E501 + address=Address(0x9EF1D089354C245C0C8A08590F55E76008AC54CD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0xF4240, - address=0x1A3C543695D7CA3A7D5522E9C7AABE5512571706, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x7A120, + address=0x9EF1D089354C245C0C8A08590F55E76008AC54CD, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x9ef1d089354c245c0c8a08590f55e76008ac54cd"), # noqa: E501 + address=Address(0x1A3C543695D7CA3A7D5522E9C7AABE5512571706), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcode_check_pc.py b/tests/ported_static/stStaticCall/test_static_callcode_check_pc.py index e8c4eca09e0..43e505afa53 100644 --- a/tests/ported_static/stStaticCall/test_static_callcode_check_pc.py +++ b/tests/ported_static/stStaticCall/test_static_callcode_check_pc.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcode_check_pc. Ported from: -tests/static/state_tests/stStaticCall/static_callcode_checkPCFiller.json +state_tests/stStaticCall/static_callcode_checkPCFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcode_checkPCFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcode_checkPCFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcode_check_pc( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcode_check_pc.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,43 +47,42 @@ def test_static_callcode_check_pc( gas_limit=3000000000, ) - pre.deploy_contract( - code=bytes.fromhex("00"), - balance=0x2540BE400, - nonce=0, - address=Address("0x0fa032348694ad238cccc23b44fe450999cdc0fe"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (STATICCALL 1000000 0 64 0 64 ) [[3]] (PC)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xF4240, - address=0xFA032348694AD238CCCC23B44FE450999CDC0FE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xF4240, + address=0xFA032348694AD238CCCC23B44FE450999CDC0FE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x3, value=Op.PC) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x3, value=Op.PC) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6a1bc409e9c1914f80d4a72653f9d1c4a53c0343"), # noqa: E501 + address=Address(0x6A1BC409E9C1914F80D4A72653F9D1C4A53C0343), # noqa: E501 + ) + # Source: lll + # {} + addr = pre.deploy_contract( # noqa: F841 + code=Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x0FA032348694AD238CCCC23B44FE450999CDC0FE), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1100000, ) - post = { - contract: Account(storage={3: 35}), - } + post = {target: Account(storage={3: 35})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecall_10.py b/tests/ported_static/stStaticCall/test_static_callcodecall_10.py index aa850f04e6b..34472009770 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecall_10.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecall_10.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecall_10. Ported from: -tests/static/state_tests/stStaticCall/static_callcodecall_10Filler.json +state_tests/stStaticCall/static_callcodecall_10Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecall_10Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecall_10Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecall_10( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecall_10.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,63 +47,62 @@ def test_static_callcodecall_10( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x2a142c79a9b097c111ce945214226126b75e332c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0x732757BD540487F3FCFA3342F95106BC67684091, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0x732757BD540487F3FCFA3342F95106BC67684091, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4eef7e2b5ae9be0fc5b43dc4fe39195a1ae10fc4"), # noqa: E501 + address=Address(0x4EEF7E2B5AE9BE0FC5B43DC4FE39195A1AE10FC4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (STATICCALL 250000 0 64 0 64 ) (MSTORE 1 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x732757bd540487f3fcfa3342f95106bc67684091"), # noqa: E501 + address=Address(0x732757BD540487F3FCFA3342F95106BC67684091), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x2A142C79A9B097C111CE945214226126B75E332C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecall_10_2.py b/tests/ported_static/stStaticCall/test_static_callcodecall_10_2.py index d21fd9c8581..847fbf8693d 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecall_10_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecall_10_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecall_10_2. Ported from: -tests/static/state_tests/stStaticCall/static_callcodecall_10_2Filler.json +state_tests/stStaticCall/static_callcodecall_10_2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecall_10_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecall_10_2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecall_10_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecall_10_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,60 +47,59 @@ def test_static_callcodecall_10_2( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 350000 1 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x620B442C84D5068E6B57D390A1AC99130205406E, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x1c60bd6c18eaa7c07312b755979e9b2c2f2802d4"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x2a142c79a9b097c111ce945214226126b75e332c"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x620B442C84D5068E6B57D390A1AC99130205406E, + value=0x1, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x1C60BD6C18EAA7C07312B755979E9B2C2F2802D4), # noqa: E501 + ) + # Source: lll + # { (STATICCALL 250000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x620b442c84d5068e6b57d390a1ac99130205406e"), # noqa: E501 + address=Address(0x620B442C84D5068E6B57D390A1AC99130205406E), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x2A142C79A9B097C111CE945214226126B75E332C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecall_10_ooge.py b/tests/ported_static/stStaticCall/test_static_callcodecall_10_ooge.py index 3fc6f5d01c6..e7093742577 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecall_10_ooge.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecall_10_ooge.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecall_10_ooge. Ported from: -tests/static/state_tests/stStaticCall/static_callcodecall_10_OOGEFiller.json +state_tests/stStaticCall/static_callcodecall_10_OOGEFiller.json """ import pytest @@ -12,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecall_10_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecall_10_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "0000000000000000000000009791fa194f36c71f8bd64a757b7283707075ba99", - "000000000000000000000000fbef21c5a6c2adcf3d769f085e0cc9fe9a8df954", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecall_10_ooge( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecall_10_ooge.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -57,78 +69,79 @@ def test_static_callcodecall_10_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x4E34, - address=Op.CALLDATALOAD(offset=0x0), + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x33E1AD2A3AE944798E9ED4689B85D9136B59EBD2, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x33e1ad2a3ae944798e9ed4689b85d9136b59ebd2"), # noqa: E501 + address=Address(0xDCFF1EF291EC7B6A606AC4284680DB5A06F33054), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + # Source: lll + # { (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x4E34, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x9791fa194f36c71f8bd64a757b7283707075ba99"), # noqa: E501 + address=Address(0x33E1AD2A3AE944798E9ED4689B85D9136B59EBD2), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x33E1AD2A3AE944798E9ED4689B85D9136B59EBD2, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1)} + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, nonce=0, - address=Address("0xdcff1ef291ec7b6a606ac4284680db5a06f33054"), # noqa: E501 + address=Address(0x9791FA194F36C71F8BD64A757B7283707075BA99), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xfbef21c5a6c2adcf3d769f085e0cc9fe9a8df954"), # noqa: E501 + address=Address(0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecall_10_ooge_2.py b/tests/ported_static/stStaticCall/test_static_callcodecall_10_ooge_2.py index 0803af0f1b9..eb311ee0b0c 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecall_10_ooge_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecall_10_ooge_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecall_10_ooge_2. Ported from: -tests/static/state_tests/stStaticCall/static_callcodecall_10_OOGE_2Filler.json +state_tests/stStaticCall/static_callcodecall_10_OOGE_2Filler.json """ import pytest @@ -12,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecall_10_OOGE_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecall_10_OOGE_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "0000000000000000000000006b63d3f6d6e39d3ad60afa947ddc3e34017d0ef9", - "000000000000000000000000fbef21c5a6c2adcf3d769f085e0cc9fe9a8df954", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecall_10_ooge_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecall_10_ooge_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -57,83 +69,88 @@ def test_static_callcodecall_10_ooge_2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xE7BF411C5F7EA351927579255740C4BD69BD01F5, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6b63d3f6d6e39d3ad60afa947ddc3e34017d0ef9"), # noqa: E501 + address=Address(0xECEB2D7DC716950B2877389DC5B8CF7000305255), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x2, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x4E34, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 2 1) (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x2, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x4E34, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xe7bf411c5f7ea351927579255740c4bd69bd01f5"), # noqa: E501 + address=Address(0xE7BF411C5F7EA351927579255740C4BD69BD01F5), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xE7BF411C5F7EA351927579255740C4BD69BD01F5, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, nonce=0, - address=Address("0xeceb2d7dc716950b2877389dc5b8cf7000305255"), # noqa: E501 + address=Address(0x6B63D3F6D6E39D3AD60AFA947DDC3E34017D0EF9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xfbef21c5a6c2adcf3d769f085e0cc9fe9a8df954"), # noqa: E501 + address=Address(0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1, 2: 0}), + addr: Account(storage={1: 0, 2: 0}), + addr_2: Account(storage={1: 0, 2: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecall_10_suicide_end.py b/tests/ported_static/stStaticCall/test_static_callcodecall_10_suicide_end.py index a506d9ef460..f16e28b4e46 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecall_10_suicide_end.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecall_10_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecall_10_suicide_end. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecall_10_SuicideEndFiller.json +state_tests/stStaticCall/static_callcodecall_10_SuicideEndFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,43 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecall_10_SuicideEndFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecall_10_SuicideEndFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000cfb5784a5e49924becc2d5c5d2ee0a9b141e6216", - { - Address("0x99b0d2d9eea3205f4de64fdc26910432824ab1a7"): Account( - storage={0: 1, 1: 0x2CF4C4} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000703b936fd4d674f0ff5d6957f61097152f8781b8", - { - Address("0x99b0d2d9eea3205f4de64fdc26910432824ab1a7"): Account( - storage={0: 1, 1: 0x2C3183} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecall_10_suicide_end( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecall_10_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,73 +69,77 @@ def test_static_callcodecall_10_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, - balance=0x2540BE400, + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] (GAS) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0xDC07FFF80D888EBA04EAB962D37897F6C923462B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x703b936fd4d674f0ff5d6957f61097152f8781b8"), # noqa: E501 + address=Address(0x99B0D2D9EEA3205F4DE64FDC26910432824AB1A7), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0xDC07FFF80D888EBA04EAB962D37897F6C923462B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (STATICCALL 50000 (CALLDATALOAD 0) 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.SELFDESTRUCT(address=0x99B0D2D9EEA3205F4DE64FDC26910432824AB1A7) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x99b0d2d9eea3205f4de64fdc26910432824ab1a7"), # noqa: E501 + address=Address(0xDC07FFF80D888EBA04EAB962D37897F6C923462B), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (MSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xcfb5784a5e49924becc2d5c5d2ee0a9b141e6216"), # noqa: E501 + address=Address(0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x99B0D2D9EEA3205F4DE64FDC26910432824AB1A7 - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xdc07fff80d888eba04eab962d37897f6c923462b"), # noqa: E501 + address=Address(0x703B936FD4D674F0FF5D6957F61097152F8781B8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [3000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = {target: Account(balance=0xDE0B6B3A7640000, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecall_10_suicide_end2.py b/tests/ported_static/stStaticCall/test_static_callcodecall_10_suicide_end2.py index c139588f6dc..8fc977c4056 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecall_10_suicide_end2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecall_10_suicide_end2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecall_10_suicide_end2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecall_10_SuicideEnd2Filler.json +state_tests/stStaticCall/static_callcodecall_10_SuicideEnd2Filler.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,43 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecall_10_SuicideEnd2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecall_10_SuicideEnd2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, 0, - { - Address("0x44d09ddf088dd88c0e91fa7ef74973ff94ad7414"): Account( - storage={0: 1, 1: 0x2CF641} - ) - }, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x44d09ddf088dd88c0e91fa7ef74973ff94ad7414"): Account( - storage={0: 1, 1: 0x2CDC15} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecall_10_suicide_end2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecall_10_suicide_end2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,65 +72,84 @@ def test_static_callcodecall_10_suicide_end2( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xB60789F240AC9F12FCDE1E4BBD5042A7F30932D4, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xB60789F240AC9F12FCDE1E4BBD5042A7F30932D4, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x44d09ddf088dd88c0e91fa7ef74973ff94ad7414"), # noqa: E501 + address=Address(0x44D09DDF088DD88C0E91FA7EF74973FF94AD7414), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (STATICCALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SELFDESTRUCT( - address=0x44D09DDF088DD88C0E91FA7EF74973FF94AD7414 - ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x44D09DDF088DD88C0E91FA7EF74973FF94AD7414) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xb60789f240ac9f12fcde1e4bbd5042a7f30932d4"), # noqa: E501 + address=Address(0xB60789F240AC9F12FCDE1E4BBD5042A7F30932D4), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (MSTORE 2 1) } + addr_2 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x2, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xcfb5784a5e49924becc2d5c5d2ee0a9b141e6216"), # noqa: E501 + address=Address(0xCFB5784A5E49924BECC2D5C5D2EE0A9B141E6216), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": {target: Account(balance=0xDE0B6B3A7640000)}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": {target: Account(balance=0xDE0B6B3A7640001)}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [3000000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=3000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100.py index 67dc3059771..466ffeabecb 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100. Ported from: -tests/static/state_tests/stStaticCall/static_callcodecallcall_100Filler.json +state_tests/stStaticCall/static_callcodecallcall_100Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecallcall_100Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcall_100( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,78 +47,77 @@ def test_static_callcodecallcall_100( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x493E0, - address=0xEF859513AE36C397C43170A2980741575916167B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x5, value=Op.CALLER) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x37beb0dda966430210baed14c311db5b8237b9e7"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0x37BEB0DDA966430210BAED14C311DB5B8237B9E7, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0x37BEB0DDA966430210BAED14C311DB5B8237B9E7, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4be61408125d759dff8caeae4704d8c7aca6099a"), # noqa: E501 + address=Address(0x4BE61408125D759DFF8CAEAE4704D8C7ACA6099A), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x7e3fa59ae6c821631a70f75a54fbe9a1085102c7"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( + # Source: lll + # { (STATICCALL 300000 0 64 0 64 ) (MSTORE 5 (CALLER))} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( Op.STATICCALL( - gas=0x3D090, - address=0x7E3FA59AE6C821631A70F75A54FBE9A1085102C7, + gas=0x493E0, + address=0xEF859513AE36C397C43170A2980741575916167B, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x5, value=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xef859513ae36c397c43170a2980741575916167b"), # noqa: E501 + address=Address(0x37BEB0DDA966430210BAED14C311DB5B8237B9E7), # noqa: E501 ) + # Source: lll + # { (STATICCALL 250000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x3D090, + address=0x7E3FA59AE6C821631A70F75A54FBE9A1085102C7, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0xEF859513AE36C397C43170A2980741575916167B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 1)} + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x7E3FA59AE6C821631A70F75A54FBE9A1085102C7), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_2.py index 2f94b25a535..fc1eee3d52b 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_2. Ported from: -tests/static/state_tests/stStaticCall/static_callcodecallcall_100_2Filler.json +state_tests/stStaticCall/static_callcodecallcall_100_2Filler.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,43 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecallcall_100_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, 0, - { - Address("0x9f233647d252a405337c598a262f95052c23f7ee"): Account( - storage={0: 1, 1: 1} - ) - }, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x9f233647d252a405337c598a262f95052c23f7ee"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcall_100_2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -72,75 +69,82 @@ def test_static_callcodecallcall_100_2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x2a142c79a9b097c111ce945214226126b75e332c"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x493E0, - address=0xEF859513AE36C397C43170A2980741575916167B, + # Source: lll + # { [[ 0 ]] (CALLCODE 350000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x47F2744D161ACE12CC52A51922D3CEE2E8AB3B89, + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x47f2744d161ace12cc52a51922d3cee2e8ab3b89"), # noqa: E501 + address=Address(0x9F233647D252A405337C598A262F95052C23F7EE), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 350000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x47F2744D161ACE12CC52A51922D3CEE2E8AB3B89, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 300000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x493E0, + address=0xEF859513AE36C397C43170A2980741575916167B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9f233647d252a405337c598a262f95052c23f7ee"), # noqa: E501 + address=Address(0x47F2744D161ACE12CC52A51922D3CEE2E8AB3B89), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 250000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xef859513ae36c397c43170a2980741575916167b"), # noqa: E501 + address=Address(0xEF859513AE36C397C43170A2980741575916167B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x2A142C79A9B097C111CE945214226126B75E332C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + tx_data = [ + Bytes(""), + ] + tx_gas = [3000000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=3000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_ooge.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_ooge.py index cb71bb83b38..71ccf237f91 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_ooge.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_ooge.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_ooge. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_OOGEFiller.json +state_tests/stStaticCall/static_callcodecallcall_100_OOGEFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecallcall_100_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000b126c622075b1189fb6c45e851641cfaddf65b36", - "000000000000000000000000fbef21c5a6c2adcf3d769f085e0cc9fe9a8df954", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcall_100_ooge( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_ooge.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,100 +69,101 @@ def test_static_callcodecallcall_100_ooge( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x4E34, - address=Op.CALLDATALOAD(offset=0x20), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0xC4961FC5BDC17DA68E909D07947A5E030952891E, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5ac4ee179abd5ea5f60962e651ded51161a55b6e"), # noqa: E501 + address=Address(0xDCFF1EF291EC7B6A606AC4284680DB5A06F33054), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 32 (CALLDATALOAD 0)) (STATICCALL 100000 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x0)) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x5AC4EE179ABD5EA5F60962E651DED51161A55B6E, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0xC4961FC5BDC17DA68E909D07947A5E030952891E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x0)) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x5AC4EE179ABD5EA5F60962E651DED51161A55B6E, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (STATICCALL 20020 (CALLDATALOAD 32) 0 64 0 64 ) (MSTORE 3 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x4E34, + address=Op.CALLDATALOAD(offset=0x20), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc4961fc5bdc17da68e909d07947a5e030952891e"), # noqa: E501 + address=Address(0x5AC4EE179ABD5EA5F60962E651DED51161A55B6E), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0xC4961FC5BDC17DA68E909D07947A5E030952891E, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xdcff1ef291ec7b6a606ac4284680db5a06f33054"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xfbef21c5a6c2adcf3d769f085e0cc9fe9a8df954"), # noqa: E501 + address=Address(0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_ooge2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_ooge2.py index 01de1b3b4a8..9476ab23f76 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_ooge2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_ooge2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_ooge2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_OOGE2Filler.json +state_tests/stStaticCall/static_callcodecallcall_100_OOGE2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_OOGE2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecallcall_100_OOGE2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000b126c622075b1189fb6c45e851641cfaddf65b36", - "000000000000000000000000fbef21c5a6c2adcf3d769f085e0cc9fe9a8df954", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcall_100_ooge2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_ooge2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,95 +69,96 @@ def test_static_callcodecallcall_100_ooge2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.STATICCALL( - gas=0x186A0, - address=0x33E1AD2A3AE944798E9ED4689B85D9136B59EBD2, + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x3C7AEF27501FCE796222312BCD7A4546DD60637, + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x03c7aef27501fce796222312bcd7a4546dd60637"), # noqa: E501 + address=Address(0xBA1D112A3EA7A5149E304FCEA53D3F6A76BD4CB9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x4E34, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.STATICCALL( + gas=0x186A0, + address=0x33E1AD2A3AE944798E9ED4689B85D9136B59EBD2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x33e1ad2a3ae944798e9ed4689b85d9136b59ebd2"), # noqa: E501 + address=Address(0x03C7AEF27501FCE796222312BCD7A4546DD60637), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x4E34, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x33E1AD2A3AE944798E9ED4689B85D9136B59EBD2), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x3C7AEF27501FCE796222312BCD7A4546DD60637, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xba1d112a3ea7a5149e304fcea53d3f6a76bd4cb9"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xfbef21c5a6c2adcf3d769f085e0cc9fe9a8df954"), # noqa: E501 + address=Address(0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after.py index 72f417eaad9..3cdcb06e481 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_oogm_after. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_OOGMAfterFiller.json +state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcall_100_oogm_after( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_oogm_after.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,89 +49,87 @@ def test_static_callcodecallcall_100_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x9C90, - address=0x694B007C276285E1A2424A78288ABF42FDDA6E71, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x43, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x27) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 60150 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xEAF6, + address=0x2865FD3572B0B77173E5ED91E968ACAD55701151, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2865fd3572b0b77173e5ed91e968acad55701151"), # noqa: E501 + address=Address(0xE79AEE563C83547F229D955ECDCCA0F01FED9AA9), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 40080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x9C90, + address=0x694B007C276285E1A2424A78288ABF42FDDA6E71, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x43, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x27) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x2865FD3572B0B77173E5ED91E968ACAD55701151), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 20020 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x694b007c276285e1a2424a78288abf42fdda6e71"), # noqa: E501 + address=Address(0x694B007C276285E1A2424A78288ABF42FDDA6E71), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 60150 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xEAF6, - address=0x2865FD3572B0B77173E5ED91E968ACAD55701151, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xe79aee563c83547f229d955ecdcca0f01fed9aa9"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1720000, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after2.py index 99bf1c642a9..40d80114a76 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_oogm_after2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_OOGMAfter2Filler.json +state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfter2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfter2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfter2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, 0, - { - Address("0x8b3623c74bbf83102adc34299d32b5cd0e7d8cb9"): Account( - storage={1: 1} - ) - }, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x8b3623c74bbf83102adc34299d32b5cd0e7d8cb9"): Account( - storage={1: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcall_100_oogm_after2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_oogm_after2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,87 +71,90 @@ def test_static_callcodecallcall_100_oogm_after2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (CALLCODE 600150 (CALLDATALOAD 0) (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x92856, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x8B3623C74BBF83102ADC34299D32B5CD0E7D8CB9), # noqa: E501 ) - pre.deploy_contract( - code=( + # Source: lll + # { (STATICCALL 400080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( Op.STATICCALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + gas=0x61AD0, + address=0x444DF104EA3853BFEAA91A755136F33385D12EEA, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x23) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x444df104ea3853bfeaa91a755136f33385d12eea"), # noqa: E501 + address=Address(0xF4645C150A8060778AD94DFFE302081FC222DEDB), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 600150 (CALLDATALOAD 0) (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x92856, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (STATICCALL 120020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x8b3623c74bbf83102adc34299d32b5cd0e7d8cb9"), # noqa: E501 + address=Address(0x444DF104EA3853BFEAA91A755136F33385D12EEA), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x61AD0, - address=0x444DF104EA3853BFEAA91A755136F33385D12EEA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x23) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xf4645c150a8060778ad94dffe302081fc222dedb"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + tx_data = [ + Hash(addr, left_padding=True), + ] + tx_gas = [1720000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "000000000000000000000000f4645c150a8060778ad94dffe302081fc222dedb" - ), - gas_limit=1720000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after_2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after_2.py index 6c6395b5d0b..925ac1cbddf 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_oogm_after_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_OOGMAfter_2Filler.json +state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcall_100_oogm_after_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_oogm_after_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,89 +49,87 @@ def test_static_callcodecallcall_100_oogm_after_2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 601500 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x92D9C, - address=0xA4306100C983E6928DEBC547240D7FE9DEDF2EF8, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x92D9C, + address=0xA4306100C983E6928DEBC547240D7FE9DEDF2EF8, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0bc6fe23b1c8d7e29532373698cdf5ba4a4e7b88"), # noqa: E501 + address=Address(0x0BC6FE23B1C8D7E29532373698CDF5BA4A4E7B88), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 400080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x61AD0, + address=0x12C33B5028F0A7D7777501A5E899D92B2EC75B9A, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x44, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x12c33b5028f0a7d7777501a5e899d92b2ec75b9a"), # noqa: E501 + address=Address(0xA4306100C983E6928DEBC547240D7FE9DEDF2EF8), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 120020 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x12C33B5028F0A7D7777501A5E899D92B2EC75B9A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x61AD0, - address=0x12C33B5028F0A7D7777501A5E899D92B2EC75B9A, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x44, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xa4306100c983e6928debc547240d7fe9dedf2ef8"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1720000, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after_3.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after_3.py index 4bc6952183f..981570ea381 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after_3.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_after_3.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_oogm_after_3. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_OOGMAfter_3Filler.json +state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3Filler.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +28,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, 0, - { - Address("0x62b278a07428f1ff97ee7c884b711f6df3340707"): Account( - storage={1: 1} - ) - }, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x62b278a07428f1ff97ee7c884b711f6df3340707"): Account( - storage={1: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcall_100_oogm_after_3( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_oogm_after_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,89 +74,109 @@ def test_static_callcodecallcall_100_oogm_after_3( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x9C90, - address=0x694B007C276285E1A2424A78288ABF42FDDA6E71, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x43, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x27) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (CALLCODE 60150 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xEAF6, + address=0x2865FD3572B0B77173E5ED91E968ACAD55701151, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2865fd3572b0b77173e5ed91e968acad55701151"), # noqa: E501 + address=Address(0x62B278A07428F1FF97EE7C884B711F6DF3340707), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 40080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x9C90, + address=0x694B007C276285E1A2424A78288ABF42FDDA6E71, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x43, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x27) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x2865FD3572B0B77173E5ED91E968ACAD55701151), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 60150 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xEAF6, - address=0x2865FD3572B0B77173E5ED91E968ACAD55701151, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 20020 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x62b278a07428f1ff97ee7c884b711f6df3340707"), # noqa: E501 + address=Address(0x694B007C276285E1A2424A78288ABF42FDDA6E71), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0x694b007c276285e1a2424a78288abf42fdda6e71"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": [0]}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0, 1: 1})}, + }, + { + "indexes": {"data": -1, "gas": -1, "value": [1]}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 0, 1: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [172000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=172000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_before.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_before.py index aca399a2d7f..3a95de7f19b 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_before.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_before.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_oogm_before. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_OOGMBeforeFiller.json +state_tests/stStaticCall/static_callcodecallcall_100_OOGMBeforeFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,27 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_100_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000cc95c09a27cbe0199e6d898e64b4dc1774f164e1", - "0000000000000000000000004670334e92c4d14771faadb3c90c987cb337acca", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcall_100_oogm_before( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_oogm_before.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -58,83 +71,74 @@ def test_static_callcodecallcall_100_oogm_before( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x570B7A7EB7D0539D77442B6262127229B9B6C19F, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4670334e92c4d14771faadb3c90c987cb337acca"), # noqa: E501 + address=Address(0xB1DDDCE88104538F48811F8E62AF99666E0C3A4E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x9C90, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 3 1) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x9C90, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x570b7a7eb7d0539d77442b6262127229b9b6c19f"), # noqa: E501 + address=Address(0x570B7A7EB7D0539D77442B6262127229B9B6C19F), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x570B7A7EB7D0539D77442B6262127229B9B6C19F, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xb1dddce88104538f48811f8e62af99666e0c3a4e"), # noqa: E501 + address=Address(0xCC95C09A27CBE0199E6D898E64B4DC1774F164E1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STATICCALL( + # Source: lll + # { (SSTORE 3 1) (STATICCALL 20020 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( gas=0x4E34, address=0x335C5531B84765A7626E6E76688F18B81BE5259C, args_offset=0x0, @@ -142,24 +146,34 @@ def test_static_callcodecallcall_100_oogm_before( ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0x4670334E92C4D14771FAADB3C90C987CB337ACCA), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xcc95c09a27cbe0199e6d898e64b4dc1774f164e1"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_before2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_before2.py index 07b6b0beb07..0f513f095fb 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_before2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_oogm_before2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_oogm_before2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_OOGMBefore2Filler.json +state_tests/stStaticCall/static_callcodecallcall_100_OOGMBefore2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,63 +25,51 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_OOGMBefore2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_100_OOGMBefore2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, tx_value, expected_post", + "d, g, v", [ - ( - "0000000000000000000000006224e12321037bf1b980d03fdc3e8afb95e9e794", + pytest.param( + 0, 0, - { - Address("0xf7520e9898ed4e699844182c95efecab5d06ad13"): Account( - storage={0: 1, 1: 1} - ) - }, + 0, + id="d0-v0", ), - ( - "0000000000000000000000006224e12321037bf1b980d03fdc3e8afb95e9e794", + pytest.param( + 0, + 0, 1, - { - Address("0xf7520e9898ed4e699844182c95efecab5d06ad13"): Account( - storage={0: 1, 1: 1} - ) - }, + id="d0-v1", ), - ( - "00000000000000000000000028124c297e97622ed1d89a53f804c178aeaf3bbf", + pytest.param( + 1, 0, - { - Address("0xf7520e9898ed4e699844182c95efecab5d06ad13"): Account( - storage={0: 1, 1: 1} - ) - }, + 0, + id="d1-v0", ), - ( - "00000000000000000000000028124c297e97622ed1d89a53f804c178aeaf3bbf", + pytest.param( 1, - { - Address("0xf7520e9898ed4e699844182c95efecab5d06ad13"): Account( - storage={0: 1, 1: 1} - ) - }, + 0, + 1, + id="d1-v1", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcall_100_oogm_before2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_oogm_before2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -94,103 +83,107 @@ def test_static_callcodecallcall_100_oogm_before2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x3, value=0x1) - + Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x99FE987D98B818ED5AF6AE7B1A91A3BE35956195, + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x28124c297e97622ed1d89a53f804c178aeaf3bbf"), # noqa: E501 + address=Address(0xF7520E9898ED4E699844182C95EFECAB5D06AD13), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.STATICCALL( + gas=0x9C90, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x99FE987D98B818ED5AF6AE7B1A91A3BE35956195), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x6224e12321037bf1b980d03fdc3e8afb95e9e794"), # noqa: E501 + address=Address(0x6224E12321037BF1B980D03FDC3E8AFB95E9E794), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.STATICCALL( - gas=0x9C90, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + + Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x99fe987d98b818ed5af6ae7b1a91a3be35956195"), # noqa: E501 + address=Address(0x28124C297E97622ED1D89A53F804C178AEAF3BBF), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x99FE987D98B818ED5AF6AE7B1A91A3BE35956195, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xf7520e9898ed4e699844182c95efecab5d06ad13"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [172000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_end.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_end.py index d577fbcb95a..07557a7944b 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_end.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_suicide_end. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_SuicideEndFiller.json +state_tests/stStaticCall/static_callcodecallcall_100_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_SuicideEndFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_100_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcall_100_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,86 +49,83 @@ def test_static_callcodecallcall_100_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x31d06fad70e2a598413824a9bc68d80a5d2b194e"), # noqa: E501 + address=Address(0x31D06FAD70E2A598413824A9BC68D80A5D2B194E), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x8C800ABF2A49CA6FFAC93555AF4B5C7F9A3A8186, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x620B381D01CBD812FFB798AB35A1A316BDE90CE6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x8C800ABF2A49CA6FFAC93555AF4B5C7F9A3A8186, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x620b381d01cbd812ffb798ab35a1a316bde90ce6"), # noqa: E501 + address=Address(0x8C800ABF2A49CA6FFAC93555AF4B5C7F9A3A8186), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x8c800abf2a49ca6ffac93555af4b5c7f9a3a8186"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_end2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_end2.py index 321a81955bf..f48c9e87062 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_end2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_end2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_suicide_end2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_SuicideEnd2Filler.json +state_tests/stStaticCall/static_callcodecallcall_100_SuicideEnd2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_SuicideEnd2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_100_SuicideEnd2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcall_100_suicide_end2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_suicide_end2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,87 +49,84 @@ def test_static_callcodecallcall_100_suicide_end2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x66227CF0A560E1F6F9E94345DD1B5C6758923BA6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x8C800ABF2A49CA6FFAC93555AF4B5C7F9A3A8186, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x8C800ABF2A49CA6FFAC93555AF4B5C7F9A3A8186, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x620b381d01cbd812ffb798ab35a1a316bde90ce6"), # noqa: E501 + address=Address(0x620B381D01CBD812FFB798AB35A1A316BDE90CE6), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.SELFDESTRUCT(address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x66227cf0a560e1f6f9e94345dd1b5c6758923ba6"), # noqa: E501 + address=Address(0x8C800ABF2A49CA6FFAC93555AF4B5C7F9A3A8186), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x8c800abf2a49ca6ffac93555af4b5c7f9a3a8186"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_middle.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_middle.py index 6fa6d828172..580cac95a91 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_middle.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_suicide_middle. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_SuicideMiddleFiller.json +state_tests/stStaticCall/static_callcodecallcall_100_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_100_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcall_100_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,81 +49,82 @@ def test_static_callcodecallcall_100_suicide_middle( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0xCBFD6696CBC67E0593FD4AE8A6646C6AC25ECFB8, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0xCBFD6696CBC67E0593FD4AE8A6646C6AC25ECFB8, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x31d06fad70e2a598413824a9bc68d80a5d2b194e"), # noqa: E501 + address=Address(0x31D06FAD70E2A598413824A9BC68D80A5D2B194E), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x31D06FAD70E2A598413824A9BC68D80A5D2B194E) - + Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1)} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x408f1aceffec7bdaa35d77006cdcaead563bb694"), # noqa: E501 + address=Address(0xCBFD6696CBC67E0593FD4AE8A6646C6AC25ECFB8), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (SELFDESTRUCT ) (STATICCALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x31D06FAD70E2A598413824A9BC68D80A5D2B194E + ) + + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xcbfd6696cbc67e0593fd4ae8a6646c6ac25ecfb8"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_middle2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_middle2.py index 10fe0883f57..0a5324c482b 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_middle2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_100_suicide_middle2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_100_suicide_middle2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_100_SuicideMiddle2Filler.json +state_tests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, + 0, 0, - { - Address("0x07912b9147d3319b09cbab380f10819d0bf0066d"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x07912b9147d3319b09cbab380f10819d0bf0066d"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcall_100_suicide_middle2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_100_suicide_middle2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,77 +71,84 @@ def test_static_callcodecallcall_100_suicide_middle2( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x07912b9147d3319b09cbab380f10819d0bf0066d"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x7912B9147D3319B09CBAB380F10819D0BF0066D) - + Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C, + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x07912B9147D3319B09CBAB380F10819D0BF0066D), # noqa: E501 + ) + # Source: lll + # { (STATICCALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x186A0, + address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x408f1aceffec7bdaa35d77006cdcaead563bb694"), # noqa: E501 + address=Address(0xD7997C3F1AACABDC66B4DA9461B9558B1787E01C), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (SELFDESTRUCT ) (STATICCALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=0x7912B9147D3319B09CBAB380F10819D0BF0066D) + + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x186A0, - address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xd7997c3f1aacabdc66b4da9461b9558b1787e01c"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + tx_data = [ + Bytes(""), + ] + tx_gas = [3000000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=3000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_abcb_recursive.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_abcb_recursive.py index ebde4ea035f..d6b08afa293 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_abcb_recursive.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_abcb_recursive.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_abcb_recursive. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_ABCB_RECURSIVEFiller.json +state_tests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcall_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_abcb_recursive.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,70 +49,67 @@ def test_static_callcodecallcall_abcb_recursive( gas_limit=3000000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x7A120, + # Source: lll + # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x17D7840, address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e2229d0f325b81b81b8b14f2d239ff9742683c0"), # noqa: E501 + address=Address(0x56325D37CDCE6B5858E63B1F0A691DB81D65E6DD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0xF4240, - address=0x1E2229D0F325B81B81B8B14F2D239FF9742683C0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0xF4240, + address=0x1E2229D0F325B81B81B8B14F2D239FF9742683C0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2733821fa13c4ead1c9631c76820333f42059b7c"), # noqa: E501 + address=Address(0x2733821FA13C4EAD1C9631C76820333F42059B7C), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x17D7840, - address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (STATICCALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x7A120, + address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x56325d37cdce6b5858e63b1f0a691db81d65e6dd"), # noqa: E501 + address=Address(0x1E2229D0F325B81B81B8B14F2D239FF9742683C0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcall_abcb_recursive2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcall_abcb_recursive2.py index 6dad8606df3..518adcd9cae 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcall_abcb_recursive2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcall_abcb_recursive2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcall_abcb_recursive2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcall_ABCB_RECURSIVE2Filler.json +state_tests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, + 0, 0, - { - Address("0x3da1f9d4153096bd467629a1fdb678437acd810b"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x3da1f9d4153096bd467629a1fdb678437acd810b"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcall_abcb_recursive2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcall_abcb_recursive2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,70 +71,75 @@ def test_static_callcodecallcall_abcb_recursive2( gas_limit=3000000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x7A120, + # Source: lll + # { [[ 0 ]] (CALLCODE 25000000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x17D7840, address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e2229d0f325b81b81b8b14f2d239ff9742683c0"), # noqa: E501 + address=Address(0x3DA1F9D4153096BD467629A1FDB678437ACD810B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0xF4240, - address=0x1E2229D0F325B81B81B8B14F2D239FF9742683C0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0xF4240, + address=0x1E2229D0F325B81B81B8B14F2D239FF9742683C0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2733821fa13c4ead1c9631c76820333f42059b7c"), # noqa: E501 + address=Address(0x2733821FA13C4EAD1C9631C76820333F42059B7C), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 25000000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x17D7840, - address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (STATICCALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x7A120, + address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x3da1f9d4153096bd467629a1fdb678437acd810b"), # noqa: E501 + address=Address(0x1E2229D0F325B81B81B8B14F2D239FF9742683C0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + tx_data = [ + Bytes(""), + ] + tx_gas = [600000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=600000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101.py index 1753bef31ac..ae839ce0b2d 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101Filler.json +state_tests/stStaticCall/static_callcodecallcallcode_101Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecallcallcode_101Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcallcode_101( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,83 +47,82 @@ def test_static_callcodecallcallcode_101( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x2a142c79a9b097c111ce945214226126b75e332c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0xF553D6B8627C39028BD1E05A4F55E2A4B3042A1D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0xF553D6B8627C39028BD1E05A4F55E2A4B3042A1D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4eef7e2b5ae9be0fc5b43dc4fe39195a1ae10fc4"), # noqa: E501 + address=Address(0x4EEF7E2B5AE9BE0FC5B43DC4FE39195A1AE10FC4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (STATICCALL 300000 0 64 0 64 ) (MSTORE 31 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=0x999E3C988E5FDF24ADF774E3502F0095E6530B72, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x1F, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x1F, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x999e3c988e5fdf24adf774e3502f0095e6530b72"), # noqa: E501 + address=Address(0xF553D6B8627C39028BD1E05A4F55E2A4B3042A1D), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x493E0, - address=0x999E3C988E5FDF24ADF774E3502F0095E6530B72, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (DELEGATECALL 250000 0 64 0 64 ) (MSTORE 31 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x1F, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x1F, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf553d6b8627c39028bd1e05a4f55e2a4b3042a1d"), # noqa: E501 + address=Address(0x999E3C988E5FDF24ADF774E3502F0095E6530B72), # noqa: E501 ) + # Source: lll + # { (MSTORE 1 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x2A142C79A9B097C111CE945214226126B75E332C), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_2.py index 2f69bcb1461..30d73188050 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_2Filler.json +state_tests/stStaticCall/static_callcodecallcallcode_101_2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,43 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecallcallcode_101_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000709eb538153d5f98f0b8482c462070c26db1cbae", - { - Address("0x3f13b55c156d810bc161e971891180011e088e6f"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000003cea889fd03a922cc673d25e5db4e72743aa4878", - { - Address("0x3f13b55c156d810bc161e971891180011e088e6f"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcallcode_101_2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,96 +69,100 @@ def test_static_callcodecallcallcode_101_2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x493E0, - address=Op.CALLDATALOAD(offset=0x0), + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 350000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x1B78AFBE56D4678CFA8DC79DF079BAD5585B8D3A, + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1b78afbe56d4678cfa8dc79df079bad5585b8d3a"), # noqa: E501 + address=Address(0x3F13B55C156D810BC161E971891180011E088E6F), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + # Source: lll + # { (STATICCALL 300000 (CALLDATALOAD 0) 0 64 0 64 ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x493E0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2a142c79a9b097c111ce945214226126b75e332c"), # noqa: E501 + address=Address(0x1B78AFBE56D4678CFA8DC79DF079BAD5585B8D3A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 250000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3cea889fd03a922cc673d25e5db4e72743aa4878"), # noqa: E501 + address=Address(0x709EB538153D5F98F0B8482C462070C26DB1CBAE), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 350000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x1B78AFBE56D4678CFA8DC79DF079BAD5585B8D3A, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 250000 1 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3f13b55c156d810bc161e971891180011e088e6f"), # noqa: E501 + address=Address(0x3CEA889FD03A922CC673D25E5DB4E72743AA4878), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 1 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, nonce=0, - address=Address("0x709eb538153d5f98f0b8482c462070c26db1cbae"), # noqa: E501 + address=Address(0x2A142C79A9B097C111CE945214226126B75E332C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [3000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=3000000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_ooge.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_ooge.py index b74d7c3b7db..9634a7bc2ac 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_ooge.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_ooge.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_ooge. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_OOGEFiller.json +state_tests/stStaticCall/static_callcodecallcallcode_101_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_OOGEFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcallcode_101_ooge( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_ooge.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,84 +49,80 @@ def test_static_callcodecallcallcode_101_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0xAF91DF7B32C8778F1428F893F7356F90CFC2CBB7, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x4eef7e2b5ae9be0fc5b43dc4fe39195a1ae10fc4"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x1D4D4, - address=0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0xAF91DF7B32C8778F1428F893F7356F90CFC2CBB7, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9126e4f25cc411a2d9d393afedb321eef8a5ac94"), # noqa: E501 + address=Address(0x4EEF7E2B5AE9BE0FC5B43DC4FE39195A1AE10FC4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x30D40, - address=0x9126E4F25CC411A2D9D393AFEDB321EEF8A5AC94, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 200000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x30D40, + address=0x9126E4F25CC411A2D9D393AFEDB321EEF8A5AC94, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xaf91df7b32c8778f1428f893f7356f90cfc2cbb7"), # noqa: E501 + address=Address(0xAF91DF7B32C8778F1428F893F7356F90CFC2CBB7), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 120020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x1D4D4, + address=0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xfbef21c5a6c2adcf3d769f085e0cc9fe9a8df954"), # noqa: E501 + address=Address(0x9126E4F25CC411A2D9D393AFEDB321EEF8A5AC94), # noqa: E501 ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, + nonce=0, + address=Address(0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1720000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_ooge_2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_ooge_2.py index 041b127f718..237eb4aae76 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_ooge_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_ooge_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_ooge_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_OOGE_2Filler.json +state_tests/stStaticCall/static_callcodecallcallcode_101_OOGE_2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_OOGE_2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_OOGE_2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcallcode_101_ooge_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_ooge_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,86 +49,82 @@ def test_static_callcodecallcallcode_101_ooge_2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x186A0, - address=0x25D69E6A677BD6D872F436BAD807C3244A268673, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x13DDAC4297B5C0FB95BBC6D982184549393A980D, + value=0x0, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x13ddac4297b5c0fb95bbc6d982184549393a980d"), # noqa: E501 + address=Address(0x66227CF0A560E1F6F9E94345DD1B5C6758923BA6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x4E34, - address=0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x186A0, + address=0x25D69E6A677BD6D872F436BAD807C3244A268673, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x25d69e6a677bd6d872f436bad807c3244a268673"), # noqa: E501 + address=Address(0x13DDAC4297B5C0FB95BBC6D982184549393A980D), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 0 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x13DDAC4297B5C0FB95BBC6D982184549393A980D, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (CALLCODE 20020 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x4E34, + address=0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x66227cf0a560e1f6f9e94345dd1b5c6758923ba6"), # noqa: E501 + address=Address(0x25D69E6A677BD6D872F436BAD807C3244A268673), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xfbef21c5a6c2adcf3d769f085e0cc9fe9a8df954"), # noqa: E501 + address=Address(0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=172000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after.py index f692fa51dfc..8d4da18661a 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_oogm_after. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_OOGMAfterFiller.json +state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcallcode_101_oogm_after( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_oogm_after.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,89 +49,87 @@ def test_static_callcodecallcallcode_101_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 60150 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xEAF6, + address=0x2865FD3572B0B77173E5ED91E968ACAD55701151, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x02c0bffb833f0bd1bdcb227a4fe215cf640316bb"), # noqa: E501 + address=Address(0xE79AEE563C83547F229D955ECDCCA0F01FED9AA9), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x9C90, - address=0x2C0BFFB833F0BD1BDCB227A4FE215CF640316BB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x43, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 40080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x9C90, + address=0x2C0BFFB833F0BD1BDCB227A4FE215CF640316BB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x27) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x43, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x27) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x2865fd3572b0b77173e5ed91e968acad55701151"), # noqa: E501 + address=Address(0x2865FD3572B0B77173E5ED91E968ACAD55701151), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (DELEGATECALL 20020 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x02C0BFFB833F0BD1BDCB227A4FE215CF640316BB), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 60150 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xEAF6, - address=0x2865FD3572B0B77173E5ED91E968ACAD55701151, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xe79aee563c83547f229d955ecdcca0f01fed9aa9"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=172000, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after2.py index 70b2062efe6..6a290e5d3fa 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_oogm_after2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_OOGMAfter2Filler.json +state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,43 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, + 0, 0, - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={1: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcallcode_101_oogm_after2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_oogm_after2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000001) + contract_2 = Address(0x1000000000000000000000000000000000000002) + contract_3 = Address(0x1000000000000000000000000000000000000003) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -73,93 +75,93 @@ def test_static_callcodecallcallcode_101_oogm_after2( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xEAF6, - address=0x1000000000000000000000000000000000000001, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xEAF6, + address=0x1000000000000000000000000000000000000001, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x9C90, - address=0x1000000000000000000000000000000000000002, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x43, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x27) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 - ) - # Source: LLL - # { (MSTORE 3 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.CALLCODE( - gas=0x4E34, - address=0x1000000000000000000000000000000000000003, - value=0x0, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x9C90, + address=0x1000000000000000000000000000000000000002, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x43, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x27) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000002"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll + # { (MSTORE 3 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) } # noqa: E501 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.CALLCODE( + gas=0x4E34, + address=0x1000000000000000000000000000000000000003, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + nonce=0, + address=Address(0x1000000000000000000000000000000000000002), # noqa: E501 + ) + # Source: lll # { (MSTORE 3 1) } - pre.deploy_contract( + contract_3 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000003"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000003), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + tx_data = [ + Bytes(""), + ] + tx_gas = [172000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=172000, - value=tx_value, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {contract_0: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after_1.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after_1.py index eac9a09685a..874506f1f4e 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after_1.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after_1.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_oogm_after_1. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_OOGMAfter_1Filler.json +state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000b9abd0ef44ae2df9f408d150c5b6fb6a181be9cf", - { - Address("0xaab59f13d96113334fab5c68e4e62b61f6cbf647"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000006486b0cd8779006e5cd706484b0d890b9a220805", - { - Address("0xaab59f13d96113334fab5c68e4e62b61f6cbf647"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcallcode_101_oogm_after_1( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_oogm_after_1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,172 +71,177 @@ def test_static_callcodecallcallcode_101_oogm_after_1( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x61AD0, - address=0x677DB155FAB75972F19732AFB328A0EA6472A6AB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0x18dc408f6983f318529a93583ee12f590c537820"), # noqa: E501 - ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0xAAB59F13D96113334FAB5C68E4E62B61F6CBF647), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xAAEF6, - address=0x18DC408F6983F318529A93583EE12F590C537820, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (CALLCODE 700150 0 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0xAAEF6, + address=0xF4645C150A8060778AD94DFFE302081FC222DEDB, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6486b0cd8779006e5cd706484b0d890b9a220805"), # noqa: E501 + address=Address(0xB9ABD0EF44AE2DF9F408D150C5B6FB6A181BE9CF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x1D4D4, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (STATICCALL 400080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x61AD0, + address=0x858DB7418C9E1C32811E5BC39366BDF6E2ED2492, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3F, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x23) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x677db155fab75972f19732afb328a0ea6472a6ab"), # noqa: E501 + address=Address(0xF4645C150A8060778AD94DFFE302081FC222DEDB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x1D4D4, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (CALLCODE 120020 0 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x1D4D4, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x858db7418c9e1c32811e5bc39366bdf6e2ed2492"), # noqa: E501 + address=Address(0x858DB7418C9E1C32811E5BC39366BDF6E2ED2492), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 + ) + # Source: lll + # { (CALLCODE 700150 0 0 64 0 64 ) (MSTORE 3 1)} # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0xAAEF6, + address=0x18DC408F6983F318529A93583EE12F590C537820, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xaab59f13d96113334fab5c68e4e62b61f6cbf647"), # noqa: E501 + address=Address(0x6486B0CD8779006E5CD706484B0D890B9A220805), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (STATICCALL 400080 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x61AD0, + address=0x677DB155FAB75972F19732AFB328A0EA6472A6AB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x18DC408F6983F318529A93583EE12F590C537820), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xAAEF6, - address=0xF4645C150A8060778AD94DFFE302081FC222DEDB, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (CALLCODE 120020 0 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x1D4D4, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb9abd0ef44ae2df9f408d150c5b6fb6a181be9cf"), # noqa: E501 + address=Address(0x677DB155FAB75972F19732AFB328A0EA6472A6AB), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x61AD0, - address=0x858DB7418C9E1C32811E5BC39366BDF6E2ED2492, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3F, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x23) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (SSTORE 3 1) } + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xf4645c150a8060778ad94dffe302081fc222dedb"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [1720000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1720000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after_3.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after_3.py index bbf07e0b882..05d104dd747 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after_3.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_after_3.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_oogm_after_3. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_OOGMAfter_3Filler.json +state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3Filler.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +28,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "00000000000000000000000077d2ecb3f4d887934c7c8f304831ea89e08cb30d", - { - Address("0xaab59f13d96113334fab5c68e4e62b61f6cbf647"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000e2fa228586f5c62a6728d17728f4622d05d84e45", - { - Address("0xaab59f13d96113334fab5c68e4e62b61f6cbf647"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcallcode_101_oogm_after_3( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_oogm_after_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,167 +74,186 @@ def test_static_callcodecallcallcode_101_oogm_after_3( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x9C90, - address=0x65BE40505E6165809F16BFC5CDBA14169BC97614, + # Source: lll + # { [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] 1 } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, args_offset=0x0, - args_size=0x40, + args_size=0x0, ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2aba60e14f876dac315953942316a9a2f80c3ad5"), # noqa: E501 + address=Address(0xAAB59F13D96113334FAB5C68E4E62B61F6CBF647), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (DELEGATECALL 60150 0 64 0 64 ) [[ 1 ]] (GAS) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xEAF6, + address=0xB867C4BF480D6DCD06716BCDB0F9BCF3BB5710BF, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x77D2ECB3F4D887934C7C8F304831EA89E08CB30D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x4E34, - address=0xB126C622075B1189FB6C45E851641CFADDF65B36, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (STATICCALL 40080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x9C90, + address=0x96BBA71C203B7339624A350FE004F71C3D669AEE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3E, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x22) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x65be40505e6165809f16bfc5cdba14169bc97614"), # noqa: E501 + address=Address(0xB867C4BF480D6DCD06716BCDB0F9BCF3BB5710BF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xEAF6, - address=0xB867C4BF480D6DCD06716BCDB0F9BCF3BB5710BF, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (DELEGATECALL 20020 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x77d2ecb3f4d887934c7c8f304831ea89e08cb30d"), # noqa: E501 + address=Address(0x96BBA71C203B7339624A350FE004F71C3D669AEE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0x96bba71c203b7339624a350fe004f71c3d669aee"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] 1 } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (DELEGATECALL 60150 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xEAF6, + address=0x2ABA60E14F876DAC315953942316A9A2F80C3AD5, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xaab59f13d96113334fab5c68e4e62b61f6cbf647"), # noqa: E501 + address=Address(0xE2FA228586F5C62A6728D17728F4622D05D84E45), # noqa: E501 ) - pre.deploy_contract( - code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (STATICCALL 40080 0 64 0 64 ) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x9C90, + address=0x65BE40505E6165809F16BFC5CDBA14169BC97614, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xb126c622075b1189fb6c45e851641cfaddf65b36"), # noqa: E501 + address=Address(0x2ABA60E14F876DAC315953942316A9A2F80C3AD5), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x9C90, - address=0x96BBA71C203B7339624A350FE004F71C3D669AEE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3E, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), + # Source: lll + # { (DELEGATECALL 20020 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x4E34, + address=0xB126C622075B1189FB6C45E851641CFADDF65B36, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x22) - + Op.JUMPDEST - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb867c4bf480d6dcd06716bcdb0f9bcf3bb5710bf"), # noqa: E501 + address=Address(0x65BE40505E6165809F16BFC5CDBA14169BC97614), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xEAF6, - address=0x2ABA60E14F876DAC315953942316A9A2F80C3AD5, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SSTORE 3 1) } + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xe2fa228586f5c62a6728d17728f4622d05d84e45"), # noqa: E501 + address=Address(0xB126C622075B1189FB6C45E851641CFADDF65B36), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1, 1: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_before.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_before.py index 9e2fa2cff79..c0d22633ed3 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_before.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_before.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_oogm_before. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_OOGMBeforeFiller.json +state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcallcode_101_oogm_before( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_oogm_before.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,86 +49,84 @@ def test_static_callcodecallcallcode_101_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0xEE49CA410D3886CC84D3177A1E14451F0669852F, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0xEE49CA410D3886CC84D3177A1E14451F0669852F, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x31d06fad70e2a598413824a9bc68d80a5d2b194e"), # noqa: E501 + address=Address(0x31D06FAD70E2A598413824A9BC68D80A5D2B194E), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.DELEGATECALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 40080 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x9C90, + address=0x76C6DC23A4F29A65309C67CE40F50A05ED3409DA, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x76c6dc23a4f29a65309c67ce40f50a05ed3409da"), # noqa: E501 + address=Address(0xEE49CA410D3886CC84D3177A1E14451F0669852F), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x9C90, - address=0x76C6DC23A4F29A65309C67CE40F50A05ED3409DA, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (DELEGATECALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.DELEGATECALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xee49ca410d3886cc84d3177a1e14451f0669852f"), # noqa: E501 + address=Address(0x76C6DC23A4F29A65309C67CE40F50A05ED3409DA), # noqa: E501 ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=172000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_before2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_before2.py index 0c41adda93c..fc000496a57 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_before2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_oogm_before2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_oogm_before2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_OOGMBefore2Filler.json +state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, 0, - { - Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"): Account( - storage={0: 1, 1: 1} - ) - }, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcallcode_101_oogm_before2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_oogm_before2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,87 +71,93 @@ def test_static_callcodecallcallcode_101_oogm_before2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0xEE49CA410D3886CC84D3177A1E14451F0669852F, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0xCC7B2C7C17E1DD7940B1AA2F4B3E55D7BD662608), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.CALLCODE( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - value=0x0, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 40080 0 64 0 64 ) (MSTORE 3 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x9C90, + address=0xAC5AD3041E8D622A1F089496E5EE81C4F6F80471, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x3, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xac5ad3041e8d622a1f089496e5ee81c4f6f80471"), # noqa: E501 + address=Address(0xEE49CA410D3886CC84D3177A1E14451F0669852F), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0xEE49CA410D3886CC84D3177A1E14451F0669852F, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (CALLCODE 20020 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.CALLCODE( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"), # noqa: E501 + address=Address(0xAC5AD3041E8D622A1F089496E5EE81C4F6F80471), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x9C90, - address=0xAC5AD3041E8D622A1F089496E5EE81C4F6F80471, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x3, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xee49ca410d3886cc84d3177a1e14451f0669852f"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + tx_data = [ + Bytes(""), + ] + tx_gas = [172000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - gas_limit=172000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_end.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_end.py index a133b9efab6..abd75d74a5f 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_end.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_suicide_end. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_SuicideEndFiller.json +state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideEndFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcallcode_101_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,85 +49,82 @@ def test_static_callcodecallcallcode_101_suicide_end( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x31d06fad70e2a598413824a9bc68d80a5d2b194e"), # noqa: E501 + address=Address(0x31D06FAD70E2A598413824A9BC68D80A5D2B194E), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x4A31DD3A8C3C9A793AC0B3C234A4DBAC2F201404, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x620B381D01CBD812FFB798AB35A1A316BDE90CE6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6 + # Source: lll + # { (DELEGATECALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x4a31dd3a8c3c9a793ac0b3c234a4dbac2f201404"), # noqa: E501 + address=Address(0x4A31DD3A8C3C9A793AC0B3C234A4DBAC2F201404), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x4A31DD3A8C3C9A793AC0B3C234A4DBAC2F201404, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x620b381d01cbd812ffb798ab35a1a316bde90ce6"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_end2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_end2.py index 17292cec28b..8ace7a8f459 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_end2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_end2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_suicide_end2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_SuicideEnd2Filler.json +state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, + 0, 0, - { - Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcallcode_101_suicide_end2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_suicide_end2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,86 +71,91 @@ def test_static_callcodecallcallcode_101_suicide_end2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0xCC7B2C7C17E1DD7940B1AA2F4B3E55D7BD662608), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x90E9B92C59A0E93D8AB0B7AFBC945D6999A50A9B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 3 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x90E9B92C59A0E93D8AB0B7AFBC945D6999A50A9B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x620b381d01cbd812ffb798ab35a1a316bde90ce6"), # noqa: E501 + address=Address(0x620B381D01CBD812FFB798AB35A1A316BDE90CE6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6 + # Source: lll + # { (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x90e9b92c59a0e93d8ab0b7afbc945d6999a50a9b"), # noqa: E501 + address=Address(0x90E9B92C59A0E93D8AB0B7AFBC945D6999A50A9B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + tx_data = [ + Bytes(""), + ] + tx_gas = [3000000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=3000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_middle.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_middle.py index 345f4f37f2b..b659a53f210 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_middle.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_suicide_middle. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_SuicideMiddleFiller.json +state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,22 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcallcode_101_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x1000000000000000000000000000000000000000) + contract_1 = Address(0x1000000000000000000000000000000000000001) + contract_2 = Address(0x1000000000000000000000000000000000000002) + contract_3 = Address(0x1000000000000000000000000000000000000003) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,87 +53,82 @@ def test_static_callcodecallcallcode_101_suicide_middle( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x1000000000000000000000000000000000000001, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x1000000000000000000000000000000000000001, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x1000000000000000000000000000000000000002, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 - ) - # Source: LLL - # { (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) } # noqa: E501 - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x1000000000000000000000000000000000000000) - + Op.DELEGATECALL( - gas=0xC350, - address=0x1000000000000000000000000000000000000003, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x1000000000000000000000000000000000000002, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 + ) + # Source: lll + # { (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) } # noqa: E501 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x1000000000000000000000000000000000000000 + ) + + Op.DELEGATECALL( + gas=0xC350, + address=0x1000000000000000000000000000000000000003, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1000000000000000000000000000000000000002"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000002), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 3 1) } - pre.deploy_contract( + contract_3 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x1000000000000000000000000000000000000003"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000003), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {contract_0: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_middle2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_middle2.py index f1db6dea707..6795cba2172 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_middle2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_101_suicide_middle2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_101_suicide_middle2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_101_SuicideMiddle2Filler.json +state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, 0, - { - Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"): Account( - storage={0: 1, 1: 1} - ) - }, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcallcode_101_suicide_middle2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_101_suicide_middle2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,82 +71,91 @@ def test_static_callcodecallcallcode_101_suicide_middle2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xCC7B2C7C17E1DD7940B1AA2F4B3E55D7BD662608) - + Op.CALLCODE( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - value=0x0, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3a5852e2f86bae6627a307298c4bf906ada12419"), # noqa: E501 + address=Address(0xCC7B2C7C17E1DD7940B1AA2F4B3E55D7BD662608), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (MSTORE 3 1) (STATICCALL 100000 0 64 0 64 ) (MSTORE 32 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0x3A5852E2F86BAE6627A307298C4BF906ADA12419, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.MSTORE(offset=0x20, value=0x1) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x620B381D01CBD812FFB798AB35A1A316BDE90CE6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x3, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0x3A5852E2F86BAE6627A307298C4BF906ADA12419, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x20, value=0x1) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) (CALLCODE 50000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xCC7B2C7C17E1DD7940B1AA2F4B3E55D7BD662608 + ) + + Op.CALLCODE( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x620b381d01cbd812ffb798ab35a1a316bde90ce6"), # noqa: E501 + address=Address(0x3A5852E2F86BAE6627A307298C4BF906ADA12419), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x620B381D01CBD812FFB798AB35A1A316BDE90CE6, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + tx_data = [ + Bytes(""), + ] + tx_gas = [3000000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=3000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_abcb_recursive.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_abcb_recursive.py index 8f97c28e26e..15eea22f49e 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_abcb_recursive.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_abcb_recursive.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_abcb_recursive. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_ABCB_RECURSIVEFiller.json +state_tests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcallcode_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_abcb_recursive.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,70 +49,67 @@ def test_static_callcodecallcallcode_abcb_recursive( gas_limit=3000000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0xF4240, - address=0xAB5C6018CF3368381E283C1DE7F906C456188BC3, + # Source: lll + # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x17D7840, + address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2733821fa13c4ead1c9631c76820333f42059b7c"), # noqa: E501 + address=Address(0x56325D37CDCE6B5858E63B1F0A691DB81D65E6DD), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x17D7840, - address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (STATICCALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0xF4240, + address=0xAB5C6018CF3368381E283C1DE7F906C456188BC3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x56325d37cdce6b5858e63b1f0a691db81d65e6dd"), # noqa: E501 + address=Address(0x2733821FA13C4EAD1C9631C76820333F42059B7C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x7A120, - address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x7A120, + address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xab5c6018cf3368381e283c1de7f906c456188bc3"), # noqa: E501 + address=Address(0xAB5C6018CF3368381E283C1DE7F906C456188BC3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_abcb_recursive2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_abcb_recursive2.py index a30e10bcb76..02670ea82c5 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_abcb_recursive2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcallcode_abcb_recursive2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcallcode_abcb_recursive2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json +state_tests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,63 +25,51 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, tx_value, expected_post", + "d, g, v", [ - ( - "0000000000000000000000002733821fa13c4ead1c9631c76820333f42059b7c", + pytest.param( + 0, + 0, 0, - { - Address("0xba3c5101ad0b43de0f1853243eb3f9811eaee1e0"): Account( - storage={0: 1, 1: 1} - ) - }, + id="d0-v0", ), - ( - "0000000000000000000000002733821fa13c4ead1c9631c76820333f42059b7c", + pytest.param( + 0, + 0, 1, - { - Address("0xba3c5101ad0b43de0f1853243eb3f9811eaee1e0"): Account( - storage={0: 1, 1: 1} - ) - }, + id="d0-v1", ), - ( - "0000000000000000000000006acc177800643d95ab1daee1bd55cf99e3814e07", + pytest.param( + 1, + 0, 0, - { - Address("0xba3c5101ad0b43de0f1853243eb3f9811eaee1e0"): Account( - storage={0: 1, 1: 1} - ) - }, + id="d1-v0", ), - ( - "0000000000000000000000006acc177800643d95ab1daee1bd55cf99e3814e07", + pytest.param( + 1, + 0, 1, - { - Address("0xba3c5101ad0b43de0f1853243eb3f9811eaee1e0"): Account( - storage={0: 1, 1: 1} - ) - }, + id="d1-v1", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcallcode_abcb_recursive2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcallcode_abcb_recursive2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -94,107 +83,110 @@ def test_static_callcodecallcallcode_abcb_recursive2( gas_limit=3000000000, ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x7A120, - address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, - value=0x0, + # Source: lll + # { [[ 0 ]] (CALLCODE 25000000 (CALLDATALOAD 0) (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x17D7840, + address=Op.CALLDATALOAD(offset=0x0), + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1a3c543695d7ca3a7d5522e9c7aabe5512571706"), # noqa: E501 + address=Address(0xBA3C5101AD0B43DE0F1853243EB3F9811EAEE1E0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0xF4240, - address=0x1A3C543695D7CA3A7D5522E9C7AABE5512571706, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0xF4240, + address=0x1A3C543695D7CA3A7D5522E9C7AABE5512571706, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2733821fa13c4ead1c9631c76820333f42059b7c"), # noqa: E501 + address=Address(0x2733821FA13C4EAD1C9631C76820333F42059B7C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0xF4240, - address=0xB81EB378451B4361DF035AEA57913023DFFBF39A, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 500000 0 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x7A120, + address=0x2733821FA13C4EAD1C9631C76820333F42059B7C, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x6acc177800643d95ab1daee1bd55cf99e3814e07"), # noqa: E501 + address=Address(0x1A3C543695D7CA3A7D5522E9C7AABE5512571706), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x7A120, - address=0x6ACC177800643D95AB1DAEE1BD55CF99E3814E07, - value=0x1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 1000000 0 64 0 64 ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0xF4240, + address=0xB81EB378451B4361DF035AEA57913023DFFBF39A, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xb81eb378451b4361df035aea57913023dffbf39a"), # noqa: E501 + address=Address(0x6ACC177800643D95AB1DAEE1BD55CF99E3814E07), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 25000000 (CALLDATALOAD 0) (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x17D7840, - address=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (CALLCODE 500000 1 0 64 0 64 ) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x7A120, + address=0x6ACC177800643D95AB1DAEE1BD55CF99E3814E07, + value=0x1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0xba3c5101ad0b43de0f1853243eb3f9811eaee1e0"), # noqa: E501 + address=Address(0xB81EB378451B4361DF035AEA57913023DFFBF39A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [600000] + tx_value = [0, 1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=600000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110.py index 2a920999bf8..fb4d9a18a63 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110Filler.json +state_tests/stStaticCall/static_callcodecallcodecall_110Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecallcodecall_110Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcodecall_110( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,83 +47,82 @@ def test_static_callcodecallcodecall_110( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + # Source: lll + # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x55730, + address=0x2BF6D23C6CDD3A7712AD150DFA2680ADABDA8B82, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2a142c79a9b097c111ce945214226126b75e332c"), # noqa: E501 + address=Address(0x4EEF7E2B5AE9BE0FC5B43DC4FE39195A1AE10FC4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.DELEGATECALL( - gas=0x493E0, - address=0xB10C519306D4D2ACCE66BE84C0EA086D816BA77C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (DELEGATECALL 300000 0 64 0 64 ) (MSTORE 1 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=0xB10C519306D4D2ACCE66BE84C0EA086D816BA77C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2bf6d23c6cdd3a7712ad150dfa2680adabda8b82"), # noqa: E501 + address=Address(0x2BF6D23C6CDD3A7712AD150DFA2680ADABDA8B82), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 350000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x55730, - address=0x2BF6D23C6CDD3A7712AD150DFA2680ADABDA8B82, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (STATICCALL 250000 0 64 0 64 ) (MSTORE 1 1)} # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4eef7e2b5ae9be0fc5b43dc4fe39195a1ae10fc4"), # noqa: E501 + address=Address(0xB10C519306D4D2ACCE66BE84C0EA086D816BA77C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 1 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb10c519306d4d2acce66be84c0ea086d816ba77c"), # noqa: E501 + address=Address(0x2A142C79A9B097C111CE945214226126B75E332C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_1102.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_1102.py index 3172217c6b2..d5fe4512c38 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_1102.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_1102.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_1102. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_1102Filler.json +state_tests/stStaticCall/static_callcodecallcodecall_1102Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,51 +24,44 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_1102Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecallcodecall_1102Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, 0, - { - Address("0x4be1b24080b17ed1f5f4c0ff9cd820d764a32620"): Account( - storage={0: 1, 1: 1} - ) - }, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x4be1b24080b17ed1f5f4c0ff9cd820d764a32620"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v1", ), - ( + pytest.param( + 0, + 0, 2, - { - Address("0x4be1b24080b17ed1f5f4c0ff9cd820d764a32620"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcodecall_1102( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_1102.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -81,76 +75,83 @@ def test_static_callcodecallcodecall_1102( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x2a142c79a9b097c111ce945214226126b75e332c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 350000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x91645BC90F22C32A683BB049DCE8BCC61C541D82, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x4be1b24080b17ed1f5f4c0ff9cd820d764a32620"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x493E0, - address=0xEF859513AE36C397C43170A2980741575916167B, - value=Op.SUB(Op.CALLVALUE, 0x1), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x91645BC90F22C32A683BB049DCE8BCC61C541D82, + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x91645bc90f22c32a683bb049dce8bcc61c541d82"), # noqa: E501 + address=Address(0x4BE1B24080B17ED1F5F4C0FF9CD820D764A32620), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 300000 (- (CALLVALUE) 1) 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x493E0, + address=0xEF859513AE36C397C43170A2980741575916167B, + value=Op.SUB(Op.CALLVALUE, 0x1), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xef859513ae36c397c43170a2980741575916167b"), # noqa: E501 + address=Address(0x91645BC90F22C32A683BB049DCE8BCC61C541D82), # noqa: E501 ) + # Source: lll + # { (STATICCALL 250000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0xEF859513AE36C397C43170A2980741575916167B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x2A142C79A9B097C111CE945214226126B75E332C), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + tx_data = [ + Bytes(""), + ] + tx_gas = [3000000] + tx_value = [0, 1, 2] tx = Transaction( sender=sender, - to=contract, - gas_limit=3000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_2.py index 719c7752be2..a8ca706bfe7 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_2Filler.json +state_tests/stStaticCall/static_callcodecallcodecall_110_2Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,51 +24,44 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_callcodecallcodecall_110_2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( 0, - { - Address("0x4be1b24080b17ed1f5f4c0ff9cd820d764a32620"): Account( - storage={0: 1, 1: 1} - ) - }, + 0, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x4be1b24080b17ed1f5f4c0ff9cd820d764a32620"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v1", ), - ( + pytest.param( + 0, + 0, 2, - { - Address("0x4be1b24080b17ed1f5f4c0ff9cd820d764a32620"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcodecall_110_2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -81,84 +75,91 @@ def test_static_callcodecallcodecall_110_2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x2a142c79a9b097c111ce945214226126b75e332c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 350000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x55730, - address=0x611CB29449C75E44440DB4985DBB84732BC18342, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x55730, + address=0x611CB29449C75E44440DB4985DBB84732BC18342, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4be1b24080b17ed1f5f4c0ff9cd820d764a32620"), # noqa: E501 + address=Address(0x4BE1B24080B17ED1F5F4C0FF9CD820D764A32620), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.CALLCODE( - gas=0x493E0, - address=0xB1927ADAFCD3B2ECEF7B7508CB3A8D7B41FCAE73, - value=Op.SUB(Op.CALLVALUE, 0x1), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (CALLCODE 300000 ( - (CALLVALUE) 1) 0 64 0 64 ) (MSTORE 31 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=0xB1927ADAFCD3B2ECEF7B7508CB3A8D7B41FCAE73, + value=Op.SUB(Op.CALLVALUE, 0x1), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x1F, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x1F, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x611cb29449c75e44440db4985dbb84732bc18342"), # noqa: E501 + address=Address(0x611CB29449C75E44440DB4985DBB84732BC18342), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.POP( - Op.STATICCALL( - gas=0x3D090, - address=0x2A142C79A9B097C111CE945214226126B75E332C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), + # Source: lll + # { (MSTORE 1 1) (STATICCALL 250000 0 64 0 64 ) (MSTORE 31 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.POP( + Op.STATICCALL( + gas=0x3D090, + address=0x2A142C79A9B097C111CE945214226126B75E332C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.MSTORE(offset=0x1F, value=0x1) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x1F, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xb1927adafcd3b2ecef7b7508cb3a8d7b41fcae73"), # noqa: E501 + address=Address(0xB1927ADAFCD3B2ECEF7B7508CB3A8D7B41FCAE73), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x2A142C79A9B097C111CE945214226126B75E332C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + tx_data = [ + Bytes(""), + ] + tx_gas = [3000000] + tx_value = [0, 1, 2] + tx = Transaction( sender=sender, - to=contract, - gas_limit=3000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_ooge.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_ooge.py index 6a9ac9e7cef..98c955a94f2 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_ooge.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_ooge.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_ooge. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_OOGEFiller.json +state_tests/stStaticCall/static_callcodecallcodecall_110_OOGEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_OOGEFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_OOGEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcodecall_110_ooge( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_ooge.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,84 +49,80 @@ def test_static_callcodecallcodecall_110_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x7125DDB5E66B6BAB62B228F9D01C2F3AAA1BEF28, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x31d06fad70e2a598413824a9bc68d80a5d2b194e"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x186A0, - address=0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x7125DDB5E66B6BAB62B228F9D01C2F3AAA1BEF28, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7125ddb5e66b6bab62b228f9d01c2f3aaa1bef28"), # noqa: E501 + address=Address(0x31D06FAD70E2A598413824A9BC68D80A5D2B194E), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x4E34, - address=0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x186A0, + address=0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xeedcbac77fbd73bf2d0d7fedd710d089b466138d"), # noqa: E501 + address=Address(0x7125DDB5E66B6BAB62B228F9D01C2F3AAA1BEF28), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x4E34, + address=0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xfbef21c5a6c2adcf3d769f085e0cc9fe9a8df954"), # noqa: E501 + address=Address(0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D), # noqa: E501 ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, + nonce=0, + address=Address(0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=172000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_ooge2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_ooge2.py index e0658ee317e..8c0b2e3f125 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_ooge2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_ooge2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_ooge2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_OOGE2Filler.json +state_tests/stStaticCall/static_callcodecallcodecall_110_OOGE2Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,50 +25,45 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_OOGE2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_OOGE2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, + 0, 0, - { - Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v1", ), - ( + pytest.param( + 0, + 0, 2, - { - Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcodecall_110_ooge2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_ooge2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -81,85 +77,89 @@ def test_static_callcodecallcodecall_110_ooge2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x186A0, - address=0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D, - value=Op.SUB(Op.CALLVALUE, 0x1), + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x90390F435B22C948FBEA0C86C37ECBFEC700CF9D, + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x90390f435b22c948fbea0c86c37ecbfec700cf9d"), # noqa: E501 + address=Address(0xCC7B2C7C17E1DD7940B1AA2F4B3E55D7BD662608), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x90390F435B22C948FBEA0C86C37ECBFEC700CF9D, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (CALLCODE 100000 (- (CALLVALUE) 1) 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x186A0, + address=0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D, + value=Op.SUB(Op.CALLVALUE, 0x1), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xcc7b2c7c17e1dd7940b1aa2f4b3e55d7bd662608"), # noqa: E501 + address=Address(0x90390F435B22C948FBEA0C86C37ECBFEC700CF9D), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x4E34, - address=0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x4E34, + address=0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xeedcbac77fbd73bf2d0d7fedd710d089b466138d"), # noqa: E501 + address=Address(0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xfbef21c5a6c2adcf3d769f085e0cc9fe9a8df954"), # noqa: E501 + address=Address(0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + tx_data = [ + Bytes(""), + ] + tx_gas = [172000] + tx_value = [0, 1, 2] tx = Transaction( sender=sender, - to=contract, - gas_limit=172000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after.py index dc1e621725f..4e0bc6ef511 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_oogm_after. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_OOGMAfterFiller.json +state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfterFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfterFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcodecall_110_oogm_after( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_oogm_after.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,84 +49,82 @@ def test_static_callcodecallcodecall_110_oogm_after( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + # Source: lll + # { [[ 0 ]] (DELEGATECALL 60150 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xEAF6, + address=0x669F2CA35C01EE9379D6003704074AC1EEAA914D, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1bdd0b2b81cb603f436225d2b20054c3d0593de3"), # noqa: E501 + address=Address(0xE79AEE563C83547F229D955ECDCCA0F01FED9AA9), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (DELEGATECALL 40080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x9C90, + address=0x1BDD0B2B81CB603F436225D2B20054C3D0593DE3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3E, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x22) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x669F2CA35C01EE9379D6003704074AC1EEAA914D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x9C90, - address=0x1BDD0B2B81CB603F436225D2B20054C3D0593DE3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3E, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x22) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x669f2ca35c01ee9379d6003704074ac1eeaa914d"), # noqa: E501 + address=Address(0x1BDD0B2B81CB603F436225D2B20054C3D0593DE3), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 60150 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xEAF6, - address=0x669F2CA35C01EE9379D6003704074AC1EEAA914D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xe79aee563c83547f229d955ecdcca0f01fed9aa9"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=172000, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after2.py index 5123489cffd..d752a818b29 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_oogm_after2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_OOGMAfter2Filler.json +state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,50 +25,45 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, 0, - { - Address("0x62b278a07428f1ff97ee7c884b711f6df3340707"): Account( - storage={1: 1} - ) - }, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x62b278a07428f1ff97ee7c884b711f6df3340707"): Account( - storage={1: 1} - ) - }, + id="-v1", ), - ( + pytest.param( + 0, + 0, 2, - { - Address("0x62b278a07428f1ff97ee7c884b711f6df3340707"): Account( - storage={1: 1} - ) - }, + id="-v2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcodecall_110_oogm_after2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_oogm_after2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -81,85 +77,91 @@ def test_static_callcodecallcodecall_110_oogm_after2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x9C90, - address=0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D, - value=Op.SUB(Op.CALLVALUE, 0x1), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x42, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x26) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0x5132347436f7bd136e83bf55270d821e276c2e51"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 60150 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xEAF6, - address=0x5132347436F7BD136E83BF55270D821E276C2E51, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xEAF6, + address=0x5132347436F7BD136E83BF55270D821E276C2E51, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x62b278a07428f1ff97ee7c884b711f6df3340707"), # noqa: E501 + address=Address(0x62B278A07428F1FF97EE7C884B711F6DF3340707), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + # Source: lll + # { (CALLCODE 40080 ( - (CALLVALUE) 1) 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x9C90, + address=0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D, + value=Op.SUB(Op.CALLVALUE, 0x1), args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x42, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x26) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xeedcbac77fbd73bf2d0d7fedd710d089b466138d"), # noqa: E501 + address=Address(0x5132347436F7BD136E83BF55270D821E276C2E51), # noqa: E501 ) + # Source: lll + # { (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + nonce=0, + address=Address(0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + tx_data = [ + Bytes(""), + ] + tx_gas = [172000] + tx_value = [0, 1, 2] tx = Transaction( sender=sender, - to=contract, - gas_limit=172000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after_2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after_2.py index 90ca664e1a7..453a65a45d6 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after_2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after_2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_oogm_after_2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_OOGMAfter_2Filler.json +state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcodecall_110_oogm_after_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_oogm_after_2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,84 +49,82 @@ def test_static_callcodecallcodecall_110_oogm_after_2( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + # Source: lll + # { [[ 0 ]] (DELEGATECALL 60150 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0xEAF6, + address=0x669F2CA35C01EE9379D6003704074AC1EEAA914D, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1bdd0b2b81cb603f436225d2b20054c3d0593de3"), # noqa: E501 + address=Address(0xE79AEE563C83547F229D955ECDCCA0F01FED9AA9), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (DELEGATECALL 40080 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0x9C90, + address=0x1BDD0B2B81CB603F436225D2B20054C3D0593DE3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x3E, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x22) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x669F2CA35C01EE9379D6003704074AC1EEAA914D), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.DELEGATECALL( - gas=0x9C90, - address=0x1BDD0B2B81CB603F436225D2B20054C3D0593DE3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x3E, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x22) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x669f2ca35c01ee9379d6003704074ac1eeaa914d"), # noqa: E501 + address=Address(0x1BDD0B2B81CB603F436225D2B20054C3D0593DE3), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 60150 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0xEAF6, - address=0x669F2CA35C01EE9379D6003704074AC1EEAA914D, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xe79aee563c83547f229d955ecdcca0f01fed9aa9"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=172000, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after_3.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after_3.py index d66e8c9228b..86c330ff9cd 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after_3.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_after_3.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_oogm_after_3. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_OOGMAfter_3Filler.json +state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcodecall_110_oogm_after_3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_oogm_after_3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,86 +49,84 @@ def test_static_callcodecallcodecall_110_oogm_after_3( gas_limit=10000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 60150 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xEAF6, - address=0xDF60CB36BCF8892D8A68903B2D2E455037149E48, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xEAF6, + address=0xDF60CB36BCF8892D8A68903B2D2E455037149E48, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x81450e6893351d2c0c43648338c0f2ae8d435bc1"), # noqa: E501 + address=Address(0x81450E6893351D2C0C43648338C0F2AE8D435BC1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0x9C90, - address=0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D, - value=Op.SUB(Op.CALLVALUE, 0x1), - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x42, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x26) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0xdf60cb36bcf8892d8a68903b2d2e455037149e48"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + # Source: lll + # { (CALLCODE 40080 (- (CALLVALUE) 1) 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0x9C90, + address=0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D, + value=Op.SUB(Op.CALLVALUE, 0x1), args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x42, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x26) + + Op.JUMPDEST + + Op.STOP, + nonce=0, + address=Address(0xDF60CB36BCF8892D8A68903B2D2E455037149E48), # noqa: E501 + ) + # Source: lll + # { (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xeedcbac77fbd73bf2d0d7fedd710d089b466138d"), # noqa: E501 + address=Address(0xEEDCBAC77FBD73BF2D0D7FEDD710D089B466138D), # noqa: E501 ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=172000, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_before.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_before.py index b7ee6539bac..d56a43447ba 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_before.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_before.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_oogm_before. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_OOGMBeforeFiller.json +state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMBeforeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMBeforeFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcodecall_110_oogm_before( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_oogm_before.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,82 +49,80 @@ def test_static_callcodecallcodecall_110_oogm_before( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x401580462C2CA97FC4F16B066D6249250A227AFB, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x401580462C2CA97FC4F16B066D6249250A227AFB, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x31d06fad70e2a598413824a9bc68d80a5d2b194e"), # noqa: E501 + address=Address(0x31D06FAD70E2A598413824A9BC68D80A5D2B194E), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (DELEGATECALL 40080 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x9C90, + address=0xF32619344056AD22A07F10433F70165CE82D9273, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 + address=Address(0x401580462C2CA97FC4F16B066D6249250A227AFB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x9C90, - address=0xF32619344056AD22A07F10433F70165CE82D9273, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0x401580462c2ca97fc4f16b066d6249250a227afb"), # noqa: E501 + address=Address(0xF32619344056AD22A07F10433F70165CE82D9273), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, nonce=0, - address=Address("0xf32619344056ad22a07f10433f70165ce82d9273"), # noqa: E501 + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=172000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_before2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_before2.py index e78a3ce19a7..c4bd259ef6a 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_before2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_oogm_before2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_oogm_before2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_OOGMBefore2Filler.json +state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,50 +25,45 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, 0, - { - Address("0x45f35e7e68477a74b163dd6e4eb2833fb1979873"): Account( - storage={0: 1, 1: 1} - ) - }, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x45f35e7e68477a74b163dd6e4eb2833fb1979873"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v1", ), - ( + pytest.param( + 0, + 0, 2, - { - Address("0x45f35e7e68477a74b163dd6e4eb2833fb1979873"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcodecall_110_oogm_before2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_oogm_before2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -81,83 +77,89 @@ def test_static_callcodecallcodecall_110_oogm_before2( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x335c5531b84765a7626e6e76688f18b81be5259c"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x861E86C681836FF531A2F84C5CDDE43E28E1D234, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x45f35e7e68477a74b163dd6e4eb2833fb1979873"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x9C90, - address=0xF32619344056AD22A07F10433F70165CE82D9273, - value=Op.SUB(Op.CALLVALUE, 0x1), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x861E86C681836FF531A2F84C5CDDE43E28E1D234, + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x861e86c681836ff531a2f84c5cdde43e28e1d234"), # noqa: E501 + address=Address(0x45F35E7E68477A74B163DD6E4EB2833FB1979873), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STATICCALL( - gas=0x4E34, - address=0x335C5531B84765A7626E6E76688F18B81BE5259C, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 40080 (- (CALLVALUE) 1) 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x9C90, + address=0xF32619344056AD22A07F10433F70165CE82D9273, + value=Op.SUB(Op.CALLVALUE, 0x1), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xf32619344056ad22a07f10433f70165ce82d9273"), # noqa: E501 + address=Address(0x861E86C681836FF531A2F84C5CDDE43E28E1D234), # noqa: E501 ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STATICCALL( + gas=0x4E34, + address=0x335C5531B84765A7626E6E76688F18B81BE5259C, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + nonce=0, + address=Address(0xF32619344056AD22A07F10433F70165CE82D9273), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x335C5531B84765A7626E6E76688F18B81BE5259C), # noqa: E501 + ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) + + tx_data = [ + Bytes(""), + ] + tx_gas = [172000] + tx_value = [0, 1, 2] tx = Transaction( sender=sender, - to=contract, - gas_limit=172000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_end.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_end.py index 3dbca7fa745..7f87f8c354c 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_end.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_suicide_end. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_SuicideEndFiller.json +state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideEndFiller.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideEndFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, 0, - { - Address("0x5f7fdf1f0d4f4ad14c6996ae17bb6698d22343d8"): Account( - storage={0: 1, 1: 0x2CEC03} - ) - }, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x5f7fdf1f0d4f4ad14c6996ae17bb6698d22343d8"): Account( - storage={0: 1, 1: 0x2CEC03} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcodecall_110_suicide_end( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,80 +71,85 @@ def test_static_callcodecallcodecall_110_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, - balance=0x2540BE400, - nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x92D7028788CAA240253B7B2A92386464690CDC72, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x92D7028788CAA240253B7B2A92386464690CDC72, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x5f7fdf1f0d4f4ad14c6996ae17bb6698d22343d8"), # noqa: E501 + address=Address(0x5F7FDF1F0D4F4AD14C6996AE17BB6698D22343D8), # noqa: E501 + ) + # Source: lll + # { (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x186A0, + address=0xB7770360E0B87603E3D9C87C866451760C95ABCA, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x92D7028788CAA240253B7B2A92386464690CDC72), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x186A0, - address=0xB7770360E0B87603E3D9C87C866451760C95ABCA, + # Source: lll + # { (STATICCALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x92D7028788CAA240253B7B2A92386464690CDC72) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x92d7028788caa240253b7b2a92386464690cdc72"), # noqa: E501 + address=Address(0xB7770360E0B87603E3D9C87C866451760C95ABCA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x92D7028788CAA240253B7B2A92386464690CDC72 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xb7770360e0b87603e3d9c87c866451760c95abca"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + tx_data = [ + Bytes(""), + ] + tx_gas = [3000000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=3000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 0x2CEC03}, balance=0, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_end2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_end2.py index eee1033538d..4d3c9663fab 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_end2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_end2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_suicide_end2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_SuicideEnd2Filler.json +state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2Filler.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +28,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( 0, - { - Address("0x44d09ddf088dd88c0e91fa7ef74973ff94ad7414"): Account( - storage={0: 1, 1: 0x2CEBFF} - ) - }, + 0, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x44d09ddf088dd88c0e91fa7ef74973ff94ad7414"): Account( - storage={0: 1, 1: 0x2CB7A7} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcodecall_110_suicide_end2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_suicide_end2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,82 +74,109 @@ def test_static_callcodecallcodecall_110_suicide_end2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x186A0, - address=0xB7770360E0B87603E3D9C87C866451760C95ABCA, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x1D36753CD1D8D4795799D3F4D0925C63F72B2685, value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x1d36753cd1d8d4795799d3f4d0925c63f72b2685"), # noqa: E501 - ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x1D36753CD1D8D4795799D3F4D0925C63F72B2685, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x44d09ddf088dd88c0e91fa7ef74973ff94ad7414"), # noqa: E501 + address=Address(0x44D09DDF088DD88C0E91FA7EF74973FF94AD7414), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (CALLCODE 100000 (CALLVALUE) 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x186A0, + address=0xB7770360E0B87603E3D9C87C866451760C95ABCA, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x1D36753CD1D8D4795799D3F4D0925C63F72B2685), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x1D36753CD1D8D4795799D3F4D0925C63F72B2685 + # Source: lll + # { (STATICCALL 50000 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x1D36753CD1D8D4795799D3F4D0925C63F72B2685) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0xb7770360e0b87603e3d9c87c866451760c95abca"), # noqa: E501 + address=Address(0xB7770360E0B87603E3D9C87C866451760C95ABCA), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 1, 1: 0x2CEBFF}, balance=0, nonce=0 + ) + }, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 1, 1: 0x2CB7A7}, balance=0, nonce=0 + ) + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [3000000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=3000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_middle.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_middle.py index 3db73448a90..eec16c708e9 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_middle.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_middle.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_suicide_middle. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_SuicideMiddleFiller.json +state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddleFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddleFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddleFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcodecall_110_suicide_middle( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_suicide_middle.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,76 +49,77 @@ def test_static_callcodecallcodecall_110_suicide_middle( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x92D7028788CAA240253B7B2A92386464690CDC72, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x2b30b637f37e3f5b8ca4ab846331d0779a3f4671"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671) - + Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x92D7028788CAA240253B7B2A92386464690CDC72, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671), # noqa: E501 + ) + # Source: lll + # { (DELEGATECALL 100000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x186A0, + address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x408f1aceffec7bdaa35d77006cdcaead563bb694"), # noqa: E501 + address=Address(0x92D7028788CAA240253B7B2A92386464690CDC72), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (SELFDESTRUCT ) (STATICCALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x2B30B637F37E3F5B8CA4AB846331D0779A3F4671 + ) + + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x186A0, - address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x92d7028788caa240253b7b2a92386464690cdc72"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(balance=0xDE0B6B3A7640000)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_middle2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_middle2.py index c2bb195b374..d1375ae7e56 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_middle2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_110_suicide_middle2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_110_suicide_middle2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_110_SuicideMiddle2Filler.json +state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcodecall_110_suicide_middle2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_110_suicide_middle2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,79 +49,80 @@ def test_static_callcodecallcodecall_110_suicide_middle2( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x186A0, - address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, + # Source: lll + # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x249F0, + address=0x1D36753CD1D8D4795799D3F4D0925C63F72B2685, value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, + ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1d36753cd1d8d4795799d3f4d0925c63f72b2685"), # noqa: E501 + address=Address(0x44D09DDF088DD88C0E91FA7EF74973FF94AD7414), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x44D09DDF088DD88C0E91FA7EF74973FF94AD7414) - + Op.STATICCALL( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (CALLCODE 100000 (CALLVALUE) 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x186A0, + address=0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694, + value=Op.CALLVALUE, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x408f1aceffec7bdaa35d77006cdcaead563bb694"), # noqa: E501 + address=Address(0x1D36753CD1D8D4795799D3F4D0925C63F72B2685), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 150000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x249F0, - address=0x1D36753CD1D8D4795799D3F4D0925C63F72B2685, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (SELFDESTRUCT ) (STATICCALL 50000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x44D09DDF088DD88C0E91FA7EF74973FF94AD7414 + ) + + Op.STATICCALL( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x44d09ddf088dd88c0e91fa7ef74973ff94ad7414"), # noqa: E501 + address=Address(0x408F1ACEFFEC7BDAA35D77006CDCAEAD563BB694), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 0x2CF650}), - } + post = {target: Account(balance=0xDE0B6B3A7640000)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_abcb_recursive.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_abcb_recursive.py index c1774725acf..0f8b2d643d1 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_abcb_recursive.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_abcb_recursive.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_abcb_recursive. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_ABCB_RECURSIVEFiller.json +state_tests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcodecall_abcb_recursive( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_abcb_recursive.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,70 +49,67 @@ def test_static_callcodecallcodecall_abcb_recursive( gas_limit=3000000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x7A120, + # Source: lll + # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x17D7840, address=0x2C81F66472668C71014CE3A9537B033DB57AF77B, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e2229d0f325b81b81b8b14f2d239ff9742683c0"), # noqa: E501 + address=Address(0x56325D37CDCE6B5858E63B1F0A691DB81D65E6DD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0xF4240, - address=0x1E2229D0F325B81B81B8B14F2D239FF9742683C0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 1000000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0xF4240, + address=0x1E2229D0F325B81B81B8B14F2D239FF9742683C0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x2c81f66472668c71014ce3a9537b033db57af77b"), # noqa: E501 + address=Address(0x2C81F66472668C71014CE3A9537B033DB57AF77B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 25000000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x17D7840, - address=0x2C81F66472668C71014CE3A9537B033DB57AF77B, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (STATICCALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x7A120, + address=0x2C81F66472668C71014CE3A9537B033DB57AF77B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x56325d37cdce6b5858e63b1f0a691db81d65e6dd"), # noqa: E501 + address=Address(0x1E2229D0F325B81B81B8B14F2D239FF9742683C0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_abcb_recursive2.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_abcb_recursive2.py index cdc708998a5..18a24fee771 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_abcb_recursive2.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecall_abcb_recursive2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecall_abcb_recursive2. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json +state_tests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json """ import pytest @@ -12,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( + 0, + 0, 0, - { - Address("0x3da1f9d4153096bd467629a1fdb678437acd810b"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x3da1f9d4153096bd467629a1fdb678437acd810b"): Account( - storage={0: 1, 1: 1} - ) - }, + id="-v1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_callcodecallcodecall_abcb_recursive2( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecall_abcb_recursive2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -73,71 +71,76 @@ def test_static_callcodecallcodecall_abcb_recursive2( gas_limit=3000000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x7A120, + # Source: lll + # { [[ 0 ]] (CALLCODE 25000000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x17D7840, address=0x9EF1D089354C245C0C8A08590F55E76008AC54CD, + value=Op.CALLVALUE, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x1e2229d0f325b81b81b8b14f2d239ff9742683c0"), # noqa: E501 + address=Address(0x3DA1F9D4153096BD467629A1FDB678437ACD810B), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (CALLCODE 25000000 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x17D7840, - address=0x9EF1D089354C245C0C8A08590F55E76008AC54CD, - value=Op.CALLVALUE, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (CALLCODE 1000000 0 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0xF4240, + address=0x1E2229D0F325B81B81B8B14F2D239FF9742683C0, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x2540BE400, nonce=0, - address=Address("0x3da1f9d4153096bd467629a1fdb678437acd810b"), # noqa: E501 + address=Address(0x9EF1D089354C245C0C8A08590F55E76008AC54CD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0xF4240, - address=0x1E2229D0F325B81B81B8B14F2D239FF9742683C0, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL 500000 0 64 0 64 ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x7A120, + address=0x9EF1D089354C245C0C8A08590F55E76008AC54CD, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x9ef1d089354c245c0c8a08590f55e76008ac54cd"), # noqa: E501 + address=Address(0x1E2229D0F325B81B81B8B14F2D239FF9742683C0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + tx_data = [ + Bytes(""), + ] + tx_gas = [600000] + tx_value = [0, 1] + tx = Transaction( sender=sender, - to=contract, - gas_limit=600000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callcodecallcodecallcode_111_suicide_end.py b/tests/ported_static/stStaticCall/test_static_callcodecallcodecallcode_111_suicide_end.py index a90dcd0b8c6..69f709b8cf2 100644 --- a/tests/ported_static/stStaticCall/test_static_callcodecallcodecallcode_111_suicide_end.py +++ b/tests/ported_static/stStaticCall/test_static_callcodecallcodecallcode_111_suicide_end.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_callcodecallcodecallcode_111_suicide_end. Ported from: -tests/static/state_tests/stStaticCall -static_callcodecallcodecallcode_111_SuicideEndFiller.json +state_tests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEndFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEndFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEndFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callcodecallcodecallcode_111_suicide_end( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callcodecallcodecallcode_111_suicide_end.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,82 +49,79 @@ def test_static_callcodecallcodecallcode_111_suicide_end( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x186A0, - address=0x90E9B92C59A0E93D8AB0B7AFBC945D6999A50A9B, + # Source: lll + # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x249F0, + address=0x20052C9E11EC43B94405D98F61E2B5E8BB722ED1, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), - balance=0x2540BE400, - nonce=0, - address=Address("0x20052c9e11ec43b94405d98f61e2b5e8bb722ed1"), # noqa: E501 - ) - # Source: LLL - # { [[ 0 ]] (DELEGATECALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x249F0, - address=0x20052C9E11EC43B94405D98F61E2B5E8BB722ED1, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x31d06fad70e2a598413824a9bc68d80a5d2b194e"), # noqa: E501 + address=Address(0x31D06FAD70E2A598413824A9BC68D80A5D2B194E), # noqa: E501 ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, + # Source: lll + # { (STATICCALL 100000 0 64 0 64) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x186A0, + address=0x90E9B92C59A0E93D8AB0B7AFBC945D6999A50A9B, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x48e2d4c0b593bfebe5ddb4f13aa355b8bd83ddd3"), # noqa: E501 + address=Address(0x20052C9E11EC43B94405D98F61E2B5E8BB722ED1), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.CALLCODE( - gas=0xC350, - address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SELFDESTRUCT( - address=0x20052C9E11EC43B94405D98F61E2B5E8BB722ED1 + # Source: lll + # { (CALLCODE 50000 0 0 64 0 64 ) (SELFDESTRUCT ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALLCODE( + gas=0xC350, + address=0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3, + value=0x0, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x20052C9E11EC43B94405D98F61E2B5E8BB722ED1) + + Op.STOP, + balance=0x2540BE400, + nonce=0, + address=Address(0x90E9B92C59A0E93D8AB0B7AFBC945D6999A50A9B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 3 1) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x3, value=0x1) + Op.STOP, balance=0x2540BE400, nonce=0, - address=Address("0x90e9b92c59a0e93d8ab0b7afbc945d6999a50a9b"), # noqa: E501 + address=Address(0x48E2D4C0B593BFEBE5DDB4F13AA355B8BD83DDD3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_calldelcode_01.py b/tests/ported_static/stStaticCall/test_static_calldelcode_01.py index 233a73eff65..369bf95275f 100644 --- a/tests/ported_static/stStaticCall/test_static_calldelcode_01.py +++ b/tests/ported_static/stStaticCall/test_static_calldelcode_01.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_calldelcode_01. Ported from: -tests/static/state_tests/stStaticCall/static_calldelcode_01Filler.json +state_tests/stStaticCall/static_calldelcode_01Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_calldelcode_01Filler.json"], + ["state_tests/stStaticCall/static_calldelcode_01Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_calldelcode_01( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_calldelcode_01.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,58 +47,57 @@ def test_static_calldelcode_01( gas_limit=30000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x11223344) + Op.STOP, - nonce=0, - address=Address("0x2881a083ea775f78057a93f73110241fdb7398a9"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 350000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x55730, - address=0x91836819E5DD0646F8619EB31C67258FA7CA0A32, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x46df4a924470cb27a2f8700239656c40dd4794c8"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x3D090, - address=0x2881A083EA775F78057A93F73110241FDB7398A9, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x55730, + address=0x91836819E5DD0646F8619EB31C67258FA7CA0A32, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x46DF4A924470CB27A2F8700239656C40DD4794C8), # noqa: E501 + ) + # Source: lll + # { (DELEGATECALL 250000 0 64 0 64 ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x3D090, + address=0x2881A083EA775F78057A93F73110241FDB7398A9, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + nonce=0, + address=Address(0x91836819E5DD0646F8619EB31C67258FA7CA0A32), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 0x11223344) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x11223344) + Op.STOP, nonce=0, - address=Address("0x91836819e5dd0646f8619eb31c67258fa7ca0a32"), # noqa: E501 + address=Address(0x2881A083EA775F78057A93F73110241FDB7398A9), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_calldelcode_01_ooge.py b/tests/ported_static/stStaticCall/test_static_calldelcode_01_ooge.py index 7e0253c04bb..c96224c66d6 100644 --- a/tests/ported_static/stStaticCall/test_static_calldelcode_01_ooge.py +++ b/tests/ported_static/stStaticCall/test_static_calldelcode_01_ooge.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_calldelcode_01_ooge. Ported from: -tests/static/state_tests/stStaticCall/static_calldelcode_01_OOGEFiller.json +state_tests/stStaticCall/static_calldelcode_01_OOGEFiller.json """ import pytest @@ -12,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_calldelcode_01_OOGEFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_calldelcode_01_OOGEFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex", + "d, g, v", [ - "000000000000000000000000ce21f15217a7b94db9c505a66c9549e803bf141c", - "000000000000000000000000fbef21c5a6c2adcf3d769f085e0cc9fe9a8df954", + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_calldelcode_01_ooge( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_calldelcode_01_ooge.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -57,82 +69,81 @@ def test_static_calldelcode_01_ooge( gas_limit=30000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0 64 0 64 ) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x249F0, - address=0x77612608C7A22F8929F6F1C9462A9954621AEEFD, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x6e143211e9d36eaeebe65f6ed69d6c28500040d6"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.DELEGATECALL( - gas=0x4E34, - address=Op.CALLDATALOAD(offset=0x0), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x249F0, + address=0x77612608C7A22F8929F6F1C9462A9954621AEEFD, args_offset=0x0, args_size=0x40, ret_offset=0x0, ret_size=0x40, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x77612608c7a22f8929f6f1c9462a9954621aeefd"), # noqa: E501 + address=Address(0x6E143211E9D36EAEEBE65F6ED69D6C28500040D6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x2, value=0x1) - + Op.MSTORE(offset=0x2, value=0x1) - + Op.STOP - ), + # Source: lll + # { (DELEGATECALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x4E34, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, nonce=0, - address=Address("0xce21f15217a7b94db9c505a66c9549e803bf141c"), # noqa: E501 + address=Address(0x77612608C7A22F8929F6F1C9462A9954621AEEFD), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (SSTORE 2 1) (MSTORE 2 1)} + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x2, value=0x1) + + Op.MSTORE(offset=0x2, value=0x1) + + Op.STOP, + nonce=0, + address=Address(0xCE21F15217A7B94DB9C505A66C9549E803BF141C), # noqa: E501 + ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xfbef21c5a6c2adcf3d769f085e0cc9fe9a8df954"), # noqa: E501 + address=Address(0xFBEF21C5A6C2ADCF3D769F085E0CC9FE9A8DF954), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [172000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=172000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_callto_return2.py b/tests/ported_static/stStaticCall/test_static_callto_return2.py index b39ed417872..301d52de5d0 100644 --- a/tests/ported_static/stStaticCall/test_static_callto_return2.py +++ b/tests/ported_static/stStaticCall/test_static_callto_return2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_callto_return2. Ported from: -tests/static/state_tests/stStaticCall/static_CalltoReturn2Filler.json +state_tests/stStaticCall/static_CalltoReturn2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CalltoReturn2Filler.json"], + ["state_tests/stStaticCall/static_CalltoReturn2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_callto_return2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_callto_return2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,61 +47,60 @@ def test_static_callto_return2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 5000 0 64 0 2 ) [[ 1 ]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x1388, - address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x1388, + address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x547d0a349ccab317152d172e2f2ae7556c334cf3"), # noqa: E501 + address=Address(0x547D0A349CCAB317152D172E2F2AE7556C334CF3), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), + # Source: raw + # 0x603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), balance=23, nonce=0, - address=Address("0xd5d9e9e0158920b17b6df82fac474b3e2691ee99"), # noqa: E501 + address=Address(0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 0x3700FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 }, + nonce=0, ), } diff --git a/tests/ported_static/stStaticCall/test_static_check_call_cost_oog.py b/tests/ported_static/stStaticCall/test_static_check_call_cost_oog.py index 02cfc53cd9e..ccc8541f5ec 100644 --- a/tests/ported_static/stStaticCall/test_static_check_call_cost_oog.py +++ b/tests/ported_static/stStaticCall/test_static_check_call_cost_oog.py @@ -2,7 +2,7 @@ Check balance in blackbox, just fill the balance consumed. Ported from: -tests/static/state_tests/stStaticCall/static_CheckCallCostOOGFiller.json +state_tests/stStaticCall/static_CheckCallCostOOGFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,29 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_CheckCallCostOOGFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_CheckCallCostOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (22000, {}), - (1000000, {}), + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_check_call_cost_oog( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Check balance in blackbox, just fill the balance consumed.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x3327048BBC0B8C348A6352BE62994144E64B8FF2CEC68D9FF4CA4E911ECD5D22 ) @@ -59,39 +70,43 @@ def test_static_check_call_cost_oog( ) pre[sender] = Account(balance=0x5AF3107A4000) - # Source: LLL + # Source: lll # { (STATICCALL 100 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x64, - address=0xEBE7ED7A6E995C9843A6DF04E332981EBB2772E0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x64, + address=0xEBE7ED7A6E995C9843A6DF04E332981EBB2772E0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xb59292b3a630476adbc4a3643c0815b682a5009a"), # noqa: E501 + address=Address(0xB59292B3A630476ADBC4A3643C0815B682A5009A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1, value=0x1) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + # Source: lll + # { (MSTORE 1 1) (KECCAK256 0x00 0x2fffff) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xebe7ed7a6e995c9843a6df04e332981ebb2772e0"), # noqa: E501 + address=Address(0xEBE7ED7A6E995C9843A6DF04E332981EBB2772E0), # noqa: E501 ) + tx_data = [ + Bytes(""), + ] + tx_gas = [22000, 1000000] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_check_opcodes.py b/tests/ported_static/stStaticCall/test_static_check_opcodes.py index ddd65b564bd..c909ed7c8c5 100644 --- a/tests/ported_static/stStaticCall/test_static_check_opcodes.py +++ b/tests/ported_static/stStaticCall/test_static_check_opcodes.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_check_opcodes. Ported from: -tests/static/state_tests/stStaticCall/static_CheckOpcodesFiller.json +state_tests/stStaticCall/static_CheckOpcodesFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,108 +27,74 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CheckOpcodesFiller.json"], + ["state_tests/stStaticCall/static_CheckOpcodesFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - "000000000000000000000000b4b91c40f3e3a6e5576b0413572b88d535cee7b0", - 50000, + pytest.param( 0, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + 0, + 0, + id="d0-g0-v0", ), - ( - "000000000000000000000000b4b91c40f3e3a6e5576b0413572b88d535cee7b0", - 50000, - 100, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 1, + id="d0-g0-v1", ), - ( - "000000000000000000000000b4b91c40f3e3a6e5576b0413572b88d535cee7b0", - 335000, + pytest.param( 0, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + 1, + 0, + id="d0-g1-v0", ), - ( - "000000000000000000000000b4b91c40f3e3a6e5576b0413572b88d535cee7b0", - 335000, - 100, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 1, + 1, + id="d0-g1-v1", ), - ( - "000000000000000000000000e4b8baa7da1a97bff89d7db0ae345dd30cd8c1d0", - 50000, + pytest.param( + 1, + 0, 0, - {}, + id="d1-g0-v0", ), - ( - "000000000000000000000000e4b8baa7da1a97bff89d7db0ae345dd30cd8c1d0", - 50000, - 100, - {}, + pytest.param( + 1, + 0, + 1, + id="d1-g0-v1", ), - ( - "000000000000000000000000e4b8baa7da1a97bff89d7db0ae345dd30cd8c1d0", - 335000, + pytest.param( + 1, + 1, 0, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + id="d1-g1-v0", ), - ( - "000000000000000000000000e4b8baa7da1a97bff89d7db0ae345dd30cd8c1d0", - 335000, - 100, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + pytest.param( + 1, + 1, + 1, + id="d1-g1-v1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_check_opcodes( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_check_opcodes.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -137,151 +108,176 @@ def test_static_check_opcodes( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0xE4B8BAA7DA1A97BFF89D7DB0AE345DD30CD8C1D0, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0xB4B91C40F3E3A6E5576B0413572B88D535CEE7B0, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0x2b8b4845acb3ef63f61f109b960754cf76dfbdfd"), # noqa: E501 - ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x186A0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - nonce=0, - address=Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x50F628D871A69F2DB31E98D7FBF8AE6F1FC0D55C, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0xB4B91C40F3E3A6E5576B0413572B88D535CEE7B0, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0xb4b91c40f3e3a6e5576b0413572b88d535cee7b0"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.STATICCALL( + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.STATICCALL( gas=0x186A0, - address=0x2B8B4845ACB3EF63F61F109B960754CF76DFBDFD, + address=Op.CALLDATALOAD(offset=0x0), args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.STOP, nonce=0, - address=Address("0xe4b8baa7da1a97bff89d7db0ae345dd30cd8c1d0"), # noqa: E501 + address=Address(0x50F628D871A69F2DB31E98D7FBF8AE6F1FC0D55C), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x50F628D871A69F2DB31E98D7FBF8AE6F1FC0D55C, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0xB4B91C40F3E3A6E5576B0413572B88D535CEE7B0, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, + nonce=0, + address=Address(0xB4B91C40F3E3A6E5576B0413572B88D535CEE7B0), # noqa: E501 + ) + # Source: lll + # { (STATICCALL 100000 0 0 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x186A0, + address=0x2B8B4845ACB3EF63F61F109B960754CF76DFBDFD, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + nonce=0, + address=Address(0xE4B8BAA7DA1A97BFF89D7DB0AE345DD30CD8C1D0), # noqa: E501 + ) + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0xE4B8BAA7DA1A97BFF89D7DB0AE345DD30CD8C1D0, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0xB4B91C40F3E3A6E5576B0413572B88D535CEE7B0, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, + nonce=0, + address=Address(0x2B8B4845ACB3EF63F61F109B960754CF76DFBDFD), # noqa: E501 + ) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={1: 0}), + }, + }, + { + "indexes": {"data": 0, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={1: 1}), + }, + }, + ] - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + ] + tx_gas = [50000, 335000] + tx_value = [0, 100] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_check_opcodes2.py b/tests/ported_static/stStaticCall/test_static_check_opcodes2.py index 9cbca89b46d..39abab90f7d 100644 --- a/tests/ported_static/stStaticCall/test_static_check_opcodes2.py +++ b/tests/ported_static/stStaticCall/test_static_check_opcodes2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_check_opcodes2. Ported from: -tests/static/state_tests/stStaticCall/static_CheckOpcodes2Filler.json +state_tests/stStaticCall/static_CheckOpcodes2Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,119 +27,86 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CheckOpcodes2Filler.json"], + ["state_tests/stStaticCall/static_CheckOpcodes2Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, tx_value, expected_post", + "d, g, v", [ - ( - "0000000000000000000000004c9df443f25e673eac42a897aa8a234b84fb9bdd", + pytest.param( 0, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + 0, + 0, + id="d0-v0", ), - ( - "0000000000000000000000004c9df443f25e673eac42a897aa8a234b84fb9bdd", - 100, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 1, + id="d0-v1", ), - ( - "00000000000000000000000017217475f7d93fbfac2586ae993da598daead310", + pytest.param( + 1, + 0, 0, - {}, + id="d1-v0", ), - ( - "00000000000000000000000017217475f7d93fbfac2586ae993da598daead310", - 100, - {}, + pytest.param( + 1, + 0, + 1, + id="d1-v1", ), - ( - "0000000000000000000000007493ed4fd2e14f56f1f1e3022b7c3873789b2254", + pytest.param( + 2, 0, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + 0, + id="d2-v0", ), - ( - "0000000000000000000000007493ed4fd2e14f56f1f1e3022b7c3873789b2254", - 100, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + pytest.param( + 2, + 0, + 1, + id="d2-v1", ), - ( - "000000000000000000000000419fea0f3da444f3e6ae0c045f83dfe2b25f161b", + pytest.param( + 3, 0, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + 0, + id="d3-v0", ), - ( - "000000000000000000000000419fea0f3da444f3e6ae0c045f83dfe2b25f161b", - 100, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + pytest.param( + 3, + 0, + 1, + id="d3-v1", ), - ( - "000000000000000000000000991c2daacf958845c0a5e957b3e187238a093149", + pytest.param( + 4, 0, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + 0, + id="d4-v0", ), - ( - "000000000000000000000000991c2daacf958845c0a5e957b3e187238a093149", - 100, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + pytest.param( + 4, + 0, + 1, + id="d4-v1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_check_opcodes2( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_check_opcodes2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -148,409 +120,420 @@ def test_static_check_opcodes2( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x419FEA0F3DA444F3E6AE0C045F83DFE2B25F161B, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0x419FEA0F3DA444F3E6AE0C045F83DFE2B25F161B, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x1, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x186A0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x0e1fc3e8fa3dec60cc7fe8e5cf1a3bf2e23b8380"), # noqa: E501 + address=Address(0x50F628D871A69F2DB31E98D7FBF8AE6F1FC0D55C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE( - offset=0x0, - value=Op.CALL( - gas=0x186A0, - address=0xEF6A70E5546CA5339758B2F3B819780625C233C3, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.MSTORE(offset=0x2, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALL 100000 0 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=Op.CALL( + gas=0x186A0, + address=0x66FA14F32EB562EF2161C2890C73DFE43779F135, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x38, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x3E) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=10, nonce=0, - address=Address("0x17217475f7d93fbfac2586ae993da598daead310"), # noqa: E501 + address=Address(0x4C9DF443F25E673EAC42A897AA8A234B84FB9BDD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=Op.CALLCODE( - gas=0x186A0, - address=0xE1FC3E8FA3DEC60CC7FE8E5CF1A3BF2E23B8380, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x38, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x3E) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # {(MSTORE 0 0) (MSTORE 0 (CALL 100000 1 0 0 0 0)) (MSTORE 1 1) (MSTORE 2 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE( + offset=0x0, + value=Op.CALL( + gas=0x186A0, + address=0xEF6A70E5546CA5339758B2F3B819780625C233C3, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.MSTORE(offset=0x2, value=0x1) + + Op.STOP, balance=10, nonce=0, - address=Address("0x419fea0f3da444f3e6ae0c045f83dfe2b25f161b"), # noqa: E501 + address=Address(0x17217475F7D93FBFAC2586AE993DA598DAEAD310), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=Op.CALL( - gas=0x186A0, - address=0x66FA14F32EB562EF2161C2890C73DFE43779F135, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x38, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x3E) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLCODE 100000 0 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=Op.CALLCODE( + gas=0x186A0, + address=0x7EA8B3E1880535D9ECF543C5AF8637DE220CD5FE, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x38, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x3E) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=10, nonce=0, - address=Address("0x4c9df443f25e673eac42a897aa8a234b84fb9bdd"), # noqa: E501 + address=Address(0x7493ED4FD2E14F56F1F1E3022B7C3873789B2254), # noqa: E501 ) - # Source: LLL - # { [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x186A0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (CALLCODE 100000 1 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=Op.CALLCODE( + gas=0x186A0, + address=0xE1FC3E8FA3DEC60CC7FE8E5CF1A3BF2E23B8380, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x38, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x3E) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, + balance=10, nonce=0, - address=Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"), # noqa: E501 + address=Address(0x419FEA0F3DA444F3E6AE0C045F83DFE2B25F161B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x50F628D871A69F2DB31E98D7FBF8AE6F1FC0D55C, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0x991C2DAACF958845C0A5E957B3E187238A093149, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (DELEGATECALL 100000 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0x58D6159788915466CC2BF8A6BC7284928707959B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x36, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x3C) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, + balance=10, nonce=0, - address=Address("0x58d6159788915466cc2bf8a6bc7284928707959b"), # noqa: E501 + address=Address(0x991C2DAACF958845C0A5E957B3E187238A093149), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x4C9DF443F25E673EAC42A897AA8A234B84FB9BDD, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0x66FA14F32EB562EF2161C2890C73DFE43779F135, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x4C9DF443F25E673EAC42A897AA8A234B84FB9BDD, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0x66FA14F32EB562EF2161C2890C73DFE43779F135, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x66fa14f32eb562ef2161c2890c73dfe43779f135"), # noqa: E501 + address=Address(0x66FA14F32EB562EF2161C2890C73DFE43779F135), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=Op.CALLCODE( - gas=0x186A0, - address=0x7EA8B3E1880535D9ECF543C5AF8637DE220CD5FE, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x38, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x3E) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), - balance=10, + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 1 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x17217475F7D93FBFAC2586AE993DA598DAEAD310, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0xEF6A70E5546CA5339758B2F3B819780625C233C3, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x1, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x7493ed4fd2e14f56f1f1e3022b7c3873789b2254"), # noqa: E501 + address=Address(0xEF6A70E5546CA5339758B2F3B819780625C233C3), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x7493ED4FD2E14F56F1F1E3022B7C3873789B2254, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0x7493ED4FD2E14F56F1F1E3022B7C3873789B2254, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x7493ED4FD2E14F56F1F1E3022B7C3873789B2254, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0x7493ED4FD2E14F56F1F1E3022B7C3873789B2254, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x7ea8b3e1880535d9ecf543c5af8637de220cd5fe"), # noqa: E501 + address=Address(0x7EA8B3E1880535D9ECF543C5AF8637DE220CD5FE), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0x58D6159788915466CC2BF8A6BC7284928707959B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x36, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x3C) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), - balance=10, + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 1 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_9 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x419FEA0F3DA444F3E6AE0C045F83DFE2B25F161B, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0x419FEA0F3DA444F3E6AE0C045F83DFE2B25F161B, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x1, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x991c2daacf958845c0a5e957b3e187238a093149"), # noqa: E501 + address=Address(0x0E1FC3E8FA3DEC60CC7FE8E5CF1A3BF2E23B8380), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x17217475F7D93FBFAC2586AE993DA598DAEAD310, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0xEF6A70E5546CA5339758B2F3B819780625C233C3, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x1, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_10 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x50F628D871A69F2DB31E98D7FBF8AE6F1FC0D55C, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0x991C2DAACF958845C0A5E957B3E187238A093149, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xef6a70e5546ca5339758b2f3b819780625c233c3"), # noqa: E501 + address=Address(0x58D6159788915466CC2BF8A6BC7284928707959B), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 2, 3, 4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={1: 0}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [335000] + tx_value = [0, 100] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=335000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_check_opcodes3.py b/tests/ported_static/stStaticCall/test_static_check_opcodes3.py index 040aa72c992..f57c2b4f594 100644 --- a/tests/ported_static/stStaticCall/test_static_check_opcodes3.py +++ b/tests/ported_static/stStaticCall/test_static_check_opcodes3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_check_opcodes3. Ported from: -tests/static/state_tests/stStaticCall/static_CheckOpcodes3Filler.json +state_tests/stStaticCall/static_CheckOpcodes3Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,119 +27,86 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CheckOpcodes3Filler.json"], + ["state_tests/stStaticCall/static_CheckOpcodes3Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, tx_value, expected_post", + "d, g, v", [ - ( - "000000000000000000000000f697c2d8963df21523b18e96caaf6c7703a1882e", + pytest.param( 0, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + 0, + 0, + id="d0-v0", ), - ( - "000000000000000000000000f697c2d8963df21523b18e96caaf6c7703a1882e", - 100, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 1, + id="d0-v1", ), - ( - "0000000000000000000000009b68a6b37af295c7fd23aa2269db8c875c2b86b4", + pytest.param( + 1, + 0, 0, - {}, + id="d1-v0", ), - ( - "0000000000000000000000009b68a6b37af295c7fd23aa2269db8c875c2b86b4", - 100, - {}, + pytest.param( + 1, + 0, + 1, + id="d1-v1", ), - ( - "000000000000000000000000ba044a82b25080bc96678b9fa77678e014605c48", + pytest.param( + 2, 0, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + 0, + id="d2-v0", ), - ( - "000000000000000000000000ba044a82b25080bc96678b9fa77678e014605c48", - 100, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + pytest.param( + 2, + 0, + 1, + id="d2-v1", ), - ( - "000000000000000000000000e541572ce4b4ccbb2b92aab0fb852f018d51c512", + pytest.param( + 3, 0, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + 0, + id="d3-v0", ), - ( - "000000000000000000000000e541572ce4b4ccbb2b92aab0fb852f018d51c512", - 100, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + pytest.param( + 3, + 0, + 1, + id="d3-v1", ), - ( - "0000000000000000000000008113f9fc0868700534ecbecf1120a812cb1af0ac", + pytest.param( + 4, 0, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + 0, + id="d4-v0", ), - ( - "0000000000000000000000008113f9fc0868700534ecbecf1120a812cb1af0ac", - 100, - { - Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"): Account( - storage={1: 1} - ) - }, + pytest.param( + 4, + 0, + 1, + id="d4-v1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_check_opcodes3( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_check_opcodes3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -148,452 +120,458 @@ def test_static_check_opcodes3( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=Op.STATICCALL( - gas=0x186A0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x24, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x2A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x186A0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x2e5dc1c94af89d7c115126fcebad7a5c50f5fe35"), # noqa: E501 + address=Address(0x50F628D871A69F2DB31E98D7FBF8AE6F1FC0D55C), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x8113F9FC0868700534ECBECF1120A812CB1AF0AC, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0x4AF0C90F8F7B7834E7E7BD57DDA960412F9650F9, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 ) (MSTORE 0 (CALL 100000 0 0 32 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0xA131950507C8977B0DE1790C8E76A1A28DD92805 + ) + + Op.MSTORE( + offset=0x0, + value=Op.CALL( + gas=0x186A0, + address=0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x50, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x56) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, + balance=10, nonce=0, - address=Address("0x4af0c90f8f7b7834e7e7bd57dda960412f9650f9"), # noqa: E501 + address=Address(0xF697C2D8963DF21523B18E96CAAF6C7703A1882E), # noqa: E501 ) - # Source: LLL - # { [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x186A0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # {(MSTORE 0 ) (MSTORE 0 (CALL 100000 1 0 32 0 0)) (MSTORE 1 1) (MSTORE 2 1) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0xA131950507C8977B0DE1790C8E76A1A28DD92805 + ) + + Op.MSTORE( + offset=0x0, + value=Op.CALL( + gas=0x186A0, + address=0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.MSTORE(offset=0x2, value=0x1) + + Op.STOP, + balance=10, nonce=0, - address=Address("0x50f628d871a69f2db31e98d7fbf8ae6f1fc0d55c"), # noqa: E501 + address=Address(0x9B68A6B37AF295C7FD23AA2269DB8C875C2B86B4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0xE541572CE4B4CCBB2B92AAB0FB852F018D51C512, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0x6D797B6A2C5F22885C4068990F19AE845D698A79, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 32 ) (MSTORE 0 (CALLCODE 100000 0 32 64 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x20, value=0xB93CF5121157D61AB42345F5A5E9815B19CEC2CC + ) + + Op.MSTORE( + offset=0x0, + value=Op.CALLCODE( + gas=0x186A0, + address=0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, + value=0x0, + args_offset=0x20, + args_size=0x40, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x50, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x56) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, + balance=10, nonce=0, - address=Address("0x6d797b6a2c5f22885c4068990f19ae845d698a79"), # noqa: E501 + address=Address(0xBA044A82B25080BC96678B9FA77678E014605C48), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x4AF0C90F8F7B7834E7E7BD57DDA960412F9650F9, - ) - + Op.MSTORE( - offset=0x0, - value=Op.DELEGATECALL( - gas=0x186A0, - address=0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x4E, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x54) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 ) (MSTORE 0 (CALLCODE 100000 1 0 32 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x6D797B6A2C5F22885C4068990F19AE845D698A79 + ) + + Op.MSTORE( + offset=0x0, + value=Op.CALLCODE( + gas=0x186A0, + address=0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x50, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x56) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=10, nonce=0, - address=Address("0x8113f9fc0868700534ecbecf1120a812cb1af0ac"), # noqa: E501 + address=Address(0xE541572CE4B4CCBB2B92AAB0FB852F018D51C512), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xA131950507C8977B0DE1790C8E76A1A28DD92805, - ) - + Op.MSTORE( - offset=0x0, - value=Op.CALL( - gas=0x186A0, - address=0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.MSTORE(offset=0x2, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 ) (MSTORE 0 (DELEGATECALL 100000 0 32 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x4AF0C90F8F7B7834E7E7BD57DDA960412F9650F9 + ) + + Op.MSTORE( + offset=0x0, + value=Op.DELEGATECALL( + gas=0x186A0, + address=0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x4E, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x54) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, balance=10, nonce=0, - address=Address("0x9b68a6b37af295c7fd23aa2269db8c875c2b86b4"), # noqa: E501 + address=Address(0x8113F9FC0868700534ECBECF1120A812CB1AF0AC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0xA131950507C8977B0DE1790C8E76A1A28DD92805, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 2)) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=Op.STATICCALL( + gas=0x186A0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x24, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x2A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xa131950507c8977b0de1790c8e76a1a28dd92805"), # noqa: E501 + address=Address(0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0xBA044A82B25080BC96678B9FA77678E014605C48, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0xB93CF5121157D61AB42345F5A5E9815B19CEC2CC, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0xA131950507C8977B0DE1790C8E76A1A28DD92805, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xb93cf5121157d61ab42345f5a5e9815b19cec2cc"), # noqa: E501 + address=Address(0xA131950507C8977B0DE1790C8E76A1A28DD92805), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x20, - value=0xB93CF5121157D61AB42345F5A5E9815B19CEC2CC, - ) - + Op.MSTORE( - offset=0x0, - value=Op.CALLCODE( - gas=0x186A0, - address=0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, - value=0x0, - args_offset=0x20, - args_size=0x40, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x50, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x56) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), - balance=10, + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 1 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x9B68A6B37AF295C7FD23AA2269DB8C875C2B86B4, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0xEF6A70E5546CA5339758B2F3B819780625C233C3, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x1, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xba044a82b25080bc96678b9fa77678e014605c48"), # noqa: E501 + address=Address(0xEF6A70E5546CA5339758B2F3B819780625C233C3), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x6D797B6A2C5F22885C4068990F19AE845D698A79, - ) - + Op.MSTORE( - offset=0x0, - value=Op.CALLCODE( - gas=0x186A0, - address=0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x50, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x56) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), - balance=10, + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_9 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0xBA044A82B25080BC96678B9FA77678E014605C48, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0xB93CF5121157D61AB42345F5A5E9815B19CEC2CC, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xe541572ce4b4ccbb2b92aab0fb852f018d51c512"), # noqa: E501 + address=Address(0xB93CF5121157D61AB42345F5A5E9815B19CEC2CC), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x9B68A6B37AF295C7FD23AA2269DB8C875C2B86B4, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0xEF6A70E5546CA5339758B2F3B819780625C233C3, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x1, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_10 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0xE541572CE4B4CCBB2B92AAB0FB852F018D51C512, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0x6D797B6A2C5F22885C4068990F19AE845D698A79, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xef6a70e5546ca5339758b2f3b819780625c233c3"), # noqa: E501 + address=Address(0x6D797B6A2C5F22885C4068990F19AE845D698A79), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xA131950507C8977B0DE1790C8E76A1A28DD92805, - ) - + Op.MSTORE( - offset=0x0, - value=Op.CALL( - gas=0x186A0, - address=0x2E5DC1C94AF89D7C115126FCEBAD7A5C50F5FE35, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI(pc=0x50, condition=Op.EQ(0x1, Op.MLOAD(offset=0x0))) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x56) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), - balance=10, + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_11 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x8113F9FC0868700534ECBECF1120A812CB1AF0AC, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0x4AF0C90F8F7B7834E7E7BD57DDA960412F9650F9, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xf697c2d8963df21523b18e96caaf6c7703a1882e"), # noqa: E501 + address=Address(0x4AF0C90F8F7B7834E7E7BD57DDA960412F9650F9), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 2, 3, 4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={1: 1}), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={1: 0}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [335000] + tx_value = [0, 100] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=335000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_check_opcodes4.py b/tests/ported_static/stStaticCall/test_static_check_opcodes4.py index 92510edd825..251fd1ea1bf 100644 --- a/tests/ported_static/stStaticCall/test_static_check_opcodes4.py +++ b/tests/ported_static/stStaticCall/test_static_check_opcodes4.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_check_opcodes4. Ported from: -tests/static/state_tests/stStaticCall/static_CheckOpcodes4Filler.json +state_tests/stStaticCall/static_CheckOpcodes4Filler.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,59 +27,50 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CheckOpcodes4Filler.json"], + ["state_tests/stStaticCall/static_CheckOpcodes4Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - (50000, 0, {}), - (50000, 100, {}), - ( - 335000, + pytest.param( 0, - { - Address("0x3350a62ddddd0ff0e39cd82e2d185fe06b5fcf49"): Account( - storage={ - 1: 1, - 2: 1, - 3: 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - 5: 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - 6: 0x3350A62DDDDD0FF0E39CD82E2D185FE06B5FCF49, - } - ) - }, + 0, + 0, + id="-g0-v0", ), - ( - 335000, - 100, - { - Address("0x3350a62ddddd0ff0e39cd82e2d185fe06b5fcf49"): Account( - storage={ - 1: 1, - 2: 1, - 3: 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - 4: 100, - 5: 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - 6: 0x3350A62DDDDD0FF0E39CD82E2D185FE06B5FCF49, - } - ) - }, + pytest.param( + 0, + 0, + 1, + id="-g0-v1", + ), + pytest.param( + 0, + 1, + 0, + id="-g1-v0", + ), + pytest.param( + 0, + 1, + 1, + id="-g1-v1", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_check_opcodes4( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_check_opcodes4.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -88,148 +84,192 @@ def test_static_check_opcodes4( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[1]] (STATICCALL 100000 0 0 0 0) [[2]] (STATICCALL 100000 0 0 0 0) [[3]] (CALLER) [[4]] (CALLVALUE) [[5]] (ORIGIN) [[6]] (ADDRESS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x186A0, - address=0xB4B91C40F3E3A6E5576B0413572B88D535CEE7B0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x186A0, - address=0x8FD6268252F0D331531601B40524719C7F681FE9, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x3, value=Op.CALLER) - + Op.SSTORE(key=0x4, value=Op.CALLVALUE) - + Op.SSTORE(key=0x5, value=Op.ORIGIN) - + Op.SSTORE(key=0x6, value=Op.ADDRESS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x186A0, + address=0xB4B91C40F3E3A6E5576B0413572B88D535CEE7B0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x186A0, + address=0x8FD6268252F0D331531601B40524719C7F681FE9, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x3, value=Op.CALLER) + + Op.SSTORE(key=0x4, value=Op.CALLVALUE) + + Op.SSTORE(key=0x5, value=Op.ORIGIN) + + Op.SSTORE(key=0x6, value=Op.ADDRESS) + + Op.STOP, nonce=0, - address=Address("0x3350a62ddddd0ff0e39cd82e2d185fe06b5fcf49"), # noqa: E501 + address=Address(0x3350A62DDDDD0FF0E39CD82E2D185FE06B5FCF49), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x3350A62DDDDD0FF0E39CD82E2D185FE06B5FCF49, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0x8FD6268252F0D331531601B40524719C7F681FE9, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x3350A62DDDDD0FF0E39CD82E2D185FE06B5FCF49, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0xB4B91C40F3E3A6E5576B0413572B88D535CEE7B0, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x8fd6268252f0d331531601b40524719c7f681fe9"), # noqa: E501 + address=Address(0xB4B91C40F3E3A6E5576B0413572B88D535CEE7B0), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x3350A62DDDDD0FF0E39CD82E2D185FE06B5FCF49, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0xB4B91C40F3E3A6E5576B0413572B88D535CEE7B0, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x3350A62DDDDD0FF0E39CD82E2D185FE06B5FCF49, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0x8FD6268252F0D331531601B40524719C7F681FE9, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xb4b91c40f3e3a6e5576b0413572b88d535cee7b0"), # noqa: E501 + address=Address(0x8FD6268252F0D331531601B40524719C7F681FE9), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 1, "value": 0}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account( + storage={ + 1: 1, + 2: 1, + 3: 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, + 5: 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, + 6: 0x3350A62DDDDD0FF0E39CD82E2D185FE06B5FCF49, + }, + ), + }, + }, + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={}), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": 1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account( + storage={ + 1: 1, + 2: 1, + 3: 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, + 4: 100, + 5: 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, + 6: 0x3350A62DDDDD0FF0E39CD82E2D185FE06B5FCF49, + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [50000, 335000] + tx_value = [0, 100] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_check_opcodes5.py b/tests/ported_static/stStaticCall/test_static_check_opcodes5.py index b0d2cb83703..b10dda3bdd9 100644 --- a/tests/ported_static/stStaticCall/test_static_check_opcodes5.py +++ b/tests/ported_static/stStaticCall/test_static_check_opcodes5.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_check_opcodes5. Ported from: -tests/static/state_tests/stStaticCall/static_CheckOpcodes5Filler.json +state_tests/stStaticCall/static_CheckOpcodes5Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,238 +27,146 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_CheckOpcodes5Filler.json"], + ["state_tests/stStaticCall/static_CheckOpcodes5Filler.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, expected_post", + "d, g, v", [ - ( - "0000000000000000000000002c073c9d611d927ca91e4819bbb2dff859a8732b", - 50000, + pytest.param( + 0, 0, - {}, + 0, + id="d0-g0-v0", ), - ( - "0000000000000000000000002c073c9d611d927ca91e4819bbb2dff859a8732b", - 50000, - 100, - {}, + pytest.param( + 0, + 0, + 1, + id="d0-g0-v1", ), - ( - "0000000000000000000000002c073c9d611d927ca91e4819bbb2dff859a8732b", - 335000, + pytest.param( 0, - { - Address("0x1fe115f5d840cd62e113b09755c50d8f3f358b96"): Account( - storage={1: 1} - ), - Address("0x8eeb303e1e7e2bb67d778526e009014a5daead81"): Account( - storage={0: 1} - ), - }, + 1, + 0, + id="d0-g1-v0", ), - ( - "0000000000000000000000002c073c9d611d927ca91e4819bbb2dff859a8732b", - 335000, - 100, - { - Address("0x1fe115f5d840cd62e113b09755c50d8f3f358b96"): Account( - storage={1: 1} - ), - Address("0x8eeb303e1e7e2bb67d778526e009014a5daead81"): Account( - storage={0: 1} - ), - }, + pytest.param( + 0, + 1, + 1, + id="d0-g1-v1", ), - ( - "0000000000000000000000007761311ee56479da378519606cc4da58e17251ab", - 50000, + pytest.param( + 1, + 0, 0, - {}, + id="d1-g0-v0", ), - ( - "0000000000000000000000007761311ee56479da378519606cc4da58e17251ab", - 50000, - 100, - {}, + pytest.param( + 1, + 0, + 1, + id="d1-g0-v1", ), - ( - "0000000000000000000000007761311ee56479da378519606cc4da58e17251ab", - 335000, + pytest.param( + 1, + 1, 0, - { - Address("0x1fe115f5d840cd62e113b09755c50d8f3f358b96"): Account( - storage={1: 1} - ), - Address("0x8eeb303e1e7e2bb67d778526e009014a5daead81"): Account( - storage={0: 1} - ), - }, + id="d1-g1-v0", ), - ( - "0000000000000000000000007761311ee56479da378519606cc4da58e17251ab", - 335000, - 100, - { - Address("0x1fe115f5d840cd62e113b09755c50d8f3f358b96"): Account( - storage={1: 1} - ), - Address("0x8eeb303e1e7e2bb67d778526e009014a5daead81"): Account( - storage={0: 1} - ), - }, + pytest.param( + 1, + 1, + 1, + id="d1-g1-v1", ), - ( - "0000000000000000000000009c40928b20ac4236f0f3920567f28539c2e158b3", - 50000, + pytest.param( + 2, 0, - {}, + 0, + id="d2-g0-v0", ), - ( - "0000000000000000000000009c40928b20ac4236f0f3920567f28539c2e158b3", - 50000, - 100, - {}, + pytest.param( + 2, + 0, + 1, + id="d2-g0-v1", ), - ( - "0000000000000000000000009c40928b20ac4236f0f3920567f28539c2e158b3", - 335000, + pytest.param( + 2, + 1, 0, - { - Address("0x1fe115f5d840cd62e113b09755c50d8f3f358b96"): Account( - storage={1: 1} - ), - Address("0x9c40928b20ac4236f0f3920567f28539c2e158b3"): Account( - storage={0: 1} - ), - }, + id="d2-g1-v0", ), - ( - "0000000000000000000000009c40928b20ac4236f0f3920567f28539c2e158b3", - 335000, - 100, - { - Address("0x1fe115f5d840cd62e113b09755c50d8f3f358b96"): Account( - storage={1: 1} - ), - Address("0x9c40928b20ac4236f0f3920567f28539c2e158b3"): Account( - storage={0: 1} - ), - }, + pytest.param( + 2, + 1, + 1, + id="d2-g1-v1", ), - ( - "0000000000000000000000008a6781f0d54ed3cb8963ffc233e98041de8bdadb", - 50000, + pytest.param( + 3, 0, - {}, + 0, + id="d3-g0-v0", ), - ( - "0000000000000000000000008a6781f0d54ed3cb8963ffc233e98041de8bdadb", - 50000, - 100, - {}, + pytest.param( + 3, + 0, + 1, + id="d3-g0-v1", ), - ( - "0000000000000000000000008a6781f0d54ed3cb8963ffc233e98041de8bdadb", - 335000, + pytest.param( + 3, + 1, 0, - { - Address("0x1fe115f5d840cd62e113b09755c50d8f3f358b96"): Account( - storage={1: 1} - ), - Address("0x8a6781f0d54ed3cb8963ffc233e98041de8bdadb"): Account( - storage={0: 1} - ), - }, + id="d3-g1-v0", ), - ( - "0000000000000000000000008a6781f0d54ed3cb8963ffc233e98041de8bdadb", - 335000, - 100, - { - Address("0x1fe115f5d840cd62e113b09755c50d8f3f358b96"): Account( - storage={1: 1} - ), - Address("0x8a6781f0d54ed3cb8963ffc233e98041de8bdadb"): Account( - storage={0: 1} - ), - }, + pytest.param( + 3, + 1, + 1, + id="d3-g1-v1", ), - ( - "00000000000000000000000009fce828cbd5c5bdc742fe5a63776e2a76a111e5", - 50000, + pytest.param( + 4, + 0, 0, - {}, + id="d4-g0-v0", ), - ( - "00000000000000000000000009fce828cbd5c5bdc742fe5a63776e2a76a111e5", - 50000, - 100, - {}, + pytest.param( + 4, + 0, + 1, + id="d4-g0-v1", ), - ( - "00000000000000000000000009fce828cbd5c5bdc742fe5a63776e2a76a111e5", - 335000, + pytest.param( + 4, + 1, 0, - { - Address("0x09fce828cbd5c5bdc742fe5a63776e2a76a111e5"): Account( - storage={0: 1} - ), - Address("0x1fe115f5d840cd62e113b09755c50d8f3f358b96"): Account( - storage={1: 1} - ), - }, + id="d4-g1-v0", ), - ( - "00000000000000000000000009fce828cbd5c5bdc742fe5a63776e2a76a111e5", - 335000, - 100, - { - Address("0x09fce828cbd5c5bdc742fe5a63776e2a76a111e5"): Account( - storage={0: 1} - ), - Address("0x1fe115f5d840cd62e113b09755c50d8f3f358b96"): Account( - storage={1: 1} - ), - }, + pytest.param( + 4, + 1, + 1, + id="d4-g1-v1", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_check_opcodes5( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_check_opcodes5.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -267,356 +180,389 @@ def test_static_check_opcodes5( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x972F33115B9E8BE9C87412A04CE61E6C3A84D15D, - ) - + Op.DELEGATECALL( - gas=0x186A0, - address=0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[1]] (CALL 250000 (CALLDATALOAD 0) 0 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x3D090, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, args_offset=0x0, - args_size=0x20, + args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), - balance=10, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x09fce828cbd5c5bdc742fe5a63776e2a76a111e5"), # noqa: E501 + address=Address(0x1FE115F5D840CD62E113B09755C50D8F3F358B96), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x8A6781F0D54ED3CB8963FFC233E98041DE8BDADB, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0x19473707238EF04C4550E6EEE0D12BC0E3A7A02A, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 ) (CALL 100000 0 0 32 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0xDF047446304BC9145D7BA20CD326E1097DA151FF + ) + + Op.CALL( + gas=0x186A0, + address=0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x19473707238ef04c4550e6eee0d12bc0e3a7a02a"), # noqa: E501 + address=Address(0x2C073C9D611D927CA91E4819BBB2DFF859A8732B), # noqa: E501 ) - # Source: LLL - # { [[1]] (CALL 250000 (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x3D090, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 ) (CALL 100000 10 0 32 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0xDF047446304BC9145D7BA20CD326E1097DA151FF + ) + + Op.CALL( + gas=0x186A0, + address=0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, + value=0xA, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=10, nonce=0, - address=Address("0x1fe115f5d840cd62e113b09755c50d8f3f358b96"), # noqa: E501 + address=Address(0x7761311EE56479DA378519606CC4DA58E17251AB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xDF047446304BC9145D7BA20CD326E1097DA151FF, - ) - + Op.CALL( - gas=0x186A0, - address=0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 ) (CALLCODE 100000 0 0 32 0 0) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x3F1AFEC0E6911FF45E18F4286F10DD905CD18F29 + ) + + Op.CALLCODE( + gas=0x186A0, + address=0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=10, nonce=0, - address=Address("0x2c073c9d611d927ca91e4819bbb2dff859a8732b"), # noqa: E501 + address=Address(0x9C40928B20AC4236F0F3920567F28539C2E158B3), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x9C40928B20AC4236F0F3920567F28539C2E158B3, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0x3F1AFEC0E6911FF45E18F4286F10DD905CD18F29, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 ) (CALLCODE 100000 1 0 32 0 0) } # noqa: E501 + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x19473707238EF04C4550E6EEE0D12BC0E3A7A02A + ) + + Op.CALLCODE( + gas=0x186A0, + address=0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=10, nonce=0, - address=Address("0x3f1afec0e6911ff45e18f4286f10dd905cd18f29"), # noqa: E501 + address=Address(0x8A6781F0D54ED3CB8963FFC233E98041DE8BDADB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xDF047446304BC9145D7BA20CD326E1097DA151FF, - ) - + Op.CALL( - gas=0x186A0, - address=0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, - value=0xA, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 ) (DELEGATECALL 100000 0 32 0 0) } # noqa: E501 + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=0x972F33115B9E8BE9C87412A04CE61E6C3A84D15D + ) + + Op.DELEGATECALL( + gas=0x186A0, + address=0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=10, nonce=0, - address=Address("0x7761311ee56479da378519606cc4da58e17251ab"), # noqa: E501 + address=Address(0x09FCE828CBD5C5BDC742FE5A63776E2A76A111E5), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x19473707238EF04C4550E6EEE0D12BC0E3A7A02A, - ) - + Op.CALLCODE( - gas=0x186A0, - address=0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, - value=0x1, + # Source: lll + # { [[ 0 ]] (STATICCALL 50000 (CALLDATALOAD 0) 0 0 0 0) } + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xC350, + address=Op.CALLDATALOAD(offset=0x0), args_offset=0x0, - args_size=0x20, + args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), - balance=10, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x8a6781f0d54ed3cb8963ffc233e98041de8bdadb"), # noqa: E501 + address=Address(0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xC350, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0xDF047446304BC9145D7BA20CD326E1097DA151FF, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x8eeb303e1e7e2bb67d778526e009014a5daead81"), # noqa: E501 + address=Address(0xDF047446304BC9145D7BA20CD326E1097DA151FF), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x9FCE828CBD5C5BDC742FE5A63776E2A76A111E5, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0x972F33115B9E8BE9C87412A04CE61E6C3A84D15D, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x9C40928B20AC4236F0F3920567F28539C2E158B3, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0x3F1AFEC0E6911FF45E18F4286F10DD905CD18F29, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x972f33115b9e8be9c87412a04ce61e6c3a84d15d"), # noqa: E501 + address=Address(0x3F1AFEC0E6911FF45E18F4286F10DD905CD18F29), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x3F1AFEC0E6911FF45E18F4286F10DD905CD18F29, - ) - + Op.CALLCODE( - gas=0x186A0, - address=0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=10, + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_9 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x8A6781F0D54ED3CB8963FFC233E98041DE8BDADB, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0x19473707238EF04C4550E6EEE0D12BC0E3A7A02A, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x9c40928b20ac4236f0f3920567f28539c2e158b3"), # noqa: E501 + address=Address(0x19473707238EF04C4550E6EEE0D12BC0E3A7A02A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x22, - condition=Op.EQ( - 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, - Op.ORIGIN, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x28) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x4B, - condition=Op.EQ( - 0x8EEB303E1E7E2BB67D778526E009014A5DAEAD81, - Op.CALLER, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x51) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI( - pc=0x74, - condition=Op.EQ( - 0xDF047446304BC9145D7BA20CD326E1097DA151FF, - Op.ADDRESS, - ), - ) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x7A) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) - + Op.SSTORE(key=0x1, value=0x2) - + Op.JUMP(pc=0x90) - + Op.JUMPDEST - + Op.MSTORE(offset=0x1, value=0x1) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (if (= (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) } # noqa: E501 + addr_10 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x22, + condition=Op.EQ( + 0xFAA10B404AB607779993C016CD5DA73AE1F29D7E, Op.ORIGIN + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x28) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4B, + condition=Op.EQ( + 0x9FCE828CBD5C5BDC742FE5A63776E2A76A111E5, Op.CALLER + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x51) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x74, + condition=Op.EQ( + 0x972F33115B9E8BE9C87412A04CE61E6C3A84D15D, Op.ADDRESS + ), + ) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x7A) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x0, Op.CALLVALUE)) + + Op.SSTORE(key=0x1, value=0x2) + + Op.JUMP(pc=0x90) + + Op.JUMPDEST + + Op.MSTORE(offset=0x1, value=0x1) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xdf047446304bc9145d7ba20cd326e1097da151ff"), # noqa: E501 + address=Address(0x972F33115B9E8BE9C87412A04CE61E6C3A84D15D), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr_6: Account(storage={0: 0}), + }, + }, + { + "indexes": {"data": [0, 1], "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr_6: Account(storage={0: 1}), + }, + }, + { + "indexes": {"data": [2], "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr_3: Account(storage={0: 1}), + }, + }, + { + "indexes": {"data": [3], "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr_4: Account(storage={0: 1}), + }, + }, + { + "indexes": {"data": [4], "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + addr_5: Account(storage={0: 1}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [50000, 335000] + tx_value = [0, 100] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_contract_creation_make_call_that_ask_more_gas_then_transaction_provided.py b/tests/ported_static/stStaticCall/test_static_contract_creation_make_call_that_ask_more_gas_then_transaction_provided.py index 20e27fc93ed..b8498d6f638 100644 --- a/tests/ported_static/stStaticCall/test_static_contract_creation_make_call_that_ask_more_gas_then_transaction_provided.py +++ b/tests/ported_static/stStaticCall/test_static_contract_creation_make_call_that_ask_more_gas_then_transaction_provided.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_contract_creation_make_call_that_ask_more_gas_then_transacti... Ported from: -tests/static/state_tests/stStaticCall -static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json +state_tests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json """ import pytest @@ -15,6 +14,11 @@ Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) from execution_testing.vm import Op @@ -24,42 +28,58 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "604060006040600073100000000000000000000000000000000000000161c350fa", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "604060006040600073200000000000000000000000000000000000000161c350fa", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "604060006040600073300000000000000000000000000000000000000161c350fa", # noqa: E501 - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "604060006040600073400000000000000000000000000000000000000161c350fa", # noqa: E501 - {}, + pytest.param( + 3, + 0, + 0, + id="d3", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_contract_creation_make_call_that_ask_more_gas_then_transaction_provided( # noqa: E501 state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_contract_creation_make_call_that_ask_more_gas_then_tran...""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0x1000000000000000000000000000000000000001) + contract_2 = Address(0x2000000000000000000000000000000000000001) + contract_3 = Address(0x3000000000000000000000000000000000000001) + contract_4 = Address(0x4000000000000000000000000000000000000001) + contract_5 = Address(0x5000000000000000000000000000000000000001) + contract_6 = Address(0x4000000000000000000000000000000000000004) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -73,116 +93,181 @@ def test_static_contract_creation_make_call_that_ask_more_gas_then_transaction_p gas_limit=100000000, ) - # Source: LLL + pre[sender] = Account(balance=0x10C8E0) + # Source: lll + # {(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 64 0 64)} + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0xC350, + address=0x1000000000000000000000000000000000000001, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x186A0, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll # {(SSTORE 1 1)} - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # {(MSTORE 1 1)} - pre.deploy_contract( + contract_2 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0x2000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0x3000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # { (CALLCODE 1000 0x4000000000000000000000000000000000000004 0 0 0 0 0) } - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0x3E8, - address=0x4000000000000000000000000000000000000004, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0x186A0, - nonce=0, - address=Address("0x4000000000000000000000000000000000000001"), # noqa: E501 - ) - # Source: LLL - # { (MSTORE 1 1) } - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0x3E8, + address=0x4000000000000000000000000000000000000004, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0x4000000000000000000000000000000000000004"), # noqa: E501 + address=Address(0x4000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # { (CALLCODE 1000000 0x4000000000000000000000000000000000000004 0 0 0 0 0) } # noqa: E501 - pre.deploy_contract( - code=( - Op.CALLCODE( - gas=0xF4240, - address=0x4000000000000000000000000000000000000004, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.CALLCODE( + gas=0xF4240, + address=0x4000000000000000000000000000000000000004, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0x5000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x5000000000000000000000000000000000000001), # noqa: E501 ) - pre[sender] = Account(balance=0x10C8E0) - # Source: LLL - # {(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 64 0 64)} - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0xC350, - address=0x1000000000000000000000000000000000000001, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 1 1) } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0x4000000000000000000000000000000000000004), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ) + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ) + }, + }, + { + "indexes": {"data": 2, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ) + }, + }, + { + "indexes": {"data": 3, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ) + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.STATICCALL( + gas=0xC350, + address=contract_1, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + Op.STATICCALL( + gas=0xC350, + address=contract_2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + Op.STATICCALL( + gas=0xC350, + address=contract_3, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + Op.STATICCALL( + gas=0xC350, + address=contract_4, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ), + ] + tx_gas = [96000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=96000, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_contract_creation_oo_gdont_leave_empty_contract_via_transaction.py b/tests/ported_static/stStaticCall/test_static_contract_creation_oo_gdont_leave_empty_contract_via_transaction.py index 379ca697cf9..3e735f9db5c 100644 --- a/tests/ported_static/stStaticCall/test_static_contract_creation_oo_gdont_leave_empty_contract_via_transaction.py +++ b/tests/ported_static/stStaticCall/test_static_contract_creation_oo_gdont_leave_empty_contract_via_transaction.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_contract_creation_oo_gdont_leave_empty_contract_via_transact... Ported from: -tests/static/state_tests/stStaticCall -static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json +state_tests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json """ import pytest @@ -15,6 +14,7 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,18 +24,21 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_contract_creation_oo_gdont_leave_empty_contract_via_transaction( # noqa: E501 state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_contract_creation_oo_gdont_leave_empty_contract_via_tra...""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0x1000000000000000000000000000000000000001) + contract_2 = Address(0x2000000000000000000000000000000000000001) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,60 +52,60 @@ def test_static_contract_creation_oo_gdont_leave_empty_contract_via_transaction( gas_limit=1000000, ) - # Source: LLL + pre[sender] = Account(balance=0x10C8E0) + # Source: lll + # {(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 64 0 64)} + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0xC350, + address=0x1000000000000000000000000000000000000001, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, + ) + + Op.STOP, + balance=0x186A0, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll # {(MSTORE 1 1)} - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0x2000000000000000000000000000000000000001"), # noqa: E501 - ) - pre[sender] = Account(balance=0x10C8E0) - # Source: LLL - # {(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 64 0 64)} - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0xC350, - address=0x1000000000000000000000000000000000000001, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x40, - ) - + Op.STOP - ), - balance=0x186A0, + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000001), # noqa: E501 ) tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "604060006040600073200000000000000000000000000000000000000161c350fa" # noqa: E501 + data=Op.STATICCALL( + gas=0xC350, + address=contract_2, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x40, ), gas_limit=96000, ) - post: dict = {} + post = {compute_create_address(address=sender, nonce=0): Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init.py b/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init.py index 4321eb3ca3b..1090a23cfaa 100644 --- a/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init.py +++ b/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_create_contract_suicide_during_init. Ported from: -tests/static/state_tests/stStaticCall -static_CREATE_ContractSuicideDuringInitFiller.json +state_tests/stStaticCall/static_CREATE_ContractSuicideDuringInitFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,55 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CREATE_ContractSuicideDuringInitFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CREATE_ContractSuicideDuringInitFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "600060006000600073b94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "600060006000600073d94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff", # noqa: E501 - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "600060006000600073e94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff", # noqa: E501 - {}, + pytest.param( + 3, + 0, + 0, + id="d3", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_create_contract_suicide_during_init( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_create_contract_suicide_during_init.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_2 = Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_3 = Address(0xE94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -74,69 +88,117 @@ def test_static_create_contract_suicide_during_init( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL - # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), - balance=11, - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (MSTORE 1 1) } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, + balance=11, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # { (SSTORE 1 1) } - pre.deploy_contract( + contract_2 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, balance=11, nonce=0, - address=Address("0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # { (CALL 100 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) } - pre.deploy_contract( - code=( - Op.CALL( - gas=0x64, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x1, + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x64, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=11, + nonce=0, + address=Address(0xE94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + + tx_data = [ + Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=contract_0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ) - + Op.STOP - ), - balance=11, - nonce=0, - address=Address("0xe94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + ) + + Op.MSTORE(offset=0x0, value=0x64600C6000556000526005601BF3) + + Op.SELFDESTRUCT(address=contract_0), + Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x64600C6000556000526005601BF3) + + Op.SELFDESTRUCT(address=contract_0), + Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=contract_2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x64600C6000556000526005601BF3) + + Op.SELFDESTRUCT(address=contract_0), + Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x64600C6000556000526005601BF3) + + Op.SELFDESTRUCT(address=contract_0), + ] + tx_gas = [150000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=150000, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = expected_post + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, + contract_0: Account(storage={1: 0}, balance=0), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init_then_store_then_return.py b/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init_then_store_then_return.py index 50447a2531c..e167563d30c 100644 --- a/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init_then_store_then_return.py +++ b/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init_then_store_then_return.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_create_contract_suicide_during_init_then_store_then_return. Ported from: -tests/static/state_tests/stStaticCall -static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json +state_tests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,34 +25,43 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273d94f5374fce5edbc8e2a8697c15331677e6ebf0bff600060006000600073d94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa50600b600055600e6012f3", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "600060006000600073094f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273d94f5374fce5edbc8e2a8697c15331677e6ebf0bff600060006000600073194f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa50600b600055600e6012f3", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_create_contract_suicide_during_init_then_store_then_return( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_create_contract_suicide_during_init_then_store_then_return.""" # noqa: E501 + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_2 = Address(0x094F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_3 = Address(0x194F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -65,46 +75,103 @@ def test_static_create_contract_suicide_during_init_then_store_then_return( gas_limit=10000000, ) - # Source: LLL - # { (MSTORE 1 1) } - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x094f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - # Source: LLL - # {(MSTORE 1 1) } - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, - nonce=0, - address=Address("0x194f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # {[[1]]12} - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # {[[1]]12} - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, nonce=0, - address=Address("0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll + # { (MSTORE 1 1) } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x094F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: lll + # {(MSTORE 1 1) } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + nonce=0, + address=Address(0x194F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x64600C6000556000526005601BF3) + + Op.SELFDESTRUCT(address=contract_1) + + Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x0, value=0xB) + + Op.RETURN(offset=0x12, size=0xE), + Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=contract_2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x64600C6000556000526005601BF3) + + Op.SELFDESTRUCT(address=contract_1) + + Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE(key=0x0, value=0xB) + + Op.RETURN(offset=0x12, size=0xE), + ] + tx_gas = [600000] + tx_value = [10] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=600000, - value=10, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, + contract_0: Account(storage={1: 0}, balance=0), + contract_1: Account(storage={1: 0}, balance=10), + contract_2: Account(storage={1: 0}, balance=0), + contract_3: Account(storage={1: 0}, balance=0), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init_with_value.py b/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init_with_value.py index 768ad03cfa8..4192b76403e 100644 --- a/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init_with_value.py +++ b/tests/ported_static/stStaticCall/test_static_create_contract_suicide_during_init_with_value.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_create_contract_suicide_during_init_with_value. Ported from: -tests/static/state_tests/stStaticCall -static_CREATE_ContractSuicideDuringInit_WithValueFiller.json +state_tests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValueFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,34 +25,41 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValueFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValueFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff", # noqa: E501 - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "600060006000600073d94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff", # noqa: E501 - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_create_contract_suicide_during_init_with_value( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_create_contract_suicide_during_init_with_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -66,31 +74,61 @@ def test_static_create_contract_suicide_during_init_with_value( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # {[[1]]12} - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 1 1) } - pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, nonce=0, - address=Address("0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=contract_0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x64600C6000556000526005601BF3) + + Op.SELFDESTRUCT(address=contract_0), + Op.POP( + Op.STATICCALL( + gas=0xEA60, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.MSTORE(offset=0x0, value=0x64600C6000556000526005601BF3) + + Op.SELFDESTRUCT(address=contract_0), + ] + tx_gas = [150000] + tx_value = [10] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=150000, - value=10, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + compute_create_address(address=sender, nonce=0): Account.NONEXISTENT, + contract_0: Account(storage={1: 0}, balance=10), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_create_empty_contract_and_call_it_0wei.py b/tests/ported_static/stStaticCall/test_static_create_empty_contract_and_call_it_0wei.py index 693d4d0bf74..e0447f422ca 100644 --- a/tests/ported_static/stStaticCall/test_static_create_empty_contract_and_call_it_0wei.py +++ b/tests/ported_static/stStaticCall/test_static_create_empty_contract_and_call_it_0wei.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_create_empty_contract_and_call_it_0wei. Ported from: -tests/static/state_tests/stStaticCall -static_CREATE_EmptyContractAndCallIt_0weiFiller.json +state_tests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0weiFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,18 +25,19 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0weiFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0weiFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_create_empty_contract_and_call_it_0wei( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_create_empty_contract_and_call_it_0wei.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -50,41 +52,38 @@ def test_static_create_empty_contract_and_call_it_0wei( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (CREATE 0 0 32) [[2]](GAS) [[3]] (STATICCALL 60000 (SLOAD 1) 0 0 0 0) [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x20) - ) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE( - key=0x3, - value=Op.STATICCALL( - gas=0xEA60, - address=Op.SLOAD(key=0x1), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x20)) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE( + key=0x3, + value=Op.STATICCALL( + gas=0xEA60, + address=Op.SLOAD(key=0x1), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x8D5B6, 1: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, @@ -93,6 +92,7 @@ def test_static_create_empty_contract_and_call_it_0wei( 100: 0x6FE6E, }, ), + compute_create_address(address=contract_0, nonce=0): Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_create_empty_contract_with_storage_and_call_it_0wei.py b/tests/ported_static/stStaticCall/test_static_create_empty_contract_with_storage_and_call_it_0wei.py index ccbe7d342b1..0773334b4eb 100644 --- a/tests/ported_static/stStaticCall/test_static_create_empty_contract_with_storage_and_call_it_0wei.py +++ b/tests/ported_static/stStaticCall/test_static_create_empty_contract_with_storage_and_call_it_0wei.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_create_empty_contract_with_storage_and_call_it_0wei. Ported from: -tests/static/state_tests/stStaticCall -static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json +state_tests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,18 +25,20 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_create_empty_contract_with_storage_and_call_it_0wei( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_create_empty_contract_with_storage_and_call_it_0wei.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -50,57 +53,54 @@ def test_static_create_empty_contract_with_storage_and_call_it_0wei( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) (MSTORE 0 0x600c6000556000600060006000600073c94f5374fce5edbc8e2a8697c1533167) (MSTORE 32 0x7e6ebf0b61ea60f1000000000000000000000000000000000000000000000000) [[1]] (CREATE 0 0 64) [[2]] (GAS) [[3]] (STATICCALL 60000 (SLOAD 1) 0 0 0 0) [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.MSTORE( - offset=0x0, - value=0x600C6000556000600060006000600073C94F5374FCE5EDBC8E2A8697C1533167, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x7E6EBF0B61EA60F1000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x40) - ) - + Op.SSTORE(key=0x2, value=Op.GAS) - + Op.SSTORE( - key=0x3, - value=Op.STATICCALL( - gas=0xEA60, - address=Op.SLOAD(key=0x1), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.MSTORE( + offset=0x0, + value=0x600C6000556000600060006000600073C94F5374FCE5EDBC8E2A8697C1533167, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x7E6EBF0B61EA60F1000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.SSTORE(key=0x1, value=Op.CREATE(value=0x0, offset=0x0, size=0x40)) + + Op.SSTORE(key=0x2, value=Op.GAS) + + Op.SSTORE( + key=0x3, + value=Op.STATICCALL( + gas=0xEA60, + address=Op.SLOAD(key=0x1), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # {[[1]]12} - callee = pre.deploy_contract( + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0xC) + Op.STOP, balance=0xE8D4A51000, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0x8D5B6, 1: 0xF1ECF98489FA9ED60A664FC4998DB699CFA39D40, @@ -109,10 +109,8 @@ def test_static_create_empty_contract_with_storage_and_call_it_0wei( 100: 0x64766, }, ), - callee: Account(storage={1: 12}), - Address("0xf1ecf98489fa9ed60a664fc4998db699cfa39d40"): Account( - storage={0: 12}, - ), + compute_create_address(address=contract_0, nonce=0): Account(nonce=1), + contract_1: Account(storage={1: 12}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_execute_call_that_ask_fore_gas_then_trabsaction_has.py b/tests/ported_static/stStaticCall/test_static_execute_call_that_ask_fore_gas_then_trabsaction_has.py index dd72b354212..c6d266f8f0a 100644 --- a/tests/ported_static/stStaticCall/test_static_execute_call_that_ask_fore_gas_then_trabsaction_has.py +++ b/tests/ported_static/stStaticCall/test_static_execute_call_that_ask_fore_gas_then_trabsaction_has.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_execute_call_that_ask_fore_gas_then_trabsaction_has. Ported from: -tests/static/state_tests/stStaticCall -static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json +state_tests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +28,45 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000003dc16a13cf554533f380cc938a2c1ab04dac534f", - { - Address("0xa256ebcc5536cda56e04c39fe9584ecc7594a438"): Account( - storage={1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "00000000000000000000000073ef1878a0f2c9629dedc1b1e9be8d77dcf93688", - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "000000000000000000000000ce4ccbffaf450ae2126eb96dcd7c891f37764f20", - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_execute_call_that_ask_fore_gas_then_trabsaction_has( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_execute_call_that_ask_fore_gas_then_trabsaction_has.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xDC4EFA209AECDD4C2D5201A419EA27506151B4EC687F14A613229E310932491B ) @@ -73,66 +80,86 @@ def test_static_execute_call_that_ask_fore_gas_then_trabsaction_has( gas_limit=10000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, - balance=0x186A0, + pre[sender] = Account(balance=0x989680) + # Source: lll + # { [[1]] (STATICCALL 600000 (CALLDATALOAD 0) 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x927C0, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x3dc16a13cf554533f380cc938a2c1ab04dac534f"), # noqa: E501 + address=Address(0xA256EBCC5536CDA56E04C39FE9584ECC7594A438), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (MSTORE 1 1) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0x73ef1878a0f2c9629dedc1b1e9be8d77dcf93688"), # noqa: E501 + address=Address(0x3DC16A13CF554533F380CC938A2C1AB04DAC534F), # noqa: E501 ) - # Source: LLL - # { [[1]] (STATICCALL 600000 (CALLDATALOAD 0) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x927C0, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, + balance=0x186A0, nonce=0, - address=Address("0xa256ebcc5536cda56e04c39fe9584ecc7594a438"), # noqa: E501 + address=Address(0x73EF1878A0F2C9629DEDC1B1E9BE8D77DCF93688), # noqa: E501 ) - pre[sender] = Account(balance=0x989680) - pre.deploy_contract( + # Source: lll + # { (SSTORE 1 1) } + addr_3 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x1) + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0xce4ccbffaf450ae2126eb96dcd7c891f37764f20"), # noqa: E501 + address=Address(0xCE4CCBFFAF450AE2126EB96DCD7C891F37764F20), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [1, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 0})}, + }, + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + ] + tx_gas = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_internal_call_hitting_gas_limit.py b/tests/ported_static/stStaticCall/test_static_internal_call_hitting_gas_limit.py index 5a85b100cc5..7ade131bec4 100644 --- a/tests/ported_static/stStaticCall/test_static_internal_call_hitting_gas_limit.py +++ b/tests/ported_static/stStaticCall/test_static_internal_call_hitting_gas_limit.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_internal_call_hitting_gas_limit. Ported from: -tests/static/state_tests/stStaticCall -static_InternalCallHittingGasLimitFiller.json +state_tests/stStaticCall/static_InternalCallHittingGasLimitFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,21 +23,19 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_InternalCallHittingGasLimitFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_InternalCallHittingGasLimitFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_internal_call_hitting_gas_limit( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adf5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_internal_call_hitting_gas_limit.""" + coinbase = Address(0x2ADF5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( - key=0x07C857D62C76CE09F2E8EC3FA9277578C67B69C6547364568FDDB841071E5BD7 + key=0x7C857D62C76CE09F2E8EC3FA9277578C67B69C6547364568FDDB841071E5BD7 ) env = Environment( @@ -49,49 +47,47 @@ def test_static_internal_call_hitting_gas_limit( gas_limit=100000, ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), - nonce=0, - address=Address("0x285bb5c8a71646ab9a5796d4a718cc4826af8d06"), # noqa: E501 - ) - # Source: LLL + pre[sender] = Account(balance=0xF4240) + # Source: lll # { (STATICCALL 5000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.STATICCALL( - gas=0x1388, - address=0x285BB5C8A71646AB9A5796D4A718CC4826AF8D06, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=0x1388, + address=0x285BB5C8A71646AB9A5796D4A718CC4826AF8D06, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xF4240, nonce=0, - address=Address("0x5a755ead8f1201283f750b2f77af7d03399d5feb"), # noqa: E501 + address=Address(0x5A755EAD8F1201283F750B2F77AF7D03399D5FEB), # noqa: E501 + ) + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, + nonce=0, + address=Address(0x285BB5C8A71646AB9A5796D4A718CC4826AF8D06), # noqa: E501 ) - pre[sender] = Account(balance=0xF4240) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=21100, value=10, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_internal_call_hitting_gas_limit2.py b/tests/ported_static/stStaticCall/test_static_internal_call_hitting_gas_limit2.py index 7f55b679244..72adc72d954 100644 --- a/tests/ported_static/stStaticCall/test_static_internal_call_hitting_gas_limit2.py +++ b/tests/ported_static/stStaticCall/test_static_internal_call_hitting_gas_limit2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_internal_call_hitting_gas_limit2. Ported from: -tests/static/state_tests/stStaticCall -static_InternalCallHittingGasLimit2Filler.json +state_tests/stStaticCall/static_InternalCallHittingGasLimit2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,20 +24,20 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_InternalCallHittingGasLimit2Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_InternalCallHittingGasLimit2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_internal_call_hitting_gas_limit2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adf5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_internal_call_hitting_gas_limit2.""" + coinbase = Address(0x2ADF5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( - key=0x07C857D62C76CE09F2E8EC3FA9277578C67B69C6547364568FDDB841071E5BD7 + key=0x7C857D62C76CE09F2E8EC3FA9277578C67B69C6547364568FDDB841071E5BD7 ) env = Environment( @@ -49,51 +49,49 @@ def test_static_internal_call_hitting_gas_limit2( gas_limit=47766, ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x1C, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.POP(Op.EXTCODESIZE(address=0x1)) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.STOP - ), + pre[sender] = Account(balance=0xF4240) + # Source: lll + # { [[ 1 ]] (STATICCALL 25000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x61A8, + address=0x285BB5C8A71646AB9A5796D4A718CC4826AF8D06, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x285bb5c8a71646ab9a5796d4a718cc4826af8d06"), # noqa: E501 + address=Address(0xF0801B78978104BAE7D7D679F8E3990492825C3E), # noqa: E501 ) - # Source: LLL - # { [[ 1 ]] (STATICCALL 25000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x61A8, - address=0x285BB5C8A71646AB9A5796D4A718CC4826AF8D06, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x1C, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.POP(Op.EXTCODESIZE(address=0x1)) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0xf0801b78978104bae7d7d679f8e3990492825c3e"), # noqa: E501 + address=Address(0x285BB5C8A71646AB9A5796D4A718CC4826AF8D06), # noqa: E501 ) - pre[sender] = Account(balance=0xF4240) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=47766, value=10, ) - post: dict = {} + post = {target: Account(storage={1: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_internal_call_store_clears_oog.py b/tests/ported_static/stStaticCall/test_static_internal_call_store_clears_oog.py index f68cf700fcf..5747003967c 100644 --- a/tests/ported_static/stStaticCall/test_static_internal_call_store_clears_oog.py +++ b/tests/ported_static/stStaticCall/test_static_internal_call_store_clears_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_internal_call_store_clears_oog. Ported from: -tests/static/state_tests/stStaticCall -static_InternalCallStoreClearsOOGFiller.json +state_tests/stStaticCall/static_InternalCallStoreClearsOOGFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,19 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_InternalCallStoreClearsOOGFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_InternalCallStoreClearsOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_internal_call_store_clears_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_internal_call_store_clears_oog.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_0 = Address(0x0000000000000000000000000000000000000000) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,69 +49,66 @@ def test_static_internal_call_store_clears_oog( gas_limit=1000000, ) - # Source: LLL + # Source: lll # {(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0)(SSTORE 4 0)(SSTORE 5 0)(SSTORE 6 0)(SSTORE 7 0)(SSTORE 8 0)(SSTORE 9 0)} # noqa: E501 - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x0) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x0) + + Op.STOP, storage={ - 0x0: 0xC, - 0x1: 0xC, - 0x2: 0xC, - 0x3: 0xC, - 0x4: 0xC, - 0x5: 0xC, - 0x6: 0xC, - 0x7: 0xC, - 0x8: 0xC, - 0x9: 0xC, + 0: 12, + 1: 12, + 2: 12, + 3: 12, + 4: 12, + 5: 12, + 6: 12, + 7: 12, + 8: 12, + 9: 12, }, nonce=0, - address=Address("0x0000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) - # Source: LLL + # Source: lll # { [[ 1 ]] (STATICCALL 40000 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x9C40, - address=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x9C40, + address=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=10, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_1, + data=Bytes(""), gas_limit=160000, value=10, ) post = { - callee: Account( + contract_0: Account( storage={ 0: 12, 1: 12, @@ -124,7 +121,10 @@ def test_static_internal_call_store_clears_oog( 8: 12, 9: 12, }, + balance=0, ), + sender: Account(nonce=1), + contract_1: Account(storage={1: 0}, balance=20), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log0_empty_mem.py b/tests/ported_static/stStaticCall/test_static_log0_empty_mem.py index 962c4952594..d25b1c99d05 100644 --- a/tests/ported_static/stStaticCall/test_static_log0_empty_mem.py +++ b/tests/ported_static/stStaticCall/test_static_log0_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_log0_empty_mem. Ported from: -tests/static/state_tests/stStaticCall/static_log0_emptyMemFiller.json +state_tests/stStaticCall/static_log0_emptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_log0_emptyMemFiller.json"], + ["state_tests/stStaticCall/static_log0_emptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log0_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log0_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,45 +47,44 @@ def test_static_log0_empty_mem( gas_limit=1000000, ) - pre.deploy_contract( - code=Op.LOG0(offset=0x0, size=0x0) + Op.STOP, + # Source: lll + # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0xC2A943E837808399D9C1B946C6188739D4D4475E, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc2a943e837808399d9c1b946c6188739d4d4475e"), # noqa: E501 + address=Address(0xDE4EDFB3CE6BD32637813F22447DF168E9289CDD), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0xC2A943E837808399D9C1B946C6188739D4D4475E, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (LOG0 0 0) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.LOG0(offset=0x0, size=0x0) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xde4edfb3ce6bd32637813f22447df168e9289cdd"), # noqa: E501 + address=Address(0xC2A943E837808399D9C1B946C6188739D4D4475E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={0: 0, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log0_log_mem_start_too_high.py b/tests/ported_static/stStaticCall/test_static_log0_log_mem_start_too_high.py index 7adeeca0e75..ff7221fc8a6 100644 --- a/tests/ported_static/stStaticCall/test_static_log0_log_mem_start_too_high.py +++ b/tests/ported_static/stStaticCall/test_static_log0_log_mem_start_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_log0_log_mem_start_too_high. Ported from: -tests/static/state_tests/stStaticCall/static_log0_logMemStartTooHighFiller.json +state_tests/stStaticCall/static_log0_logMemStartTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_log0_logMemStartTooHighFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_log0_logMemStartTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log0_log_mem_start_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log0_log_mem_start_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,52 +47,51 @@ def test_static_log0_log_mem_start_too_high( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x1, - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0x4E46DD6CCD823BBE05D8CEAF0CA778101F8D8E6B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4e46dd6ccd823bbe05d8ceaf0ca778101f8d8e6b"), # noqa: E501 + address=Address(0xE230B8D7763E30CA988447DAA182146B0BEA3764), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0x4E46DD6CCD823BBE05D8CEAF0CA778101F8D8E6B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x1, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe230b8d7763e30ca988447daa182146b0bea3764"), # noqa: E501 + address=Address(0x4E46DD6CCD823BBE05D8CEAF0CA778101F8D8E6B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log0_log_memsize_too_high.py b/tests/ported_static/stStaticCall/test_static_log0_log_memsize_too_high.py index 958c54b5426..f0832ef1eb1 100644 --- a/tests/ported_static/stStaticCall/test_static_log0_log_memsize_too_high.py +++ b/tests/ported_static/stStaticCall/test_static_log0_log_memsize_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_log0_log_memsize_too_high. Ported from: -tests/static/state_tests/stStaticCall/static_log0_logMemsizeTooHighFiller.json +state_tests/stStaticCall/static_log0_logMemsizeTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_log0_logMemsizeTooHighFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_log0_logMemsizeTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log0_log_memsize_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log0_log_memsize_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,52 +47,51 @@ def test_static_log0_log_memsize_too_high( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0( - offset=0x1, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0x6573BB447199FC94C98AD0F26068653C70DA4044, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6573bb447199fc94c98ad0f26068653c70da4044"), # noqa: E501 + address=Address(0xE230B8D7763E30CA988447DAA182146B0BEA3764), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0x6573BB447199FC94C98AD0F26068653C70DA4044, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0( + offset=0x1, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe230b8d7763e30ca988447daa182146b0bea3764"), # noqa: E501 + address=Address(0x6573BB447199FC94C98AD0F26068653C70DA4044), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log0_log_memsize_zero.py b/tests/ported_static/stStaticCall/test_static_log0_log_memsize_zero.py index 9503a671aa5..f3404e23524 100644 --- a/tests/ported_static/stStaticCall/test_static_log0_log_memsize_zero.py +++ b/tests/ported_static/stStaticCall/test_static_log0_log_memsize_zero.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_log0_log_memsize_zero. Ported from: -tests/static/state_tests/stStaticCall/static_log0_logMemsizeZeroFiller.json +state_tests/stStaticCall/static_log0_logMemsizeZeroFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_log0_logMemsizeZeroFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_log0_logMemsizeZeroFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log0_log_memsize_zero( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log0_log_memsize_zero.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,49 +47,48 @@ def test_static_log0_log_memsize_zero( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0(offset=0x1, size=0x0) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0x2F70A6BCEE18358A07F12FF4630E0A802D8C293A, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2f70a6bcee18358a07f12ff4630e0a802d8c293a"), # noqa: E501 + address=Address(0xE230B8D7763E30CA988447DAA182146B0BEA3764), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0x2F70A6BCEE18358A07F12FF4630E0A802D8C293A, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 1 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0(offset=0x1, size=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe230b8d7763e30ca988447daa182146b0bea3764"), # noqa: E501 + address=Address(0x2F70A6BCEE18358A07F12FF4630E0A802D8C293A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem.py b/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem.py index deed7b334a4..448768e8712 100644 --- a/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem.py +++ b/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_log0_non_empty_mem. Ported from: -tests/static/state_tests/stStaticCall/static_log0_nonEmptyMemFiller.json +state_tests/stStaticCall/static_log0_nonEmptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_log0_nonEmptyMemFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_log0_nonEmptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log0_non_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log0_non_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,49 +47,48 @@ def test_static_log0_non_empty_mem( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG0(offset=0x0, size=0x20) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0x86BB6680BEC59591FA113B66365D1BF87A4C6910, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x86bb6680bec59591fa113b66365d1bf87a4c6910"), # noqa: E501 + address=Address(0xE230B8D7763E30CA988447DAA182146B0BEA3764), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0x86BB6680BEC59591FA113B66365D1BF87A4C6910, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG0(offset=0x0, size=0x20) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe230b8d7763e30ca988447daa182146b0bea3764"), # noqa: E501 + address=Address(0x86BB6680BEC59591FA113B66365D1BF87A4C6910), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem_log_mem_size1.py b/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem_log_mem_size1.py index ac4c61a187e..6d44de5ee04 100644 --- a/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem_log_mem_size1.py +++ b/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem_log_mem_size1.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_log0_non_empty_mem_log_mem_size1. Ported from: -tests/static/state_tests/stStaticCall -static_log0_nonEmptyMem_logMemSize1Filler.json +state_tests/stStaticCall/static_log0_nonEmptyMem_logMemSize1Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_log0_nonEmptyMem_logMemSize1Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_log0_nonEmptyMem_logMemSize1Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log0_non_empty_mem_log_mem_size1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log0_non_empty_mem_log_mem_size1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,49 +49,48 @@ def test_static_log0_non_empty_mem_log_mem_size1( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0(offset=0x0, size=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0x2DA68E115CD98F7D70E0B7CFABE76581FD2D667, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x02da68e115cd98f7d70e0b7cfabe76581fd2d667"), # noqa: E501 + address=Address(0xE230B8D7763E30CA988447DAA182146B0BEA3764), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0x2DA68E115CD98F7D70E0B7CFABE76581FD2D667, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 0 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0(offset=0x0, size=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe230b8d7763e30ca988447daa182146b0bea3764"), # noqa: E501 + address=Address(0x02DA68E115CD98F7D70E0B7CFABE76581FD2D667), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=2100000, + value=0x200B20, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem_log_mem_size1_log_mem_start31.py b/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem_log_mem_size1_log_mem_start31.py index 8d2561584d8..dc37f47154e 100644 --- a/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem_log_mem_size1_log_mem_start31.py +++ b/tests/ported_static/stStaticCall/test_static_log0_non_empty_mem_log_mem_size1_log_mem_start31.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_log0_non_empty_mem_log_mem_size1_log_mem_start31. Ported from: -tests/static/state_tests/stStaticCall -static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json +state_tests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,18 +24,18 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json", # noqa: E501 + "state_tests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log0_non_empty_mem_log_mem_size1_log_mem_start31( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log0_non_empty_mem_log_mem_size1_log_mem_start31.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,49 +49,48 @@ def test_static_log0_non_empty_mem_log_mem_size1_log_mem_start31( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG0(offset=0x1F, size=0x1) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0x897FEE72AFB437BE678EE00C486726DA08ADB887, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x897fee72afb437be678ee00c486726da08adb887"), # noqa: E501 + address=Address(0xE230B8D7763E30CA988447DAA182146B0BEA3764), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0x897FEE72AFB437BE678EE00C486726DA08ADB887, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 31 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0(offset=0x1F, size=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe230b8d7763e30ca988447daa182146b0bea3764"), # noqa: E501 + address=Address(0x897FEE72AFB437BE678EE00C486726DA08ADB887), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log1_empty_mem.py b/tests/ported_static/stStaticCall/test_static_log1_empty_mem.py index 095cf7e139e..240c00b9c78 100644 --- a/tests/ported_static/stStaticCall/test_static_log1_empty_mem.py +++ b/tests/ported_static/stStaticCall/test_static_log1_empty_mem.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_log1_empty_mem. Ported from: -tests/static/state_tests/stStaticCall/static_log1_emptyMemFiller.json +state_tests/stStaticCall/static_log1_emptyMemFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_log1_emptyMemFiller.json"], + ["state_tests/stStaticCall/static_log1_emptyMemFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log1_empty_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log1_empty_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,42 +47,43 @@ def test_static_log1_empty_mem( gas_limit=1000000, ) - pre.deploy_contract( - code=Op.LOG1(offset=0x0, size=0x0, topic_1=0x0) + Op.STOP, + # Source: lll + # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0xA86CBC14A38774A22B21CC067FF70DD74CC18E7F, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa86cbc14a38774a22b21cc067ff70dd74cc18e7f"), # noqa: E501 + address=Address(0xE230B8D7763E30CA988447DAA182146B0BEA3764), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0xA86CBC14A38774A22B21CC067FF70DD74CC18E7F, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (LOG1 0 0 0) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.LOG1(offset=0x0, size=0x0, topic_1=0x0) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe230b8d7763e30ca988447daa182146b0bea3764"), # noqa: E501 + address=Address(0xA86CBC14A38774A22B21CC067FF70DD74CC18E7F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log1_log_mem_start_too_high.py b/tests/ported_static/stStaticCall/test_static_log1_log_mem_start_too_high.py index 40a2734993e..b8bd76e3639 100644 --- a/tests/ported_static/stStaticCall/test_static_log1_log_mem_start_too_high.py +++ b/tests/ported_static/stStaticCall/test_static_log1_log_mem_start_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_log1_log_mem_start_too_high. Ported from: -tests/static/state_tests/stStaticCall/static_log1_logMemStartTooHighFiller.json +state_tests/stStaticCall/static_log1_logMemStartTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_log1_logMemStartTooHighFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_log1_logMemStartTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log1_log_mem_start_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log1_log_mem_start_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,53 +47,52 @@ def test_static_log1_log_mem_start_too_high( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x1, - topic_1=0x0, - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0x2884BD4A36D3BF28249C493EEFC971380A638684, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2884bd4a36d3bf28249c493eefc971380a638684"), # noqa: E501 + address=Address(0xE230B8D7763E30CA988447DAA182146B0BEA3764), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0x2884BD4A36D3BF28249C493EEFC971380A638684, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x1, + topic_1=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe230b8d7763e30ca988447daa182146b0bea3764"), # noqa: E501 + address=Address(0x2884BD4A36D3BF28249C493EEFC971380A638684), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log1_log_memsize_too_high.py b/tests/ported_static/stStaticCall/test_static_log1_log_memsize_too_high.py index 0f46f4f19f9..dc0635f44af 100644 --- a/tests/ported_static/stStaticCall/test_static_log1_log_memsize_too_high.py +++ b/tests/ported_static/stStaticCall/test_static_log1_log_memsize_too_high.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_log1_log_memsize_too_high. Ported from: -tests/static/state_tests/stStaticCall/static_log1_logMemsizeTooHighFiller.json +state_tests/stStaticCall/static_log1_logMemsizeTooHighFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_log1_logMemsizeTooHighFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_log1_logMemsizeTooHighFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log1_log_memsize_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log1_log_memsize_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,53 +47,52 @@ def test_static_log1_log_memsize_too_high( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1( - offset=0x1, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - topic_1=0x0, - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0x232172C10FC2B2CB5CCBC4349B5D177EB640EDC0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x232172c10fc2b2cb5ccbc4349b5d177eb640edc0"), # noqa: E501 + address=Address(0xE230B8D7763E30CA988447DAA182146B0BEA3764), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0x232172C10FC2B2CB5CCBC4349B5D177EB640EDC0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1( + offset=0x1, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_1=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe230b8d7763e30ca988447daa182146b0bea3764"), # noqa: E501 + address=Address(0x232172C10FC2B2CB5CCBC4349B5D177EB640EDC0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log1_log_memsize_zero.py b/tests/ported_static/stStaticCall/test_static_log1_log_memsize_zero.py index f190e353742..1703fb2387e 100644 --- a/tests/ported_static/stStaticCall/test_static_log1_log_memsize_zero.py +++ b/tests/ported_static/stStaticCall/test_static_log1_log_memsize_zero.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_log1_log_memsize_zero. Ported from: -tests/static/state_tests/stStaticCall/static_log1_logMemsizeZeroFiller.json +state_tests/stStaticCall/static_log1_logMemsizeZeroFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_log1_logMemsizeZeroFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_log1_logMemsizeZeroFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log1_log_memsize_zero( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log1_log_memsize_zero.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,49 +47,48 @@ def test_static_log1_log_memsize_zero( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1(offset=0x1, size=0x0, topic_1=0x0) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0xC1F290174E61D4F7F40C5E11677591C31E0F63C7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc1f290174e61d4f7f40c5e11677591c31e0f63c7"), # noqa: E501 + address=Address(0xE230B8D7763E30CA988447DAA182146B0BEA3764), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0xC1F290174E61D4F7F40C5E11677591C31E0F63C7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 1 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1(offset=0x1, size=0x0, topic_1=0x0) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe230b8d7763e30ca988447daa182146b0bea3764"), # noqa: E501 + address=Address(0xC1F290174E61D4F7F40C5E11677591C31E0F63C7), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log1_max_topic.py b/tests/ported_static/stStaticCall/test_static_log1_max_topic.py index 76da3f4127c..f60ed2ff85a 100644 --- a/tests/ported_static/stStaticCall/test_static_log1_max_topic.py +++ b/tests/ported_static/stStaticCall/test_static_log1_max_topic.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_log1_max_topic. Ported from: -tests/static/state_tests/stStaticCall/static_log1_MaxTopicFiller.json +state_tests/stStaticCall/static_log1_MaxTopicFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_log1_MaxTopicFiller.json"], + ["state_tests/stStaticCall/static_log1_MaxTopicFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_log1_max_topic( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log1_max_topic.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,53 +47,52 @@ def test_static_log1_max_topic( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 1000 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x3E8, - address=0xFAA3ACCE157A3DEDD9D750DD925F6067D252752E, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x3E8, + address=0xFAA3ACCE157A3DEDD9D750DD925F6067D252752E, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe230b8d7763e30ca988447daa182146b0bea3764"), # noqa: E501 + address=Address(0xE230B8D7763E30CA988447DAA182146B0BEA3764), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 - ) - + Op.LOG1( - offset=0x0, - size=0x20, - topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1( + offset=0x0, + size=0x20, + topic_1=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfaa3acce157a3dedd9d750dd925f6067d252752e"), # noqa: E501 + address=Address(0xFAA3ACCE157A3DEDD9D750DD925F6067D252752E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=210000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_log_caller.py b/tests/ported_static/stStaticCall/test_static_log_caller.py index 500dfb5f69e..8d84e90ff2a 100644 --- a/tests/ported_static/stStaticCall/test_static_log_caller.py +++ b/tests/ported_static/stStaticCall/test_static_log_caller.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_log_caller. Ported from: -tests/static/state_tests/stStaticCall/static_log_CallerFiller.json +state_tests/stStaticCall/static_log_CallerFiller.json """ import pytest @@ -12,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,45 +24,56 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_log_CallerFiller.json"], + ["state_tests/stStaticCall/static_log_CallerFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "000000000000000000000000c725abae869e29a5448dca5b51a58f0c960d4069", - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000842936958d62030200fbcef4371460d8a9400d05", - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "000000000000000000000000861cccbd560d81a33aac05190e986540663c6bba", - {}, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "0000000000000000000000006c5da6457f756a77c392c72fe884f7f650428aef", - {}, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "000000000000000000000000586cfaa42db8b743452a87549943ac07a09de5cc", - {}, + pytest.param( + 4, + 0, + 0, + id="d4", ), ], - ids=["case0", "case1", "case2", "case3", "case4"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_log_caller( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_log_caller.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -74,102 +87,104 @@ def test_static_log_caller( gas_limit=1000000, ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG4( - offset=0x0, - size=0x20, - topic_1=0x0, - topic_2=0x0, - topic_3=0x0, - topic_4=Op.CALLER, - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL 50000 (CALLDATALOAD 0) 0 0 0 0) } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xC350, + address=Op.CALLDATALOAD(offset=0x0), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x586cfaa42db8b743452a87549943ac07a09de5cc"), # noqa: E501 + address=Address(0xD8C1FCDB2990F08E5FE821BF5AF85F34201BA79A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG3( - offset=0x0, - size=0x20, - topic_1=0x0, - topic_2=0x0, - topic_3=Op.CALLER, - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE8 0 0xff) (LOG0 0 32 ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG0(offset=0x0, size=0x20) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x6c5da6457f756a77c392c72fe884f7f650428aef"), # noqa: E501 + address=Address(0xC725ABAE869E29A5448DCA5B51A58F0C960D4069), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG1(offset=0x0, size=0x20, topic_1=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { (MSTORE8 0 0xff) (LOG1 0 32 (CALLER) ) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG1(offset=0x0, size=0x20, topic_1=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x842936958d62030200fbcef4371460d8a9400d05"), # noqa: E501 + address=Address(0x842936958D62030200FBCEF4371460D8A9400D05), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG2(offset=0x0, size=0x20, topic_1=0x0, topic_2=Op.CALLER) - + Op.STOP - ), + # Source: lll + # { (MSTORE8 0 0xff) (LOG2 0 32 0 (CALLER) ) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG2(offset=0x0, size=0x20, topic_1=0x0, topic_2=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x861cccbd560d81a33aac05190e986540663c6bba"), # noqa: E501 + address=Address(0x861CCCBD560D81A33AAC05190E986540663C6BBA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.LOG0(offset=0x0, size=0x20) - + Op.STOP - ), + # Source: lll + # { (MSTORE8 0 0xff) (LOG3 0 32 0 0 (CALLER) ) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG3( + offset=0x0, size=0x20, topic_1=0x0, topic_2=0x0, topic_3=Op.CALLER + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc725abae869e29a5448dca5b51a58f0c960d4069"), # noqa: E501 + address=Address(0x6C5DA6457F756A77C392C72FE884F7F650428AEF), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL 50000 (CALLDATALOAD 0) 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xC350, - address=Op.CALLDATALOAD(offset=0x0), - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (MSTORE8 0 0xff) (LOG4 0 32 0 0 0 (CALLER) )} + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG4( + offset=0x0, + size=0x20, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=Op.CALLER, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd8c1fcdb2990f08e5fe821bf5af85f34201ba79a"), # noqa: E501 + address=Address(0x586CFAA42DB8B743452A87549943AC07A09DE5CC), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(addr, left_padding=True), + Hash(addr_2, left_padding=True), + Hash(addr_3, left_padding=True), + Hash(addr_4, left_padding=True), + Hash(addr_5, left_padding=True), + ] + tx_gas = [210000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=210000, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = {target: Account(storage={0: 0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert.py b/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert.py index 6d9f62967de..17867abafa8 100644 --- a/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert.py +++ b/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_loop_calls_depth_then_revert. Ported from: -tests/static/state_tests/stStaticCall -static_LoopCallsDepthThenRevertFiller.json +state_tests/stStaticCall/static_LoopCallsDepthThenRevertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_LoopCallsDepthThenRevertFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_LoopCallsDepthThenRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_loop_calls_depth_then_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_loop_calls_depth_then_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -49,68 +47,65 @@ def test_static_loop_calls_depth_then_revert( gas_limit=100000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[ 0 ]] (CALL ( - (GAS) 100000) 0 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0x15DC6AD6AA4B45C8C5F8658596F0BE95F4FB77FD, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - nonce=0, - address=Address("0x15dc6ad6aa4b45c8c5f8658596f0be95f4fb77fd"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=Op.GAS, - address=0x8AC26AD64561031BE35E49C24EE18C6E43C21795, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0x15DC6AD6AA4B45C8C5F8658596F0BE95F4FB77FD, + value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x77c35f69d9f67cc9c06c803eb2c0aca9c2a746e6"), # noqa: E501 + address=Address(0x15DC6AD6AA4B45C8C5F8658596F0BE95F4FB77FD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.STATICCALL( - gas=Op.GAS, - address=0x77C35F69D9F67CC9C06C803EB2C0ACA9C2A746E6, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (STATICCALL (GAS) 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=Op.GAS, + address=0x8AC26AD64561031BE35E49C24EE18C6E43C21795, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x8ac26ad64561031be35e49c24ee18c6e43c21795"), # noqa: E501 + address=Address(0x77C35F69D9F67CC9C06C803EB2C0ACA9C2A746E6), # noqa: E501 + ) + # Source: lll + # { (STATICCALL (GAS) 0 0 0 0) } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.STATICCALL( + gas=Op.GAS, + address=0x77C35F69D9F67CC9C06C803EB2C0ACA9C2A746E6, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + nonce=0, + address=Address(0x8AC26AD64561031BE35E49C24EE18C6E43C21795), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert2.py b/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert2.py index 3d5613a2a41..16397887970 100644 --- a/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert2.py +++ b/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_loop_calls_depth_then_revert2. Ported from: -tests/static/state_tests/stStaticCall -static_LoopCallsDepthThenRevert2Filler.json +state_tests/stStaticCall/static_LoopCallsDepthThenRevert2Filler.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -23,20 +24,19 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_LoopCallsDepthThenRevert2Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_LoopCallsDepthThenRevert2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_loop_calls_depth_then_revert2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_loop_calls_depth_then_revert2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -50,44 +50,45 @@ def test_static_loop_calls_depth_then_revert2( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x3D, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x3FF), - ) - + Op.MSTORE( - offset=0x0, value=Op.ADD(Op.CALLDATALOAD(offset=0x0), 0x1) - ) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + pre[sender] = Account(balance=0x13426172C74D822B878FE800000000) + # Source: raw + # 0x6103ff60003514603d57600160003501600052600060006020600073a0000000000000000000000000000000000000005afa5061041a600051106051575b66600060006002f0600052600760196003f0505b # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x3D, condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x3FF) + ) + + Op.MSTORE(offset=0x0, value=Op.ADD(Op.CALLDATALOAD(offset=0x0), 0x1)) + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0xA000000000000000000000000000000000000000, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPI(pc=0x51, condition=Op.LT(Op.MLOAD(offset=0x0), 0x41A)) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=0x600060006002F0) - + Op.POP(Op.CREATE(value=0x3, offset=0x19, size=0x7)) - + Op.JUMPDEST - ), + ) + + Op.JUMPI(pc=0x51, condition=Op.LT(Op.MLOAD(offset=0x0), 0x41A)) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=0x600060006002F0) + + Op.POP(Op.CREATE(value=0x3, offset=0x19, size=0x7)) + + Op.JUMPDEST, balance=10, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0x13426172C74D822B878FE800000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=9214364837600034817, ) - post: dict = {} + post = { + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert3.py b/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert3.py index 706ed4587c8..af2df18a0ef 100644 --- a/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert3.py +++ b/tests/ported_static/stStaticCall/test_static_loop_calls_depth_then_revert3.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_loop_calls_depth_then_revert3. Ported from: -tests/static/state_tests/stStaticCall -static_LoopCallsDepthThenRevert3Filler.json +state_tests/stStaticCall/static_LoopCallsDepthThenRevert3Filler.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -23,20 +24,19 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_LoopCallsDepthThenRevert3Filler.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_LoopCallsDepthThenRevert3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_loop_calls_depth_then_revert3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_loop_calls_depth_then_revert3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -50,47 +50,50 @@ def test_static_loop_calls_depth_then_revert3( gas_limit=9223372036854775807, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x3D, - condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x3FE), - ) - + Op.MSTORE( - offset=0x0, value=Op.ADD(Op.CALLDATALOAD(offset=0x0), 0x1) - ) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI( - pc=0x51, - condition=Op.LT(Op.CALLDATALOAD(offset=0x0), 0x41A), + pre[sender] = Account(balance=0x13426172C74D822B878FE800000000) + # Source: raw + # 0x6103fe60003514603d57600160003501600052600060006020600073a0000000000000000000000000000000000000005afa5061041a600035106051575b66600060006002f0600052600760196003f0505b # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x3D, condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x3FE) + ) + + Op.MSTORE(offset=0x0, value=Op.ADD(Op.CALLDATALOAD(offset=0x0), 0x1)) + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0xA000000000000000000000000000000000000000, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=0x600060006002F0) - + Op.POP(Op.CREATE(value=0x3, offset=0x19, size=0x7)) - + Op.JUMPDEST - ), + ) + + Op.JUMPI( + pc=0x51, condition=Op.LT(Op.CALLDATALOAD(offset=0x0), 0x41A) + ) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=0x600060006002F0) + + Op.POP(Op.CREATE(value=0x3, offset=0x19, size=0x7)) + + Op.JUMPDEST, balance=10, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0x13426172C74D822B878FE800000000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=9214364837600034817, ) - post: dict = {} + post = { + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + Address( + 0xCD6807039CAFFDDBD1C28A749EC91BEF15F448E5 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_loop_calls_then_revert.py b/tests/ported_static/stStaticCall/test_static_loop_calls_then_revert.py index 4df5965a672..8451d21166b 100644 --- a/tests/ported_static/stStaticCall/test_static_loop_calls_then_revert.py +++ b/tests/ported_static/stStaticCall/test_static_loop_calls_then_revert.py @@ -2,7 +2,7 @@ Requires a separate pre-alloc group due to time required to fill when... Ported from: -tests/static/state_tests/stStaticCall/static_LoopCallsThenRevertFiller.json +state_tests/stStaticCall/static_LoopCallsThenRevertFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,49 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_LoopCallsThenRevertFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_LoopCallsThenRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 10000000, - { - Address("0x7a2af5cc0310371cce006e472ed3b5d68e62f839"): Account( - storage={0: 850} - ), - Address("0xd64495cbba16d27a88b96f2a72417b957ed4cae6"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="-g0", ), - ( - 9000000, - { - Address("0x7a2af5cc0310371cce006e472ed3b5d68e62f839"): Account( - storage={0: 850} - ), - Address("0xd64495cbba16d27a88b96f2a72417b957ed4cae6"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_loop_calls_then_revert( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Requires a separate pre-alloc group due to time required to fill...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -78,67 +72,83 @@ def test_static_loop_calls_then_revert( gas_limit=100000000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (MSTORE 0 850) [[ 0 ]] (CALL (- (GAS) 10000) 0 0 32 0 0) [[ 1 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x352) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0x2710), + address=0x7A2AF5CC0310371CCE006E472ED3B5D68E62F839, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x59c89b27361fd637262b13489f28923c835e17b2"), # noqa: E501 + address=Address(0xD64495CBBA16D27A88B96F2A72417B957ED4CAE6), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.MSTORE( - offset=0x0, value=Op.SUB(Op.CALLDATALOAD(offset=0x0), 0x1) - ) - + Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x59C89B27361FD637262B13489F28923C835E17B2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: raw + # 0x5b60016000350360005260006000600060007361c350fa50600051600057 # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.SUB(Op.CALLDATALOAD(offset=0x0), 0x1)) + + Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x59C89B27361FD637262B13489F28923C835E17B2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.JUMPI(pc=0x0, condition=Op.MLOAD(offset=0x0)) - ), - storage={0x0: 0x352}, + ) + + Op.JUMPI(pc=0x0, condition=Op.MLOAD(offset=0x0)), + storage={0: 850}, nonce=0, - address=Address("0x7a2af5cc0310371cce006e472ed3b5d68e62f839"), # noqa: E501 + address=Address(0x7A2AF5CC0310371CCE006E472ED3B5D68E62F839), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 850) [[ 0 ]] (CALL (- (GAS) 10000) 0 0 32 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x352) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0x2710), - address=0x7A2AF5CC0310371CCE006E472ED3B5D68E62F839, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 0 (ADD 1 (MLOAD 0))) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.ADD(0x1, Op.MLOAD(offset=0x0))) + + Op.STOP, nonce=0, - address=Address("0xd64495cbba16d27a88b96f2a72417b957ed4cae6"), # noqa: E501 + address=Address(0x59C89B27361FD637262B13489F28923C835E17B2), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 1})}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={1: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [10000000, 9000000] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_make_money.py b/tests/ported_static/stStaticCall/test_static_make_money.py index ac88424043f..6bf4b5dbb9f 100644 --- a/tests/ported_static/stStaticCall/test_static_make_money.py +++ b/tests/ported_static/stStaticCall/test_static_make_money.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_make_money. Ported from: -tests/static/state_tests/stStaticCall/static_makeMoneyFiller.json +state_tests/stStaticCall/static_makeMoneyFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_makeMoneyFiller.json"], + ["state_tests/stStaticCall/static_makeMoneyFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_make_money( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_make_money.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -46,46 +47,49 @@ def test_static_make_money( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f20060003554156009570060203560003555) (STATICCALL 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F20060003554156009570060203560003555, # noqa: E501 - ) - + Op.STATICCALL( - gas=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC, # noqa: E501 - address=0x802EDCCF6CDE9162A05FD89CDFCD8DC4A230B978, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F20060003554156009570060203560003555, + ) + + Op.STATICCALL( + gas=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC, # noqa: E501 + address=0x802EDCCF6CDE9162A05FD89CDFCD8DC4A230B978, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x52ba5aa5c6b8214da66b53c9774f587f3ee4dbd0"), # noqa: E501 + address=Address(0x52BA5AA5C6B8214DA66B53C9774F587F3EE4DBD0), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) + Op.SSTORE(key=0x2, value=Op.ORIGIN) - ), + # Source: raw + # 0x600160015532600255 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=Op.ORIGIN), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x802edccf6cde9162a05fd89cdfcd8dc4a230b978"), # noqa: E501 + address=Address(0x802EDCCF6CDE9162A05FD89CDFCD8DC4A230B978), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=228500, value=10, ) - post: dict = {} + post = { + target: Account(balance=0xDE0B6B3A764000A), + sender: Account(balance=0x5D38038), + addr: Account(balance=0xDE0B6B3A7640000), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_post_to_return1.py b/tests/ported_static/stStaticCall/test_static_post_to_return1.py index 529134c73d8..68a6eb9e94d 100644 --- a/tests/ported_static/stStaticCall/test_static_post_to_return1.py +++ b/tests/ported_static/stStaticCall/test_static_post_to_return1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_post_to_return1. Ported from: -tests/static/state_tests/stStaticCall/static_PostToReturn1Filler.json +state_tests/stStaticCall/static_PostToReturn1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_PostToReturn1Filler.json"], + ["state_tests/stStaticCall/static_PostToReturn1Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_post_to_return1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_post_to_return1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,57 +47,55 @@ def test_static_post_to_return1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[1]](STATICCALL 30000 0 64 0 0 ) [[2]] (MLOAD 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x7530, - address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x7530, + address=0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x89478090b7c5e4389217f9728ef82cc3535cc1db"), # noqa: E501 + address=Address(0x89478090B7C5E4389217F9728EF82CC3535CC1DB), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), + # Source: raw + # 0x603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), balance=23, nonce=0, - address=Address("0xd5d9e9e0158920b17b6df82fac474b3e2691ee99"), # noqa: E501 + address=Address(0xD5D9E9E0158920B17B6DF82FAC474B3E2691EE99), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 1: 1, 2: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 diff --git a/tests/ported_static/stStaticCall/test_static_raw_call_gas_ask.py b/tests/ported_static/stStaticCall/test_static_raw_call_gas_ask.py index 423949cae66..dd59c2108a1 100644 --- a/tests/ported_static/stStaticCall/test_static_raw_call_gas_ask.py +++ b/tests/ported_static/stStaticCall/test_static_raw_call_gas_ask.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_raw_call_gas_ask. Ported from: -tests/static/state_tests/stStaticCall/static_RawCallGasAskFiller.json +state_tests/stStaticCall/static_RawCallGasAskFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,57 +27,56 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_RawCallGasAskFiller.json"], + ["state_tests/stStaticCall/static_RawCallGasAskFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "0000000000000000000000001000000000000000000000000000000000000001", - { - Address("0x1000000000000000000000000000000000000001"): Account( - storage={1: 0xE9F83} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000002000000000000000000000000000000000000001", - { - Address("0x2000000000000000000000000000000000000001"): Account( - storage={1: 0xE9F83} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "0000000000000000000000003000000000000000000000000000000000000001", - { - Address("0x3000000000000000000000000000000000000001"): Account( - storage={1: 0xE9C1B} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "0000000000000000000000004000000000000000000000000000000000000001", - { - Address("0x4000000000000000000000000000000000000001"): Account( - storage={1: 0xE9C1B} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), ], - ids=["case0", "case1", "case2", "case3"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_raw_call_gas_ask( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_raw_call_gas_ask.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x094F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0x1000000000000000000000000000000000000000) + contract_2 = Address(0x1000000000000000000000000000000000000001) + contract_3 = Address(0x2000000000000000000000000000000000000001) + contract_4 = Address(0x3000000000000000000000000000000000000001) + contract_5 = Address(0x4000000000000000000000000000000000000001) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -86,123 +90,143 @@ def test_static_raw_call_gas_ask( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 (GAS)) } - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.MSTORE(offset=0x0, value=Op.GAS) + Op.STOP, nonce=0, - address=Address("0x094f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0x094F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=Op.GAS, - address=Op.CALLDATALOAD(offset=0x0), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x0), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xE8D4A51000, nonce=0, - address=Address("0x1000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL + # Source: lll # { (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]] (GAS) } # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x2DC6C0, - address=0x94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x2DC6C0, + address=0x94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x1000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x1000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # { (STATICCALL 130000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]] (GAS) } # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x1FBD0, - address=0x94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x1FBD0, + address=0x94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # { (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 8000 0 8000) [[1]] (GAS) } # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x2DC6C0, - address=0x94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x2DC6C0, + address=0x94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x3000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000001), # noqa: E501 ) - # Source: LLL + # Source: lll # { (STATICCALL 130000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 8000 0 8000) [[1]] (GAS) } # noqa: E501 - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x1FBD0, - address=0x94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - args_offset=0x0, - args_size=0x1F40, - ret_offset=0x0, - ret_size=0x1F40, - ), + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x1FBD0, + address=0x94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + args_offset=0x0, + args_size=0x1F40, + ret_offset=0x0, + ret_size=0x1F40, ) - + Op.SSTORE(key=0x1, value=Op.GAS) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x1, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x4000000000000000000000000000000000000001"), # noqa: E501 + address=Address(0x4000000000000000000000000000000000000001), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={1: 0xE9F83})}, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={1: 0xE9F83})}, + }, + { + "indexes": {"data": 2, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={1: 0xE9C1B})}, + }, + { + "indexes": {"data": 3, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={1: 0xE9C1B})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(contract_2, left_padding=True), + Hash(contract_3, left_padding=True), + Hash(contract_4, left_padding=True), + Hash(contract_5, left_padding=True), + ] + tx_gas = [1000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=1000000, + to=contract_1, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_refund_call_a.py b/tests/ported_static/stStaticCall/test_static_refund_call_a.py index f0187c7d413..46133e6d70a 100644 --- a/tests/ported_static/stStaticCall/test_static_refund_call_a.py +++ b/tests/ported_static/stStaticCall/test_static_refund_call_a.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_refund_call_a. Ported from: -tests/static/state_tests/stStaticCall/static_refund_CallAFiller.json +state_tests/stStaticCall/static_refund_CallAFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_refund_CallAFiller.json"], + ["state_tests/stStaticCall/static_refund_CallAFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_refund_call_a( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_refund_call_a.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xD28CE7E8C6CA72F9B2DD5AA5C41F48198119E86E443C50DE70F3FBA602247FE8 ) @@ -46,48 +47,49 @@ def test_static_refund_call_a( gas_limit=1000000, ) - pre[sender] = Account(balance=0xBEBC200) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL 5500 0 0 0 0 ) [[ 1 ]] 1} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x157C, - address=0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), - storage={0x1: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x157C, + address=0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd15bdaf597badaa25173c995d18f65d1b514a062"), # noqa: E501 + address=Address(0xD15BDAF597BADAA25173C995D18F65D1B514A062), # noqa: E501 ) - callee = pre.deploy_contract( + pre[sender] = Account(balance=0xBEBC200) + # Source: lll + # { [[ 1 ]] 0 } + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x0) + Op.STOP, - storage={0x1: 0x1}, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf4c9fc42faeda49049e3b8e2b97a17cc2fe95718"), # noqa: E501 + address=Address(0xF4C9FC42FAEDA49049E3B8E2B97A17CC2FE95718), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, value=10, ) post = { - contract: Account(storage={1: 1}), - callee: Account(storage={1: 1}), + target: Account(storage={0: 0, 1: 1}, balance=0xDE0B6B3A764000A), + addr: Account(storage={1: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_refund_call_to_suicide_no_storage.py b/tests/ported_static/stStaticCall/test_static_refund_call_to_suicide_no_storage.py index a751638a0e2..83c20607be4 100644 --- a/tests/ported_static/stStaticCall/test_static_refund_call_to_suicide_no_storage.py +++ b/tests/ported_static/stStaticCall/test_static_refund_call_to_suicide_no_storage.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_refund_call_to_suicide_no_storage. Ported from: -tests/static/state_tests/stStaticCall -static_refund_CallToSuicideNoStorageFiller.json +state_tests/stStaticCall/static_refund_CallToSuicideNoStorageFiller.json """ import pytest @@ -13,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,42 +25,39 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/static_refund_CallToSuicideNoStorageFiller.json", # noqa: E501 + "state_tests/stStaticCall/static_refund_CallToSuicideNoStorageFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000001f4", - { - Address("0xa2a10d67c0f0864b703d90d9c36296ad8a547ae6"): Account( - storage={1: 1, 2: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000000000000000000000000000000000000000010000", - { - Address("0xa2a10d67c0f0864b703d90d9c36296ad8a547ae6"): Account( - storage={1: 1, 2: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_refund_call_to_suicide_no_storage( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_refund_call_to_suicide_no_storage.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x6F0117D3E9C684C7D6E1E6B79DC3880DA2BEBE77C765B171C062FDFFD38A673F ) @@ -73,50 +71,60 @@ def test_static_refund_call_to_suicide_no_storage( gas_limit=1000000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xA2A10D67C0F0864B703D90D9C36296AD8A547AE6) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0 0 0 0 ) [[ 2 ]] 1 } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0x4FF65047CE9C85F968689E4369C10003026A41A9, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0x1) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x4ff65047ce9c85f968689e4369c10003026a41a9"), # noqa: E501 + address=Address(0xA2A10D67C0F0864B703D90D9C36296AD8A547AE6), # noqa: E501 ) - # Source: LLL - # { [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0 0 0 0 ) [[ 2 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0x4FF65047CE9C85F968689E4369C10003026A41A9, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0x1) - + Op.STOP - ), - storage={0x1: 0x1}, + pre[sender] = Account(balance=0x2540BE400) + # Source: lll + # { (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xA2A10D67C0F0864B703D90D9C36296AD8A547AE6 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa2a10d67c0f0864b703d90d9c36296ad8a547ae6"), # noqa: E501 + address=Address(0x4FF65047CE9C85F968689E4369C10003026A41A9), # noqa: E501 ) - pre[sender] = Account(balance=0x2540BE400) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(0x1F4), + Hash(0x10000), + ] + tx_gas = [10000000] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + target: Account( + storage={0: 0, 1: 1, 2: 1}, + balance=0xDE0B6B3A764000A, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_refund_call_to_suicide_twice.py b/tests/ported_static/stStaticCall/test_static_refund_call_to_suicide_twice.py index ec3b5284a64..f717ba102e7 100644 --- a/tests/ported_static/stStaticCall/test_static_refund_call_to_suicide_twice.py +++ b/tests/ported_static/stStaticCall/test_static_refund_call_to_suicide_twice.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_refund_call_to_suicide_twice. Ported from: -tests/static/state_tests/stStaticCall -static_refund_CallToSuicideTwiceFiller.json +state_tests/stStaticCall/static_refund_CallToSuicideTwiceFiller.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,49 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_refund_CallToSuicideTwiceFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_refund_CallToSuicideTwiceFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000001f4", - { - Address("0x75db2708826b7d5e8cd45002f9ae23c830c31efd"): Account( - storage={1: 1} - ), - Address("0x9dea1ad5123f3d8b91cfc830b1c602597883e97c"): Account( - storage={1: 1} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "0000000000000000000000000000000000000000000000000000000000010000", - { - Address("0x75db2708826b7d5e8cd45002f9ae23c830c31efd"): Account( - storage={1: 1} - ), - Address("0x9dea1ad5123f3d8b91cfc830b1c602597883e97c"): Account( - storage={1: 1} - ), - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_refund_call_to_suicide_twice( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_refund_call_to_suicide_twice.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x5B7B8EFB6D003CD481E408D8759A25ADC79955092F1A380D8F8B57346C1D1342 ) @@ -79,59 +72,95 @@ def test_static_refund_call_to_suicide_twice( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0 0 0 0 ) (CALL (CALLDATALOAD 0) 0 0 0 0 0 )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0x9DEA1AD5123F3D8B91CFC830B1C602597883E97C, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.CALL( + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( gas=Op.CALLDATALOAD(offset=0x0), address=0x9DEA1AD5123F3D8B91CFC830B1C602597883E97C, - value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), - storage={0x1: 0x1}, + ), + ) + + Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0x9DEA1AD5123F3D8B91CFC830B1C602597883E97C, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x75db2708826b7d5e8cd45002f9ae23c830c31efd"), # noqa: E501 + address=Address(0x75DB2708826B7D5E8CD45002F9AE23C830C31EFD), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x75DB2708826B7D5E8CD45002F9AE23C830C31EFD) - + Op.STOP - ), - storage={0x1: 0x1}, + pre[sender] = Account(balance=0x174876E800) + # Source: lll + # { (SELFDESTRUCT ) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x75DB2708826B7D5E8CD45002F9AE23C830C31EFD + ) + + Op.STOP, + storage={1: 1}, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x9dea1ad5123f3d8b91cfc830b1c602597883e97c"), # noqa: E501 + address=Address(0x9DEA1AD5123F3D8B91CFC830B1C602597883E97C), # noqa: E501 ) - pre[sender] = Account(balance=0x174876E800) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 0, 1: 1}, balance=0x1BC16D674EC8000A + ), + addr: Account( + storage={1: 1}, + code=bytes.fromhex( + "7375db2708826b7d5e8cd45002f9ae23c830c31efdff00" + ), + balance=0, + nonce=0, + ), + }, + }, + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={0: 0, 1: 1}, balance=0xDE0B6B3A764000A + ), + addr: Account(nonce=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x1F4), + Hash(0x10000), + ] + tx_gas = [10000000] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, - value=10, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_return50000_2.py b/tests/ported_static/stStaticCall/test_static_return50000_2.py index eb51554918f..f3667ea4cee 100644 --- a/tests/ported_static/stStaticCall/test_static_return50000_2.py +++ b/tests/ported_static/stStaticCall/test_static_return50000_2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_return50000_2. Ported from: -tests/static/state_tests/stStaticCall/static_Return50000_2Filler.json +state_tests/stStaticCall/static_Return50000_2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_Return50000_2Filler.json"], + ["state_tests/stStaticCall/static_Return50000_2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_return50000_2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_static_return50000_2.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) @@ -46,79 +47,81 @@ def test_static_return50000_2( gas_limit=89250000, ) - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0xC34F)) - + Op.RETURN(offset=Op.MLOAD(offset=0x0), size=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + # Source: lll + # { (MSTORE 0 (CALLDATALOAD 49999)) (RETURN (MLOAD 0) 1) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0xC34F)) + + Op.RETURN(offset=Op.MLOAD(offset=0x0), size=0x1) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x0d08fb89197bd8f97c770ed75e28ed610a3016e9"), # noqa: E501 + address=Address(0x0D08FB89197BD8F97C770ED75E28ED610A3016E9), # noqa: E501 ) - pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL (GAS) 0 0 0 0 0) [[ 1 ]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=0xDF43BBA207127B641624B20497FA07055F4A3939, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=0xDF43BBA207127B641624B20497FA07055F4A3939, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0x9a8ca98b299a0220faad60948d01ce83ccc97831"), # noqa: E501 + address=Address(0x9A8CA98B299A0220FAAD60948D01CE83CCC97831), # noqa: E501 ) - callee_1 = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x3D, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)), - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0x61C, - address=0xD08FB89197BD8F97C770ED75E28ED610A3016E9, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + # Source: lll + # { (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1564 0 50000 0 0) ) [[ 1 ]] @i } # noqa: E501 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x3D, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xC350)) + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0x61C, + address=0xD08FB89197BD8F97C770ED75E28ED610A3016E9, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=0xFFFFFFFFFFFFF, nonce=0, - address=Address("0xdf43bba207127b641624b20497fa07055f4a3939"), # noqa: E501 + address=Address(0xDF43BBA207127B641624B20497FA07055F4A3939), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=15500000, value=10, ) post = { - contract: Account(storage={0: 1, 1: 1}), - callee_1: Account(storage={0: 1, 1: 50000}), + target: Account(storage={0: 1, 1: 1}, nonce=0), + addr_2: Account( + storage={0: 1, 1: 50000}, + balance=0xFFFFFFFFFFFFF, + nonce=0, + ), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_return_bounds.py b/tests/ported_static/stStaticCall/test_static_return_bounds.py index a39ac13ba10..b3a17243a63 100644 --- a/tests/ported_static/stStaticCall/test_static_return_bounds.py +++ b/tests/ported_static/stStaticCall/test_static_return_bounds.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_return_bounds. Ported from: -tests/static/state_tests/stStaticCall/static_RETURN_BoundsFiller.json +state_tests/stStaticCall/static_RETURN_BoundsFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_RETURN_BoundsFiller.json"], + ["state_tests/stStaticCall/static_RETURN_BoundsFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_return_bounds( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_return_bounds.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -46,315 +47,334 @@ def test_static_return_bounds( gas_limit=9223372036854775807, ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFF, size=0xFFFFFFF) + Op.STOP, + # Source: lll + # { [[1]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[2]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[3]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[4]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[5]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[6]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[7]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[8]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[9]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[10]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[11]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[12]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[13]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[14]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[15]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[16]] (STATICCALL 0x7ffffffffffffff 0 0 0 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x5EFBF04D8E1CC5B6B3719B16B5744A09BACFC18B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xC7AA750FE05C7E38475A49FE98A301024D0C1D54, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x3, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xFF6B6D23BE161344E86EB7B174ACEDD4B1DC6DC7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x4, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x7BBCF24C83493C4E733CB54079B51873D3211AD2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x5, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x7A4461AC9F9CD13F40F9514A7C60E23A71C1DFF3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x6, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x7, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x8, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x9, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xA, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xB, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xC, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xD, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xE, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xF, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x10, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x07084994c5891b1467d74bedb0477da4909e4c0e"), # noqa: E501 + address=Address(0xDAAED08ADBA0DD97804C34DD17B55766D54FC392), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFF) + Op.STOP, + # Source: lll + # { (RETURN 0 0) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0x0) + Op.STOP, nonce=0, - address=Address("0x0b09ca4308585f026b8d02be147fea0739ec463a"), # noqa: E501 + address=Address(0x5EFBF04D8E1CC5B6B3719B16B5744A09BACFC18B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xfffffff 0) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFF, size=0x0) + Op.STOP, nonce=0, - address=Address("0x2548bda95a3831abcd613f4d24e4634615a71cca"), # noqa: E501 + address=Address(0xC7AA750FE05C7E38475A49FE98A301024D0C1D54), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0x0, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xffffffff 0) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFF, size=0x0) + Op.STOP, nonce=0, - address=Address("0x28463490948d21efc49949b4d394989bf52c57f1"), # noqa: E501 + address=Address(0xFF6B6D23BE161344E86EB7B174ACEDD4B1DC6DC7), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0xFFFFFFFF) + Op.STOP, + # Source: lll + # { (RETURN 0xffffffffffffffff 0) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0x0) + Op.STOP, nonce=0, - address=Address("0x2ceb88d6c420e5c65593d9ebed9a25600ab9e113"), # noqa: E501 + address=Address(0x7BBCF24C83493C4E733CB54079B51873D3211AD2), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0xFFFFFFFFFFFFFFFF) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xfffffffffffffffffffffffffff 0) } + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, size=0x0) + + Op.STOP, nonce=0, - address=Address("0x416408c1d7fda274ddeb45ffe4817068808121ca"), # noqa: E501 + address=Address(0x7A4461AC9F9CD13F40F9514A7C60E23A71C1DFF3), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x4912bc7b66a3bf27adfa54ab049e90e8c9c4dc63"), # noqa: E501 + address=Address(0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0x0) + Op.STOP, + # Source: lll + # { (RETURN 0 0xfffffff) } + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFF) + Op.STOP, nonce=0, - address=Address("0x5efbf04d8e1cc5b6b3719b16b5744a09bacfc18b"), # noqa: E501 + address=Address(0x7266F1C07958D55CE36DE0592604F1A915BDF1C2), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0xFFFFFFF) + Op.STOP, + # Source: lll + # { (RETURN 0 0xffffffff) } + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFFF) + Op.STOP, nonce=0, - address=Address("0x7266f1c07958d55ce36de0592604f1a915bdf1c2"), # noqa: E501 + address=Address(0x2CEB88D6C420E5C65593D9EBED9A25600AB9E113), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0 0xffffffffffffffff) } + addr_9 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFF) + Op.STOP, nonce=0, - address=Address("0x76006c948f3a0529479c6d18a6f95908426e8092"), # noqa: E501 + address=Address(0x0B09CA4308585F026B8D02BE147FEA0739EC463A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN(offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, size=0x0) + Op.STOP - ), + # Source: lll + # { (RETURN 0 0xfffffffffffffffffffffffffff) } + addr_10 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.STOP, nonce=0, - address=Address("0x7a4461ac9f9cd13f40f9514a7c60e23a71c1dff3"), # noqa: E501 + address=Address(0xF519DE4DCB9AAA53F8F0DB9B18C715C928CAADE8), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0x0) + Op.STOP, + # Source: lll + # { (RETURN 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr_11 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0x0, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0x7bbcf24c83493c4e733cb54079b51873d3211ad2"), # noqa: E501 + address=Address(0x28463490948D21EFC49949B4D394989BF52C57F1), # noqa: E501 ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + # Source: lll + # { (RETURN 0xfffffff 0xfffffff) } + addr_12 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFF, size=0xFFFFFFF) + Op.STOP, + nonce=0, + address=Address(0x07084994C5891B1467D74BEDB0477DA4909E4C0E), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (RETURN 0xffffffff 0xffffffff) } + addr_13 = pre.deploy_contract( # noqa: F841 code=Op.RETURN(offset=0xFFFFFFFF, size=0xFFFFFFFF) + Op.STOP, nonce=0, - address=Address("0xad7754a8a56cc5ad4e319fa94194e435628dee67"), # noqa: E501 + address=Address(0xAD7754A8A56CC5AD4E319FA94194E435628DEE67), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFF, size=0x0) + Op.STOP, + # Source: lll + # { (RETURN 0xffffffffffffffff 0xffffffffffffffff) } + addr_14 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0xFFFFFFFFFFFFFFFF) + + Op.STOP, nonce=0, - address=Address("0xc7aa750fe05c7e38475a49fe98a301024d0c1d54"), # noqa: E501 + address=Address(0x416408C1D7FDA274DDEB45FFE4817068808121CA), # noqa: E501 ) - # Source: LLL - # { [[1]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[2]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[3]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[4]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[5]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[6]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[7]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[8]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[9]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[10]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[11]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[12]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[13]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[14]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[15]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[16]] (STATICCALL 0x7ffffffffffffff 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x5EFBF04D8E1CC5B6B3719B16B5744A09BACFC18B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xC7AA750FE05C7E38475A49FE98A301024D0C1D54, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x3, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xFF6B6D23BE161344E86EB7B174ACEDD4B1DC6DC7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x4, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x7BBCF24C83493C4E733CB54079B51873D3211AD2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x5, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x7A4461AC9F9CD13F40F9514A7C60E23A71C1DFF3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x6, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x7, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x8, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x9, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xA, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xB, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xC, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xD, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xE, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xF, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x10, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xfffffffffffffffffffffffffff 0xfffffffffffffffffffffffffff) } + addr_15 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ) + + Op.STOP, nonce=0, - address=Address("0xdaaed08adba0dd97804c34dd17b55766d54fc392"), # noqa: E501 + address=Address(0x2548BDA95A3831ABCD613F4D24E4634615A71CCA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF) + Op.STOP - ), + # Source: lll + # { (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr_16 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0xf519de4dcb9aaa53f8f0db9b18c715c928caade8"), # noqa: E501 + address=Address(0x76006C948F3A0529479C6D18A6F95908426E8092), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFFF, size=0x0) + Op.STOP, - nonce=0, - address=Address("0xff6b6d23be161344e86eb7b174acedd4b1dc6dc7"), # noqa: E501 + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=15000000, value=1, ) post = { - contract: Account( + target: Account( storage={ 1: 1, 2: 1, @@ -373,6 +393,7 @@ def test_static_return_bounds( 15: 1, 16: 1, }, + balance=1, ), } diff --git a/tests/ported_static/stStaticCall/test_static_return_bounds_oog.py b/tests/ported_static/stStaticCall/test_static_return_bounds_oog.py index bbeac1fac68..0e44f30a174 100644 --- a/tests/ported_static/stStaticCall/test_static_return_bounds_oog.py +++ b/tests/ported_static/stStaticCall/test_static_return_bounds_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_return_bounds_oog. Ported from: -tests/static/state_tests/stStaticCall/static_RETURN_BoundsOOGFiller.json +state_tests/stStaticCall/static_RETURN_BoundsOOGFiller.json """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,53 +27,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_RETURN_BoundsOOGFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_RETURN_BoundsOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ("00", {}), - ( - "0000000000000000000000000000000000000001", - { - Address("0x57545d218764bc417fdcbbc2c1f43b2a62105ce1"): Account( - storage={ - 1: 1, - 2: 1, - 3: 1, - 4: 1, - 5: 1, - 6: 1, - 7: 1, - 8: 1, - 9: 1, - 10: 1, - 11: 1, - 12: 1, - 13: 1, - 14: 1, - 15: 1, - 16: 1, - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_return_bounds_oog( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_return_bounds_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) @@ -82,324 +72,381 @@ def test_static_return_bounds_oog( gas_limit=9223372036854775807, ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFF, size=0xFFFFFFF) + Op.STOP, + # Source: lll + # { [[1]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[2]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[3]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[4]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[5]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[6]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[7]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[8]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[9]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[10]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[11]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[12]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[13]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[14]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[15]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[16]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) (IF (EQ (CALLDATALOAD 0) 0) (KECCAK256 0x00 0x2fffff) (GAS) ) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x5EFBF04D8E1CC5B6B3719B16B5744A09BACFC18B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xC7AA750FE05C7E38475A49FE98A301024D0C1D54, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x3, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0xFF6B6D23BE161344E86EB7B174ACEDD4B1DC6DC7, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x4, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x7BBCF24C83493C4E733CB54079B51873D3211AD2, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x5, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x7A4461AC9F9CD13F40F9514A7C60E23A71C1DFF3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x6, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x7, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x8, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x9, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xA, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xB, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xC, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xD, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xE, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0xF, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x10, + value=Op.STATICCALL( + gas=0x7FFFFFFFFFFFFFF, + address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.JUMPI(pc=0x2AF, condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x0)) + + Op.GAS + + Op.JUMP(pc=0x2B7) + + Op.JUMPDEST + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.JUMPDEST + + Op.STOP, nonce=0, - address=Address("0x07084994c5891b1467d74bedb0477da4909e4c0e"), # noqa: E501 + address=Address(0x57545D218764BC417FDCBBC2C1F43B2A62105CE1), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFF) + Op.STOP, + # Source: lll + # { (RETURN 0 0) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0x0) + Op.STOP, nonce=0, - address=Address("0x0b09ca4308585f026b8d02be147fea0739ec463a"), # noqa: E501 + address=Address(0x5EFBF04D8E1CC5B6B3719B16B5744A09BACFC18B), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xfffffff 0) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFF, size=0x0) + Op.STOP, nonce=0, - address=Address("0x2548bda95a3831abcd613f4d24e4634615a71cca"), # noqa: E501 + address=Address(0xC7AA750FE05C7E38475A49FE98A301024D0C1D54), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0x0, - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xffffffff 0) } + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFF, size=0x0) + Op.STOP, nonce=0, - address=Address("0x28463490948d21efc49949b4d394989bf52c57f1"), # noqa: E501 + address=Address(0xFF6B6D23BE161344E86EB7B174ACEDD4B1DC6DC7), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0xFFFFFFFF) + Op.STOP, + # Source: lll + # { (RETURN 0xffffffffffffffff 0) } + addr_4 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0x0) + Op.STOP, nonce=0, - address=Address("0x2ceb88d6c420e5c65593d9ebed9a25600ab9e113"), # noqa: E501 + address=Address(0x7BBCF24C83493C4E733CB54079B51873D3211AD2), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0xFFFFFFFFFFFFFFFF) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xfffffffffffffffffffffffffff 0) } + addr_5 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, size=0x0) + + Op.STOP, nonce=0, - address=Address("0x416408c1d7fda274ddeb45ffe4817068808121ca"), # noqa: E501 + address=Address(0x7A4461AC9F9CD13F40F9514A7C60E23A71C1DFF3), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) } # noqa: E501 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x4912bc7b66a3bf27adfa54ab049e90e8c9c4dc63"), # noqa: E501 + address=Address(0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63), # noqa: E501 ) - # Source: LLL - # { [[1]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[2]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[3]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[4]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[5]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[6]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[7]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[8]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[9]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[10]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[11]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[12]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[13]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[14]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[15]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) [[16]] (STATICCALL 0x7ffffffffffffff 0 0 0 0) (IF (EQ (CALLDATALOAD 0) 0) (KECCAK256 0x00 0x2fffff) (GAS) ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x5EFBF04D8E1CC5B6B3719B16B5744A09BACFC18B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xC7AA750FE05C7E38475A49FE98A301024D0C1D54, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x3, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0xFF6B6D23BE161344E86EB7B174ACEDD4B1DC6DC7, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x4, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x7BBCF24C83493C4E733CB54079B51873D3211AD2, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x5, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x7A4461AC9F9CD13F40F9514A7C60E23A71C1DFF3, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x6, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x7, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x8, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x9, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xA, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xB, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xC, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xD, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xE, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0xF, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x10, - value=Op.STATICCALL( - gas=0x7FFFFFFFFFFFFFF, - address=0x4912BC7B66A3BF27ADFA54AB049E90E8C9C4DC63, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.JUMPI( - pc=0x2AF, condition=Op.EQ(Op.CALLDATALOAD(offset=0x0), 0x0) - ) - + Op.GAS - + Op.JUMP(pc=0x2B7) - + Op.JUMPDEST - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.JUMPDEST - + Op.STOP - ), + # Source: lll + # { (RETURN 0 0xfffffff) } + addr_7 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFF) + Op.STOP, nonce=0, - address=Address("0x57545d218764bc417fdcbbc2c1f43b2a62105ce1"), # noqa: E501 + address=Address(0x7266F1C07958D55CE36DE0592604F1A915BDF1C2), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0x0) + Op.STOP, + # Source: lll + # { (RETURN 0 0xffffffff) } + addr_8 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFFF) + Op.STOP, nonce=0, - address=Address("0x5efbf04d8e1cc5b6b3719b16b5744a09bacfc18b"), # noqa: E501 + address=Address(0x2CEB88D6C420E5C65593D9EBED9A25600AB9E113), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0x0, size=0xFFFFFFF) + Op.STOP, + # Source: lll + # { (RETURN 0 0xffffffffffffffff) } + addr_9 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFF) + Op.STOP, nonce=0, - address=Address("0x7266f1c07958d55ce36de0592604f1a915bdf1c2"), # noqa: E501 + address=Address(0x0B09CA4308585F026B8D02BE147FEA0739EC463A), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN( - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.STOP - ), + # Source: lll + # { (RETURN 0 0xfffffffffffffffffffffffffff) } + addr_10 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.STOP, nonce=0, - address=Address("0x76006c948f3a0529479c6d18a6f95908426e8092"), # noqa: E501 + address=Address(0xF519DE4DCB9AAA53F8F0DB9B18C715C928CAADE8), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN(offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, size=0x0) + Op.STOP - ), + # Source: lll + # { (RETURN 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr_11 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0x0, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0x7a4461ac9f9cd13f40f9514a7c60e23a71c1dff3"), # noqa: E501 + address=Address(0x28463490948D21EFC49949B4D394989BF52C57F1), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0x0) + Op.STOP, + # Source: lll + # { (RETURN 0xfffffff 0xfffffff) } + addr_12 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFF, size=0xFFFFFFF) + Op.STOP, nonce=0, - address=Address("0x7bbcf24c83493c4e733cb54079b51873d3211ad2"), # noqa: E501 + address=Address(0x07084994C5891B1467D74BEDB0477DA4909E4C0E), # noqa: E501 ) - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - pre.deploy_contract( + # Source: lll + # { (RETURN 0xffffffff 0xffffffff) } + addr_13 = pre.deploy_contract( # noqa: F841 code=Op.RETURN(offset=0xFFFFFFFF, size=0xFFFFFFFF) + Op.STOP, nonce=0, - address=Address("0xad7754a8a56cc5ad4e319fa94194e435628dee67"), # noqa: E501 + address=Address(0xAD7754A8A56CC5AD4E319FA94194E435628DEE67), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFF, size=0x0) + Op.STOP, + # Source: lll + # { (RETURN 0xffffffffffffffff 0xffffffffffffffff) } + addr_14 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN(offset=0xFFFFFFFFFFFFFFFF, size=0xFFFFFFFFFFFFFFFF) + + Op.STOP, nonce=0, - address=Address("0xc7aa750fe05c7e38475a49fe98a301024d0c1d54"), # noqa: E501 + address=Address(0x416408C1D7FDA274DDEB45FFE4817068808121CA), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.RETURN(offset=0x0, size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF) + Op.STOP - ), + # Source: lll + # { (RETURN 0xfffffffffffffffffffffffffff 0xfffffffffffffffffffffffffff) } + addr_15 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFF, + ) + + Op.STOP, nonce=0, - address=Address("0xf519de4dcb9aaa53f8f0db9b18c715c928caade8"), # noqa: E501 + address=Address(0x2548BDA95A3831ABCD613F4D24E4634615A71CCA), # noqa: E501 ) - pre.deploy_contract( - code=Op.RETURN(offset=0xFFFFFFFF, size=0x0) + Op.STOP, + # Source: lll + # { (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } # noqa: E501 + addr_16 = pre.deploy_contract( # noqa: F841 + code=Op.RETURN( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.STOP, nonce=0, - address=Address("0xff6b6d23be161344e86eb7b174acedd4b1dc6dc7"), # noqa: E501 + address=Address(0x76006C948F3A0529479C6D18A6F95908426E8092), # noqa: E501 + ) + pre[sender] = Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + target: Account( + storage={ + 1: 1, + 2: 1, + 3: 1, + 4: 1, + 5: 1, + 6: 1, + 7: 1, + 8: 1, + 9: 1, + 10: 1, + 11: 1, + 12: 1, + 13: 1, + 14: 1, + 15: 1, + 16: 1, + }, + balance=1, + ), + }, + }, + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={}, balance=0)}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("00"), + Address(0x1), + ] + tx_gas = [15000000] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=15000000, - value=1, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_return_test.py b/tests/ported_static/stStaticCall/test_static_return_test.py index 6ad5935d022..ba221d701f9 100644 --- a/tests/ported_static/stStaticCall/test_static_return_test.py +++ b/tests/ported_static/stStaticCall/test_static_return_test.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_return_test. Ported from: -tests/static/state_tests/stStaticCall/static_ReturnTestFiller.json +state_tests/stStaticCall/static_ReturnTestFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,19 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_ReturnTestFiller.json"], + ["state_tests/stStaticCall/static_ReturnTestFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_return_test( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_return_test.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x194F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,49 +49,44 @@ def test_static_return_test( gas_limit=10000000, ) - # Source: LLL + # Source: lll # {(STATICCALL 2000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 30 1 31 1) [[0]](MLOAD 0) (RETURN 30 2)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x7D0, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - args_offset=0x1E, - args_size=0x1, - ret_offset=0x1F, - ret_size=0x1, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x7D0, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + args_offset=0x1E, + args_size=0x1, + ret_offset=0x1F, + ret_size=0x1, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.RETURN(offset=0x1E, size=0x2) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.RETURN(offset=0x1E, size=0x2) + + Op.STOP, nonce=0, - address=Address("0x194f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0x194F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) - # Source: LLL + # Source: lll # {(MSTORE 0 0x15) (RETURN 31 1)} - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x15) - + Op.RETURN(offset=0x1F, size=0x1) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x15) + + Op.RETURN(offset=0x1F, size=0x1) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=300000, ) - post = { - contract: Account(storage={0: 21}), - } + post = {contract_0: Account(storage={0: 21})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_return_test2.py b/tests/ported_static/stStaticCall/test_static_return_test2.py index 3ef1a7eb3d0..5d839a4c38d 100644 --- a/tests/ported_static/stStaticCall/test_static_return_test2.py +++ b/tests/ported_static/stStaticCall/test_static_return_test2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_return_test2. Ported from: -tests/static/state_tests/stStaticCall/static_ReturnTest2Filler.json +state_tests/stStaticCall/static_ReturnTest2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,19 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_ReturnTest2Filler.json"], + ["state_tests/stStaticCall/static_ReturnTest2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_return_test2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_return_test2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x194F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,53 +49,48 @@ def test_static_return_test2( gas_limit=1000000000, ) - # Source: LLL + # Source: lll # {(MSTORE 0 0x15)(STATICCALL 7000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 32 32 32) [[0]](MLOAD 0) [[1]](MLOAD 32) (RETURN 0 64)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x15) - + Op.POP( - Op.STATICCALL( - gas=0x1B58, - address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - args_offset=0x0, - args_size=0x20, - ret_offset=0x20, - ret_size=0x20, - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x15) + + Op.POP( + Op.STATICCALL( + gas=0x1B58, + address=0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + args_offset=0x0, + args_size=0x20, + ret_offset=0x20, + ret_size=0x20, ) - + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) - + Op.RETURN(offset=0x0, size=0x40) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.RETURN(offset=0x0, size=0x40) + + Op.STOP, nonce=0, - address=Address("0x194f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0x194F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) - # Source: LLL + # Source: lll # {(MSTORE 0 (MUL 3 (CALLDATALOAD 0)))(RETURN 0 32)} - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, value=Op.MUL(0x3, Op.CALLDATALOAD(offset=0x0)) - ) - + Op.RETURN(offset=0x0, size=0x20) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, value=Op.MUL(0x3, Op.CALLDATALOAD(offset=0x0)) + ) + + Op.RETURN(offset=0x0, size=0x20) + + Op.STOP, balance=0x186A0, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=250000, ) - post = { - contract: Account(storage={0: 21, 1: 63}), - } + post = {contract_0: Account(storage={0: 21, 1: 63})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_revert_depth2.py b/tests/ported_static/stStaticCall/test_static_revert_depth2.py index 768bfdf9c84..5bc03306a66 100644 --- a/tests/ported_static/stStaticCall/test_static_revert_depth2.py +++ b/tests/ported_static/stStaticCall/test_static_revert_depth2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_revert_depth2. Ported from: -tests/static/state_tests/stStaticCall/static_RevertDepth2Filler.json +state_tests/stStaticCall/static_RevertDepth2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,17 +23,17 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stStaticCall/static_RevertDepth2Filler.json"], + ["state_tests/stStaticCall/static_RevertDepth2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_revert_depth2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_revert_depth2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -46,89 +47,94 @@ def test_static_revert_depth2( gas_limit=10000000, ) - pre.deploy_contract( - code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] (ADD 1 (SLOAD 0)) [[1]] (STATICCALL 150000 0 0 0 0) [[2]] (STATICCALL 150000 0 0 0 0)} # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0x249F0, + address=0x5DD18F4768E54DE1443F70EC11AD95D5DB424293, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE( + key=0x2, + value=Op.STATICCALL( + gas=0x249F0, + address=0xA61140A1C2699A13C619940208A513D42F654E98, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0x15b1327fe926a2172adfd10efdef1505c8e15461"), # noqa: E501 + address=Address(0x57C111943C5E6F1817EE85FD1212409B7D1F7F26), # noqa: E501 ) - # Source: LLL - # { [[0]] (ADD 1 (SLOAD 0)) [[1]] (STATICCALL 150000 0 0 0 0) [[2]] (STATICCALL 150000 0 0 0 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(0x1, Op.SLOAD(key=0x0))) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0x249F0, - address=0x5DD18F4768E54DE1443F70EC11AD95D5DB424293, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x2, - value=Op.STATICCALL( - gas=0x249F0, - address=0xA61140A1C2699A13C619940208A513D42F654E98, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (STATICCALL 50000 0 0 0 0) (MSTORE 1 1) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x15B1327FE926A2172ADFD10EFDEF1505C8E15461, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.STOP - ), + ) + + Op.MSTORE(offset=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0x57c111943c5e6f1817ee85fd1212409b7d1f7f26"), # noqa: E501 + address=Address(0x5DD18F4768E54DE1443F70EC11AD95D5DB424293), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x15B1327FE926A2172ADFD10EFDEF1505C8E15461, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x1, value=0x1) - + Op.STOP - ), + # Source: lll + # { (MSTORE 1 1) } + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0x1) + Op.STOP, nonce=0, - address=Address("0x5dd18f4768e54de1443f70ec11ad95d5db424293"), # noqa: E501 + address=Address(0x15B1327FE926A2172ADFD10EFDEF1505C8E15461), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0xC350, - address=0x15B1327FE926A2172ADFD10EFDEF1505C8E15461, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + # Source: lll + # { (STATICCALL 50000 0 0 0 0) (KECCAK256 0x00 0x2fffff) } # noqa: E501 + addr_3 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0xC350, + address=0x15B1327FE926A2172ADFD10EFDEF1505C8E15461, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xa61140a1c2699a13c619940208a513d42f654e98"), # noqa: E501 + address=Address(0xA61140A1C2699A13C619940208A513D42F654E98), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1706850, ) post = { - contract: Account(storage={0: 1, 1: 1}), + target: Account(storage={0: 1, 1: 1, 2: 0}), + addr: Account(storage={0: 0, 1: 0}), + addr_2: Account(storage={0: 0}), + addr_3: Account(storage={0: 0, 1: 0, 2: 0}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_revert_opcode_calls.py b/tests/ported_static/stStaticCall/test_static_revert_opcode_calls.py index b7c19c9f498..e0e0d3eec06 100644 --- a/tests/ported_static/stStaticCall/test_static_revert_opcode_calls.py +++ b/tests/ported_static/stStaticCall/test_static_revert_opcode_calls.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_static_revert_opcode_calls. Ported from: -tests/static/state_tests/stStaticCall/static_RevertOpcodeCallsFiller.json +state_tests/stStaticCall/static_RevertOpcodeCallsFiller.json """ import pytest @@ -11,10 +11,12 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,28 +24,38 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_RevertOpcodeCallsFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_RevertOpcodeCallsFiller.json"], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_gas_limit", + "d, g, v", [ - 460000, - 88000, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_static_revert_opcode_calls( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_revert_opcode_calls.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -57,44 +69,48 @@ def test_static_revert_opcode_calls( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]] (STATICCALL 50000 0 0 0 0) [[1]] (RETURNDATASIZE)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=0xC350, - address=0xBE254B4ACEB5B7495F1A5646BE06FE5A158581EC, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=0xC350, + address=0xBE254B4ACEB5B7495F1A5646BE06FE5A158581EC, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x1, value=Op.RETURNDATASIZE) + + Op.STOP, balance=1, nonce=0, - address=Address("0x187c91277deeedf062a07b44de3c96c6e7cbc7bb"), # noqa: E501 + address=Address(0x187C91277DEEEDF062A07B44DE3C96C6E7CBC7BB), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # { (REVERT 0 1) } + addr = pre.deploy_contract( # noqa: F841 code=Op.REVERT(offset=0x0, size=0x1) + Op.STOP, balance=1, nonce=0, - address=Address("0xbe254b4aceb5b7495f1a5646be06fe5a158581ec"), # noqa: E501 + address=Address(0xBE254B4ACEB5B7495F1A5646BE06FE5A158581EC), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + + tx_data = [ + Bytes(""), + ] + tx_gas = [460000, 88000] tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], ) - post = { - contract: Account(storage={1: 1}), - } + post = {target: Account(storage={1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_zero_value_call_oog_revert.py b/tests/ported_static/stStaticCall/test_static_zero_value_call_oog_revert.py index b8a6cff5012..68708a26b72 100644 --- a/tests/ported_static/stStaticCall/test_static_zero_value_call_oog_revert.py +++ b/tests/ported_static/stStaticCall/test_static_zero_value_call_oog_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_zero_value_call_oog_revert. Ported from: -tests/static/state_tests/stStaticCall -static_ZeroValue_CALL_OOGRevertFiller.json +state_tests/stStaticCall/static_ZeroValue_CALL_OOGRevertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,18 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_ZeroValue_CALL_OOGRevertFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_ZeroValue_CALL_OOGRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_zero_value_call_oog_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_zero_value_call_oog_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -50,36 +49,41 @@ def test_static_zero_value_call_oog_revert( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (KECCAK256 0x00 0x2fffff) [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.STATICCALL( - gas=0xEA60, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.STATICCALL( + gas=0xEA60, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.POP(Op.SHA3(offset=0x0, size=0x2FFFFF)) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=1350000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + Address( + 0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + contract_0: Account(storage={0: 0, 1: 0, 100: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_static_zero_value_suicide_oog_revert.py b/tests/ported_static/stStaticCall/test_static_zero_value_suicide_oog_revert.py index d1c49ea704e..5c045440fa5 100644 --- a/tests/ported_static/stStaticCall/test_static_zero_value_suicide_oog_revert.py +++ b/tests/ported_static/stStaticCall/test_static_zero_value_suicide_oog_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_static_zero_value_suicide_oog_revert. Ported from: -tests/static/state_tests/stStaticCall -static_ZeroValue_SUICIDE_OOGRevertFiller.json +state_tests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,19 +23,17 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevertFiller.json", # noqa: E501 - ], + ["state_tests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_static_zero_value_suicide_oog_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_static_zero_value_suicide_oog_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -49,42 +47,47 @@ def test_static_zero_value_suicide_oog_revert( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (STATICCALL 100000 0 0 0 0) (KECCAK256 0x00 0x2fffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.STATICCALL( - gas=0x186A0, - address=0xDA2EB5512889130C4AF686A291B08665B889CB22, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.STATICCALL( + gas=0x186A0, + address=0xDA2EB5512889130C4AF686A291B08665B889CB22, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SHA3(offset=0x0, size=0x2FFFFF) - + Op.STOP - ), + ) + + Op.SHA3(offset=0x0, size=0x2FFFFF) + + Op.STOP, nonce=0, - address=Address("0xcbecd26bebbaeddef56fce1849f78096332b11ab"), # noqa: E501 + address=Address(0xCBECD26BEBBAEDDEF56FCE1849F78096332B11AB), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xDA2EB5512889130C4AF686A291B08665B889CB22) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xDA2EB5512889130C4AF686A291B08665B889CB22 + ) + + Op.STOP, nonce=0, - address=Address("0xda2eb5512889130c4af686a291b08665b889cb22"), # noqa: E501 + address=Address(0xDA2EB5512889130C4AF686A291B08665B889CB22), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + target: Account(storage={}), + addr: Account(storage={}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_called_contract.py b/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_called_contract.py index 1335f205680..36d88acb23a 100644 --- a/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_called_contract.py +++ b/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_called_contract.py @@ -1,11 +1,11 @@ """ -STATICCALL to precompiled contracts from contract that called from another... +STATICCALL to precompiled contracts from contract that called from... It should execute successfully for each precompiled contract. + Ported from: -tests/static/state_tests/stStaticCall -StaticcallToPrecompileFromCalledContractFiller.yml +state_tests/stStaticCall/StaticcallToPrecompileFromCalledContractFiller.yml """ import pytest @@ -14,6 +14,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -26,19 +27,20 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/StaticcallToPrecompileFromCalledContractFiller.yml", # noqa: E501 + "state_tests/stStaticCall/StaticcallToPrecompileFromCalledContractFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow +@pytest.mark.pre_alloc_mutable def test_staticcall_to_precompile_from_called_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: - """STATICCALL to precompiled contracts from contract that called...""" - coinbase = Address("0xcafe000000000000000000000000000000000001") + """STATICCALL to precompiled contracts from contract that called from...""" + coinbase = Address(0xCAFE000000000000000000000000000000000001) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,383 +54,28 @@ def test_staticcall_to_precompile_from_called_contract( gas_limit=10000000, ) - # Source: LLL - # { - # ;; Recovery of ECDSA signature - # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 - # [ 0x20 ] 28 - # [ 0x40 ] 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f # noqa: E501 - # [ 0x60 ] 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549 # noqa: E501 - # [[ 0x00 ]] (STATICCALL (GAS) 1 0 128 1000 32) - # [[ 0x01 ]] (MOD @1000 (EXP 2 160)) - # [[ 0x02 ]] (EQ (ORIGIN) @@1) - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x20 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x40 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x60 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 1000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function SHA256 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # [[ 0x03 ]] (STATICCALL (GAS) 2 0 32 1000 32) - # [[ 0x04 ]] @0 - # [[ 0x05 ]] @1000 - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 1000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function RIPEMD160 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # [[ 0x06 ]] (STATICCALL (GAS) 3 0 32 1000 32) - # [[ 0x07 ]] @0 - # [[ 0x08 ]] @1000 - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 1000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # ... (70 more lines) - callee = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.MOD(Op.MLOAD(offset=0x3E8), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x2, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x1))) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x3, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x6, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x7, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x8, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x9, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x10, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x11, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x5, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.SSTORE( - key=0x13, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x6, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3E8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x408)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x408, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.SSTORE( - key=0x16, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x7, - args_offset=0x0, - args_size=0x60, - ret_offset=0x3E8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x17, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x18, value=Op.MLOAD(offset=0x408)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x408, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x19, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x8, - args_offset=0x0, - args_size=0x180, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x20, value=Op.MLOAD(offset=0x3E8)) - + Op.STOP - ), - nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # [[ 0 ]] (CALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0 0 0 ) # noqa: E501 # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=Op.GAS, + address=0xA000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=1000000, - value=100, + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - - post = { - callee: Account( - storage={ - 0: 1, - 1: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2: 1, - 3: 1, - 4: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, - 5: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 6: 1, - 7: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, - 8: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 9: 1, - 16: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 17: 1, - 18: 1, - 19: 1, - 20: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 21: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 22: 1, - 23: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 24: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 25: 1, - 32: 1, - }, - ), - contract: Account(storage={0: 1}), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/StaticcallToPrecompileFromCalledContractFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.pre_alloc_mutable -@pytest.mark.slow -def test_staticcall_to_precompile_from_called_contract_from_osaka( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """STATICCALL to precompiled contracts from contract that called...""" - coinbase = Address("0xcafe000000000000000000000000000000000001") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL + # Source: lll # { # ;; Recovery of ECDSA signature # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 @@ -460,293 +107,269 @@ def test_staticcall_to_precompile_from_called_contract_from_osaka( # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 # [ 1000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 # ... (70 more lines) - callee = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.MOD(Op.MLOAD(offset=0x3E8), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x2, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x1))) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x3, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x6, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x7, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x8, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x9, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x10, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x11, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x5, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.SSTORE( - key=0x13, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x6, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3E8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x408)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x408, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.SSTORE( - key=0x16, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x7, - args_offset=0x0, - args_size=0x60, - ret_offset=0x3E8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x17, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x18, value=Op.MLOAD(offset=0x408)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x408, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x19, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x8, - args_offset=0x0, - args_size=0x180, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x20, value=Op.MLOAD(offset=0x3E8)) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x1, value=Op.MOD(Op.MLOAD(offset=0x3E8), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x2, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x1))) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.SSTORE( + key=0x3, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0x3E8)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.SSTORE( + key=0x6, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x3, + args_offset=0x0, + args_size=0x20, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x7, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x8, value=Op.MLOAD(offset=0x3E8)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.SSTORE( + key=0x9, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x4, + args_offset=0x0, + args_size=0x20, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x10, value=Op.MLOAD(offset=0x3E8)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE(offset=0x0, value=0x1) + + Op.MSTORE(offset=0x20, value=0x20) + + Op.MSTORE(offset=0x40, value=0x20) + + Op.MSTORE( + offset=0x60, + value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.SSTORE( + key=0x11, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x5, + args_offset=0x0, + args_size=0xA1, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x3E8)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x80, value=0x0) + + Op.MSTORE(offset=0xA0, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 + ) + + Op.SSTORE( + key=0x13, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x6, + args_offset=0x0, + args_size=0x80, + ret_offset=0x3E8, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x3E8)) + + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x408)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE(offset=0x408, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE(offset=0x40, value=0x3) + + Op.SSTORE( + key=0x16, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x7, + args_offset=0x0, + args_size=0x60, + ret_offset=0x3E8, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x17, value=Op.MLOAD(offset=0x3E8)) + + Op.SSTORE(key=0x18, value=Op.MLOAD(offset=0x408)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE(offset=0x408, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 + ) + + Op.MSTORE( + offset=0xE0, + value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 + ) + + Op.MSTORE( + offset=0x100, + value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x120, + value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 + ) + + Op.MSTORE( + offset=0x140, + value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 + ) + + Op.MSTORE( + offset=0x160, + value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x19, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x8, + args_offset=0x0, + args_size=0x180, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x20, value=Op.MLOAD(offset=0x3E8)) + + Op.STOP, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { - # [[ 0 ]] (CALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0 0 0 ) # noqa: E501 - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=1000000, value=100, ) post = { - callee: Account( + contract_0: Account(storage={0: 1}), + contract_1: Account( storage={ 0: 1, 1: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, @@ -771,7 +394,6 @@ def test_staticcall_to_precompile_from_called_contract_from_osaka( 32: 1, }, ), - contract: Account(storage={0: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_contract_initialization.py b/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_contract_initialization.py index c619d698b92..aef233731d8 100644 --- a/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_contract_initialization.py +++ b/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_contract_initialization.py @@ -3,9 +3,9 @@ It should execute successfully for each precompiled contract. + Ported from: -tests/static/state_tests/stStaticCall -StaticcallToPrecompileFromContractInitializationFiller.yml +state_tests/stStaticCall/StaticcallToPrecompileFromContractInitializationFiller.yml """ import pytest @@ -14,6 +14,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -26,152 +27,19 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/StaticcallToPrecompileFromContractInitializationFiller.yml", # noqa: E501 + "state_tests/stStaticCall/StaticcallToPrecompileFromContractInitializationFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow -def test_staticcall_to_precompile_from_contract_initialization( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """STATICCALL to precompiled contracts from contract initialization...""" - coinbase = Address("0xcafe000000000000000000000000000000000001") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL - # { - # (CALLDATACOPY 0 0 (CALLDATASIZE)) - # [[ 0 ]] (CREATE2 0 0 (CALLDATASIZE) 0x5a175a175a17) - # } - contract = pre.deploy_contract( - code=( - Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) - + Op.SSTORE( - key=0x0, - value=Op.CREATE2( - value=0x0, - offset=0x0, - size=Op.CALLDATASIZE, - salt=0x5A175A175A17, - ), - ) - + Op.STOP - ), - nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052" # noqa: E501 - "601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5" # noqa: E501 - "a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c" # noqa: E501 - "454960605260206103e860806000600162061a80fa60005560a060020a6103e851066001" # noqa: E501 - "556001543214600255600060005260006020526000604052600060605260006103e8527c" # noqa: E501 - "0ccccccccccccccccccccccccccccccccccccccccccccccccccc00000060005260206103" # noqa: E501 - "e86020600060025afa6003556000516004556103e851600555600060005260006103e852" # noqa: E501 - "7c0ccccccccccccccccccccccccccccccccccccccccccccccccccc000000600052602061" # noqa: E501 - "03e86020600060035afa6006556000516007556103e851600855600060005260006103e8" # noqa: E501 - "527c0ccccccccccccccccccccccccccccccccccccccccccccccccccc0000006000526020" # noqa: E501 - "6103e86020600060045afa6009556103e851601055600060005260006103e85260016000" # noqa: E501 - "52602060205260206040527f03ffffffffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffefffffc6060527f2effffffffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffefffffc6080527f2f0000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000060a05260206103e860a1600060055afa6011556103e8516012556000" # noqa: E501 - "6000526000602052600060405260006060526000608052600060a05260006103e8527f0f" # noqa: E501 - "25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd26000527f16" # noqa: E501 - "da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba6020527f1d" # noqa: E501 - "e49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2866040527f02" # noqa: E501 - "17327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d46060526040" # noqa: E501 - "6103e86080600060065afa6013556103e851601455610408516015556000600052600060" # noqa: E501 - "20526000604052600060605260006103e8526000610408527f0f25929bcb43d5a5739156" # noqa: E501 - "4615c9e70a992b10eafa4db109709649cf48c50dd26000527f16da2f5cb6be7a0aa72c44" # noqa: E501 - "0c53c9bbdfec6c36c7d515536431b3a865468acbba602052600360405260406103e86060" # noqa: E501 - "600060075afa6016556103e8516017556104085160185560006000526000602052600060" # noqa: E501 - "405260006103e8526000610408527f1c76476f4def4bb94541d57ebba1193381ffa7aa76" # noqa: E501 - "ada664dd31c16024c43f596000527f3034dd2920f673e204fee2811c678745fc819b55d3" # noqa: E501 - "e9d294e45c9b03a76aef416020527f209dd15ebff5d46c4bd888e51a93cf99a7329636c6" # noqa: E501 - "3514396b4a452003a35bf76040527f04bf11ca01483bfa8b34b43561848d28905960114c" # noqa: E501 - "8ac04049af4b6315a416786060527f2bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7a" # noqa: E501 - "c41fadbf933c2a51be344d6080527f120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c" # noqa: E501 - "9bb048165fe5e4de87755060a0527f111e129f1cf1097710d41c4ac70fcdfa5ba2023c6f" # noqa: E501 - "f1cbeac322de49d1b6df7c60c0527f2032c61a830e3c17286de9462bf242fca2883585b9" # noqa: E501 - "3870a73853face6a6bf41160e0527f198e9393920d483a7260bfb731fb5d25f1aa493335" # noqa: E501 - "a9e71297e485b7aef312c2610100527f1800deef121f1e76426a00665e5c4479674322d4" # noqa: E501 - "f75edadd46debd5cd992f6ed610120527f090689d0585ff075ec9e99ad690c3395bc4b31" # noqa: E501 - "3370b38ef355acdadcd122975b610140527f12c85ea5db8c6deb4aab71808dcb408fe3d1" # noqa: E501 - "e7690c43d37b4ce6cc0166fa7daa6101605260206103e8610180600060085afa60195561" # noqa: E501 - "03e85160205500" - ), - gas_limit=1000000, - value=100, - ) - - post = { - contract: Account( - storage={0: 0xFAD204ED1275B429B66C9CE0614D62832D6B2580}, - ), - Address("0xfad204ed1275b429b66c9ce0614d62832d6b2580"): Account( - storage={ - 0: 1, - 1: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2: 1, - 3: 1, - 4: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, - 5: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 6: 1, - 7: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, - 8: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 9: 1, - 16: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 17: 1, - 18: 1, - 19: 1, - 20: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 21: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 22: 1, - 23: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 24: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 25: 1, - 32: 1, - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/StaticcallToPrecompileFromContractInitializationFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") @pytest.mark.pre_alloc_mutable -@pytest.mark.slow -def test_staticcall_to_precompile_from_contract_initialization_from_osaka( +def test_staticcall_to_precompile_from_contract_initialization( state_test: StateTestFiller, pre: Alloc, ) -> None: - """STATICCALL to precompiled contracts from contract initialization...""" - coinbase = Address("0xcafe000000000000000000000000000000000001") + """STATICCALL to precompiled contracts from contract initialization code.""" # noqa: E501 + coinbase = Address(0xCAFE000000000000000000000000000000000001) + contract_0 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -185,83 +53,43 @@ def test_staticcall_to_precompile_from_contract_initialization_from_osaka( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { # (CALLDATACOPY 0 0 (CALLDATASIZE)) # [[ 0 ]] (CREATE2 0 0 (CALLDATASIZE) 0x5a175a175a17) # } - contract = pre.deploy_contract( - code=( - Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) - + Op.SSTORE( - key=0x0, - value=Op.CREATE2( - value=0x0, - offset=0x0, - size=Op.CALLDATASIZE, - salt=0x5A175A175A17, - ), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) + + Op.SSTORE( + key=0x0, + value=Op.CREATE2( + value=0x0, + offset=0x0, + size=Op.CALLDATASIZE, + salt=0x5A175A175A17, + ), + ) + + Op.STOP, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052" # noqa: E501 - "601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5" # noqa: E501 - "a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c" # noqa: E501 - "454960605260206103e860806000600162061a80fa60005560a060020a6103e851066001" # noqa: E501 - "556001543214600255600060005260006020526000604052600060605260006103e8527c" # noqa: E501 - "0ccccccccccccccccccccccccccccccccccccccccccccccccccc00000060005260206103" # noqa: E501 - "e86020600060025afa6003556000516004556103e851600555600060005260006103e852" # noqa: E501 - "7c0ccccccccccccccccccccccccccccccccccccccccccccccccccc000000600052602061" # noqa: E501 - "03e86020600060035afa6006556000516007556103e851600855600060005260006103e8" # noqa: E501 - "527c0ccccccccccccccccccccccccccccccccccccccccccccccccccc0000006000526020" # noqa: E501 - "6103e86020600060045afa6009556103e851601055600060005260006103e85260016000" # noqa: E501 - "52602060205260206040527f03ffffffffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffefffffc6060527f2effffffffffffffffffffffffffffffffffffffffffffff" # noqa: E501 - "fffffffffefffffc6080527f2f0000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000060a05260206103e860a1600060055afa6011556103e8516012556000" # noqa: E501 - "6000526000602052600060405260006060526000608052600060a05260006103e8527f0f" # noqa: E501 - "25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd26000527f16" # noqa: E501 - "da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba6020527f1d" # noqa: E501 - "e49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2866040527f02" # noqa: E501 - "17327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d46060526040" # noqa: E501 - "6103e86080600060065afa6013556103e851601455610408516015556000600052600060" # noqa: E501 - "20526000604052600060605260006103e8526000610408527f0f25929bcb43d5a5739156" # noqa: E501 - "4615c9e70a992b10eafa4db109709649cf48c50dd26000527f16da2f5cb6be7a0aa72c44" # noqa: E501 - "0c53c9bbdfec6c36c7d515536431b3a865468acbba602052600360405260406103e86060" # noqa: E501 - "600060075afa6016556103e8516017556104085160185560006000526000602052600060" # noqa: E501 - "405260006103e8526000610408527f1c76476f4def4bb94541d57ebba1193381ffa7aa76" # noqa: E501 - "ada664dd31c16024c43f596000527f3034dd2920f673e204fee2811c678745fc819b55d3" # noqa: E501 - "e9d294e45c9b03a76aef416020527f209dd15ebff5d46c4bd888e51a93cf99a7329636c6" # noqa: E501 - "3514396b4a452003a35bf76040527f04bf11ca01483bfa8b34b43561848d28905960114c" # noqa: E501 - "8ac04049af4b6315a416786060527f2bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7a" # noqa: E501 - "c41fadbf933c2a51be344d6080527f120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c" # noqa: E501 - "9bb048165fe5e4de87755060a0527f111e129f1cf1097710d41c4ac70fcdfa5ba2023c6f" # noqa: E501 - "f1cbeac322de49d1b6df7c60c0527f2032c61a830e3c17286de9462bf242fca2883585b9" # noqa: E501 - "3870a73853face6a6bf41160e0527f198e9393920d483a7260bfb731fb5d25f1aa493335" # noqa: E501 - "a9e71297e485b7aef312c2610100527f1800deef121f1e76426a00665e5c4479674322d4" # noqa: E501 - "f75edadd46debd5cd992f6ed610120527f090689d0585ff075ec9e99ad690c3395bc4b31" # noqa: E501 - "3370b38ef355acdadcd122975b610140527f12c85ea5db8c6deb4aab71808dcb408fe3d1" # noqa: E501 - "e7690c43d37b4ce6cc0166fa7daa6101605260206103e8610180600060085afa60195561" # noqa: E501 - "03e85160205500" + to=contract_0, + data=Bytes( + "7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206103e860806000600162061a80fa60005560a060020a6103e851066001556001543214600255600060005260006020526000604052600060605260006103e8527c0ccccccccccccccccccccccccccccccccccccccccccccccccccc00000060005260206103e86020600060025afa6003556000516004556103e851600555600060005260006103e8527c0ccccccccccccccccccccccccccccccccccccccccccccccccccc00000060005260206103e86020600060035afa6006556000516007556103e851600855600060005260006103e8527c0ccccccccccccccccccccccccccccccccccccccccccccccccccc00000060005260206103e86020600060045afa6009556103e851601055600060005260006103e8526001600052602060205260206040527f03fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc6060527f2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc6080527f2f0000000000000000000000000000000000000000000000000000000000000060a05260206103e860a1600060055afa6011556103e85160125560006000526000602052600060405260006060526000608052600060a05260006103e8527f0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd26000527f16da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba6020527f1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2866040527f0217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d460605260406103e86080600060065afa6013556103e85160145561040851601555600060005260006020526000604052600060605260006103e8526000610408527f0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd26000527f16da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba602052600360405260406103e86060600060075afa6016556103e8516017556104085160185560006000526000602052600060405260006103e8526000610408527f1c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f596000527f3034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef416020527f209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf76040527f04bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416786060527f2bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d6080527f120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de87755060a0527f111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c60c0527f2032c61a830e3c17286de9462bf242fca2883585b93870a73853face6a6bf41160e0527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2610100527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed610120527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b610140527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101605260206103e8610180600060085afa6019556103e85160205500" # noqa: E501 ), gas_limit=1000000, value=100, ) post = { - contract: Account( + contract_0: Account( storage={0: 0xFAD204ED1275B429B66C9CE0614D62832D6B2580}, ), - Address("0xfad204ed1275b429b66c9ce0614d62832d6b2580"): Account( + Address(0xFAD204ED1275B429B66C9CE0614D62832D6B2580): Account( storage={ 0: 1, 1: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, diff --git a/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_transaction.py b/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_transaction.py index 4eadb6c2950..5b4eaec91ea 100644 --- a/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_transaction.py +++ b/tests/ported_static/stStaticCall/test_staticcall_to_precompile_from_transaction.py @@ -3,9 +3,9 @@ It should execute successfully for each precompiled contract. + Ported from: -tests/static/state_tests/stStaticCall -StaticcallToPrecompileFromTransactionFiller.yml +state_tests/stStaticCall/StaticcallToPrecompileFromTransactionFiller.yml """ import pytest @@ -14,6 +14,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -26,371 +27,19 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticCall/StaticcallToPrecompileFromTransactionFiller.yml", # noqa: E501 + "state_tests/stStaticCall/StaticcallToPrecompileFromTransactionFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable @pytest.mark.slow -def test_staticcall_to_precompile_from_transaction( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """STATICCALL to precompiled contracts from transaction code.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL - # { - # ;; Recovery of ECDSA signature - # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 - # [ 0x20 ] 28 - # [ 0x40 ] 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f # noqa: E501 - # [ 0x60 ] 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549 # noqa: E501 - # [[ 0x00 ]] (STATICCALL (GAS) 1 0 128 1000 32) - # [[ 0x01 ]] (MOD @1000 (EXP 2 160)) - # [[ 0x02 ]] (EQ (ORIGIN) @@1) - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x20 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x40 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x60 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 1000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function SHA256 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # [[ 0x03 ]] (STATICCALL (GAS) 2 0 32 1000 32) - # [[ 0x04 ]] @0 - # [[ 0x05 ]] @1000 - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 1000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function RIPEMD160 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # [[ 0x06 ]] (STATICCALL (GAS) 3 0 32 1000 32) - # [[ 0x07 ]] @0 - # [[ 0x08 ]] @1000 - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 1000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # ... (70 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.MOD(Op.MLOAD(offset=0x3E8), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x2, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x1))) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x3, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x6, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x7, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x8, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x9, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x10, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x11, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x5, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.SSTORE( - key=0x13, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x6, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3E8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x408)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x408, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.SSTORE( - key=0x16, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x7, - args_offset=0x0, - args_size=0x60, - ret_offset=0x3E8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x17, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x18, value=Op.MLOAD(offset=0x408)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x408, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x19, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x8, - args_offset=0x0, - args_size=0x180, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x20, value=Op.MLOAD(offset=0x3E8)) - + Op.STOP - ), - nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=1000000, - value=100, - ) - - post = { - contract: Account( - storage={ - 0: 1, - 1: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2: 1, - 3: 1, - 4: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, - 5: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 6: 1, - 7: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, - 8: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 9: 1, - 16: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 17: 1, - 18: 1, - 19: 1, - 20: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 21: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 22: 1, - 23: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 24: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 25: 1, - 32: 1, - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticCall/StaticcallToPrecompileFromTransactionFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") @pytest.mark.pre_alloc_mutable -@pytest.mark.slow -def test_staticcall_to_precompile_from_transaction_from_osaka( +def test_staticcall_to_precompile_from_transaction( state_test: StateTestFiller, pre: Alloc, ) -> None: """STATICCALL to precompiled contracts from transaction code.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") + coinbase = Address(0xCAFE000000000000000000000000000000000001) + contract_0 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -404,7 +53,7 @@ def test_staticcall_to_precompile_from_transaction_from_osaka( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { # ;; Recovery of ECDSA signature # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 @@ -436,270 +85,268 @@ def test_staticcall_to_precompile_from_transaction_from_osaka( # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 # [ 1000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 # ... (70 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.MOD(Op.MLOAD(offset=0x3E8), Op.EXP(0x2, 0xA0)), - ) - + Op.SSTORE(key=0x2, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x1))) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x3, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x6, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x7, value=Op.MLOAD(offset=0x0)) - + Op.SSTORE(key=0x8, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x9, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x10, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x11, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x5, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x3E8)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.SSTORE( - key=0x13, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x6, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3E8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x408)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x408, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.SSTORE( - key=0x16, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x7, - args_offset=0x0, - args_size=0x60, - ret_offset=0x3E8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x17, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x18, value=Op.MLOAD(offset=0x408)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x3E8, value=0x0) - + Op.MSTORE(offset=0x408, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x19, - value=Op.STATICCALL( - gas=Op.GAS, - address=0x8, - args_offset=0x0, - args_size=0x180, - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x20, value=Op.MLOAD(offset=0x3E8)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE( + key=0x1, value=Op.MOD(Op.MLOAD(offset=0x3E8), Op.EXP(0x2, 0xA0)) + ) + + Op.SSTORE(key=0x2, value=Op.EQ(Op.ORIGIN, Op.SLOAD(key=0x1))) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.SSTORE( + key=0x3, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0x3E8)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.SSTORE( + key=0x6, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x3, + args_offset=0x0, + args_size=0x20, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x7, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x8, value=Op.MLOAD(offset=0x3E8)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.SSTORE( + key=0x9, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x4, + args_offset=0x0, + args_size=0x20, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x10, value=Op.MLOAD(offset=0x3E8)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE(offset=0x0, value=0x1) + + Op.MSTORE(offset=0x20, value=0x20) + + Op.MSTORE(offset=0x40, value=0x20) + + Op.MSTORE( + offset=0x60, + value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.SSTORE( + key=0x11, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x5, + args_offset=0x0, + args_size=0xA1, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x12, value=Op.MLOAD(offset=0x3E8)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x80, value=0x0) + + Op.MSTORE(offset=0xA0, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 + ) + + Op.SSTORE( + key=0x13, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x6, + args_offset=0x0, + args_size=0x80, + ret_offset=0x3E8, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x3E8)) + + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x408)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE(offset=0x408, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE(offset=0x40, value=0x3) + + Op.SSTORE( + key=0x16, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x7, + args_offset=0x0, + args_size=0x60, + ret_offset=0x3E8, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x17, value=Op.MLOAD(offset=0x3E8)) + + Op.SSTORE(key=0x18, value=Op.MLOAD(offset=0x408)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x3E8, value=0x0) + + Op.MSTORE(offset=0x408, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 + ) + + Op.MSTORE( + offset=0xE0, + value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 + ) + + Op.MSTORE( + offset=0x100, + value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x120, + value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 + ) + + Op.MSTORE( + offset=0x140, + value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 + ) + + Op.MSTORE( + offset=0x160, + value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x19, + value=Op.STATICCALL( + gas=Op.GAS, + address=0x8, + args_offset=0x0, + args_size=0x180, + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x20, value=Op.MLOAD(offset=0x3E8)) + + Op.STOP, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=1000000, value=100, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, diff --git a/tests/ported_static/stStaticFlagEnabled/__init__.py b/tests/ported_static/stStaticFlagEnabled/__init__.py index 874a479b549..6e95477609c 100644 --- a/tests/ported_static/stStaticFlagEnabled/__init__.py +++ b/tests/ported_static/stStaticFlagEnabled/__init__.py @@ -1 +1 @@ -"""Tests ported from stStaticFlagEnabled.""" +"""Ported static tests: stStaticFlagEnabled.""" # noqa: N999 diff --git a/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_called_contract.py b/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_called_contract.py index 88b95bad477..28d0e8f8161 100644 --- a/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_called_contract.py +++ b/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_called_contract.py @@ -5,9 +5,9 @@ Contract A callcodes precompiled contracts. It should execute successfully for each precompiled contract. + Ported from: -tests/static/state_tests/stStaticFlagEnabled -CallcodeToPrecompileFromCalledContractFiller.yml +state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromCalledContractFiller.yml """ import pytest @@ -16,6 +16,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -28,18 +29,20 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromCalledContractFiller.yml", # noqa: E501 + "state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromCalledContractFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.pre_alloc_mutable def test_callcode_to_precompile_from_called_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: """Contract C calls contract B.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") + coinbase = Address(0xCAFE000000000000000000000000000000000001) + contract_0 = Address(0xC000000000000000000000000000000000000000) + contract_1 = Address(0xB000000000000000000000000000000000000000) + contract_2 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -53,432 +56,42 @@ def test_callcode_to_precompile_from_called_contract( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { - # ;; Recovery of ECDSA signature - # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 - # [ 0x20 ] 28 - # [ 0x40 ] 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f # noqa: E501 - # [ 0x60 ] 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549 # noqa: E501 - # ;; zero value - # [ 0x0a0000 ] (CALLCODE (GAS) 1 0 0 128 0x2000 32) - # [ 0x0a0100 ] (MOD @0x2000 (EXP 2 160)) - # [ 0x0a0200 ] (EQ (ORIGIN) @0x0a0100) - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # ;; non zero value - # [ 0x0b0000 ] (CALLCODE (GAS) 1 1 0 128 0x2020 32) - # [ 0x0b0100 ] (MOD @0x2020 (EXP 2 160)) - # [ 0x0b0200 ] (EQ (ORIGIN) @0x0b0100) - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x20 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x40 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x60 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x2020 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function SHA256 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # ;; zero value - # [ 0x0a0300 ] (CALLCODE (GAS) 2 0 0 32 0x2000 32) - # [ 0x0a0400 ] @0 - # [ 0x0a0500 ] @0x2000 - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # ;; non zero value - # [ 0x0b0300 ] (CALLCODE (GAS) 2 1 0 32 0x2020 32) - # ... (121 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xB0100, - value=Op.MOD(Op.MLOAD(offset=0x2020), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xB0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xB0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x1, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1200, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1400, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1500, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x1, - args_offset=0x0, - args_size=0x60, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1700, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1800, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x1, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB2000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), + # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 + # (CALL (GAS) 0xb000000000000000000000000000000000000000 0 0 0 0 0) + # [[ 0x01 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xB000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE( + key=0x1, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.STOP, + storage={ + 0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + }, balance=1000, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 # (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0x0a0000 0x012020) # noqa: E501 @@ -506,210 +119,77 @@ def test_callcode_to_precompile_from_called_contract( # [[ 0x0a19 ]] @0x0a1900 [[ 0x0b19 ]] @0x0b1900 # [[ 0x0a20 ]] @0x0a2000 [[ 0x0b20 ]] @0x0b2000 # } - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0xA0000, - ret_size=0x12020, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) - + Op.SSTORE(key=0xB00, value=Op.MLOAD(offset=0xB0000)) - + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) - + Op.SSTORE(key=0xB01, value=Op.MLOAD(offset=0xB0100)) - + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) - + Op.SSTORE(key=0xB02, value=Op.MLOAD(offset=0xB0200)) - + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) - + Op.SSTORE(key=0xB03, value=Op.MLOAD(offset=0xB0300)) - + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) - + Op.SSTORE(key=0xB04, value=Op.MLOAD(offset=0xB0400)) - + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) - + Op.SSTORE(key=0xB05, value=Op.MLOAD(offset=0xB0500)) - + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) - + Op.SSTORE(key=0xB06, value=Op.MLOAD(offset=0xB0600)) - + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) - + Op.SSTORE(key=0xB07, value=Op.MLOAD(offset=0xB0700)) - + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) - + Op.SSTORE(key=0xB08, value=Op.MLOAD(offset=0xB0800)) - + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) - + Op.SSTORE(key=0xB09, value=Op.MLOAD(offset=0xB0900)) - + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) - + Op.SSTORE(key=0xB10, value=Op.MLOAD(offset=0xB1000)) - + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) - + Op.SSTORE(key=0xB11, value=Op.MLOAD(offset=0xB1100)) - + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) - + Op.SSTORE(key=0xB12, value=Op.MLOAD(offset=0xB1200)) - + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) - + Op.SSTORE(key=0xB13, value=Op.MLOAD(offset=0xB1300)) - + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) - + Op.SSTORE(key=0xB14, value=Op.MLOAD(offset=0xB1400)) - + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) - + Op.SSTORE(key=0xB15, value=Op.MLOAD(offset=0xB1500)) - + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) - + Op.SSTORE(key=0xB16, value=Op.MLOAD(offset=0xB1600)) - + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) - + Op.SSTORE(key=0xB17, value=Op.MLOAD(offset=0xB1700)) - + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) - + Op.SSTORE(key=0xB18, value=Op.MLOAD(offset=0xB1800)) - + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) - + Op.SSTORE(key=0xB19, value=Op.MLOAD(offset=0xB1900)) - + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) - + Op.SSTORE(key=0xB20, value=Op.MLOAD(offset=0xB2000)) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0xA000000000000000000000000000000000000000, + args_offset=0x0, + args_size=0x0, + ret_offset=0xA0000, + ret_size=0x12020, + ) + ) + + Op.SSTORE( + key=0x1, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) + + Op.SSTORE(key=0xB00, value=Op.MLOAD(offset=0xB0000)) + + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) + + Op.SSTORE(key=0xB01, value=Op.MLOAD(offset=0xB0100)) + + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) + + Op.SSTORE(key=0xB02, value=Op.MLOAD(offset=0xB0200)) + + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) + + Op.SSTORE(key=0xB03, value=Op.MLOAD(offset=0xB0300)) + + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) + + Op.SSTORE(key=0xB04, value=Op.MLOAD(offset=0xB0400)) + + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) + + Op.SSTORE(key=0xB05, value=Op.MLOAD(offset=0xB0500)) + + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) + + Op.SSTORE(key=0xB06, value=Op.MLOAD(offset=0xB0600)) + + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) + + Op.SSTORE(key=0xB07, value=Op.MLOAD(offset=0xB0700)) + + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) + + Op.SSTORE(key=0xB08, value=Op.MLOAD(offset=0xB0800)) + + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) + + Op.SSTORE(key=0xB09, value=Op.MLOAD(offset=0xB0900)) + + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) + + Op.SSTORE(key=0xB10, value=Op.MLOAD(offset=0xB1000)) + + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) + + Op.SSTORE(key=0xB11, value=Op.MLOAD(offset=0xB1100)) + + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) + + Op.SSTORE(key=0xB12, value=Op.MLOAD(offset=0xB1200)) + + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) + + Op.SSTORE(key=0xB13, value=Op.MLOAD(offset=0xB1300)) + + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) + + Op.SSTORE(key=0xB14, value=Op.MLOAD(offset=0xB1400)) + + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) + + Op.SSTORE(key=0xB15, value=Op.MLOAD(offset=0xB1500)) + + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) + + Op.SSTORE(key=0xB16, value=Op.MLOAD(offset=0xB1600)) + + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) + + Op.SSTORE(key=0xB17, value=Op.MLOAD(offset=0xB1700)) + + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) + + Op.SSTORE(key=0xB18, value=Op.MLOAD(offset=0xB1800)) + + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) + + Op.SSTORE(key=0xB19, value=Op.MLOAD(offset=0xB1900)) + + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) + + Op.SSTORE(key=0xB20, value=Op.MLOAD(offset=0xB2000)) + + Op.STOP, storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 }, balance=1000, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { - # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # (CALL (GAS) 0xb000000000000000000000000000000000000000 0 0 0 0 0) - # [[ 0x01 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xB000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.STOP - ), - storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - }, - balance=1000, - nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=4000000, - value=100, - ) - - post = { - callee_1: Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 2560: 1, - 2561: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2562: 1, - 2563: 1, - 2564: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2565: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 2566: 1, - 2567: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2568: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 2569: 1, - 2576: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2577: 1, - 2578: 1, - 2579: 1, - 2580: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2581: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2582: 1, - 2583: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2584: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2585: 1, - 2592: 1, - 2816: 1, - 2817: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2818: 1, - 2819: 1, - 2820: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2821: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 2822: 1, - 2823: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2824: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 2825: 1, - 2832: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2833: 1, - 2834: 1, - 2835: 1, - 2836: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2837: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2838: 1, - 2839: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2840: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2841: 1, - 2848: 1, - }, - ), - contract: Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromCalledContractFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.pre_alloc_mutable -def test_callcode_to_precompile_from_called_contract_from_osaka( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Contract C calls contract B.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL + # Source: lll # { # ;; Recovery of ECDSA signature # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 @@ -741,546 +221,414 @@ def test_callcode_to_precompile_from_called_contract_from_osaka( # ;; non zero value # [ 0x0b0300 ] (CALLCODE (GAS) 2 1 0 32 0x2020 32) # ... (121 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xB0100, - value=Op.MOD(Op.MLOAD(offset=0x2020), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xB0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xB0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x1, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1200, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1400, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1500, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x1, - args_offset=0x0, - args_size=0x60, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1700, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1800, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x1, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB2000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0000, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE( + offset=0xA0100, + value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), + ) + + Op.MSTORE( + offset=0xA0200, value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)) + ) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0000, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x1, + value=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE( + offset=0xB0100, + value=Op.MOD(Op.MLOAD(offset=0x2020), Op.EXP(0x2, 0xA0)), + ) + + Op.MSTORE( + offset=0xB0200, value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xB0100)) + ) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x2, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB0400, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xB0500, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x3, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB0700, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xB0800, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x4, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB1000, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE(offset=0x0, value=0x1) + + Op.MSTORE(offset=0x20, value=0x20) + + Op.MSTORE(offset=0x40, value=0x20) + + Op.MSTORE( + offset=0x60, + value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1100, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0xA1, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB1100, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x5, + value=0x1, + args_offset=0x0, + args_size=0xA1, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB1200, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x80, value=0x0) + + Op.MSTORE(offset=0xA0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0xB1300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x6, + value=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x3000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xB1400, value=Op.MLOAD(offset=0x3000)) + + Op.MSTORE(offset=0xB1500, value=Op.MLOAD(offset=0x3020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x3000, value=0x0) + + Op.MSTORE(offset=0x3020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE(offset=0x40, value=0x3) + + Op.MSTORE( + offset=0xA1600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x60, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0xB1600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x7, + value=0x1, + args_offset=0x0, + args_size=0x60, + ret_offset=0x3000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xB1700, value=Op.MLOAD(offset=0x3000)) + + Op.MSTORE(offset=0xB1800, value=Op.MLOAD(offset=0x3020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x3000, value=0x0) + + Op.MSTORE(offset=0x3020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 + ) + + Op.MSTORE( + offset=0xE0, + value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 + ) + + Op.MSTORE( + offset=0x100, + value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x120, + value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 + ) + + Op.MSTORE( + offset=0x140, + value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 + ) + + Op.MSTORE( + offset=0x160, + value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x8, + value=0x0, + args_offset=0x0, + args_size=0x180, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB1900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x8, + value=0x1, + args_offset=0x0, + args_size=0x180, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB2000, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.RETURN(offset=0xA0000, size=0x12020) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { - # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0x0a0000 0x012020) # noqa: E501 - # [[ 0x01 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # ;; save results to store - # [[ 0x0a00 ]] @0x0a0000 [[ 0x0b00 ]] @0x0b0000 - # [[ 0x0a01 ]] @0x0a0100 [[ 0x0b01 ]] @0x0b0100 - # [[ 0x0a02 ]] @0x0a0200 [[ 0x0b02 ]] @0x0b0200 - # [[ 0x0a03 ]] @0x0a0300 [[ 0x0b03 ]] @0x0b0300 - # [[ 0x0a04 ]] @0x0a0400 [[ 0x0b04 ]] @0x0b0400 - # [[ 0x0a05 ]] @0x0a0500 [[ 0x0b05 ]] @0x0b0500 - # [[ 0x0a06 ]] @0x0a0600 [[ 0x0b06 ]] @0x0b0600 - # [[ 0x0a07 ]] @0x0a0700 [[ 0x0b07 ]] @0x0b0700 - # [[ 0x0a08 ]] @0x0a0800 [[ 0x0b08 ]] @0x0b0800 - # [[ 0x0a09 ]] @0x0a0900 [[ 0x0b09 ]] @0x0b0900 - # [[ 0x0a10 ]] @0x0a1000 [[ 0x0b10 ]] @0x0b1000 - # [[ 0x0a11 ]] @0x0a1100 [[ 0x0b11 ]] @0x0b1100 - # [[ 0x0a12 ]] @0x0a1200 [[ 0x0b12 ]] @0x0b1200 - # [[ 0x0a13 ]] @0x0a1300 [[ 0x0b13 ]] @0x0b1300 - # [[ 0x0a14 ]] @0x0a1400 [[ 0x0b14 ]] @0x0b1400 - # [[ 0x0a15 ]] @0x0a1500 [[ 0x0b15 ]] @0x0b1500 - # [[ 0x0a16 ]] @0x0a1600 [[ 0x0b16 ]] @0x0b1600 - # [[ 0x0a17 ]] @0x0a1700 [[ 0x0b17 ]] @0x0b1700 - # [[ 0x0a18 ]] @0x0a1800 [[ 0x0b18 ]] @0x0b1800 - # [[ 0x0a19 ]] @0x0a1900 [[ 0x0b19 ]] @0x0b1900 - # [[ 0x0a20 ]] @0x0a2000 [[ 0x0b20 ]] @0x0b2000 - # } - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0xA0000, - ret_size=0x12020, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) - + Op.SSTORE(key=0xB00, value=Op.MLOAD(offset=0xB0000)) - + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) - + Op.SSTORE(key=0xB01, value=Op.MLOAD(offset=0xB0100)) - + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) - + Op.SSTORE(key=0xB02, value=Op.MLOAD(offset=0xB0200)) - + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) - + Op.SSTORE(key=0xB03, value=Op.MLOAD(offset=0xB0300)) - + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) - + Op.SSTORE(key=0xB04, value=Op.MLOAD(offset=0xB0400)) - + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) - + Op.SSTORE(key=0xB05, value=Op.MLOAD(offset=0xB0500)) - + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) - + Op.SSTORE(key=0xB06, value=Op.MLOAD(offset=0xB0600)) - + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) - + Op.SSTORE(key=0xB07, value=Op.MLOAD(offset=0xB0700)) - + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) - + Op.SSTORE(key=0xB08, value=Op.MLOAD(offset=0xB0800)) - + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) - + Op.SSTORE(key=0xB09, value=Op.MLOAD(offset=0xB0900)) - + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) - + Op.SSTORE(key=0xB10, value=Op.MLOAD(offset=0xB1000)) - + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) - + Op.SSTORE(key=0xB11, value=Op.MLOAD(offset=0xB1100)) - + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) - + Op.SSTORE(key=0xB12, value=Op.MLOAD(offset=0xB1200)) - + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) - + Op.SSTORE(key=0xB13, value=Op.MLOAD(offset=0xB1300)) - + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) - + Op.SSTORE(key=0xB14, value=Op.MLOAD(offset=0xB1400)) - + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) - + Op.SSTORE(key=0xB15, value=Op.MLOAD(offset=0xB1500)) - + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) - + Op.SSTORE(key=0xB16, value=Op.MLOAD(offset=0xB1600)) - + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) - + Op.SSTORE(key=0xB17, value=Op.MLOAD(offset=0xB1700)) - + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) - + Op.SSTORE(key=0xB18, value=Op.MLOAD(offset=0xB1800)) - + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) - + Op.SSTORE(key=0xB19, value=Op.MLOAD(offset=0xB1900)) - + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) - + Op.SSTORE(key=0xB20, value=Op.MLOAD(offset=0xB2000)) - + Op.STOP - ), - storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - }, - balance=1000, - nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { - # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # (CALL (GAS) 0xb000000000000000000000000000000000000000 0 0 0 0 0) - # [[ 0x01 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xB000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.STOP - ), - storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - }, - balance=1000, - nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=4000000, value=100, ) post = { - callee_1: Account( + contract_2: Account(storage={}, balance=1000), + contract_0: Account( + storage={ + 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + }, + balance=1100, + ), + contract_1: Account( storage={ 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 @@ -1327,12 +675,7 @@ def test_callcode_to_precompile_from_called_contract_from_osaka( 2841: 1, 2848: 1, }, - ), - contract: Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - }, + balance=1000, ), } diff --git a/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_contract_initialization.py b/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_contract_initialization.py index 69ca5f41ce8..7e649f150b3 100644 --- a/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_contract_initialization.py +++ b/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_contract_initialization.py @@ -5,9 +5,9 @@ Contract A callcodes precompiled contracts. It should execute successfully for each precompiled contract. + Ported from: -tests/static/state_tests/stStaticFlagEnabled -CallcodeToPrecompileFromContractInitializationFiller.yml +state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromContractInitializationFiller.yml """ import pytest @@ -16,6 +16,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -28,18 +29,19 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromContractInitializationFiller.yml", # noqa: E501 + "state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromContractInitializationFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.pre_alloc_mutable def test_callcode_to_precompile_from_contract_initialization( state_test: StateTestFiller, pre: Alloc, ) -> None: """Contract B creates new contract.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") + coinbase = Address(0xCAFE000000000000000000000000000000000001) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -53,582 +55,39 @@ def test_callcode_to_precompile_from_contract_initialization( gas_limit=10000000, ) - # Source: LLL - # { - # ;; Recovery of ECDSA signature - # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 - # [ 0x20 ] 28 - # [ 0x40 ] 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f # noqa: E501 - # [ 0x60 ] 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549 # noqa: E501 - # ;; zero value - # [ 0x0a0000 ] (CALLCODE (GAS) 1 0 0 128 0x2000 32) - # [ 0x0a0100 ] (MOD @0x2000 (EXP 2 160)) - # [ 0x0a0200 ] (EQ (ORIGIN) @0x0a0100) - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # ;; non zero value - # [ 0x0b0000 ] (CALLCODE (GAS) 1 1 0 128 0x2020 32) - # [ 0x0b0100 ] (MOD @0x2020 (EXP 2 160)) - # [ 0x0b0200 ] (EQ (ORIGIN) @0x0b0100) - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x20 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x40 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x60 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x2020 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function SHA256 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # ;; zero value - # [ 0x0a0300 ] (CALLCODE (GAS) 2 0 0 32 0x2000 32) - # [ 0x0a0400 ] @0 - # [ 0x0a0500 ] @0x2000 - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # ;; non zero value - # [ 0x0b0300 ] (CALLCODE (GAS) 2 1 0 32 0x2020 32) - # ... (121 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xB0100, - value=Op.MOD(Op.MLOAD(offset=0x2020), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xB0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xB0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x1, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1200, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1400, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1500, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x1, - args_offset=0x0, - args_size=0x60, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1700, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1800, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x1, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB2000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), - balance=1000, - nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 # (CALLDATACOPY 0 0 (CALLDATASIZE)) # [[ 0x01 ]] (CREATE2 0 0 (CALLDATASIZE) 0x5a175a17) # [[ 0x02 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.CALLDATACOPY( - dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE - ) - + Op.SSTORE( - key=0x1, - value=Op.CREATE2( - value=0x0, - offset=0x0, - size=Op.CALLDATASIZE, - salt=0x5A175A17, - ), - ) - + Op.SSTORE( - key=0x2, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) + + Op.SSTORE( + key=0x1, + value=Op.CREATE2( + value=0x0, offset=0x0, size=Op.CALLDATASIZE, salt=0x5A175A17 + ), + ) + + Op.SSTORE( + key=0x2, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.STOP, storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 }, balance=1000, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed600055" # noqa: E501 - "62012020620a00006000600073a0000000000000000000000000000000000000005afa50" # noqa: E501 - "7ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed600155" # noqa: E501 - "620a000051610a0055620b000051610b0055620a010051610a0155620b010051610b0155" # noqa: E501 - "620a020051610a0255620b020051610b0255620a030051610a0355620b030051610b0355" # noqa: E501 - "620a040051610a0455620b040051610b0455620a050051610a0555620b050051610b0555" # noqa: E501 - "620a060051610a0655620b060051610b0655620a070051610a0755620b070051610b0755" # noqa: E501 - "620a080051610a0855620b080051610b0855620a090051610a0955620b090051610b0955" # noqa: E501 - "620a100051610a1055620b100051610b1055620a110051610a1155620b110051610b1155" # noqa: E501 - "620a120051610a1255620b120051610b1255620a130051610a1355620b130051610b1355" # noqa: E501 - "620a140051610a1455620b140051610b1455620a150051610a1555620b150051610b1555" # noqa: E501 - "620a160051610a1655620b160051610b1655620a170051610a1755620b170051610b1755" # noqa: E501 - "620a180051610a1855620b180051610b1855620a190051610a1955620b190051610b1955" # noqa: E501 - "620a200051610a2055620b200051610b205500" - ), - gas_limit=4000000, - value=100, - ) - - post = { - contract: Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xB2BC42A2D3B34F228BA399E53AB6F1B3D2672177, - 2: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - }, - ), - Address("0xb2bc42a2d3b34f228ba399e53ab6f1b3d2672177"): Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 2560: 1, - 2561: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2562: 1, - 2563: 1, - 2564: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2565: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 2566: 1, - 2567: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2568: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 2569: 1, - 2576: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2577: 1, - 2578: 1, - 2579: 1, - 2580: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2581: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2582: 1, - 2583: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2584: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2585: 1, - 2592: 1, - 2816: 1, - 2817: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2818: 1, - 2819: 1, - 2820: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2821: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 2822: 1, - 2823: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2824: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 2825: 1, - 2832: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2833: 1, - 2834: 1, - 2835: 1, - 2836: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2837: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2838: 1, - 2839: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2840: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2841: 1, - 2848: 1, - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromContractInitializationFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.pre_alloc_mutable -def test_callcode_to_precompile_from_contract_initialization_from_osaka( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Contract B creates new contract.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL + # Source: lll # { # ;; Recovery of ECDSA signature # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 @@ -660,471 +119,416 @@ def test_callcode_to_precompile_from_contract_initialization_from_osaka( # ;; non zero value # [ 0x0b0300 ] (CALLCODE (GAS) 2 1 0 32 0x2020 32) # ... (121 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xB0100, - value=Op.MOD(Op.MLOAD(offset=0x2020), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xB0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xB0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x1, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1200, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1400, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1500, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x1, - args_offset=0x0, - args_size=0x60, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1700, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1800, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x1, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB2000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0000, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE( + offset=0xA0100, + value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), + ) + + Op.MSTORE( + offset=0xA0200, value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)) + ) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0000, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x1, + value=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE( + offset=0xB0100, + value=Op.MOD(Op.MLOAD(offset=0x2020), Op.EXP(0x2, 0xA0)), + ) + + Op.MSTORE( + offset=0xB0200, value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xB0100)) + ) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x2, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB0400, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xB0500, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x3, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB0700, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xB0800, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x4, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB1000, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE(offset=0x0, value=0x1) + + Op.MSTORE(offset=0x20, value=0x20) + + Op.MSTORE(offset=0x40, value=0x20) + + Op.MSTORE( + offset=0x60, + value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1100, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0xA1, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB1100, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x5, + value=0x1, + args_offset=0x0, + args_size=0xA1, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB1200, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x80, value=0x0) + + Op.MSTORE(offset=0xA0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0xB1300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x6, + value=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x3000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xB1400, value=Op.MLOAD(offset=0x3000)) + + Op.MSTORE(offset=0xB1500, value=Op.MLOAD(offset=0x3020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x3000, value=0x0) + + Op.MSTORE(offset=0x3020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE(offset=0x40, value=0x3) + + Op.MSTORE( + offset=0xA1600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x60, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0xB1600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x7, + value=0x1, + args_offset=0x0, + args_size=0x60, + ret_offset=0x3000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xB1700, value=Op.MLOAD(offset=0x3000)) + + Op.MSTORE(offset=0xB1800, value=Op.MLOAD(offset=0x3020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x3000, value=0x0) + + Op.MSTORE(offset=0x3020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 + ) + + Op.MSTORE( + offset=0xE0, + value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 + ) + + Op.MSTORE( + offset=0x100, + value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x120, + value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 + ) + + Op.MSTORE( + offset=0x140, + value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 + ) + + Op.MSTORE( + offset=0x160, + value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x8, + value=0x0, + args_offset=0x0, + args_size=0x180, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB1900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x8, + value=0x1, + args_offset=0x0, + args_size=0x180, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB2000, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.RETURN(offset=0xA0000, size=0x12020) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { - # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # (CALLDATACOPY 0 0 (CALLDATASIZE)) - # [[ 0x01 ]] (CREATE2 0 0 (CALLDATASIZE) 0x5a175a17) - # [[ 0x02 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.CALLDATACOPY( - dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE - ) - + Op.SSTORE( - key=0x1, - value=Op.CREATE2( - value=0x0, - offset=0x0, - size=Op.CALLDATASIZE, - salt=0x5A175A17, - ), - ) - + Op.SSTORE( - key=0x2, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.STOP - ), - storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - }, - balance=1000, - nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed600055" # noqa: E501 - "62012020620a00006000600073a0000000000000000000000000000000000000005afa50" # noqa: E501 - "7ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed600155" # noqa: E501 - "620a000051610a0055620b000051610b0055620a010051610a0155620b010051610b0155" # noqa: E501 - "620a020051610a0255620b020051610b0255620a030051610a0355620b030051610b0355" # noqa: E501 - "620a040051610a0455620b040051610b0455620a050051610a0555620b050051610b0555" # noqa: E501 - "620a060051610a0655620b060051610b0655620a070051610a0755620b070051610b0755" # noqa: E501 - "620a080051610a0855620b080051610b0855620a090051610a0955620b090051610b0955" # noqa: E501 - "620a100051610a1055620b100051610b1055620a110051610a1155620b110051610b1155" # noqa: E501 - "620a120051610a1255620b120051610b1255620a130051610a1355620b130051610b1355" # noqa: E501 - "620a140051610a1455620b140051610b1455620a150051610a1555620b150051610b1555" # noqa: E501 - "620a160051610a1655620b160051610b1655620a170051610a1755620b170051610b1755" # noqa: E501 - "620a180051610a1855620b180051610b1855620a190051610a1955620b190051610b1955" # noqa: E501 - "620a200051610a2055620b200051610b205500" + to=contract_0, + data=Bytes( + "7ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed60005562012020620a00006000600073a0000000000000000000000000000000000000005afa507ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed600155620a000051610a0055620b000051610b0055620a010051610a0155620b010051610b0155620a020051610a0255620b020051610b0255620a030051610a0355620b030051610b0355620a040051610a0455620b040051610b0455620a050051610a0555620b050051610b0555620a060051610a0655620b060051610b0655620a070051610a0755620b070051610b0755620a080051610a0855620b080051610b0855620a090051610a0955620b090051610b0955620a100051610a1055620b100051610b1055620a110051610a1155620b110051610b1155620a120051610a1255620b120051610b1255620a130051610a1355620b130051610b1355620a140051610a1455620b140051610b1455620a150051610a1555620b150051610b1555620a160051610a1655620b160051610b1655620a170051610a1755620b170051610b1755620a180051610a1855620b180051610b1855620a190051610a1955620b190051610b1955620a200051610a2055620b200051610b205500" # noqa: E501 ), gas_limit=4000000, value=100, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 1: 0xB2BC42A2D3B34F228BA399E53AB6F1B3D2672177, 2: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 }, + balance=1100, ), - Address("0xb2bc42a2d3b34f228ba399e53ab6f1b3d2672177"): Account( + Address(0xB2BC42A2D3B34F228BA399E53AB6F1B3D2672177): Account( storage={ 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 diff --git a/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_transaction.py b/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_transaction.py index f6f1aa9892c..d4f95e0fe07 100644 --- a/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_transaction.py +++ b/tests/ported_static/stStaticFlagEnabled/test_callcode_to_precompile_from_transaction.py @@ -4,9 +4,9 @@ Contract A callcodes precompiled contracts. It should execute successfully for each precompiled contract. + Ported from: -tests/static/state_tests/stStaticFlagEnabled -CallcodeToPrecompileFromTransactionFiller.yml +state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromTransactionFiller.yml """ import pytest @@ -15,6 +15,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -27,18 +28,19 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromTransactionFiller.yml", # noqa: E501 + "state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromTransactionFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.pre_alloc_mutable def test_callcode_to_precompile_from_transaction( state_test: StateTestFiller, pre: Alloc, ) -> None: """Contract B staticcalls contract A.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") + coinbase = Address(0xCAFE000000000000000000000000000000000001) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,432 +54,7 @@ def test_callcode_to_precompile_from_transaction( gas_limit=10000000, ) - # Source: LLL - # { - # ;; Recovery of ECDSA signature - # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 - # [ 0x20 ] 28 - # [ 0x40 ] 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f # noqa: E501 - # [ 0x60 ] 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549 # noqa: E501 - # ;; zero value - # [ 0x0a0000 ] (CALLCODE (GAS) 1 0 0 128 0x2000 32) - # [ 0x0a0100 ] (MOD @0x2000 (EXP 2 160)) - # [ 0x0a0200 ] (EQ (ORIGIN) @0x0a0100) - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # ;; non zero value - # [ 0x0b0000 ] (CALLCODE (GAS) 1 1 0 128 0x2020 32) - # [ 0x0b0100 ] (MOD @0x2020 (EXP 2 160)) - # [ 0x0b0200 ] (EQ (ORIGIN) @0x0b0100) - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x20 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x40 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x60 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x2020 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function SHA256 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # ;; zero value - # [ 0x0a0300 ] (CALLCODE (GAS) 2 0 0 32 0x2000 32) - # [ 0x0a0400 ] @0 - # [ 0x0a0500 ] @0x2000 - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # ;; non zero value - # [ 0x0b0300 ] (CALLCODE (GAS) 2 1 0 32 0x2020 32) - # ... (121 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xB0100, - value=Op.MOD(Op.MLOAD(offset=0x2020), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xB0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xB0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x1, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1200, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1400, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1500, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x1, - args_offset=0x0, - args_size=0x60, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1700, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1800, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x1, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB2000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), - balance=1000, - nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 # (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0x0a0000 0x012020) # noqa: E501 @@ -505,167 +82,77 @@ def test_callcode_to_precompile_from_transaction( # [[ 0x0a19 ]] @0x0a1900 [[ 0x0b19 ]] @0x0b1900 # [[ 0x0a20 ]] @0x0a2000 [[ 0x0b20 ]] @0x0b2000 # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0xA0000, - ret_size=0x12020, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) - + Op.SSTORE(key=0xB00, value=Op.MLOAD(offset=0xB0000)) - + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) - + Op.SSTORE(key=0xB01, value=Op.MLOAD(offset=0xB0100)) - + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) - + Op.SSTORE(key=0xB02, value=Op.MLOAD(offset=0xB0200)) - + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) - + Op.SSTORE(key=0xB03, value=Op.MLOAD(offset=0xB0300)) - + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) - + Op.SSTORE(key=0xB04, value=Op.MLOAD(offset=0xB0400)) - + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) - + Op.SSTORE(key=0xB05, value=Op.MLOAD(offset=0xB0500)) - + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) - + Op.SSTORE(key=0xB06, value=Op.MLOAD(offset=0xB0600)) - + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) - + Op.SSTORE(key=0xB07, value=Op.MLOAD(offset=0xB0700)) - + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) - + Op.SSTORE(key=0xB08, value=Op.MLOAD(offset=0xB0800)) - + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) - + Op.SSTORE(key=0xB09, value=Op.MLOAD(offset=0xB0900)) - + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) - + Op.SSTORE(key=0xB10, value=Op.MLOAD(offset=0xB1000)) - + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) - + Op.SSTORE(key=0xB11, value=Op.MLOAD(offset=0xB1100)) - + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) - + Op.SSTORE(key=0xB12, value=Op.MLOAD(offset=0xB1200)) - + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) - + Op.SSTORE(key=0xB13, value=Op.MLOAD(offset=0xB1300)) - + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) - + Op.SSTORE(key=0xB14, value=Op.MLOAD(offset=0xB1400)) - + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) - + Op.SSTORE(key=0xB15, value=Op.MLOAD(offset=0xB1500)) - + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) - + Op.SSTORE(key=0xB16, value=Op.MLOAD(offset=0xB1600)) - + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) - + Op.SSTORE(key=0xB17, value=Op.MLOAD(offset=0xB1700)) - + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) - + Op.SSTORE(key=0xB18, value=Op.MLOAD(offset=0xB1800)) - + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) - + Op.SSTORE(key=0xB19, value=Op.MLOAD(offset=0xB1900)) - + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) - + Op.SSTORE(key=0xB20, value=Op.MLOAD(offset=0xB2000)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0xA000000000000000000000000000000000000000, + args_offset=0x0, + args_size=0x0, + ret_offset=0xA0000, + ret_size=0x12020, + ) + ) + + Op.SSTORE( + key=0x1, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) + + Op.SSTORE(key=0xB00, value=Op.MLOAD(offset=0xB0000)) + + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) + + Op.SSTORE(key=0xB01, value=Op.MLOAD(offset=0xB0100)) + + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) + + Op.SSTORE(key=0xB02, value=Op.MLOAD(offset=0xB0200)) + + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) + + Op.SSTORE(key=0xB03, value=Op.MLOAD(offset=0xB0300)) + + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) + + Op.SSTORE(key=0xB04, value=Op.MLOAD(offset=0xB0400)) + + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) + + Op.SSTORE(key=0xB05, value=Op.MLOAD(offset=0xB0500)) + + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) + + Op.SSTORE(key=0xB06, value=Op.MLOAD(offset=0xB0600)) + + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) + + Op.SSTORE(key=0xB07, value=Op.MLOAD(offset=0xB0700)) + + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) + + Op.SSTORE(key=0xB08, value=Op.MLOAD(offset=0xB0800)) + + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) + + Op.SSTORE(key=0xB09, value=Op.MLOAD(offset=0xB0900)) + + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) + + Op.SSTORE(key=0xB10, value=Op.MLOAD(offset=0xB1000)) + + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) + + Op.SSTORE(key=0xB11, value=Op.MLOAD(offset=0xB1100)) + + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) + + Op.SSTORE(key=0xB12, value=Op.MLOAD(offset=0xB1200)) + + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) + + Op.SSTORE(key=0xB13, value=Op.MLOAD(offset=0xB1300)) + + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) + + Op.SSTORE(key=0xB14, value=Op.MLOAD(offset=0xB1400)) + + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) + + Op.SSTORE(key=0xB15, value=Op.MLOAD(offset=0xB1500)) + + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) + + Op.SSTORE(key=0xB16, value=Op.MLOAD(offset=0xB1600)) + + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) + + Op.SSTORE(key=0xB17, value=Op.MLOAD(offset=0xB1700)) + + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) + + Op.SSTORE(key=0xB18, value=Op.MLOAD(offset=0xB1800)) + + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) + + Op.SSTORE(key=0xB19, value=Op.MLOAD(offset=0xB1900)) + + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) + + Op.SSTORE(key=0xB20, value=Op.MLOAD(offset=0xB2000)) + + Op.STOP, storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 }, balance=1000, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=4000000, - value=100, - ) - - post = { - contract: Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 2560: 1, - 2561: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2562: 1, - 2563: 1, - 2564: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2565: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 2566: 1, - 2567: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2568: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 2569: 1, - 2576: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2577: 1, - 2578: 1, - 2579: 1, - 2580: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2581: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2582: 1, - 2583: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2584: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2585: 1, - 2592: 1, - 2816: 1, - 2817: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2818: 1, - 2819: 1, - 2820: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2821: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 2822: 1, - 2823: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2824: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 2825: 1, - 2832: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2833: 1, - 2834: 1, - 2835: 1, - 2836: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2837: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2838: 1, - 2839: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2840: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2841: 1, - 2848: 1, - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticFlagEnabled/CallcodeToPrecompileFromTransactionFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.pre_alloc_mutable -def test_callcode_to_precompile_from_transaction_from_osaka( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Contract B staticcalls contract A.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - - # Source: LLL + # Source: lll # { # ;; Recovery of ECDSA signature # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 @@ -697,509 +184,407 @@ def test_callcode_to_precompile_from_transaction_from_osaka( # ;; non zero value # [ 0x0b0300 ] (CALLCODE (GAS) 2 1 0 32 0x2020 32) # ... (121 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0000, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x1, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xB0100, - value=Op.MOD(Op.MLOAD(offset=0x2020), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xB0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xB0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x2, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x3, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xB0800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x0, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB0900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x4, - value=0x1, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x0, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1100, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x5, - value=0x1, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB1200, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1300, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x6, - value=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1400, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1500, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0xB1600, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x7, - value=0x1, - args_offset=0x0, - args_size=0x60, - ret_offset=0x3000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xB1700, value=Op.MLOAD(offset=0x3000)) - + Op.MSTORE(offset=0xB1800, value=Op.MLOAD(offset=0x3020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x3000, value=0x0) - + Op.MSTORE(offset=0x3020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x0, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0xB1900, - value=Op.CALLCODE( - gas=Op.GAS, - address=0x8, - value=0x1, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2020, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xB2000, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0000, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x1, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE( + offset=0xA0100, + value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), + ) + + Op.MSTORE( + offset=0xA0200, value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)) + ) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0000, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x1, + value=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE( + offset=0xB0100, + value=Op.MOD(Op.MLOAD(offset=0x2020), Op.EXP(0x2, 0xA0)), + ) + + Op.MSTORE( + offset=0xB0200, value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xB0100)) + ) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x2, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB0400, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xB0500, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x3, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x3, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB0700, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xB0800, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x4, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB0900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x4, + value=0x1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB1000, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE(offset=0x0, value=0x1) + + Op.MSTORE(offset=0x20, value=0x20) + + Op.MSTORE(offset=0x40, value=0x20) + + Op.MSTORE( + offset=0x60, + value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1100, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x5, + value=0x0, + args_offset=0x0, + args_size=0xA1, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB1100, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x5, + value=0x1, + args_offset=0x0, + args_size=0xA1, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB1200, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x80, value=0x0) + + Op.MSTORE(offset=0xA0, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0xB1300, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x6, + value=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x3000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xB1400, value=Op.MLOAD(offset=0x3000)) + + Op.MSTORE(offset=0xB1500, value=Op.MLOAD(offset=0x3020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x3000, value=0x0) + + Op.MSTORE(offset=0x3020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE(offset=0x40, value=0x3) + + Op.MSTORE( + offset=0xA1600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x60, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0xB1600, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x7, + value=0x1, + args_offset=0x0, + args_size=0x60, + ret_offset=0x3000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xB1700, value=Op.MLOAD(offset=0x3000)) + + Op.MSTORE(offset=0xB1800, value=Op.MLOAD(offset=0x3020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x3000, value=0x0) + + Op.MSTORE(offset=0x3020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 + ) + + Op.MSTORE( + offset=0xE0, + value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 + ) + + Op.MSTORE( + offset=0x100, + value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x120, + value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 + ) + + Op.MSTORE( + offset=0x140, + value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 + ) + + Op.MSTORE( + offset=0x160, + value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x8, + value=0x0, + args_offset=0x0, + args_size=0x180, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0xB1900, + value=Op.CALLCODE( + gas=Op.GAS, + address=0x8, + value=0x1, + args_offset=0x0, + args_size=0x180, + ret_offset=0x2020, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xB2000, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.RETURN(offset=0xA0000, size=0x12020) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { - # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0x0a0000 0x012020) # noqa: E501 - # [[ 0x01 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # ;; save results to store - # [[ 0x0a00 ]] @0x0a0000 [[ 0x0b00 ]] @0x0b0000 - # [[ 0x0a01 ]] @0x0a0100 [[ 0x0b01 ]] @0x0b0100 - # [[ 0x0a02 ]] @0x0a0200 [[ 0x0b02 ]] @0x0b0200 - # [[ 0x0a03 ]] @0x0a0300 [[ 0x0b03 ]] @0x0b0300 - # [[ 0x0a04 ]] @0x0a0400 [[ 0x0b04 ]] @0x0b0400 - # [[ 0x0a05 ]] @0x0a0500 [[ 0x0b05 ]] @0x0b0500 - # [[ 0x0a06 ]] @0x0a0600 [[ 0x0b06 ]] @0x0b0600 - # [[ 0x0a07 ]] @0x0a0700 [[ 0x0b07 ]] @0x0b0700 - # [[ 0x0a08 ]] @0x0a0800 [[ 0x0b08 ]] @0x0b0800 - # [[ 0x0a09 ]] @0x0a0900 [[ 0x0b09 ]] @0x0b0900 - # [[ 0x0a10 ]] @0x0a1000 [[ 0x0b10 ]] @0x0b1000 - # [[ 0x0a11 ]] @0x0a1100 [[ 0x0b11 ]] @0x0b1100 - # [[ 0x0a12 ]] @0x0a1200 [[ 0x0b12 ]] @0x0b1200 - # [[ 0x0a13 ]] @0x0a1300 [[ 0x0b13 ]] @0x0b1300 - # [[ 0x0a14 ]] @0x0a1400 [[ 0x0b14 ]] @0x0b1400 - # [[ 0x0a15 ]] @0x0a1500 [[ 0x0b15 ]] @0x0b1500 - # [[ 0x0a16 ]] @0x0a1600 [[ 0x0b16 ]] @0x0b1600 - # [[ 0x0a17 ]] @0x0a1700 [[ 0x0b17 ]] @0x0b1700 - # [[ 0x0a18 ]] @0x0a1800 [[ 0x0b18 ]] @0x0b1800 - # [[ 0x0a19 ]] @0x0a1900 [[ 0x0b19 ]] @0x0b1900 - # [[ 0x0a20 ]] @0x0a2000 [[ 0x0b20 ]] @0x0b2000 - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0xA0000, - ret_size=0x12020, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) - + Op.SSTORE(key=0xB00, value=Op.MLOAD(offset=0xB0000)) - + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) - + Op.SSTORE(key=0xB01, value=Op.MLOAD(offset=0xB0100)) - + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) - + Op.SSTORE(key=0xB02, value=Op.MLOAD(offset=0xB0200)) - + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) - + Op.SSTORE(key=0xB03, value=Op.MLOAD(offset=0xB0300)) - + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) - + Op.SSTORE(key=0xB04, value=Op.MLOAD(offset=0xB0400)) - + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) - + Op.SSTORE(key=0xB05, value=Op.MLOAD(offset=0xB0500)) - + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) - + Op.SSTORE(key=0xB06, value=Op.MLOAD(offset=0xB0600)) - + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) - + Op.SSTORE(key=0xB07, value=Op.MLOAD(offset=0xB0700)) - + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) - + Op.SSTORE(key=0xB08, value=Op.MLOAD(offset=0xB0800)) - + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) - + Op.SSTORE(key=0xB09, value=Op.MLOAD(offset=0xB0900)) - + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) - + Op.SSTORE(key=0xB10, value=Op.MLOAD(offset=0xB1000)) - + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) - + Op.SSTORE(key=0xB11, value=Op.MLOAD(offset=0xB1100)) - + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) - + Op.SSTORE(key=0xB12, value=Op.MLOAD(offset=0xB1200)) - + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) - + Op.SSTORE(key=0xB13, value=Op.MLOAD(offset=0xB1300)) - + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) - + Op.SSTORE(key=0xB14, value=Op.MLOAD(offset=0xB1400)) - + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) - + Op.SSTORE(key=0xB15, value=Op.MLOAD(offset=0xB1500)) - + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) - + Op.SSTORE(key=0xB16, value=Op.MLOAD(offset=0xB1600)) - + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) - + Op.SSTORE(key=0xB17, value=Op.MLOAD(offset=0xB1700)) - + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) - + Op.SSTORE(key=0xB18, value=Op.MLOAD(offset=0xB1800)) - + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) - + Op.SSTORE(key=0xB19, value=Op.MLOAD(offset=0xB1900)) - + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) - + Op.SSTORE(key=0xB20, value=Op.MLOAD(offset=0xB2000)) - + Op.STOP - ), - storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - }, - balance=1000, - nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=4000000, value=100, ) post = { - contract: Account( + contract_1: Account(storage={}, balance=1000), + contract_0: Account( storage={ 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 @@ -1246,6 +631,7 @@ def test_callcode_to_precompile_from_transaction_from_osaka( 2841: 1, 2848: 1, }, + balance=1100, ), } diff --git a/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_called_contract.py b/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_called_contract.py index ccca6e7e5f6..369aff83331 100644 --- a/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_called_contract.py +++ b/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_called_contract.py @@ -5,9 +5,9 @@ Contract A delegatecalls precompiled contracts. It should execute successfully for each precompiled contract. + Ported from: -tests/static/state_tests/stStaticFlagEnabled -DelegatecallToPrecompileFromCalledContractFiller.yml +state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromCalledContractFiller.yml """ import pytest @@ -16,6 +16,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -28,18 +29,20 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromCalledContractFiller.yml", # noqa: E501 + "state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromCalledContractFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.pre_alloc_mutable def test_delegatecall_to_precompile_from_called_contract( state_test: StateTestFiller, pre: Alloc, ) -> None: """Contract C calls contract B.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") + coinbase = Address(0xCAFE000000000000000000000000000000000001) + contract_0 = Address(0xC000000000000000000000000000000000000000) + contract_1 = Address(0xB000000000000000000000000000000000000000) + contract_2 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -53,299 +56,42 @@ def test_delegatecall_to_precompile_from_called_contract( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { - # ;; Recovery of ECDSA signature - # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 - # [ 0x20 ] 28 - # [ 0x40 ] 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f # noqa: E501 - # [ 0x60 ] 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549 # noqa: E501 - # ;; zero value - # [ 0x0a0000 ] (DELEGATECALL (GAS) 1 0 128 0x2000 32) - # [ 0x0a0100 ] (MOD @0x2000 (EXP 2 160)) - # [ 0x0a0200 ] (EQ (ORIGIN) @0x0a0100) - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x20 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x40 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x60 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function SHA256 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # ;; zero value - # [ 0x0a0300 ] (DELEGATECALL (GAS) 2 0 32 0x2000 32) - # [ 0x0a0400 ] @0 - # [ 0x0a0500 ] @0x2000 - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function RIPEMD160 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # ;; zero value - # [ 0x0a0600 ] (DELEGATECALL (GAS) 3 0 32 0x2000 32) - # [ 0x0a0700 ] @0 - # ... (82 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x5, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x6, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x7, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x8, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), + # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 + # (CALL (GAS) 0xb000000000000000000000000000000000000000 0 0 0 0 0) + # [[ 0x01 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xB000000000000000000000000000000000000000, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.SSTORE( + key=0x1, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.STOP, + storage={ + 0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + }, balance=1000, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xC000000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 # (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0x0a0000 0x012020) # noqa: E501 @@ -363,168 +109,56 @@ def test_delegatecall_to_precompile_from_called_contract( # [[ 0x0a09 ]] @0x0a0900 [[ 0x0a20 ]] @0x0a2000 # [[ 0x0a10 ]] @0x0a1000 # } - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0xA0000, - ret_size=0x12020, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) - + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) - + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) - + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) - + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) - + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) - + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) - + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) - + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) - + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) - + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) - + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) - + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) - + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) - + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) - + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) - + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) - + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) - + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) - + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) - + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) - + Op.STOP - ), - storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - }, - balance=1000, - nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { - # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # (CALL (GAS) 0xb000000000000000000000000000000000000000 0 0 0 0 0) - # [[ 0x01 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xB000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0xA000000000000000000000000000000000000000, + args_offset=0x0, + args_size=0x0, + ret_offset=0xA0000, + ret_size=0x12020, + ) + ) + + Op.SSTORE( + key=0x1, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) + + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) + + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) + + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) + + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) + + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) + + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) + + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) + + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) + + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) + + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) + + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) + + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) + + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) + + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) + + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) + + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) + + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) + + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) + + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) + + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) + + Op.STOP, storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 }, balance=1000, nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=4000000, - value=100, - ) - - post = { - callee_1: Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 2560: 1, - 2561: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2562: 1, - 2563: 1, - 2564: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2565: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 2566: 1, - 2567: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2568: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 2569: 1, - 2576: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2577: 1, - 2578: 1, - 2579: 1, - 2580: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2581: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2582: 1, - 2583: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2584: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2585: 1, - 2592: 1, - }, - ), - contract: Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromCalledContractFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.pre_alloc_mutable -def test_delegatecall_to_precompile_from_called_contract_from_osaka( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Contract C calls contract B.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - - # Source: LLL + # Source: lll # { # ;; Recovery of ECDSA signature # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 @@ -556,382 +190,282 @@ def test_delegatecall_to_precompile_from_called_contract_from_osaka( # [ 0x0a0600 ] (DELEGATECALL (GAS) 3 0 32 0x2000 32) # [ 0x0a0700 ] @0 # ... (82 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x5, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x6, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x7, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x8, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0000, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE( + offset=0xA0100, + value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), + ) + + Op.MSTORE( + offset=0xA0200, value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)) + ) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0300, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0600, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x3, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0900, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x4, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x0, value=0x1) + + Op.MSTORE(offset=0x20, value=0x20) + + Op.MSTORE(offset=0x40, value=0x20) + + Op.MSTORE( + offset=0x60, + value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1100, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x5, + args_offset=0x0, + args_size=0xA1, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x80, value=0x0) + + Op.MSTORE(offset=0xA0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1300, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x6, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE(offset=0x40, value=0x3) + + Op.MSTORE( + offset=0xA1600, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x7, + args_offset=0x0, + args_size=0x60, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 + ) + + Op.MSTORE( + offset=0xE0, + value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 + ) + + Op.MSTORE( + offset=0x100, + value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x120, + value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 + ) + + Op.MSTORE( + offset=0x140, + value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 + ) + + Op.MSTORE( + offset=0x160, + value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1900, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x8, + args_offset=0x0, + args_size=0x180, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.RETURN(offset=0xA0000, size=0x12020) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { - # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0x0a0000 0x012020) # noqa: E501 - # [[ 0x01 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # ;; save results to store - # [[ 0x0a00 ]] @0x0a0000 [[ 0x0a11 ]] @0x0a1100 - # [[ 0x0a01 ]] @0x0a0100 [[ 0x0a12 ]] @0x0a1200 - # [[ 0x0a02 ]] @0x0a0200 [[ 0x0a13 ]] @0x0a1300 - # [[ 0x0a03 ]] @0x0a0300 [[ 0x0a14 ]] @0x0a1400 - # [[ 0x0a04 ]] @0x0a0400 [[ 0x0a15 ]] @0x0a1500 - # [[ 0x0a05 ]] @0x0a0500 [[ 0x0a16 ]] @0x0a1600 - # [[ 0x0a06 ]] @0x0a0600 [[ 0x0a17 ]] @0x0a1700 - # [[ 0x0a07 ]] @0x0a0700 [[ 0x0a18 ]] @0x0a1800 - # [[ 0x0a08 ]] @0x0a0800 [[ 0x0a19 ]] @0x0a1900 - # [[ 0x0a09 ]] @0x0a0900 [[ 0x0a20 ]] @0x0a2000 - # [[ 0x0a10 ]] @0x0a1000 - # } - callee_1 = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0xA0000, - ret_size=0x12020, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) - + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) - + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) - + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) - + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) - + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) - + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) - + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) - + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) - + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) - + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) - + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) - + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) - + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) - + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) - + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) - + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) - + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) - + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) - + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) - + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) - + Op.STOP - ), - storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - }, - balance=1000, - nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) - # Source: LLL - # { - # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # (CALL (GAS) 0xb000000000000000000000000000000000000000 0 0 0 0 0) - # [[ 0x01 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xB000000000000000000000000000000000000000, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.STOP - ), - storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - }, - balance=1000, - nonce=0, - address=Address("0xc000000000000000000000000000000000000000"), # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=4000000, value=100, ) post = { - callee_1: Account( + contract_2: Account(storage={}, balance=1000), + contract_0: Account( + storage={ + 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + }, + balance=1100, + ), + contract_1: Account( storage={ 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 @@ -957,12 +491,7 @@ def test_delegatecall_to_precompile_from_called_contract_from_osaka( 2585: 1, 2592: 1, }, - ), - contract: Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - }, + balance=1000, ), } diff --git a/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_contract_initialization.py b/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_contract_initialization.py index 40cf801c7c5..461551da852 100644 --- a/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_contract_initialization.py +++ b/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_contract_initialization.py @@ -4,9 +4,9 @@ Contract A delegatecalls precompiled contracts. It should execute successfully for each precompiled contract. + Ported from: -tests/static/state_tests/stStaticFlagEnabled -DelegatecallToPrecompileFromContractInitializationFiller.yml +state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromContractInitializationFiller.yml """ import pytest @@ -15,6 +15,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -27,18 +28,19 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromContractInitializationFiller.yml", # noqa: E501 + "state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromContractInitializationFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.pre_alloc_mutable def test_delegatecall_to_precompile_from_contract_initialization( state_test: StateTestFiller, pre: Alloc, ) -> None: """Contract B staticcalls contract A.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") + coinbase = Address(0xCAFE000000000000000000000000000000000001) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,423 +54,42 @@ def test_delegatecall_to_precompile_from_contract_initialization( gas_limit=10000000, ) - # Source: LLL - # { - # ;; Recovery of ECDSA signature - # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 - # [ 0x20 ] 28 - # [ 0x40 ] 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f # noqa: E501 - # [ 0x60 ] 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549 # noqa: E501 - # ;; zero value - # [ 0x0a0000 ] (DELEGATECALL (GAS) 1 0 128 0x2000 32) - # [ 0x0a0100 ] (MOD @0x2000 (EXP 2 160)) - # [ 0x0a0200 ] (EQ (ORIGIN) @0x0a0100) - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x20 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x40 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x60 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function SHA256 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # ;; zero value - # [ 0x0a0300 ] (DELEGATECALL (GAS) 2 0 32 0x2000 32) - # [ 0x0a0400 ] @0 - # [ 0x0a0500 ] @0x2000 - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function RIPEMD160 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # ;; zero value - # [ 0x0a0600 ] (DELEGATECALL (GAS) 3 0 32 0x2000 32) - # [ 0x0a0700 ] @0 - # ... (82 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x5, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x6, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x7, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x8, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), - balance=1000, - nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 # (CALLDATACOPY 0 0 (CALLDATASIZE)) # [[ 0x01 ]] (CREATE2 0 0 (CALLDATASIZE) 0x5a175a175a17) # [[ 0x02 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.CALLDATACOPY( - dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE - ) - + Op.SSTORE( - key=0x1, - value=Op.CREATE2( - value=0x0, - offset=0x0, - size=Op.CALLDATASIZE, - salt=0x5A175A175A17, - ), - ) - + Op.SSTORE( - key=0x2, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE) + + Op.SSTORE( + key=0x1, + value=Op.CREATE2( + value=0x0, + offset=0x0, + size=Op.CALLDATASIZE, + salt=0x5A175A175A17, + ), + ) + + Op.SSTORE( + key=0x2, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.STOP, storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 }, balance=1000, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "7ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed600055" # noqa: E501 - "62012020620a00006000600073a0000000000000000000000000000000000000005afa50" # noqa: E501 - "7ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed600155" # noqa: E501 - "620a000051610a0055620a110051610a1155620a010051610a0155620a120051610a1255" # noqa: E501 - "620a020051610a0255620a130051610a1355620a030051610a0355620a140051610a1455" # noqa: E501 - "620a040051610a0455620a150051610a1555620a050051610a0555620a160051610a1655" # noqa: E501 - "620a060051610a0655620a170051610a1755620a070051610a0755620a180051610a1855" # noqa: E501 - "620a080051610a0855620a190051610a1955620a090051610a0955620a200051610a2055" # noqa: E501 - "620a100051610a105500" - ), - gas_limit=4000000, - value=100, - ) - - post = { - contract: Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xFD7776B1A634B0DC19301B174CCF30D4D24070A8, - 2: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - }, - ), - Address("0xfd7776b1a634b0dc19301b174ccf30d4d24070a8"): Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 2560: 1, - 2561: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2562: 1, - 2563: 1, - 2564: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2565: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 2566: 1, - 2567: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2568: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 2569: 1, - 2576: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2577: 1, - 2578: 1, - 2579: 1, - 2580: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2581: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2582: 1, - 2583: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2584: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2585: 1, - 2592: 1, - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromContractInitializationFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.pre_alloc_mutable -def test_delegatecall_to_precompile_from_contract_initialization_from_osaka( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Contract B staticcalls contract A.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL + # Source: lll # { # ;; Recovery of ECDSA signature # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 @@ -500,333 +121,284 @@ def test_delegatecall_to_precompile_from_contract_initialization_from_osaka( # [ 0x0a0600 ] (DELEGATECALL (GAS) 3 0 32 0x2000 32) # [ 0x0a0700 ] @0 # ... (82 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x5, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x6, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x7, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x8, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0000, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE( + offset=0xA0100, + value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), + ) + + Op.MSTORE( + offset=0xA0200, value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)) + ) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0300, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0600, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x3, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0900, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x4, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x0, value=0x1) + + Op.MSTORE(offset=0x20, value=0x20) + + Op.MSTORE(offset=0x40, value=0x20) + + Op.MSTORE( + offset=0x60, + value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1100, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x5, + args_offset=0x0, + args_size=0xA1, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x80, value=0x0) + + Op.MSTORE(offset=0xA0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1300, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x6, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE(offset=0x40, value=0x3) + + Op.MSTORE( + offset=0xA1600, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x7, + args_offset=0x0, + args_size=0x60, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 + ) + + Op.MSTORE( + offset=0xE0, + value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 + ) + + Op.MSTORE( + offset=0x100, + value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x120, + value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 + ) + + Op.MSTORE( + offset=0x140, + value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 + ) + + Op.MSTORE( + offset=0x160, + value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1900, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x8, + args_offset=0x0, + args_size=0x180, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.RETURN(offset=0xA0000, size=0x12020) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { - # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # (CALLDATACOPY 0 0 (CALLDATASIZE)) - # [[ 0x01 ]] (CREATE2 0 0 (CALLDATASIZE) 0x5a175a175a17) - # [[ 0x02 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.CALLDATACOPY( - dest_offset=0x0, offset=0x0, size=Op.CALLDATASIZE - ) - + Op.SSTORE( - key=0x1, - value=Op.CREATE2( - value=0x0, - offset=0x0, - size=Op.CALLDATASIZE, - salt=0x5A175A175A17, - ), - ) - + Op.SSTORE( - key=0x2, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.STOP - ), - storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - }, - balance=1000, - nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed600055" # noqa: E501 - "62012020620a00006000600073a0000000000000000000000000000000000000005afa50" # noqa: E501 - "7ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed600155" # noqa: E501 - "620a000051610a0055620a110051610a1155620a010051610a0155620a120051610a1255" # noqa: E501 - "620a020051610a0255620a130051610a1355620a030051610a0355620a140051610a1455" # noqa: E501 - "620a040051610a0455620a150051610a1555620a050051610a0555620a160051610a1655" # noqa: E501 - "620a060051610a0655620a170051610a1755620a070051610a0755620a180051610a1855" # noqa: E501 - "620a080051610a0855620a190051610a1955620a090051610a0955620a200051610a2055" # noqa: E501 - "620a100051610a105500" + to=contract_0, + data=Bytes( + "7ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed60005562012020620a00006000600073a0000000000000000000000000000000000000005afa507ffeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed600155620a000051610a0055620a110051610a1155620a010051610a0155620a120051610a1255620a020051610a0255620a130051610a1355620a030051610a0355620a140051610a1455620a040051610a0455620a150051610a1555620a050051610a0555620a160051610a1655620a060051610a0655620a170051610a1755620a070051610a0755620a180051610a1855620a080051610a0855620a190051610a1955620a090051610a0955620a200051610a2055620a100051610a105500" # noqa: E501 ), gas_limit=4000000, value=100, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 1: 0xFD7776B1A634B0DC19301B174CCF30D4D24070A8, 2: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 }, + balance=1100, ), - Address("0xfd7776b1a634b0dc19301b174ccf30d4d24070a8"): Account( + Address(0xFD7776B1A634B0DC19301B174CCF30D4D24070A8): Account( storage={ 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 diff --git a/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_transaction.py b/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_transaction.py index 17de80e2b67..9d6cbaeba5a 100644 --- a/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_transaction.py +++ b/tests/ported_static/stStaticFlagEnabled/test_delegatecall_to_precompile_from_transaction.py @@ -4,9 +4,9 @@ Contract A delegatecalls precompiled contracts. It should execute successfully for each precompiled contract. + Ported from: -tests/static/state_tests/stStaticFlagEnabled -DelegatecallToPrecompileFromTransactionFiller.yml +state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromTransactionFiller.yml """ import pytest @@ -15,6 +15,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -27,18 +28,19 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromTransactionFiller.yml", # noqa: E501 + "state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromTransactionFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Prague") @pytest.mark.pre_alloc_mutable def test_delegatecall_to_precompile_from_transaction( state_test: StateTestFiller, pre: Alloc, ) -> None: """Contract B staticcalls contract A.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") + coinbase = Address(0xCAFE000000000000000000000000000000000001) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xA000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,299 +54,7 @@ def test_delegatecall_to_precompile_from_transaction( gas_limit=10000000, ) - # Source: LLL - # { - # ;; Recovery of ECDSA signature - # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 - # [ 0x20 ] 28 - # [ 0x40 ] 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f # noqa: E501 - # [ 0x60 ] 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549 # noqa: E501 - # ;; zero value - # [ 0x0a0000 ] (DELEGATECALL (GAS) 1 0 128 0x2000 32) - # [ 0x0a0100 ] (MOD @0x2000 (EXP 2 160)) - # [ 0x0a0200 ] (EQ (ORIGIN) @0x0a0100) - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x20 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x40 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x60 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function SHA256 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # ;; zero value - # [ 0x0a0300 ] (DELEGATECALL (GAS) 2 0 32 0x2000 32) - # [ 0x0a0400 ] @0 - # [ 0x0a0500 ] @0x2000 - # [ 0x00 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # [ 0x2000 ] 0x0000000000000000000000000000000000000000000000000000000000000000 # noqa: E501 - # - # ;; Hash function RIPEMD160 - # [ 0x00 ] 0x0000000ccccccccccccccccccccccccccccccccccccccccccccccccccc000000 # noqa: E501 - # ;; zero value - # [ 0x0a0600 ] (DELEGATECALL (GAS) 3 0 32 0x2000 32) - # [ 0x0a0700 ] @0 - # ... (82 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x5, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x6, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x7, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x8, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), - balance=1000, - nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 # (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0x0a0000 0x012020) # noqa: E501 @@ -362,125 +72,56 @@ def test_delegatecall_to_precompile_from_transaction( # [[ 0x0a09 ]] @0x0a0900 [[ 0x0a20 ]] @0x0a2000 # [[ 0x0a10 ]] @0x0a1000 # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0xA0000, - ret_size=0x12020, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) - + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) - + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) - + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) - + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) - + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) - + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) - + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) - + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) - + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) - + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) - + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) - + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) - + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) - + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) - + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) - + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) - + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) - + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) - + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) - + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0xA000000000000000000000000000000000000000, + args_offset=0x0, + args_size=0x0, + ret_offset=0xA0000, + ret_size=0x12020, + ) + ) + + Op.SSTORE( + key=0x1, + value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 + ) + + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) + + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) + + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) + + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) + + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) + + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) + + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) + + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) + + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) + + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) + + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) + + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) + + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) + + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) + + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) + + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) + + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) + + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) + + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) + + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) + + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) + + Op.STOP, storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 + 1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 }, balance=1000, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - gas_limit=4000000, - value=100, + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - - post = { - contract: Account( - storage={ - 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - 2560: 1, - 2561: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 2562: 1, - 2563: 1, - 2564: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2565: 0x73F5062FB68ED2A1EC82FF8C73F9251BB9CF53A623BC93527E16BC5AE29DAD74, # noqa: E501 - 2566: 1, - 2567: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2568: 0x14EF238CFA4075E9EDE92F18B1566C1DD0B99AAA, - 2569: 1, - 2576: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - 2577: 1, - 2578: 1, - 2579: 1, - 2580: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2581: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2582: 1, - 2583: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2584: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - 2585: 1, - 2592: 1, - }, - ), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stStaticFlagEnabled/DelegatecallToPrecompileFromTransactionFiller.yml", # noqa: E501 - ], -) -@pytest.mark.valid_from("Osaka") -@pytest.mark.pre_alloc_mutable -def test_delegatecall_to_precompile_from_transaction_from_osaka( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Contract B staticcalls contract A.""" - coinbase = Address("0xcafe000000000000000000000000000000000001") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - # Source: LLL + # Source: lll # { # ;; Recovery of ECDSA signature # [ 0x00 ] 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c # noqa: E501 @@ -512,345 +153,275 @@ def test_delegatecall_to_precompile_from_transaction_from_osaka( # [ 0x0a0600 ] (DELEGATECALL (GAS) 3 0 32 0x2000 32) # [ 0x0a0700 ] @0 # ... (82 more lines) - pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 - ) - + Op.MSTORE(offset=0x20, value=0x1C) - + Op.MSTORE( - offset=0x40, - value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0000, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x1, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE( - offset=0xA0100, - value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), - ) - + Op.MSTORE( - offset=0xA0200, - value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)), - ) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x2, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x3, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) - + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x4, - args_offset=0x0, - args_size=0x20, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x0, value=0x1) - + Op.MSTORE(offset=0x20, value=0x20) - + Op.MSTORE(offset=0x40, value=0x20) - + Op.MSTORE( - offset=0x60, - value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1100, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x5, - args_offset=0x0, - args_size=0xA1, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x80, value=0x0) - + Op.MSTORE(offset=0xA0, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1300, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x6, - args_offset=0x0, - args_size=0x80, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x60, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - ) - + Op.MSTORE(offset=0x40, value=0x3) - + Op.MSTORE( - offset=0xA1600, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x7, - args_offset=0x0, - args_size=0x60, - ret_offset=0x2000, - ret_size=0x40, - ), - ) - + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) - + Op.MSTORE(offset=0x0, value=0x0) - + Op.MSTORE(offset=0x20, value=0x0) - + Op.MSTORE(offset=0x40, value=0x0) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.MSTORE(offset=0x2020, value=0x0) - + Op.MSTORE( - offset=0x0, - value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 - ) - + Op.MSTORE( - offset=0x40, - value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 - ) - + Op.MSTORE( - offset=0x60, - value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA0, - value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 - ) - + Op.MSTORE( - offset=0xC0, - value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 - ) - + Op.MSTORE( - offset=0xE0, - value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 - ) - + Op.MSTORE( - offset=0x100, - value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 - ) - + Op.MSTORE( - offset=0x120, - value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 - ) - + Op.MSTORE( - offset=0x140, - value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 - ) - + Op.MSTORE( - offset=0x160, - value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 - ) - + Op.MSTORE( - offset=0xA1900, - value=Op.DELEGATECALL( - gas=Op.GAS, - address=0x8, - args_offset=0x0, - args_size=0x180, - ret_offset=0x2000, - ret_size=0x20, - ), - ) - + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) - + Op.MSTORE(offset=0x2000, value=0x0) - + Op.RETURN(offset=0xA0000, size=0x12020) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x18C547E4F7B0F325AD1E56F57E26C745B09A3E503D86E00E5255FF7F715D3D1C, # noqa: E501 + ) + + Op.MSTORE(offset=0x20, value=0x1C) + + Op.MSTORE( + offset=0x40, + value=0x73B1693892219D736CABA55BDB67216E485557EA6B6AF75F37096C9AA6A5A75F, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0xEEB940B1D03B21E36B0E47E79769F095FE2AB855BD91E3A38756B7D75A9C4549, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0000, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x1, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE( + offset=0xA0100, + value=Op.MOD(Op.MLOAD(offset=0x2000), Op.EXP(0x2, 0xA0)), + ) + + Op.MSTORE( + offset=0xA0200, value=Op.EQ(Op.ORIGIN, Op.MLOAD(offset=0xA0100)) + ) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0300, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0400, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0500, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0600, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x3, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA0700, value=Op.MLOAD(offset=0x0)) + + Op.MSTORE(offset=0xA0800, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000000, + ) + + Op.MSTORE( + offset=0xA0900, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x4, + args_offset=0x0, + args_size=0x20, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x0, value=0x1) + + Op.MSTORE(offset=0x20, value=0x20) + + Op.MSTORE(offset=0x40, value=0x20) + + Op.MSTORE( + offset=0x60, + value=0x3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x2F00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1100, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x5, + args_offset=0x0, + args_size=0xA1, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA1200, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x80, value=0x0) + + Op.MSTORE(offset=0xA0, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1300, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x6, + args_offset=0x0, + args_size=0x80, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1400, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1500, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x60, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 + ) + + Op.MSTORE(offset=0x40, value=0x3) + + Op.MSTORE( + offset=0xA1600, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x7, + args_offset=0x0, + args_size=0x60, + ret_offset=0x2000, + ret_size=0x40, + ), + ) + + Op.MSTORE(offset=0xA1700, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0xA1800, value=Op.MLOAD(offset=0x2020)) + + Op.MSTORE(offset=0x0, value=0x0) + + Op.MSTORE(offset=0x20, value=0x0) + + Op.MSTORE(offset=0x40, value=0x0) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.MSTORE(offset=0x2020, value=0x0) + + Op.MSTORE( + offset=0x0, + value=0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41, # noqa: E501 + ) + + Op.MSTORE( + offset=0x40, + value=0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7, # noqa: E501 + ) + + Op.MSTORE( + offset=0x60, + value=0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678, # noqa: E501 + ) + + Op.MSTORE( + offset=0x80, + value=0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA0, + value=0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550, # noqa: E501 + ) + + Op.MSTORE( + offset=0xC0, + value=0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C, # noqa: E501 + ) + + Op.MSTORE( + offset=0xE0, + value=0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411, # noqa: E501 + ) + + Op.MSTORE( + offset=0x100, + value=0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2, # noqa: E501 + ) + + Op.MSTORE( + offset=0x120, + value=0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED, # noqa: E501 + ) + + Op.MSTORE( + offset=0x140, + value=0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B, # noqa: E501 + ) + + Op.MSTORE( + offset=0x160, + value=0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA, # noqa: E501 + ) + + Op.MSTORE( + offset=0xA1900, + value=Op.DELEGATECALL( + gas=Op.GAS, + address=0x8, + args_offset=0x0, + args_size=0x180, + ret_offset=0x2000, + ret_size=0x20, + ), + ) + + Op.MSTORE(offset=0xA2000, value=Op.MLOAD(offset=0x2000)) + + Op.MSTORE(offset=0x2000, value=0x0) + + Op.RETURN(offset=0xA0000, size=0x12020) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xa000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xA000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { - # [[ 0x00 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0x0a0000 0x012020) # noqa: E501 - # [[ 0x01 ]] 0xfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeedfeed # noqa: E501 - # ;; save results to store - # [[ 0x0a00 ]] @0x0a0000 [[ 0x0a11 ]] @0x0a1100 - # [[ 0x0a01 ]] @0x0a0100 [[ 0x0a12 ]] @0x0a1200 - # [[ 0x0a02 ]] @0x0a0200 [[ 0x0a13 ]] @0x0a1300 - # [[ 0x0a03 ]] @0x0a0300 [[ 0x0a14 ]] @0x0a1400 - # [[ 0x0a04 ]] @0x0a0400 [[ 0x0a15 ]] @0x0a1500 - # [[ 0x0a05 ]] @0x0a0500 [[ 0x0a16 ]] @0x0a1600 - # [[ 0x0a06 ]] @0x0a0600 [[ 0x0a17 ]] @0x0a1700 - # [[ 0x0a07 ]] @0x0a0700 [[ 0x0a18 ]] @0x0a1800 - # [[ 0x0a08 ]] @0x0a0800 [[ 0x0a19 ]] @0x0a1900 - # [[ 0x0a09 ]] @0x0a0900 [[ 0x0a20 ]] @0x0a2000 - # [[ 0x0a10 ]] @0x0a1000 - # } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xA000000000000000000000000000000000000000, - args_offset=0x0, - args_size=0x0, - ret_offset=0xA0000, - ret_size=0x12020, - ), - ) - + Op.SSTORE( - key=0x1, - value=0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 - ) - + Op.SSTORE(key=0xA00, value=Op.MLOAD(offset=0xA0000)) - + Op.SSTORE(key=0xA11, value=Op.MLOAD(offset=0xA1100)) - + Op.SSTORE(key=0xA01, value=Op.MLOAD(offset=0xA0100)) - + Op.SSTORE(key=0xA12, value=Op.MLOAD(offset=0xA1200)) - + Op.SSTORE(key=0xA02, value=Op.MLOAD(offset=0xA0200)) - + Op.SSTORE(key=0xA13, value=Op.MLOAD(offset=0xA1300)) - + Op.SSTORE(key=0xA03, value=Op.MLOAD(offset=0xA0300)) - + Op.SSTORE(key=0xA14, value=Op.MLOAD(offset=0xA1400)) - + Op.SSTORE(key=0xA04, value=Op.MLOAD(offset=0xA0400)) - + Op.SSTORE(key=0xA15, value=Op.MLOAD(offset=0xA1500)) - + Op.SSTORE(key=0xA05, value=Op.MLOAD(offset=0xA0500)) - + Op.SSTORE(key=0xA16, value=Op.MLOAD(offset=0xA1600)) - + Op.SSTORE(key=0xA06, value=Op.MLOAD(offset=0xA0600)) - + Op.SSTORE(key=0xA17, value=Op.MLOAD(offset=0xA1700)) - + Op.SSTORE(key=0xA07, value=Op.MLOAD(offset=0xA0700)) - + Op.SSTORE(key=0xA18, value=Op.MLOAD(offset=0xA1800)) - + Op.SSTORE(key=0xA08, value=Op.MLOAD(offset=0xA0800)) - + Op.SSTORE(key=0xA19, value=Op.MLOAD(offset=0xA1900)) - + Op.SSTORE(key=0xA09, value=Op.MLOAD(offset=0xA0900)) - + Op.SSTORE(key=0xA20, value=Op.MLOAD(offset=0xA2000)) - + Op.SSTORE(key=0xA10, value=Op.MLOAD(offset=0xA1000)) - + Op.STOP - ), - storage={ - 0x0: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - 0x1: 0xDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAFDEADBEAF, # noqa: E501 - }, - balance=1000, - nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 - ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=4000000, value=100, ) post = { - contract: Account( + contract_1: Account(storage={}, balance=1000), + contract_0: Account( storage={ 0: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 1: 0xFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED, # noqa: E501 @@ -876,6 +447,7 @@ def test_delegatecall_to_precompile_from_transaction_from_osaka( 2585: 1, 2592: 1, }, + balance=1100, ), } diff --git a/tests/ported_static/stSystemOperationsTest/__init__.py b/tests/ported_static/stSystemOperationsTest/__init__.py index 0292429ff32..f2656f1635a 100644 --- a/tests/ported_static/stSystemOperationsTest/__init__.py +++ b/tests/ported_static/stSystemOperationsTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stSystemOperationsTest.""" +"""Ported static tests: stSystemOperationsTest.""" # noqa: N999 diff --git a/tests/ported_static/stSystemOperationsTest/test_ab_acalls0.py b/tests/ported_static/stSystemOperationsTest/test_ab_acalls0.py index 4b0249d0a89..848e0a4fb0b 100644 --- a/tests/ported_static/stSystemOperationsTest/test_ab_acalls0.py +++ b/tests/ported_static/stSystemOperationsTest/test_ab_acalls0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_ab_acalls0. Ported from: -tests/static/state_tests/stSystemOperationsTest/ABAcalls0Filler.json +state_tests/stSystemOperationsTest/ABAcalls0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSystemOperationsTest/ABAcalls0Filler.json"], + ["state_tests/stSystemOperationsTest/ABAcalls0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_ab_acalls0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_ab_acalls0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,63 +46,62 @@ def test_ab_acalls0( gas_limit=10000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.ADD( - 0x1, - Op.CALL( - gas=0xC350, - address=0xD6CD6EC9ADCA299F2BBFD754FF8BCF6A4B9AAE40, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ), - ) - + Op.STOP - ), - balance=23, + # Source: lll + # { [[ (PC) ]] (CALL 100000 24 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.CALL( + gas=0x186A0, + address=0x44EB1162303B6A60F2F8882D43D661787B3011E6, + value=0x18, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x44eb1162303b6a60f2f8882d43d661787b3011e6"), # noqa: E501 + address=Address(0xD6CD6EC9ADCA299F2BBFD754FF8BCF6A4B9AAE40), # noqa: E501 ) - # Source: LLL - # { [[ (PC) ]] (CALL 100000 24 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.CALL( - gas=0x186A0, - address=0x44EB1162303B6A60F2F8882D43D661787B3011E6, - value=0x18, + # Source: lll + # { [[ (PC) ]] (ADD 1 (CALL 50000 23 0 0 0 0)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.ADD( + 0x1, + Op.CALL( + gas=0xC350, + address=0xD6CD6EC9ADCA299F2BBFD754FF8BCF6A4B9AAE40, + value=0x17, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + ), + ) + + Op.STOP, + balance=23, nonce=0, - address=Address("0xd6cd6ec9adca299f2bbfd754ff8bcf6a4b9aae40"), # noqa: E501 + address=Address(0x44EB1162303B6A60F2F8882D43D661787B3011E6), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - callee: Account(storage={38: 1}), - contract: Account(storage={36: 1}), + target: Account(storage={36: 1}), + addr: Account(storage={38: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_ab_acalls1.py b/tests/ported_static/stSystemOperationsTest/test_ab_acalls1.py index f91b6bc3123..d66692566d6 100644 --- a/tests/ported_static/stSystemOperationsTest/test_ab_acalls1.py +++ b/tests/ported_static/stSystemOperationsTest/test_ab_acalls1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_ab_acalls1. Ported from: -tests/static/state_tests/stSystemOperationsTest/ABAcalls1Filler.json +state_tests/stSystemOperationsTest/ABAcalls1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSystemOperationsTest/ABAcalls1Filler.json"], + ["state_tests/stSystemOperationsTest/ABAcalls1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_ab_acalls1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_ab_acalls1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,63 +47,62 @@ def test_ab_acalls1( gas_limit=10000000000, ) - # Source: LLL + # Source: lll # { [[ (PC) ]] (CALL (- (GAS) 100000) 24 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.CALL( + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0x6236EA4EA8F3E5263ACB65A97ABE8683AB54D03A, + value=0x18, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x572A88ED686BEB6C9B71DC491BA1E120B327A85F), # noqa: E501 + ) + # Source: lll + # { [[ (PC) ]] (ADD 1 (CALL (- (GAS) 100000) 23 0 0 0 0)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.ADD( + 0x1, + Op.CALL( gas=Op.SUB(Op.GAS, 0x186A0), - address=0x6236EA4EA8F3E5263ACB65A97ABE8683AB54D03A, - value=0x18, + address=0x572A88ED686BEB6C9B71DC491BA1E120B327A85F, + value=0x17, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x572a88ed686beb6c9b71dc491ba1e120b327a85f"), # noqa: E501 - ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.ADD( - 0x1, - Op.CALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0x572A88ED686BEB6C9B71DC491BA1E120B327A85F, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ), - ) - + Op.STOP - ), + ), + ) + + Op.STOP, balance=23, nonce=0, - address=Address("0x6236ea4ea8f3e5263acb65a97abe8683ab54d03a"), # noqa: E501 + address=Address(0x6236EA4EA8F3E5263ACB65A97ABE8683AB54D03A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={38: 1}), - callee: Account(storage={41: 2}), + target: Account(storage={38: 1}), + addr: Account(storage={41: 2}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_ab_acalls2.py b/tests/ported_static/stSystemOperationsTest/test_ab_acalls2.py index aa72f666e73..5f84c8c62a9 100644 --- a/tests/ported_static/stSystemOperationsTest/test_ab_acalls2.py +++ b/tests/ported_static/stSystemOperationsTest/test_ab_acalls2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_ab_acalls2. Ported from: -tests/static/state_tests/stSystemOperationsTest/ABAcalls2Filler.json +state_tests/stSystemOperationsTest/ABAcalls2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSystemOperationsTest/ABAcalls2Filler.json"], + ["state_tests/stSystemOperationsTest/ABAcalls2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -31,8 +32,8 @@ def test_ab_acalls2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_ab_acalls2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,55 +47,54 @@ def test_ab_acalls2( gas_limit=10000000000, ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.CALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xC58B2120D2AD0CBFCCD6EBAAE6C11258ACEAC41B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - nonce=0, - address=Address("0xa890ceb693666313e0a5a1be4f59f06c1e33f5c9"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (ADD (SLOAD 0) 1) (CALL (- (GAS) 100000) 1 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.CALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xA890CEB693666313E0A5A1BE4F59F06C1E33F5C9, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.CALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xA890CEB693666313E0A5A1BE4F59F06C1E33F5C9, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xc58b2120d2ad0cbfccd6ebaae6c11258aceac41b"), # noqa: E501 + address=Address(0xC58B2120D2AD0CBFCCD6EBAAE6C11258ACEAC41B), # noqa: E501 + ) + # Source: lll + # { [[ 0 ]] (ADD (SLOAD 0) 1) (CALL (- (GAS) 100000) 0 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.CALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xC58B2120D2AD0CBFCCD6EBAAE6C11258ACEAC41B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + nonce=0, + address=Address(0xA890CEB693666313E0A5A1BE4F59F06C1E33F5C9), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000000, - value=100000, + value=0x186A0, ) post = { - callee: Account(storage={0: 201}), - contract: Account(storage={0: 201}), + target: Account(storage={0: 201}), + addr: Account(storage={0: 201}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_ab_acalls3.py b/tests/ported_static/stSystemOperationsTest/test_ab_acalls3.py index 23e968e312a..178bebebbd2 100644 --- a/tests/ported_static/stSystemOperationsTest/test_ab_acalls3.py +++ b/tests/ported_static/stSystemOperationsTest/test_ab_acalls3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_ab_acalls3. Ported from: -tests/static/state_tests/stSystemOperationsTest/ABAcalls3Filler.json +state_tests/stSystemOperationsTest/ABAcalls3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSystemOperationsTest/ABAcalls3Filler.json"], + ["state_tests/stSystemOperationsTest/ABAcalls3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_ab_acalls3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_ab_acalls3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,55 +46,54 @@ def test_ab_acalls3( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (ADD (SLOAD 0) 1) (CALL (- (GAS) 100000) 1 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.CALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0xA890CEB693666313E0A5A1BE4F59F06C1E33F5C9, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.CALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0xA890CEB693666313E0A5A1BE4F59F06C1E33F5C9, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xFA3E8, nonce=0, - address=Address("0x4776b53deb22f16581088f679dba75e205b65d34"), # noqa: E501 + address=Address(0x4776B53DEB22F16581088F679DBA75E205B65D34), # noqa: E501 ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.CALL( - gas=Op.SUB(Op.GAS, 0x186A0), - address=0x4776B53DEB22F16581088F679DBA75E205B65D34, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + # Source: lll + # { [[ 0 ]] (ADD (SLOAD 0) 1) (CALL (- (GAS) 100000) 0 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.CALL( + gas=Op.SUB(Op.GAS, 0x186A0), + address=0x4776B53DEB22F16581088F679DBA75E205B65D34, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0xa890ceb693666313e0a5a1be4f59f06c1e33f5c9"), # noqa: E501 + address=Address(0xA890CEB693666313E0A5A1BE4F59F06C1E33F5C9), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) post = { - contract: Account(storage={0: 52}), - callee: Account(storage={0: 52}), + target: Account(storage={0: 52}), + addr: Account(storage={0: 52}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_ab_acalls_suicide0.py b/tests/ported_static/stSystemOperationsTest/test_ab_acalls_suicide0.py index c805fa7e590..984879a7704 100644 --- a/tests/ported_static/stSystemOperationsTest/test_ab_acalls_suicide0.py +++ b/tests/ported_static/stSystemOperationsTest/test_ab_acalls_suicide0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_ab_acalls_suicide0. Ported from: -tests/static/state_tests/stSystemOperationsTest/ABAcallsSuicide0Filler.json +state_tests/stSystemOperationsTest/ABAcallsSuicide0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/ABAcallsSuicide0Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/ABAcallsSuicide0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_ab_acalls_suicide0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_ab_acalls_suicide0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,66 +46,60 @@ def test_ab_acalls_suicide0( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[ (PC) ]] (CALL 100000 24 0 0 0 0) (SELFDESTRUCT ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.CALL( - gas=0x186A0, - address=0x24940009F045E4134ED2AB242BE610D312FE9A29, - value=0x18, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.CALL( + gas=0x186A0, + address=0x24940009F045E4134ED2AB242BE610D312FE9A29, + value=0x18, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SELFDESTRUCT(address=0x24940009F045E4134ED2AB242BE610D312FE9A29) + + Op.STOP, + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0x10481E52C494FD0D78604B0F9207A89008F7E9A9), # noqa: E501 + ) + # Source: lll + # { [[ (PC) ]] (ADD 1 (CALL 50000 23 0 0 0 0)) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.PC, + value=Op.ADD( + 0x1, + Op.CALL( + gas=0xC350, + address=0x10481E52C494FD0D78604B0F9207A89008F7E9A9, + value=0x17, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, ), - ) - + Op.SELFDESTRUCT( - address=0x24940009F045E4134ED2AB242BE610D312FE9A29 - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, - nonce=0, - address=Address("0x10481e52c494fd0d78604b0f9207a89008f7e9a9"), # noqa: E501 - ) - callee = pre.deploy_contract( - code=( - Op.SSTORE( - key=Op.PC, - value=Op.ADD( - 0x1, - Op.CALL( - gas=0xC350, - address=0x10481E52C494FD0D78604B0F9207A89008F7E9A9, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ), - ) - + Op.STOP - ), + ), + ) + + Op.STOP, balance=23, nonce=0, - address=Address("0x24940009f045e4134ed2ab242be610d312fe9a29"), # noqa: E501 + address=Address(0x24940009F045E4134ED2AB242BE610D312FE9A29), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={36: 1}), - callee: Account(storage={38: 1}), - } + post = {addr: Account(storage={38: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_ab_acalls_suicide1.py b/tests/ported_static/stSystemOperationsTest/test_ab_acalls_suicide1.py index b013f25d412..f9d95b4f17f 100644 --- a/tests/ported_static/stSystemOperationsTest/test_ab_acalls_suicide1.py +++ b/tests/ported_static/stSystemOperationsTest/test_ab_acalls_suicide1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_ab_acalls_suicide1. Ported from: -tests/static/state_tests/stSystemOperationsTest/ABAcallsSuicide1Filler.json +state_tests/stSystemOperationsTest/ABAcallsSuicide1Filler.json """ import pytest @@ -12,9 +12,11 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,34 +24,39 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/ABAcallsSuicide1Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/ABAcallsSuicide1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000186a0", - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "00000000000000000000000000000000000000000000000000000000000486a0", - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_ab_acalls_suicide1( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_ab_acalls_suicide1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) + contract_1 = Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -63,70 +70,76 @@ def test_ab_acalls_suicide1( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) [[ (PC) ]] (CALL (CALLDATALOAD 0) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 24 0 32 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=Op.PC, - value=Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0x945304EB96065B2A98B57A48A06AE28D285A71B5, - value=0x18, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=Op.PC, + value=Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0x945304EB96065B2A98B57A48A06AE28D285A71B5, + value=0x18, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) [[ (PC) ]] (ADD 1 (CALL (SUB (CALLDATALOAD 0) 50000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 23 0 32 0 0)) (SELFDESTRUCT 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.SSTORE( - key=Op.PC, - value=Op.ADD( - 0x1, - Op.CALL( - gas=Op.SUB(Op.CALLDATALOAD(offset=0x0), 0xC350), - address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87, - value=0x17, - args_offset=0x0, - args_size=0x20, - ret_offset=0x0, - ret_size=0x0, - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.SSTORE( + key=Op.PC, + value=Op.ADD( + 0x1, + Op.CALL( + gas=Op.SUB(Op.CALLDATALOAD(offset=0x0), 0xC350), + address=0x95E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87, + value=0x17, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, ), - ) - + Op.SELFDESTRUCT( - address=0xF572E5295C57F15886F9B263E2F6D2D6C7B5EC6 - ) - + Op.STOP - ), + ), + ) + + Op.SELFDESTRUCT(address=0xF572E5295C57F15886F9B263E2F6D2D6C7B5EC6) + + Op.STOP, balance=23, nonce=0, - address=Address("0x945304eb96065b2a98b57a48a06ae28d285a71b5"), # noqa: E501 + address=Address(0x945304EB96065B2A98B57A48A06AE28D285A71B5), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(0x186A0), + Hash(0x486A0), + ] + tx_gas = [10000000] + tx_value = [100000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, - value=100000, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_0: Account(storage={}), + Address( + 0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6 + ): Account.NONEXISTENT, + contract_1: Account(storage={}, balance=23), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_balance_input_address_too_big.py b/tests/ported_static/stSystemOperationsTest/test_balance_input_address_too_big.py index f8297953abc..2f3fc8f2825 100644 --- a/tests/ported_static/stSystemOperationsTest/test_balance_input_address_too_big.py +++ b/tests/ported_static/stSystemOperationsTest/test_balance_input_address_too_big.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_balance_input_address_too_big. Ported from: -tests/static/state_tests/stSystemOperationsTest -balanceInputAddressTooBigFiller.json +state_tests/stSystemOperationsTest/balanceInputAddressTooBigFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/balanceInputAddressTooBigFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/balanceInputAddressTooBigFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_balance_input_address_too_big( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_balance_input_address_too_big.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,31 +48,30 @@ def test_balance_input_address_too_big( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (BALANCE aa ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.BALANCE( - address=0xEBAF50DEBF10E08302FE4280C32DF010463CA297AA, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.BALANCE( + address=0xEBAF50DEBF10E08302FE4280C32DF010463CA297AA + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7b25bef255e5917c960aef5ceb690dcaa1c9eff8"), # noqa: E501 + address=Address(0x7B25BEF255E5917C960AEF5CEB690DCAA1C9EFF8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call10.py b/tests/ported_static/stSystemOperationsTest/test_call10.py index f84e06a982f..340fbcfa9a7 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call10.py +++ b/tests/ported_static/stSystemOperationsTest/test_call10.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call10. Ported from: -tests/static/state_tests/stSystemOperationsTest/Call10Filler.json +state_tests/stSystemOperationsTest/Call10Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSystemOperationsTest/Call10Filler.json"], + ["state_tests/stSystemOperationsTest/Call10Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,12 +31,12 @@ def test_call10( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_call10.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + addr = Address(0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0) sender = EOA( key=0xE7C72B378297589ACEE4E0BA3272841BCFC5E220F86DE253F890274CFEE9E474 ) - callee = Address("0xd9b97c712ebce43f3c19179bbef44b550f9e8bc0") env = Environment( fee_recipient=coinbase, @@ -47,48 +48,44 @@ def test_call10( ) pre[sender] = Account(balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - pre[callee] = Account(balance=7000, nonce=0) - # Source: LLL + pre[addr] = Account(balance=7000) + # Source: lll # { (def 'i 0x80) (for {} (< @i 10) [i](+ @i 1) [[ 0 ]](CALL 0xfffffffffff 1 0 50000 0 0) ) [[ 1 ]] @i} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.JUMPDEST - + Op.JUMPI( - pc=0x42, - condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xA)), - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xFFFFFFFFFFF, - address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, - value=0x1, - args_offset=0x0, - args_size=0xC350, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) - + Op.JUMP(pc=0x0) - + Op.JUMPDEST - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPDEST + + Op.JUMPI( + pc=0x42, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x80), 0xA)) + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xFFFFFFFFFFF, + address=0xD9B97C712EBCE43F3C19179BBEF44B550F9E8BC0, + value=0x1, + args_offset=0x0, + args_size=0xC350, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x0) + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x80)) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xfda03fa18cbda0970e18071f363bea4c9c90dfb6"), # noqa: E501 + address=Address(0xFDA03FA18CBDA0970E18071F363BEA4C9C90DFB6), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, value=10, ) - post = { - contract: Account(storage={0: 1, 1: 10}), - } + post = {target: Account(storage={0: 1, 1: 10})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb0.py b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb0.py index dffecbe35f7..3935cafb05d 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb0.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_recursive_bomb0. Ported from: -tests/static/state_tests/stSystemOperationsTest/CallRecursiveBomb0Filler.json +state_tests/stSystemOperationsTest/CallRecursiveBomb0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/CallRecursiveBomb0Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/CallRecursiveBomb0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -33,8 +32,8 @@ def test_call_recursive_bomb0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_recursive_bomb0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,57 +47,57 @@ def test_call_recursive_bomb0( gas_limit=11000000000, ) - # Source: LLL + # Source: lll # { (CALL 100000000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x5F5E100, - address=0x783516813E6366B978F7101A6A12B4C8498B0283, - value=0x17, + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x5F5E100, + address=0x783516813E6366B978F7101A6A12B4C8498B0283, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0x77359400, + nonce=0, + address=Address(0x6904E15F2A58E4C22DBB37FFEB39AB1F64002EB4), # noqa: E501 + ) + # Source: lll + # { [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (CALL (- (GAS) 11000) (ADDRESS) 0 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0x2AF8), + address=Op.ADDRESS, + value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), - balance=0x77359400, - nonce=0, - address=Address("0x6904e15f2a58e4c22dbb37ffeb39ab1f64002eb4"), # noqa: E501 - ) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0x2AF8), - address=Op.ADDRESS, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x783516813e6366b978f7101a6a12b4c8498b0283"), # noqa: E501 + address=Address(0x783516813E6366B978F7101A6A12B4C8498B0283), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000000, - value=100000, + value=0x186A0, ) post = { - callee: Account(storage={0: 313, 1: 1}), + addr: Account(storage={0: 313, 1: 1}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb0_oog_at_max_call_depth.py b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb0_oog_at_max_call_depth.py index bef9f025177..7f5b0f97019 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb0_oog_at_max_call_depth.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb0_oog_at_max_call_depth.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_recursive_bomb0_oog_at_max_call_depth. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json +state_tests/stSystemOperationsTest/CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -34,8 +34,8 @@ def test_call_recursive_bomb0_oog_at_max_call_depth( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_recursive_bomb0_oog_at_max_call_depth.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,50 +49,45 @@ def test_call_recursive_bomb0_oog_at_max_call_depth( gas_limit=110000000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (+ (SLOAD 0) 1) [[ 2 ]] (MUL (DIV @@0 0x0402) 0xfffffffffffffffffff) [[ 1 ]] (CALL (- (GAS) 1024) (ADDRESS) 0 0 (MUL (DIV @@0 0x0402) 0xfffffffffffffffffff) 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x2, - value=Op.MUL( - Op.DIV(Op.SLOAD(key=0x0), 0x402), - 0xFFFFFFFFFFFFFFFFFFF, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x2, + value=Op.MUL( + Op.DIV(Op.SLOAD(key=0x0), 0x402), 0xFFFFFFFFFFFFFFFFFFF + ), + ) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0x400), + address=Op.ADDRESS, + value=0x0, + args_offset=0x0, + args_size=Op.MUL( + Op.DIV(Op.SLOAD(key=0x0), 0x402), 0xFFFFFFFFFFFFFFFFFFF ), - ) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0x400), - address=Op.ADDRESS, - value=0x0, - args_offset=0x0, - args_size=Op.MUL( - Op.DIV(Op.SLOAD(key=0x0), 0x402), - 0xFFFFFFFFFFFFFFFFFFF, - ), - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x44872316ef00e0cd82e980900e6b85077b65e32f"), # noqa: E501 + address=Address(0x44872316EF00E0CD82E980900E6B85077B65E32F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 749, 1: 1}), - } + post = {target: Account(storage={0: 749, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb1.py b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb1.py index 8d4449b8813..cec751bbdeb 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb1.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_recursive_bomb1. Ported from: -tests/static/state_tests/stSystemOperationsTest/CallRecursiveBomb1Filler.json +state_tests/stSystemOperationsTest/CallRecursiveBomb1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/CallRecursiveBomb1Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/CallRecursiveBomb1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -33,8 +32,8 @@ def test_call_recursive_bomb1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_recursive_bomb1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,40 +47,37 @@ def test_call_recursive_bomb1( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (CALL (- (GAS) 15000) (ADDRESS) 0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0x3A98), - address=Op.ADDRESS, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0x3A98), + address=Op.ADDRESS, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x3987ab80fa45389ce475fa3edd3d507bebc5ec3d"), # noqa: E501 + address=Address(0x3987AB80FA45389CE475FA3EDD3D507BEBC5EC3D), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=20622100, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 256, 1: 1}), - } + post = {target: Account(storage={0: 256, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb2.py b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb2.py index 72a9d9936c3..e17103ce953 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb2.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_recursive_bomb2. Ported from: -tests/static/state_tests/stSystemOperationsTest/CallRecursiveBomb2Filler.json +state_tests/stSystemOperationsTest/CallRecursiveBomb2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/CallRecursiveBomb2Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/CallRecursiveBomb2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -33,8 +32,8 @@ def test_call_recursive_bomb2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_recursive_bomb2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,40 +47,37 @@ def test_call_recursive_bomb2( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (CALL (- (GAS) 15000) (ADDRESS) 0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0x3A98), - address=Op.ADDRESS, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0x3A98), + address=Op.ADDRESS, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0x3987ab80fa45389ce475fa3edd3d507bebc5ec3d"), # noqa: E501 + address=Address(0x3987AB80FA45389CE475FA3EDD3D507BEBC5EC3D), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=20622099, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 256, 1: 1}), - } + post = {target: Account(storage={0: 256, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb3.py b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb3.py index c697459ec89..e0531ead56f 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb3.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_recursive_bomb3. Ported from: -tests/static/state_tests/stSystemOperationsTest/CallRecursiveBomb3Filler.json +state_tests/stSystemOperationsTest/CallRecursiveBomb3Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/CallRecursiveBomb3Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/CallRecursiveBomb3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_recursive_bomb3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_recursive_bomb3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,40 +46,37 @@ def test_call_recursive_bomb3( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (CALL (- (GAS) 224) (ADDRESS) 0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0xE0), - address=Op.ADDRESS, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0xE0), + address=Op.ADDRESS, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0x1312D00, nonce=0, - address=Address("0xbaa8243d50fddb48abd93764bbd97972dc654f67"), # noqa: E501 + address=Address(0xBAA8243D50FDDB48ABD93764BBD97972DC654F67), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 18, 1: 1}), - } + post = {target: Account(storage={0: 18, 1: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb_log.py b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb_log.py index 6d21090171d..6c1225f090a 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb_log.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb_log.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_recursive_bomb_log. Ported from: -tests/static/state_tests/stSystemOperationsTest/CallRecursiveBombLogFiller.json +state_tests/stSystemOperationsTest/CallRecursiveBombLogFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/CallRecursiveBombLogFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/CallRecursiveBombLogFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -33,8 +32,8 @@ def test_call_recursive_bomb_log( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_recursive_bomb_log.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,62 +47,62 @@ def test_call_recursive_bomb_log( gas_limit=100000000000, ) - callee = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.LOG0(offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0x61A8), - address=Op.ADDRESS, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (CALL 100000000 23 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x5F5E100, + address=0x5FE917D1EF791E524F7CB24CD012B5E5EC17000C, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0x1312D00, nonce=0, - address=Address("0x5fe917d1ef791e524f7cb24cd012b5e5ec17000c"), # noqa: E501 + address=Address(0xD2E8FBE36BD16B24A1D34E4C06EC0741BD71C452), # noqa: E501 ) - # Source: LLL - # { (CALL 100000000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x5F5E100, - address=0x5FE917D1EF791E524F7CB24CD012B5E5EC17000C, - value=0x17, + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (CALL (- (GAS) 25000) (ADDRESS) 0 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG0(offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0x61A8), + address=Op.ADDRESS, + value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), - balance=0x1312D00, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd2e8fbe36bd16b24a1d34e4c06ec0741bd71c452"), # noqa: E501 + address=Address(0x5FE917D1EF791E524F7CB24CD012B5E5EC17000C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000000, - value=100000, + value=0x186A0, ) post = { - callee: Account(storage={0: 321, 1: 1}), + addr: Account(storage={0: 321, 1: 1}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb_log2.py b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb_log2.py index a8b097ff5f0..6ab13415fc4 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb_log2.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_recursive_bomb_log2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_recursive_bomb_log2. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallRecursiveBombLog2Filler.json +state_tests/stSystemOperationsTest/CallRecursiveBombLog2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/CallRecursiveBombLog2Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/CallRecursiveBombLog2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.valid_until("Prague") @@ -34,8 +32,8 @@ def test_call_recursive_bomb_log2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_recursive_bomb_log2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -49,59 +47,59 @@ def test_call_recursive_bomb_log2( gas_limit=11000000000, ) - callee = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.GAS) - + Op.LOG0(offset=0x0, size=0x20) - + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=Op.SUB(Op.GAS, 0x61A8), - address=Op.ADDRESS, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), - balance=0xDE0B6B3A7640000, + # Source: lll + # { (CALL 100000000 23 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x5F5E100, + address=0x4F046F9952C30DE8430278A978358E998784A4CA, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0x1312D00, nonce=0, - address=Address("0x4f046f9952c30de8430278a978358e998784a4ca"), # noqa: E501 + address=Address(0xD2E8FBE36BD16B24A1D34E4C06EC0741BD71C452), # noqa: E501 ) - # Source: LLL - # { (CALL 100000000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x5F5E100, - address=0x4F046F9952C30DE8430278A978358E998784A4CA, - value=0x17, + # Source: lll + # { (MSTORE 0 (GAS)) (LOG0 0 32) [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (CALL (- (GAS) 25000) (ADDRESS) 0 0 0 0 0) } # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.GAS) + + Op.LOG0(offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=Op.ADD(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=Op.SUB(Op.GAS, 0x61A8), + address=Op.ADDRESS, + value=0x0, args_offset=0x0, args_size=0x0, ret_offset=0x0, ret_size=0x0, - ) - + Op.STOP - ), - balance=0x1312D00, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xd2e8fbe36bd16b24a1d34e4c06ec0741bd71c452"), # noqa: E501 + address=Address(0x4F046F9952C30DE8430278A978358E998784A4CA), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000000, - value=100000, + value=0x186A0, ) post = { - callee: Account(storage={0: 322, 1: 1}), + addr: Account(storage={0: 322, 1: 1}), + sender: Account(nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator0.py b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator0.py index 678c051412b..771235eeab1 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator0.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_name_registrator0. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToNameRegistrator0Filler.json +state_tests/stSystemOperationsTest/CallToNameRegistrator0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/CallToNameRegistrator0Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/CallToNameRegistrator0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_call_to_name_registrator0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_name_registrator0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,70 +46,60 @@ def test_call_to_name_registrator0( gas_limit=10000000, ) - # Source: raw bytecode - callee = pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=23, + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 100000 23 0 64 64 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x186A0, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + value=0x17, + args_offset=0x0, + args_size=0x40, + ret_offset=0x40, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0xF32CBF847E357D4AC1A41D8202AA2EE516DC32D1), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL - # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 100000 23 0 64 64 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x186A0, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - value=0x17, - args_offset=0x0, - args_size=0x40, - ret_offset=0x40, - ret_size=0x0, - ), - ) - + Op.STOP + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=23, nonce=0, - address=Address("0xf32cbf847e357d4ac1a41d8202aa2ee516dc32d1"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post = { - callee: Account( - storage={ - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF: 0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - }, - ), - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_address_too_big_left.py b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_address_too_big_left.py index c48564d45f5..72ab989003a 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_address_too_big_left.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_address_too_big_left.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_name_registrator_address_too_big_left. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToNameRegistratorAddressTooBigLeftFiller.json +state_tests/stSystemOperationsTest/CallToNameRegistratorAddressTooBigLeftFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToNameRegistratorAddressTooBigLeftFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToNameRegistratorAddressTooBigLeftFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,11 @@ def test_call_to_name_registrator_address_too_big_left( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_name_registrator_address_too_big_left.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) - contract = Address("0xc8266873d1c906e93364246e671c3d9802aabe37") env = Environment( fee_recipient=coinbase, @@ -49,34 +48,40 @@ def test_call_to_name_registrator_address_too_big_left( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 1000 0xaa 23 0 64 64 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code="", + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0xC8266873D1C906E93364246E671C3D9802AABE37), # noqa: E501 + ) + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=23, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) - pre[contract] = Account(balance=0xDE0B6B3A7640000, nonce=0) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_address_too_big_right.py b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_address_too_big_right.py index 2650732be0c..e145368f9a1 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_address_too_big_right.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_address_too_big_right.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_name_registrator_address_too_big_right. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToNameRegistratorAddressTooBigRightFiller.json +state_tests/stSystemOperationsTest/CallToNameRegistratorAddressTooBigRightFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToNameRegistratorAddressTooBigRightFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToNameRegistratorAddressTooBigRightFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_to_name_registrator_address_too_big_right( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_name_registrator_address_too_big_right.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,65 +48,60 @@ def test_call_to_name_registrator_address_too_big_right( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=23, + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 1000 aa 23 0 64 64 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27EAA, + value=0x17, + args_offset=0x0, + args_size=0x40, + ret_offset=0x40, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x2308DA9C42E252155BAED45BCA437EF6CF3FB0B2), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 1000 aa 23 0 64 64 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27EAA, - value=0x17, - args_offset=0x0, - args_size=0x40, - ret_offset=0x40, - ret_size=0x0, - ), - ) - + Op.STOP + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=23, nonce=0, - address=Address("0x2308da9c42e252155baed45bca437ef6cf3fb0b2"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_mem_oog_and_insufficient_balance.py b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_mem_oog_and_insufficient_balance.py index ab27c3d69c6..fc2cb7a07ef 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_mem_oog_and_insufficient_balance.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_mem_oog_and_insufficient_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_name_registrator_mem_oog_and_insufficient_balance. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToNameRegistratorMemOOGAndInsufficientBalanceFiller.json +state_tests/stSystemOperationsTest/CallToNameRegistratorMemOOGAndInsufficientBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToNameRegistratorMemOOGAndInsufficientBalanceFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToNameRegistratorMemOOGAndInsufficientBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_to_name_registrator_mem_oog_and_insufficient_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_name_registrator_mem_oog_and_insufficient_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,63 +48,60 @@ def test_call_to_name_registrator_mem_oog_and_insufficient_balance( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=23, + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 0xffffffffff 23 0 0xffffffffffff 64 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0xFFFFFFFFFF, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + value=0x17, + args_offset=0x0, + args_size=0xFFFFFFFFFFFF, + ret_offset=0x40, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x74859A27DC2F1EE153CF9B4E4BAC1133F3B01B17), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 0xffffffffff 23 0 0xffffffffffff 64 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0xFFFFFFFFFF, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - value=0x17, - args_offset=0x0, - args_size=0xFFFFFFFFFFFF, - ret_offset=0x40, - ret_size=0x0, - ), - ) - + Op.STOP + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=23, nonce=0, - address=Address("0x74859a27dc2f1ee153cf9b4e4bac1133f3b01b17"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_not_much_memory0.py b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_not_much_memory0.py index 47cbcd4bed0..789935362f5 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_not_much_memory0.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_not_much_memory0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_name_registrator_not_much_memory0. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToNameRegistratorNotMuchMemory0Filler.json +state_tests/stSystemOperationsTest/CallToNameRegistratorNotMuchMemory0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToNameRegistratorNotMuchMemory0Filler.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToNameRegistratorNotMuchMemory0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_to_name_registrator_not_much_memory0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_name_registrator_not_much_memory0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,63 +48,60 @@ def test_call_to_name_registrator_not_much_memory0( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=23, + # Source: lll + # { (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 23 0 64 987654 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1F4, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + value=0x17, + args_offset=0x0, + args_size=0x40, + ret_offset=0xF1206, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x410DCC04FB8FC328D8EB131B4D9EA4204FBDAF2F), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 23 0 64 987654 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1F4, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - value=0x17, - args_offset=0x0, - args_size=0x40, - ret_offset=0xF1206, - ret_size=0x0, - ), - ) - + Op.STOP + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=23, nonce=0, - address=Address("0x410dcc04fb8fc328d8eb131b4d9ea4204fbdaf2f"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_not_much_memory1.py b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_not_much_memory1.py index 11400a83510..fec6734b3a1 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_not_much_memory1.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_not_much_memory1.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_name_registrator_not_much_memory1. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToNameRegistratorNotMuchMemory1Filler.json +state_tests/stSystemOperationsTest/CallToNameRegistratorNotMuchMemory1Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToNameRegistratorNotMuchMemory1Filler.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToNameRegistratorNotMuchMemory1Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_to_name_registrator_not_much_memory1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_name_registrator_not_much_memory1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,63 +48,60 @@ def test_call_to_name_registrator_not_much_memory1( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=23, + # Source: lll + # { (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 23 987654 0 64 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1F4, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + value=0x17, + args_offset=0xF1206, + args_size=0x0, + ret_offset=0x40, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x8E2AF1ED48CB5567A2BC09CDE959DC7B5E5557BA), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 23 987654 0 64 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1F4, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - value=0x17, - args_offset=0xF1206, - args_size=0x0, - ret_offset=0x40, - ret_size=0x0, - ), - ) - + Op.STOP + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=23, nonce=0, - address=Address("0x8e2af1ed48cb5567a2bc09cde959dc7b5e5557ba"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=290000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_out_of_gas.py b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_out_of_gas.py index c88eb6cef88..33032494655 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_out_of_gas.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_out_of_gas.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_name_registrator_out_of_gas. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToNameRegistratorOutOfGasFiller.json +state_tests/stSystemOperationsTest/CallToNameRegistratorOutOfGasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToNameRegistratorOutOfGasFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToNameRegistratorOutOfGasFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_to_name_registrator_out_of_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_name_registrator_out_of_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,63 +48,60 @@ def test_call_to_name_registrator_out_of_gas( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=23, + # Source: lll + # { (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 100 23 0 64 64 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x64, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + value=0x17, + args_offset=0x0, + args_size=0x40, + ret_offset=0x40, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x9B360D4F319B3F0A24F02939650CF93BBDB82022), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 100 23 0 64 64 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x64, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - value=0x17, - args_offset=0x0, - args_size=0x40, - ret_offset=0x40, - ret_size=0x0, - ), - ) - + Op.STOP + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=23, nonce=0, - address=Address("0x9b360d4f319b3f0a24f02939650cf93bbdb82022"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory0.py b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory0.py index d955454bc22..e0b931163fd 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory0.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_name_registrator_too_much_memory0. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToNameRegistratorTooMuchMemory0Filler.json +state_tests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory0Filler.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_to_name_registrator_too_much_memory0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_name_registrator_too_much_memory0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,63 +48,60 @@ def test_call_to_name_registrator_too_much_memory0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 23 987654321 64 64 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1F4, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - value=0x17, - args_offset=0x3ADE68B1, - args_size=0x40, - ret_offset=0x40, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1F4, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + value=0x17, + args_offset=0x3ADE68B1, + args_size=0x40, + ret_offset=0x40, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x00154ef29a79f34cf1b7a570c5df358eb7cd5108"), # noqa: E501 + address=Address(0x00154EF29A79F34CF1B7A570C5DF358EB7CD5108), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=23, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory1.py b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory1.py index 9d5b8db34c2..fd2999e5e28 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory1.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory1.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_name_registrator_too_much_memory1. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToNameRegistratorTooMuchMemory1Filler.json +state_tests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory1Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory1Filler.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory1Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_to_name_registrator_too_much_memory1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_name_registrator_too_much_memory1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,63 +48,60 @@ def test_call_to_name_registrator_too_much_memory1( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=23, + # Source: lll + # { (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 23 0 9865432 64 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1F4, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + value=0x17, + args_offset=0x0, + args_size=0x9688D8, + ret_offset=0x40, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x375D9C49DD17C920398B81BA030BF150BC16AF59), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 23 0 9865432 64 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1F4, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - value=0x17, - args_offset=0x0, - args_size=0x9688D8, - ret_offset=0x40, - ret_size=0x0, - ), - ) - + Op.STOP + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=23, nonce=0, - address=Address("0x375d9c49dd17c920398b81ba030bf150bc16af59"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory2.py b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory2.py index c5b71d3f7f1..26d1a537adf 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory2.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_too_much_memory2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_name_registrator_too_much_memory2. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToNameRegistratorTooMuchMemory2Filler.json +state_tests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory2Filler.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_to_name_registrator_too_much_memory2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_name_registrator_too_much_memory2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,63 +48,60 @@ def test_call_to_name_registrator_too_much_memory2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 23 0 64 987654 1) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1F4, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - value=0x17, - args_offset=0x0, - args_size=0x40, - ret_offset=0xF1206, - ret_size=0x1, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1F4, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + value=0x17, + args_offset=0x0, + args_size=0x40, + ret_offset=0xF1206, + ret_size=0x1, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x12798480f9b1e6534f2d528f84ef12bda7f49a71"), # noqa: E501 + address=Address(0x12798480F9B1E6534F2D528F84EF12BDA7F49A71), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=23, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_zeor_size_mem_expansion.py b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_zeor_size_mem_expansion.py index 262083a4f3b..310aba43cc6 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_zeor_size_mem_expansion.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_name_registrator_zeor_size_mem_expansion.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_name_registrator_zeor_size_mem_expansion. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToNameRegistratorZeorSizeMemExpansionFiller.json +state_tests/stSystemOperationsTest/CallToNameRegistratorZeorSizeMemExpansionFiller.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,34 +28,38 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToNameRegistratorZeorSizeMemExpansionFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToNameRegistratorZeorSizeMemExpansionFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - ( - 500000, - { - Address("0x04c4cbdf0b0877c4619b10524dc13744ee0b69f6"): Account( - storage={0: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), - (50000, {}), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_call_to_name_registrator_zeor_size_mem_expansion( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_name_registrator_zeor_size_mem_expansion.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -65,63 +73,80 @@ def test_call_to_name_registrator_zeor_size_mem_expansion( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 5000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1388, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1388, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x04c4cbdf0b0877c4619b10524dc13744ee0b69f6"), # noqa: E501 + address=Address(0x04C4CBDF0B0877C4619B10524DC13744EE0B69F6), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=23, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1}, nonce=0)}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={}, nonce=0)}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [500000, 50000] + tx_value = [100000] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_return1.py b/tests/ported_static/stSystemOperationsTest/test_call_to_return1.py index 93940fd2e30..32450e9fb9b 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_return1.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_return1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_to_return1. Ported from: -tests/static/state_tests/stSystemOperationsTest/CallToReturn1Filler.json +state_tests/stSystemOperationsTest/CallToReturn1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/CallToReturn1Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/CallToReturn1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_call_to_return1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_return1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,49 +46,47 @@ def test_call_to_return1( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x1F, value=0x2A) - + Op.RETURN(offset=0x1F, size=0x1) - ), - balance=23, - nonce=0, - address=Address("0x64963d42a3dff7bf49ce946e12f6c9034c746888"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALL 1000 23 0 0 31 1) [[ 1 ]] @0 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x64963D42A3DFF7BF49CE946E12F6C9034C746888, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x1F, - ret_size=0x1, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x64963D42A3DFF7BF49CE946E12F6C9034C746888, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x1F, + ret_size=0x1, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xe31afa4922f77f6c0ec198294b373d2ab9de47d2"), # noqa: E501 + address=Address(0xE31AFA4922F77F6C0EC198294B373D2AB9DE47D2), # noqa: E501 + ) + # Source: raw + # 0x6001600155602a601f536001601ff3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x1F, value=0x2A) + + Op.RETURN(offset=0x1F, size=0x1), + balance=23, + nonce=0, + address=Address(0x64963D42A3DFF7BF49CE946E12F6C9034C746888), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_return1_for_dynamic_jump0.py b/tests/ported_static/stSystemOperationsTest/test_call_to_return1_for_dynamic_jump0.py index 0e943645b14..4e9b48bd915 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_return1_for_dynamic_jump0.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_return1_for_dynamic_jump0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_return1_for_dynamic_jump0. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToReturn1ForDynamicJump0Filler.json +state_tests/stSystemOperationsTest/CallToReturn1ForDynamicJump0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToReturn1ForDynamicJump0Filler.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToReturn1ForDynamicJump0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_to_return1_for_dynamic_jump0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_return1_for_dynamic_jump0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,49 +48,48 @@ def test_call_to_return1_for_dynamic_jump0( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x1F, value=0x2A) - + Op.RETURN(offset=0x1F, size=0x1) - ), - balance=23, + # Source: raw + # 0x6001601f600060006017736103e8f1600055600051565b6023602355 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0x64963D42A3DFF7BF49CE946E12F6C9034C746888, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x1F, + ret_size=0x1, + ), + ) + + Op.JUMP(pc=Op.MLOAD(offset=0x0)) + + Op.JUMPDEST + + Op.SSTORE(key=0x23, value=0x23), + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x64963d42a3dff7bf49ce946e12f6c9034c746888"), # noqa: E501 + address=Address(0x6D968BCF609007EC874B2AC0216C27E131C3BE4C), # noqa: E501 ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0x64963D42A3DFF7BF49CE946E12F6C9034C746888, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x1F, - ret_size=0x1, - ), - ) - + Op.JUMP(pc=Op.MLOAD(offset=0x0)) - + Op.JUMPDEST - + Op.SSTORE(key=0x23, value=0x23) - ), - balance=0xDE0B6B3A7640000, + # Source: raw + # 0x6001600155602a601f536001601ff3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x1F, value=0x2A) + + Op.RETURN(offset=0x1F, size=0x1), + balance=23, nonce=0, - address=Address("0x6d968bcf609007ec874b2ac0216c27e131c3be4c"), # noqa: E501 + address=Address(0x64963D42A3DFF7BF49CE946E12F6C9034C746888), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_to_return1_for_dynamic_jump1.py b/tests/ported_static/stSystemOperationsTest/test_call_to_return1_for_dynamic_jump1.py index 202bf0c4df1..9b20b5dff92 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_to_return1_for_dynamic_jump1.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_to_return1_for_dynamic_jump1.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_call_to_return1_for_dynamic_jump1. Ported from: -tests/static/state_tests/stSystemOperationsTest -CallToReturn1ForDynamicJump1Filler.json +state_tests/stSystemOperationsTest/CallToReturn1ForDynamicJump1Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/CallToReturn1ForDynamicJump1Filler.json", # noqa: E501 + "state_tests/stSystemOperationsTest/CallToReturn1ForDynamicJump1Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_call_to_return1_for_dynamic_jump1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_to_return1_for_dynamic_jump1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,49 +48,48 @@ def test_call_to_return1_for_dynamic_jump1( gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x3E8, - address=0xD43411A40A68E9CBA15440E3C34A74A4DC5F79DD, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x1F, - ret_size=0x1, - ), - ) - + Op.JUMP(pc=Op.MLOAD(offset=0x0)) - + Op.PUSH1[0x5B] - + Op.SSTORE(key=0x23, value=0x23) - ), + # Source: raw + # 0x6001601f600060006017736103e8f160005560005156605b6023602355 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x3E8, + address=0xD43411A40A68E9CBA15440E3C34A74A4DC5F79DD, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x1F, + ret_size=0x1, + ), + ) + + Op.JUMP(pc=Op.MLOAD(offset=0x0)) + + Op.PUSH1[0x5B] + + Op.SSTORE(key=0x23, value=0x23), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x7bc307ec814ce37f4553993ac5612b763f18165d"), # noqa: E501 + address=Address(0x7BC307EC814CE37F4553993AC5612B763F18165D), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x1F, value=0x2B) - + Op.RETURN(offset=0x1F, size=0x1) - ), + # Source: raw + # 0x6001600155602b601f536001601ff3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x1F, value=0x2B) + + Op.RETURN(offset=0x1F, size=0x1), balance=23, nonce=0, - address=Address("0xd43411a40a68e9cba15440e3c34a74a4dc5f79dd"), # noqa: E501 + address=Address(0xD43411A40A68E9CBA15440E3C34A74A4DC5F79DD), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_call_value.py b/tests/ported_static/stSystemOperationsTest/test_call_value.py index 447b1f3e536..2a1cfb7f123 100644 --- a/tests/ported_static/stSystemOperationsTest/test_call_value.py +++ b/tests/ported_static/stSystemOperationsTest/test_call_value.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_call_value. Ported from: -tests/static/state_tests/stSystemOperationsTest/callValueFiller.json +state_tests/stSystemOperationsTest/callValueFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSystemOperationsTest/callValueFiller.json"], + ["state_tests/stSystemOperationsTest/callValueFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_call_value( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_call_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,25 +46,24 @@ def test_call_value( gas_limit=100000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[0]] (CALLVALUE) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.CALLVALUE) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xf7cf560ccb3853b2d9e5c4a647fb7cc7c7f935d3"), # noqa: E501 + address=Address(0xF7CF560CCB3853B2D9E5C4A647FB7CC7C7F935D3), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 0x186A0}), - } + post = {target: Account(storage={0: 0x186A0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_callcode_to0.py b/tests/ported_static/stSystemOperationsTest/test_callcode_to0.py index b083ec8b742..0d9c13b1cf8 100644 --- a/tests/ported_static/stSystemOperationsTest/test_callcode_to0.py +++ b/tests/ported_static/stSystemOperationsTest/test_callcode_to0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_to0. Ported from: -tests/static/state_tests/stSystemOperationsTest/callcodeTo0Filler.json +state_tests/stSystemOperationsTest/callcodeTo0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSystemOperationsTest/callcodeTo0Filler.json"], + ["state_tests/stSystemOperationsTest/callcodeTo0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_callcode_to0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_to0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,39 +46,36 @@ def test_callcode_to0( gas_limit=30000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[ 0 ]] (CALLCODE 50000 0 1 0 0 0 0) } - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC350, - address=0x0, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC350, + address=0x0, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xec64b74b6af4b537e54de566819d04d55f6e8cd9"), # noqa: E501 + address=Address(0xEC64B74B6AF4B537E54DE566819D04D55F6E8CD9), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator0.py b/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator0.py index 61828fcfaed..e4d2c631b57 100644 --- a/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator0.py +++ b/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_to_name_registrator0. Ported from: -tests/static/state_tests/stSystemOperationsTest -callcodeToNameRegistrator0Filler.json +state_tests/stSystemOperationsTest/callcodeToNameRegistrator0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/callcodeToNameRegistrator0Filler.json", # noqa: E501 + "state_tests/stSystemOperationsTest/callcodeToNameRegistrator0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_to_name_registrator0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_to_name_registrator0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,63 +48,60 @@ def test_callcode_to_name_registrator0( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=23, + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLCODE 1000 23 0 64 64 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x3E8, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + value=0x17, + args_offset=0x0, + args_size=0x40, + ret_offset=0x40, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0xC390A3ED1719280F32A2A74CBB1F8A3E7B1F002E), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLCODE 1000 23 0 64 64 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x3E8, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - value=0x17, - args_offset=0x0, - args_size=0x40, - ret_offset=0x40, - ret_size=0x0, - ), - ) - + Op.STOP + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=23, nonce=0, - address=Address("0xc390a3ed1719280f32a2a74cbb1f8a3e7b1f002e"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_addres_too_big_left.py b/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_addres_too_big_left.py index 52c0e6bb4ff..fd7d66b197a 100644 --- a/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_addres_too_big_left.py +++ b/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_addres_too_big_left.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_to_name_registrator_addres_too_big_left. Ported from: -tests/static/state_tests/stSystemOperationsTest -callcodeToNameRegistratorAddresTooBigLeftFiller.json +state_tests/stSystemOperationsTest/callcodeToNameRegistratorAddresTooBigLeftFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/callcodeToNameRegistratorAddresTooBigLeftFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/callcodeToNameRegistratorAddresTooBigLeftFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,11 @@ def test_callcode_to_name_registrator_addres_too_big_left( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_to_name_registrator_addres_too_big_left.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) - contract = Address("0xcf5a2a9c286222b44bb932d847c4e05a2353b673") env = Environment( fee_recipient=coinbase, @@ -49,34 +48,40 @@ def test_callcode_to_name_registrator_addres_too_big_left( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLCODE 1000 0xaa 23 0 64 64 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code="", + balance=0xDE0B6B3A7640000, + nonce=0, + address=Address(0xCF5A2A9C286222B44BB932D847C4E05A2353B673), # noqa: E501 + ) + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=23, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) - pre[contract] = Account(balance=0xDE0B6B3A7640000, nonce=0) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_addres_too_big_right.py b/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_addres_too_big_right.py index bff88c0a889..af2439075a1 100644 --- a/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_addres_too_big_right.py +++ b/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_addres_too_big_right.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_to_name_registrator_addres_too_big_right. Ported from: -tests/static/state_tests/stSystemOperationsTest -callcodeToNameRegistratorAddresTooBigRightFiller.json +state_tests/stSystemOperationsTest/callcodeToNameRegistratorAddresTooBigRightFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/callcodeToNameRegistratorAddresTooBigRightFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/callcodeToNameRegistratorAddresTooBigRightFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_callcode_to_name_registrator_addres_too_big_right( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_to_name_registrator_addres_too_big_right.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,65 +48,60 @@ def test_callcode_to_name_registrator_addres_too_big_right( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=23, + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLCODE 1000 aa 23 0 64 64 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x3E8, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27EAA, + value=0x17, + args_offset=0x0, + args_size=0x40, + ret_offset=0x40, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0xC8DE9EA9779E64CF3E682F2157A7D38205AF9444), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLCODE 1000 aa 23 0 64 64 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x3E8, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27EAA, - value=0x17, - args_offset=0x0, - args_size=0x40, - ret_offset=0x40, - ret_size=0x0, - ), - ) - + Op.STOP + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=23, nonce=0, - address=Address("0xc8de9ea9779e64cf3e682f2157a7d38205af9444"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1}), - } + post = {target: Account(storage={0: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_zero_mem_expanion.py b/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_zero_mem_expanion.py index 1e3d7f98784..ce8e642f657 100644 --- a/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_zero_mem_expanion.py +++ b/tests/ported_static/stSystemOperationsTest/test_callcode_to_name_registrator_zero_mem_expanion.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_callcode_to_name_registrator_zero_mem_expanion. Ported from: -tests/static/state_tests/stSystemOperationsTest -callcodeToNameRegistratorZeroMemExpanionFiller.json +state_tests/stSystemOperationsTest/callcodeToNameRegistratorZeroMemExpanionFiller.json """ import pytest @@ -12,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,34 +28,38 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/callcodeToNameRegistratorZeroMemExpanionFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/callcodeToNameRegistratorZeroMemExpanionFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (50000, {}), - ( - 1000000, - { - Address("0x82f454dea4d0958bced42315a0e580848b2c440c"): Account( - storage={0: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_callcode_to_name_registrator_zero_mem_expanion( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_to_name_registrator_zero_mem_expanion.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -65,63 +73,80 @@ def test_callcode_to_name_registrator_zero_mem_expanion( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) - ), - balance=23, + # Source: lll + # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLCODE 5000 23 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x1388, + address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.STOP, + balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x15eb18969e0925c8e4a76fd7cbce36a2b056b27e"), # noqa: E501 + address=Address(0x82F454DEA4D0958BCED42315A0E580848B2C440C), # noqa: E501 ) - # Source: LLL - # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLCODE 5000 23 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x1388, - address=0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E, - value=0x17, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.STOP + # Source: raw + # 0x6000355415600957005b60203560003555 + addr = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), - balance=0xDE0B6B3A7640000, + balance=23, nonce=0, - address=Address("0x82f454dea4d0958bced42315a0e580848b2c440c"), # noqa: E501 + address=Address(0x15EB18969E0925C8E4A76FD7CBCE36A2B056B27E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={})}, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {target: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [50000, 1000000] + tx_value = [100000] + tx = Transaction( sender=sender, - to=contract, - gas_limit=tx_gas_limit, - value=100000, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_callcode_to_return1.py b/tests/ported_static/stSystemOperationsTest/test_callcode_to_return1.py index 59433de972f..1096f97d7a0 100644 --- a/tests/ported_static/stSystemOperationsTest/test_callcode_to_return1.py +++ b/tests/ported_static/stSystemOperationsTest/test_callcode_to_return1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callcode_to_return1. Ported from: -tests/static/state_tests/stSystemOperationsTest/callcodeToReturn1Filler.json +state_tests/stSystemOperationsTest/callcodeToReturn1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/callcodeToReturn1Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/callcodeToReturn1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callcode_to_return1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callcode_to_return1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,58 +46,54 @@ def test_callcode_to_return1( gas_limit=30000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - ), - balance=23, - nonce=0, - address=Address("0x0896f13e800125c0ccec44f3c434335f0a97bc1b"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLCODE 50000 23 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0xC350, - address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, - value=0x17, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0xC350, + address=0x896F13E800125C0CCEC44F3C434335F0A97BC1B, + value=0x17, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8b09c7ab22e22458d6dc0756d12127e14cbd6a50"), # noqa: E501 + address=Address(0x8B09C7AB22E22458D6DC0756D12127E14CBD6A50), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f3 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2), + balance=23, + nonce=0, + address=Address(0x0896F13E800125C0CCEC44F3C434335F0A97BC1B), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 1, 1: 1}), - } + post = {target: Account(storage={0: 1, 1: 1}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_caller_account_balance.py b/tests/ported_static/stSystemOperationsTest/test_caller_account_balance.py index 4614ae77ff9..f4da1bef24e 100644 --- a/tests/ported_static/stSystemOperationsTest/test_caller_account_balance.py +++ b/tests/ported_static/stSystemOperationsTest/test_caller_account_balance.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_caller_account_balance. Ported from: -tests/static/state_tests/stSystemOperationsTest/callerAccountBalanceFiller.json +state_tests/stSystemOperationsTest/callerAccountBalanceFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/callerAccountBalanceFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/callerAccountBalanceFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_caller_account_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_caller_account_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,25 +46,24 @@ def test_caller_account_balance( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { [[0]] (balance (caller)) } - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.BALANCE(address=Op.CALLER)) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x13ab36baf5501d0a3c5cd05be4788496f99a4e34"), # noqa: E501 + address=Address(0x13AB36BAF5501D0A3C5CD05BE4788496F99A4E34), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 0xDE0B6B3A16C9860}), - } + post = {target: Account(storage={0: 0xDE0B6B3A16C9860})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_callto_return2.py b/tests/ported_static/stSystemOperationsTest/test_callto_return2.py index d82eb6156ef..1397ed5e9b9 100644 --- a/tests/ported_static/stSystemOperationsTest/test_callto_return2.py +++ b/tests/ported_static/stSystemOperationsTest/test_callto_return2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_callto_return2. Ported from: -tests/static/state_tests/stSystemOperationsTest/CalltoReturn2Filler.json +state_tests/stSystemOperationsTest/CalltoReturn2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/CalltoReturn2Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/CalltoReturn2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_callto_return2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_callto_return2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,58 +46,56 @@ def test_callto_return2( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.MSTORE8(offset=0x0, value=0x37) - + Op.PUSH1[0x2] - + Op.PUSH1[0x0] - + Op.CALLCODE - ), - balance=23, - nonce=0, - address=Address("0x2b45331c406df38b99656c3ed3a97ef219979232"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 5000 23 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=0x1388, - address=0x2B45331C406DF38B99656C3ED3A97EF219979232, - value=0x17, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALL( + gas=0x1388, + address=0x2B45331C406DF38B99656C3ED3A97EF219979232, + value=0x17, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xbd44c6eb4f918aa9ab1da6bca875839b1250e4e9"), # noqa: E501 + address=Address(0xBD44C6EB4F918AA9AB1DA6BCA875839B1250E4E9), # noqa: E501 + ) + # Source: raw + # 0x6001600155603760005360026000f2 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.MSTORE8(offset=0x0, value=0x37) + + Op.PUSH1[0x2] + + Op.PUSH1[0x0] + + Op.CALLCODE, + balance=23, + nonce=0, + address=Address(0x2B45331C406DF38B99656C3ED3A97EF219979232), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={0: 0}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_create_hash_collision.py b/tests/ported_static/stSystemOperationsTest/test_create_hash_collision.py index f9564933666..347dbd520fb 100644 --- a/tests/ported_static/stSystemOperationsTest/test_create_hash_collision.py +++ b/tests/ported_static/stSystemOperationsTest/test_create_hash_collision.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_hash_collision. Ported from: -tests/static/state_tests/stSystemOperationsTest/CreateHashCollisionFiller.json +state_tests/stSystemOperationsTest/CreateHashCollisionFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/CreateHashCollisionFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/CreateHashCollisionFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,10 @@ def test_create_hash_collision( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_hash_collision.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) + contract_1 = Address(0xD2571607E241ECF590ED94B12D87C94BABE36DB6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,40 +48,46 @@ def test_create_hash_collision( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f3006000355415600957005b60203560003555) [[ 0 ]] (CREATE 23 3 29) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F3006000355415600957005B60203560003555, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE(value=0x17, offset=0x3, size=0x1D), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F3006000355415600957005B60203560003555, + ) + + Op.SSTORE( + key=0x0, value=Op.CREATE(value=0x17, offset=0x3, size=0x1D) + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - pre.deploy_contract( + # Source: raw + # 0x60016001016055 + contract_1 = pre.deploy_contract( # noqa: F841 code=Op.ADD(0x1, 0x1) + Op.PUSH1[0x55], balance=42, nonce=0, - address=Address("0xd2571607e241ecf590ed94b12d87c94babe36db6"), # noqa: E501 + address=Address(0xD2571607E241ECF590ED94B12D87C94BABE36DB6), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + contract_0: Account(storage={0: 0}), + contract_1: Account( + storage={}, + code=bytes.fromhex("60016001016055"), + balance=42, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator.py b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator.py index d84bae33476..acef43618f1 100644 --- a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator.py +++ b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_name_registrator. Ported from: -tests/static/state_tests/stSystemOperationsTest -createNameRegistratorFiller.json +state_tests/stSystemOperationsTest/createNameRegistratorFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/createNameRegistratorFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/createNameRegistratorFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,9 @@ def test_create_name_registrator( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_name_registrator.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,36 +47,35 @@ def test_create_name_registrator( gas_limit=100000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f3006000355415600957005b60203560003555) [[ 0 ]] (CREATE 23 3 29) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F3006000355415600957005B60203560003555, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE(value=0x17, offset=0x3, size=0x1D), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F3006000355415600957005B60203560003555, + ) + + Op.SSTORE( + key=0x0, value=Op.CREATE(value=0x17, offset=0x3, size=0x1D) + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + nonce=1, ), } diff --git a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_oog_mem_expansion_oov.py b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_oog_mem_expansion_oov.py index a245a38c295..9ab05eb2347 100644 --- a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_oog_mem_expansion_oov.py +++ b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_oog_mem_expansion_oov.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_name_registrator_oog_mem_expansion_oov. Ported from: -tests/static/state_tests/stSystemOperationsTest -createNameRegistratorOOG_MemExpansionOOVFiller.json +state_tests/stSystemOperationsTest/createNameRegistratorOOG_MemExpansionOOVFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/createNameRegistratorOOG_MemExpansionOOVFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/createNameRegistratorOOG_MemExpansionOOVFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_create_name_registrator_oog_mem_expansion_oov( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_name_registrator_oog_mem_expansion_oov.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,37 +48,34 @@ def test_create_name_registrator_oog_mem_expansion_oov( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f3006000355415600957005b60203560003555) [[ 0 ]] (CREATE 11000 3 0xffffffffffffffffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F3006000355415600957005B60203560003555, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE( - value=0x2AF8, - offset=0x3, - size=0xFFFFFFFFFFFFFFFFFFFFFF, - ), - ) - + Op.STOP - ), - balance=0x2710, + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F3006000355415600957005B60203560003555, + ) + + Op.SSTORE( + key=0x0, + value=Op.CREATE( + value=0x2AF8, offset=0x3, size=0xFFFFFFFFFFFFFFFFFFFFFF + ), + ) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0xb8d613d3333f8ce34bc851256b3096ffa7932f6e"), # noqa: E501 + address=Address(0xB8D613D3333F8CE34BC851256B3096FFA7932F6E), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_out_of_memory_bonds0.py b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_out_of_memory_bonds0.py index 0fe20792a3d..c6bc0bce003 100644 --- a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_out_of_memory_bonds0.py +++ b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_out_of_memory_bonds0.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_name_registrator_out_of_memory_bonds0. Ported from: -tests/static/state_tests/stSystemOperationsTest -createNameRegistratorOutOfMemoryBonds0Filler.json +state_tests/stSystemOperationsTest/createNameRegistratorOutOfMemoryBonds0Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/createNameRegistratorOutOfMemoryBonds0Filler.json", # noqa: E501 + "state_tests/stSystemOperationsTest/createNameRegistratorOutOfMemoryBonds0Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_create_name_registrator_out_of_memory_bonds0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_name_registrator_out_of_memory_bonds0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,33 +48,32 @@ def test_create_name_registrator_out_of_memory_bonds0( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f3006000355415600957005b60203560003555) [[ 0 ]] (CREATE 23 0xfffffffffff 29) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F3006000355415600957005B60203560003555, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE(value=0x17, offset=0xFFFFFFFFFFF, size=0x1D), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F3006000355415600957005B60203560003555, + ) + + Op.SSTORE( + key=0x0, + value=Op.CREATE(value=0x17, offset=0xFFFFFFFFFFF, size=0x1D), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8593273fe085739b33e6a5d293bb84f3224ba9ad"), # noqa: E501 + address=Address(0x8593273FE085739B33E6A5D293BB84F3224BA9AD), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_out_of_memory_bonds1.py b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_out_of_memory_bonds1.py index a04a65c6682..2a95b0d1bf5 100644 --- a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_out_of_memory_bonds1.py +++ b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_out_of_memory_bonds1.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_name_registrator_out_of_memory_bonds1. Ported from: -tests/static/state_tests/stSystemOperationsTest -createNameRegistratorOutOfMemoryBonds1Filler.json +state_tests/stSystemOperationsTest/createNameRegistratorOutOfMemoryBonds1Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/createNameRegistratorOutOfMemoryBonds1Filler.json", # noqa: E501 + "state_tests/stSystemOperationsTest/createNameRegistratorOutOfMemoryBonds1Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_create_name_registrator_out_of_memory_bonds1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_name_registrator_out_of_memory_bonds1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,33 +48,32 @@ def test_create_name_registrator_out_of_memory_bonds1( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f3006000355415600957005b60203560003555) [[ 0 ]] (CREATE 23 3 0xfffffffffff) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F3006000355415600957005B60203560003555, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE(value=0x17, offset=0x3, size=0xFFFFFFFFFFF), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F3006000355415600957005B60203560003555, + ) + + Op.SSTORE( + key=0x0, + value=Op.CREATE(value=0x17, offset=0x3, size=0xFFFFFFFFFFF), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x2d0c02ba282d613ffacb6ba383f709ade6e7522c"), # noqa: E501 + address=Address(0x2D0C02BA282D613FFACB6BA383F709ADE6E7522C), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_value_too_high.py b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_value_too_high.py index f10f3b370a0..d2b38884cf5 100644 --- a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_value_too_high.py +++ b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_value_too_high.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_name_registrator_value_too_high. Ported from: -tests/static/state_tests/stSystemOperationsTest -createNameRegistratorValueTooHighFiller.json +state_tests/stSystemOperationsTest/createNameRegistratorValueTooHighFiller.json """ import pytest @@ -12,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -24,7 +25,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/createNameRegistratorValueTooHighFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/createNameRegistratorValueTooHighFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +34,9 @@ def test_create_name_registrator_value_too_high( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_name_registrator_value_too_high.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,34 +50,35 @@ def test_create_name_registrator_value_too_high( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f3006000355415600957005b60203560003555) [[ 0 ]] (CREATE 1000000000000000001 3 29) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F3006000355415600957005B60203560003555, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE( - value=0xDE0B6B3A7640001, offset=0x3, size=0x1D - ), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F3006000355415600957005B60203560003555, + ) + + Op.SSTORE( + key=0x0, + value=Op.CREATE(value=0xDE0B6B3A7640001, offset=0x3, size=0x1D), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=300000, ) - post: dict = {} + post = { + compute_create_address( + address=contract_0, nonce=0 + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem.py b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem.py index a65f13c8ffa..b3f84a01d73 100644 --- a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem.py +++ b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_name_registrator_zero_mem. Ported from: -tests/static/state_tests/stSystemOperationsTest -createNameRegistratorZeroMemFiller.json +state_tests/stSystemOperationsTest/createNameRegistratorZeroMemFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/createNameRegistratorZeroMemFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/createNameRegistratorZeroMemFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_create_name_registrator_zero_mem( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_name_registrator_zero_mem.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,35 +49,33 @@ def test_create_name_registrator_zero_mem( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f3006000355415600957005b60203560003555) [[ 0 ]] (CREATE 23 3 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F3006000355415600957005B60203560003555, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x17, offset=0x3, size=0x0) - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F3006000355415600957005B60203560003555, + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x17, offset=0x3, size=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + nonce=1, ), } diff --git a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem2.py b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem2.py index c41093c535b..33b90d91205 100644 --- a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem2.py +++ b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_name_registrator_zero_mem2. Ported from: -tests/static/state_tests/stSystemOperationsTest -createNameRegistratorZeroMem2Filler.json +state_tests/stSystemOperationsTest/createNameRegistratorZeroMem2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/createNameRegistratorZeroMem2Filler.json", # noqa: E501 + "state_tests/stSystemOperationsTest/createNameRegistratorZeroMem2Filler.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_create_name_registrator_zero_mem2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_name_registrator_zero_mem2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,40 +49,40 @@ def test_create_name_registrator_zero_mem2( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f3006000355415600957005b60203560003555) [[ 0 ]] (CREATE 23 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F3006000355415600957005B60203560003555, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CREATE( - value=0x17, - offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - size=0x0, - ), - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F3006000355415600957005B60203560003555, + ) + + Op.SSTORE( + key=0x0, + value=Op.CREATE( + value=0x17, + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x0, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + nonce=1, ), } diff --git a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem_expansion.py b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem_expansion.py index 099b35b6f8d..7e55ce0a91f 100644 --- a/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem_expansion.py +++ b/tests/ported_static/stSystemOperationsTest/test_create_name_registrator_zero_mem_expansion.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_name_registrator_zero_mem_expansion. Ported from: -tests/static/state_tests/stSystemOperationsTest -createNameRegistratorZeroMemExpansionFiller.json +state_tests/stSystemOperationsTest/createNameRegistratorZeroMemExpansionFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/createNameRegistratorZeroMemExpansionFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/createNameRegistratorZeroMemExpansionFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_create_name_registrator_zero_mem_expansion( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_name_registrator_zero_mem_expansion.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,35 +49,33 @@ def test_create_name_registrator_zero_mem_expansion( gas_limit=1000000, ) - # Source: LLL + # Source: lll # { (MSTORE 0 0x601080600c6000396000f3006000355415600957005b60203560003555) [[ 0 ]] (CREATE 23 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0x601080600C6000396000F3006000355415600957005B60203560003555, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, value=Op.CREATE(value=0x17, offset=0x0, size=0x0) - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x601080600C6000396000F3006000355415600957005B60203560003555, + ) + + Op.SSTORE(key=0x0, value=Op.CREATE(value=0x17, offset=0x0, size=0x0)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={0: 0xD2571607E241ECF590ED94B12D87C94BABE36DB6}, + nonce=1, ), } diff --git a/tests/ported_static/stSystemOperationsTest/test_create_with_invalid_opcode.py b/tests/ported_static/stSystemOperationsTest/test_create_with_invalid_opcode.py index 3cf9fdaf20c..ce25374333f 100644 --- a/tests/ported_static/stSystemOperationsTest/test_create_with_invalid_opcode.py +++ b/tests/ported_static/stSystemOperationsTest/test_create_with_invalid_opcode.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_with_invalid_opcode. Ported from: -tests/static/state_tests/stSystemOperationsTest -createWithInvalidOpcodeFiller.json +state_tests/stSystemOperationsTest/createWithInvalidOpcodeFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/createWithInvalidOpcodeFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/createWithInvalidOpcodeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_create_with_invalid_opcode( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_with_invalid_opcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,31 +46,28 @@ def test_create_with_invalid_opcode( gas_limit=1000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PREVRANDAO - + Op.TIMESTAMP - + Op.TIMESTAMP - + Op.TIMESTAMP - + Op.TIMESTAMP - + Op.GASLIMIT - + Op.MSTORE8(offset=Op.TIMESTAMP, value=Op.NUMBER) - + Op.CREATE - ), + # Source: raw + # 0x444242424245434253f0 + target = pre.deploy_contract( # noqa: F841 + code=Op.PREVRANDAO + + Op.TIMESTAMP * 4 + + Op.GASLIMIT + + Op.MSTORE8(offset=Op.TIMESTAMP, value=Op.NUMBER) + + Op.CREATE, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xcc73f3508071f505fb5a5c6108b9444fe05fdd4d"), # noqa: E501 + address=Address(0xCC73F3508071F505FB5A5C6108B9444FE05FDD4D), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {target: Account(storage={}, nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_current_account_balance.py b/tests/ported_static/stSystemOperationsTest/test_current_account_balance.py index 2b59b365122..bd143302c5c 100644 --- a/tests/ported_static/stSystemOperationsTest/test_current_account_balance.py +++ b/tests/ported_static/stSystemOperationsTest/test_current_account_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_current_account_balance. Ported from: -tests/static/state_tests/stSystemOperationsTest -currentAccountBalanceFiller.json +state_tests/stSystemOperationsTest/currentAccountBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/currentAccountBalanceFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/currentAccountBalanceFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_current_account_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_current_account_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,27 +46,25 @@ def test_current_account_balance( gas_limit=100000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: LLL + # Source: lll # { [[0]] (balance (address)) } - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.BALANCE(address=Op.ADDRESS)) + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.BALANCE(address=Op.ADDRESS)) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfa1adc30ef8a61e7996fa659b532621c0816e14d"), # noqa: E501 + address=Address(0xFA1ADC30EF8A61E7996FA659B532621C0816E14D), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={0: 0xDE0B6B3A76586A0}), - } + post = {target: Account(storage={0: 0xDE0B6B3A76586A0})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_double_selfdestruct_test.py b/tests/ported_static/stSystemOperationsTest/test_double_selfdestruct_test.py index 2d4abd2e8be..757a04dd409 100644 --- a/tests/ported_static/stSystemOperationsTest/test_double_selfdestruct_test.py +++ b/tests/ported_static/stSystemOperationsTest/test_double_selfdestruct_test.py @@ -7,8 +7,7 @@ SUC008.0, SUC008.1, SUC008.2, SUC008.3 Ported from: -tests/static/state_tests/stSystemOperationsTest -doubleSelfdestructTestFiller.yml +state_tests/stSystemOperationsTest/doubleSelfdestructTestFiller.yml """ import pytest @@ -17,10 +16,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -28,43 +32,77 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/doubleSelfdestructTestFiller.yml", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/doubleSelfdestructTestFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ("f210011002", {}), - ("f410011002", {}), - ("f110011002", {}), - ("fa1001c0de", {}), - ("fa10011002", {}), - ("f21001c0de", {}), - ("f41001c0de", {}), - ("f11001c0de", {}), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", + pytest.param( + 0, + 0, + 0, + id="called-self-destruct", + ), + pytest.param( + 1, + 0, + 0, + id="called-self-destruct", + ), + pytest.param( + 2, + 0, + 0, + id="called-self-destruct", + ), + pytest.param( + 3, + 0, + 0, + id="caller-self-destruct", + ), + pytest.param( + 4, + 0, + 0, + id="code-self-destruct", + ), + pytest.param( + 5, + 0, + 0, + id="code-self-destruct", + ), + pytest.param( + 6, + 0, + 0, + id="code-self-destruct", + ), + pytest.param( + 7, + 0, + 0, + id="caller-self-destruct", + ), ], ) @pytest.mark.pre_alloc_mutable def test_double_selfdestruct_test( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """The first test case required here.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """ + The first test case required here + https://github. + """ + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000C0DE) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -78,7 +116,8 @@ def test_double_selfdestruct_test( gas_limit=10000000000, ) - # Source: Yul + # Source: yul + # berlin # { # // If there's data, call this again and then # // try to selfdestruct. @@ -108,102 +147,148 @@ def test_double_selfdestruct_test( # let called_ff := and(shr(240, calldataload(0)), 0xFFFF) # if eq(calldatasize(), 2) { # selfdestruct(called_ff) - # } - # ... (1 more lines) - contract = pre.deploy_contract( - code=( - Op.JUMPI(pc=0x17, condition=Op.GT(Op.CALLDATASIZE, 0x2)) - + Op.SHR(0xF0, Op.CALLDATALOAD(offset=0x0)) - + Op.JUMPI(pc=0x15, condition=Op.EQ(0x2, Op.CALLDATASIZE)) - + Op.STOP - + Op.JUMPDEST - + Op.SELFDESTRUCT - + Op.JUMPDEST - + Op.SHR(0xF8, Op.CALLDATALOAD(offset=0x0)) - + Op.PUSH1[0xFA] - + Op.AND(Op.SHR(0xE8, Op.CALLDATALOAD(offset=0x0)), 0xFFFF) - + Op.SWAP2 - + Op.PUSH1[0xFF] - + Op.AND(Op.SHR(0xD8, Op.CALLDATALOAD(offset=0x0)), 0xFFFF) - + Op.MSTORE8( - offset=0x0, value=Op.AND(Op.SHR(0x8, Op.DUP2), Op.DUP2) + # ... (2 more lines) + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x17, condition=Op.GT(Op.CALLDATASIZE, 0x2)) + + Op.SHR(0xF0, Op.CALLDATALOAD(offset=0x0)) + + Op.JUMPI(pc=0x15, condition=Op.EQ(0x2, Op.CALLDATASIZE)) + + Op.STOP + + Op.JUMPDEST + + Op.SELFDESTRUCT + + Op.JUMPDEST + + Op.SHR(0xF8, Op.CALLDATALOAD(offset=0x0)) + + Op.PUSH1[0xFA] + + Op.AND(Op.SHR(0xE8, Op.CALLDATALOAD(offset=0x0)), 0xFFFF) + + Op.SWAP2 + + Op.PUSH1[0xFF] + + Op.AND(Op.SHR(0xD8, Op.CALLDATALOAD(offset=0x0)), 0xFFFF) + + Op.MSTORE8(offset=0x0, value=Op.AND(Op.SHR(0x8, Op.DUP2), Op.DUP2)) + + Op.MSTORE8(offset=0x1, value=Op.AND) + + Op.JUMPI(pc=0x90, condition=Op.EQ(Op.DUP2, 0xF1)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x7F, condition=Op.EQ(Op.DUP2, 0xF2)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x6F, condition=Op.EQ(Op.DUP2, 0xF4)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x61, condition=Op.EQ) + + Op.SELFDESTRUCT + + Op.JUMPDEST + + Op.POP( + Op.STATICCALL( + gas=Op.GAS, + address=0xC0DE, + args_offset=Op.DUP2, + args_size=0x2, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.MSTORE8(offset=0x1, value=Op.AND) - + Op.JUMPI(pc=0x90, condition=Op.EQ(Op.DUP2, 0xF1)) - + Op.JUMPDEST - + Op.JUMPI(pc=0x7F, condition=Op.EQ(Op.DUP2, 0xF2)) - + Op.JUMPDEST - + Op.JUMPI(pc=0x6F, condition=Op.EQ(Op.DUP2, 0xF4)) - + Op.JUMPDEST - + Op.JUMPI(pc=0x61, condition=Op.EQ) - + Op.SELFDESTRUCT - + Op.JUMPDEST - + Op.POP( - Op.STATICCALL( - gas=Op.GAS, - address=0xC0DE, - args_offset=Op.DUP2, - args_size=0x2, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.SELFDESTRUCT + + Op.JUMPDEST + + Op.POP( + Op.DELEGATECALL( + gas=Op.GAS, + address=0xC0DE, + args_offset=Op.DUP2, + args_size=0x2, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.SELFDESTRUCT - + Op.JUMPDEST - + Op.POP( - Op.DELEGATECALL( - gas=Op.GAS, - address=0xC0DE, - args_offset=Op.DUP2, - args_size=0x2, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.JUMP(pc=0x5B) + + Op.JUMPDEST + + Op.POP( + Op.CALLCODE( + gas=Op.GAS, + address=0xC0DE, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x2, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.JUMP(pc=0x5B) - + Op.JUMPDEST - + Op.POP( - Op.CALLCODE( - gas=Op.GAS, - address=0xC0DE, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x2, - ret_offset=Op.DUP1, - ret_size=0x0, - ), + ) + + Op.JUMP(pc=0x53) + + Op.JUMPDEST + + Op.POP( + Op.CALL( + gas=Op.GAS, + address=0xC0DE, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x2, + ret_offset=Op.DUP1, + ret_size=0x0, ) - + Op.JUMP(pc=0x53) - + Op.JUMPDEST - + Op.POP( - Op.CALL( - gas=Op.GAS, - address=0xC0DE, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x2, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.JUMP(pc=0x4B) - ), + ) + + Op.JUMP(pc=0x4B), balance=0xF4240, - address=Address("0x000000000000000000000000000000000000c0de"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000C0DE), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address( + 0x0000000000000000000000000000000000001001 + ): Account.NONEXISTENT, + Address(0x0000000000000000000000000000000000001002): Account( + balance=0xF4241 + ), + }, + }, + { + "indexes": {"data": [3, 7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x0000000000000000000000000000000000001001): Account( + balance=0xF4241, nonce=0 + ), + Address( + 0x0000000000000000000000000000000000001002 + ): Account.NONEXISTENT, + contract_0: Account(nonce=1), + }, + }, + { + "indexes": {"data": [4, 5, 6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x0000000000000000000000000000000000001001): Account( + balance=0xF4241, nonce=0 + ), + contract_0: Account(nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("f110011002"), + Bytes("f210011002"), + Bytes("f410011002"), + Bytes("fa10011002"), + Bytes("f11001c0de"), + Bytes("f21001c0de"), + Bytes("f41001c0de"), + Bytes("fa1001c0de"), + ] + tx_gas = [16777216] + tx_value = [1] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=16777216, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], nonce=1, - value=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_double_selfdestruct_touch_paris.py b/tests/ported_static/stSystemOperationsTest/test_double_selfdestruct_touch_paris.py index 218b0f7704a..2f2cc390afd 100644 --- a/tests/ported_static/stSystemOperationsTest/test_double_selfdestruct_touch_paris.py +++ b/tests/ported_static/stSystemOperationsTest/test_double_selfdestruct_touch_paris.py @@ -1,12 +1,11 @@ """ -A single contract can execute SELFDESTRUCT multiple times using by being... +A single contract can execute SELFDESTRUCT multiple times using by... multiple times. The second and later SELFDESTRUCTs have little effect but can touch some new beneficiary addresses. Ported from: -tests/static/state_tests/stSystemOperationsTest -doubleSelfdestructTouch_ParisFiller.yml +state_tests/stSystemOperationsTest/doubleSelfdestructTouch_ParisFiller.yml """ import pytest @@ -15,10 +14,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -27,66 +31,49 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/doubleSelfdestructTouch_ParisFiller.yml", # noqa: E501 + "state_tests/stSystemOperationsTest/doubleSelfdestructTouch_ParisFiller.yml" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_value, expected_post", + "d, g, v", [ - ( + pytest.param( 0, - { - Address("0x29e4504a3d2a0e0ae0ebbbefedd4570639b3ebee"): Account( - storage={ - 0: 2, - 1: 0x68FA59E127B7526718EB0A4E113DF5793628CB91, - 2: 0x76FAE819612A29489A1A43208613D8F8557B8898, - } - ) - }, + 0, + 0, + id="-v0", ), - ( + pytest.param( + 0, + 0, 1, - { - Address("0x29e4504a3d2a0e0ae0ebbbefedd4570639b3ebee"): Account( - storage={ - 0: 2, - 1: 0x68FA59E127B7526718EB0A4E113DF5793628CB91, - 2: 0x76FAE819612A29489A1A43208613D8F8557B8898, - } - ) - }, + id="-v1", ), - ( + pytest.param( + 0, + 0, 2, - { - Address("0x29e4504a3d2a0e0ae0ebbbefedd4570639b3ebee"): Account( - storage={ - 0: 2, - 1: 0x68FA59E127B7526718EB0A4E113DF5793628CB91, - 2: 0x76FAE819612A29489A1A43208613D8F8557B8898, - } - ) - }, + id="-v2", ), ], - ids=["case0", "case1", "case2"], ) @pytest.mark.pre_alloc_mutable def test_double_selfdestruct_touch_paris( state_test: StateTestFiller, pre: Alloc, - tx_value: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """A single contract can execute SELFDESTRUCT multiple times using...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """A single contract can execute SELFDESTRUCT multiple times using by...""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + empty_account_1 = Address(0x68FA59E127B7526718EB0A4E113DF5793628CB91) + empty_account_2 = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0xE92C121432830128CA66D3D8C4E6D8D96CC4BEFA7C612D28415082EB3C8339C5 ) - callee_1 = Address("0x68fa59e127b7526718eb0a4e113df5793628cb91") - callee_2 = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -97,24 +84,9 @@ def test_double_selfdestruct_touch_paris( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.ADD(Op.SLOAD(key=0x0), 0x1) - + Op.SSTORE(key=0x0, value=Op.DUP1) - + Op.SELFDESTRUCT(address=Op.SLOAD) - ), - storage={ - 0x0: 0x0, - 0x1: 0x68FA59E127B7526718EB0A4E113DF5793628CB91, - 0x2: 0x76FAE819612A29489A1A43208613D8F8557B8898, - }, - nonce=0, - address=Address("0x29e4504a3d2a0e0ae0ebbbefedd4570639b3ebee"), # noqa: E501 - ) pre[sender] = Account(balance=0x5F5E102) - pre[callee_1] = Account(balance=10, nonce=0) - pre[callee_2] = Account(balance=10, nonce=0) - # Source: Yul + # Source: yul + # berlin # { # let v0 := callvalue() # let v1 := shr(1, v0) @@ -122,43 +94,101 @@ def test_double_selfdestruct_touch_paris( # let v2 := sub(v0, v1) # let r2 := call(70000, , v2, 0, 0, 0, 0) # noqa: E501 # } - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.CALLVALUE - + Op.SHR(0x1, Op.DUP1) - + Op.SWAP1 - + Op.POP( - Op.CALL( - gas=0x11170, - address=0x29E4504A3D2A0E0AE0EBBBEFEDD4570639B3EBEE, - value=Op.DUP6, - args_offset=Op.DUP1, - args_size=Op.DUP1, - ret_offset=Op.DUP1, - ret_size=Op.DUP3, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.DUP1 * 3 + + Op.CALLVALUE + + Op.SHR(0x1, Op.DUP1) + + Op.SWAP1 + + Op.POP( + Op.CALL( + gas=0x11170, + address=0x29E4504A3D2A0E0AE0EBBBEFEDD4570639B3EBEE, + value=Op.DUP6, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=Op.DUP3, ) - + Op.SUB - + Op.PUSH20[0x29E4504A3D2A0E0AE0EBBBEFEDD4570639B3EBEE] - + Op.PUSH3[0x11170] - + Op.CALL - + Op.STOP - ), + ) + + Op.SUB + + Op.PUSH20[0x29E4504A3D2A0E0AE0EBBBEFEDD4570639B3EBEE] + + Op.PUSH3[0x11170] + + Op.CALL + + Op.STOP, nonce=0, - address=Address("0x8ec7465877d3957084dc907c0f6d8f2911a17a52"), # noqa: E501 + address=Address(0x8EC7465877D3957084DC907C0F6D8F2911A17A52), # noqa: E501 ) + # Source: yul + # berlin + # { + # let index := add(sload(0), 1) + # sstore(0, index) + # selfdestruct(sload(index)) + # } + addr = pre.deploy_contract( # noqa: F841 + code=Op.ADD(Op.SLOAD(key=0x0), 0x1) + + Op.SSTORE(key=0x0, value=Op.DUP1) + + Op.SELFDESTRUCT(address=Op.SLOAD), + storage={ + 0: 0, + 1: 0x68FA59E127B7526718EB0A4E113DF5793628CB91, + 2: 0x76FAE819612A29489A1A43208613D8F8557B8898, + }, + nonce=0, + address=Address(0x29E4504A3D2A0E0AE0EBBBEFEDD4570639B3EBEE), # noqa: E501 + ) + pre[empty_account_1] = Account(balance=10) + pre[empty_account_2] = Account(balance=10) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": -1, "value": 0}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={}, balance=0, nonce=0), + empty_account_1: Account(balance=10), + empty_account_2: Account(balance=10), + }, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={}, balance=0, nonce=0), + empty_account_1: Account(balance=10), + empty_account_2: Account(balance=11, nonce=0), + }, + }, + { + "indexes": {"data": -1, "gas": -1, "value": 2}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + target: Account(storage={}, balance=0, nonce=0), + empty_account_1: Account(balance=11, nonce=0), + empty_account_2: Account(balance=11, nonce=0), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes(""), + ] + tx_gas = [10000000] + tx_value = [0, 1, 2] tx = Transaction( sender=sender, - to=contract, - gas_limit=10000000, - value=tx_value, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_extcodecopy.py b/tests/ported_static/stSystemOperationsTest/test_extcodecopy.py index a7c01828298..4b098947105 100644 --- a/tests/ported_static/stSystemOperationsTest/test_extcodecopy.py +++ b/tests/ported_static/stSystemOperationsTest/test_extcodecopy.py @@ -2,7 +2,7 @@ God knows what is happening in this test. Ported from: -tests/static/state_tests/stSystemOperationsTest/extcodecopyFiller.json +state_tests/stSystemOperationsTest/extcodecopyFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSystemOperationsTest/extcodecopyFiller.json"], + ["state_tests/stSystemOperationsTest/extcodecopyFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,7 +32,7 @@ def test_extcodecopy( pre: Alloc, ) -> None: """God knows what is happening in this test.""" - coinbase = Address("0x4401fcaf7d64d53fb1cfc5c9045c32aa919a8c82") + coinbase = Address(0x4401FCAF7D64D53FB1CFC5C9045C32AA919A8C82) sender = EOA( key=0x7446B5F5F4C3994BA600DA46B6CA0E5DBD71BCE76740B040BA716507ECB75BB9 ) @@ -45,123 +46,117 @@ def test_extcodecopy( gas_limit=1478962728, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.PUSH32[ - 0x15688566A82F5F946C68028BF626B349E495DAA43E33529A76437AC416CD1B7D # noqa: E501 - ] - + Op.MOD( - 0xCEA0C5CC171FA61277E5604A3BC8AEF4DE3D3882, - 0x7DAE7454BB193B1C28E64A6A935BC3, - ) - + Op.EXTCODECOPY( - address=0x7ADA6E82E95F6520383F95F5C7DAE56B4DC13B6F22ECABFCE07C, - dest_offset=Op.DUP1, - offset=0xB, - size=Op.PC, - ) - + Op.SELFDESTRUCT - + Op.MLOAD - ), + # Source: raw + # 0x7f15688566a82f5f946c68028bf626b349e495daa43e33529a76437ac416cd1b7d6e7dae7454bb193b1c28e64a6a935bc373cea0c5cc171fa61277e5604a3bc8aef4de3d38820658600b80797ada6e82e95f6520383f95f5c7dae56b4dc13b6f22ecabfce07c3cff51 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH32[ + 0x15688566A82F5F946C68028BF626B349E495DAA43E33529A76437AC416CD1B7D + ] + + Op.MOD( + 0xCEA0C5CC171FA61277E5604A3BC8AEF4DE3D3882, + 0x7DAE7454BB193B1C28E64A6A935BC3, + ) + + Op.EXTCODECOPY( + address=0x7ADA6E82E95F6520383F95F5C7DAE56B4DC13B6F22ECABFCE07C, + dest_offset=Op.DUP1, + offset=0xB, + size=Op.PC, + ) + + Op.SELFDESTRUCT + + Op.MLOAD, balance=0x5C81EB0, nonce=254, - address=Address("0x0614253558ab9d138504425f7c247229db2c5baf"), # noqa: E501 + address=Address(0x0614253558AB9D138504425F7C247229DB2C5BAF), # noqa: E501 ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.GAS - + Op.PUSH1[0x10] - + Op.PUSH1[0x17] - + Op.PUSH1[0x11] - + Op.PUSH1[0x11] - + Op.PUSH1[0x18] - + Op.PUSH1[0x1C] - + Op.PUSH1[0xF] - + Op.PUSH1[0x1B] - + Op.PUSH1[0x1D] - + Op.PUSH0 - + Op.PUSH1[0x2] - + Op.PUSH1[0x13] - + Op.PUSH1[0xF] - + Op.PUSH1[0x1A] - + Op.DUP14 - + Op.GAS - + Op.JUMPDEST - + Op.PUSH23[0x79177B5DD41A23DB52998C4DCD14E88390DCC9F3ED5783] - + Op.PUSH1[0x16] - + Op.PUSH1[0x14] - + Op.PUSH0 - + Op.PUSH1[0x13] - + Op.PUSH1[0xD] - + Op.PUSH1[0x1F] - + Op.PUSH1[0x1] - + Op.PUSH1[0x11] - + Op.PUSH1[0xE] - + Op.PUSH1[0xC] - + Op.PUSH1[0xD] - + Op.PUSH1[0x1F] - + Op.PUSH1[0x13] - + Op.DUP13 - + Op.PUSH27[ - 0x58F20FD882EB51408A52E569CE80E93270AB53AE9DE3FEC5498A5C - ] - + Op.PUSH19[0xCE1FCD11BB1553736959DF779A616B738C1F40] - + Op.PUSH29[ - 0x12459490AFE302DA311A673488D09E71041D0761DEE4829E3C38E0B1B1 - ] - + Op.PUSH25[0x7810F2E11E2289983C1AB47CF5EBD38C12F1719232B5F3A7B2] - + Op.PUSH27[ - 0x9EA8858A071C4169392EC725646311235CBD9534E5D7CD8CB5E228 - ] - + Op.PUSH24[0x38A43F803384F4E62FE6629EA2E609A71759EDAB5C3A58B8] - + Op.PUSH31[ - 0x94C95F710AA6059B0663C9F374CE6EA0A000C5D594C41252D4A74D64896A98 # noqa: E501 - ] - + Op.PUSH29[ - 0xC57C24DF2CE8FFB85ADCC27DCE2D19F7006FBC1C5A7B79A319418FD6C2 - ] - + Op.PUSH30[ - 0xDEBCF170192262D82C1053333F6115C8B258B81E2E84D723C98DBD4535DE - ] - + Op.PUSH32[ - 0x922723A15827BBCFD07F9E2C5027C7736ED68C61B332059D7EC1BAE1C1FD41A3 # noqa: E501 - ] - + Op.PUSH2[0xD35B] - + Op.SWAP10 - + Op.ADDMOD( - 0x4EB39E7FD5076A831D8EB4A3546288A3E1A0, - 0x28C014846148CE67EAF2B33D90672366DAFEAAE0, - 0x9740A588B6ABF3293236AFB92771, - ) - + Op.PUSH27[ - 0xEBE80B6BBFA4041330B05D094A697236FE7654D8A7CE630F83A832 - ] - + Op.PUSH3[0x125D7] - + Op.DUP2 - + Op.BALANCE(address=0x6E898F7FDCFD00) - ), + # Source: raw + # 0x5a60106017601160116018601c600f601b601d5f60026013600f601a8d5a5b7679177b5dd41a23db52998c4dcd14e88390dcc9f3ed5783601660145f6013600d601f60016011600e600c600d601f60138c7a58f20fd882eb51408a52e569ce80e93270ab53ae9de3fec5498a5c72ce1fcd11bb1553736959df779a616b738c1f407c12459490afe302da311a673488d09e71041d0761dee4829e3c38e0b1b1787810f2e11e2289983c1ab47cf5ebd38c12f1719232b5f3a7b27a9ea8858a071c4169392ec725646311235cbd9534e5d7cd8cb5e2287738a43f803384f4e62fe6629ea2e609a71759edab5c3a58b87e94c95f710aa6059b0663c9f374ce6ea0a000c5d594c41252d4a74d64896a987cc57c24df2ce8ffb85adcc27dce2d19f7006fbc1c5a7b79a319418fd6c27ddebcf170192262d82c1053333f6115c8b258b81e2e84d723c98dbd4535de7f922723a15827bbcfd07f9e2c5027c7736ed68c61b332059d7ec1bae1c1fd41a361d35b996d9740a588b6abf3293236afb927717328c014846148ce67eaf2b33d90672366dafeaae0714eb39e7fd5076a831d8eb4a3546288a3e1a0087aebe80b6bbfa4041330b05d094a697236fe7654d8a7ce630f83a832620125d781666e898f7fdcfd0031 # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.GAS + + Op.PUSH1[0x10] + + Op.PUSH1[0x17] + + Op.PUSH1[0x11] * 2 + + Op.PUSH1[0x18] + + Op.PUSH1[0x1C] + + Op.PUSH1[0xF] + + Op.PUSH1[0x1B] + + Op.PUSH1[0x1D] + + Op.PUSH0 + + Op.PUSH1[0x2] + + Op.PUSH1[0x13] + + Op.PUSH1[0xF] + + Op.PUSH1[0x1A] + + Op.DUP14 + + Op.GAS + + Op.JUMPDEST + + Op.PUSH23[0x79177B5DD41A23DB52998C4DCD14E88390DCC9F3ED5783] + + Op.PUSH1[0x16] + + Op.PUSH1[0x14] + + Op.PUSH0 + + Op.PUSH1[0x13] + + Op.PUSH1[0xD] + + Op.PUSH1[0x1F] + + Op.PUSH1[0x1] + + Op.PUSH1[0x11] + + Op.PUSH1[0xE] + + Op.PUSH1[0xC] + + Op.PUSH1[0xD] + + Op.PUSH1[0x1F] + + Op.PUSH1[0x13] + + Op.DUP13 + + Op.PUSH27[0x58F20FD882EB51408A52E569CE80E93270AB53AE9DE3FEC5498A5C] + + Op.PUSH19[0xCE1FCD11BB1553736959DF779A616B738C1F40] + + Op.PUSH29[ + 0x12459490AFE302DA311A673488D09E71041D0761DEE4829E3C38E0B1B1 + ] + + Op.PUSH25[0x7810F2E11E2289983C1AB47CF5EBD38C12F1719232B5F3A7B2] + + Op.PUSH27[0x9EA8858A071C4169392EC725646311235CBD9534E5D7CD8CB5E228] + + Op.PUSH24[0x38A43F803384F4E62FE6629EA2E609A71759EDAB5C3A58B8] + + Op.PUSH31[ + 0x94C95F710AA6059B0663C9F374CE6EA0A000C5D594C41252D4A74D64896A98 + ] + + Op.PUSH29[ + 0xC57C24DF2CE8FFB85ADCC27DCE2D19F7006FBC1C5A7B79A319418FD6C2 + ] + + Op.PUSH30[ + 0xDEBCF170192262D82C1053333F6115C8B258B81E2E84D723C98DBD4535DE + ] + + Op.PUSH32[ + 0x922723A15827BBCFD07F9E2C5027C7736ED68C61B332059D7EC1BAE1C1FD41A3 + ] + + Op.PUSH2[0xD35B] + + Op.SWAP10 + + Op.ADDMOD( + 0x4EB39E7FD5076A831D8EB4A3546288A3E1A0, + 0x28C014846148CE67EAF2B33D90672366DAFEAAE0, + 0x9740A588B6ABF3293236AFB92771, + ) + + Op.PUSH27[0xEBE80B6BBFA4041330B05D094A697236FE7654D8A7CE630F83A832] + + Op.PUSH3[0x125D7] + + Op.DUP2 + + Op.BALANCE(address=0x6E898F7FDCFD00), balance=0x4D6769F8, nonce=221, - address=Address("0x5b400827141a956ceb3e889ad3e1707aee1a575c"), # noqa: E501 + address=Address(0x5B400827141A956CEB3E889AD3E1707AEE1A575C), # noqa: E501 ) pre[sender] = Account(balance=0x4F6CA7B90CEB5FD4) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "6e27b0577f2549e5fa01e3db96e7b03a62e489115538620295677faf15040c1c1796bad1" # noqa: E501 - "30e2462a8b8d6bbe0fa35bf12087047ef4ff4e66df8772196b4401998ff7f4219c013a0d" # noqa: E501 - "927b22d8d3fdf625809abb182507d180e687b666f4f1e4f3b8172e87760f436c701264b8" # noqa: E501 - "9739f3d7c50ec524f16b1a4f91397b760a5209b9b7710544694ecf2729643b3ca545c7" # noqa: E501 + to=target, + data=Bytes( + "6e27b0577f2549e5fa01e3db96e7b03a62e489115538620295677faf15040c1c1796bad130e2462a8b8d6bbe0fa35bf12087047ef4ff4e66df8772196b4401998ff7f4219c013a0d927b22d8d3fdf625809abb182507d180e687b666f4f1e4f3b8172e87760f436c701264b89739f3d7c50ec524f16b1a4f91397b760a5209b9b7710544694ecf2729643b3ca545c7" # noqa: E501 ), gas_limit=100000, + value=0x24A39757, gas_price=483694712, - value=614700887, ) - post: dict = {} + post = { + Address(0x00000000002147C39FD6B5C19B7B89FC003E6B16): Account( + storage={}, nonce=0 + ), + coinbase: Account(storage={}, nonce=0), + sender: Account(storage={}, nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_multi_selfdestruct.py b/tests/ported_static/stSystemOperationsTest/test_multi_selfdestruct.py index 27e7b5fc53e..ff1e290c226 100644 --- a/tests/ported_static/stSystemOperationsTest/test_multi_selfdestruct.py +++ b/tests/ported_static/stSystemOperationsTest/test_multi_selfdestruct.py @@ -2,7 +2,7 @@ Implements: SUC000, SUC001, SUC002, SUC003, SUC004, SUC005. Ported from: -tests/static/state_tests/stSystemOperationsTest/multiSelfdestructFiller.yml +state_tests/stSystemOperationsTest/multiSelfdestructFiller.yml """ import pytest @@ -11,10 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,66 +27,60 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/multiSelfdestructFiller.yml", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/multiSelfdestructFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "01", - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 1: 3, 16: 1, 17: 3, 18: 2} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "02", - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 1: 3, 16: 1, 17: 5} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1", ), - ( - "03", - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 1: 3, 16: 1, 17: 3, 19: 2} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2", ), - ( - "04", - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 1: 3, 17: 3} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3", ), - ( - "05", - { - Address("0xcccccccccccccccccccccccccccccccccccccccc"): Account( - storage={0: 1, 1: 3, 16: 1, 17: 3, 18: 1, 19: 1} - ) - }, + pytest.param( + 4, + 0, + 0, + id="d4", ), ], - ids=["case0", "case1", "case2", "case3", "case4"], ) @pytest.mark.pre_alloc_mutable def test_multi_selfdestruct( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Implements: SUC000, SUC001, SUC002, SUC003, SUC004, SUC005.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """ + Implements: SUC000, SUC001, SUC002, SUC003, SUC004, SUC005 + . + """ + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000DEAD) + contract_1 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -95,7 +94,8 @@ def test_multi_selfdestruct( gas_limit=71794957647893862, ) - # Source: Yul + # Source: yul + # berlin # { # let operation := shr(248, calldataload(0)) # let recipient := and(shr(232, calldataload(0)), 0xFFFF) @@ -117,33 +117,30 @@ def test_multi_selfdestruct( # } # # } - pre.deploy_contract( - code=( - Op.SHR(0xF8, Op.CALLDATALOAD(offset=0x0)) - + Op.AND(Op.SHR(0xE8, Op.CALLDATALOAD(offset=0x0)), 0xFFFF) - + Op.JUMPI(pc=0x34, condition=Op.EQ(Op.DUP3, 0x0)) - + Op.JUMPI(pc=0x32, condition=Op.EQ(Op.DUP3, 0xFF)) - + Op.PUSH1[0x0] - + Op.DUP1 - + Op.DUP1 - + Op.DUP1 - + Op.SWAP5 - + Op.DUP2 - + Op.SWAP5 - + Op.JUMPI(pc=0x2D, condition=Op.EQ(Op.CALL, Op.GAS)) - + Op.STOP - + Op.JUMPDEST - + Op.REVERT(offset=Op.DUP1, size=0x0) - + Op.JUMPDEST - + Op.SELFDESTRUCT - + Op.JUMPDEST - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SHR(0xF8, Op.CALLDATALOAD(offset=0x0)) + + Op.AND(Op.SHR(0xE8, Op.CALLDATALOAD(offset=0x0)), 0xFFFF) + + Op.JUMPI(pc=0x34, condition=Op.EQ(Op.DUP3, 0x0)) + + Op.JUMPI(pc=0x32, condition=Op.EQ(Op.DUP3, 0xFF)) + + Op.PUSH1[0x0] + + Op.DUP1 * 3 + + Op.SWAP5 + + Op.DUP2 + + Op.SWAP5 + + Op.JUMPI(pc=0x2D, condition=Op.EQ(Op.CALL, Op.GAS)) + + Op.STOP + + Op.JUMPDEST + + Op.REVERT(offset=Op.DUP1, size=0x0) + + Op.JUMPDEST + + Op.SELFDESTRUCT + + Op.JUMPDEST + + Op.STOP, balance=3, - address=Address("0x000000000000000000000000000000000000dead"), # noqa: E501 + nonce=1, + address=Address(0x000000000000000000000000000000000000DEAD), # noqa: E501 ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: Yul + # Source: yul + # berlin # { # let delme # @@ -173,59 +170,14 @@ def test_multi_selfdestruct( # delme := call(gas(), 0xdead, 2, 0,3, 0,0) # } # case 4 { - # // Attempt to transfer WEI you don't have to 0x1001 - # ... (21 more lines) - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0xFF) - + Op.MSTORE8(offset=0x1, value=0x10) - + Op.MSTORE8(offset=0x2, value=0x0) - + Op.SSTORE( - key=0x0, - value=Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=Op.DUP1, - args_offset=Op.DUP2, - args_size=0x3, - ret_offset=Op.DUP1, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x1, value=Op.BALANCE(address=0x1000)) - + Op.SSTORE(key=0x2, value=Op.BALANCE(address=0xDEAD)) - + Op.SHR(0xF8, Op.CALLDATALOAD(offset=0x0)) - + Op.JUMPI(pc=0xCE, condition=Op.EQ(0x1, Op.DUP1)) - + Op.JUMPI(pc=0xBC, condition=Op.EQ(0x2, Op.DUP1)) - + Op.JUMPI(pc=0xA5, condition=Op.EQ(0x3, Op.DUP1)) - + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x4, Op.DUP1)) - + Op.PUSH1[0x5] - + Op.JUMPI(pc=0x58, condition=Op.EQ) - + Op.REVERT(offset=Op.DUP1, size=0x0) - + Op.JUMPDEST - + Op.MSTORE8(offset=0x0, value=0x1) - + Op.MSTORE8(offset=0x2, value=0x1) - + Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x2, - args_offset=Op.DUP2, - args_size=0x3, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.JUMPDEST - + Op.PUSH1[0x10] - + Op.SSTORE - + Op.SSTORE(key=0x11, value=Op.BALANCE(address=0x1000)) - + Op.SSTORE(key=0x12, value=Op.BALANCE(address=0xDEAD)) - + Op.SSTORE(key=0x13, value=Op.BALANCE(address=0x1001)) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.MSTORE8(offset=0x0, value=0x1) - + Op.MSTORE8(offset=0x2, value=0x1) - + Op.CALL( + # ... (22 more lines) + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.MSTORE8(offset=0x1, value=0x10) + + Op.MSTORE8(offset=0x2, value=0x0) + + Op.SSTORE( + key=0x0, + value=Op.CALL( gas=Op.GAS, address=0xDEAD, value=Op.DUP1, @@ -233,69 +185,174 @@ def test_multi_selfdestruct( args_size=0x3, ret_offset=Op.DUP1, ret_size=0x0, - ) - + Op.JUMP(pc=0x70) - + Op.JUMPDEST - + Op.POP - + Op.MSTORE8(offset=0x2, value=0x1) - + Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x2, - args_offset=Op.DUP2, - args_size=0x3, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.JUMP(pc=0x70) - + Op.JUMPDEST - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x2, - args_offset=Op.DUP2, - args_size=0x3, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.JUMP(pc=0x70) - + Op.JUMPDEST - + Op.POP - + Op.CALL( - gas=Op.GAS, - address=0xDEAD, - value=0x2, - args_offset=Op.DUP1, - args_size=0x3, - ret_offset=Op.DUP1, - ret_size=0x0, - ) - + Op.JUMP(pc=0x70) - ), + ), + ) + + Op.SSTORE(key=0x1, value=Op.BALANCE(address=0x1000)) + + Op.SSTORE(key=0x2, value=Op.BALANCE(address=0xDEAD)) + + Op.SHR(0xF8, Op.CALLDATALOAD(offset=0x0)) + + Op.JUMPI(pc=0xCE, condition=Op.EQ(0x1, Op.DUP1)) + + Op.JUMPI(pc=0xBC, condition=Op.EQ(0x2, Op.DUP1)) + + Op.JUMPI(pc=0xA5, condition=Op.EQ(0x3, Op.DUP1)) + + Op.JUMPI(pc=0x8A, condition=Op.EQ(0x4, Op.DUP1)) + + Op.PUSH1[0x5] + + Op.JUMPI(pc=0x58, condition=Op.EQ) + + Op.REVERT(offset=Op.DUP1, size=0x0) + + Op.JUMPDEST + + Op.MSTORE8(offset=0x0, value=0x1) + + Op.MSTORE8(offset=0x2, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x2, + args_offset=Op.DUP2, + args_size=0x3, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.JUMPDEST + + Op.PUSH1[0x10] + + Op.SSTORE + + Op.SSTORE(key=0x11, value=Op.BALANCE(address=0x1000)) + + Op.SSTORE(key=0x12, value=Op.BALANCE(address=0xDEAD)) + + Op.SSTORE(key=0x13, value=Op.BALANCE(address=0x1001)) + + Op.STOP + + Op.JUMPDEST + + Op.POP + + Op.MSTORE8(offset=0x0, value=0x1) + + Op.MSTORE8(offset=0x2, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=Op.DUP1, + args_offset=Op.DUP2, + args_size=0x3, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.JUMP(pc=0x70) + + Op.JUMPDEST + + Op.POP + + Op.MSTORE8(offset=0x2, value=0x1) + + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x2, + args_offset=Op.DUP2, + args_size=0x3, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.JUMP(pc=0x70) + + Op.JUMPDEST + + Op.POP + + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x2, + args_offset=Op.DUP2, + args_size=0x3, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.JUMP(pc=0x70) + + Op.JUMPDEST + + Op.POP + + Op.CALL( + gas=Op.GAS, + address=0xDEAD, + value=0x2, + args_offset=Op.DUP1, + args_size=0x3, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.JUMP(pc=0x70), storage={ - 0x0: 0x60A7, - 0x1: 0x60A7, - 0x10: 0x60A7, - 0x11: 0x60A7, - 0x12: 0x60A7, - 0x13: 0x60A7, + 0: 24743, + 1: 24743, + 16: 24743, + 17: 24743, + 18: 24743, + 19: 24743, }, balance=0x5F5E100, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + nonce=1, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={0: 1, 1: 3, 2: 0, 16: 1, 17: 3, 18: 2} + ), + contract_0: Account(balance=2, nonce=1), + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={0: 1, 1: 3, 2: 0, 16: 1, 17: 5, 18: 0} + ), + contract_0: Account(balance=0, nonce=1), + }, + }, + { + "indexes": {"data": 2, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={0: 1, 1: 3, 2: 0, 16: 1, 17: 3, 18: 0, 19: 2}, + ), + contract_0: Account(balance=0, nonce=1), + }, + }, + { + "indexes": {"data": 3, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={0: 1, 1: 3, 2: 0, 16: 0, 17: 3, 18: 0, 19: 0}, + ), + contract_0: Account(balance=0, nonce=1), + }, + }, + { + "indexes": {"data": 4, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={0: 1, 1: 3, 2: 0, 16: 1, 17: 3, 18: 1, 19: 1}, + ), + contract_0: Account(balance=1, nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("01"), + Bytes("02"), + Bytes("03"), + Bytes("04"), + Bytes("05"), + ] + tx_gas = [10000000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=10000000, - gas_price=1000, + to=contract_1, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + gas_price=1000, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_post_to_return1.py b/tests/ported_static/stSystemOperationsTest/test_post_to_return1.py index 1b16431f741..8dfb7fd0f46 100644 --- a/tests/ported_static/stSystemOperationsTest/test_post_to_return1.py +++ b/tests/ported_static/stSystemOperationsTest/test_post_to_return1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_post_to_return1. Ported from: -tests/static/state_tests/stSystemOperationsTest/PostToReturn1Filler.json +state_tests/stSystemOperationsTest/PostToReturn1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/PostToReturn1Filler.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/PostToReturn1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_post_to_return1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_post_to_return1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,60 +46,56 @@ def test_post_to_return1( gas_limit=10000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x37) - + Op.PUSH1[0x2] - + Op.PUSH1[0x0] - + Op.CALLCODE - ), - balance=23, - nonce=0, - address=Address("0x1ec76f80449bf4d3edf503813e06c0d4373fdf3d"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[1]](CALL 30000 23 0 64 0 0 ) [[2]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE( - offset=0x0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - + Op.MSTORE( - offset=0x20, - value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 - ) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0x7530, - address=0x1EC76F80449BF4D3EDF503813E06C0D4373FDF3D, - value=0x17, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.MSTORE( + offset=0x20, + value=0xAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA, # noqa: E501 + ) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0x7530, + address=0x1EC76F80449BF4D3EDF503813E06C0D4373FDF3D, + value=0x17, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0x1) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3ae2f90d9f77554f1e03d5a4868ca5f0c4e14039"), # noqa: E501 + address=Address(0x3AE2F90D9F77554F1E03D5A4868CA5F0C4E14039), # noqa: E501 + ) + # Source: raw + # 0x603760005360026000f2 + addr = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x37) + + Op.PUSH1[0x2] + + Op.PUSH1[0x0] + + Op.CALLCODE, + balance=23, + nonce=0, + address=Address(0x1EC76F80449BF4D3EDF503813E06C0D4373FDF3D), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) - post = { - contract: Account(storage={2: 1}), - } + post = {target: Account(storage={1: 0, 2: 1})} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_return0.py b/tests/ported_static/stSystemOperationsTest/test_return0.py index f33d57e10f4..487a7573958 100644 --- a/tests/ported_static/stSystemOperationsTest/test_return0.py +++ b/tests/ported_static/stSystemOperationsTest/test_return0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_return0. Ported from: -tests/static/state_tests/stSystemOperationsTest/return0Filler.json +state_tests/stSystemOperationsTest/return0Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSystemOperationsTest/return0Filler.json"], + ["state_tests/stSystemOperationsTest/return0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_return0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_return0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,27 +46,26 @@ def test_return0( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE8 0 55) (RETURN 0 1)} - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x1) + + Op.STOP, balance=23, nonce=0, - address=Address("0xb594e8f0afce73d002c12c76050e15beaa8b21f7"), # noqa: E501 + address=Address(0xB594E8F0AFCE73D002C12C76050E15BEAA8B21F7), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_return1.py b/tests/ported_static/stSystemOperationsTest/test_return1.py index 10ebced456d..7be9ddf697b 100644 --- a/tests/ported_static/stSystemOperationsTest/test_return1.py +++ b/tests/ported_static/stSystemOperationsTest/test_return1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_return1. Ported from: -tests/static/state_tests/stSystemOperationsTest/return1Filler.json +state_tests/stSystemOperationsTest/return1Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSystemOperationsTest/return1Filler.json"], + ["state_tests/stSystemOperationsTest/return1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_return1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_return1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,27 +46,26 @@ def test_return1( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE8 0 55) (RETURN 0 2)} - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x2) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x2) + + Op.STOP, balance=23, nonce=0, - address=Address("0xe50c84b8b720a23e1bfb8bfaaee5f44b6dd44139"), # noqa: E501 + address=Address(0xE50C84B8B720A23E1BFB8BFAAEE5F44B6DD44139), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_return2.py b/tests/ported_static/stSystemOperationsTest/test_return2.py index 2fc9a60fa74..bc4e623e529 100644 --- a/tests/ported_static/stSystemOperationsTest/test_return2.py +++ b/tests/ported_static/stSystemOperationsTest/test_return2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_return2. Ported from: -tests/static/state_tests/stSystemOperationsTest/return2Filler.json +state_tests/stSystemOperationsTest/return2Filler.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stSystemOperationsTest/return2Filler.json"], + ["state_tests/stSystemOperationsTest/return2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,8 @@ def test_return2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_return2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -45,27 +46,26 @@ def test_return2( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (MSTORE8 0 55) (RETURN 0 33)} - contract = pre.deploy_contract( - code=( - Op.MSTORE8(offset=0x0, value=0x37) - + Op.RETURN(offset=0x0, size=0x21) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0x37) + + Op.RETURN(offset=0x0, size=0x21) + + Op.STOP, balance=23, nonce=0, - address=Address("0x230fcb597dd38307e287c745b56deb09a8a93ec0"), # noqa: E501 + address=Address(0x230FCB597DD38307E287C745B56DEB09A8A93EC0), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_suicide_address.py b/tests/ported_static/stSystemOperationsTest/test_suicide_address.py index 5c5a1339dc8..e2c9c6aa486 100644 --- a/tests/ported_static/stSystemOperationsTest/test_suicide_address.py +++ b/tests/ported_static/stSystemOperationsTest/test_suicide_address.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_suicide_address. Ported from: -tests/static/state_tests/stSystemOperationsTest/suicideAddressFiller.json +state_tests/stSystemOperationsTest/suicideAddressFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/suicideAddressFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/suicideAddressFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_suicide_address( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_suicide_address.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,31 +46,26 @@ def test_suicide_address( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[0]] (ADDRESS) (SELFDESTRUCT (ADDRESS))} - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ADDRESS) - + Op.SELFDESTRUCT(address=Op.ADDRESS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADDRESS) + + Op.SELFDESTRUCT(address=Op.ADDRESS) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xab0ceffaa4bd275f5819261e06029439647112c1"), # noqa: E501 + address=Address(0xAB0CEFFAA4BD275F5819261E06029439647112C1), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post = { - contract: Account( - storage={0: 0xAB0CEFFAA4BD275F5819261E06029439647112C1}, - ), - } + post = {target: Account(balance=0xDE0B6B3A76586A0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_suicide_caller.py b/tests/ported_static/stSystemOperationsTest/test_suicide_caller.py index 8aada2dfd46..df46e450717 100644 --- a/tests/ported_static/stSystemOperationsTest/test_suicide_caller.py +++ b/tests/ported_static/stSystemOperationsTest/test_suicide_caller.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_suicide_caller. Ported from: -tests/static/state_tests/stSystemOperationsTest/suicideCallerFiller.json +state_tests/stSystemOperationsTest/suicideCallerFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/suicideCallerFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/suicideCallerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_suicide_caller( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_suicide_caller.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,30 +46,32 @@ def test_suicide_caller( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[0]] (CALLER) (SELFDESTRUCT (CALLER))} - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.CALLER) - + Op.SELFDESTRUCT(address=Op.CALLER) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.CALLER) + + Op.SELFDESTRUCT(address=Op.CALLER) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x26a4c0125cc2ac853d5c04c3a710e7628ee352a3"), # noqa: E501 + address=Address(0x26A4C0125CC2AC853D5C04C3A710E7628EE352A3), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + sender: Account(nonce=1), + target: Account( storage={0: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297}, + balance=0, + nonce=0, ), } diff --git a/tests/ported_static/stSystemOperationsTest/test_suicide_caller_addres_too_big_left.py b/tests/ported_static/stSystemOperationsTest/test_suicide_caller_addres_too_big_left.py index b353232fea7..3527b32bbe2 100644 --- a/tests/ported_static/stSystemOperationsTest/test_suicide_caller_addres_too_big_left.py +++ b/tests/ported_static/stSystemOperationsTest/test_suicide_caller_addres_too_big_left.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_suicide_caller_addres_too_big_left. Ported from: -tests/static/state_tests/stSystemOperationsTest -suicideCallerAddresTooBigLeftFiller.json +state_tests/stSystemOperationsTest/suicideCallerAddresTooBigLeftFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/suicideCallerAddresTooBigLeftFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/suicideCallerAddresTooBigLeftFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_suicide_caller_addres_too_big_left( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_suicide_caller_addres_too_big_left.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,32 +49,32 @@ def test_suicide_caller_addres_too_big_left( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[0]] (CALLER) (SELFDESTRUCT 0xaaa94f5374fce5edbc8e2a8697c15331677e6ebf0b)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.CALLER) - + Op.SELFDESTRUCT( - address=0xAAA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.CALLER) + + Op.SELFDESTRUCT(address=0xAAA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + sender: Account(nonce=1), + contract_0: Account( storage={0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B}, + balance=0, + nonce=0, ), } diff --git a/tests/ported_static/stSystemOperationsTest/test_suicide_caller_addres_too_big_right.py b/tests/ported_static/stSystemOperationsTest/test_suicide_caller_addres_too_big_right.py index 9fa3d9a0ca7..d15d2aae98d 100644 --- a/tests/ported_static/stSystemOperationsTest/test_suicide_caller_addres_too_big_right.py +++ b/tests/ported_static/stSystemOperationsTest/test_suicide_caller_addres_too_big_right.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_suicide_caller_addres_too_big_right. Ported from: -tests/static/state_tests/stSystemOperationsTest -suicideCallerAddresTooBigRightFiller.json +state_tests/stSystemOperationsTest/suicideCallerAddresTooBigRightFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/suicideCallerAddresTooBigRightFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/suicideCallerAddresTooBigRightFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_suicide_caller_addres_too_big_right( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_suicide_caller_addres_too_big_right.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,32 +49,29 @@ def test_suicide_caller_addres_too_big_right( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[0]] (CALLER) (SELFDESTRUCT 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0baa)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.CALLER) - + Op.SELFDESTRUCT( - address=0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0BAA - ) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.CALLER) + + Op.SELFDESTRUCT(address=0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0BAA) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x095e7baea6a6c7c4c2dfeb977efac326af552d87"), # noqa: E501 + address=Address(0x095E7BAEA6A6C7C4C2DFEB977EFAC326AF552D87), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( - storage={0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B}, + Address(0x4F5374FCE5EDBC8E2A8697C15331677E6EBF0BAA): Account( + balance=0xDE0B6B3A76586A0 ), } diff --git a/tests/ported_static/stSystemOperationsTest/test_suicide_not_existing_account.py b/tests/ported_static/stSystemOperationsTest/test_suicide_not_existing_account.py index 8438c0c320d..ca54e97a1da 100644 --- a/tests/ported_static/stSystemOperationsTest/test_suicide_not_existing_account.py +++ b/tests/ported_static/stSystemOperationsTest/test_suicide_not_existing_account.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_suicide_not_existing_account. Ported from: -tests/static/state_tests/stSystemOperationsTest -suicideNotExistingAccountFiller.json +state_tests/stSystemOperationsTest/suicideNotExistingAccountFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/suicideNotExistingAccountFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/suicideNotExistingAccountFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_suicide_not_existing_account( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_suicide_not_existing_account.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,26 +48,31 @@ def test_suicide_not_existing_account( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0xaa1722f3947def4cf144679da39c4c32bdc35681 )} - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xAA1722F3947DEF4CF144679DA39C4C32BDC35681) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xAA1722F3947DEF4CF144679DA39C4C32BDC35681 + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x70c22830049f2678c8aa93d0060683cd67696495"), # noqa: E501 + address=Address(0x70C22830049F2678C8AA93D0060683CD67696495), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + Address(0xAA1722F3947DEF4CF144679DA39C4C32BDC35681): Account( + balance=0xDE0B6B3A76586A0 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_suicide_origin.py b/tests/ported_static/stSystemOperationsTest/test_suicide_origin.py index 897e7ffcb57..1dbd9045edc 100644 --- a/tests/ported_static/stSystemOperationsTest/test_suicide_origin.py +++ b/tests/ported_static/stSystemOperationsTest/test_suicide_origin.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_suicide_origin. Ported from: -tests/static/state_tests/stSystemOperationsTest/suicideOriginFiller.json +state_tests/stSystemOperationsTest/suicideOriginFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/suicideOriginFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/suicideOriginFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_suicide_origin( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_suicide_origin.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,30 +46,32 @@ def test_suicide_origin( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { [[0]] (ORIGIN) (SELFDESTRUCT (ORIGIN))} - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.ORIGIN) - + Op.SELFDESTRUCT(address=Op.ORIGIN) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ORIGIN) + + Op.SELFDESTRUCT(address=Op.ORIGIN) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x8a448e5835bbdd139b8a2053ee6fe895522048a1"), # noqa: E501 + address=Address(0x8A448E5835BBDD139B8A2053EE6FE895522048A1), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + sender: Account(nonce=1), + target: Account( storage={0: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297}, + balance=0, + nonce=0, ), } diff --git a/tests/ported_static/stSystemOperationsTest/test_suicide_send_ether_post_death.py b/tests/ported_static/stSystemOperationsTest/test_suicide_send_ether_post_death.py index 99d86b0d8ca..5837e3f5c3c 100644 --- a/tests/ported_static/stSystemOperationsTest/test_suicide_send_ether_post_death.py +++ b/tests/ported_static/stSystemOperationsTest/test_suicide_send_ether_post_death.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_suicide_send_ether_post_death. Ported from: -tests/static/state_tests/stSystemOperationsTest -suicideSendEtherPostDeathFiller.json +state_tests/stSystemOperationsTest/suicideSendEtherPostDeathFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stSystemOperationsTest/suicideSendEtherPostDeathFiller.json", # noqa: E501 + "state_tests/stSystemOperationsTest/suicideSendEtherPostDeathFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_suicide_send_ether_post_death( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_suicide_send_ether_post_death.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xB1F4CBC3A50042184425A6F9E996D0910F7BA879457CE5DAC5C71E498AD3C005 ) @@ -48,143 +48,142 @@ def test_suicide_send_ether_post_death( gas_limit=10000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x40, value=0x60) - + Op.CALLDATALOAD(offset=0x0) - + Op.PUSH29[ - 0x100000000000000000000000000000000000000000000000000000000 - ] - + Op.SWAP1 - + Op.DIV - + Op.JUMPI(pc=Op.PUSH2[0x44], condition=Op.EQ(0x35F46994, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0x51], condition=Op.EQ(0x4D536FE3, Op.DUP1)) - + Op.JUMP(pc=Op.PUSH2[0x42]) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x4F] - + Op.POP(0x4) - + Op.JUMP(pc=Op.PUSH2[0x72]) - + Op.JUMPDEST - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x5C] - + Op.POP(0x4) - + Op.JUMP(pc=Op.PUSH2[0x8D]) - + Op.JUMPDEST - + Op.MLOAD(offset=0x40) - + Op.DUP1 - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) - + Op.PUSH1[0x20] - + Op.ADD - + Op.SWAP2 - + Op.POP - + Op.POP - + Op.MLOAD(offset=0x40) - + Op.DUP1 - + Op.SWAP2 - + Op.SUB - + Op.SWAP1 - + Op.RETURN - + Op.JUMPDEST - + Op.SELFDESTRUCT( - address=Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.ADDRESS, - ), - ) - + Op.JUMPDEST - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x0] - + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.ADDRESS) - + Op.PUSH4[0x35F46994] - + Op.MLOAD(offset=0x40) - + Op.MSTORE( - offset=Op.DUP2, - value=Op.MUL( - 0x100000000000000000000000000000000000000000000000000000000, # noqa: E501 - Op.DUP2, - ), - ) - + Op.PUSH1[0x4] - + Op.ADD - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.JUMPI( - pc=Op.PUSH2[0x2], - condition=Op.ISZERO( - Op.CALL( - gas=Op.SUB(Op.GAS, 0x61DA), - address=Op.DUP8, - value=0x0, - args_offset=Op.DUP2, - args_size=Op.SUB(Op.DUP4, Op.DUP1), - ret_offset=Op.MLOAD(offset=0x40), - ret_size=0x0, - ), - ), - ) - + Op.POP - + Op.POP - + Op.POP - + Op.BALANCE( - address=Op.AND( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, - Op.ADDRESS, - ), + # Source: hex + # 0x60606040526000357c01000000000000000000000000000000000000000000000000000000009004806335f46994146100445780634d536fe31461005157610042565b005b61004f600450610072565b005b61005c60045061008d565b6040518082815260200191505060405180910390f35b3073ffffffffffffffffffffffffffffffffffffffff16ff5b565b600060003073ffffffffffffffffffffffffffffffffffffffff166335f46994604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506000604051808303816000876161da5a03f115610002575050503073ffffffffffffffffffffffffffffffffffffffff163190503373ffffffffffffffffffffffffffffffffffffffff16600082604051809050600060405180830381858888f1935050505050809150610147565b509056 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x40, value=0x60) + + Op.CALLDATALOAD(offset=0x0) + + Op.PUSH29[ + 0x100000000000000000000000000000000000000000000000000000000 + ] + + Op.SWAP1 + + Op.DIV + + Op.JUMPI(pc=Op.PUSH2[0x44], condition=Op.EQ(0x35F46994, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0x51], condition=Op.EQ(0x4D536FE3, Op.DUP1)) + + Op.JUMP(pc=Op.PUSH2[0x42]) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x4F] + + Op.POP(0x4) + + Op.JUMP(pc=Op.PUSH2[0x72]) + + Op.JUMPDEST + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x5C] + + Op.POP(0x4) + + Op.JUMP(pc=Op.PUSH2[0x8D]) + + Op.JUMPDEST + + Op.MLOAD(offset=0x40) + + Op.DUP1 + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) + + Op.PUSH1[0x20] + + Op.ADD + + Op.SWAP2 + + Op.POP * 2 + + Op.MLOAD(offset=0x40) + + Op.DUP1 + + Op.SWAP2 + + Op.SUB + + Op.SWAP1 + + Op.RETURN + + Op.JUMPDEST + + Op.SELFDESTRUCT( + address=Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.ADDRESS ) - + Op.SWAP1 - + Op.POP - + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.CALLER) - + Op.PUSH1[0x0] - + Op.DUP3 - + Op.MLOAD(offset=0x40) - + Op.DUP1 - + Op.SWAP1 - + Op.POP - + Op.CALL( - gas=Op.DUP9, - address=Op.DUP9, - value=Op.DUP6, - args_offset=Op.DUP2, - args_size=Op.SUB(Op.DUP4, Op.DUP1), - ret_offset=Op.MLOAD(offset=0x40), - ret_size=0x0, + ) + + Op.JUMPDEST + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] * 2 + + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.ADDRESS) + + Op.PUSH4[0x35F46994] + + Op.MLOAD(offset=0x40) + + Op.MSTORE( + offset=Op.DUP2, + value=Op.MUL( + 0x100000000000000000000000000000000000000000000000000000000, + Op.DUP2, + ), + ) + + Op.PUSH1[0x4] + + Op.ADD + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.JUMPI( + pc=Op.PUSH2[0x2], + condition=Op.ISZERO( + Op.CALL( + gas=Op.SUB(Op.GAS, 0x61DA), + address=Op.DUP8, + value=0x0, + args_offset=Op.DUP2, + args_size=Op.SUB(Op.DUP4, Op.DUP1), + ret_offset=Op.MLOAD(offset=0x40), + ret_size=0x0, + ) + ), + ) + + Op.POP * 3 + + Op.BALANCE( + address=Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.ADDRESS ) - + Op.SWAP4 - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.DUP1 - + Op.SWAP2 - + Op.POP - + Op.JUMP(pc=0x147) - + Op.JUMPDEST - + Op.POP - + Op.SWAP1 - + Op.JUMP - ), + ) + + Op.SWAP1 + + Op.POP + + Op.AND(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, Op.CALLER) + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.MLOAD(offset=0x40) + + Op.DUP1 + + Op.SWAP1 + + Op.POP + + Op.CALL( + gas=Op.DUP9, + address=Op.DUP9, + value=Op.DUP6, + args_offset=Op.DUP2, + args_size=Op.SUB(Op.DUP4, Op.DUP1), + ret_offset=Op.MLOAD(offset=0x40), + ret_size=0x0, + ) + + Op.SWAP4 + + Op.POP * 5 + + Op.DUP1 + + Op.SWAP2 + + Op.POP + + Op.JUMP(pc=0x147) + + Op.JUMPDEST + + Op.POP + + Op.SWAP1 + + Op.JUMP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xa997455dca526734f5607f7c452de0cfb9af19f4"), # noqa: E501 + address=Address(0xA997455DCA526734F5607F7C452DE0CFB9AF19F4), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("4d536fe3"), + to=target, + data=Bytes("4d536fe3"), gas_limit=3000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + sender: Account(nonce=1), + target: Account( + storage={}, + code=bytes.fromhex( + "60606040526000357c01000000000000000000000000000000000000000000000000000000009004806335f46994146100445780634d536fe31461005157610042565b005b61004f600450610072565b005b61005c60045061008d565b6040518082815260200191505060405180910390f35b3073ffffffffffffffffffffffffffffffffffffffff16ff5b565b600060003073ffffffffffffffffffffffffffffffffffffffff166335f46994604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506000604051808303816000876161da5a03f115610002575050503073ffffffffffffffffffffffffffffffffffffffff163190503373ffffffffffffffffffffffffffffffffffffffff16600082604051809050600060405180830381858888f1935050505050809150610147565b509056" # noqa: E501 + ), + balance=0, + nonce=0, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_suicide_send_ether_to_me.py b/tests/ported_static/stSystemOperationsTest/test_suicide_send_ether_to_me.py index ca1eb1a163c..1236f981735 100644 --- a/tests/ported_static/stSystemOperationsTest/test_suicide_send_ether_to_me.py +++ b/tests/ported_static/stSystemOperationsTest/test_suicide_send_ether_to_me.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_suicide_send_ether_to_me. Ported from: -tests/static/state_tests/stSystemOperationsTest/suicideSendEtherToMeFiller.json +state_tests/stSystemOperationsTest/suicideSendEtherToMeFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/suicideSendEtherToMeFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/suicideSendEtherToMeFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_suicide_send_ether_to_me( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_suicide_send_ether_to_me.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,23 +46,27 @@ def test_suicide_send_ether_to_me( gas_limit=10000000, ) - # Source: LLL + # Source: lll # { (SELFDESTRUCT (ADDRESS) )} - contract = pre.deploy_contract( + target = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=Op.ADDRESS) + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x3b11a41d66b30b30d4d5be673f7d5c7d72c9fca8"), # noqa: E501 + address=Address(0x3B11A41D66B30B30D4D5BE673F7D5C7D72C9FCA8), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=1000000, - value=100000, + value=0x186A0, ) - post: dict = {} + post = { + sender: Account(balance=0xDE0B6B3A75E81AC, nonce=1), + target: Account(storage={}, balance=0xDE0B6B3A76586A0, nonce=0), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stSystemOperationsTest/test_test_name_registrator.py b/tests/ported_static/stSystemOperationsTest/test_test_name_registrator.py index b93d3b23c34..62f6185178f 100644 --- a/tests/ported_static/stSystemOperationsTest/test_test_name_registrator.py +++ b/tests/ported_static/stSystemOperationsTest/test_test_name_registrator.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_test_name_registrator. Ported from: -tests/static/state_tests/stSystemOperationsTest/TestNameRegistratorFiller.json +state_tests/stSystemOperationsTest/TestNameRegistratorFiller.json """ import pytest @@ -12,6 +12,7 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/TestNameRegistratorFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/TestNameRegistratorFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_test_name_registrator( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_test_name_registrator.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,39 +46,39 @@ def test_test_name_registrator( gas_limit=1000000, ) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.JUMPI( - pc=0x9, - condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), - ) - + Op.STOP - + Op.JUMPDEST - + Op.SSTORE( - key=Op.CALLDATALOAD(offset=0x0), - value=Op.CALLDATALOAD(offset=0x20), - ) + # Source: raw + # 0x6000355415600957005b60203560003555 + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0xfd6034ff12fad248c17ca3c09f0d7b19243275cd"), # noqa: E501 + address=Address(0xFD6034FF12FAD248C17CA3C09F0D7B19243275CD), # noqa: E501 ) + pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaffffffff" # noqa: E501 - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffa" + to=target, + data=Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA ), gas_limit=1000000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + target: Account( storage={ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA, # noqa: E501 }, diff --git a/tests/ported_static/stSystemOperationsTest/test_test_random_test.py b/tests/ported_static/stSystemOperationsTest/test_test_random_test.py index ac4ba6270d3..90d7fe39d4a 100644 --- a/tests/ported_static/stSystemOperationsTest/test_test_random_test.py +++ b/tests/ported_static/stSystemOperationsTest/test_test_random_test.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_test_random_test. Ported from: -tests/static/state_tests/stSystemOperationsTest/testRandomTestFiller.json +state_tests/stSystemOperationsTest/testRandomTestFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stSystemOperationsTest/testRandomTestFiller.json", # noqa: E501 - ], + ["state_tests/stSystemOperationsTest/testRandomTestFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_test_random_test( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_test_random_test.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,42 +47,41 @@ def test_test_random_test( gas_limit=1000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.TIMESTAMP - + Op.PREVRANDAO - + Op.NUMBER - + Op.PREVRANDAO - + Op.SSTORE( - key=Op.CREATE( - value=Op.GAS, - offset=Op.ISZERO( - Op.CREATE( - value=Op.DUP4, offset=Op.NUMBER, size=Op.NUMBER - ), - ), - size=Op.NUMBER, + # Source: raw + # 0x424443444243434383f0155af055 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.TIMESTAMP + + Op.PREVRANDAO + + Op.NUMBER + + Op.PREVRANDAO + + Op.SSTORE( + key=Op.CREATE( + value=Op.GAS, + offset=Op.ISZERO( + Op.CREATE(value=Op.DUP4, offset=Op.NUMBER, size=Op.NUMBER) ), - value=Op.TIMESTAMP, - ) + size=Op.NUMBER, + ), + value=Op.TIMESTAMP, ), balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=300000, - value=100000, + value=0x186A0, ) post = { - contract: Account( + contract_0: Account( storage={0xEBCCE5F60530275EE9318CE1EFF9E4BFEE810172: 1000}, + nonce=2, ), } diff --git a/tests/ported_static/stTimeConsuming/__init__.py b/tests/ported_static/stTimeConsuming/__init__.py index 07c0965a5ea..08a79b03774 100644 --- a/tests/ported_static/stTimeConsuming/__init__.py +++ b/tests/ported_static/stTimeConsuming/__init__.py @@ -1 +1 @@ -"""Tests ported from stTimeConsuming.""" +"""Ported static tests: stTimeConsuming.""" # noqa: N999 diff --git a/tests/ported_static/stTimeConsuming/conftest.py b/tests/ported_static/stTimeConsuming/conftest.py deleted file mode 100644 index de0d92e1862..00000000000 --- a/tests/ported_static/stTimeConsuming/conftest.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Pytest configuration to mark all tests as slow.""" - -from pathlib import Path -from typing import Any - -import pytest - - -def pytest_collection_modifyitems(config: Any, items: Any) -> None: - """Add the `slow` marker to time-consuming tests.""" - del config - st_time_consuming_dir = Path(__file__).parent - for item in items: - if st_time_consuming_dir in Path(item.fspath).parents: - item.add_marker(pytest.mark.slow) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial00_2_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial00_2_paris.py index ff243383802..b562140a45d 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial00_2_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial00_2_paris.py @@ -1,9 +1,8 @@ """ -sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial00_2_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial00_2_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,10660 +25,2580 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial00_2_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial00_2_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6101aa6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102106064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102116064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102126064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102136064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102146064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102156064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102166064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102176064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b46064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102186064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102196064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102206064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102216064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b56064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102226064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102236064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102246064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102256064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102266064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102276064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102286064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102296064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b66064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102306064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102316064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102326064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102336064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102346064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102356064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b76064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102366064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102376064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102386064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102396064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b86064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102406064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102416064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102426064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102436064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102446064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102456064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102466064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102476064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102486064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102496064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b96064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102506064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102516064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102526064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102536064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ba6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102546064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102556064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102566064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102576064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102586064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102596064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101bb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102606064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102616064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102626064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102636064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102646064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102656064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102666064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102676064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101bc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102686064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102696064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102706064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102716064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101bd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ab6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102726064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102736064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102746064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102756064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102766064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102776064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102786064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102796064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101be6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102806064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102816064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102826064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102836064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102846064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102856064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101bf6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102866064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102876064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102886064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102896064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c06064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102906064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102916064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102926064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102936064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102946064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102956064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102966064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102976064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102986064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102996064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c16064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a06064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a16064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a26064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a36064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c26064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a46064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a56064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a66064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a76064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a86064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a96064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102aa6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ab6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ac6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ad6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c36064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ae6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102af6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b06064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b16064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b26064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b36064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b46064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b56064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b66064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b76064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c46064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b86064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b96064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ba6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102be6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bf6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c06064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c16064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c56064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c26064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c36064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c46064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c56064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c66064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c76064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c86064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c96064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ca6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102cb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c66064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102cc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102cd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ce6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102cf6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d06064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d16064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d26064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d36064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d46064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d56064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c76064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ac6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d66064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d76064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d86064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d96064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102da6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102db6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102dc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102dd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102de6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102df6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c86064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e06064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e16064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e26064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e36064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e46064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e56064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e66064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e76064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e86064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e96064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c96064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ea6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102eb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ec6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ed6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ee6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ef6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f06064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f16064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f26064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f36064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ca6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f46064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f56064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f66064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f76064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f86064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f96064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fa6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101cb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fe6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ff6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103006064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103016064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103026064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103036064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103046064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103056064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103066064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103076064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101cc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103086064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103096064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103106064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103116064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101cd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103126064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103136064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103146064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103156064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103166064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103176064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103186064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103196064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ce6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103206064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103216064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103226064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103236064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103246064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103256064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101cf6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103266064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103276064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103286064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103296064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d06064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103306064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103316064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103326064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103336064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103346064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103356064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103366064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103376064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103386064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103396064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d16064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ad6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103406064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103416064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103426064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103436064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d26064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103446064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103456064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103466064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103476064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103486064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103496064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d36064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103506064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103516064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d46064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d56064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d66064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d76064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d86064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d96064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101da6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101db6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ae6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101dc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101dd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101de6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101df6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e06064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e16064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e26064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e36064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e46064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e56064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101af6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e66064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e76064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e86064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e96064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ea6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101eb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ec6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ed6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ee6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ef6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b06064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f06064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f16064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f26064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f36064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f46064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f56064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f66064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f76064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f86064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f96064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b16064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101fa6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101fb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101fc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101fd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101fe6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ff6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102006064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102016064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102026064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102036064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b26064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102046064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102056064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102066064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102076064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102086064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102096064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b36064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial00_2_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -10688,111 +2609,22850 @@ def test_sstore_combinations_initial00_2_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x1AA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1ED) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x200) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x201) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x202) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x203) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x204) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x205) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x206) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x207) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x208) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x209) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x210) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x211) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x212) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x213) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x214) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x215) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x216) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x217) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x218) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x219) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x220) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x221) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x222) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x223) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x224) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x225) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x226) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x227) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x228) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x229) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x230) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x231) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x232) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x233) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x234) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x235) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x236) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x237) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x238) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x239) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x240) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x241) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x242) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x243) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x244) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x245) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x246) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x247) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x248) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x249) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x250) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x251) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x252) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x253) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x254) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x255) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x256) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x257) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x258) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x259) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x260) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x261) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x262) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x263) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x264) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x265) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x266) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x267) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x268) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x269) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x270) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x271) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x272) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x273) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x274) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x275) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x276) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x277) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x278) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x279) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x280) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x281) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x282) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x283) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x284) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x285) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x286) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x287) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x288) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x289) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x290) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x291) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x292) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x293) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x294) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x295) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x296) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x297) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x298) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x299) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2ED) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x300) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x301) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x302) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x303) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x304) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x305) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x306) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x307) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x308) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x309) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x310) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x311) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x312) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x313) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x314) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x315) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x316) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x317) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x318) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x319) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x320) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x321) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x322) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x323) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x324) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x325) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x326) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x327) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x328) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x329) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x330) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x331) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x332) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x333) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x334) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x335) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x336) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x337) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x338) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x339) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x340) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x341) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x342) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x343) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x344) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x345) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x346) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x347) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x348) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x349) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x350) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x351) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial00_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial00_paris.py index 55150933e83..76ae2f8ee9e 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial00_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial00_paris.py @@ -1,9 +1,8 @@ """ -sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial00_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial00_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,10879 +25,2592 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial00_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial00_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6000606452600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60646064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60656064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60666064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60676064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60686064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60696064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60706064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60716064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60726064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60736064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60746064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60756064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60766064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60776064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60786064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60796064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60806064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60816064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60826064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60836064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60846064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60856064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60866064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60876064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60886064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60896064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60906064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60916064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60926064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60936064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60946064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60956064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60966064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60976064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60986064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60996064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a06064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a16064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a26064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a36064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a46064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a56064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a66064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a76064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a86064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a96064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60106064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60aa6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ab6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ac6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ad6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ae6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60af6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b06064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b16064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b26064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b36064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60116064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b46064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b56064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b66064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b76064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b86064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b96064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ba6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60bb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60bc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60bd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60126064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60be6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60bf6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c06064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c16064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c26064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c36064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c46064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c56064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c66064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c76064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60136064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60016064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c86064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c96064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ca6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60cb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60cc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60cd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ce6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60cf6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d06064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d16064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60146064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d26064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d36064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d46064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d56064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d66064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d76064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d86064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d96064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60da6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60db6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60156064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60dc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60dd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60de6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60df6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e06064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e16064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e26064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e36064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e46064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e56064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60166064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e66064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e76064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e86064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e96064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ea6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60eb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ec6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ed6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ee6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ef6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60176064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f06064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f16064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f26064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f36064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f46064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f56064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f66064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f76064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f86064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f96064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60186064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60fa6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60fb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60fc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60fd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60fe6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ff6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101006064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101016064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101026064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101036064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60196064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101046064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101056064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101066064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101076064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101086064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101096064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101106064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101116064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101126064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101136064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101146064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101156064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101166064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101176064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101186064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101196064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101206064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101216064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101226064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101236064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101246064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101256064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101266064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101276064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101286064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101296064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60026064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101306064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101316064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101326064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101336064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101346064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101356064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101366064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101376064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101386064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101396064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101406064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101416064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101426064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101436064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101446064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101456064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101466064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101476064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101486064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101496064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60206064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101506064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101516064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101526064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101536064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60216064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101546064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101556064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101566064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101576064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101586064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101596064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60226064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101606064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101616064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101626064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101636064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101646064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101656064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101666064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101676064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60236064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101686064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101696064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101706064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101716064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60246064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101726064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101736064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101746064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101756064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101766064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101776064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101786064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101796064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60256064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101806064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101816064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101826064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101836064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101846064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101856064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60266064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101866064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101876064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101886064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101896064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60276064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60036064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101906064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101916064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101926064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101936064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101946064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101956064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101966064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101976064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101986064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101996064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60286064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a06064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a16064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a26064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a36064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60296064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a46064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a56064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a66064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a76064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a86064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a96064526000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60306064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60316064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60046064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60326064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60336064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60346064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60356064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60366064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60376064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60386064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60396064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60056064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60406064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60416064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60426064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60436064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60446064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60456064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60066064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60466064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60476064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60486064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60496064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60076064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60506064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60516064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60526064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60536064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60546064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60556064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60566064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60576064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60586064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60596064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60086064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60606064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60616064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60626064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60636064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60096064526000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", + ), + pytest.param( + 424, + 0, + 0, + id="d424", + ), + pytest.param( + 425, + 0, + 0, + id="d425", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - "case424", - "case425", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial00_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -10907,111 +2621,22945 @@ def test_sstore_combinations_initial00_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x0) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x70) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x71) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x72) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x73) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x74) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x75) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x76) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x77) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x78) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x79) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x80) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x81) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x82) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x83) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x84) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x85) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x86) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x87) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x88) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x89) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x90) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x91) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x92) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x93) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x94) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x95) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x96) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x97) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x98) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x99) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xED) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x100) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x101) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x102) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x103) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x104) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x105) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x106) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x107) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x108) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x109) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x110) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x111) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x112) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x113) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x114) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x115) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x116) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x117) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x118) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x119) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x120) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x121) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x122) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x123) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x124) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x125) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x126) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x127) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x128) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x129) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x130) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x131) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x132) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x133) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x134) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x135) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x136) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x137) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x138) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x139) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x140) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x141) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x142) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x143) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x144) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x145) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x146) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x147) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x148) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x149) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x150) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x151) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x152) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x153) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x154) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x155) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x156) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x157) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x158) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x159) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x160) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x161) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x162) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x163) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x164) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x165) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x166) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x167) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x168) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x169) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x170) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x171) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x172) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x173) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x174) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x175) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x176) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x177) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x178) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x179) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x180) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x181) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x182) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x183) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x184) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x185) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x186) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x187) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x188) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x189) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x190) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x191) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x192) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x193) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x194) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x195) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x196) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x197) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x198) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x199) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial01_2_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial01_2_paris.py index 5bd121e10c5..59336af862a 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial01_2_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial01_2_paris.py @@ -1,9 +1,8 @@ """ -sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial01_2_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial01_2_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,11227 +25,2754 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial01_2_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial01_2_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6104fc606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610560606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610561606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610562606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610563606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610564606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610565606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610566606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610567606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610568606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610569606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610506606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610570606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610571606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610572606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610573606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610507606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610574606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610575606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610576606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610577606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610578606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610579606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610508606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610580606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610581606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610582606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610583606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610584606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610585606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610586606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610587606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610509606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610588606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610589606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610590606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610591606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610592606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610593606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610594606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610595606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610596606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610597606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610598606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610599606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a0606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a1606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a2606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a3606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a4606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a5606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a6606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a7606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a8606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a9606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105aa606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ab606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ac606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ad606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ae606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105af606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b0606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b1606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b2606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b3606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b4606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b5606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b6606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b7606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b8606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b9606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ba606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bb606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bc606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bd606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105be606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bf606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c0606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c1606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c2606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c3606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fd606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c4606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c5606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c6606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c7606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c8606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c9606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ca606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cb606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cc606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cd606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610510606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ce606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cf606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d0606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d1606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d2606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d3606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d4606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d5606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d6606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d7606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610511606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d8606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d9606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105da606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105db606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105dc606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105dd606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105de606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105df606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e0606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e1606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610512606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e2606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e3606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e4606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e5606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e6606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e7606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e8606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e9606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ea606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105eb606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610513606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ec606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ed606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ee606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ef606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f0606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f1606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f2606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f3606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f4606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f5606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610514606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f6606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f7606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f8606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f9606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fa606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fb606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fc606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fd606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fe606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ff606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610515606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610600606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610601606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610602606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610603606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610604606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610605606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610606606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610607606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610608606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610609606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610516606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060a606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060b606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060c606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060d606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060e606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060f606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610610606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610611606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610612606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610613606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610517606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610614606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610615606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610616606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610617606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610618606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610619606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061a606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061b606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061c606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061d606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610518606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061e606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061f606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610620606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610621606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610622606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610623606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610624606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610625606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610626606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610627606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610519606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fe606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610628606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610629606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062a606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062b606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062c606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062d606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062e606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062f606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610630606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610631606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610632606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610633606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610634606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610635606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610636606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610637606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610638606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610639606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063a606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063b606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063c606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063d606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063e606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063f606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610640606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610641606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610642606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610643606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610644606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610645606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610646606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610647606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610648606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610649606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064a606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064b606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064c606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064d606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064e606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064f606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610650606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610651606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610652606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610653606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610654606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610655606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610656606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610657606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610658606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610659606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065a606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065b606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065c606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065d606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065e606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065f606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610660606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610661606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610662606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610663606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610664606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610665606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610666606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610667606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610668606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610669606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066a606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066b606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066c606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066d606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610520606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066e606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066f606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610670606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610671606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610672606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610673606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610674606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610675606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610676606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610677606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610521606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610678606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610679606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067a606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067b606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067c606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067d606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067e606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067f606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610680606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610681606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610522606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610682606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610683606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610684606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610685606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610686606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610687606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610688606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610689606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068a606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068b606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610523606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ff606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068c606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068d606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068e606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068f606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610690606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610691606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610692606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610693606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610694606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610695606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610524606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610696606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610697606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610698606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610699606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069a606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069b606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069c606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069d606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069e606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069f606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610525606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a0606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a1606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a2606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a3606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a4606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a5606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a6606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a7606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a8606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a9606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610526606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106aa606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ab606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ac606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ad606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ae606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106af606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b0606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b1606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b2606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b3606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610527606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b4606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b5606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b6606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b7606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b8606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b9606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ba606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bb606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bc606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bd606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610528606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106be606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bf606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106c0606452600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610529606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610500606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610530606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610531606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610532606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610533606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610534606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610535606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610536606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610537606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610501606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610538606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610539606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610540606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610541606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610502606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610542606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610543606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610544606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610545606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610546606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610547606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610548606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610549606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610503606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610550606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610551606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610552606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610553606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610554606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610555606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610504606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610556606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610557606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610558606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610559606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610505606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", + ), + pytest.param( + 424, + 0, + 0, + id="d424", + ), + pytest.param( + 425, + 0, + 0, + id="d425", + ), + pytest.param( + 426, + 0, + 0, + id="d426", + ), + pytest.param( + 427, + 0, + 0, + id="d427", + ), + pytest.param( + 428, + 0, + 0, + id="d428", + ), + pytest.param( + 429, + 0, + 0, + id="d429", + ), + pytest.param( + 430, + 0, + 0, + id="d430", + ), + pytest.param( + 431, + 0, + 0, + id="d431", + ), + pytest.param( + 432, + 0, + 0, + id="d432", + ), + pytest.param( + 433, + 0, + 0, + id="d433", + ), + pytest.param( + 434, + 0, + 0, + id="d434", + ), + pytest.param( + 435, + 0, + 0, + id="d435", + ), + pytest.param( + 436, + 0, + 0, + id="d436", + ), + pytest.param( + 437, + 0, + 0, + id="d437", + ), + pytest.param( + 438, + 0, + 0, + id="d438", + ), + pytest.param( + 439, + 0, + 0, + id="d439", + ), + pytest.param( + 440, + 0, + 0, + id="d440", + ), + pytest.param( + 441, + 0, + 0, + id="d441", + ), + pytest.param( + 442, + 0, + 0, + id="d442", + ), + pytest.param( + 443, + 0, + 0, + id="d443", + ), + pytest.param( + 444, + 0, + 0, + id="d444", + ), + pytest.param( + 445, + 0, + 0, + id="d445", + ), + pytest.param( + 446, + 0, + 0, + id="d446", + ), + pytest.param( + 447, + 0, + 0, + id="d447", + ), + pytest.param( + 448, + 0, + 0, + id="d448", + ), + pytest.param( + 449, + 0, + 0, + id="d449", + ), + pytest.param( + 450, + 0, + 0, + id="d450", + ), + pytest.param( + 451, + 0, + 0, + id="d451", + ), + pytest.param( + 452, + 0, + 0, + id="d452", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - "case424", - "case425", - "case426", - "case427", - "case428", - "case429", - "case430", - "case431", - "case432", - "case433", - "case434", - "case435", - "case436", - "case437", - "case438", - "case439", - "case440", - "case441", - "case442", - "case443", - "case444", - "case445", - "case446", - "case447", - "case448", - "case449", - "case450", - "case451", - "case452", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial01_2_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -11255,111 +2783,23823 @@ def test_sstore_combinations_initial01_2_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x4FC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x500) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x501) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x502) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x503) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x504) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x505) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x506) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x507) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x508) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x509) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x510) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x511) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x512) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x513) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x514) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x515) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x516) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x517) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x518) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x519) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x520) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x521) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x522) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x523) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x524) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x525) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x526) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x527) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x528) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x529) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x530) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x531) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x532) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x533) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x534) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x535) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x536) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x537) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x538) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x539) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x540) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x541) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x542) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x543) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x544) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x545) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x546) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x547) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x548) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x549) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x550) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x551) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x552) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x553) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x554) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x555) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x556) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x557) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x558) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x559) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x560) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x561) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x562) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x563) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x564) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x565) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x566) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x567) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x568) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x569) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x570) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x571) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x572) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x573) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x574) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x575) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x576) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x577) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x578) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x579) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x580) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x581) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x582) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x583) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x584) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x585) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x586) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x587) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x588) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x589) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x590) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x591) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x592) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x593) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x594) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x595) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x596) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x597) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x598) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x599) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5ED) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x600) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x601) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x602) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x603) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x604) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x605) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x606) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x607) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x608) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x609) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x610) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x611) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x612) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x613) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x614) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x615) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x616) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x617) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x618) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x619) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x620) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x621) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x622) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x623) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x624) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x625) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x626) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x627) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x628) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x629) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x630) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x631) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x632) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x633) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x634) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x635) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x636) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x637) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x638) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x639) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x640) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x641) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x642) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x643) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x644) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x645) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x646) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x647) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x648) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x649) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x650) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x651) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x652) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x653) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x654) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x655) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x656) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x657) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x658) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x659) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x660) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x661) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x662) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x663) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x664) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x665) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x666) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x667) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x668) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x669) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x670) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x671) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x672) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x673) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x674) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x675) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x676) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x677) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x678) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x679) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x680) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x681) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x682) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x683) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x684) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x685) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x686) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x687) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x688) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x689) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x690) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x691) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x692) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x693) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x694) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x695) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x696) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x697) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x698) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x699) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6C0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial01_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial01_paris.py index ca63a5b1e5d..3c48c57e01c 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial01_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial01_paris.py @@ -1,9 +1,8 @@ """ -sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial01_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial01_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,10579 +25,2592 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial01_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial01_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6103526064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b66064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b76064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b86064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b96064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ba6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103be6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bf6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c06064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c16064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c26064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c36064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c46064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c56064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c66064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c76064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c86064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c96064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ca6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103cb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103cc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103cd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ce6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103cf6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d06064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d16064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d26064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d36064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d46064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d56064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d66064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d76064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d86064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d96064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103da6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103db6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103dc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103dd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103de6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103df6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e06064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e16064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e26064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e36064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e46064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e56064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e66064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e76064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103606064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e86064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e96064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ea6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103eb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ec6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ed6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ee6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ef6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f06064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f16064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103616064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f26064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f36064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f46064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f56064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f66064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f76064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f86064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f96064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fa6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fb6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103626064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fc6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fd6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fe6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ff6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104006064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104016064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104026064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104036064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104046064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104056064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103636064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104066064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104076064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104086064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104096064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103646064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104106064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104116064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104126064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104136064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104146064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104156064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104166064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104176064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104186064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104196064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103656064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103536064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104206064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104216064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104226064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104236064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103666064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104246064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104256064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104266064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104276064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104286064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104296064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103676064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104306064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104316064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104326064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104336064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104346064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104356064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104366064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104376064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103686064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104386064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104396064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104406064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104416064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103696064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104426064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104436064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104446064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104456064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104466064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104476064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104486064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104496064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104506064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104516064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104526064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104536064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104546064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104556064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104566064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104576064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104586064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104596064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104606064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104616064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104626064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104636064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104646064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104656064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104666064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104676064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104686064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104696064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104706064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104716064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104726064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104736064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104746064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104756064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104766064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104776064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104786064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104796064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103546064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104806064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610481606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610482606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610483606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610484606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610485606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610486606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610487606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103706064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610488606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610489606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610490606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610491606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103716064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610492606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610493606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610494606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610495606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610496606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610497606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610498606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610499606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049a606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049b606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103726064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049c606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049d606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049e606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049f606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a0606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a1606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a2606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a3606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a4606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a5606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103736064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a6606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a7606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a8606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a9606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104aa606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ab606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ac606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ad606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ae606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104af606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103746064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b0606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b1606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b2606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b3606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b4606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b5606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b6606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b7606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b8606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b9606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103756064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ba606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104bb606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104bc606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104bd606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104be606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104bf606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c0606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c1606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c2606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c3606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103766064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c4606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c5606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c6606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c7606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c8606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c9606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ca606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cb606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cc606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cd606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103776064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ce606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cf606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d0606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d1606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d2606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d3606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d4606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d5606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d6606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d7606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103786064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d8606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d9606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104da606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104db606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104dc606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104dd606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104de606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104df606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e0606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e1606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103796064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103556064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e2606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e3606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e4606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e5606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e6606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e7606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e8606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e9606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ea606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104eb606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ec606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ed606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ee606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ef606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f0606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f1606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f2606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f3606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f4606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f5606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f6606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f7606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f8606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f9606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fa606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fb606452600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103806064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103816064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103826064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103836064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103566064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103846064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103856064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103866064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103876064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103886064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103896064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103576064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103906064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103916064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103926064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103936064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103946064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103956064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103966064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103976064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103586064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103986064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103996064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039c6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039d6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039e6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039f6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a06064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a16064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103596064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a26064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a36064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a46064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a56064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a66064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a76064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a86064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb000000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a96064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103aa6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ab6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035a6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ac6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ad6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ae6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103af6064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b06064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b16064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b26064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b36064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b46064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b56064526000600060206000600073b000000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b000000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035b6064526000600060206000600073b000000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b000000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", + ), + pytest.param( + 424, + 0, + 0, + id="d424", + ), + pytest.param( + 425, + 0, + 0, + id="d425", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - "case424", - "case425", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial01_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 0 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -10607,111 +2621,22695 @@ def test_sstore_combinations_initial01_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x352) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x353) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x354) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x355) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x356) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x357) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x358) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x359) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x360) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x361) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x362) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x363) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x364) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x365) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x366) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x367) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x368) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x369) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x370) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x371) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x372) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x373) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x374) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x375) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x376) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x377) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x378) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x379) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x380) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x381) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x382) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x383) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x384) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x385) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x386) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x387) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x388) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x389) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x390) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x391) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x392) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x393) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x394) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x395) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x396) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x397) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x398) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x399) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3ED) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x400) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x401) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x402) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x403) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x404) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x405) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x406) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x407) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x408) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x409) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x410) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x411) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x412) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x413) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x414) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x415) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x416) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x417) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x418) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x419) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x420) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x421) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x422) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x423) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x424) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x425) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x426) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x427) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x428) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x429) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x430) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x431) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x432) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x433) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x434) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x435) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x436) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x437) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x438) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x439) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x440) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x441) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x442) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x443) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x444) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x445) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x446) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x447) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x448) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x449) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x450) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x451) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x452) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x453) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x454) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x455) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x456) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x457) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x458) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x459) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x460) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x461) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x462) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x463) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x464) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x465) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x466) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x467) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x468) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x469) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x470) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x471) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x472) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x473) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x474) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x475) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x476) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x477) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x478) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x479) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x480) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x481) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x482) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x483) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x484) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x485) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x486) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x487) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x488) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x489) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x490) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x491) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x492) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x493) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x494) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x495) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x496) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x497) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x498) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x499) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4ED) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_0, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial10_2_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial10_2_paris.py index f86a3103bf0..33938c27141 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial10_2_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial10_2_paris.py @@ -1,9 +1,8 @@ """ -sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial10_2_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial10_2_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,9991 +25,2580 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial10_2_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial10_2_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6101aa6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102106064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102116064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102126064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102136064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102146064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102156064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102166064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102176064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b46064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102186064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102196064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61021f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102206064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102216064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b56064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102226064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102236064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102246064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102256064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102266064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102276064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102286064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102296064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b66064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61022f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102306064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102316064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102326064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102336064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102346064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102356064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b76064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102366064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102376064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102386064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102396064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61023f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b86064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102406064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102416064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102426064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102436064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102446064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102456064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102466064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102476064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102486064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102496064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b96064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102506064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102516064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102526064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102536064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ba6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102546064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102556064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102566064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102576064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102586064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102596064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101bb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102606064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102616064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102626064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102636064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102646064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102656064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102666064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102676064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101bc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102686064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102696064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102706064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102716064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101bd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ab6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102726064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102736064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102746064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102756064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102766064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102776064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102786064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102796064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101be6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102806064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102816064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102826064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102836064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102846064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102856064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101bf6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102866064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102876064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102886064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102896064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c06064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102906064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102916064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102926064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102936064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102946064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102956064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102966064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102976064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102986064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102996064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c16064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a06064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a16064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a26064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a36064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c26064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a46064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a56064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a66064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a76064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a86064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a96064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102aa6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ab6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ac6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ad6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c36064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ae6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102af6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b06064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b16064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b26064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b36064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b46064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b56064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b66064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b76064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c46064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b86064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102b96064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ba6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102be6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bf6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c06064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c16064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c56064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c26064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c36064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c46064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c56064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c66064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c76064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c86064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c96064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ca6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102cb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c66064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102cc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102cd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ce6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102cf6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d06064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d16064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d26064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d36064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d46064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d56064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c76064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ac6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d66064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d76064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d86064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d96064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102da6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102db6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102dc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102dd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102de6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102df6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c86064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e06064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e16064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e26064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e36064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e46064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e56064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e66064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e76064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e86064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102e96064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c96064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ea6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102eb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ec6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ed6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ee6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ef6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f06064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f16064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f26064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f36064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ca6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f46064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f56064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f66064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f76064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f86064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f96064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fa6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101cb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fe6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ff6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103006064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103016064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103026064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103036064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103046064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103056064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103066064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103076064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101cc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103086064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103096064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103106064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103116064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101cd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103126064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103136064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103146064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103156064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103166064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103176064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103186064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103196064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ce6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103206064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103216064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103226064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103236064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103246064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103256064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101cf6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103266064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103276064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103286064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103296064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d06064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103306064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103316064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103326064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103336064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103346064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103356064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103366064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103376064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103386064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103396064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d16064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ad6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103406064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103416064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103426064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103436064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d26064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103446064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103456064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103466064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103476064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103486064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103496064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d36064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103506064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103516064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d46064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d56064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d66064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d76064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d86064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d96064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101da6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101db6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ae6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101dc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101dd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101de6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101df6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e06064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e16064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e26064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e36064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e46064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e56064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101af6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e66064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e76064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e86064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101e96064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ea6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101eb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ec6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ed6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ee6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ef6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b06064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f06064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f16064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f26064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f36064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f46064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f56064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f66064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f76064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f86064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101f96064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b16064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101fa6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101fb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101fc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101fd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101fe6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ff6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102006064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102016064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102026064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102036064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b26064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102046064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102056064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102066064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102076064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102086064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102096064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61020d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b36064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial10_2_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -10019,111 +2609,22850 @@ def test_sstore_combinations_initial10_2_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x1AA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1ED) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x200) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x201) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x202) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x203) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x204) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x205) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x206) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x207) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x208) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x209) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x210) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x211) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x212) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x213) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x214) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x215) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x216) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x217) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x218) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x219) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x220) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x221) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x222) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x223) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x224) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x225) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x226) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x227) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x228) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x229) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x230) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x231) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x232) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x233) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x234) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x235) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x236) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x237) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x238) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x239) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x240) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x241) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x242) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x243) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x244) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x245) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x246) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x247) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x248) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x249) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x250) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x251) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x252) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x253) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x254) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x255) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x256) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x257) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x258) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x259) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x260) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x261) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x262) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x263) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x264) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x265) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x266) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x267) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x268) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x269) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x270) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x271) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x272) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x273) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x274) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x275) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x276) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x277) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x278) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x279) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x280) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x281) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x282) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x283) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x284) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x285) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x286) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x287) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x288) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x289) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x290) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x291) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x292) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x293) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x294) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x295) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x296) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x297) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x298) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x299) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2ED) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x300) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x301) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x302) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x303) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x304) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x305) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x306) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x307) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x308) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x309) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x310) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x311) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x312) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x313) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x314) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x315) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x316) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x317) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x318) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x319) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x320) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x321) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x322) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x323) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x324) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x325) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x326) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x327) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x328) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x329) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x330) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x331) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x332) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x333) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x334) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x335) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x336) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x337) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x338) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x339) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x340) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x341) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x342) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x343) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x344) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x345) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x346) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x347) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x348) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x349) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x350) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x351) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial10_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial10_paris.py index a1a18bccc86..bb08f4892d1 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial10_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial10_paris.py @@ -1,9 +1,8 @@ """ -sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial10_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial10_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,9604 +25,2592 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial10_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial10_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6000606452600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60646064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60656064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60666064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60676064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60686064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60696064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "606f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60706064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60716064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60726064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60736064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60746064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60756064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60766064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60776064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60786064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60796064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "607f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60806064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60816064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60826064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60836064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60846064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60856064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60866064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60876064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60886064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60896064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "608f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60906064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60916064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60926064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60936064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60946064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60956064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60966064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60976064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60986064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60996064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "609f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "600f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a06064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a16064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a26064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a36064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a46064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a56064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a66064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a76064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a86064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60a96064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60106064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60aa6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ab6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ac6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ad6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ae6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60af6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b06064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b16064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b26064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b36064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60116064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b46064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b56064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b66064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b76064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b86064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60b96064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ba6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60bb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60bc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60bd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60126064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60be6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60bf6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c06064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c16064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c26064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c36064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c46064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c56064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c66064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c76064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60136064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60016064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c86064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60c96064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ca6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60cb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60cc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60cd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ce6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60cf6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d06064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d16064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60146064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d26064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d36064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d46064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d56064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d66064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d76064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d86064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60d96064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60da6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60db6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60156064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60dc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60dd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60de6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60df6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e06064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e16064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e26064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e36064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e46064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e56064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60166064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e66064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e76064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e86064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60e96064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ea6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60eb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ec6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ed6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ee6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ef6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60176064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f06064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f16064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f26064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f36064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f46064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f56064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f66064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f76064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f86064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60f96064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60186064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60fa6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60fb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60fc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60fd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60fe6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60ff6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101006064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101016064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101026064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101036064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60196064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101046064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101056064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101066064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101076064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101086064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101096064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61010f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101106064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101116064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101126064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101136064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101146064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101156064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101166064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101176064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101186064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101196064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61011f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101206064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101216064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101226064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101236064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101246064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101256064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101266064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101276064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101286064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101296064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60026064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61012f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101306064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101316064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101326064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101336064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101346064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101356064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101366064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101376064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101386064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101396064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61013f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "601f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101406064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101416064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101426064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101436064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101446064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101456064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101466064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101476064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101486064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101496064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60206064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61014f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101506064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101516064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101526064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101536064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60216064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101546064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101556064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101566064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101576064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101586064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101596064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60226064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61015f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101606064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101616064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101626064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101636064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101646064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101656064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101666064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101676064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60236064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101686064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101696064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61016f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101706064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101716064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60246064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101726064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101736064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101746064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101756064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101766064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101776064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101786064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101796064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60256064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61017f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101806064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101816064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101826064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101836064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101846064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101856064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60266064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101866064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101876064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101886064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101896064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61018f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60276064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60036064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101906064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101916064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101926064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101936064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101946064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101956064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101966064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101976064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101986064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101996064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60286064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61019f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a06064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a16064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a26064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a36064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60296064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a46064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a56064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a66064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a76064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a86064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101a96064526000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "602f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60306064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60316064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60046064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60326064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60336064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60346064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60356064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60366064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60376064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60386064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60396064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60056064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "603f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60406064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60416064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60426064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60436064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60446064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60456064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60066064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60466064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60476064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60486064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60496064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "604f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60076064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60506064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60516064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60526064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60536064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60546064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60556064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60566064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60576064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60586064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60596064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60086064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "605f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60606064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60616064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60626064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60636064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60096064526000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", + ), + pytest.param( + 424, + 0, + 0, + id="d424", + ), + pytest.param( + 425, + 0, + 0, + id="d425", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - "case424", - "case425", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial10_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -9632,111 +2621,22945 @@ def test_sstore_combinations_initial10_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x0) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x70) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x71) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x72) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x73) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x74) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x75) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x76) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x77) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x78) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x79) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x80) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x81) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x82) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x83) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x84) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x85) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x86) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x87) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x88) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x89) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x90) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x91) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x92) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x93) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x94) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x95) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x96) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x97) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x98) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x99) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xED) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x100) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x101) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x102) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x103) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x104) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x105) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x106) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x107) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x108) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x109) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x110) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x111) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x112) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x113) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x114) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x115) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x116) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x117) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x118) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x119) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x120) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x121) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x122) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x123) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x124) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x125) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x126) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x127) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x128) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x129) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x130) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x131) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x132) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x133) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x134) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x135) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x136) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x137) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x138) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x139) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x140) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x141) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x142) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x143) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x144) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x145) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x146) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x147) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x148) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x149) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x150) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x151) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x152) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x153) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x154) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x155) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x156) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x157) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x158) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x159) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x160) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x161) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x162) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x163) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x164) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x165) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x166) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x167) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x168) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x169) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x170) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x171) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x172) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x173) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x174) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x175) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x176) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x177) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x178) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x179) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x180) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x181) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x182) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x183) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x184) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x185) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x186) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x187) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x188) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x189) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x190) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x191) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x192) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x193) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x194) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x195) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x196) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x197) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x198) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x199) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial11_2_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial11_2_paris.py index 354b97639b1..ebb9c2d4180 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial11_2_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial11_2_paris.py @@ -1,9 +1,8 @@ """ -sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial11_2_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial11_2_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,10903 +25,2754 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial11_2_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial11_2_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6104fc606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610560606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610561606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610562606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610563606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610564606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610565606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610566606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610567606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610568606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610569606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610506606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610570606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610571606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610572606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610573606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610507606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610574606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610575606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610576606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610577606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610578606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610579606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610508606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610580606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610581606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610582606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610583606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610584606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610585606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610586606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610587606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610509606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610588606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610589606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610590606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610591606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610592606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610593606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610594606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610595606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610596606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610597606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610598606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610599606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a0606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a1606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a2606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a3606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a4606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a5606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a6606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a7606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a8606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a9606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105aa606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ab606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ac606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ad606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ae606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105af606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b0606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b1606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b2606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b3606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b4606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b5606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b6606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b7606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b8606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b9606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ba606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bb606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bc606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bd606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105be606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bf606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c0606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c1606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c2606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c3606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fd606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c4606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c5606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c6606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c7606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c8606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c9606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ca606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cb606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cc606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cd606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610510606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ce606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cf606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d0606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d1606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d2606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d3606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d4606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d5606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d6606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d7606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610511606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d8606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d9606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105da606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105db606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105dc606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105dd606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105de606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105df606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e0606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e1606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610512606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e2606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e3606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e4606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e5606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e6606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e7606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e8606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e9606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ea606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105eb606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610513606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ec606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ed606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ee606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ef606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f0606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f1606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f2606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f3606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f4606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f5606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610514606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f6606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f7606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f8606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f9606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fa606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fb606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fc606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fd606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fe606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ff606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610515606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610600606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610601606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610602606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610603606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610604606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610605606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610606606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610607606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610608606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610609606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610516606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060a606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060b606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060c606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060d606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060e606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060f606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610610606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610611606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610612606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610613606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610517606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610614606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610615606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610616606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610617606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610618606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610619606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061a606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061b606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061c606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061d606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610518606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061e606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061f606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610620606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610621606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610622606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610623606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610624606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610625606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610626606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610627606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610519606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fe606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610628606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610629606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062a606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062b606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062c606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062d606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062e606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062f606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610630606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610631606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610632606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610633606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610634606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610635606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610636606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610637606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610638606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610639606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063a606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063b606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063c606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063d606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063e606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063f606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610640606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610641606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610642606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610643606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610644606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610645606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610646606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610647606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610648606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610649606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064a606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064b606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064c606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064d606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064e606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064f606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610650606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610651606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610652606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610653606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610654606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610655606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610656606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610657606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610658606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610659606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065a606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065b606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065c606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065d606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065e606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065f606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610660606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610661606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610662606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610663606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610664606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610665606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610666606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610667606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610668606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610669606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066a606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066b606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066c606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066d606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610520606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066e606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066f606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610670606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610671606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610672606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610673606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610674606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610675606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610676606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610677606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610521606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610678606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610679606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067a606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067b606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067c606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067d606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067e606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067f606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610680606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610681606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610522606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610682606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610683606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610684606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610685606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610686606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610687606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610688606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610689606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068a606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068b606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610523606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ff606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068c606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068d606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068e606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068f606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610690606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610691606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610692606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610693606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610694606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610695606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610524606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610696606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610697606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610698606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610699606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069a606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069b606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069c606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069d606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069e606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069f606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610525606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a0606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a1606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a2606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a3606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a4606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a5606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a6606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a7606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a8606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106a9606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610526606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106aa606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ab606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ac606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ad606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ae606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106af606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b0606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b1606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b2606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b3606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610527606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b4606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b5606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b6606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b7606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b8606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b9606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ba606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bb606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bc606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bd606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610528606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106be606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bf606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106c0606452600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610529606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610500606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610530606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610531606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610532606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610533606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610534606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610535606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610536606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610537606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610501606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610538606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610539606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610540606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610541606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610502606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610542606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610543606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610544606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610545606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610546606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610547606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610548606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610549606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610503606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610550606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610551606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610552606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610553606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610554606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610555606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610504606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610556606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610557606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610558606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610559606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610505606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", + ), + pytest.param( + 424, + 0, + 0, + id="d424", + ), + pytest.param( + 425, + 0, + 0, + id="d425", + ), + pytest.param( + 426, + 0, + 0, + id="d426", + ), + pytest.param( + 427, + 0, + 0, + id="d427", + ), + pytest.param( + 428, + 0, + 0, + id="d428", + ), + pytest.param( + 429, + 0, + 0, + id="d429", + ), + pytest.param( + 430, + 0, + 0, + id="d430", + ), + pytest.param( + 431, + 0, + 0, + id="d431", + ), + pytest.param( + 432, + 0, + 0, + id="d432", + ), + pytest.param( + 433, + 0, + 0, + id="d433", + ), + pytest.param( + 434, + 0, + 0, + id="d434", + ), + pytest.param( + 435, + 0, + 0, + id="d435", + ), + pytest.param( + 436, + 0, + 0, + id="d436", + ), + pytest.param( + 437, + 0, + 0, + id="d437", + ), + pytest.param( + 438, + 0, + 0, + id="d438", + ), + pytest.param( + 439, + 0, + 0, + id="d439", + ), + pytest.param( + 440, + 0, + 0, + id="d440", + ), + pytest.param( + 441, + 0, + 0, + id="d441", + ), + pytest.param( + 442, + 0, + 0, + id="d442", + ), + pytest.param( + 443, + 0, + 0, + id="d443", + ), + pytest.param( + 444, + 0, + 0, + id="d444", + ), + pytest.param( + 445, + 0, + 0, + id="d445", + ), + pytest.param( + 446, + 0, + 0, + id="d446", + ), + pytest.param( + 447, + 0, + 0, + id="d447", + ), + pytest.param( + 448, + 0, + 0, + id="d448", + ), + pytest.param( + 449, + 0, + 0, + id="d449", + ), + pytest.param( + 450, + 0, + 0, + id="d450", + ), + pytest.param( + 451, + 0, + 0, + id="d451", + ), + pytest.param( + 452, + 0, + 0, + id="d452", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - "case424", - "case425", - "case426", - "case427", - "case428", - "case429", - "case430", - "case431", - "case432", - "case433", - "case434", - "case435", - "case436", - "case437", - "case438", - "case439", - "case440", - "case441", - "case442", - "case443", - "case444", - "case445", - "case446", - "case447", - "case448", - "case449", - "case450", - "case451", - "case452", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial11_2_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -10931,111 +2783,23823 @@ def test_sstore_combinations_initial11_2_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x4FC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x500) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x501) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x502) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x503) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x504) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x505) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x506) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x507) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x508) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x509) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x510) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x511) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x512) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x513) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x514) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x515) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x516) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x517) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x518) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x519) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x520) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x521) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x522) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x523) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x524) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x525) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x526) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x527) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x528) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x529) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x530) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x531) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x532) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x533) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x534) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x535) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x536) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x537) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x538) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x539) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x540) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x541) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x542) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x543) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x544) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x545) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x546) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x547) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x548) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x549) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x550) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x551) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x552) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x553) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x554) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x555) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x556) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x557) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x558) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x559) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x560) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x561) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x562) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x563) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x564) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x565) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x566) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x567) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x568) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x569) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x570) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x571) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x572) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x573) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x574) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x575) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x576) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x577) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x578) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x579) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x580) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x581) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x582) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x583) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x584) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x585) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x586) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x587) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x588) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x589) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x590) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x591) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x592) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x593) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x594) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x595) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x596) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x597) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x598) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x599) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5ED) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x600) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x601) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x602) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x603) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x604) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x605) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x606) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x607) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x608) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x609) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x610) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x611) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x612) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x613) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x614) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x615) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x616) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x617) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x618) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x619) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x620) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x621) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x622) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x623) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x624) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x625) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x626) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x627) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x628) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x629) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x630) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x631) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x632) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x633) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x634) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x635) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x636) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x637) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x638) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x639) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x640) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x641) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x642) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x643) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x644) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x645) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x646) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x647) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x648) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x649) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x650) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x651) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x652) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x653) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x654) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x655) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x656) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x657) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x658) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x659) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x660) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x661) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x662) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x663) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x664) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x665) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x666) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x667) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x668) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x669) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x670) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x671) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x672) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x673) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x674) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x675) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x676) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x677) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x678) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x679) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x680) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x681) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x682) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x683) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x684) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x685) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x686) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x687) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x688) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x689) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x690) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x691) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x692) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x693) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x694) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x695) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x696) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x697) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x698) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x699) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6C0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial11_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial11_paris.py index df1d7f0cc6a..316cdb2d9e0 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial11_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial11_paris.py @@ -1,9 +1,8 @@ """ -sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial11_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial11_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,10255 +25,2592 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial11_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial11_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6103526064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b66064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b76064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b86064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b96064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ba6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103be6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bf6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c06064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c16064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c26064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c36064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c46064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c56064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c66064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c76064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c86064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c96064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ca6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103cb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103cc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103cd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ce6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103cf6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d06064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d16064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d26064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d36064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d46064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d56064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d66064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d76064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d86064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d96064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103da6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103db6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103dc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103dd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103de6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103df6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e06064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e16064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e26064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e36064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e46064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e56064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e66064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e76064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103606064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e86064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e96064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ea6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103eb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ec6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ed6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ee6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ef6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f06064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f16064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103616064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f26064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f36064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f46064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f56064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f66064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f76064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f86064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f96064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fa6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fb6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103626064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fc6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fd6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fe6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ff6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104006064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104016064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104026064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104036064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104046064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104056064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103636064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104066064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104076064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104086064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104096064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103646064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104106064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104116064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104126064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104136064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104146064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104156064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104166064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104176064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104186064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104196064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103656064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103536064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104206064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104216064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104226064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104236064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103666064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104246064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104256064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104266064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104276064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104286064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104296064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103676064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104306064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104316064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104326064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104336064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104346064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104356064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104366064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104376064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103686064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104386064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104396064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104406064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104416064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103696064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104426064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104436064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104446064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104456064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104466064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104476064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104486064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104496064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104506064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104516064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104526064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104536064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104546064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104556064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104566064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104576064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104586064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104596064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104606064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104616064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104626064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104636064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104646064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104656064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104666064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104676064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104686064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104696064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104706064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104716064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104726064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104736064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104746064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104756064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104766064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104776064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104786064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104796064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103546064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104806064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610481606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610482606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610483606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610484606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610485606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610486606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610487606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103706064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610488606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610489606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610490606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610491606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103716064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610492606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610493606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610494606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610495606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610496606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610497606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610498606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610499606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049a606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049b606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103726064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049c606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049d606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049e606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049f606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a0606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a1606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a2606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a3606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a4606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a5606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103736064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a6606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a7606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a8606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a9606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104aa606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ab606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ac606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ad606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ae606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104af606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103746064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b0606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b1606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b2606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b3606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b4606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b5606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b6606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b7606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b8606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b9606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103756064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ba606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104bb606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104bc606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104bd606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104be606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104bf606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c0606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c1606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c2606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c3606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103766064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c4606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c5606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c6606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c7606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c8606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104c9606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ca606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cb606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cc606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cd606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103776064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ce606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cf606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d0606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d1606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d2606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d3606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d4606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d5606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d6606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d7606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103786064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d8606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d9606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104da606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104db606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104dc606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104dd606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104de606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104df606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e0606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e1606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103796064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103556064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e2606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e3606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e4606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e5606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e6606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e7606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e8606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e9606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ea606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104eb606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ec606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ed606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ee606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ef606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f0606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f1606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f2606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f3606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f4606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f5606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f6606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f7606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f8606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f9606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fa606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fb606452600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103806064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103816064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103826064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103836064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103566064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103846064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103856064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103866064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103876064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103886064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103896064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103576064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103906064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103916064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103926064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103936064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103946064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103956064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103966064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103976064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103586064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103986064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103996064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039c6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039d6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039e6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039f6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a06064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a16064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103596064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a26064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a36064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a46064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a56064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a66064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a76064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a86064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a96064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103aa6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ab6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035a6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ac6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ad6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ae6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103af6064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b06064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b16064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b26064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b36064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b46064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b56064526000600060206000600073b100000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b100000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035b6064526000600060206000600073b100000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b100000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", + ), + pytest.param( + 424, + 0, + 0, + id="d424", + ), + pytest.param( + 425, + 0, + 0, + id="d425", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - "case424", - "case425", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial11_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 1 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -10283,111 +2621,22695 @@ def test_sstore_combinations_initial11_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x352) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x353) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x354) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x355) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x356) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x357) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x358) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x359) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x360) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x361) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x362) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x363) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x364) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x365) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x366) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x367) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x368) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x369) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x370) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x371) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x372) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x373) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x374) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x375) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x376) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x377) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x378) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x379) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x380) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x381) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x382) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x383) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x384) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x385) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x386) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x387) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x388) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x389) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x390) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x391) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x392) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x393) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x394) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x395) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x396) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x397) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x398) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x399) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3ED) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x400) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x401) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x402) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x403) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x404) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x405) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x406) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x407) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x408) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x409) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x410) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x411) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x412) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x413) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x414) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x415) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x416) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x417) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x418) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x419) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x420) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x421) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x422) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x423) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x424) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x425) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x426) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x427) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x428) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x429) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x430) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x431) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x432) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x433) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x434) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x435) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x436) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x437) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x438) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x439) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x440) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x441) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x442) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x443) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x444) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x445) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x446) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x447) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x448) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x449) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x450) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x451) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x452) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x453) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x454) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x455) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x456) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x457) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x458) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x459) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x460) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x461) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x462) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x463) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x464) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x465) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x466) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x467) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x468) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x469) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x470) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x471) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x472) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x473) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x474) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x475) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x476) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x477) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x478) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x479) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x480) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x481) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x482) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x483) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x484) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x485) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x486) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x487) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x488) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x489) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x490) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x491) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x492) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x493) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x494) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x495) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x496) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x497) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x498) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x499) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4ED) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_1, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial20_2_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial20_2_paris.py index 08b420cc9a2..9bf84f2794c 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial20_2_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial20_2_paris.py @@ -1,9 +1,8 @@ """ -sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial20_2_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial20_2_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,9991 +25,2580 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial20_2_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial20_2_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6101aa6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61020e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61020f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102106064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102116064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102126064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102136064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102146064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102156064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102166064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102176064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101b46064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102186064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102196064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61021a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61021b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61021c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61021d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61021e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61021f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102206064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102216064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101b56064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102226064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102236064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102246064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102256064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102266064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102276064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102286064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102296064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61022a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61022b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101b66064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61022c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61022d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61022e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61022f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102306064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102316064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102326064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102336064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102346064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102356064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101b76064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102366064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102376064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102386064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102396064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61023a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61023b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61023c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61023d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61023e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61023f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101b86064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102406064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102416064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102426064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102436064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102446064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102456064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102466064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102476064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102486064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102496064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101b96064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61024a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61024d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61024e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61024f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102506064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102516064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102526064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102536064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101ba6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102546064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102556064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102566064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102576064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102586064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102596064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101bb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61025e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61025f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102606064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102616064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102626064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102636064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102646064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102656064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102666064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102676064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101bc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102686064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102696064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61026f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102706064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102716064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101bd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101ab6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102726064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102736064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102746064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102756064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102766064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102776064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102786064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102796064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101be6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61027c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61027d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61027e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61027f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102806064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102816064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102826064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102836064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102846064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102856064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101bf6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102866064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102876064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102886064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102896064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61028f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c06064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102906064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102916064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102926064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102936064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102946064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102956064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102966064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102976064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102986064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102996064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c16064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61029a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61029f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a06064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a16064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a26064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a36064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c26064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102a46064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a56064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a66064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a76064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a86064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102a96064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102aa6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ab6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ac6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ad6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101c36064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102ae6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102af6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102b06064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102b16064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102b26064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102b36064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102b46064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102b56064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102b66064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102b76064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101c46064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102b86064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102b96064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ba6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102be6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102bf6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c06064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c16064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c56064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102c26064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c36064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c46064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c56064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c66064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c76064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c86064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102c96064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ca6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102cb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c66064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102cc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102cd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ce6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102cf6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d06064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d16064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d26064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d36064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d46064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d56064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c76064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101ac6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102d66064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d76064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d86064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102d96064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102da6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102db6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102dc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102dd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102de6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102df6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101c86064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102e06064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102e16064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102e26064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102e36064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102e46064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102e56064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102e66064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102e76064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102e86064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102e96064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101c96064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102ea6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102eb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ec6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ed6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ee6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ef6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f06064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f16064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f26064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f36064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ca6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102f46064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f56064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f66064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f76064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f86064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102f96064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fa6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102fd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101cb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102fe6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6102ff6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103006064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103016064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103026064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103036064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103046064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103056064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103066064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103076064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101cc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103086064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103096064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61030d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61030e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61030f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103106064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103116064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101cd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103126064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103136064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103146064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103156064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103166064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103176064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103186064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103196064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101ce6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61031c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61031f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103206064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103216064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103226064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103236064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103246064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103256064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101cf6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103266064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103276064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103286064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103296064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61032f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d06064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103306064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103316064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103326064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103336064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103346064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103356064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103366064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103376064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103386064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103396064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d16064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101ad6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61033a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61033d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61033e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61033f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103406064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103416064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103426064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103436064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101d26064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103446064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103456064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103466064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103476064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103486064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103496064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d36064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61034e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61034f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103506064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103516064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6101d46064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101d56064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101d66064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101d76064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101d86064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101d96064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101da6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101db6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101ae6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101dc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101dd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101de6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101df6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101e06064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101e16064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101e26064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101e36064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101e46064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101e56064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101af6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101e66064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101e76064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101e86064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101e96064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101ea6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101eb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101ec6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101ed6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101ee6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101ef6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101b06064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101f06064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101f16064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101f26064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101f36064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101f46064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101f56064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101f66064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101f76064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101f86064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101f96064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101b16064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101fa6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101fb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101fc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101fd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101fe6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101ff6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102006064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102016064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102026064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102036064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101b26064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102046064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102056064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102066064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102076064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102086064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6102096064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61020a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61020b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61020c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61020d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101b36064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial20_2_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -10019,111 +2609,22850 @@ def test_sstore_combinations_initial20_2_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x1AA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1AF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1BF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1CF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1DF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1ED) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1EF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1FF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x200) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x201) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x202) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x203) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x204) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x205) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x206) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x207) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x208) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x209) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x210) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x211) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x212) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x213) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x214) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x215) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x216) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x217) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x218) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x219) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x220) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x221) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x222) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x223) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x224) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x225) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x226) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x227) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x228) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x229) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x230) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x231) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x232) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x233) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x234) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x235) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x236) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x237) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x238) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x239) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x240) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x241) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x242) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x243) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x244) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x245) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x246) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x247) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x248) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x249) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x250) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x251) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x252) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x253) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x254) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x255) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x256) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x257) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x258) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x259) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x260) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x261) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x262) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x263) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x264) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x265) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x266) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x267) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x268) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x269) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x270) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x271) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x272) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x273) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x274) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x275) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x276) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x277) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x278) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x279) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x280) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x281) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x282) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x283) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x284) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x285) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x286) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x287) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x288) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x289) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x290) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x291) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x292) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x293) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x294) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x295) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x296) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x297) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x298) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x299) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2AF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2BF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2CF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2DF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2ED) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2EF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2FF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x300) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x301) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x302) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x303) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x304) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x305) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x306) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x307) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x308) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x309) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x310) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x311) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x312) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x313) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x314) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x315) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x316) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x317) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x318) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x319) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x320) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x321) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x322) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x323) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x324) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x325) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x326) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x327) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x328) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x329) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x330) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x331) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x332) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x333) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x334) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x335) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x336) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x337) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x338) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x339) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x340) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x341) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x342) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x343) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x344) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x345) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x346) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x347) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x348) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x349) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x350) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x351) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial20_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial20_paris.py index ab247b80fcb..45c1e8cee89 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial20_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial20_paris.py @@ -1,9 +1,8 @@ """ -sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial20_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial20_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,9604 +25,2592 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial20_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial20_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6000606452600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "60646064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60656064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60666064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60676064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60686064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60696064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "606a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "606b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "606c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "606d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "600a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "606e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "606f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60706064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60716064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60726064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60736064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60746064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60756064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60766064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60776064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "600b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60786064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60796064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "607a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "607b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "607c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "607d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "607e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "607f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60806064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60816064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "600c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60826064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60836064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60846064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60856064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60866064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60876064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60886064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60896064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "608a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "608b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "600d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "608c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "608d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "608e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "608f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60906064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60916064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60926064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60936064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60946064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60956064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "600e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60966064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60976064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60986064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60996064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "609a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "609b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "609c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "609d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "609e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "609f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "600f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60a06064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60a16064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60a26064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60a36064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60a46064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60a56064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60a66064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60a76064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60a86064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60a96064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60106064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60aa6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ab6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ac6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ad6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ae6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60af6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60b06064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60b16064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60b26064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60b36064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60116064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60b46064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60b56064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60b66064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60b76064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60b86064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60b96064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ba6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60bb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60bc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60bd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60126064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60be6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60bf6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60c06064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60c16064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60c26064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60c36064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60c46064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60c56064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60c66064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60c76064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60136064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60016064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60c86064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60c96064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ca6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60cb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60cc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60cd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ce6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60cf6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60d06064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60d16064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60146064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60d26064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60d36064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60d46064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60d56064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60d66064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60d76064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60d86064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60d96064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60da6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60db6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60156064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60dc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60dd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60de6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60df6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60e06064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60e16064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60e26064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60e36064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60e46064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60e56064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60166064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60e66064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60e76064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60e86064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60e96064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ea6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60eb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ec6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ed6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ee6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ef6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60176064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60f06064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60f16064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60f26064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60f36064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60f46064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60f56064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60f66064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60f76064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60f86064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60f96064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60186064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60fa6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60fb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60fc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60fd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60fe6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60ff6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101006064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101016064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101026064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101036064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60196064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101046064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101056064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101066064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101076064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101086064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101096064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61010a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61010b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61010c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61010d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "601a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61010e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61010f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101106064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101116064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101126064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101136064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101146064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101156064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101166064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101176064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "601b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101186064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101196064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61011a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61011b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61011c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61011d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61011e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61011f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101206064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101216064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "601c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101226064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101236064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101246064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101256064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101266064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101276064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101286064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101296064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61012a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61012b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "601d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60026064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61012c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61012d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61012e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61012f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101306064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101316064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101326064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101336064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101346064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101356064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "601e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101366064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101376064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101386064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101396064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61013a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61013b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61013c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61013d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61013e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61013f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "601f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101406064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101416064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101426064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101436064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101446064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101456064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101466064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101476064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101486064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101496064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60206064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61014a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61014b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61014c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61014d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61014e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61014f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101506064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101516064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101526064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101536064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60216064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101546064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101556064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101566064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101576064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101586064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101596064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61015a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61015b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61015c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61015d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60226064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61015e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61015f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101606064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101616064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101626064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101636064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101646064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101656064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101666064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101676064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60236064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101686064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101696064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61016a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61016b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61016c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61016d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61016e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61016f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101706064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101716064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60246064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101726064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101736064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101746064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101756064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101766064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101776064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101786064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101796064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61017a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61017b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60256064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61017c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61017d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61017e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61017f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101806064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101816064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101826064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101836064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101846064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101856064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60266064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101866064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101876064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101886064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101896064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61018a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61018b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61018c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61018d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61018e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61018f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60276064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60036064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101906064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101916064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101926064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101936064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101946064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101956064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101966064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101976064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101986064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101996064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60286064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61019a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61019b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61019c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61019d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61019e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61019f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101a06064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101a16064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101a26064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101a36064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60296064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101a46064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101a56064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101a66064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101a76064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101a86064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6101a96064526000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "602a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "602b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "602c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "602d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "602e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "602f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60306064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60316064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60046064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60326064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60336064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60346064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60356064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60366064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60376064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60386064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60396064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "603a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "603b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60056064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "603c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "603d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "603e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "603f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60406064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60416064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60426064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60436064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60446064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60456064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60066064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60466064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60476064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60486064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60496064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "604a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "604b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "604c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "604d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "604e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "604f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60076064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60506064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60516064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60526064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60536064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60546064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60556064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60566064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60576064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60586064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60596064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60086064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "605a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "605b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "605c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "605d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "605e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "605f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60606064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60616064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60626064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60636064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "60096064526000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", + ), + pytest.param( + 424, + 0, + 0, + id="d424", + ), + pytest.param( + 425, + 0, + 0, + id="d425", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - "case424", - "case425", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial20_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -9632,111 +2621,22945 @@ def test_sstore_combinations_initial20_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x0) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x20) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x21) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x22) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x23) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x24) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x25) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x26) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x27) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x28) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x29) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x2F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x30) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x31) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x32) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x33) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x34) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x70) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x71) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x72) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x73) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x74) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x75) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x76) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x77) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x78) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x79) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x7F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x80) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x81) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x82) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x83) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x84) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x85) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x86) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x87) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x88) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x89) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x8F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x90) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x91) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x92) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x93) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x94) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x95) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x96) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x97) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x98) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x99) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x9F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xA9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xAF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xB9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xBF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xC9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xCF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xD9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xDF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xE9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xED) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xEF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xF9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFA) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFB) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFC) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFD) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFE) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0xFF) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x100) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x101) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x102) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x103) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x104) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x105) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x106) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x107) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x108) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x109) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x10F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x110) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x111) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x112) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x113) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x114) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x115) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x116) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x117) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x118) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x119) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x11F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x120) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x121) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x122) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x123) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x124) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x125) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x126) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x127) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x128) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x129) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x12F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x130) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x131) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x132) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x133) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x134) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x135) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x136) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x137) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x138) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x139) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x13F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x140) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x141) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x142) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x143) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x144) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x145) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x146) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x147) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x148) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x149) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x14F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x150) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x151) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x152) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x153) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x154) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x155) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x156) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x157) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x158) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x159) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x15F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x160) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x161) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x162) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x163) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x164) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x165) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x166) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x167) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x168) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x169) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x16F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x170) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x171) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x172) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x173) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x174) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x175) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x176) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x177) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x178) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x179) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x17F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x180) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x181) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x182) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x183) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x184) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x185) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x186) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x187) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x188) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x189) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x18F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x190) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x191) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x192) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x193) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x194) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x195) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x196) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x197) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x198) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x199) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19A) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19B) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19C) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19D) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19E) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x19F) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A0) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A1) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A2) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A3) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A4) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A5) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A6) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A7) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A8) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x1A9) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial21_2_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial21_2_paris.py index 3342b082e11..a93f9ee910e 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial21_2_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial21_2_paris.py @@ -1,9 +1,8 @@ """ -sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial21_2_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial21_2_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,10903 +25,2754 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial21_2_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial21_2_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6104fc606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610560606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610561606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610562606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610563606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610564606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610565606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610566606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610567606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610568606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610569606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610506606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61056f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610570606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610571606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610572606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610573606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610507606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610574606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610575606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610576606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610577606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610578606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610579606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610508606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61057e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61057f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610580606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610581606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610582606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610583606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610584606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610585606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610586606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610587606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610509606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610588606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610589606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61058f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610590606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610591606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610592606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610593606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610594606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610595606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610596606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610597606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610598606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610599606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61059f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a0606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a1606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a2606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a3606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a4606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a5606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a6606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a7606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a8606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105a9606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105aa606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ab606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ac606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ad606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105ae606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105af606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61050d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105b0606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105b1606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105b2606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105b3606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105b4606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105b5606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105b6606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105b7606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105b8606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105b9606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ba606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bb606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bc606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bd606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105be606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105bf606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c0606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c1606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c2606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c3606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61050f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fd606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c4606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c5606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c6606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c7606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c8606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105c9606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ca606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cb606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cc606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cd606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610510606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ce606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105cf606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d0606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d1606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d2606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d3606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d4606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d5606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d6606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d7606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610511606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d8606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105d9606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105da606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105db606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105dc606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105dd606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105de606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105df606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105e0606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105e1606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610512606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105e2606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105e3606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105e4606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105e5606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105e6606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105e7606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105e8606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6105e9606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ea606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105eb606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610513606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ec606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ed606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ee606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ef606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f0606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f1606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f2606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f3606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f4606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f5606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610514606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f6606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f7606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f8606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105f9606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fa606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fb606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fc606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fd606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105fe606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6105ff606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610515606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610600606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610601606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610602606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610603606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610604606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610605606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610606606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610607606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610608606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610609606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610516606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060a606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060b606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060c606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61060d606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61060e606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61060f606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610610606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610611606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610612606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610613606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610517606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610614606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610615606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610616606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610617606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610618606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610619606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061a606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061b606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061c606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061d606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610518606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061e606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61061f606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610620606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610621606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610622606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610623606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610624606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610625606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610626606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610627606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610519606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fe606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610628606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610629606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062a606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062b606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062c606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062d606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062e606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61062f606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610630606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610631606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610632606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610633606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610634606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610635606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610636606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610637606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610638606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610639606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063a606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063b606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063c606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61063d606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61063e606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61063f606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610640606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610641606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610642606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610643606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610644606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610645606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61051c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610646606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610647606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610648606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610649606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064a606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064b606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064c606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064d606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064e606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61064f606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610650606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610651606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610652606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610653606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610654606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610655606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610656606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610657606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610658606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610659606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61065a606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065b606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065c606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065d606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065e606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61065f606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610660606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610661606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610662606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610663606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61051f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610664606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610665606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610666606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610667606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610668606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610669606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066a606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066b606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066c606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61066d606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610520606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61066e606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61066f606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610670606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610671606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610672606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610673606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610674606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610675606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610676606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610677606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610521606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610678606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610679606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067a606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067b606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067c606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067d606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067e606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61067f606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610680606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610681606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610522606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610682606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610683606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610684606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610685606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610686606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610687606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610688606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610689606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068a606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068b606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610523606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104ff606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068c606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068d606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068e606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61068f606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610690606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610691606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610692606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610693606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610694606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610695606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610524606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610696606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610697606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610698606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610699606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069a606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069b606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069c606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61069d606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61069e606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61069f606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610525606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106a0606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106a1606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106a2606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106a3606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106a4606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106a5606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106a6606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106a7606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106a8606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106a9606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610526606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106aa606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ab606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ac606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ad606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ae606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106af606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b0606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b1606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b2606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b3606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610527606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106b4606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b5606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b6606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b7606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b8606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106b9606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106ba606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bb606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bc606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bd606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610528606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6106be606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106bf606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6106c0606452600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610529606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610500606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61052f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610530606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610531606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610532606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610533606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610534606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610535606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610536606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610537606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610501606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610538606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610539606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61053f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610540606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610541606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610502606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610542606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610543606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610544606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610545606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610546606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610547606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610548606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610549606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610503606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61054d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61054e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61054f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610550606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610551606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610552606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610553606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610554606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610555606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610504606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610556606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610557606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610558606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610559606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61055f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610505606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", + ), + pytest.param( + 424, + 0, + 0, + id="d424", + ), + pytest.param( + 425, + 0, + 0, + id="d425", + ), + pytest.param( + 426, + 0, + 0, + id="d426", + ), + pytest.param( + 427, + 0, + 0, + id="d427", + ), + pytest.param( + 428, + 0, + 0, + id="d428", + ), + pytest.param( + 429, + 0, + 0, + id="d429", + ), + pytest.param( + 430, + 0, + 0, + id="d430", + ), + pytest.param( + 431, + 0, + 0, + id="d431", + ), + pytest.param( + 432, + 0, + 0, + id="d432", + ), + pytest.param( + 433, + 0, + 0, + id="d433", + ), + pytest.param( + 434, + 0, + 0, + id="d434", + ), + pytest.param( + 435, + 0, + 0, + id="d435", + ), + pytest.param( + 436, + 0, + 0, + id="d436", + ), + pytest.param( + 437, + 0, + 0, + id="d437", + ), + pytest.param( + 438, + 0, + 0, + id="d438", + ), + pytest.param( + 439, + 0, + 0, + id="d439", + ), + pytest.param( + 440, + 0, + 0, + id="d440", + ), + pytest.param( + 441, + 0, + 0, + id="d441", + ), + pytest.param( + 442, + 0, + 0, + id="d442", + ), + pytest.param( + 443, + 0, + 0, + id="d443", + ), + pytest.param( + 444, + 0, + 0, + id="d444", + ), + pytest.param( + 445, + 0, + 0, + id="d445", + ), + pytest.param( + 446, + 0, + 0, + id="d446", + ), + pytest.param( + 447, + 0, + 0, + id="d447", + ), + pytest.param( + 448, + 0, + 0, + id="d448", + ), + pytest.param( + 449, + 0, + 0, + id="d449", + ), + pytest.param( + 450, + 0, + 0, + id="d450", + ), + pytest.param( + 451, + 0, + 0, + id="d451", + ), + pytest.param( + 452, + 0, + 0, + id="d452", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - "case424", - "case425", - "case426", - "case427", - "case428", - "case429", - "case430", - "case431", - "case432", - "case433", - "case434", - "case435", - "case436", - "case437", - "case438", - "case439", - "case440", - "case441", - "case442", - "case443", - "case444", - "case445", - "case446", - "case447", - "case448", - "case449", - "case450", - "case451", - "case452", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial21_2_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -10931,111 +2783,23823 @@ def test_sstore_combinations_initial21_2_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x4FC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x500) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x501) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x502) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x503) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x504) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x505) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x506) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x507) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x508) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x509) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x50F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x510) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x511) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x512) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x513) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x514) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x515) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x516) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x517) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x518) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x519) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x51F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x520) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x521) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x522) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x523) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x524) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x525) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x526) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x527) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x528) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x529) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x52F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x530) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x531) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x532) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x533) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x534) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x535) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x536) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x537) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x538) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x539) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x53F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x540) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x541) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x542) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x543) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x544) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x545) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x546) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x547) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x548) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x549) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x54F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x550) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x551) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x552) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x553) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x554) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x555) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x556) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x557) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x558) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x559) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x55F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x560) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x561) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x562) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x563) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x564) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x565) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x566) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x567) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x568) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x569) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x56F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x570) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x571) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x572) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x573) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x574) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x575) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x576) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x577) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x578) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x579) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x57F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x580) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x581) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x582) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x583) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x584) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x585) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x586) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x587) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x588) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x589) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x58F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x590) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x591) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x592) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x593) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x594) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x595) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x596) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x597) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x598) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x599) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x59F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5A9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5AF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5B9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5BF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5C9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5CF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5D9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5DF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5E9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5ED) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5EF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5F9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x5FF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x600) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x601) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x602) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x603) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x604) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x605) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x606) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x607) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x608) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x609) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x60F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x610) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x611) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x612) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x613) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x614) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x615) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x616) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x617) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x618) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x619) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x61F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x620) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x621) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x622) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x623) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x624) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x625) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x626) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x627) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x628) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x629) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x62F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x630) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x631) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x632) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x633) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x634) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x635) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x636) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x637) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x638) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x639) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x63F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x640) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x641) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x642) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x643) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x644) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x645) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x646) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x647) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x648) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x649) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x64F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x650) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x651) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x652) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x653) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x654) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x655) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x656) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x657) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x658) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x659) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x65F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x660) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x661) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x662) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x663) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x664) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x665) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x666) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x667) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x668) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x669) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x66F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x670) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x671) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x672) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x673) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x674) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x675) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x676) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x677) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x678) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x679) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x67F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x680) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x681) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x682) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x683) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x684) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x685) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x686) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x687) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x688) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x689) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x68F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x690) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x691) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x692) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x693) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x694) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x695) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x696) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x697) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x698) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x699) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x69F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6A9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6AF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6B9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6BF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x6C0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial21_paris.py b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial21_paris.py index 6f5cfe3a7e6..3414eba645c 100644 --- a/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial21_paris.py +++ b/tests/ported_static/stTimeConsuming/test_sstore_combinations_initial21_paris.py @@ -1,9 +1,8 @@ """ -sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non, oog,... +Sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} -> {non,... Ported from: -tests/static/state_tests/stTimeConsuming -sstore_combinations_initial21_ParisFiller.json +state_tests/stTimeConsuming/sstore_combinations_initial21_ParisFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,10255 +25,2592 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTimeConsuming/sstore_combinations_initial21_ParisFiller.json", # noqa: E501 + "state_tests/stTimeConsuming/sstore_combinations_initial21_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") +@pytest.mark.slow @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "6103526064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b66064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b76064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b86064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b96064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ba6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103be6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103bf6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c06064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c16064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c26064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c36064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c46064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c56064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c66064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c76064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c86064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103c96064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ca6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103cb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103cc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103cd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103ce6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103cf6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103d06064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103d16064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103d26064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103d36064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61035e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103d46064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103d56064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103d66064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103d76064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103d86064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103d96064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103da6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103db6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103dc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103dd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103de6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103df6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e06064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e16064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e26064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e36064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e46064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e56064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e66064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e76064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103606064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e86064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103e96064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ea6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103eb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ec6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ed6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ee6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ef6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f06064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f16064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103616064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f26064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f36064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f46064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f56064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f66064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f76064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f86064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103f96064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fa6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fb6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103626064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fc6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103fd6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103fe6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103ff6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104006064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104016064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104026064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104036064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104046064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104056064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103636064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104066064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104076064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104086064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104096064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61040f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103646064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104106064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104116064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104126064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104136064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104146064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104156064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104166064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104176064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104186064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104196064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103656064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103536064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61041f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104206064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104216064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104226064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104236064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103666064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104246064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104256064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104266064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104276064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104286064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104296064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103676064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61042e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61042f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104306064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104316064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104326064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104336064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104346064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104356064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104366064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104376064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103686064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104386064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104396064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61043f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104406064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104416064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103696064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104426064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104436064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104446064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104456064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104466064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104476064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104486064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104496064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61044f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104506064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104516064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104526064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104536064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104546064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104556064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104566064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104576064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104586064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104596064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61045d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61045e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61045f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61036c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104606064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104616064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104626064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104636064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104646064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104656064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104666064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104676064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104686064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104696064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61046a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61046f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104706064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104716064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104726064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104736064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104746064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104756064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104766064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104776064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104786064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104796064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61036f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103546064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f2506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61047f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104806064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa50600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610481606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610482606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610483606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610484606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610485606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610486606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610487606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103706064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610488606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "610489606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61048d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61048e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61048f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610490606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610491606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103716064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610492606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610493606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610494606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610495606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610496606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610497606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610498606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "610499606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049a606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049b606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103726064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61049c606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049d606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049e606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61049f606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a0606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a1606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a2606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a3606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a4606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a5606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103736064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104a6606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a7606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a8606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104a9606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104aa606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ab606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ac606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ad606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ae606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104af606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103746064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104b0606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b1606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b2606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b3606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b4606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b5606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b6606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b7606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b8606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104b9606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103756064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104ba606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104bb606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104bc606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104bd606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104be606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104bf606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104c0606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104c1606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104c2606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104c3606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103766064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104c4606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104c5606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104c6606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104c7606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104c8606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104c9606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ca606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cb606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cc606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cd606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103776064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104ce606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104cf606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d0606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d1606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d2606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d3606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d4606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d5606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d6606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d7606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103786064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104d8606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104d9606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104da606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104db606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104dc606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104dd606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104de606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104df606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e0606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e1606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103796064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103556064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e2606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e3606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e4606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e5606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e6606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e7606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e8606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104e9606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ea606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104eb606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ec606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f150600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104ed606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104ee606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104ef606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104f0606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104f1606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104f2606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104f3606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104f4606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104f5606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61037b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104f6606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104f7606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104f8606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6104f9606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fa606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6104fb606452600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f1506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61037f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103806064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103816064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103826064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103836064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103566064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103846064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103856064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103866064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103876064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103886064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103896064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103576064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61038f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103906064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103916064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103926064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103936064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103946064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103956064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103966064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa5060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103976064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103586064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103986064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103996064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039c6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0fa506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61039d6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61039e6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "61039f6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103a06064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103a16064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103596064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103a26064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f15060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103a36064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103a46064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103a56064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103a66064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103a76064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103a86064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f1506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={1: 1, 2: 2} - ), - }, - ), - ( - "6103a96064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103aa6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ab6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035a6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ac6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000731000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ad6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103ae6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f25060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103af6064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b06064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b16064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b26064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000731000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b36064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b46064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f4506000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000733000000000000000000000000000000000000000620493e0fa5060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "6103b56064526000600060206000600073b200000000000000000000000000000000000000620493e0f2506000600060006000732000000000000000000000000000000000000000620493e0f450600060006020600073b200000000000000000000000000000000000000620493e0f45060006000600060006000731000000000000000000000000000000000000000620493e0f15060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, - ), - ( - "61035b6064526000600060206000600073b200000000000000000000000000000000000000620493e0f25060006000600060006000733000000000000000000000000000000000000000620493e0f250600060006020600073b200000000000000000000000000000000000000620493e0f4506000600060006000731000000000000000000000000000000000000000620493e0f45060006000600060006000732000000000000000000000000000000000000000620927c0f100", # noqa: E501 - { - Address("0x1000000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0x2000000000000000000000000000000000000000"): Account( - storage={1: 1} - ), - Address("0x3000000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={1: 1, 2: 2} - ), - Address("0xb100000000000000000000000000000000000000"): Account( - storage={0: 1, 1: 1, 2: 1} - ), - Address("0xb200000000000000000000000000000000000000"): Account( - storage={0: 2, 1: 2, 2: 2} - ), - }, + pytest.param( + 0, + 0, + 0, + id="d0", + ), + pytest.param( + 1, + 0, + 0, + id="d1", + ), + pytest.param( + 2, + 0, + 0, + id="d2", + ), + pytest.param( + 3, + 0, + 0, + id="d3", + ), + pytest.param( + 4, + 0, + 0, + id="d4", + ), + pytest.param( + 5, + 0, + 0, + id="d5", + ), + pytest.param( + 6, + 0, + 0, + id="d6", + ), + pytest.param( + 7, + 0, + 0, + id="d7", + ), + pytest.param( + 8, + 0, + 0, + id="d8", + ), + pytest.param( + 9, + 0, + 0, + id="d9", + ), + pytest.param( + 10, + 0, + 0, + id="d10", + ), + pytest.param( + 11, + 0, + 0, + id="d11", + ), + pytest.param( + 12, + 0, + 0, + id="d12", + ), + pytest.param( + 13, + 0, + 0, + id="d13", + ), + pytest.param( + 14, + 0, + 0, + id="d14", + ), + pytest.param( + 15, + 0, + 0, + id="d15", + ), + pytest.param( + 16, + 0, + 0, + id="d16", + ), + pytest.param( + 17, + 0, + 0, + id="d17", + ), + pytest.param( + 18, + 0, + 0, + id="d18", + ), + pytest.param( + 19, + 0, + 0, + id="d19", + ), + pytest.param( + 20, + 0, + 0, + id="d20", + ), + pytest.param( + 21, + 0, + 0, + id="d21", + ), + pytest.param( + 22, + 0, + 0, + id="d22", + ), + pytest.param( + 23, + 0, + 0, + id="d23", + ), + pytest.param( + 24, + 0, + 0, + id="d24", + ), + pytest.param( + 25, + 0, + 0, + id="d25", + ), + pytest.param( + 26, + 0, + 0, + id="d26", + ), + pytest.param( + 27, + 0, + 0, + id="d27", + ), + pytest.param( + 28, + 0, + 0, + id="d28", + ), + pytest.param( + 29, + 0, + 0, + id="d29", + ), + pytest.param( + 30, + 0, + 0, + id="d30", + ), + pytest.param( + 31, + 0, + 0, + id="d31", + ), + pytest.param( + 32, + 0, + 0, + id="d32", + ), + pytest.param( + 33, + 0, + 0, + id="d33", + ), + pytest.param( + 34, + 0, + 0, + id="d34", + ), + pytest.param( + 35, + 0, + 0, + id="d35", + ), + pytest.param( + 36, + 0, + 0, + id="d36", + ), + pytest.param( + 37, + 0, + 0, + id="d37", + ), + pytest.param( + 38, + 0, + 0, + id="d38", + ), + pytest.param( + 39, + 0, + 0, + id="d39", + ), + pytest.param( + 40, + 0, + 0, + id="d40", + ), + pytest.param( + 41, + 0, + 0, + id="d41", + ), + pytest.param( + 42, + 0, + 0, + id="d42", + ), + pytest.param( + 43, + 0, + 0, + id="d43", + ), + pytest.param( + 44, + 0, + 0, + id="d44", + ), + pytest.param( + 45, + 0, + 0, + id="d45", + ), + pytest.param( + 46, + 0, + 0, + id="d46", + ), + pytest.param( + 47, + 0, + 0, + id="d47", + ), + pytest.param( + 48, + 0, + 0, + id="d48", + ), + pytest.param( + 49, + 0, + 0, + id="d49", + ), + pytest.param( + 50, + 0, + 0, + id="d50", + ), + pytest.param( + 51, + 0, + 0, + id="d51", + ), + pytest.param( + 52, + 0, + 0, + id="d52", + ), + pytest.param( + 53, + 0, + 0, + id="d53", + ), + pytest.param( + 54, + 0, + 0, + id="d54", + ), + pytest.param( + 55, + 0, + 0, + id="d55", + ), + pytest.param( + 56, + 0, + 0, + id="d56", + ), + pytest.param( + 57, + 0, + 0, + id="d57", + ), + pytest.param( + 58, + 0, + 0, + id="d58", + ), + pytest.param( + 59, + 0, + 0, + id="d59", + ), + pytest.param( + 60, + 0, + 0, + id="d60", + ), + pytest.param( + 61, + 0, + 0, + id="d61", + ), + pytest.param( + 62, + 0, + 0, + id="d62", + ), + pytest.param( + 63, + 0, + 0, + id="d63", + ), + pytest.param( + 64, + 0, + 0, + id="d64", + ), + pytest.param( + 65, + 0, + 0, + id="d65", + ), + pytest.param( + 66, + 0, + 0, + id="d66", + ), + pytest.param( + 67, + 0, + 0, + id="d67", + ), + pytest.param( + 68, + 0, + 0, + id="d68", + ), + pytest.param( + 69, + 0, + 0, + id="d69", + ), + pytest.param( + 70, + 0, + 0, + id="d70", + ), + pytest.param( + 71, + 0, + 0, + id="d71", + ), + pytest.param( + 72, + 0, + 0, + id="d72", + ), + pytest.param( + 73, + 0, + 0, + id="d73", + ), + pytest.param( + 74, + 0, + 0, + id="d74", + ), + pytest.param( + 75, + 0, + 0, + id="d75", + ), + pytest.param( + 76, + 0, + 0, + id="d76", + ), + pytest.param( + 77, + 0, + 0, + id="d77", + ), + pytest.param( + 78, + 0, + 0, + id="d78", + ), + pytest.param( + 79, + 0, + 0, + id="d79", + ), + pytest.param( + 80, + 0, + 0, + id="d80", + ), + pytest.param( + 81, + 0, + 0, + id="d81", + ), + pytest.param( + 82, + 0, + 0, + id="d82", + ), + pytest.param( + 83, + 0, + 0, + id="d83", + ), + pytest.param( + 84, + 0, + 0, + id="d84", + ), + pytest.param( + 85, + 0, + 0, + id="d85", + ), + pytest.param( + 86, + 0, + 0, + id="d86", + ), + pytest.param( + 87, + 0, + 0, + id="d87", + ), + pytest.param( + 88, + 0, + 0, + id="d88", + ), + pytest.param( + 89, + 0, + 0, + id="d89", + ), + pytest.param( + 90, + 0, + 0, + id="d90", + ), + pytest.param( + 91, + 0, + 0, + id="d91", + ), + pytest.param( + 92, + 0, + 0, + id="d92", + ), + pytest.param( + 93, + 0, + 0, + id="d93", + ), + pytest.param( + 94, + 0, + 0, + id="d94", + ), + pytest.param( + 95, + 0, + 0, + id="d95", + ), + pytest.param( + 96, + 0, + 0, + id="d96", + ), + pytest.param( + 97, + 0, + 0, + id="d97", + ), + pytest.param( + 98, + 0, + 0, + id="d98", + ), + pytest.param( + 99, + 0, + 0, + id="d99", + ), + pytest.param( + 100, + 0, + 0, + id="d100", + ), + pytest.param( + 101, + 0, + 0, + id="d101", + ), + pytest.param( + 102, + 0, + 0, + id="d102", + ), + pytest.param( + 103, + 0, + 0, + id="d103", + ), + pytest.param( + 104, + 0, + 0, + id="d104", + ), + pytest.param( + 105, + 0, + 0, + id="d105", + ), + pytest.param( + 106, + 0, + 0, + id="d106", + ), + pytest.param( + 107, + 0, + 0, + id="d107", + ), + pytest.param( + 108, + 0, + 0, + id="d108", + ), + pytest.param( + 109, + 0, + 0, + id="d109", + ), + pytest.param( + 110, + 0, + 0, + id="d110", + ), + pytest.param( + 111, + 0, + 0, + id="d111", + ), + pytest.param( + 112, + 0, + 0, + id="d112", + ), + pytest.param( + 113, + 0, + 0, + id="d113", + ), + pytest.param( + 114, + 0, + 0, + id="d114", + ), + pytest.param( + 115, + 0, + 0, + id="d115", + ), + pytest.param( + 116, + 0, + 0, + id="d116", + ), + pytest.param( + 117, + 0, + 0, + id="d117", + ), + pytest.param( + 118, + 0, + 0, + id="d118", + ), + pytest.param( + 119, + 0, + 0, + id="d119", + ), + pytest.param( + 120, + 0, + 0, + id="d120", + ), + pytest.param( + 121, + 0, + 0, + id="d121", + ), + pytest.param( + 122, + 0, + 0, + id="d122", + ), + pytest.param( + 123, + 0, + 0, + id="d123", + ), + pytest.param( + 124, + 0, + 0, + id="d124", + ), + pytest.param( + 125, + 0, + 0, + id="d125", + ), + pytest.param( + 126, + 0, + 0, + id="d126", + ), + pytest.param( + 127, + 0, + 0, + id="d127", + ), + pytest.param( + 128, + 0, + 0, + id="d128", + ), + pytest.param( + 129, + 0, + 0, + id="d129", + ), + pytest.param( + 130, + 0, + 0, + id="d130", + ), + pytest.param( + 131, + 0, + 0, + id="d131", + ), + pytest.param( + 132, + 0, + 0, + id="d132", + ), + pytest.param( + 133, + 0, + 0, + id="d133", + ), + pytest.param( + 134, + 0, + 0, + id="d134", + ), + pytest.param( + 135, + 0, + 0, + id="d135", + ), + pytest.param( + 136, + 0, + 0, + id="d136", + ), + pytest.param( + 137, + 0, + 0, + id="d137", + ), + pytest.param( + 138, + 0, + 0, + id="d138", + ), + pytest.param( + 139, + 0, + 0, + id="d139", + ), + pytest.param( + 140, + 0, + 0, + id="d140", + ), + pytest.param( + 141, + 0, + 0, + id="d141", + ), + pytest.param( + 142, + 0, + 0, + id="d142", + ), + pytest.param( + 143, + 0, + 0, + id="d143", + ), + pytest.param( + 144, + 0, + 0, + id="d144", + ), + pytest.param( + 145, + 0, + 0, + id="d145", + ), + pytest.param( + 146, + 0, + 0, + id="d146", + ), + pytest.param( + 147, + 0, + 0, + id="d147", + ), + pytest.param( + 148, + 0, + 0, + id="d148", + ), + pytest.param( + 149, + 0, + 0, + id="d149", + ), + pytest.param( + 150, + 0, + 0, + id="d150", + ), + pytest.param( + 151, + 0, + 0, + id="d151", + ), + pytest.param( + 152, + 0, + 0, + id="d152", + ), + pytest.param( + 153, + 0, + 0, + id="d153", + ), + pytest.param( + 154, + 0, + 0, + id="d154", + ), + pytest.param( + 155, + 0, + 0, + id="d155", + ), + pytest.param( + 156, + 0, + 0, + id="d156", + ), + pytest.param( + 157, + 0, + 0, + id="d157", + ), + pytest.param( + 158, + 0, + 0, + id="d158", + ), + pytest.param( + 159, + 0, + 0, + id="d159", + ), + pytest.param( + 160, + 0, + 0, + id="d160", + ), + pytest.param( + 161, + 0, + 0, + id="d161", + ), + pytest.param( + 162, + 0, + 0, + id="d162", + ), + pytest.param( + 163, + 0, + 0, + id="d163", + ), + pytest.param( + 164, + 0, + 0, + id="d164", + ), + pytest.param( + 165, + 0, + 0, + id="d165", + ), + pytest.param( + 166, + 0, + 0, + id="d166", + ), + pytest.param( + 167, + 0, + 0, + id="d167", + ), + pytest.param( + 168, + 0, + 0, + id="d168", + ), + pytest.param( + 169, + 0, + 0, + id="d169", + ), + pytest.param( + 170, + 0, + 0, + id="d170", + ), + pytest.param( + 171, + 0, + 0, + id="d171", + ), + pytest.param( + 172, + 0, + 0, + id="d172", + ), + pytest.param( + 173, + 0, + 0, + id="d173", + ), + pytest.param( + 174, + 0, + 0, + id="d174", + ), + pytest.param( + 175, + 0, + 0, + id="d175", + ), + pytest.param( + 176, + 0, + 0, + id="d176", + ), + pytest.param( + 177, + 0, + 0, + id="d177", + ), + pytest.param( + 178, + 0, + 0, + id="d178", + ), + pytest.param( + 179, + 0, + 0, + id="d179", + ), + pytest.param( + 180, + 0, + 0, + id="d180", + ), + pytest.param( + 181, + 0, + 0, + id="d181", + ), + pytest.param( + 182, + 0, + 0, + id="d182", + ), + pytest.param( + 183, + 0, + 0, + id="d183", + ), + pytest.param( + 184, + 0, + 0, + id="d184", + ), + pytest.param( + 185, + 0, + 0, + id="d185", + ), + pytest.param( + 186, + 0, + 0, + id="d186", + ), + pytest.param( + 187, + 0, + 0, + id="d187", + ), + pytest.param( + 188, + 0, + 0, + id="d188", + ), + pytest.param( + 189, + 0, + 0, + id="d189", + ), + pytest.param( + 190, + 0, + 0, + id="d190", + ), + pytest.param( + 191, + 0, + 0, + id="d191", + ), + pytest.param( + 192, + 0, + 0, + id="d192", + ), + pytest.param( + 193, + 0, + 0, + id="d193", + ), + pytest.param( + 194, + 0, + 0, + id="d194", + ), + pytest.param( + 195, + 0, + 0, + id="d195", + ), + pytest.param( + 196, + 0, + 0, + id="d196", + ), + pytest.param( + 197, + 0, + 0, + id="d197", + ), + pytest.param( + 198, + 0, + 0, + id="d198", + ), + pytest.param( + 199, + 0, + 0, + id="d199", + ), + pytest.param( + 200, + 0, + 0, + id="d200", + ), + pytest.param( + 201, + 0, + 0, + id="d201", + ), + pytest.param( + 202, + 0, + 0, + id="d202", + ), + pytest.param( + 203, + 0, + 0, + id="d203", + ), + pytest.param( + 204, + 0, + 0, + id="d204", + ), + pytest.param( + 205, + 0, + 0, + id="d205", + ), + pytest.param( + 206, + 0, + 0, + id="d206", + ), + pytest.param( + 207, + 0, + 0, + id="d207", + ), + pytest.param( + 208, + 0, + 0, + id="d208", + ), + pytest.param( + 209, + 0, + 0, + id="d209", + ), + pytest.param( + 210, + 0, + 0, + id="d210", + ), + pytest.param( + 211, + 0, + 0, + id="d211", + ), + pytest.param( + 212, + 0, + 0, + id="d212", + ), + pytest.param( + 213, + 0, + 0, + id="d213", + ), + pytest.param( + 214, + 0, + 0, + id="d214", + ), + pytest.param( + 215, + 0, + 0, + id="d215", + ), + pytest.param( + 216, + 0, + 0, + id="d216", + ), + pytest.param( + 217, + 0, + 0, + id="d217", + ), + pytest.param( + 218, + 0, + 0, + id="d218", + ), + pytest.param( + 219, + 0, + 0, + id="d219", + ), + pytest.param( + 220, + 0, + 0, + id="d220", + ), + pytest.param( + 221, + 0, + 0, + id="d221", + ), + pytest.param( + 222, + 0, + 0, + id="d222", + ), + pytest.param( + 223, + 0, + 0, + id="d223", + ), + pytest.param( + 224, + 0, + 0, + id="d224", + ), + pytest.param( + 225, + 0, + 0, + id="d225", + ), + pytest.param( + 226, + 0, + 0, + id="d226", + ), + pytest.param( + 227, + 0, + 0, + id="d227", + ), + pytest.param( + 228, + 0, + 0, + id="d228", + ), + pytest.param( + 229, + 0, + 0, + id="d229", + ), + pytest.param( + 230, + 0, + 0, + id="d230", + ), + pytest.param( + 231, + 0, + 0, + id="d231", + ), + pytest.param( + 232, + 0, + 0, + id="d232", + ), + pytest.param( + 233, + 0, + 0, + id="d233", + ), + pytest.param( + 234, + 0, + 0, + id="d234", + ), + pytest.param( + 235, + 0, + 0, + id="d235", + ), + pytest.param( + 236, + 0, + 0, + id="d236", + ), + pytest.param( + 237, + 0, + 0, + id="d237", + ), + pytest.param( + 238, + 0, + 0, + id="d238", + ), + pytest.param( + 239, + 0, + 0, + id="d239", + ), + pytest.param( + 240, + 0, + 0, + id="d240", + ), + pytest.param( + 241, + 0, + 0, + id="d241", + ), + pytest.param( + 242, + 0, + 0, + id="d242", + ), + pytest.param( + 243, + 0, + 0, + id="d243", + ), + pytest.param( + 244, + 0, + 0, + id="d244", + ), + pytest.param( + 245, + 0, + 0, + id="d245", + ), + pytest.param( + 246, + 0, + 0, + id="d246", + ), + pytest.param( + 247, + 0, + 0, + id="d247", + ), + pytest.param( + 248, + 0, + 0, + id="d248", + ), + pytest.param( + 249, + 0, + 0, + id="d249", + ), + pytest.param( + 250, + 0, + 0, + id="d250", + ), + pytest.param( + 251, + 0, + 0, + id="d251", + ), + pytest.param( + 252, + 0, + 0, + id="d252", + ), + pytest.param( + 253, + 0, + 0, + id="d253", + ), + pytest.param( + 254, + 0, + 0, + id="d254", + ), + pytest.param( + 255, + 0, + 0, + id="d255", + ), + pytest.param( + 256, + 0, + 0, + id="d256", + ), + pytest.param( + 257, + 0, + 0, + id="d257", + ), + pytest.param( + 258, + 0, + 0, + id="d258", + ), + pytest.param( + 259, + 0, + 0, + id="d259", + ), + pytest.param( + 260, + 0, + 0, + id="d260", + ), + pytest.param( + 261, + 0, + 0, + id="d261", + ), + pytest.param( + 262, + 0, + 0, + id="d262", + ), + pytest.param( + 263, + 0, + 0, + id="d263", + ), + pytest.param( + 264, + 0, + 0, + id="d264", + ), + pytest.param( + 265, + 0, + 0, + id="d265", + ), + pytest.param( + 266, + 0, + 0, + id="d266", + ), + pytest.param( + 267, + 0, + 0, + id="d267", + ), + pytest.param( + 268, + 0, + 0, + id="d268", + ), + pytest.param( + 269, + 0, + 0, + id="d269", + ), + pytest.param( + 270, + 0, + 0, + id="d270", + ), + pytest.param( + 271, + 0, + 0, + id="d271", + ), + pytest.param( + 272, + 0, + 0, + id="d272", + ), + pytest.param( + 273, + 0, + 0, + id="d273", + ), + pytest.param( + 274, + 0, + 0, + id="d274", + ), + pytest.param( + 275, + 0, + 0, + id="d275", + ), + pytest.param( + 276, + 0, + 0, + id="d276", + ), + pytest.param( + 277, + 0, + 0, + id="d277", + ), + pytest.param( + 278, + 0, + 0, + id="d278", + ), + pytest.param( + 279, + 0, + 0, + id="d279", + ), + pytest.param( + 280, + 0, + 0, + id="d280", + ), + pytest.param( + 281, + 0, + 0, + id="d281", + ), + pytest.param( + 282, + 0, + 0, + id="d282", + ), + pytest.param( + 283, + 0, + 0, + id="d283", + ), + pytest.param( + 284, + 0, + 0, + id="d284", + ), + pytest.param( + 285, + 0, + 0, + id="d285", + ), + pytest.param( + 286, + 0, + 0, + id="d286", + ), + pytest.param( + 287, + 0, + 0, + id="d287", + ), + pytest.param( + 288, + 0, + 0, + id="d288", + ), + pytest.param( + 289, + 0, + 0, + id="d289", + ), + pytest.param( + 290, + 0, + 0, + id="d290", + ), + pytest.param( + 291, + 0, + 0, + id="d291", + ), + pytest.param( + 292, + 0, + 0, + id="d292", + ), + pytest.param( + 293, + 0, + 0, + id="d293", + ), + pytest.param( + 294, + 0, + 0, + id="d294", + ), + pytest.param( + 295, + 0, + 0, + id="d295", + ), + pytest.param( + 296, + 0, + 0, + id="d296", + ), + pytest.param( + 297, + 0, + 0, + id="d297", + ), + pytest.param( + 298, + 0, + 0, + id="d298", + ), + pytest.param( + 299, + 0, + 0, + id="d299", + ), + pytest.param( + 300, + 0, + 0, + id="d300", + ), + pytest.param( + 301, + 0, + 0, + id="d301", + ), + pytest.param( + 302, + 0, + 0, + id="d302", + ), + pytest.param( + 303, + 0, + 0, + id="d303", + ), + pytest.param( + 304, + 0, + 0, + id="d304", + ), + pytest.param( + 305, + 0, + 0, + id="d305", + ), + pytest.param( + 306, + 0, + 0, + id="d306", + ), + pytest.param( + 307, + 0, + 0, + id="d307", + ), + pytest.param( + 308, + 0, + 0, + id="d308", + ), + pytest.param( + 309, + 0, + 0, + id="d309", + ), + pytest.param( + 310, + 0, + 0, + id="d310", + ), + pytest.param( + 311, + 0, + 0, + id="d311", + ), + pytest.param( + 312, + 0, + 0, + id="d312", + ), + pytest.param( + 313, + 0, + 0, + id="d313", + ), + pytest.param( + 314, + 0, + 0, + id="d314", + ), + pytest.param( + 315, + 0, + 0, + id="d315", + ), + pytest.param( + 316, + 0, + 0, + id="d316", + ), + pytest.param( + 317, + 0, + 0, + id="d317", + ), + pytest.param( + 318, + 0, + 0, + id="d318", + ), + pytest.param( + 319, + 0, + 0, + id="d319", + ), + pytest.param( + 320, + 0, + 0, + id="d320", + ), + pytest.param( + 321, + 0, + 0, + id="d321", + ), + pytest.param( + 322, + 0, + 0, + id="d322", + ), + pytest.param( + 323, + 0, + 0, + id="d323", + ), + pytest.param( + 324, + 0, + 0, + id="d324", + ), + pytest.param( + 325, + 0, + 0, + id="d325", + ), + pytest.param( + 326, + 0, + 0, + id="d326", + ), + pytest.param( + 327, + 0, + 0, + id="d327", + ), + pytest.param( + 328, + 0, + 0, + id="d328", + ), + pytest.param( + 329, + 0, + 0, + id="d329", + ), + pytest.param( + 330, + 0, + 0, + id="d330", + ), + pytest.param( + 331, + 0, + 0, + id="d331", + ), + pytest.param( + 332, + 0, + 0, + id="d332", + ), + pytest.param( + 333, + 0, + 0, + id="d333", + ), + pytest.param( + 334, + 0, + 0, + id="d334", + ), + pytest.param( + 335, + 0, + 0, + id="d335", + ), + pytest.param( + 336, + 0, + 0, + id="d336", + ), + pytest.param( + 337, + 0, + 0, + id="d337", + ), + pytest.param( + 338, + 0, + 0, + id="d338", + ), + pytest.param( + 339, + 0, + 0, + id="d339", + ), + pytest.param( + 340, + 0, + 0, + id="d340", + ), + pytest.param( + 341, + 0, + 0, + id="d341", + ), + pytest.param( + 342, + 0, + 0, + id="d342", + ), + pytest.param( + 343, + 0, + 0, + id="d343", + ), + pytest.param( + 344, + 0, + 0, + id="d344", + ), + pytest.param( + 345, + 0, + 0, + id="d345", + ), + pytest.param( + 346, + 0, + 0, + id="d346", + ), + pytest.param( + 347, + 0, + 0, + id="d347", + ), + pytest.param( + 348, + 0, + 0, + id="d348", + ), + pytest.param( + 349, + 0, + 0, + id="d349", + ), + pytest.param( + 350, + 0, + 0, + id="d350", + ), + pytest.param( + 351, + 0, + 0, + id="d351", + ), + pytest.param( + 352, + 0, + 0, + id="d352", + ), + pytest.param( + 353, + 0, + 0, + id="d353", + ), + pytest.param( + 354, + 0, + 0, + id="d354", + ), + pytest.param( + 355, + 0, + 0, + id="d355", + ), + pytest.param( + 356, + 0, + 0, + id="d356", + ), + pytest.param( + 357, + 0, + 0, + id="d357", + ), + pytest.param( + 358, + 0, + 0, + id="d358", + ), + pytest.param( + 359, + 0, + 0, + id="d359", + ), + pytest.param( + 360, + 0, + 0, + id="d360", + ), + pytest.param( + 361, + 0, + 0, + id="d361", + ), + pytest.param( + 362, + 0, + 0, + id="d362", + ), + pytest.param( + 363, + 0, + 0, + id="d363", + ), + pytest.param( + 364, + 0, + 0, + id="d364", + ), + pytest.param( + 365, + 0, + 0, + id="d365", + ), + pytest.param( + 366, + 0, + 0, + id="d366", + ), + pytest.param( + 367, + 0, + 0, + id="d367", + ), + pytest.param( + 368, + 0, + 0, + id="d368", + ), + pytest.param( + 369, + 0, + 0, + id="d369", + ), + pytest.param( + 370, + 0, + 0, + id="d370", + ), + pytest.param( + 371, + 0, + 0, + id="d371", + ), + pytest.param( + 372, + 0, + 0, + id="d372", + ), + pytest.param( + 373, + 0, + 0, + id="d373", + ), + pytest.param( + 374, + 0, + 0, + id="d374", + ), + pytest.param( + 375, + 0, + 0, + id="d375", + ), + pytest.param( + 376, + 0, + 0, + id="d376", + ), + pytest.param( + 377, + 0, + 0, + id="d377", + ), + pytest.param( + 378, + 0, + 0, + id="d378", + ), + pytest.param( + 379, + 0, + 0, + id="d379", + ), + pytest.param( + 380, + 0, + 0, + id="d380", + ), + pytest.param( + 381, + 0, + 0, + id="d381", + ), + pytest.param( + 382, + 0, + 0, + id="d382", + ), + pytest.param( + 383, + 0, + 0, + id="d383", + ), + pytest.param( + 384, + 0, + 0, + id="d384", + ), + pytest.param( + 385, + 0, + 0, + id="d385", + ), + pytest.param( + 386, + 0, + 0, + id="d386", + ), + pytest.param( + 387, + 0, + 0, + id="d387", + ), + pytest.param( + 388, + 0, + 0, + id="d388", + ), + pytest.param( + 389, + 0, + 0, + id="d389", + ), + pytest.param( + 390, + 0, + 0, + id="d390", + ), + pytest.param( + 391, + 0, + 0, + id="d391", + ), + pytest.param( + 392, + 0, + 0, + id="d392", + ), + pytest.param( + 393, + 0, + 0, + id="d393", + ), + pytest.param( + 394, + 0, + 0, + id="d394", + ), + pytest.param( + 395, + 0, + 0, + id="d395", + ), + pytest.param( + 396, + 0, + 0, + id="d396", + ), + pytest.param( + 397, + 0, + 0, + id="d397", + ), + pytest.param( + 398, + 0, + 0, + id="d398", + ), + pytest.param( + 399, + 0, + 0, + id="d399", + ), + pytest.param( + 400, + 0, + 0, + id="d400", + ), + pytest.param( + 401, + 0, + 0, + id="d401", + ), + pytest.param( + 402, + 0, + 0, + id="d402", + ), + pytest.param( + 403, + 0, + 0, + id="d403", + ), + pytest.param( + 404, + 0, + 0, + id="d404", + ), + pytest.param( + 405, + 0, + 0, + id="d405", + ), + pytest.param( + 406, + 0, + 0, + id="d406", + ), + pytest.param( + 407, + 0, + 0, + id="d407", + ), + pytest.param( + 408, + 0, + 0, + id="d408", + ), + pytest.param( + 409, + 0, + 0, + id="d409", + ), + pytest.param( + 410, + 0, + 0, + id="d410", + ), + pytest.param( + 411, + 0, + 0, + id="d411", + ), + pytest.param( + 412, + 0, + 0, + id="d412", + ), + pytest.param( + 413, + 0, + 0, + id="d413", + ), + pytest.param( + 414, + 0, + 0, + id="d414", + ), + pytest.param( + 415, + 0, + 0, + id="d415", + ), + pytest.param( + 416, + 0, + 0, + id="d416", + ), + pytest.param( + 417, + 0, + 0, + id="d417", + ), + pytest.param( + 418, + 0, + 0, + id="d418", + ), + pytest.param( + 419, + 0, + 0, + id="d419", + ), + pytest.param( + 420, + 0, + 0, + id="d420", + ), + pytest.param( + 421, + 0, + 0, + id="d421", + ), + pytest.param( + 422, + 0, + 0, + id="d422", + ), + pytest.param( + 423, + 0, + 0, + id="d423", + ), + pytest.param( + 424, + 0, + 0, + id="d424", + ), + pytest.param( + 425, + 0, + 0, + id="d425", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - "case152", - "case153", - "case154", - "case155", - "case156", - "case157", - "case158", - "case159", - "case160", - "case161", - "case162", - "case163", - "case164", - "case165", - "case166", - "case167", - "case168", - "case169", - "case170", - "case171", - "case172", - "case173", - "case174", - "case175", - "case176", - "case177", - "case178", - "case179", - "case180", - "case181", - "case182", - "case183", - "case184", - "case185", - "case186", - "case187", - "case188", - "case189", - "case190", - "case191", - "case192", - "case193", - "case194", - "case195", - "case196", - "case197", - "case198", - "case199", - "case200", - "case201", - "case202", - "case203", - "case204", - "case205", - "case206", - "case207", - "case208", - "case209", - "case210", - "case211", - "case212", - "case213", - "case214", - "case215", - "case216", - "case217", - "case218", - "case219", - "case220", - "case221", - "case222", - "case223", - "case224", - "case225", - "case226", - "case227", - "case228", - "case229", - "case230", - "case231", - "case232", - "case233", - "case234", - "case235", - "case236", - "case237", - "case238", - "case239", - "case240", - "case241", - "case242", - "case243", - "case244", - "case245", - "case246", - "case247", - "case248", - "case249", - "case250", - "case251", - "case252", - "case253", - "case254", - "case255", - "case256", - "case257", - "case258", - "case259", - "case260", - "case261", - "case262", - "case263", - "case264", - "case265", - "case266", - "case267", - "case268", - "case269", - "case270", - "case271", - "case272", - "case273", - "case274", - "case275", - "case276", - "case277", - "case278", - "case279", - "case280", - "case281", - "case282", - "case283", - "case284", - "case285", - "case286", - "case287", - "case288", - "case289", - "case290", - "case291", - "case292", - "case293", - "case294", - "case295", - "case296", - "case297", - "case298", - "case299", - "case300", - "case301", - "case302", - "case303", - "case304", - "case305", - "case306", - "case307", - "case308", - "case309", - "case310", - "case311", - "case312", - "case313", - "case314", - "case315", - "case316", - "case317", - "case318", - "case319", - "case320", - "case321", - "case322", - "case323", - "case324", - "case325", - "case326", - "case327", - "case328", - "case329", - "case330", - "case331", - "case332", - "case333", - "case334", - "case335", - "case336", - "case337", - "case338", - "case339", - "case340", - "case341", - "case342", - "case343", - "case344", - "case345", - "case346", - "case347", - "case348", - "case349", - "case350", - "case351", - "case352", - "case353", - "case354", - "case355", - "case356", - "case357", - "case358", - "case359", - "case360", - "case361", - "case362", - "case363", - "case364", - "case365", - "case366", - "case367", - "case368", - "case369", - "case370", - "case371", - "case372", - "case373", - "case374", - "case375", - "case376", - "case377", - "case378", - "case379", - "case380", - "case381", - "case382", - "case383", - "case384", - "case385", - "case386", - "case387", - "case388", - "case389", - "case390", - "case391", - "case392", - "case393", - "case394", - "case395", - "case396", - "case397", - "case398", - "case399", - "case400", - "case401", - "case402", - "case403", - "case404", - "case405", - "case406", - "case407", - "case408", - "case409", - "case410", - "case411", - "case412", - "case413", - "case414", - "case415", - "case416", - "case417", - "case418", - "case419", - "case420", - "case421", - "case422", - "case423", - "case424", - "case425", - ], ) @pytest.mark.pre_alloc_mutable -@pytest.mark.slow def test_sstore_combinations_initial21_paris( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: """Sstore 2 -> {calltype} -> change to {0, 1, 2} |-> {calltype} ->...""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB000000000000000000000000000000000000000) + contract_1 = Address(0xB100000000000000000000000000000000000000) + contract_2 = Address(0xB200000000000000000000000000000000000000) + contract_3 = Address(0x1000000000000000000000000000000000000000) + contract_4 = Address(0x2000000000000000000000000000000000000000) + contract_5 = Address(0x3000000000000000000000000000000000000000) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0x1000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -10283,111 +2621,22695 @@ def test_sstore_combinations_initial21_paris( gas_limit=10000000, ) - pre[contract] = Account( - balance=10, - nonce=0, - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, - ) - # Source: LLL - # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x1) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x1) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x1) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x1) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x1) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x1) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x1) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x1) - + Op.SSTORE(key=0x9, value=0x0) - + Op.SSTORE(key=0xA, value=0x1) - + Op.SSTORE(key=0xA, value=0x0) - + Op.SSTORE(key=0xB, value=0x1) - + Op.SSTORE(key=0xB, value=0x0) - + Op.SSTORE(key=0xC, value=0x1) - + Op.SSTORE(key=0xC, value=0x0) - + Op.SSTORE(key=0xD, value=0x1) - + Op.SSTORE(key=0xD, value=0x0) - + Op.SSTORE(key=0xE, value=0x1) - + Op.SSTORE(key=0xE, value=0x0) - + Op.SSTORE(key=0xF, value=0x1) - + Op.SSTORE(key=0xF, value=0x0) - + Op.SSTORE(key=0x10, value=0x1) - + Op.SSTORE(key=0x10, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.STOP - ), + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, nonce=0, - address=Address("0x2000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { (REVERT 0 32) } - pre.deploy_contract( - code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { [[0]] 0 [[1]] 1 [[2]] 2 } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 1, 1: 1, 2: 1}, nonce=0, - address=Address("0x3000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB100000000000000000000000000000000000000), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x2, value=0x2) + + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0xB200000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x1, 0x1: 0x1, 0x2: 0x1}, + pre[contract_3] = Account(balance=10, storage={0: 1, 1: 1, 2: 1}) + # Source: lll + # { [[1]] 1 [[1]] 0 [[2]] 1 [[2]] 0 [[3]] 1 [[3]] 0 [[4]] 1 [[4]] 0 [[5]] 1 [[5]] 0 [[6]] 1 [[6]] 0 [[7]] 1 [[7]] 0 [[8]] 1 [[8]] 0 [[9]] 1 [[9]] 0 [[10]] 1 [[10]] 0 [[11]] 1 [[11]] 0 [[12]] 1 [[12]] 0 [[13]] 1 [[13]] 0 [[14]] 1 [[14]] 0 [[15]] 1 [[15]] 0 [[16]] 1 [[16]] 0 [[1]] 1 } # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x1) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x1) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x1) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x1) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x1) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x1) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x1) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x1) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x1) + + Op.SSTORE(key=0x9, value=0x0) + + Op.SSTORE(key=0xA, value=0x1) + + Op.SSTORE(key=0xA, value=0x0) + + Op.SSTORE(key=0xB, value=0x1) + + Op.SSTORE(key=0xB, value=0x0) + + Op.SSTORE(key=0xC, value=0x1) + + Op.SSTORE(key=0xC, value=0x0) + + Op.SSTORE(key=0xD, value=0x1) + + Op.SSTORE(key=0xD, value=0x0) + + Op.SSTORE(key=0xE, value=0x1) + + Op.SSTORE(key=0xE, value=0x0) + + Op.SSTORE(key=0xF, value=0x1) + + Op.SSTORE(key=0xF, value=0x0) + + Op.SSTORE(key=0x10, value=0x1) + + Op.SSTORE(key=0x10, value=0x0) + + Op.SSTORE(key=0x1, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb100000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x2000000000000000000000000000000000000000), # noqa: E501 ) - # Source: LLL - # { [[0]] 0 [[1]] 1 [[2]] 2 } - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x1) - + Op.SSTORE(key=0x2, value=0x2) - + Op.STOP - ), - storage={0x0: 0x2, 0x1: 0x2, 0x2: 0x2}, + # Source: lll + # { (REVERT 0 32) } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.REVERT(offset=0x0, size=0x20) + Op.STOP, + storage={0: 2, 1: 2, 2: 2}, nonce=0, - address=Address("0xb200000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x3000000000000000000000000000000000000000), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Op.MSTORE(offset=0x64, value=0x352) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x353) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x354) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x355) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x356) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x357) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x358) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x359) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x35F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x360) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x361) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x362) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x363) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x364) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x365) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x366) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x367) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x368) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x369) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x36F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x370) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x371) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x372) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x373) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x374) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x375) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x376) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x377) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x378) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x379) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x37F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x380) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x381) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x382) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x383) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x384) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x385) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x386) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x387) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x388) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x389) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x38F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x390) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x391) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x392) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x393) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x394) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x395) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x396) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x397) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x398) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x399) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x39F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3A9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3AF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3B9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3BF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3C9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3CF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3D9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3DF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3E9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3ED) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3EF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F0) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F1) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F2) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F3) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F4) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F5) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F6) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F7) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F8) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3F9) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FA) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FB) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FC) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FD) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FE) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x3FF) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x400) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x401) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x402) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x403) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x404) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x405) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x406) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x407) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x408) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x409) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x40F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x410) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x411) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x412) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x413) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x414) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x415) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x416) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x417) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x418) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x419) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x41F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x420) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x421) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x422) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x423) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x424) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x425) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x426) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x427) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x428) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x429) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x42F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x430) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x431) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x432) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x433) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x434) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x435) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x436) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x437) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x438) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x439) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x43F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x440) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x441) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x442) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x443) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x444) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x445) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x446) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x447) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x448) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x449) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x44F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x450) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x451) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x452) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x453) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x454) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x455) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x456) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x457) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x458) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x459) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x45F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x460) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x461) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x462) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x463) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x464) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x465) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x466) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x467) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x468) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x469) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x46F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x470) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x471) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x472) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x473) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x474) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x475) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x476) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x477) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x478) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x479) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47A) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47B) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47C) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47D) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47E) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x47F) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x480) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x481) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x482) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x483) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x484) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x485) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x486) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x487) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x488) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x489) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x48F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x490) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x491) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x492) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x493) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x494) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x495) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x496) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x497) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x498) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x499) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49A) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49B) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49C) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49D) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49E) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x49F) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4A9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4AF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4B9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4BF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4C9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4CF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4D9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DD) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4DF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4E9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EC) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4ED) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EE) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4EF) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F0) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F1) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F2) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F3) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F4) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F5) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F6) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_3, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F7) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F8) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.STATICCALL( + gas=0x493E0, + address=contract_5, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4F9) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FA) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + Op.MSTORE(offset=0x64, value=0x4FB) + + Op.POP( + Op.DELEGATECALL( + gas=0x493E0, + address=contract_2, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALLCODE( + gas=0x493E0, + address=contract_2, + value=0x0, + args_offset=0x0, + args_size=0x20, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.POP( + Op.CALL( + gas=0x493E0, + address=contract_5, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.CALL( + gas=0x927C0, + address=contract_4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + ] + tx_gas = [2000000] + tx_value = [1] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=2000000, - value=1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], ) - post = expected_post + post = { + contract_4: Account(storage={1: 1}), + compute_create_address(address=sender, nonce=0): Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/__init__.py b/tests/ported_static/stTransactionTest/__init__.py index ffbf91c691c..f1d931df1ea 100644 --- a/tests/ported_static/stTransactionTest/__init__.py +++ b/tests/ported_static/stTransactionTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stTransactionTest.""" +"""Ported static tests: stTransactionTest.""" # noqa: N999 diff --git a/tests/ported_static/stTransactionTest/test_contract_store_clears_oog.py b/tests/ported_static/stTransactionTest/test_contract_store_clears_oog.py index b06ecc8f86b..8d5b3d6606c 100644 --- a/tests/ported_static/stTransactionTest/test_contract_store_clears_oog.py +++ b/tests/ported_static/stTransactionTest/test_contract_store_clears_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_contract_store_clears_oog. Ported from: -tests/static/state_tests/stTransactionTest/ContractStoreClearsOOGFiller.json +state_tests/stTransactionTest/ContractStoreClearsOOGFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/ContractStoreClearsOOGFiller.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/ContractStoreClearsOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_contract_store_clears_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_contract_store_clears_oog.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x2B75D0C814EB07C075FCCBDD9A036FAF651D9C46D7477D6C4F30772CFCA90D38 ) @@ -47,48 +46,48 @@ def test_contract_store_clears_oog( gas_limit=100000, ) - # Source: LLL + pre[sender] = Account(balance=0x1C9C380) + # Source: lll # {(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0)(SSTORE 4 0)(SSTORE 5 0)(SSTORE 6 0)(SSTORE 7 0)(SSTORE 8 0)(SSTORE 9 12)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0xC) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0xC) + + Op.STOP, storage={ - 0x0: 0xC, - 0x1: 0xC, - 0x2: 0xC, - 0x3: 0xC, - 0x4: 0xC, - 0x5: 0xC, - 0x6: 0xC, - 0x7: 0xC, - 0x8: 0xC, - 0x9: 0xC, + 0: 12, + 1: 12, + 2: 12, + 3: 12, + 4: 12, + 5: 12, + 6: 12, + 7: 12, + 8: 12, + 9: 12, }, nonce=0, - address=Address("0xc9c8ce4628bda9f8bc4a2caaebb3616f83c4305d"), # noqa: E501 + address=Address(0xC9C8CE4628BDA9F8BC4A2CAAEBB3616F83C4305D), # noqa: E501 ) - pre[sender] = Account(balance=0x1C9C380) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=23000, value=10, ) post = { - contract: Account( + sender: Account(nonce=1), + target: Account( storage={ 0: 12, 1: 12, diff --git a/tests/ported_static/stTransactionTest/test_contract_store_clears_success.py b/tests/ported_static/stTransactionTest/test_contract_store_clears_success.py index d740e84afc7..70b0aff8e9c 100644 --- a/tests/ported_static/stTransactionTest/test_contract_store_clears_success.py +++ b/tests/ported_static/stTransactionTest/test_contract_store_clears_success.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_contract_store_clears_success. Ported from: -tests/static/state_tests/stTransactionTest -ContractStoreClearsSuccessFiller.json +state_tests/stTransactionTest/ContractStoreClearsSuccessFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/ContractStoreClearsSuccessFiller.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/ContractStoreClearsSuccessFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_contract_store_clears_success( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_contract_store_clears_success.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xE624AFC0DCCEAD9A7C59F0007C5C5C3B3DD36EED1CFD8F309A68C9BA3D07769B ) @@ -49,45 +47,44 @@ def test_contract_store_clears_success( ) pre[sender] = Account(balance=0x8583B00) - # Source: LLL + # Source: lll # {(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0)(SSTORE 4 0)(SSTORE 5 0)(SSTORE 6 0)(SSTORE 7 0)(SSTORE 8 0)(SSTORE 9 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x0) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x0) + + Op.STOP, storage={ - 0x0: 0xC, - 0x1: 0xC, - 0x2: 0xC, - 0x3: 0xC, - 0x4: 0xC, - 0x5: 0xC, - 0x6: 0xC, - 0x7: 0xC, - 0x8: 0xC, - 0x9: 0xC, + 0: 12, + 1: 12, + 2: 12, + 3: 12, + 4: 12, + 5: 12, + 6: 12, + 7: 12, + 8: 12, + 9: 12, }, nonce=0, - address=Address("0xd61e0564fab2b0da5136f75db579b663bd9f2bd8"), # noqa: E501 + address=Address(0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=130000, value=10, ) - post: dict = {} + post = {target: Account(storage={}, balance=10)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_create_message_reverted.py b/tests/ported_static/stTransactionTest/test_create_message_reverted.py index f9aee9abc62..ee63a3efc6a 100644 --- a/tests/ported_static/stTransactionTest/test_create_message_reverted.py +++ b/tests/ported_static/stTransactionTest/test_create_message_reverted.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_message_reverted. Ported from: -tests/static/state_tests/stTransactionTest/CreateMessageRevertedFiller.json +state_tests/stTransactionTest/CreateMessageRevertedFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/CreateMessageRevertedFiller.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/CreateMessageRevertedFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_create_message_reverted( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_message_reverted.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x2B75D0C814EB07C075FCCBDD9A036FAF651D9C46D7477D6C4F30772CFCA90D38 ) @@ -47,26 +46,28 @@ def test_create_message_reverted( gas_limit=1000000000000, ) - # Source: LLL + pre[sender] = Account(balance=0x1C9C380) + # Source: lll # {(MSTORE 0 0x600c600055) (CREATE 0 27 5)} - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x600C600055) - + Op.CREATE(value=0x0, offset=0x1B, size=0x5) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x600C600055) + + Op.CREATE(value=0x0, offset=0x1B, size=0x5) + + Op.STOP, nonce=0, - address=Address("0xc9b0ca064c8b73a1d845547cd28d4e97fe4ec8a0"), # noqa: E501 + address=Address(0xC9B0CA064C8B73A1D845547CD28D4E97FE4EC8A0), # noqa: E501 ) - pre[sender] = Account(balance=0x1C9C380) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=21882, value=100, ) - post: dict = {} + post = { + sender: Account(nonce=1), + target: Account(balance=0, nonce=0), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_create_message_success.py b/tests/ported_static/stTransactionTest/test_create_message_success.py index 4780d7d4790..3071eb607df 100644 --- a/tests/ported_static/stTransactionTest/test_create_message_success.py +++ b/tests/ported_static/stTransactionTest/test_create_message_success.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_message_success. Ported from: -tests/static/state_tests/stTransactionTest/CreateMessageSuccessFiller.json +state_tests/stTransactionTest/CreateMessageSuccessFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,9 +24,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/CreateMessageSuccessFiller.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/CreateMessageSuccessFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +32,9 @@ def test_create_message_success( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_message_success.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,28 +49,28 @@ def test_create_message_success( ) pre[sender] = Account(balance=0x17D78400) - # Source: LLL + # Source: lll # {(MSTORE 0 0x600c600055) (CREATE 0 27 5)} - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x600C600055) - + Op.CREATE(value=0x0, offset=0x1B, size=0x5) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x600C600055) + + Op.CREATE(value=0x0, offset=0x1B, size=0x5) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=131882, value=100, ) post = { - Address("0xf1ecf98489fa9ed60a664fc4998db699cfa39d40"): Account( - storage={0: 12}, + contract_0: Account(balance=100, nonce=1), + compute_create_address(address=contract_0, nonce=0): Account( + storage={0: 12} ), } diff --git a/tests/ported_static/stTransactionTest/test_create_transaction_success.py b/tests/ported_static/stTransactionTest/test_create_transaction_success.py index a27058eab5c..b85a080c7f3 100644 --- a/tests/ported_static/stTransactionTest/test_create_transaction_success.py +++ b/tests/ported_static/stTransactionTest/test_create_transaction_success.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_create_transaction_success. Ported from: -tests/static/state_tests/stTransactionTest/CreateTransactionSuccessFiller.json +state_tests/stTransactionTest/CreateTransactionSuccessFiller.json """ import pytest @@ -14,16 +14,16 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/CreateTransactionSuccessFiller.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/CreateTransactionSuccessFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,8 @@ def test_create_transaction_success( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_transaction_success.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -51,14 +51,34 @@ def test_create_transaction_success( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "602280600c6000396000f30060e060020a600035048063f8a8fd6d14601457005b601a60" # noqa: E501 - "20565b60006000f35b56" - ), + data=Op.PUSH1[0x22] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.DIV(Op.CALLDATALOAD(offset=0x0), Op.EXP(0x2, 0xE0)) + + Op.JUMPI(pc=0x14, condition=Op.EQ(0xF8A8FD6D, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x1A] + + Op.JUMP(pc=0x20) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.JUMP, gas_limit=70000, value=100, ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account( + storage={}, + code=bytes.fromhex( + "60e060020a600035048063f8a8fd6d14601457005b601a6020565b60006000f35b56" # noqa: E501 + ), + balance=100, + nonce=1, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_empty_transaction3.py b/tests/ported_static/stTransactionTest/test_empty_transaction3.py index 6e38f9ebcbe..5b6f9bf0c54 100644 --- a/tests/ported_static/stTransactionTest/test_empty_transaction3.py +++ b/tests/ported_static/stTransactionTest/test_empty_transaction3.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_empty_transaction3. Ported from: -tests/static/state_tests/stTransactionTest/EmptyTransaction3Filler.json +state_tests/stTransactionTest/EmptyTransaction3Filler.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) REFERENCE_SPEC_GIT_PATH = "N/A" @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/EmptyTransaction3Filler.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/EmptyTransaction3Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,8 @@ def test_empty_transaction3( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_empty_transaction3.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -51,9 +51,13 @@ def test_empty_transaction3( tx = Transaction( sender=sender, to=None, + data=Bytes(""), gas_limit=55000, ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account(code=b""), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_high_gas_limit.py b/tests/ported_static/stTransactionTest/test_high_gas_limit.py index 00e3128edc8..db5ce28e428 100644 --- a/tests/ported_static/stTransactionTest/test_high_gas_limit.py +++ b/tests/ported_static/stTransactionTest/test_high_gas_limit.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_high_gas_limit. Ported from: -tests/static/state_tests/stTransactionTest/HighGasLimitFiller.json +state_tests/stTransactionTest/HighGasLimitFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,21 +22,19 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stTransactionTest/HighGasLimitFiller.json"], + ["state_tests/stTransactionTest/HighGasLimitFiller.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_high_gas_limit( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_high_gas_limit.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -47,59 +46,22 @@ def test_high_gas_limit( ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("3240349548983454"), + to=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + data=Bytes("3240349548983454"), gas_limit=100000, value=900, ) - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stTransactionTest/HighGasLimitFiller.json"], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_high_gas_limit_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 - ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("3240349548983454"), - gas_limit=100000, - value=900, - ) - - post: dict = {} + post = { + sender: Account(nonce=1), + Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B): Account( + balance=900 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_high_gas_price_paris.py b/tests/ported_static/stTransactionTest/test_high_gas_price_paris.py index 5505c543ebd..fbf997b8261 100644 --- a/tests/ported_static/stTransactionTest/test_high_gas_price_paris.py +++ b/tests/ported_static/stTransactionTest/test_high_gas_price_paris.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_high_gas_price_paris. Ported from: -tests/static/state_tests/stTransactionTest/HighGasPriceParisFiller.yml +state_tests/stTransactionTest/HighGasPriceParisFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,21 +23,21 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stTransactionTest/HighGasPriceParisFiller.yml"], + ["state_tests/stTransactionTest/HighGasPriceParisFiller.yml"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.pre_alloc_mutable @pytest.mark.exception_test +@pytest.mark.pre_alloc_mutable def test_high_gas_price_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_high_gas_price_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) - contract = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -47,20 +48,24 @@ def test_high_gas_price_paris( gas_limit=89128960, ) - pre[contract] = Account(balance=10, nonce=0) pre[sender] = Account(balance=0x3B9ACA00) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, - gas_price=5513909011300771210646237381366090850155713555506693525688456381329244268, # noqa: E501 + to=addr, + data=Bytes(""), value=1, + gas_price=5513909011300771210646237381366090850155713555506693525688456381329244268, # noqa: E501 error=[ TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, TransactionException.GASLIMIT_PRICE_PRODUCT_OVERFLOW, ], ) - post: dict = {} + post = { + coinbase: Account.NONEXISTENT, + addr: Account(balance=10), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit.py b/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit.py index 894dc586a7a..5fc9e5ac58b 100644 --- a/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit.py +++ b/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_internal_call_hitting_gas_limit. Ported from: -tests/static/state_tests/stTransactionTest -InternalCallHittingGasLimitFiller.json +state_tests/stTransactionTest/InternalCallHittingGasLimitFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/InternalCallHittingGasLimitFiller.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/InternalCallHittingGasLimitFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_internal_call_hitting_gas_limit( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adf5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_internal_call_hitting_gas_limit.""" + coinbase = Address(0x2ADF5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -48,39 +46,40 @@ def test_internal_call_hitting_gas_limit( gas_limit=100000, ) - pre.deploy_contract( - code=Op.SSTORE(key=0x1, value=0x37) + Op.STOP, - nonce=0, - address=Address("0x9f499a40cbc961c5230197401ce369d5c53ed896"), # noqa: E501 - ) - # Source: LLL + pre[sender] = Account(balance=0x3B9ACA00) + # Source: lll # { (CALL 5000 1 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x1388, - address=0x9F499A40CBC961C5230197401CE369D5C53ED896, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x1388, + address=0x9F499A40CBC961C5230197401CE369D5C53ED896, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xF4240, nonce=0, - address=Address("0xb208128346fe6a0c4efa386c0c411a56e4557e2a"), # noqa: E501 + address=Address(0xB208128346FE6A0C4EFA386C0C411A56E4557E2A), # noqa: E501 + ) + # Source: lll + # {[[1]]55} + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=0x37) + Op.STOP, + nonce=0, + address=Address(0x9F499A40CBC961C5230197401CE369D5C53ED896), # noqa: E501 ) - pre[sender] = Account(balance=0x3B9ACA00) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=21100, value=10, ) - post: dict = {} + post = {addr: Account(storage={}, balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit2.py b/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit2.py index a94711ace89..dfde0b9cb7b 100644 --- a/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit2.py +++ b/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit2.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_internal_call_hitting_gas_limit2. Ported from: -tests/static/state_tests/stTransactionTest -InternalCallHittingGasLimit2Filler.json +state_tests/stTransactionTest/InternalCallHittingGasLimit2Filler.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/InternalCallHittingGasLimit2Filler.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/InternalCallHittingGasLimit2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_internal_call_hitting_gas_limit2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adf5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_internal_call_hitting_gas_limit2.""" + coinbase = Address(0x2ADF5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -48,38 +46,39 @@ def test_internal_call_hitting_gas_limit2( gas_limit=47766, ) - # Source: LLL + pre[sender] = Account(balance=0x3B9ACA00) + # Source: lll # { (CALL 25000 1 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x61A8, - address=0x9F499A40CBC961C5230197401CE369D5C53ED896, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x61A8, + address=0x9F499A40CBC961C5230197401CE369D5C53ED896, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x786a1ab68bb1c7eb88a1b844d6f4d4a51022de2c"), # noqa: E501 + address=Address(0x786A1AB68BB1C7EB88A1B844D6F4D4A51022DE2C), # noqa: E501 ) - pre.deploy_contract( + # Source: lll + # {[[1]]55} + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x37) + Op.STOP, nonce=0, - address=Address("0x9f499a40cbc961c5230197401ce369d5c53ed896"), # noqa: E501 + address=Address(0x9F499A40CBC961C5230197401CE369D5C53ED896), # noqa: E501 ) - pre[sender] = Account(balance=0x3B9ACA00) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=47766, value=10, ) - post: dict = {} + post = {addr: Account(storage={}, balance=0)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit_success.py b/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit_success.py index ce60e4c945c..83d23517ea3 100644 --- a/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit_success.py +++ b/tests/ported_static/stTransactionTest/test_internal_call_hitting_gas_limit_success.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_internal_call_hitting_gas_limit_success. Ported from: -tests/static/state_tests/stTransactionTest -InternalCallHittingGasLimitSuccessFiller.json +state_tests/stTransactionTest/InternalCallHittingGasLimitSuccessFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransactionTest/InternalCallHittingGasLimitSuccessFiller.json", # noqa: E501 + "state_tests/stTransactionTest/InternalCallHittingGasLimitSuccessFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_internal_call_hitting_gas_limit_success( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adf5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_internal_call_hitting_gas_limit_success.""" + coinbase = Address(0x2ADF5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -48,40 +48,39 @@ def test_internal_call_hitting_gas_limit_success( gas_limit=220000, ) - # Source: LLL + pre[sender] = Account(balance=0x3B9ACA00) + # Source: lll # { (CALL 25000 1 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x61A8, - address=0x9F499A40CBC961C5230197401CE369D5C53ED896, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x61A8, + address=0x9F499A40CBC961C5230197401CE369D5C53ED896, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, nonce=0, - address=Address("0x786a1ab68bb1c7eb88a1b844d6f4d4a51022de2c"), # noqa: E501 + address=Address(0x786A1AB68BB1C7EB88A1B844D6F4D4A51022DE2C), # noqa: E501 ) - callee = pre.deploy_contract( + # Source: lll + # {[[1]]55} + addr = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x1, value=0x37) + Op.STOP, nonce=0, - address=Address("0x9f499a40cbc961c5230197401ce369d5c53ed896"), # noqa: E501 + address=Address(0x9F499A40CBC961C5230197401CE369D5C53ED896), # noqa: E501 ) - pre[sender] = Account(balance=0x3B9ACA00) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=150000, value=10, ) - post = { - callee: Account(storage={1: 55}), - } + post = {addr: Account(storage={1: 55}, balance=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_internal_call_store_clears_oog.py b/tests/ported_static/stTransactionTest/test_internal_call_store_clears_oog.py index 9ef3c2e856f..4f1bb709c68 100644 --- a/tests/ported_static/stTransactionTest/test_internal_call_store_clears_oog.py +++ b/tests/ported_static/stTransactionTest/test_internal_call_store_clears_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_internal_call_store_clears_oog. Ported from: -tests/static/state_tests/stTransactionTest -InternalCallStoreClearsOOGFiller.json +state_tests/stTransactionTest/InternalCallStoreClearsOOGFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/InternalCallStoreClearsOOGFiller.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/InternalCallStoreClearsOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_internal_call_store_clears_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_internal_call_store_clears_oog.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -48,65 +46,64 @@ def test_internal_call_store_clears_oog( gas_limit=1000000, ) - # Source: LLL - # { (CALL 40000 1 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x9C40, - address=0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=10, + # Source: lll + # {(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0)(SSTORE 4 0)(SSTORE 5 0)(SSTORE 6 0)(SSTORE 7 0)(SSTORE 8 0)(SSTORE 9 0)} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x0) + + Op.STOP, + storage={ + 0: 12, + 1: 12, + 2: 12, + 3: 12, + 4: 12, + 5: 12, + 6: 12, + 7: 12, + 8: 12, + 9: 12, + }, nonce=0, - address=Address("0x30bfe899ef735d5aaca102952664a74b1de046af"), # noqa: E501 + address=Address(0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8), # noqa: E501 ) pre[sender] = Account(balance=0x3B9ACA00) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x0) - + Op.STOP - ), - storage={ - 0x0: 0xC, - 0x1: 0xC, - 0x2: 0xC, - 0x3: 0xC, - 0x4: 0xC, - 0x5: 0xC, - 0x6: 0xC, - 0x7: 0xC, - 0x8: 0xC, - 0x9: 0xC, - }, + # Source: lll + # { (CALL 40000 1 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x9C40, + address=0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=10, nonce=0, - address=Address("0xd61e0564fab2b0da5136f75db579b663bd9f2bd8"), # noqa: E501 + address=Address(0x30BFE899EF735D5AACA102952664A74B1DE046AF), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=160000, value=10, ) post = { - callee: Account( + addr: Account( storage={ 0: 12, 1: 12, @@ -119,7 +116,10 @@ def test_internal_call_store_clears_oog( 8: 12, 9: 12, }, + balance=0, ), + sender: Account(nonce=1), + target: Account(balance=20), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_internal_call_store_clears_success.py b/tests/ported_static/stTransactionTest/test_internal_call_store_clears_success.py index 93c72f62249..c6b040c11fa 100644 --- a/tests/ported_static/stTransactionTest/test_internal_call_store_clears_success.py +++ b/tests/ported_static/stTransactionTest/test_internal_call_store_clears_success.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_internal_call_store_clears_success. Ported from: -tests/static/state_tests/stTransactionTest -InternalCallStoreClearsSuccessFiller.json +state_tests/stTransactionTest/InternalCallStoreClearsSuccessFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransactionTest/InternalCallStoreClearsSuccessFiller.json", # noqa: E501 + "state_tests/stTransactionTest/InternalCallStoreClearsSuccessFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_internal_call_store_clears_success( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_internal_call_store_clears_success.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -48,63 +48,66 @@ def test_internal_call_store_clears_success( gas_limit=1000000, ) - # Source: LLL - # { (CALL 100000 1 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0x186A0, - address=0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=10, + # Source: lll + # {(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0)(SSTORE 4 0)(SSTORE 5 0)(SSTORE 6 0)(SSTORE 7 0)(SSTORE 8 0)(SSTORE 9 0)} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x0) + + Op.STOP, + storage={ + 0: 12, + 1: 12, + 2: 12, + 3: 12, + 4: 12, + 5: 12, + 6: 12, + 7: 12, + 8: 12, + 9: 12, + }, nonce=0, - address=Address("0x4583a4f45bcb657469d752196a99ed546c8464ef"), # noqa: E501 + address=Address(0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8), # noqa: E501 ) pre[sender] = Account(balance=0x3B9ACA00) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x0) - + Op.STOP - ), - storage={ - 0x0: 0xC, - 0x1: 0xC, - 0x2: 0xC, - 0x3: 0xC, - 0x4: 0xC, - 0x5: 0xC, - 0x6: 0xC, - 0x7: 0xC, - 0x8: 0xC, - 0x9: 0xC, - }, + # Source: lll + # { (CALL 100000 1 0 0 0 0) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0x186A0, + address=0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=10, nonce=0, - address=Address("0xd61e0564fab2b0da5136f75db579b663bd9f2bd8"), # noqa: E501 + address=Address(0x4583A4F45BCB657469D752196A99ED546C8464EF), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=160000, value=10, ) - post: dict = {} + post = { + addr: Account(storage={}, balance=1), + sender: Account(nonce=1), + target: Account(balance=19), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_no_src_account.py b/tests/ported_static/stTransactionTest/test_no_src_account.py index d58f203034c..f7464c0f42b 100644 --- a/tests/ported_static/stTransactionTest/test_no_src_account.py +++ b/tests/ported_static/stTransactionTest/test_no_src_account.py @@ -1,467 +1,247 @@ """ -Test ported from static filler. +Test_no_src_account. Ported from: -tests/static/state_tests/stTransactionTest/NoSrcAccountFiller.yml +state_tests/stTransactionTest/NoSrcAccountFiller.yml """ import pytest from execution_testing import ( - EOA, AccessList, Address, Alloc, + Bytes, Environment, Hash, StateTestFiller, Transaction, TransactionException, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stTransactionTest/NoSrcAccountFiller.yml"], + ["state_tests/stTransactionTest/NoSrcAccountFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, tx_value, tx_access_list, tx_error", + "d, g, v", [ pytest.param( - "", - 21000, 0, - None, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case0", + 0, + 0, + id="d0-g0-v0", marks=pytest.mark.exception_test, ), pytest.param( - "", - 21000, + 0, + 0, 1, - None, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case1", + id="d0-g0-v1", marks=pytest.mark.exception_test, ), pytest.param( - "", - 210000, 0, - None, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case2", + 1, + 0, + id="d0-g1-v0", marks=pytest.mark.exception_test, ), pytest.param( - "", - 210000, + 0, + 1, 1, - None, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case3", + id="d0-g1-v1", marks=pytest.mark.exception_test, ), pytest.param( - "", 0, + 2, 0, - None, - TransactionException.INTRINSIC_GAS_TOO_LOW, - id="case4", + id="d0-g2-v0", marks=pytest.mark.exception_test, ), pytest.param( - "", 0, + 2, 1, - None, - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case5", + id="d0-g2-v1", marks=pytest.mark.exception_test, ), pytest.param( - "dead60a7", - 21000, + 1, + 0, 0, - None, - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case6", + id="d1-g0-v0", marks=pytest.mark.exception_test, ), pytest.param( - "dead60a7", - 21000, 1, - None, - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case7", + 0, + 1, + id="d1-g0-v1", marks=pytest.mark.exception_test, ), pytest.param( - "dead60a7", - 210000, + 1, + 1, 0, - None, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case8", + id="d1-g1-v0", marks=pytest.mark.exception_test, ), pytest.param( - "dead60a7", - 210000, 1, - None, - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case9", + 1, + 1, + id="d1-g1-v1", marks=pytest.mark.exception_test, ), pytest.param( - "dead60a7", - 0, + 1, + 2, 0, - None, - TransactionException.INTRINSIC_GAS_TOO_LOW, - id="case10", + id="d1-g2-v0", marks=pytest.mark.exception_test, ), pytest.param( - "dead60a7", - 0, 1, - None, - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case11", + 2, + 1, + id="d1-g2-v1", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 21000, + 2, + 0, 0, - [], - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case12", + id="d2-g0-v0", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 21000, + 2, + 0, 1, - [], - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case13", + id="d2-g0-v1", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 210000, + 2, + 1, 0, - [], - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case14", + id="d2-g1-v0", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 210000, + 2, + 1, 1, - [], - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case15", + id="d2-g1-v1", marks=pytest.mark.exception_test, ), pytest.param( - "00", + 2, + 2, 0, - 0, - [], - TransactionException.INTRINSIC_GAS_TOO_LOW, - id="case16", + id="d2-g2-v0", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 0, + 2, + 2, 1, - [], - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case17", + id="d2-g2-v1", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 21000, + 3, + 0, 0, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[], - ) - ], - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case18", + id="d3-g0-v0", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 21000, + 3, + 0, 1, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[], - ) - ], - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case19", + id="d3-g0-v1", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 210000, + 3, + 1, 0, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[], - ) - ], - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case20", + id="d3-g1-v0", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 210000, + 3, + 1, 1, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[], - ) - ], - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case21", + id="d3-g1-v1", marks=pytest.mark.exception_test, ), pytest.param( - "00", + 3, + 2, 0, - 0, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[], - ) - ], - TransactionException.INTRINSIC_GAS_TOO_LOW, - id="case22", + id="d3-g2-v0", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 0, + 3, + 2, 1, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[], - ) - ], - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case23", + id="d3-g2-v1", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 21000, + 4, 0, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - ), - ], - ) - ], - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case24", + 0, + id="d4-g0-v0", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 21000, + 4, + 0, 1, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - ), - ], - ) - ], - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case25", + id="d4-g0-v1", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 210000, + 4, + 1, 0, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - ), - ], - ) - ], - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case26", + id="d4-g1-v0", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 210000, + 4, 1, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - ), - ], - ) - ], - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - id="case27", + 1, + id="d4-g1-v1", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 0, + 4, + 2, 0, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - ), - ], - ) - ], - TransactionException.INTRINSIC_GAS_TOO_LOW, - id="case28", + id="d4-g2-v0", marks=pytest.mark.exception_test, ), pytest.param( - "00", - 0, + 4, + 2, 1, - [ - AccessList( - address=Address( - "0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f" - ), - storage_keys=[ - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), - Hash( - "0x0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - ), - ], - ) - ], - [ - TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, - TransactionException.INTRINSIC_GAS_TOO_LOW, - ], - id="case29", + id="d4-g2-v1", marks=pytest.mark.exception_test, ), ], @@ -470,17 +250,14 @@ def test_no_src_account( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - tx_value: int, - tx_access_list: list | None, - tx_error: object, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x4A2FFC8867FD8D1773481CF13F36E44F033133C579520D2745E46C3BBBF21E6A - ) + """Test_no_src_account.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = pre.fund_eoa(amount=0) env = Environment( fee_recipient=coinbase, @@ -491,26 +268,190 @@ def test_no_src_account( gas_limit=89128960, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex("00"), + # Source: raw + # 0x00 + target = pre.deploy_contract( # noqa: F841 + code=Op.STOP, nonce=0, - address=Address("0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f"), # noqa: E501 + address=Address(0x4D7B154E5BF8310A4D8220C8EED80020E4B8F86F), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": [0, 1], "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Frontier": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Frontier": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ] + }, + }, + { + "indexes": {"data": 1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Frontier": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS + }, + }, + { + "indexes": {"data": [0, 1], "gas": 2, "value": 1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Frontier": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ] + }, + }, + { + "indexes": {"data": [0, 1], "gas": 2, "value": 0}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Frontier": TransactionException.INTRINSIC_GAS_TOO_LOW + }, + }, + { + "indexes": {"data": 2, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ], + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ], + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ], + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ], + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INTRINSIC_GAS_TOO_LOW, + ">=Frontier None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x4A2FFC8867FD8D1773481CF13F36E44F033133C579520D2745E46C3BBBF21E6A - ) + """Test_no_src_account1559.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = pre.fund_eoa(amount=0) env = Environment( fee_recipient=coinbase, @@ -352,25 +184,101 @@ def test_no_src_account1559( gas_limit=89128960, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=bytes.fromhex("00"), + # Source: raw + # 0x00 + target = pre.deploy_contract( # noqa: F841 + code=Op.STOP, nonce=0, - address=Address("0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f"), # noqa: E501 + address=Address(0x4D7B154E5BF8310A4D8220C8EED80020E4B8F86F), # noqa: E501 ) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ], + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ], + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INTRINSIC_GAS_TOO_LOW, + ">=Frontier None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x4A2FFC8867FD8D1773481CF13F36E44F033133C579520D2745E46C3BBBF21E6A - ) + """Test_no_src_account_create.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = pre.fund_eoa(amount=0) env = Environment( fee_recipient=coinbase, @@ -499,26 +268,152 @@ def test_no_src_account_create( gas_limit=89128960, ) - # Source: raw bytecode - pre.deploy_contract( - code=bytes.fromhex("00"), + # Source: raw + # 0x00 + addr = pre.deploy_contract( # noqa: F841 + code=Op.STOP, nonce=0, - address=Address("0x4d7b154e5bf8310a4d8220c8eed80020e4b8f86f"), # noqa: E501 + address=Address(0x4D7B154E5BF8310A4D8220C8EED80020E4B8F86F), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Homestead": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ], + "Frontier": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + }, + }, + { + "indexes": {"data": 1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Frontier": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ] + }, + }, + { + "indexes": {"data": [0, 1], "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Frontier": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS + }, + }, + { + "indexes": {"data": [0, 1], "gas": 2, "value": 1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Frontier": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ] + }, + }, + { + "indexes": {"data": [0, 1], "gas": 2, "value": 0}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Frontier": TransactionException.INTRINSIC_GAS_TOO_LOW + }, + }, + { + "indexes": {"data": [2, 3, 4], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ], + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ], + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INTRINSIC_GAS_TOO_LOW, + ">=Frontier None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x4A2FFC8867FD8D1773481CF13F36E44F033133C579520D2745E46C3BBBF21E6A - ) - contract = Address("0xc22941800a5a392672dc35d8e088ba1bc90891b1") + """Test_no_src_account_create1559.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0xC22941800A5A392672DC35D8E088BA1BC90891B1) + sender = pre.fund_eoa(amount=0) env = Environment( fee_recipient=coinbase, @@ -356,20 +185,95 @@ def test_no_src_account_create1559( gas_limit=89128960, ) - pre[contract] = Account(balance=0, nonce=24743) + pre[addr] = Account(balance=0, nonce=24743) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ], + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": [ + TransactionException.INSUFFICIENT_ACCOUNT_FUNDS, + TransactionException.INTRINSIC_GAS_TOO_LOW, + ], + ">=Frontier=Cancun"], + "result": {}, + "expect_exception": { + ">=Cancun": TransactionException.INTRINSIC_GAS_TOO_LOW, + ">=Frontier None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_opcodes_transaction_init.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -439,31 +854,664 @@ def test_opcodes_transaction_init( gas_limit=1000000, ) - # Source: raw bytecode - pre.deploy_contract( - code=Op.POP(0xFFFF) + Op.RETURN(offset=0x0, size=0x4), - balance=0xDE0B6B3A7640000, - address=Address("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6"), # noqa: E501 - ) - pre[sender] = Account(balance=0xDE0B6B3A7640000, storage={0x0: 0x0}) - # Source: Yul - # { sstore(0, 1) } - pre.deploy_contract( + pre[sender] = Account(balance=0xDE0B6B3A7640000, storage={0: 0}) + # Source: yul + # berlin { sstore(0, 1) } + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=0x1) + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: raw + # 0x61ffff5060046000f3 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.POP(0xFFFF) + Op.RETURN(offset=0x0, size=0x4), + balance=0xDE0B6B3A7640000, + nonce=1, + address=Address(0x0F572E5295C57F15886F9B263E2F6D2D6C7B5EC6), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 33, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + storage={ + 0: 0x38600060013960015160005560006000F3000000000000000000000000000000, # noqa: E501 + }, + nonce=1, + ), + }, + }, + { + "indexes": {"data": 37, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ), + }, + }, + { + "indexes": {"data": 38, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ), + }, + }, + { + "indexes": {"data": 120, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + nonce=2 + ), + }, + }, + { + "indexes": {"data": 124, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ), + }, + }, + { + "indexes": {"data": 125, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ), + }, + }, + { + "indexes": {"data": 126, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address( + address=sender, nonce=0 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": 127, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address( + address=sender, nonce=0 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": { + "data": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 34, + 35, + 36, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 121, + 122, + 123, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ), + }, + }, + { + "indexes": {"data": [128], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + compute_create_address( + address=sender, nonce=0 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [129], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(storage={0: 1, 1: 0}), + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ), + }, + }, + { + "indexes": {"data": [130], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(storage={}), + compute_create_address( + address=sender, nonce=0 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": [131], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(nonce=1), + contract_0: Account(storage={}), + compute_create_address( + address=sender, nonce=0 + ): Account.NONEXISTENT, + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Op.STOP + Op.RETURN(offset=0x0, size=0x1), + Op.POP(Op.ADD(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.MUL(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.SUB(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.DIV(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.SDIV(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.MOD(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.SMOD(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.ADDMOD(0x1, 0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.MULMOD(0x1, 0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.EXP(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.SIGNEXTEND(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.LT(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.GT(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.SLT(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.SGT(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.EQ(0x1, 0x1)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.ISZERO(0x0)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.AND(0x0, 0x0)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.OR(0x0, 0x0)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.XOR(0x0, 0x0)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.NOT(0x0)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.BYTE(0x0, 0x8050201008040201)) + + Op.RETURN(offset=0x0, size=0x0), + Op.SHA3(offset=0x0, size=0x0) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.ADDRESS) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.BALANCE(address=0x0)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.ORIGIN) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.CALLER) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.CALLVALUE) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.CALLDATALOAD(offset=0x0)) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.CALLDATASIZE) + Op.RETURN(offset=0x0, size=0x0), + Op.CALLDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.CODESIZE) + Op.RETURN(offset=0x0, size=0x0), + Op.CODECOPY(dest_offset=0x1, offset=0x0, size=Op.CODESIZE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x1)) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.GASPRICE) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.EXTCODESIZE(address=0x0)) + Op.RETURN(offset=0x0, size=0x0), + Op.EXTCODECOPY( + address=0x1000000000000000000000000000000000000010, + dest_offset=0x0, + offset=0x0, + size=0x14, + ) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.RETURNDATASIZE) + Op.RETURN(offset=0x0, size=0x0), + Op.RETURNDATACOPY(dest_offset=0x0, offset=0x0, size=0x0) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0x0) * 2 + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.MLOAD(offset=0x0)) + Op.RETURN(offset=0x0, size=0x0), + Op.MSTORE(offset=0x0, value=0x0) + Op.RETURN(offset=0x0, size=0x0), + Op.MSTORE8(offset=0x0, value=0xFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.SLOAD(key=0x0)) + Op.RETURN(offset=0x0, size=0x0), + Op.SSTORE(key=0x1, value=0x1) + Op.RETURN(offset=0x0, size=0x0), + Op.JUMP(pc=0x4) + + Op.STOP + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0), + Op.JUMPI(pc=0x6, condition=0x1) + + Op.STOP + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.PC) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.MSIZE) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.GAS) + Op.RETURN(offset=0x0, size=0x0), + Op.JUMPDEST + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFF) + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] + + Op.POP(Op.DUP1) + + Op.POP + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 2 + + Op.POP(Op.DUP2) + + Op.POP * 2 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 3 + + Op.POP(Op.DUP3) + + Op.POP * 3 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 4 + + Op.POP(Op.DUP4) + + Op.POP * 4 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 5 + + Op.POP(Op.DUP5) + + Op.POP * 5 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 6 + + Op.POP(Op.DUP6) + + Op.POP * 6 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 7 + + Op.POP(Op.DUP7) + + Op.POP * 7 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 8 + + Op.POP(Op.DUP8) + + Op.POP * 8 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 9 + + Op.POP(Op.DUP9) + + Op.POP * 9 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 10 + + Op.POP(Op.DUP10) + + Op.POP * 10 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 11 + + Op.POP(Op.DUP11) + + Op.POP * 11 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 12 + + Op.POP(Op.DUP12) + + Op.POP * 12 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 13 + + Op.POP(Op.DUP13) + + Op.POP * 13 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 14 + + Op.POP(Op.DUP14) + + Op.POP * 14 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 15 + + Op.POP(Op.DUP15) + + Op.POP * 15 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 16 + + Op.POP(Op.DUP16) + + Op.POP * 16 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 2 + + Op.SWAP1 + + Op.POP * 2 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 3 + + Op.SWAP2 + + Op.POP * 3 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 4 + + Op.SWAP3 + + Op.POP * 4 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 5 + + Op.SWAP4 + + Op.POP * 5 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 6 + + Op.SWAP5 + + Op.POP * 6 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 7 + + Op.SWAP6 + + Op.POP * 7 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0xFF] * 8 + + Op.SWAP7 + + Op.POP * 8 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0x0] + + Op.PUSH1[0xFF] * 8 + + Op.SWAP8 + + Op.POP * 9 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0x0] + + Op.PUSH1[0xFF] * 9 + + Op.SWAP9 + + Op.POP * 10 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0x0] + + Op.PUSH1[0xFF] * 10 + + Op.SWAP10 + + Op.POP * 11 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0x0] + + Op.PUSH1[0xFF] * 11 + + Op.SWAP11 + + Op.POP * 12 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0x0] + + Op.PUSH1[0xFF] * 12 + + Op.SWAP12 + + Op.POP * 13 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0x0] + + Op.PUSH1[0xFF] * 13 + + Op.SWAP13 + + Op.POP * 14 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0x0] + + Op.PUSH1[0xFF] * 14 + + Op.SWAP14 + + Op.POP * 15 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0x0] + + Op.PUSH1[0xFF] * 15 + + Op.SWAP15 + + Op.POP * 16 + + Op.RETURN(offset=0x0, size=0x0), + Op.PUSH1[0x0] + + Op.PUSH1[0xFF] * 16 + + Op.SWAP16 + + Op.POP * 17 + + Op.RETURN(offset=0x0, size=0x0), + Op.LOG0(offset=0x0, size=0x0) + Op.RETURN(offset=0x0, size=0x0), + Op.LOG1(offset=0x0, size=0x0, topic_1=0xFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.LOG2(offset=0x0, size=0x0, topic_1=0xFF, topic_2=0xFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.LOG3(offset=0x0, size=0x0, topic_1=0xFF, topic_2=0xFF, topic_3=0xFF) + + Op.RETURN(offset=0x0, size=0x0), + Op.LOG4( + offset=0x0, + size=0x0, + topic_1=0xFF, + topic_2=0xFF, + topic_3=0xFF, + topic_4=0xFF, + ) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP(Op.CREATE(value=0xFF, offset=0x0, size=0x0)) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP( + Op.CALL( + gas=0x64, + address=contract_1, + value=0x17, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP( + Op.CALLCODE( + gas=0x64, + address=contract_1, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.RETURN(offset=0x0, size=0x0), + Op.RETURN(offset=0x0, size=0x0), + Op.POP( + Op.DELEGATECALL( + gas=0x186A0, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.RETURN(offset=0x0, size=0x0), + Op.POP( + Op.STATICCALL( + gas=0x2710, + address=contract_1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + ) + + Op.RETURN(offset=0x0, size=0x0), + Op.REVERT(offset=0x0, size=0x0) + Op.RETURN(offset=0x0, size=0x0), + Op.SELFDESTRUCT(address=Op.ORIGIN), + Bytes("ef"), + Op.CALL( + gas=0xC350, + address=contract_0, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_0, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.INVALID, + Op.POP( + Op.CALL( + gas=0xC350, + address=contract_0, + value=Op.DUP1, + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + ) + + Op.MSTORE8(offset=0x0, value=0xEF) + + Op.RETURN(offset=0x0, size=0x1), + ] + tx_gas = [400000] + tx_value = [100000] tx = Transaction( sender=sender, to=None, - data=tx_data, - gas_limit=400000, - value=100000, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_overflow_gas_require2.py b/tests/ported_static/stTransactionTest/test_overflow_gas_require2.py index ba2230b4bfa..10476e24cec 100644 --- a/tests/ported_static/stTransactionTest/test_overflow_gas_require2.py +++ b/tests/ported_static/stTransactionTest/test_overflow_gas_require2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_overflow_gas_require2. Ported from: -tests/static/state_tests/stTransactionTest/OverflowGasRequire2Filler.json +state_tests/stTransactionTest/OverflowGasRequire2Filler.json """ import pytest @@ -11,33 +11,36 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post_fork, +) REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/OverflowGasRequire2Filler.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/OverflowGasRequire2Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") +@pytest.mark.valid_until("Prague") @pytest.mark.pre_alloc_mutable def test_overflow_gas_require2( state_test: StateTestFiller, pre: Alloc, + fork: Fork, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_overflow_gas_require2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -49,62 +52,39 @@ def test_overflow_gas_require2( ) pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 ) - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("3240349548983454"), - gas_limit=1152921504606846976, - gas_price=80, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/OverflowGasRequire2Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.valid_until("Prague") -@pytest.mark.pre_alloc_mutable -def test_overflow_gas_require2_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x50EADFB1030587AB3A993A6ECC073041FC3B45E119DAA31A13D78C7E209631A5 - ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=9223372036854775807, - ) - - pre[sender] = Account( - balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - ) + expect_entries_: list[dict] = [ + { + "network": ["Cancun"], + "result": { + sender: Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6357F, # noqa: E501 + nonce=1, + ), + }, + }, + { + "network": ["Prague"], + "result": { + sender: Account( + balance=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5F97F, # noqa: E501 + nonce=1, + ), + }, + }, + ] + + post, _exc = resolve_expect_post_fork(expect_entries_, fork) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("3240349548983454"), + to=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + data=Bytes("3240349548983454"), gas_limit=1152921504606846976, gas_price=80, + error=_exc, ) - post: dict = {} - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_point_at_infinity_ec_recover.py b/tests/ported_static/stTransactionTest/test_point_at_infinity_ec_recover.py index 74e4c514dfe..3463557259e 100644 --- a/tests/ported_static/stTransactionTest/test_point_at_infinity_ec_recover.py +++ b/tests/ported_static/stTransactionTest/test_point_at_infinity_ec_recover.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_point_at_infinity_ec_recover. Ported from: -tests/static/state_tests/stTransactionTest/PointAtInfinityECRecoverFiller.yml +state_tests/stTransactionTest/PointAtInfinityECRecoverFiller.yml """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/PointAtInfinityECRecoverFiller.yml", # noqa: E501 - ], + ["state_tests/stTransactionTest/PointAtInfinityECRecoverFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +30,8 @@ def test_point_at_infinity_ec_recover( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_point_at_infinity_ec_recover.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -46,33 +45,33 @@ def test_point_at_infinity_ec_recover( gas_limit=89128960, ) - # Source: Yul - # { mstore(0, 0x6b8d2c81b11b2d699528dde488dbdf2f94293d0d33c32e347f255fa4a6c1f0a9) mstore(32, 0x1b) mstore(64, 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798) mstore(96, 0x6b8d2c81b11b2d699528dde488dbdf2f94293d0d33c32e347f255fa4a6c1f0a9) sstore(0, call(1000000, 1, 0, 0, 128, 0, 32)) sstore(1, mload(0)) } # noqa: E501 - contract = pre.deploy_contract( + # Source: yul + # berlin { mstore(0, 0x6b8d2c81b11b2d699528dde488dbdf2f94293d0d33c32e347f255fa4a6c1f0a9) mstore(32, 0x1b) mstore(64, 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798) mstore(96, 0x6b8d2c81b11b2d699528dde488dbdf2f94293d0d33c32e347f255fa4a6c1f0a9) sstore(0, call(1000000, 1, 0, 0, 128, 0, 32)) sstore(1, mload(0)) } # noqa: E501 + target = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "6000805160206065833981519152600052601b6020527f79be667ef9dcbbac55a06295ce" # noqa: E501 - "870b07029bfcdb2dce28d959f2815b16f817986040526000805160206065833981519152" # noqa: E501 - "60605260206000608081806001620f4240f160005560005160015500fe6b8d2c81b11b2d" # noqa: E501 - "699528dde488dbdf2f94293d0d33c32e347f255fa4a6c1f0a9" + "6000805160206065833981519152600052601b6020527f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798604052600080516020606583398151915260605260206000608081806001620f4240f160005560005160015500fe6b8d2c81b11b2d699528dde488dbdf2f94293d0d33c32e347f255fa4a6c1f0a9" # noqa: E501 ), balance=0xFFFFFFFF, nonce=0, - address=Address("0xb9f36f1cb467544974bb7e0f5e1f0a499d4e6d7d"), # noqa: E501 + address=Address(0xB9F36F1CB467544974BB7E0F5E1F0A499D4E6D7D), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=10000000, ) post = { - contract: Account( + sender: Account(nonce=1), + target: Account( storage={ 0: 1, 1: 0x6B8D2C81B11B2D699528DDE488DBDF2F94293D0D33C32E347F255FA4A6C1F0A9, # noqa: E501 }, + nonce=0, ), } diff --git a/tests/ported_static/stTransactionTest/test_store_clears_and_internal_call_store_clears_oog.py b/tests/ported_static/stTransactionTest/test_store_clears_and_internal_call_store_clears_oog.py index 8aeebd3531a..85d6e337e9e 100644 --- a/tests/ported_static/stTransactionTest/test_store_clears_and_internal_call_store_clears_oog.py +++ b/tests/ported_static/stTransactionTest/test_store_clears_and_internal_call_store_clears_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_store_clears_and_internal_call_store_clears_oog. Ported from: -tests/static/state_tests/stTransactionTest -StoreClearsAndInternalCallStoreClearsOOGFiller.json +state_tests/stTransactionTest/StoreClearsAndInternalCallStoreClearsOOGFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransactionTest/StoreClearsAndInternalCallStoreClearsOOGFiller.json", # noqa: E501 + "state_tests/stTransactionTest/StoreClearsAndInternalCallStoreClearsOOGFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_store_clears_and_internal_call_store_clears_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_store_clears_and_internal_call_store_clears_oog.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x96C07046493EC8728482079AB999D2994420D9CF4D3491DFD06871B106D9D87B ) @@ -48,70 +48,69 @@ def test_store_clears_and_internal_call_store_clears_oog( gas_limit=10000000, ) - pre[sender] = Account(balance=0x1DCD6500) - callee = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x0) - + Op.STOP - ), + # Source: lll + # {(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0)(SSTORE 4 0)(SSTORE 5 0)(SSTORE 6 0)(SSTORE 7 0)(SSTORE 8 0)(SSTORE 9 0)} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x0) + + Op.STOP, storage={ - 0x0: 0xC, - 0x1: 0xC, - 0x2: 0xC, - 0x3: 0xC, - 0x4: 0xC, - 0x5: 0xC, - 0x6: 0xC, - 0x7: 0xC, - 0x8: 0xC, - 0x9: 0xC, + 0: 12, + 1: 12, + 2: 12, + 3: 12, + 4: 12, + 5: 12, + 6: 12, + 7: 12, + 8: 12, + 9: 12, }, nonce=0, - address=Address("0xd61e0564fab2b0da5136f75db579b663bd9f2bd8"), # noqa: E501 + address=Address(0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8), # noqa: E501 ) - # Source: LLL + pre[sender] = Account(balance=0x1DCD6500) + # Source: lll # {(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0) (CALL 20000 1 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.CALL( - gas=0x4E20, - address=0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xC, 0x1: 0xC, 0x2: 0xC, 0x3: 0xC, 0x4: 0xC}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.CALL( + gas=0x4E20, + address=0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 12, 1: 12, 2: 12, 3: 12, 4: 12}, balance=10, nonce=0, - address=Address("0xf6694e843901ae9f4c9303557d000708df9581dc"), # noqa: E501 + address=Address(0xF6694E843901AE9F4C9303557D000708DF9581DC), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, value=10, ) post = { - callee: Account( + addr: Account( storage={ 0: 12, 1: 12, @@ -124,8 +123,10 @@ def test_store_clears_and_internal_call_store_clears_oog( 8: 12, 9: 12, }, + balance=0, ), - contract: Account(storage={4: 12}), + sender: Account(nonce=1), + target: Account(storage={4: 12}, balance=20), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_store_clears_and_internal_call_store_clears_success.py b/tests/ported_static/stTransactionTest/test_store_clears_and_internal_call_store_clears_success.py index b3deb6ef70a..bfd9ce583fd 100644 --- a/tests/ported_static/stTransactionTest/test_store_clears_and_internal_call_store_clears_success.py +++ b/tests/ported_static/stTransactionTest/test_store_clears_and_internal_call_store_clears_success.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_store_clears_and_internal_call_store_clears_success. Ported from: -tests/static/state_tests/stTransactionTest -StoreClearsAndInternalCallStoreClearsSuccessFiller.json +state_tests/stTransactionTest/StoreClearsAndInternalCallStoreClearsSuccessFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransactionTest/StoreClearsAndInternalCallStoreClearsSuccessFiller.json", # noqa: E501 + "state_tests/stTransactionTest/StoreClearsAndInternalCallStoreClearsSuccessFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_store_clears_and_internal_call_store_clears_success( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_store_clears_and_internal_call_store_clears_success.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x96C07046493EC8728482079AB999D2994420D9CF4D3491DFD06871B106D9D87B ) @@ -48,70 +48,70 @@ def test_store_clears_and_internal_call_store_clears_success( gas_limit=10000000, ) + # Source: lll + # {(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0)(SSTORE 4 0)(SSTORE 5 0)(SSTORE 6 0)(SSTORE 7 0)(SSTORE 8 0)(SSTORE 9 0)} # noqa: E501 + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.SSTORE(key=0x4, value=0x0) + + Op.SSTORE(key=0x5, value=0x0) + + Op.SSTORE(key=0x6, value=0x0) + + Op.SSTORE(key=0x7, value=0x0) + + Op.SSTORE(key=0x8, value=0x0) + + Op.SSTORE(key=0x9, value=0x0) + + Op.STOP, + storage={ + 0: 12, + 1: 12, + 2: 12, + 3: 12, + 4: 12, + 5: 12, + 6: 12, + 7: 12, + 8: 12, + 9: 12, + }, + nonce=0, + address=Address(0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8), # noqa: E501 + ) pre[sender] = Account(balance=0x1DCD6500) - # Source: LLL + # Source: lll # {(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0) (CALL 50000 1 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.CALL( - gas=0xC350, - address=0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - storage={0x0: 0xC, 0x1: 0xC, 0x2: 0xC, 0x3: 0xC, 0x4: 0xC}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x0) + + Op.SSTORE(key=0x1, value=0x0) + + Op.SSTORE(key=0x2, value=0x0) + + Op.SSTORE(key=0x3, value=0x0) + + Op.CALL( + gas=0xC350, + address=0xD61E0564FAB2B0DA5136F75DB579B663BD9F2BD8, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 12, 1: 12, 2: 12, 3: 12, 4: 12}, balance=10, nonce=0, - address=Address("0x8989e867016031a6730f2b84d5e47e1f0f83bdd9"), # noqa: E501 - ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=0x0) - + Op.SSTORE(key=0x1, value=0x0) - + Op.SSTORE(key=0x2, value=0x0) - + Op.SSTORE(key=0x3, value=0x0) - + Op.SSTORE(key=0x4, value=0x0) - + Op.SSTORE(key=0x5, value=0x0) - + Op.SSTORE(key=0x6, value=0x0) - + Op.SSTORE(key=0x7, value=0x0) - + Op.SSTORE(key=0x8, value=0x0) - + Op.SSTORE(key=0x9, value=0x0) - + Op.STOP - ), - storage={ - 0x0: 0xC, - 0x1: 0xC, - 0x2: 0xC, - 0x3: 0xC, - 0x4: 0xC, - 0x5: 0xC, - 0x6: 0xC, - 0x7: 0xC, - 0x8: 0xC, - 0x9: 0xC, - }, - nonce=0, - address=Address("0xd61e0564fab2b0da5136f75db579b663bd9f2bd8"), # noqa: E501 + address=Address(0x8989E867016031A6730F2B84D5E47E1F0F83BDD9), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=200000, value=10, ) post = { - contract: Account(storage={4: 12}), + addr: Account(storage={}, balance=1), + target: Account(storage={4: 12}, balance=19), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_store_gas_on_create.py b/tests/ported_static/stTransactionTest/test_store_gas_on_create.py index 92c3d227dce..cfccee01193 100644 --- a/tests/ported_static/stTransactionTest/test_store_gas_on_create.py +++ b/tests/ported_static/stTransactionTest/test_store_gas_on_create.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_store_gas_on_create. Ported from: -tests/static/state_tests/stTransactionTest/StoreGasOnCreateFiller.json +state_tests/stTransactionTest/StoreGasOnCreateFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) from execution_testing.vm import Op @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stTransactionTest/StoreGasOnCreateFiller.json"], + ["state_tests/stTransactionTest/StoreGasOnCreateFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +32,8 @@ def test_store_gas_on_create( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_store_gas_on_create.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,28 +48,27 @@ def test_store_gas_on_create( ) pre[sender] = Account(balance=0x17D78400) - # Source: LLL + # Source: lll # { (MSTORE 0 0x5a60fd55) (CREATE 0 28 4)} - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=0x5A60FD55) - + Op.CREATE(value=0x0, offset=0x1C, size=0x4) - + Op.STOP - ), + coinbase = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0x5A60FD55) + + Op.CREATE(value=0x0, offset=0x1C, size=0x4) + + Op.STOP, nonce=0, - address=coinbase, # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, to=coinbase, + data=Bytes(""), gas_limit=131882, value=100, ) post = { - Address("0xf1ecf98489fa9ed60a664fc4998db699cfa39d40"): Account( - storage={253: 0x12F39}, + compute_create_address(address=coinbase, nonce=0): Account( + storage={253: 0x12F39} ), } diff --git a/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_bonus_gas_at_call.py b/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_bonus_gas_at_call.py index d3a814df477..f9da244dc8f 100644 --- a/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_bonus_gas_at_call.py +++ b/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_bonus_gas_at_call.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_suicides_and_internal_call_suicides_bonus_gas_at_call. Ported from: -tests/static/state_tests/stTransactionTest -SuicidesAndInternalCallSuicidesBonusGasAtCallFiller.json +state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesBonusGasAtCallFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesBonusGasAtCallFiller.json", # noqa: E501 + "state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesBonusGasAtCallFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,10 @@ def test_suicides_and_internal_call_suicides_bonus_gas_at_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_suicides_and_internal_call_suicides_bonus_gas_at_call.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_0 = Address(0x0000000000000000000000000000000000000000) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,44 +50,53 @@ def test_suicides_and_internal_call_suicides_bonus_gas_at_call( gas_limit=1000000, ) - # Source: LLL + # Source: lll # {(SELFDESTRUCT 0x0000000000000000000000000000000000000001)} - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x1) + Op.STOP, nonce=0, - address=Address("0x0000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) - # Source: LLL + # Source: lll # {(CALL 0 0x0000000000000000000000000000000000000000 1 0 0 0 0) (SELFDESTRUCT 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x0, - address=0x0, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x0, + address=0x0, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SELFDESTRUCT(address=0x0) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x0) + + Op.STOP, balance=10, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_1, + data=Bytes(""), gas_limit=50000, value=10, ) - post: dict = {} + post = { + Address( + 0x0000000000000000000000000000000000000001 + ): Account.NONEXISTENT, + contract_1: Account( + storage={}, + code=bytes.fromhex("6000600060006000600160006000f1506000ff00"), + balance=0, + nonce=0, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_bonus_gas_at_call_failed.py b/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_bonus_gas_at_call_failed.py index d402a8185fb..5abd6bcf419 100644 --- a/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_bonus_gas_at_call_failed.py +++ b/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_bonus_gas_at_call_failed.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_suicides_and_internal_call_suicides_bonus_gas_at_call_failed. Ported from: -tests/static/state_tests/stTransactionTest -SuicidesAndInternalCallSuicidesBonusGasAtCallFailedFiller.json +state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesBonusGasAtCallFailedFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesBonusGasAtCallFailedFiller.json", # noqa: E501 + "state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesBonusGasAtCallFailedFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,10 @@ def test_suicides_and_internal_call_suicides_bonus_gas_at_call_failed( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_suicides_and_internal_call_suicides_bonus_gas_at_call_failed.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_0 = Address(0x0000000000000000000000000000000000000000) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,44 +50,43 @@ def test_suicides_and_internal_call_suicides_bonus_gas_at_call_failed( gas_limit=1000000, ) - # Source: LLL + # Source: lll # {(SELFDESTRUCT 0x0000000000000000000000000000000000000001)} - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x1) + Op.STOP, nonce=0, - address=Address("0x0000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0x5F5E100) - # Source: LLL + # Source: lll # {(CALL 0 0x0000000000000000000000000000000000000000 0 0 0 0 0) (SELFDESTRUCT 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x0, - address=0x0, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x0, + address=0x0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SELFDESTRUCT(address=0x0) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x0) + + Op.STOP, balance=10, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_1, + data=Bytes(""), gas_limit=50000, value=10, ) - post: dict = {} + post = {contract_0: Account(code=bytes.fromhex("6001ff00"), balance=20)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_oog.py b/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_oog.py index a7e448546d4..8c637faa2e0 100644 --- a/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_oog.py +++ b/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_oog.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_suicides_and_internal_call_suicides_oog. Ported from: -tests/static/state_tests/stTransactionTest -SuicidesAndInternalCallSuicidesOOGFiller.json +state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesOOGFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesOOGFiller.json", # noqa: E501 + "state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesOOGFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_suicides_and_internal_call_suicides_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_suicides_and_internal_call_suicides_oog.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) @@ -48,42 +48,47 @@ def test_suicides_and_internal_call_suicides_oog( gas_limit=1000000, ) - pre.deploy_contract( + # Source: lll + # {(SELFDESTRUCT 0x0000000000000000000000000000000000000001)} + addr = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x1) + Op.STOP, nonce=0, - address=Address("0x5f0d8cd21c9026a32a4e8d15257b1801458989f3"), # noqa: E501 + address=Address(0x5F0D8CD21C9026A32A4E8D15257B1801458989F3), # noqa: E501 ) - # Source: LLL + pre[sender] = Account(balance=0x5F5E100) + # Source: lll # {(CALL 22000 1 0 0 0 0) (SELFDESTRUCT 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x55F0, - address=0x5F0D8CD21C9026A32A4E8D15257B1801458989F3, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x55F0, + address=0x5F0D8CD21C9026A32A4E8D15257B1801458989F3, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SELFDESTRUCT(address=0x0) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x0) + + Op.STOP, balance=10, nonce=0, - address=Address("0x78f15ba0abc5cc1aaa5a0ac6add5d28dd9ab8e1e"), # noqa: E501 + address=Address(0x78F15BA0ABC5CC1AAA5A0AC6ADD5D28DD9AB8E1E), # noqa: E501 ) - pre[sender] = Account(balance=0x5F5E100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=50000, value=10, ) - post: dict = {} + post = { + addr: Account(balance=0), + sender: Account(nonce=1), + target: Account(balance=10), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_success.py b/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_success.py index d99aa526ecf..0877f4e936a 100644 --- a/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_success.py +++ b/tests/ported_static/stTransactionTest/test_suicides_and_internal_call_suicides_success.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_suicides_and_internal_call_suicides_success. Ported from: -tests/static/state_tests/stTransactionTest -SuicidesAndInternalCallSuicidesSuccessFiller.json +state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesSuccessFiller.json """ import pytest @@ -13,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -24,33 +28,40 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesSuccessFiller.json", # noqa: E501 + "state_tests/stTransactionTest/SuicidesAndInternalCallSuicidesSuccessFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000055f0", - {}, + pytest.param( + 0, + 0, + 0, + id="d0", ), - ( - "000000000000000000000000000000000000000000000000000000000000aaf0", - {}, + pytest.param( + 1, + 0, + 0, + id="d1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_suicides_and_internal_call_suicides_success( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_suicides_and_internal_call_suicides_success.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_0 = Address(0x0000000000000000000000000000000000000000) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -64,47 +75,72 @@ def test_suicides_and_internal_call_suicides_success( gas_limit=10000000, ) - # Source: LLL + # Source: lll # {(SELFDESTRUCT 0x0000000000000000000000000000000000000001)} - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x1) + Op.STOP, nonce=0, - address=Address("0x0000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0xABA9500) - # Source: LLL + # Source: lll # {(CALL (CALLDATALOAD 0) 0x0000000000000000000000000000000000000000 1 0 0 0 0) (SELFDESTRUCT 0)} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=Op.CALLDATALOAD(offset=0x0), - address=0x0, - value=0x1, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=Op.CALLDATALOAD(offset=0x0), + address=0x0, + value=0x1, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SELFDESTRUCT(address=0x0) - + Op.STOP - ), + ) + + Op.SELFDESTRUCT(address=0x0) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": 0, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address( + 0x0000000000000000000000000000000000000001 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": 1, "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x0000000000000000000000000000000000000001): Account( + storage={}, balance=1 + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x55F0), + Hash(0xAAF0), + ] + tx_gas = [150000] + tx_value = [10] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=150000, - value=10, + to=contract_1, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_suicides_and_send_money_to_itself_ether_destroyed.py b/tests/ported_static/stTransactionTest/test_suicides_and_send_money_to_itself_ether_destroyed.py index f0a9110b183..36ccb0e218a 100644 --- a/tests/ported_static/stTransactionTest/test_suicides_and_send_money_to_itself_ether_destroyed.py +++ b/tests/ported_static/stTransactionTest/test_suicides_and_send_money_to_itself_ether_destroyed.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_suicides_and_send_money_to_itself_ether_destroyed. Ported from: -tests/static/state_tests/stTransactionTest -SuicidesAndSendMoneyToItselfEtherDestroyedFiller.json +state_tests/stTransactionTest/SuicidesAndSendMoneyToItselfEtherDestroyedFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransactionTest/SuicidesAndSendMoneyToItselfEtherDestroyedFiller.json", # noqa: E501 + "state_tests/stTransactionTest/SuicidesAndSendMoneyToItselfEtherDestroyedFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,8 @@ def test_suicides_and_send_money_to_itself_ether_destroyed( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xeb201d2887816e041f6e807e804f64f3a7a226fe") + """Test_suicides_and_send_money_to_itself_ether_destroyed.""" + coinbase = Address(0xEB201D2887816E041F6E807E804F64F3A7A226FE) sender = EOA( key=0xD066C5DB28BDA8940CFC5CBEFD1556CBC89C69B19F6D1AAA9FAC69AEE4B4A1BF ) @@ -48,27 +48,36 @@ def test_suicides_and_send_money_to_itself_ether_destroyed( gas_limit=1000000, ) + pre[coinbase] = Account(balance=0, nonce=1) pre[sender] = Account(balance=0x7459280) - # Source: LLL + # Source: lll # {(SELFDESTRUCT )} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xCCBD97BED823989BF91C6AC4CEAC020B2881F3A5) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xCCBD97BED823989BF91C6AC4CEAC020B2881F3A5 + ) + + Op.STOP, balance=1000, nonce=0, - address=Address("0xccbd97bed823989bf91c6ac4ceac020b2881f3a5"), # noqa: E501 + address=Address(0xCCBD97BED823989BF91C6AC4CEAC020B2881F3A5), # noqa: E501 ) - pre[coinbase] = Account(balance=0, nonce=1) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=31700, value=10, ) - post: dict = {} + post = { + target: Account( + code=bytes.fromhex( + "73ccbd97bed823989bf91c6ac4ceac020b2881f3a5ff00" + ), + balance=1010, + nonce=0, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_suicides_stop_after_suicide.py b/tests/ported_static/stTransactionTest/test_suicides_stop_after_suicide.py index e2f548cfd11..5a221300202 100644 --- a/tests/ported_static/stTransactionTest/test_suicides_stop_after_suicide.py +++ b/tests/ported_static/stTransactionTest/test_suicides_stop_after_suicide.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_suicides_stop_after_suicide. Ported from: -tests/static/state_tests/stTransactionTest/SuicidesStopAfterSuicideFiller.json +state_tests/stTransactionTest/SuicidesStopAfterSuicideFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/SuicidesStopAfterSuicideFiller.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/SuicidesStopAfterSuicideFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,10 @@ def test_suicides_stop_after_suicide( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") + """Test_suicides_stop_after_suicide.""" + coinbase = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_0 = Address(0x0000000000000000000000000000000000000000) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,43 +48,51 @@ def test_suicides_stop_after_suicide( gas_limit=100000, ) - # Source: LLL + # Source: lll # {(SELFDESTRUCT 0x0000000000000000000000000000000000000001)} - pre.deploy_contract( + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SELFDESTRUCT(address=0x1) + Op.STOP, balance=1110, nonce=0, - address=Address("0x0000000000000000000000000000000000000000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000000000), # noqa: E501 ) pre[sender] = Account(balance=0x7459280) - # Source: LLL + # Source: lll # {(SELFDESTRUCT 0) (CALL 30000 0x0000000000000000000000000000000000000000 0 0 0 0 0) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x0) - + Op.CALL( - gas=0x7530, - address=0x0, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), - balance=0x2710, + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=0x0) + + Op.CALL( + gas=0x7530, + address=0x0, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=10000, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_1, + data=Bytes(""), gas_limit=83700, value=10, ) - post: dict = {} + post = { + contract_0: Account(storage={}), + sender: Account(nonce=1), + contract_1: Account( + storage={}, + code=bytes.fromhex("6000ff600060006000600060006000617530f100"), + balance=0, + nonce=0, + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_transaction_data_costs652.py b/tests/ported_static/stTransactionTest/test_transaction_data_costs652.py index 1969648f388..59cc379d427 100644 --- a/tests/ported_static/stTransactionTest/test_transaction_data_costs652.py +++ b/tests/ported_static/stTransactionTest/test_transaction_data_costs652.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_transaction_data_costs652. Ported from: -tests/static/state_tests/stTransactionTest/TransactionDataCosts652Filler.json +state_tests/stTransactionTest/TransactionDataCosts652Filler.json """ import pytest @@ -11,42 +11,52 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/TransactionDataCosts652Filler.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/TransactionDataCosts652Filler.json"], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.parametrize( - "tx_gas_limit", + "d, g, v", [ - 22000, - 72000, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_transaction_data_costs652( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction_data_costs652.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xDC4EFA209AECDD4C2D5201A419EA27506151B4EC687F14A613229E310932491B ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -59,63 +69,18 @@ def test_transaction_data_costs652( pre[sender] = Account(balance=0x989680) - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("00000000000000000000112233445566778f32"), - gas_limit=tx_gas_limit, - ) - - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/TransactionDataCosts652Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.parametrize( - "tx_gas_limit", - [ - 22000, - 72000, - ], - ids=["case0", "case1"], -) -@pytest.mark.pre_alloc_mutable -def test_transaction_data_costs652_from_prague( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0xDC4EFA209AECDD4C2D5201A419EA27506151B4EC687F14A613229E310932491B - ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - pre[sender] = Account(balance=0x989680) + tx_data = [ + Bytes("00000000000000000000112233445566778f32"), + ] + tx_gas = [22000, 72000] tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("00000000000000000000112233445566778f32"), - gas_limit=tx_gas_limit, + to=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + data=tx_data[d], + gas_limit=tx_gas[g], ) - post: dict = {} + post = {sender: Account(nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_transaction_sending_to_empty.py b/tests/ported_static/stTransactionTest/test_transaction_sending_to_empty.py index 5eaf5985efc..a361bb2fc24 100644 --- a/tests/ported_static/stTransactionTest/test_transaction_sending_to_empty.py +++ b/tests/ported_static/stTransactionTest/test_transaction_sending_to_empty.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_transaction_sending_to_empty. Ported from: -tests/static/state_tests/stTransactionTest/TransactionSendingToEmptyFiller.json +state_tests/stTransactionTest/TransactionSendingToEmptyFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) REFERENCE_SPEC_GIT_PATH = "N/A" @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/TransactionSendingToEmptyFiller.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/TransactionSendingToEmptyFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,8 @@ def test_transaction_sending_to_empty( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction_sending_to_empty.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -51,9 +51,13 @@ def test_transaction_sending_to_empty( tx = Transaction( sender=sender, to=None, + data=Bytes(""), gas_limit=53000, ) - post: dict = {} + post = { + compute_create_address(address=sender, nonce=0): Account(code=b""), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_transaction_sending_to_zero.py b/tests/ported_static/stTransactionTest/test_transaction_sending_to_zero.py index b2451ac432f..77749f1463e 100644 --- a/tests/ported_static/stTransactionTest/test_transaction_sending_to_zero.py +++ b/tests/ported_static/stTransactionTest/test_transaction_sending_to_zero.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_transaction_sending_to_zero. Ported from: -tests/static/state_tests/stTransactionTest/TransactionSendingToZeroFiller.json +state_tests/stTransactionTest/TransactionSendingToZeroFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/TransactionSendingToZeroFiller.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/TransactionSendingToZeroFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,12 +30,11 @@ def test_transaction_sending_to_zero( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction_sending_to_zero.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xA2333EEF5630066B928DEA5FD85A239F511B5B067D1441EE7AC290D0122B917B ) - contract = Address("0x0000000000000000000000000000000000000000") env = Environment( fee_recipient=coinbase, @@ -51,11 +49,17 @@ def test_transaction_sending_to_zero( tx = Transaction( sender=sender, - to=contract, + to=Address(0x0000000000000000000000000000000000000000), + data=Bytes(""), gas_limit=25000, value=1, ) - post: dict = {} + post = { + Address(0x0000000000000000000000000000000000000000): Account( + balance=1 + ), + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_transaction_to_addressh160minus_one.py b/tests/ported_static/stTransactionTest/test_transaction_to_addressh160minus_one.py index 0eaef7f7712..0a27a5403dd 100644 --- a/tests/ported_static/stTransactionTest/test_transaction_to_addressh160minus_one.py +++ b/tests/ported_static/stTransactionTest/test_transaction_to_addressh160minus_one.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_transaction_to_addressh160minus_one. Ported from: -tests/static/state_tests/stTransactionTest -TransactionToAddressh160minusOneFiller.json +state_tests/stTransactionTest/TransactionToAddressh160minusOneFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,7 +23,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransactionTest/TransactionToAddressh160minusOneFiller.json", # noqa: E501 + "state_tests/stTransactionTest/TransactionToAddressh160minusOneFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,12 +32,11 @@ def test_transaction_to_addressh160minus_one( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction_to_addressh160minus_one.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) - contract = Address("0xffffffffffffffffffffffffffffffffffffffff") env = Environment( fee_recipient=coinbase, @@ -52,11 +51,16 @@ def test_transaction_to_addressh160minus_one( tx = Transaction( sender=sender, - to=contract, + to=Address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), + data=Bytes(""), gas_limit=22000, value=100, ) - post: dict = {} + post = { + Address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF): Account( + balance=100 + ), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransactionTest/test_transaction_to_itself.py b/tests/ported_static/stTransactionTest/test_transaction_to_itself.py index 088be244daa..3ba8a85d2a6 100644 --- a/tests/ported_static/stTransactionTest/test_transaction_to_itself.py +++ b/tests/ported_static/stTransactionTest/test_transaction_to_itself.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_transaction_to_itself. Ported from: -tests/static/state_tests/stTransactionTest/TransactionToItselfFiller.json +state_tests/stTransactionTest/TransactionToItselfFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransactionTest/TransactionToItselfFiller.json", # noqa: E501 - ], + ["state_tests/stTransactionTest/TransactionToItselfFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +30,8 @@ def test_transaction_to_itself( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_transaction_to_itself.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xF79127A3004ABDE26A4CBD80C428CB10F829FA11B54D36E7B326F4F4A5927ACF ) @@ -51,10 +50,11 @@ def test_transaction_to_itself( tx = Transaction( sender=sender, to=sender, + data=Bytes(""), gas_limit=25000, value=1, ) - post: dict = {} + post = {sender: Account(balance=0x3B9795B0, nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stTransitionTest/__init__.py b/tests/ported_static/stTransitionTest/__init__.py index fa203fa6ece..22e533e2b13 100644 --- a/tests/ported_static/stTransitionTest/__init__.py +++ b/tests/ported_static/stTransitionTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stTransitionTest.""" +"""Ported static tests: stTransitionTest.""" # noqa: N999 diff --git a/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_after.py b/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_after.py index 35f0f955bb0..1be81d45e6e 100644 --- a/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_after.py +++ b/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_after.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_name_registrator_per_txs_after. Ported from: -tests/static/state_tests/stTransitionTest -createNameRegistratorPerTxsAfterFiller.json +state_tests/stTransitionTest/createNameRegistratorPerTxsAfterFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransitionTest/createNameRegistratorPerTxsAfterFiller.json", # noqa: E501 + "state_tests/stTransitionTest/createNameRegistratorPerTxsAfterFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,8 +33,8 @@ def test_create_name_registrator_per_txs_after( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_name_registrator_per_txs_after.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,16 +53,31 @@ def test_create_name_registrator_per_txs_after( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6001600155601080600c6000396000f3006000355415600957005b60203560003555" # noqa: E501 + data=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), gas_limit=200000, - value=100000, + value=0x186A0, ) post = { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( + compute_create_address(address=sender, nonce=0): Account( storage={1: 1}, + code=bytes.fromhex("396000f3006000355415600957005b60"), + balance=0x186A0, + nonce=1, ), } diff --git a/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_at.py b/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_at.py index 8402b1bd219..5908f4cca80 100644 --- a/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_at.py +++ b/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_at.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_name_registrator_per_txs_at. Ported from: -tests/static/state_tests/stTransitionTest -createNameRegistratorPerTxsAtFiller.json +state_tests/stTransitionTest/createNameRegistratorPerTxsAtFiller.json """ import pytest @@ -15,16 +14,16 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransitionTest/createNameRegistratorPerTxsAtFiller.json", # noqa: E501 - ], + ["state_tests/stTransitionTest/createNameRegistratorPerTxsAtFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_create_name_registrator_per_txs_at( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_name_registrator_per_txs_at.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,16 +51,31 @@ def test_create_name_registrator_per_txs_at( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6001600155601080600c6000396000f3006000355415600957005b60203560003555" # noqa: E501 + data=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), gas_limit=200000, - value=100000, + value=0x186A0, ) post = { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( + compute_create_address(address=sender, nonce=0): Account( storage={1: 1}, + code=bytes.fromhex("396000f3006000355415600957005b60"), + balance=0x186A0, + nonce=1, ), } diff --git a/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_before.py b/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_before.py index 061641005ae..b39a90250be 100644 --- a/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_before.py +++ b/tests/ported_static/stTransitionTest/test_create_name_registrator_per_txs_before.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_create_name_registrator_per_txs_before. Ported from: -tests/static/state_tests/stTransitionTest -createNameRegistratorPerTxsBeforeFiller.json +state_tests/stTransitionTest/createNameRegistratorPerTxsBeforeFiller.json """ import pytest @@ -15,7 +14,9 @@ Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stTransitionTest/createNameRegistratorPerTxsBeforeFiller.json", # noqa: E501 + "state_tests/stTransitionTest/createNameRegistratorPerTxsBeforeFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,8 +33,8 @@ def test_create_name_registrator_per_txs_before( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_create_name_registrator_per_txs_before.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,16 +53,31 @@ def test_create_name_registrator_per_txs_before( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "6001600155601080600c6000396000f3006000355415600957005b60203560003555" # noqa: E501 + data=Op.SSTORE(key=0x1, value=0x1) + + Op.PUSH1[0x10] + + Op.CODECOPY(dest_offset=0x0, offset=0xC, size=Op.DUP1) + + Op.PUSH1[0x0] + + Op.RETURN + + Op.STOP + + Op.JUMPI( + pc=0x9, + condition=Op.ISZERO(Op.SLOAD(key=Op.CALLDATALOAD(offset=0x0))), + ) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE( + key=Op.CALLDATALOAD(offset=0x0), value=Op.CALLDATALOAD(offset=0x20) ), gas_limit=200000, - value=100000, + value=0x186A0, ) post = { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( + compute_create_address(address=sender, nonce=0): Account( storage={1: 1}, + code=bytes.fromhex("396000f3006000355415600957005b60"), + balance=0x186A0, + nonce=1, ), } diff --git a/tests/ported_static/stTransitionTest/test_delegatecall_after_transition.py b/tests/ported_static/stTransitionTest/test_delegatecall_after_transition.py index e73b1dc3973..6c09a4be145 100644 --- a/tests/ported_static/stTransitionTest/test_delegatecall_after_transition.py +++ b/tests/ported_static/stTransitionTest/test_delegatecall_after_transition.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_after_transition. Ported from: -tests/static/state_tests/stTransitionTest -delegatecallAfterTransitionFiller.json +state_tests/stTransitionTest/delegatecallAfterTransitionFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransitionTest/delegatecallAfterTransitionFiller.json", # noqa: E501 - ], + ["state_tests/stTransitionTest/delegatecallAfterTransitionFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_delegatecall_after_transition( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_after_transition.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,47 +46,46 @@ def test_delegatecall_after_transition( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=Op.CALLER) - + Op.SSTORE(key=0x2, value=Op.CALLVALUE) - + Op.STOP - ), - balance=23, - nonce=0, - address=Address("0x000d3f6e432d6891a965fc56d39e729652a0762a"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 500000 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0xD3F6E432D6891A965FC56D39E729652A0762A, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0xD3F6E432D6891A965FC56D39E729652A0762A, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x55bb8a8658b848ebbbb73cbf6ac9d59d715aec58"), # noqa: E501 + address=Address(0x55BB8A8658B848EBBBB73CBF6AC9D59D715AEC58), # noqa: E501 + ) + # Source: lll + # {[[ 1 ]] (CALLER) [[ 2 ]] (CALLVALUE) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=Op.CALLER) + + Op.SSTORE(key=0x2, value=Op.CALLVALUE) + + Op.STOP, + balance=23, + nonce=0, + address=Address(0x000D3F6E432D6891A965FC56D39E729652A0762A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, diff --git a/tests/ported_static/stTransitionTest/test_delegatecall_at_transition.py b/tests/ported_static/stTransitionTest/test_delegatecall_at_transition.py index e545b25ed8b..bd67176cf93 100644 --- a/tests/ported_static/stTransitionTest/test_delegatecall_at_transition.py +++ b/tests/ported_static/stTransitionTest/test_delegatecall_at_transition.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_at_transition. Ported from: -tests/static/state_tests/stTransitionTest/delegatecallAtTransitionFiller.json +state_tests/stTransitionTest/delegatecallAtTransitionFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransitionTest/delegatecallAtTransitionFiller.json", # noqa: E501 - ], + ["state_tests/stTransitionTest/delegatecallAtTransitionFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,8 @@ def test_delegatecall_at_transition( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_at_transition.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -47,47 +46,46 @@ def test_delegatecall_at_transition( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=Op.CALLER) - + Op.SSTORE(key=0x2, value=Op.CALLVALUE) - + Op.STOP - ), - balance=23, - nonce=0, - address=Address("0x000d3f6e432d6891a965fc56d39e729652a0762a"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 500000 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0xD3F6E432D6891A965FC56D39E729652A0762A, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0xD3F6E432D6891A965FC56D39E729652A0762A, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x55bb8a8658b848ebbbb73cbf6ac9d59d715aec58"), # noqa: E501 + address=Address(0x55BB8A8658B848EBBBB73CBF6AC9D59D715AEC58), # noqa: E501 + ) + # Source: lll + # {[[ 1 ]] (CALLER) [[ 2 ]] (CALLVALUE) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=Op.CALLER) + + Op.SSTORE(key=0x2, value=Op.CALLVALUE) + + Op.STOP, + balance=23, + nonce=0, + address=Address(0x000D3F6E432D6891A965FC56D39E729652A0762A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, diff --git a/tests/ported_static/stTransitionTest/test_delegatecall_before_transition.py b/tests/ported_static/stTransitionTest/test_delegatecall_before_transition.py index 1c18633a141..3efa5083323 100644 --- a/tests/ported_static/stTransitionTest/test_delegatecall_before_transition.py +++ b/tests/ported_static/stTransitionTest/test_delegatecall_before_transition.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_delegatecall_before_transition. Ported from: -tests/static/state_tests/stTransitionTest -delegatecallBeforeTransitionFiller.json +state_tests/stTransitionTest/delegatecallBeforeTransitionFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stTransitionTest/delegatecallBeforeTransitionFiller.json", # noqa: E501 - ], + ["state_tests/stTransitionTest/delegatecallBeforeTransitionFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_delegatecall_before_transition( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_delegatecall_before_transition.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0xE04D1AC7DDDA0C98397D56A0B501E960D4CD325A39286919AC23C1A07009A869 ) @@ -48,47 +46,46 @@ def test_delegatecall_before_transition( gas_limit=30000000, ) - pre.deploy_contract( - code=( - Op.SSTORE(key=0x1, value=Op.CALLER) - + Op.SSTORE(key=0x2, value=Op.CALLVALUE) - + Op.STOP - ), - balance=23, - nonce=0, - address=Address("0x000d3f6e432d6891a965fc56d39e729652a0762a"), # noqa: E501 - ) - # Source: LLL + # Source: lll # { [[ 0 ]] (DELEGATECALL 500000 0 64 0 2 ) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE( - key=0x0, - value=Op.DELEGATECALL( - gas=0x7A120, - address=0xD3F6E432D6891A965FC56D39E729652A0762A, - args_offset=0x0, - args_size=0x40, - ret_offset=0x0, - ret_size=0x2, - ), - ) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DELEGATECALL( + gas=0x7A120, + address=0xD3F6E432D6891A965FC56D39E729652A0762A, + args_offset=0x0, + args_size=0x40, + ret_offset=0x0, + ret_size=0x2, + ), + ) + + Op.STOP, balance=0xDE0B6B3A7640000, nonce=0, - address=Address("0x55bb8a8658b848ebbbb73cbf6ac9d59d715aec58"), # noqa: E501 + address=Address(0x55BB8A8658B848EBBBB73CBF6AC9D59D715AEC58), # noqa: E501 + ) + # Source: lll + # {[[ 1 ]] (CALLER) [[ 2 ]] (CALLVALUE) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x1, value=Op.CALLER) + + Op.SSTORE(key=0x2, value=Op.CALLVALUE) + + Op.STOP, + balance=23, + nonce=0, + address=Address(0x000D3F6E432D6891A965FC56D39E729652A0762A), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A7640000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=3000000, ) post = { - contract: Account( + target: Account( storage={ 0: 1, 1: 0xEBAF50DEBF10E08302FE4280C32DF010463CA297, diff --git a/tests/ported_static/stWalletTest/__init__.py b/tests/ported_static/stWalletTest/__init__.py index b4565c690a0..040f55678c4 100644 --- a/tests/ported_static/stWalletTest/__init__.py +++ b/tests/ported_static/stWalletTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stWalletTest.""" +"""Ported static tests: stWalletTest.""" # noqa: N999 diff --git a/tests/ported_static/stWalletTest/test_day_limit_construction.py b/tests/ported_static/stWalletTest/test_day_limit_construction.py index 17c560fcf3b..9a10a78a2c4 100644 --- a/tests/ported_static/stWalletTest/test_day_limit_construction.py +++ b/tests/ported_static/stWalletTest/test_day_limit_construction.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_day_limit_construction. Ported from: -tests/static/state_tests/stWalletTest/dayLimitConstructionFiller.json +state_tests/stWalletTest/dayLimitConstructionFiller.json """ import pytest @@ -11,35 +11,50 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/dayLimitConstructionFiller.json"], + ["state_tests/stWalletTest/dayLimitConstructionFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit", + "d, g, v", [ - 817083, - 1217083, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_day_limit_construction( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_day_limit_construction.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -55,95 +70,38 @@ def test_day_limit_construction( pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) + tx_data = [ + Bytes( + "606060409081526001600081815581805533600160a060020a0316600381905581526101026020529190912055620151804204610107556109b4806100456000396000f300606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + ] + tx_gas = [817083, 1217083] + tx_value = [100] + tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "606060409081526001600081815581805533600160a060020a0316600381905581526101" # noqa: E501 - "026020529190912055620151804204610107556109b4806100456000396000f300606060" # noqa: E501 - "405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e1461" # noqa: E501 - "00f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb481461015457" # noqa: E501 - "8063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba" # noqa: E501 - "51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86" # noqa: E501 - "146102a2575b005b61009860043560006000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506105b9815b600160a060020a03331660009081" # noqa: E501 - "52610102602052604081205481808083811415610719576108b0565b6102ac6004355b60" # noqa: E501 - "0160a060020a0316600090815261010260205260408120541190565b6102ac6001548156" # noqa: E501 - "5b6100986000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "019020905061070b816100cc565b61009860043560003643604051808484808284375050" # noqa: E501 - "509091019081526040519081900360200190209050610531816100cc565b6102ac600054" # noqa: E501 - "81565b610098600435600036436040518084848082843750505090910190815260405190" # noqa: E501 - "819003602001902090506106ff816100cc565b610098600435600160a060020a03331660" # noqa: E501 - "009081526101026020526040812054908080838114156102be57610340565b6100986004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "9050610678816100cc565b6102ac60043560243560008281526101036020908152604080" # noqa: E501 - "8320600160a060020a0385168452610102909252822054829081818114156106d1576106" # noqa: E501 - "f5565b610098600435602435600060003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506103ca816100cc565b6102ac6101055481565b6040" # noqa: E501 - "8051918252519081900360200190f35b5050506000828152610103602052604081206001" # noqa: E501 - "810154600284900a92908316819011156103405781546001838101805492909101845590" # noqa: E501 - "849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59" # noqa: E501 - "b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190" # noqa: E501 - "a15b5050505050565b600160a060020a0383166002836101008110156100025701556001" # noqa: E501 - "60a060020a03848116600081815261010260209081526040808320839055938716808352" # noqa: E501 - "91849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab5" # noqa: E501 - "5bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3" # noqa: E501 - "576103d8836100fd565b156103e357506103c5565b600160a060020a0384166000908152" # noqa: E501 - "6101026020526040812054925082141561040c57506103c5565b6103475b610104546000" # noqa: E501 - "5b8181101561085f57610104805482908110156100025760009182526000805160206109" # noqa: E501 - "9483398151915201541461048a5761010480546101039160009184908110156100025760" # noqa: E501 - "008051602061099483398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610417565b60018054810190819055600160a060020a038316" # noqa: E501 - "906002906101008110156100025790900160005081905550600160005054610102600050" # noqa: E501 - "600084600160a060020a03168152602001908152602001600020600050819055507f994a" # noqa: E501 - "936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082" # noqa: E501 - "600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c57" # noqa: E501 - "61053f826100fd565b1561054a575061052e565b610552610410565b60015460fa901061" # noqa: E501 - "05675761056561057c565b505b60015460fa9010610492575061052e565b6106365b6000" # noqa: E501 - "60015b600154811015610899575b600154811080156105ac575060028161010081101561" # noqa: E501 - "0002570154600014155b156108b95760010161058c565b156103c557600160a060020a03" # noqa: E501 - "83166000908152610102602052604081205492508214156105e7575061052c565b600160" # noqa: E501 - "0160005054036000600050541115610602575061052c565b600060028361010081101561" # noqa: E501 - "000257508301819055600160a060020a0384168152610102602052604081205561057861" # noqa: E501 - "0410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef" # noqa: E501 - "88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561" # noqa: E501 - "052c5760015482111561068d575061052e565b600082905561069a610410565b60408051" # noqa: E501 - "83815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f5" # noqa: E501 - "50da9181900360200190a15050565b506001830154600282900a908116600014156106f0" # noqa: E501 - "57600094506106f5565b600194505b5050505092915050565b1561052c57506101055556" # noqa: E501 - "5b1561052e5760006101065550565b600086815261010360205260408120805490945090" # noqa: E501 - "92508214156107a257815483556001838101839055610104805491820180825582801582" # noqa: E501 - "9011610771578183600052602060002091820191016107719190610885565b5050506002" # noqa: E501 - "840181905561010480548892908110156100025760009190915260008051602061099483" # noqa: E501 - "398151915201555b506001820154600284900a908116600014156108b057604080516001" # noqa: E501 - "60a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d" # noqa: E501 - "5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57" # noqa: E501 - "600086815261010360205260409020600201546101048054909190811015610002576040" # noqa: E501 - "600090812060008051602061099483398151915292909201819055808255600180830182" # noqa: E501 - "905560029092015595506108b09050565b61010480546000808355919091526103c59060" # noqa: E501 - "0080516020610994833981519152908101905b8082111561089957600081556001016108" # noqa: E501 - "85565b5090565b8254600019018355600183018054821790555b50505050919050565b5b" # noqa: E501 - "600180541180156108dc57506001546002906101008110156100025701546000145b1561" # noqa: E501 - "08f057600180546000190190556108ba565b600154811080156109135750600154600290" # noqa: E501 - "610100811015610002570154600014155b801561092d5750600281610100811015610002" # noqa: E501 - "5701546000145b1561098e57600154600290610100811015610002578101549082610100" # noqa: E501 - "811015610002578101919091558190610102906000908361010081101561000257810154" # noqa: E501 - "825260209290925260408120929092556001546101008110156100025701555b61058156" # noqa: E501 - "004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 - ), - gas_limit=tx_gas_limit, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], nonce=1, - value=100, ) post = { - Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"): Account( + sender: Account(storage={}, code=b"", nonce=2), + compute_create_address(address=sender, nonce=1): Account( storage={ 0: 1, 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 263: 0, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=1, ), } diff --git a/tests/ported_static/stWalletTest/test_day_limit_construction_oog.py b/tests/ported_static/stWalletTest/test_day_limit_construction_oog.py index 94523b2af18..9bf883cb2e7 100644 --- a/tests/ported_static/stWalletTest/test_day_limit_construction_oog.py +++ b/tests/ported_static/stWalletTest/test_day_limit_construction_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_day_limit_construction_oog. Ported from: -tests/static/state_tests/stWalletTest/dayLimitConstructionOOGFiller.json +state_tests/stWalletTest/dayLimitConstructionOOGFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/dayLimitConstructionOOGFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/dayLimitConstructionOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +30,8 @@ def test_day_limit_construction_oog( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_day_limit_construction_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -51,84 +50,14 @@ def test_day_limit_construction_oog( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "606060409081526001600081815581805533600160a060020a0316600381905581526101" # noqa: E501 - "026020529190912055620151804204610107556109b4806100456000396000f300606060" # noqa: E501 - "405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e1461" # noqa: E501 - "00f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb481461015457" # noqa: E501 - "8063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba" # noqa: E501 - "51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86" # noqa: E501 - "146102a2575b005b61009860043560006000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506105b9815b600160a060020a03331660009081" # noqa: E501 - "52610102602052604081205481808083811415610719576108b0565b6102ac6004355b60" # noqa: E501 - "0160a060020a0316600090815261010260205260408120541190565b6102ac6001548156" # noqa: E501 - "5b6100986000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "019020905061070b816100cc565b61009860043560003643604051808484808284375050" # noqa: E501 - "509091019081526040519081900360200190209050610531816100cc565b6102ac600054" # noqa: E501 - "81565b610098600435600036436040518084848082843750505090910190815260405190" # noqa: E501 - "819003602001902090506106ff816100cc565b610098600435600160a060020a03331660" # noqa: E501 - "009081526101026020526040812054908080838114156102be57610340565b6100986004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "9050610678816100cc565b6102ac60043560243560008281526101036020908152604080" # noqa: E501 - "8320600160a060020a0385168452610102909252822054829081818114156106d1576106" # noqa: E501 - "f5565b610098600435602435600060003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506103ca816100cc565b6102ac6101055481565b6040" # noqa: E501 - "8051918252519081900360200190f35b5050506000828152610103602052604081206001" # noqa: E501 - "810154600284900a92908316819011156103405781546001838101805492909101845590" # noqa: E501 - "849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59" # noqa: E501 - "b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190" # noqa: E501 - "a15b5050505050565b600160a060020a0383166002836101008110156100025701556001" # noqa: E501 - "60a060020a03848116600081815261010260209081526040808320839055938716808352" # noqa: E501 - "91849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab5" # noqa: E501 - "5bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3" # noqa: E501 - "576103d8836100fd565b156103e357506103c5565b600160a060020a0384166000908152" # noqa: E501 - "6101026020526040812054925082141561040c57506103c5565b6103475b610104546000" # noqa: E501 - "5b8181101561085f57610104805482908110156100025760009182526000805160206109" # noqa: E501 - "9483398151915201541461048a5761010480546101039160009184908110156100025760" # noqa: E501 - "008051602061099483398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610417565b60018054810190819055600160a060020a038316" # noqa: E501 - "906002906101008110156100025790900160005081905550600160005054610102600050" # noqa: E501 - "600084600160a060020a03168152602001908152602001600020600050819055507f994a" # noqa: E501 - "936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082" # noqa: E501 - "600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c57" # noqa: E501 - "61053f826100fd565b1561054a575061052e565b610552610410565b60015460fa901061" # noqa: E501 - "05675761056561057c565b505b60015460fa9010610492575061052e565b6106365b6000" # noqa: E501 - "60015b600154811015610899575b600154811080156105ac575060028161010081101561" # noqa: E501 - "0002570154600014155b156108b95760010161058c565b156103c557600160a060020a03" # noqa: E501 - "83166000908152610102602052604081205492508214156105e7575061052c565b600160" # noqa: E501 - "0160005054036000600050541115610602575061052c565b600060028361010081101561" # noqa: E501 - "000257508301819055600160a060020a0384168152610102602052604081205561057861" # noqa: E501 - "0410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef" # noqa: E501 - "88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561" # noqa: E501 - "052c5760015482111561068d575061052e565b600082905561069a610410565b60408051" # noqa: E501 - "83815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f5" # noqa: E501 - "50da9181900360200190a15050565b506001830154600282900a908116600014156106f0" # noqa: E501 - "57600094506106f5565b600194505b5050505092915050565b1561052c57506101055556" # noqa: E501 - "5b1561052e5760006101065550565b600086815261010360205260408120805490945090" # noqa: E501 - "92508214156107a257815483556001838101839055610104805491820180825582801582" # noqa: E501 - "9011610771578183600052602060002091820191016107719190610885565b5050506002" # noqa: E501 - "840181905561010480548892908110156100025760009190915260008051602061099483" # noqa: E501 - "398151915201555b506001820154600284900a908116600014156108b057604080516001" # noqa: E501 - "60a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d" # noqa: E501 - "5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57" # noqa: E501 - "600086815261010360205260409020600201546101048054909190811015610002576040" # noqa: E501 - "600090812060008051602061099483398151915292909201819055808255600180830182" # noqa: E501 - "905560029092015595506108b09050565b61010480546000808355919091526103c59060" # noqa: E501 - "0080516020610994833981519152908101905b8082111561089957600081556001016108" # noqa: E501 - "85565b5090565b8254600019018355600183018054821790555b50505050919050565b5b" # noqa: E501 - "600180541180156108dc57506001546002906101008110156100025701546000145b1561" # noqa: E501 - "08f057600180546000190190556108ba565b600154811080156109135750600154600290" # noqa: E501 - "610100811015610002570154600014155b801561092d5750600281610100811015610002" # noqa: E501 - "5701546000145b1561098e57600154600290610100811015610002578101549082610100" # noqa: E501 - "811015610002578101919091558190610102906000908361010081101561000257810154" # noqa: E501 - "825260209290925260408120929092556001546101008110156100025701555b61058156" # noqa: E501 - "004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + data=Bytes( + "606060409081526001600081815581805533600160a060020a0316600381905581526101026020529190912055620151804204610107556109b4806100456000396000f300606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), gas_limit=288282, - nonce=1, value=100, + nonce=1, ) - post: dict = {} + post = {sender: Account(storage={}, code=b"", nonce=2)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_day_limit_construction_partial.py b/tests/ported_static/stWalletTest/test_day_limit_construction_partial.py index 1dd03d19d7b..810cf7967c4 100644 --- a/tests/ported_static/stWalletTest/test_day_limit_construction_partial.py +++ b/tests/ported_static/stWalletTest/test_day_limit_construction_partial.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_day_limit_construction_partial. Ported from: -tests/static/state_tests/stWalletTest/dayLimitConstructionPartialFiller.json +state_tests/stWalletTest/dayLimitConstructionPartialFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) REFERENCE_SPEC_GIT_PATH = "N/A" @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/dayLimitConstructionPartialFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/dayLimitConstructionPartialFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,8 @@ def test_day_limit_construction_partial( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_day_limit_construction_partial.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -51,92 +51,28 @@ def test_day_limit_construction_partial( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "606060409081526001600081815581805533600160a060020a0316600381905581526101" # noqa: E501 - "026020529190912055620151804204610107556109b4806100456000396000f300606060" # noqa: E501 - "405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e1461" # noqa: E501 - "00f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb481461015457" # noqa: E501 - "8063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba" # noqa: E501 - "51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86" # noqa: E501 - "146102a2575b005b61009860043560006000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506105b9815b600160a060020a03331660009081" # noqa: E501 - "52610102602052604081205481808083811415610719576108b0565b6102ac6004355b60" # noqa: E501 - "0160a060020a0316600090815261010260205260408120541190565b6102ac6001548156" # noqa: E501 - "5b6100986000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "019020905061070b816100cc565b61009860043560003643604051808484808284375050" # noqa: E501 - "509091019081526040519081900360200190209050610531816100cc565b6102ac600054" # noqa: E501 - "81565b610098600435600036436040518084848082843750505090910190815260405190" # noqa: E501 - "819003602001902090506106ff816100cc565b610098600435600160a060020a03331660" # noqa: E501 - "009081526101026020526040812054908080838114156102be57610340565b6100986004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "9050610678816100cc565b6102ac60043560243560008281526101036020908152604080" # noqa: E501 - "8320600160a060020a0385168452610102909252822054829081818114156106d1576106" # noqa: E501 - "f5565b610098600435602435600060003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506103ca816100cc565b6102ac6101055481565b6040" # noqa: E501 - "8051918252519081900360200190f35b5050506000828152610103602052604081206001" # noqa: E501 - "810154600284900a92908316819011156103405781546001838101805492909101845590" # noqa: E501 - "849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59" # noqa: E501 - "b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190" # noqa: E501 - "a15b5050505050565b600160a060020a0383166002836101008110156100025701556001" # noqa: E501 - "60a060020a03848116600081815261010260209081526040808320839055938716808352" # noqa: E501 - "91849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab5" # noqa: E501 - "5bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3" # noqa: E501 - "576103d8836100fd565b156103e357506103c5565b600160a060020a0384166000908152" # noqa: E501 - "6101026020526040812054925082141561040c57506103c5565b6103475b610104546000" # noqa: E501 - "5b8181101561085f57610104805482908110156100025760009182526000805160206109" # noqa: E501 - "9483398151915201541461048a5761010480546101039160009184908110156100025760" # noqa: E501 - "008051602061099483398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610417565b60018054810190819055600160a060020a038316" # noqa: E501 - "906002906101008110156100025790900160005081905550600160005054610102600050" # noqa: E501 - "600084600160a060020a03168152602001908152602001600020600050819055507f994a" # noqa: E501 - "936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082" # noqa: E501 - "600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c57" # noqa: E501 - "61053f826100fd565b1561054a575061052e565b610552610410565b60015460fa901061" # noqa: E501 - "05675761056561057c565b505b60015460fa9010610492575061052e565b6106365b6000" # noqa: E501 - "60015b600154811015610899575b600154811080156105ac575060028161010081101561" # noqa: E501 - "0002570154600014155b156108b95760010161058c565b156103c557600160a060020a03" # noqa: E501 - "83166000908152610102602052604081205492508214156105e7575061052c565b600160" # noqa: E501 - "0160005054036000600050541115610602575061052c565b600060028361010081101561" # noqa: E501 - "000257508301819055600160a060020a0384168152610102602052604081205561057861" # noqa: E501 - "0410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef" # noqa: E501 - "88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561" # noqa: E501 - "052c5760015482111561068d575061052e565b600082905561069a610410565b60408051" # noqa: E501 - "83815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f5" # noqa: E501 - "50da9181900360200190a15050565b506001830154600282900a908116600014156106f0" # noqa: E501 - "57600094506106f5565b600194505b5050505092915050565b1561052c57506101055556" # noqa: E501 - "5b1561052e5760006101065550565b600086815261010360205260408120805490945090" # noqa: E501 - "92508214156107a257815483556001838101839055610104805491820180825582801582" # noqa: E501 - "9011610771578183600052602060002091820191016107719190610885565b5050506002" # noqa: E501 - "840181905561010480548892908110156100025760009190915260008051602061099483" # noqa: E501 - "398151915201555b506001820154600284900a908116600014156108b057604080516001" # noqa: E501 - "60a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d" # noqa: E501 - "5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57" # noqa: E501 - "600086815261010360205260409020600201546101048054909190811015610002576040" # noqa: E501 - "600090812060008051602061099483398151915292909201819055808255600180830182" # noqa: E501 - "905560029092015595506108b09050565b61010480546000808355919091526103c59060" # noqa: E501 - "0080516020610994833981519152908101905b8082111561089957600081556001016108" # noqa: E501 - "85565b5090565b8254600019018355600183018054821790555b50505050919050565b5b" # noqa: E501 - "600180541180156108dc57506001546002906101008110156100025701546000145b1561" # noqa: E501 - "08f057600180546000190190556108ba565b600154811080156109135750600154600290" # noqa: E501 - "610100811015610002570154600014155b801561092d5750600281610100811015610002" # noqa: E501 - "5701546000145b1561098e57600154600290610100811015610002578101549082610100" # noqa: E501 - "811015610002578101919091558190610102906000908361010081101561000257810154" # noqa: E501 - "825260209290925260408120929092556001546101008110156100025701555b61058156" # noqa: E501 - "004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + data=Bytes( + "606060409081526001600081815581805533600160a060020a0316600381905581526101026020529190912055620151804204610107556109b4806100456000396000f300606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), gas_limit=817082, - nonce=1, value=100, + nonce=1, ) post = { - Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"): Account( + sender: Account(storage={}, code=b"", nonce=2), + compute_create_address(address=sender, nonce=1): Account( storage={ 0: 1, 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=1, ), } diff --git a/tests/ported_static/stWalletTest/test_day_limit_reset_spent_today.py b/tests/ported_static/stWalletTest/test_day_limit_reset_spent_today.py index ca624e9f060..0429cb95850 100644 --- a/tests/ported_static/stWalletTest/test_day_limit_reset_spent_today.py +++ b/tests/ported_static/stWalletTest/test_day_limit_reset_spent_today.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_day_limit_reset_spent_today. Ported from: -tests/static/state_tests/stWalletTest/dayLimitResetSpentTodayFiller.json +state_tests/stWalletTest/dayLimitResetSpentTodayFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/dayLimitResetSpentTodayFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/dayLimitResetSpentTodayFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +30,9 @@ def test_day_limit_reset_spent_today( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_day_limit_reset_spent_today.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,104 +47,38 @@ def test_day_limit_reset_spent_today( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf" # noqa: E501 - "6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb481461" # noqa: E501 - "0154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c557" # noqa: E501 - "8063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1" # noqa: E501 - "736d86146102a2575b005b61009860043560006000364360405180848480828437505050" # noqa: E501 - "90910190815260405190819003602001902090506105b9815b600160a060020a03331660" # noqa: E501 - "00908152610102602052604081205481808083811415610719576108b0565b6102ac6004" # noqa: E501 - "355b600160a060020a0316600090815261010260205260408120541190565b6102ac6001" # noqa: E501 - "5481565b6100986000364360405180848480828437505050909101908152604051908190" # noqa: E501 - "036020019020905061070b816100cc565b61009860043560003643604051808484808284" # noqa: E501 - "375050509091019081526040519081900360200190209050610531816100cc565b6102ac" # noqa: E501 - "60005481565b610098600435600036436040518084848082843750505090910190815260" # noqa: E501 - "405190819003602001902090506106ff816100cc565b610098600435600160a060020a03" # noqa: E501 - "331660009081526101026020526040812054908080838114156102be57610340565b6100" # noqa: E501 - "986004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "0190209050610678816100cc565b6102ac60043560243560008281526101036020908152" # noqa: E501 - "6040808320600160a060020a0385168452610102909252822054829081818114156106d1" # noqa: E501 - "576106f5565b610098600435602435600060003643604051808484808284375050509091" # noqa: E501 - "0190815260405190819003602001902090506103ca816100cc565b6102ac610105548156" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156103405781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "6103c3576103d8836100fd565b156103e357506103c5565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561040c57506103c5565b6103475b610104" # noqa: E501 - "5460005b8181101561085f57610104805482908110156100025760009182526000805160" # noqa: E501 - "2061099483398151915201541461048a5761010480546101039160009184908110156100" # noqa: E501 - "025760008051602061099483398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610417565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa" # noqa: E501 - "90106105675761056561057c565b505b60015460fa9010610492575061052e565b610636" # noqa: E501 - "5b600060015b600154811015610899575b600154811080156105ac575060028161010081" # noqa: E501 - "1015610002570154600014155b156108b95760010161058c565b156103c557600160a060" # noqa: E501 - "020a0383166000908152610102602052604081205492508214156105e7575061052c565b" # noqa: E501 - "6001600160005054036000600050541115610602575061052c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "0578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561052c5760015482111561068d575061052e565b600082905561069a610410565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106f057600094506106f5565b600194505b5050505092915050565b1561052c57506101" # noqa: E501 - "0555565b1561052e5760006101065550565b600086815261010360205260408120805490" # noqa: E501 - "94509092508214156107a257815483556001838101839055610104805491820180825582" # noqa: E501 - "8015829011610771578183600052602060002091820191016107719190610885565b5050" # noqa: E501 - "506002840181905561010480548892908110156100025760009190915260008051602061" # noqa: E501 - "099483398151915201555b506001820154600284900a908116600014156108b057604080" # noqa: E501 - "51600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94c" # noqa: E501 - "c41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161" # noqa: E501 - "089d57600086815261010360205260409020600201546101048054909190811015610002" # noqa: E501 - "576040600090812060008051602061099483398151915292909201819055808255600180" # noqa: E501 - "830182905560029092015595506108b09050565b61010480546000808355919091526103" # noqa: E501 - "c590600080516020610994833981519152908101905b8082111561089957600081556001" # noqa: E501 - "01610885565b5090565b8254600019018355600183018054821790555b50505050919050" # noqa: E501 - "565b5b600180541180156108dc5750600154600290610100811015610002570154600014" # noqa: E501 - "5b156108f057600180546000190190556108ba565b600154811080156109135750600154" # noqa: E501 - "600290610100811015610002570154600014155b801561092d5750600281610100811015" # noqa: E501 - "6100025701546000145b1561098e57600154600290610100811015610002578101549082" # noqa: E501 - "610100811015610002578101919091558190610102906000908361010081101561000257" # noqa: E501 - "810154825260209290925260408120929092556001546101008110156100025701555b61" # noqa: E501 - "058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + "606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x104: 0x1, - 0x105: 0x2, - 0x107: 0xC22E4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 260: 1, + 261: 2, + 263: 0xC22E4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("5c52c2f5"), + to=contract_0, + data=Bytes("5c52c2f5"), gas_limit=635701, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, nonce=2), + contract_0: Account( storage={ 0: 1, 1: 1, @@ -154,6 +88,11 @@ def test_day_limit_reset_spent_today( 263: 0xC22E4, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_day_limit_set_daily_limit.py b/tests/ported_static/stWalletTest/test_day_limit_set_daily_limit.py index 9c56ed69efe..0d6f7e329ca 100644 --- a/tests/ported_static/stWalletTest/test_day_limit_set_daily_limit.py +++ b/tests/ported_static/stWalletTest/test_day_limit_set_daily_limit.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_day_limit_set_daily_limit. Ported from: -tests/static/state_tests/stWalletTest/dayLimitSetDailyLimitFiller.json +state_tests/stWalletTest/dayLimitSetDailyLimitFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/dayLimitSetDailyLimitFiller.json"], + ["state_tests/stWalletTest/dayLimitSetDailyLimitFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,8 +31,9 @@ def test_day_limit_set_daily_limit( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_day_limit_set_daily_limit.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,104 +48,36 @@ def test_day_limit_set_daily_limit( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf" # noqa: E501 - "6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb481461" # noqa: E501 - "0154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c557" # noqa: E501 - "8063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1" # noqa: E501 - "736d86146102a2575b005b61009860043560006000364360405180848480828437505050" # noqa: E501 - "90910190815260405190819003602001902090506105b9815b600160a060020a03331660" # noqa: E501 - "00908152610102602052604081205481808083811415610719576108b0565b6102ac6004" # noqa: E501 - "355b600160a060020a0316600090815261010260205260408120541190565b6102ac6001" # noqa: E501 - "5481565b6100986000364360405180848480828437505050909101908152604051908190" # noqa: E501 - "036020019020905061070b816100cc565b61009860043560003643604051808484808284" # noqa: E501 - "375050509091019081526040519081900360200190209050610531816100cc565b6102ac" # noqa: E501 - "60005481565b610098600435600036436040518084848082843750505090910190815260" # noqa: E501 - "405190819003602001902090506106ff816100cc565b610098600435600160a060020a03" # noqa: E501 - "331660009081526101026020526040812054908080838114156102be57610340565b6100" # noqa: E501 - "986004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "0190209050610678816100cc565b6102ac60043560243560008281526101036020908152" # noqa: E501 - "6040808320600160a060020a0385168452610102909252822054829081818114156106d1" # noqa: E501 - "576106f5565b610098600435602435600060003643604051808484808284375050509091" # noqa: E501 - "0190815260405190819003602001902090506103ca816100cc565b6102ac610105548156" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156103405781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "6103c3576103d8836100fd565b156103e357506103c5565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561040c57506103c5565b6103475b610104" # noqa: E501 - "5460005b8181101561085f57610104805482908110156100025760009182526000805160" # noqa: E501 - "2061099483398151915201541461048a5761010480546101039160009184908110156100" # noqa: E501 - "025760008051602061099483398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610417565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa" # noqa: E501 - "90106105675761056561057c565b505b60015460fa9010610492575061052e565b610636" # noqa: E501 - "5b600060015b600154811015610899575b600154811080156105ac575060028161010081" # noqa: E501 - "1015610002570154600014155b156108b95760010161058c565b156103c557600160a060" # noqa: E501 - "020a0383166000908152610102602052604081205492508214156105e7575061052c565b" # noqa: E501 - "6001600160005054036000600050541115610602575061052c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "0578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561052c5760015482111561068d575061052e565b600082905561069a610410565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106f057600094506106f5565b600194505b5050505092915050565b1561052c57506101" # noqa: E501 - "0555565b1561052e5760006101065550565b600086815261010360205260408120805490" # noqa: E501 - "94509092508214156107a257815483556001838101839055610104805491820180825582" # noqa: E501 - "8015829011610771578183600052602060002091820191016107719190610885565b5050" # noqa: E501 - "506002840181905561010480548892908110156100025760009190915260008051602061" # noqa: E501 - "099483398151915201555b506001820154600284900a908116600014156108b057604080" # noqa: E501 - "51600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94c" # noqa: E501 - "c41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161" # noqa: E501 - "089d57600086815261010360205260409020600201546101048054909190811015610002" # noqa: E501 - "576040600090812060008051602061099483398151915292909201819055808255600180" # noqa: E501 - "830182905560029092015595506108b09050565b61010480546000808355919091526103" # noqa: E501 - "c590600080516020610994833981519152908101905b8082111561089957600081556001" # noqa: E501 - "01610885565b5090565b8254600019018355600183018054821790555b50505050919050" # noqa: E501 - "565b5b600180541180156108dc5750600154600290610100811015610002570154600014" # noqa: E501 - "5b156108f057600180546000190190556108ba565b600154811080156109135750600154" # noqa: E501 - "600290610100811015610002570154600014155b801561092d5750600281610100811015" # noqa: E501 - "6100025701546000145b1561098e57600154600290610100811015610002578101549082" # noqa: E501 - "610100811015610002578101919091558190610102906000908361010081101561000257" # noqa: E501 - "810154825260209290925260408120929092556001546101008110156100025701555b61" # noqa: E501 - "058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + "606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x107: 0xC22E4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 263: 0xC22E4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "b20d30a90000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - ), + to=contract_0, + data=Bytes("b20d30a9") + Hash(0x2), gas_limit=635701, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, nonce=2), + contract_0: Account( storage={ 0: 1, 1: 1, @@ -152,6 +87,11 @@ def test_day_limit_set_daily_limit( 263: 0xC22E4, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_day_limit_set_daily_limit_no_data.py b/tests/ported_static/stWalletTest/test_day_limit_set_daily_limit_no_data.py index a6423378ad1..50ecda4f17e 100644 --- a/tests/ported_static/stWalletTest/test_day_limit_set_daily_limit_no_data.py +++ b/tests/ported_static/stWalletTest/test_day_limit_set_daily_limit_no_data.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_day_limit_set_daily_limit_no_data. Ported from: -tests/static/state_tests/stWalletTest/dayLimitSetDailyLimitNoDataFiller.json +state_tests/stWalletTest/dayLimitSetDailyLimitNoDataFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/dayLimitSetDailyLimitNoDataFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/dayLimitSetDailyLimitNoDataFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +30,9 @@ def test_day_limit_set_daily_limit_no_data( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_day_limit_set_daily_limit_no_data.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,102 +47,36 @@ def test_day_limit_set_daily_limit_no_data( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf" # noqa: E501 - "6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb481461" # noqa: E501 - "0154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c557" # noqa: E501 - "8063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1" # noqa: E501 - "736d86146102a2575b005b61009860043560006000364360405180848480828437505050" # noqa: E501 - "90910190815260405190819003602001902090506105b9815b600160a060020a03331660" # noqa: E501 - "00908152610102602052604081205481808083811415610719576108b0565b6102ac6004" # noqa: E501 - "355b600160a060020a0316600090815261010260205260408120541190565b6102ac6001" # noqa: E501 - "5481565b6100986000364360405180848480828437505050909101908152604051908190" # noqa: E501 - "036020019020905061070b816100cc565b61009860043560003643604051808484808284" # noqa: E501 - "375050509091019081526040519081900360200190209050610531816100cc565b6102ac" # noqa: E501 - "60005481565b610098600435600036436040518084848082843750505090910190815260" # noqa: E501 - "405190819003602001902090506106ff816100cc565b610098600435600160a060020a03" # noqa: E501 - "331660009081526101026020526040812054908080838114156102be57610340565b6100" # noqa: E501 - "986004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "0190209050610678816100cc565b6102ac60043560243560008281526101036020908152" # noqa: E501 - "6040808320600160a060020a0385168452610102909252822054829081818114156106d1" # noqa: E501 - "576106f5565b610098600435602435600060003643604051808484808284375050509091" # noqa: E501 - "0190815260405190819003602001902090506103ca816100cc565b6102ac610105548156" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156103405781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "6103c3576103d8836100fd565b156103e357506103c5565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561040c57506103c5565b6103475b610104" # noqa: E501 - "5460005b8181101561085f57610104805482908110156100025760009182526000805160" # noqa: E501 - "2061099483398151915201541461048a5761010480546101039160009184908110156100" # noqa: E501 - "025760008051602061099483398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610417565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa" # noqa: E501 - "90106105675761056561057c565b505b60015460fa9010610492575061052e565b610636" # noqa: E501 - "5b600060015b600154811015610899575b600154811080156105ac575060028161010081" # noqa: E501 - "1015610002570154600014155b156108b95760010161058c565b156103c557600160a060" # noqa: E501 - "020a0383166000908152610102602052604081205492508214156105e7575061052c565b" # noqa: E501 - "6001600160005054036000600050541115610602575061052c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "0578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561052c5760015482111561068d575061052e565b600082905561069a610410565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106f057600094506106f5565b600194505b5050505092915050565b1561052c57506101" # noqa: E501 - "0555565b1561052e5760006101065550565b600086815261010360205260408120805490" # noqa: E501 - "94509092508214156107a257815483556001838101839055610104805491820180825582" # noqa: E501 - "8015829011610771578183600052602060002091820191016107719190610885565b5050" # noqa: E501 - "506002840181905561010480548892908110156100025760009190915260008051602061" # noqa: E501 - "099483398151915201555b506001820154600284900a908116600014156108b057604080" # noqa: E501 - "51600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94c" # noqa: E501 - "c41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161" # noqa: E501 - "089d57600086815261010360205260409020600201546101048054909190811015610002" # noqa: E501 - "576040600090812060008051602061099483398151915292909201819055808255600180" # noqa: E501 - "830182905560029092015595506108b09050565b61010480546000808355919091526103" # noqa: E501 - "c590600080516020610994833981519152908101905b8082111561089957600081556001" # noqa: E501 - "01610885565b5090565b8254600019018355600183018054821790555b50505050919050" # noqa: E501 - "565b5b600180541180156108dc5750600154600290610100811015610002570154600014" # noqa: E501 - "5b156108f057600180546000190190556108ba565b600154811080156109135750600154" # noqa: E501 - "600290610100811015610002570154600014155b801561092d5750600281610100811015" # noqa: E501 - "6100025701546000145b1561098e57600154600290610100811015610002578101549082" # noqa: E501 - "610100811015610002578101919091558190610102906000908361010081101561000257" # noqa: E501 - "810154825260209290925260408120929092556001546101008110156100025701555b61" # noqa: E501 - "058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + "606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x107: 0xC22E4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 263: 0xC22E4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("b20d30a9"), + to=contract_0, + data=Bytes("b20d30a9"), gas_limit=635701, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, nonce=2), + contract_0: Account( storage={ 0: 1, 1: 1, @@ -151,6 +85,11 @@ def test_day_limit_set_daily_limit_no_data( 263: 0xC22E4, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100985760e060020a6000350463173825d9811461009a5780632f54bf6e146100f65780634123cb6b1461011a5780635c52c2f5146101235780637065cb4814610154578063746c917114610188578063b20d30a914610191578063b75c7dc6146101c5578063ba51a6df146101f5578063c2cf732614610229578063f00d4b5d14610269578063f1736d86146102a2575b005b6100986004356000600036436040518084848082843750505090910190815260405190819003602001902090506105b9815b600160a060020a0333166000908152610102602052604081205481808083811415610719576108b0565b6102ac6004355b600160a060020a0316600090815261010260205260408120541190565b6102ac60015481565b6100986000364360405180848480828437505050909101908152604051908190036020019020905061070b816100cc565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610531816100cc565b6102ac60005481565b610098600435600036436040518084848082843750505090910190815260405190819003602001902090506106ff816100cc565b610098600435600160a060020a03331660009081526101026020526040812054908080838114156102be57610340565b61009860043560003643604051808484808284375050509091019081526040519081900360200190209050610678816100cc565b6102ac600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156106d1576106f5565b6100986004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506103ca816100cc565b6102ac6101055481565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156103405781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156103c3576103d8836100fd565b156103e357506103c5565b600160a060020a03841660009081526101026020526040812054925082141561040c57506103c5565b6103475b6101045460005b8181101561085f576101048054829081101561000257600091825260008051602061099483398151915201541461048a5761010480546101039160009184908110156100025760008051602061099483398151915201548252506020919091526040812081815560018101829055600201555b600101610417565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561052c5761053f826100fd565b1561054a575061052e565b610552610410565b60015460fa90106105675761056561057c565b505b60015460fa9010610492575061052e565b6106365b600060015b600154811015610899575b600154811080156105ac5750600281610100811015610002570154600014155b156108b95760010161058c565b156103c557600160a060020a0383166000908152610102602052604081205492508214156105e7575061052c565b6001600160005054036000600050541115610602575061052c565b600060028361010081101561000257508301819055600160a060020a03841681526101026020526040812055610578610410565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561052c5760015482111561068d575061052e565b600082905561069a610410565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106f057600094506106f5565b600194505b5050505092915050565b1561052c575061010555565b1561052e5760006101065550565b60008681526101036020526040812080549094509092508214156107a2578154835560018381018390556101048054918201808255828015829011610771578183600052602060002091820191016107719190610885565b5050506002840181905561010480548892908110156100025760009190915260008051602061099483398151915201555b506001820154600284900a908116600014156108b05760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a182546001901161089d57600086815261010360205260409020600201546101048054909190811015610002576040600090812060008051602061099483398151915292909201819055808255600180830182905560029092015595506108b09050565b61010480546000808355919091526103c590600080516020610994833981519152908101905b808211156108995760008155600101610885565b5090565b8254600019018355600183018054821790555b50505050919050565b5b600180541180156108dc57506001546002906101008110156100025701546000145b156108f057600180546000190190556108ba565b600154811080156109135750600154600290610100811015610002570154600014155b801561092d57506002816101008110156100025701546000145b1561098e57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61058156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_multi_owned_add_owner.py b/tests/ported_static/stWalletTest/test_multi_owned_add_owner.py index 4fd27971c2c..b0c190b6df0 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_add_owner.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_add_owner.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_add_owner. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedAddOwnerFiller.json +state_tests/stWalletTest/multiOwnedAddOwnerFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/multiOwnedAddOwnerFiller.json"], + ["state_tests/stWalletTest/multiOwnedAddOwnerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,8 +31,9 @@ def test_multi_owned_add_owner( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_add_owner.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -44,100 +47,36 @@ def test_multi_owned_add_owner( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7065cb480000000000000000000000003fb1cd2cd96c6d5c0b5eb3322d807b34482481d4" # noqa: E501 - ), + to=contract_0, + data=Bytes("7065cb48") + + Hash(0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 2, @@ -146,7 +85,13 @@ def test_multi_owned_add_owner( 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_add_owner_add_myself.py b/tests/ported_static/stWalletTest/test_multi_owned_add_owner_add_myself.py index a94f9cf9e21..069ec89c9fb 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_add_owner_add_myself.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_add_owner_add_myself.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_add_owner_add_myself. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedAddOwnerAddMyselfFiller.json +state_tests/stWalletTest/multiOwnedAddOwnerAddMyselfFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedAddOwnerAddMyselfFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedAddOwnerAddMyselfFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,9 @@ def test_multi_owned_add_owner_add_myself( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_add_owner_add_myself.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,100 +47,35 @@ def test_multi_owned_add_owner_add_myself( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7065cb48000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" # noqa: E501 - ), + to=contract_0, + data=Bytes("7065cb48") + Hash(sender, left_padding=True), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, @@ -147,7 +83,13 @@ def test_multi_owned_add_owner_add_myself( 260: 1, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_change_owner.py b/tests/ported_static/stWalletTest/test_multi_owned_change_owner.py index 1ec84fdbb12..2c5d814fab0 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_change_owner.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_change_owner.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_change_owner. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedChangeOwnerFiller.json +state_tests/stWalletTest/multiOwnedChangeOwnerFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/multiOwnedChangeOwnerFiller.json"], + ["state_tests/stWalletTest/multiOwnedChangeOwnerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,8 +31,9 @@ def test_multi_owned_change_owner( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_change_owner.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -44,108 +47,50 @@ def test_multi_owned_change_owner( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "f00d4b5d000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" # noqa: E501 - "000000000000000000000000aaaf5374fce5edbc8e2a8697c15331677e6ebaaa" - ), + to=contract_0, + data=Bytes("f00d4b5d") + + Hash(sender, left_padding=True) + + Hash(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, 3: 0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA, 0x62CE4F671906BE9A217487BB98E428B08E12100FB0007DF10572CA00206E7D73: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_change_owner_from_not_owner.py b/tests/ported_static/stWalletTest/test_multi_owned_change_owner_from_not_owner.py index 8f8e5abd2f6..264af9fef9c 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_change_owner_from_not_owner.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_change_owner_from_not_owner.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_change_owner_from_not_owner. Ported from: -tests/static/state_tests/stWalletTest -multiOwnedChangeOwner_fromNotOwnerFiller.json +state_tests/stWalletTest/multiOwnedChangeOwner_fromNotOwnerFiller.json """ import pytest @@ -12,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedChangeOwner_fromNotOwnerFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedChangeOwner_fromNotOwnerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_multi_owned_change_owner_from_not_owner( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_change_owner_from_not_owner.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,101 +47,37 @@ def test_multi_owned_change_owner_from_not_owner( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "f00d4b5d000000000000000000000000b94f5374fce5edbc8e2a8697c15331677e6ebf0b" # noqa: E501 - "000000000000000000000000aaaf5374fce5edbc8e2a8697c15331677e6ebaaa" - ), + to=contract_0, + data=Bytes("f00d4b5d") + + Hash(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + + Hash(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, @@ -149,7 +85,13 @@ def test_multi_owned_change_owner_from_not_owner( 260: 1, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_change_owner_no_argument.py b/tests/ported_static/stWalletTest/test_multi_owned_change_owner_no_argument.py index 7fcb30efd42..19ffb07c6ad 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_change_owner_no_argument.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_change_owner_no_argument.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_change_owner_no_argument. Ported from: -tests/static/state_tests/stWalletTest -multiOwnedChangeOwnerNoArgumentFiller.json +state_tests/stWalletTest/multiOwnedChangeOwnerNoArgumentFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedChangeOwnerNoArgumentFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedChangeOwnerNoArgumentFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +30,9 @@ def test_multi_owned_change_owner_no_argument( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_change_owner_no_argument.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,98 +46,35 @@ def test_multi_owned_change_owner_no_argument( gas_limit=10000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("f00d4b5d"), + to=contract_0, + data=Bytes("f00d4b5d"), gas_limit=770743, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, @@ -146,7 +82,13 @@ def test_multi_owned_change_owner_no_argument( 260: 1, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_change_owner_to_is_owner.py b/tests/ported_static/stWalletTest/test_multi_owned_change_owner_to_is_owner.py index 21780150840..83a1ac1d860 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_change_owner_to_is_owner.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_change_owner_to_is_owner.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_change_owner_to_is_owner. Ported from: -tests/static/state_tests/stWalletTest -multiOwnedChangeOwner_toIsOwnerFiller.json +state_tests/stWalletTest/multiOwnedChangeOwner_toIsOwnerFiller.json """ import pytest @@ -12,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedChangeOwner_toIsOwnerFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedChangeOwner_toIsOwnerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_multi_owned_change_owner_to_is_owner( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_change_owner_to_is_owner.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,101 +47,37 @@ def test_multi_owned_change_owner_to_is_owner( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "f00d4b5d000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" # noqa: E501 - "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" - ), + to=contract_0, + data=Bytes("f00d4b5d") + + Hash(sender, left_padding=True) + + Hash(sender, left_padding=True), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, @@ -149,7 +85,13 @@ def test_multi_owned_change_owner_to_is_owner( 260: 1, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to0.py b/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to0.py index 1adc21e90c5..cd81be47afb 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to0.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to0.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_change_requirement_to0. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedChangeRequirementTo0Filler.json +state_tests/stWalletTest/multiOwnedChangeRequirementTo0Filler.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedChangeRequirementTo0Filler.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedChangeRequirementTo0Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,9 @@ def test_multi_owned_change_requirement_to0( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_change_requirement_to0.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,106 +47,47 @@ def test_multi_owned_change_requirement_to0( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "ba51a6df0000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), + to=contract_0, + data=Bytes("ba51a6df") + Hash(0x0), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to1.py b/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to1.py index 8a4dcd2cf57..58574695eed 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to1.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to1.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_change_requirement_to1. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedChangeRequirementTo1Filler.json +state_tests/stWalletTest/multiOwnedChangeRequirementTo1Filler.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedChangeRequirementTo1Filler.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedChangeRequirementTo1Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,9 @@ def test_multi_owned_change_requirement_to1( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_change_requirement_to1.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,107 +47,48 @@ def test_multi_owned_change_requirement_to1( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "ba51a6df0000000000000000000000000000000000000000000000000000000000000001" # noqa: E501 - ), + to=contract_0, + data=Bytes("ba51a6df") + Hash(0x1), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to2.py b/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to2.py index 46b2f43c9ad..37ef850e805 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to2.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_change_requirement_to2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_change_requirement_to2. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedChangeRequirementTo2Filler.json +state_tests/stWalletTest/multiOwnedChangeRequirementTo2Filler.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedChangeRequirementTo2Filler.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedChangeRequirementTo2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,9 @@ def test_multi_owned_change_requirement_to2( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_change_requirement_to2.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,100 +47,35 @@ def test_multi_owned_change_requirement_to2( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "ba51a6df0000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - ), + to=contract_0, + data=Bytes("ba51a6df") + Hash(0x2), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, @@ -147,7 +83,13 @@ def test_multi_owned_change_requirement_to2( 260: 1, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_construction_correct.py b/tests/ported_static/stWalletTest/test_multi_owned_construction_correct.py index 97141f0c147..df4f050384b 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_construction_correct.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_construction_correct.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_construction_correct. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedConstructionCorrectFiller.json +state_tests/stWalletTest/multiOwnedConstructionCorrectFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) REFERENCE_SPEC_GIT_PATH = "N/A" @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedConstructionCorrectFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedConstructionCorrectFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,8 @@ def test_multi_owned_construction_correct( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_construction_correct.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -51,87 +51,28 @@ def test_multi_owned_construction_correct( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "606060409081526001600081815581805533600160a060020a0316600381905581526101" # noqa: E501 - "026020529182205561090a90819061003b90396000f300606060405236156100775760e0" # noqa: E501 - "60020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b14" # noqa: E501 - "6100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f" # noqa: E501 - "578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b00" # noqa: E501 - "5b6100776004356000600036436040518084848082843750505090910190815260405190" # noqa: E501 - "81900360200190209050610529815b600160a060020a0333166000908152610102602052" # noqa: E501 - "60408120548180808381141561066f57610806565b61021c6004355b600160a060020a03" # noqa: E501 - "16600090815261010260205260408120541190565b61021c60015481565b610077600435" # noqa: E501 - "600036436040518084848082843750505090910190815260405190819003602001902090" # noqa: E501 - "506104a1816100ab565b61021c60005481565b610077600435600160a060020a03331660" # noqa: E501 - "0090815261010260205260408120549080808381141561022e576102b0565b6100776004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506105e8816100ab565b61021c60043560243560008281526101036020908152604080" # noqa: E501 - "8320600160a060020a038516845261010290925282205482908181811415610641576106" # noqa: E501 - "65565b610077600435602435600060003643604051808484808284375050509091019081" # noqa: E501 - "52604051908190036020019020905061033a816100ab565b604080519182525190819003" # noqa: E501 - "60200190f35b5050506000828152610103602052604081206001810154600284900a9290" # noqa: E501 - "8316819011156102b0578154600183810180549290910184559084900390556040805160" # noqa: E501 - "0160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e" # noqa: E501 - "5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b60" # noqa: E501 - "0160a060020a038316600283610100811015610002570155600160a060020a0384811660" # noqa: E501 - "008181526101026020908152604080832083905593871680835291849020869055835192" # noqa: E501 - "835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995" # noqa: E501 - "d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b" # noqa: E501 - "156103535750610335565b600160a060020a038416600090815261010260205260408120" # noqa: E501 - "54925082141561037c5750610335565b6102b75b6101045460005b818110156107b55761" # noqa: E501 - "0104805482908110156100025760009182526000805160206108ea833981519152015414" # noqa: E501 - "6103fa576101048054610103916000918490811015610002576000805160206108ea8339" # noqa: E501 - "8151915201548252506020919091526040812081815560018101829055600201555b6001" # noqa: E501 - "01610387565b60018054810190819055600160a060020a03831690600290610100811015" # noqa: E501 - "6100025790900160005081905550600160005054610102600050600084600160a060020a" # noqa: E501 - "03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469" # noqa: E501 - "d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a031681" # noqa: E501 - "5260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b15" # noqa: E501 - "6104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec56" # noqa: E501 - "5b505b60015460fa9010610402575061049e565b6105a65b600060015b60015481101561" # noqa: E501 - "07ef575b6001548110801561051c5750600281610100811015610002570154600014155b" # noqa: E501 - "1561080f576001016104fc565b1561033557600160a060020a0383166000908152610102" # noqa: E501 - "60205260408120549250821415610557575061049c565b60016001600050540360006000" # noqa: E501 - "50541115610572575061049c565b60006002836101008110156100025750830181905560" # noqa: E501 - "0160a060020a038416815261010260205260408120556104e8610380565b506040805160" # noqa: E501 - "0160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a" # noqa: E501 - "9071b555b651fbf418da9181900360200190a1505050565b1561049c5760015482111561" # noqa: E501 - "05fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084" # noqa: E501 - "c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190" # noqa: E501 - "a15050565b506001830154600282900a908116600014156106605760009450610665565b" # noqa: E501 - "600194505b5050505092915050565b600086815261010360205260408120805490945090" # noqa: E501 - "92508214156106f857815483556001838101839055610104805491820180825582801582" # noqa: E501 - "90116106c7578183600052602060002091820191016106c791906107db565b5050506002" # noqa: E501 - "84018190556101048054889290811015610002576000919091526000805160206108ea83" # noqa: E501 - "398151915201555b506001820154600284900a9081166000141561080657604080516001" # noqa: E501 - "60a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d" # noqa: E501 - "5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f357" # noqa: E501 - "600086815261010360205260409020600201546101048054909190811015610002576040" # noqa: E501 - "60009081206000805160206108ea83398151915292909201819055808255600180830182" # noqa: E501 - "905560029092015595506108069050565b61010480546000808355919091526103359060" # noqa: E501 - "00805160206108ea833981519152908101905b808211156107ef57600081556001016107" # noqa: E501 - "db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b" # noqa: E501 - "6001805411801561083257506001546002906101008110156100025701546000145b1561" # noqa: E501 - "08465760018054600019019055610810565b600154811080156108695750600154600290" # noqa: E501 - "610100811015610002570154600014155b80156108835750600281610100811015610002" # noqa: E501 - "5701546000145b156108e457600154600290610100811015610002578101549082610100" # noqa: E501 - "811015610002578101919091558190610102906000908361010081101561000257810154" # noqa: E501 - "825260209290925260408120929092556001546101008110156100025701555b6104f156" # noqa: E501 - "004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + data=Bytes( + "606060409081526001600081815581805533600160a060020a0316600381905581526101026020529182205561090a90819061003b90396000f300606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), gas_limit=10000000, value=100, ) post = { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( + compute_create_address(address=sender, nonce=0): Account( storage={ 0: 1, 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=1, ), + sender: Account(storage={}, code=b"", nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_construction_not_enough_gas.py b/tests/ported_static/stWalletTest/test_multi_owned_construction_not_enough_gas.py index 40a6c3e4a72..a1363dfcf33 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_construction_not_enough_gas.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_construction_not_enough_gas.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_construction_not_enough_gas. Ported from: -tests/static/state_tests/stWalletTest -multiOwnedConstructionNotEnoughGasFiller.json +state_tests/stWalletTest/multiOwnedConstructionNotEnoughGasFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedConstructionNotEnoughGasFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedConstructionNotEnoughGasFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +30,8 @@ def test_multi_owned_construction_not_enough_gas( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_construction_not_enough_gas.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -52,77 +50,12 @@ def test_multi_owned_construction_not_enough_gas( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "606060409081526001600081815581805533600160a060020a0316600381905581526101" # noqa: E501 - "026020529182205561090a90819061003b90396000f300606060405236156100775760e0" # noqa: E501 - "60020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b14" # noqa: E501 - "6100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f" # noqa: E501 - "578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b00" # noqa: E501 - "5b6100776004356000600036436040518084848082843750505090910190815260405190" # noqa: E501 - "81900360200190209050610529815b600160a060020a0333166000908152610102602052" # noqa: E501 - "60408120548180808381141561066f57610806565b61021c6004355b600160a060020a03" # noqa: E501 - "16600090815261010260205260408120541190565b61021c60015481565b610077600435" # noqa: E501 - "600036436040518084848082843750505090910190815260405190819003602001902090" # noqa: E501 - "506104a1816100ab565b61021c60005481565b610077600435600160a060020a03331660" # noqa: E501 - "0090815261010260205260408120549080808381141561022e576102b0565b6100776004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506105e8816100ab565b61021c60043560243560008281526101036020908152604080" # noqa: E501 - "8320600160a060020a038516845261010290925282205482908181811415610641576106" # noqa: E501 - "65565b610077600435602435600060003643604051808484808284375050509091019081" # noqa: E501 - "52604051908190036020019020905061033a816100ab565b604080519182525190819003" # noqa: E501 - "60200190f35b5050506000828152610103602052604081206001810154600284900a9290" # noqa: E501 - "8316819011156102b0578154600183810180549290910184559084900390556040805160" # noqa: E501 - "0160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e" # noqa: E501 - "5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b60" # noqa: E501 - "0160a060020a038316600283610100811015610002570155600160a060020a0384811660" # noqa: E501 - "008181526101026020908152604080832083905593871680835291849020869055835192" # noqa: E501 - "835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995" # noqa: E501 - "d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b" # noqa: E501 - "156103535750610335565b600160a060020a038416600090815261010260205260408120" # noqa: E501 - "54925082141561037c5750610335565b6102b75b6101045460005b818110156107b55761" # noqa: E501 - "0104805482908110156100025760009182526000805160206108ea833981519152015414" # noqa: E501 - "6103fa576101048054610103916000918490811015610002576000805160206108ea8339" # noqa: E501 - "8151915201548252506020919091526040812081815560018101829055600201555b6001" # noqa: E501 - "01610387565b60018054810190819055600160a060020a03831690600290610100811015" # noqa: E501 - "6100025790900160005081905550600160005054610102600050600084600160a060020a" # noqa: E501 - "03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469" # noqa: E501 - "d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a031681" # noqa: E501 - "5260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b15" # noqa: E501 - "6104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec56" # noqa: E501 - "5b505b60015460fa9010610402575061049e565b6105a65b600060015b60015481101561" # noqa: E501 - "07ef575b6001548110801561051c5750600281610100811015610002570154600014155b" # noqa: E501 - "1561080f576001016104fc565b1561033557600160a060020a0383166000908152610102" # noqa: E501 - "60205260408120549250821415610557575061049c565b60016001600050540360006000" # noqa: E501 - "50541115610572575061049c565b60006002836101008110156100025750830181905560" # noqa: E501 - "0160a060020a038416815261010260205260408120556104e8610380565b506040805160" # noqa: E501 - "0160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a" # noqa: E501 - "9071b555b651fbf418da9181900360200190a1505050565b1561049c5760015482111561" # noqa: E501 - "05fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084" # noqa: E501 - "c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190" # noqa: E501 - "a15050565b506001830154600282900a908116600014156106605760009450610665565b" # noqa: E501 - "600194505b5050505092915050565b600086815261010360205260408120805490945090" # noqa: E501 - "92508214156106f857815483556001838101839055610104805491820180825582801582" # noqa: E501 - "90116106c7578183600052602060002091820191016106c791906107db565b5050506002" # noqa: E501 - "84018190556101048054889290811015610002576000919091526000805160206108ea83" # noqa: E501 - "398151915201555b506001820154600284900a9081166000141561080657604080516001" # noqa: E501 - "60a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d" # noqa: E501 - "5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f357" # noqa: E501 - "600086815261010360205260409020600201546101048054909190811015610002576040" # noqa: E501 - "60009081206000805160206108ea83398151915292909201819055808255600180830182" # noqa: E501 - "905560029092015595506108069050565b61010480546000808355919091526103359060" # noqa: E501 - "00805160206108ea833981519152908101905b808211156107ef57600081556001016107" # noqa: E501 - "db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b" # noqa: E501 - "6001805411801561083257506001546002906101008110156100025701546000145b1561" # noqa: E501 - "08465760018054600019019055610810565b600154811080156108695750600154600290" # noqa: E501 - "610100811015610002570154600014155b80156108835750600281610100811015610002" # noqa: E501 - "5701546000145b156108e457600154600290610100811015610002578101549082610100" # noqa: E501 - "811015610002578101919091558190610102906000908361010081101561000257810154" # noqa: E501 - "825260209290925260408120929092556001546101008110156100025701555b6104f156" # noqa: E501 - "004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + data=Bytes( + "606060409081526001600081815581805533600160a060020a0316600381905581526101026020529182205561090a90819061003b90396000f300606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), gas_limit=256449, ) - post: dict = {} + post = {sender: Account(storage={}, code=b"", nonce=1)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_construction_not_enough_gas_partial.py b/tests/ported_static/stWalletTest/test_multi_owned_construction_not_enough_gas_partial.py index 5553bd5754f..bc84adb55f0 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_construction_not_enough_gas_partial.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_construction_not_enough_gas_partial.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_construction_not_enough_gas_partial. Ported from: -tests/static/state_tests/stWalletTest -multiOwnedConstructionNotEnoughGasPartialFiller.json +state_tests/stWalletTest/multiOwnedConstructionNotEnoughGasPartialFiller.json """ import pytest @@ -12,9 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) REFERENCE_SPEC_GIT_PATH = "N/A" @@ -23,39 +28,38 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stWalletTest/multiOwnedConstructionNotEnoughGasPartialFiller.json", # noqa: E501 + "state_tests/stWalletTest/multiOwnedConstructionNotEnoughGasPartialFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (601249, {}), - ( - 751249, - { - Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"): Account( - storage={ - 0: 1, - 1: 1, - 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_multi_owned_construction_not_enough_gas_partial( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_construction_not_enough_gas_partial.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -71,81 +75,46 @@ def test_multi_owned_construction_not_enough_gas_partial( pre[sender] = Account(balance=0xDE0B6B3A7640000) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address( + address=sender, nonce=0 + ): Account.NONEXISTENT, + sender: Account(storage={}, code=b"", nonce=1), + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + compute_create_address(address=sender, nonce=0): Account( + nonce=1 + ), + sender: Account(storage={}, code=b"", nonce=1), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes( + "606060409081526001600081815581805533600160a060020a0316600381905581526101026020529182205561090a90819061003b90396000f300606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + ] + tx_gas = [601249, 751249] + tx_value = [100] + tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "606060409081526001600081815581805533600160a060020a0316600381905581526101" # noqa: E501 - "026020529182205561090a90819061003b90396000f300606060405236156100775760e0" # noqa: E501 - "60020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b14" # noqa: E501 - "6100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f" # noqa: E501 - "578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b00" # noqa: E501 - "5b6100776004356000600036436040518084848082843750505090910190815260405190" # noqa: E501 - "81900360200190209050610529815b600160a060020a0333166000908152610102602052" # noqa: E501 - "60408120548180808381141561066f57610806565b61021c6004355b600160a060020a03" # noqa: E501 - "16600090815261010260205260408120541190565b61021c60015481565b610077600435" # noqa: E501 - "600036436040518084848082843750505090910190815260405190819003602001902090" # noqa: E501 - "506104a1816100ab565b61021c60005481565b610077600435600160a060020a03331660" # noqa: E501 - "0090815261010260205260408120549080808381141561022e576102b0565b6100776004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506105e8816100ab565b61021c60043560243560008281526101036020908152604080" # noqa: E501 - "8320600160a060020a038516845261010290925282205482908181811415610641576106" # noqa: E501 - "65565b610077600435602435600060003643604051808484808284375050509091019081" # noqa: E501 - "52604051908190036020019020905061033a816100ab565b604080519182525190819003" # noqa: E501 - "60200190f35b5050506000828152610103602052604081206001810154600284900a9290" # noqa: E501 - "8316819011156102b0578154600183810180549290910184559084900390556040805160" # noqa: E501 - "0160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e" # noqa: E501 - "5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b60" # noqa: E501 - "0160a060020a038316600283610100811015610002570155600160a060020a0384811660" # noqa: E501 - "008181526101026020908152604080832083905593871680835291849020869055835192" # noqa: E501 - "835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995" # noqa: E501 - "d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b" # noqa: E501 - "156103535750610335565b600160a060020a038416600090815261010260205260408120" # noqa: E501 - "54925082141561037c5750610335565b6102b75b6101045460005b818110156107b55761" # noqa: E501 - "0104805482908110156100025760009182526000805160206108ea833981519152015414" # noqa: E501 - "6103fa576101048054610103916000918490811015610002576000805160206108ea8339" # noqa: E501 - "8151915201548252506020919091526040812081815560018101829055600201555b6001" # noqa: E501 - "01610387565b60018054810190819055600160a060020a03831690600290610100811015" # noqa: E501 - "6100025790900160005081905550600160005054610102600050600084600160a060020a" # noqa: E501 - "03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469" # noqa: E501 - "d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a031681" # noqa: E501 - "5260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b15" # noqa: E501 - "6104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec56" # noqa: E501 - "5b505b60015460fa9010610402575061049e565b6105a65b600060015b60015481101561" # noqa: E501 - "07ef575b6001548110801561051c5750600281610100811015610002570154600014155b" # noqa: E501 - "1561080f576001016104fc565b1561033557600160a060020a0383166000908152610102" # noqa: E501 - "60205260408120549250821415610557575061049c565b60016001600050540360006000" # noqa: E501 - "50541115610572575061049c565b60006002836101008110156100025750830181905560" # noqa: E501 - "0160a060020a038416815261010260205260408120556104e8610380565b506040805160" # noqa: E501 - "0160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a" # noqa: E501 - "9071b555b651fbf418da9181900360200190a1505050565b1561049c5760015482111561" # noqa: E501 - "05fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084" # noqa: E501 - "c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190" # noqa: E501 - "a15050565b506001830154600282900a908116600014156106605760009450610665565b" # noqa: E501 - "600194505b5050505092915050565b600086815261010360205260408120805490945090" # noqa: E501 - "92508214156106f857815483556001838101839055610104805491820180825582801582" # noqa: E501 - "90116106c7578183600052602060002091820191016106c791906107db565b5050506002" # noqa: E501 - "84018190556101048054889290811015610002576000919091526000805160206108ea83" # noqa: E501 - "398151915201555b506001820154600284900a9081166000141561080657604080516001" # noqa: E501 - "60a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d" # noqa: E501 - "5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f357" # noqa: E501 - "600086815261010360205260409020600201546101048054909190811015610002576040" # noqa: E501 - "60009081206000805160206108ea83398151915292909201819055808255600180830182" # noqa: E501 - "905560029092015595506108069050565b61010480546000808355919091526103359060" # noqa: E501 - "00805160206108ea833981519152908101905b808211156107ef57600081556001016107" # noqa: E501 - "db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b" # noqa: E501 - "6001805411801561083257506001546002906101008110156100025701546000145b1561" # noqa: E501 - "08465760018054600019019055610810565b600154811080156108695750600154600290" # noqa: E501 - "610100811015610002570154600014155b80156108835750600281610100811015610002" # noqa: E501 - "5701546000145b156108e457600154600290610100811015610002578101549082610100" # noqa: E501 - "811015610002578101919091558190610102906000908361010081101561000257810154" # noqa: E501 - "825260209290925260408120929092556001546101008110156100025701555b6104f156" # noqa: E501 - "004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 - ), - gas_limit=tx_gas_limit, - value=100, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_is_owner_false.py b/tests/ported_static/stWalletTest/test_multi_owned_is_owner_false.py index b9e3dd2767d..0113979f70a 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_is_owner_false.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_is_owner_false.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_is_owner_false. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedIsOwnerFalseFiller.json +state_tests/stWalletTest/multiOwnedIsOwnerFalseFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedIsOwnerFalseFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedIsOwnerFalseFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,9 @@ def test_multi_owned_is_owner_false( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_is_owner_false.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,107 +47,49 @@ def test_multi_owned_is_owner_false( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "2f54bf6e000000000000000000000000aaaf5374fce5edbc8e2a8697c15331677e6ebaaa" # noqa: E501 - ), + to=contract_0, + data=Bytes("2f54bf6e") + + Hash(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_is_owner_true.py b/tests/ported_static/stWalletTest/test_multi_owned_is_owner_true.py index 6c9da78d56c..358b2a4a5b5 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_is_owner_true.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_is_owner_true.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_is_owner_true. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedIsOwnerTrueFiller.json +state_tests/stWalletTest/multiOwnedIsOwnerTrueFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/multiOwnedIsOwnerTrueFiller.json"], + ["state_tests/stWalletTest/multiOwnedIsOwnerTrueFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,8 +31,9 @@ def test_multi_owned_is_owner_true( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_is_owner_true.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -44,107 +47,48 @@ def test_multi_owned_is_owner_true( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "2f54bf6e000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" # noqa: E501 - ), + to=contract_0, + data=Bytes("2f54bf6e") + Hash(sender, left_padding=True), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_remove_owner.py b/tests/ported_static/stWalletTest/test_multi_owned_remove_owner.py index d4d46b6d969..e017ed9dbb5 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_remove_owner.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_remove_owner.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_remove_owner. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedRemoveOwnerFiller.json +state_tests/stWalletTest/multiOwnedRemoveOwnerFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/multiOwnedRemoveOwnerFiller.json"], + ["state_tests/stWalletTest/multiOwnedRemoveOwnerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +32,9 @@ def test_multi_owned_remove_owner( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_remove_owner.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,850 +48,824 @@ def test_multi_owned_remove_owner( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.DIV( - Op.CALLDATALOAD(offset=0x0), - 0x100000000000000000000000000000000000000000000000000000000, - ) - + Op.JUMPI(pc=Op.PUSH2[0x65], condition=Op.EQ(Op.DUP2, 0x173825D9)) - + Op.JUMPI(pc=Op.PUSH2[0xB7], condition=Op.EQ(0x2F54BF6E, Op.DUP1)) - + Op.JUMPI(pc=Op.PUSH2[0xE8], condition=Op.EQ(0x7065CB48, Op.DUP1)) - + Op.JUMPI(pc=0x105, condition=Op.EQ(0xB75C7DC6, Op.DUP1)) - + Op.JUMPI(pc=0x142, condition=Op.EQ(0xBA51A6DF, Op.DUP1)) - + Op.JUMPI(pc=0x15F, condition=Op.EQ(0xF00D4B5D, Op.DUP1)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x181] - + Op.CALLDATALOAD(offset=0x4) - + Op.PUSH1[0x0] - + Op.PUSH1[0x40] - + Op.PUSH1[0x0] - + Op.CALLDATASIZE - + Op.CALLDATACOPY( - dest_offset=Op.DUP5, offset=Op.DUP3, size=Op.DUP1 - ) - + Op.SWAP1 - + Op.SWAP2 - + Op.SHA3 - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x46D] - + Op.DUP2 - + Op.JUMPDEST - + Op.AND(Op.CALLER, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.MSTORE(offset=0x20, value=0x102) - + Op.SLOAD(key=Op.SHA3(offset=Op.DUP2, size=0x40)) - + Op.DUP2 - + Op.DUP1 - + Op.DUP1 - + Op.JUMPI(pc=0x58F, condition=Op.ISZERO(Op.EQ(Op.DUP2, Op.DUP4))) - + Op.JUMP(pc=0x586) - + Op.JUMPDEST - + Op.PUSH2[0x187] - + Op.CALLDATALOAD(offset=0x4) - + Op.JUMPDEST - + Op.PUSH20[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.AND - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.MSTORE(offset=0x20, value=0x102) - + Op.SLOAD(key=Op.SHA3(offset=Op.DUP2, size=0x40)) - + Op.GT - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH2[0x181] - + Op.CALLDATALOAD(offset=0x4) - + Op.PUSH1[0x40] - + Op.PUSH1[0x0] - + Op.CALLDATASIZE - + Op.CALLDATACOPY( - dest_offset=Op.DUP5, offset=Op.DUP3, size=Op.DUP1 - ) - + Op.SWAP1 - + Op.SWAP2 - + Op.SHA3 - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x37C] - + Op.DUP2 - + Op.JUMP(pc=Op.PUSH2[0x80]) - + Op.JUMPDEST - + Op.PUSH2[0x181] - + Op.CALLDATALOAD(offset=0x4) - + Op.AND(Op.CALLER, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.MSTORE(offset=0x20, value=0x102) - + Op.SLOAD(key=Op.SHA3(offset=Op.DUP2, size=0x40)) - + Op.SWAP1 - + Op.DUP1 - + Op.DUP1 - + Op.JUMPI(pc=0x191, condition=Op.ISZERO(Op.EQ(Op.DUP2, Op.DUP4))) - + Op.JUMP(pc=0x213) - + Op.JUMPDEST - + Op.PUSH2[0x181] - + Op.CALLDATALOAD(offset=0x4) - + Op.PUSH1[0x40] - + Op.PUSH1[0x0] - + Op.CALLDATASIZE - + Op.CALLDATACOPY( - dest_offset=Op.DUP5, offset=Op.DUP3, size=Op.DUP1 - ) - + Op.SWAP1 - + Op.SWAP2 - + Op.SHA3 - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x533] - + Op.DUP2 - + Op.JUMP(pc=Op.PUSH2[0x80]) - + Op.JUMPDEST - + Op.PUSH2[0x181] - + Op.CALLDATALOAD(offset=0x4) - + Op.CALLDATALOAD(offset=0x24) - + Op.PUSH1[0x0] - + Op.PUSH1[0x40] - + Op.PUSH1[0x0] - + Op.CALLDATASIZE - + Op.CALLDATACOPY( - dest_offset=Op.DUP5, offset=Op.DUP3, size=Op.DUP1 - ) - + Op.SWAP1 - + Op.SWAP2 - + Op.SHA3 - + Op.SWAP1 - + Op.POP - + Op.PUSH2[0x286] - + Op.DUP2 - + Op.JUMP(pc=Op.PUSH2[0x80]) - + Op.JUMPDEST - + Op.RETURN(offset=0x0, size=0x0) - + Op.JUMPDEST - + Op.MSTORE(offset=0x0, value=Op.DUP1) - + Op.RETURN(offset=0x0, size=0x20) - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) - + Op.MSTORE(offset=0x20, value=0x103) - + Op.SHA3(offset=Op.DUP2, size=0x40) - + Op.SLOAD(key=Op.ADD(Op.DUP2, 0x1)) - + Op.PUSH1[0x2] - + Op.DUP5 - + Op.SWAP1 - + Op.EXP - + Op.SWAP3 - + Op.SWAP1 - + Op.DUP4 - + Op.AND - + Op.DUP2 - + Op.SWAP1 - + Op.JUMPI(pc=0x213, condition=Op.ISZERO(Op.GT)) - + Op.SLOAD(key=Op.DUP2) - + Op.PUSH1[0x1] - + Op.ADD(Op.DUP5, Op.DUP1) - + Op.SLOAD(key=Op.DUP1) - + Op.SWAP2 - + Op.SWAP1 - + Op.SWAP3 - + Op.SSTORE(key=Op.DUP5, value=Op.ADD) - + Op.DUP5 - + Op.SWAP1 - + Op.SUB - + Op.SWAP1 - + Op.SSTORE - + Op.AND(Op.CALLER, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH1[0x40] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.PUSH1[0x60] - + Op.DUP7 - + Op.SWAP1 - + Op.MSTORE - + Op.PUSH32[ - 0xC7FB647E59B18047309AA15AAD418E5D7CA96D173AD704F1031A2C3D7591734B # noqa: E501 - ] - + Op.SWAP1 - + Op.DUP1 - + Op.LOG1 - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.ADD - + Op.SSTORE - + Op.PUSH20[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] - + Op.AND(Op.DUP2, Op.DUP5) - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.MSTORE(offset=0x20, value=0x102) - + Op.PUSH1[0x40] - + Op.SHA3(offset=Op.DUP3, size=Op.DUP1) - + Op.DUP3 - + Op.SWAP1 - + Op.SSTORE - + Op.SWAP3 - + Op.DUP7 - + Op.AND - + Op.MSTORE(offset=Op.DUP3, value=Op.DUP1) - + Op.SWAP1 - + Op.DUP4 - + Op.SWAP1 - + Op.SHA3 - + Op.DUP6 - + Op.SWAP1 - + Op.SSTORE - + Op.SWAP1 - + Op.DUP3 - + Op.MSTORE - + Op.PUSH1[0x60] - + Op.MSTORE - + Op.PUSH32[ - 0xB532073B38C83145E3E5135377A08BF9AAB55BC0FD7C1179CD4FB995D2A5159C # noqa: E501 - ] - + Op.SWAP1 - + Op.DUP1 - + Op.LOG1 - + Op.JUMPDEST - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.JUMPI(pc=0x27F, condition=Op.ISZERO) - + Op.PUSH2[0x294] - + Op.DUP4 - + Op.JUMP(pc=Op.PUSH2[0xBE]) - + Op.JUMPDEST - + Op.JUMPI(pc=0x29F, condition=Op.ISZERO) - + Op.POP - + Op.JUMP(pc=0x281) - + Op.JUMPDEST - + Op.AND(Op.DUP5, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.MSTORE(offset=0x20, value=0x102) - + Op.SLOAD(key=Op.SHA3(offset=Op.DUP2, size=0x40)) - + Op.SWAP3 - + Op.POP - + Op.DUP3 - + Op.JUMPI(pc=0x2D5, condition=Op.ISZERO(Op.EQ)) - + Op.POP - + Op.JUMP(pc=0x281) - + Op.JUMPDEST - + Op.PUSH2[0x2F7] - + Op.JUMPDEST - + Op.SLOAD(key=0x104) - + Op.PUSH1[0x0] - + Op.JUMPDEST - + Op.JUMPI(pc=0x80C, condition=Op.ISZERO(Op.LT(Op.DUP2, Op.DUP2))) - + Op.PUSH2[0x104] - + Op.SLOAD(key=Op.DUP1) - + Op.DUP3 - + Op.SWAP1 - + Op.DUP2 - + Op.JUMPI(pc=0x854, condition=Op.LT) - + Op.STOP - + Op.JUMPDEST - + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH1[0x2] - + Op.DUP4 - + Op.JUMPI(pc=0x21A, condition=Op.LT(Op.DUP2, 0x100)) - + Op.STOP - + Op.JUMPDEST - + Op.ADD - + Op.SSTORE - + Op.SLOAD(key=0x1) - + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) - + Op.PUSH2[0x102] - + Op.PUSH1[0x20] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.PUSH1[0x40] - + Op.SWAP2 - + Op.DUP3 - + Op.SWAP1 - + Op.SHA3 - + Op.SWAP4 - + Op.SWAP1 - + Op.SWAP4 - + Op.SSTORE - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.PUSH32[ - 0x994A936646FE87FFE4F1E469D3D6AA417D6B855598397F323DE5B449F765F0C3 # noqa: E501 - ] - + Op.SWAP2 - + Op.SWAP1 - + Op.LOG1 - + Op.JUMPDEST - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.JUMPI(pc=0x377, condition=Op.ISZERO) - + Op.PUSH2[0x38A] - + Op.DUP3 - + Op.JUMP(pc=Op.PUSH2[0xBE]) - + Op.JUMPDEST - + Op.JUMPI(pc=0x395, condition=Op.ISZERO) - + Op.POP - + Op.JUMP(pc=0x379) - + Op.JUMPDEST - + Op.PUSH2[0x39D] - + Op.JUMP(pc=0x2D9) - + Op.JUMPDEST - + Op.SLOAD(key=0x1) - + Op.PUSH1[0xFA] - + Op.SWAP1 - + Op.JUMPI(pc=0x3B4, condition=Op.ISZERO(Op.ISZERO(Op.LT))) - + Op.PUSH2[0x3B2] - + Op.JUMP(pc=0x3CB) - + Op.JUMPDEST - + Op.POP - + Op.JUMPDEST - + Op.SLOAD(key=0x1) - + Op.PUSH1[0xFA] - + Op.SWAP1 - + Op.JUMPI(pc=0x3F5, condition=Op.ISZERO(Op.ISZERO(Op.LT))) - + Op.POP - + Op.JUMP(pc=0x379) - + Op.JUMPDEST - + Op.PUSH2[0x425] - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x1] - + Op.JUMPDEST - + Op.JUMPI( - pc=0x6F7, - condition=Op.ISZERO(Op.LT(Op.DUP2, Op.SLOAD(key=0x1))), - ) - + Op.JUMPDEST - + Op.LT(Op.DUP2, Op.SLOAD(key=0x1)) - + Op.JUMPI(pc=0x753, condition=Op.ISZERO(Op.DUP1)) - + Op.POP - + Op.PUSH1[0x2] - + Op.DUP2 - + Op.JUMPI(pc=0x74C, condition=Op.LT(Op.DUP2, 0x100)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.ADD(Op.DUP2, Op.SLOAD(key=Op.DUP1)) - + Op.SWAP1 - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.SWAP1 - + Op.PUSH1[0x2] - + Op.SWAP1 - + Op.JUMPI(pc=0x31C, condition=Op.LT(Op.DUP2, 0x100)) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH1[0x40] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.PUSH32[ - 0x58619076ADF5BB0943D100EF88D52D7C3FD691B19D3A9071B555B651FBF418DA # noqa: E501 - ] - + Op.SWAP1 - + Op.PUSH1[0x20] - + Op.SWAP1 - + Op.LOG1 - + Op.POP - + Op.POP - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.JUMPI(pc=0x281, condition=Op.ISZERO) - + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.MSTORE(offset=0x20, value=0x102) - + Op.SLOAD(key=Op.SHA3(offset=Op.DUP2, size=0x40)) - + Op.SWAP3 - + Op.POP - + Op.DUP3 - + Op.JUMPI(pc=0x4A8, condition=Op.ISZERO(Op.EQ)) - + Op.POP - + Op.JUMP(pc=0x377) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.PUSH1[0x1] - + Op.POP(0x0) - + Op.SLOAD - + Op.SUB - + Op.PUSH1[0x0] - + Op.POP(0x0) - + Op.SLOAD - + Op.JUMPI(pc=0x4C3, condition=Op.ISZERO(Op.GT)) - + Op.POP - + Op.JUMP(pc=0x377) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.PUSH1[0x2] - + Op.DUP4 - + Op.JUMPI(pc=0x4D3, condition=Op.LT(Op.DUP2, 0x100)) - + Op.STOP - + Op.JUMPDEST - + Op.ADD - + Op.SSTORE - + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.MSTORE(offset=0x20, value=0x102) - + Op.SHA3(offset=Op.DUP2, size=0x40) - + Op.SSTORE - + Op.PUSH2[0x3C7] - + Op.JUMP(pc=0x2D9) - + Op.JUMPDEST - + Op.PUSH1[0x40] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) - + Op.PUSH32[ - 0xACBDB084C721332AC59F9B8E392196C9EB0E4932862DA8EB9BEAF0DAD4F550DA # noqa: E501 - ] - + Op.SWAP1 - + Op.PUSH1[0x20] - + Op.SWAP1 - + Op.LOG1 - + Op.POP - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.JUMPI(pc=0x377, condition=Op.ISZERO) - + Op.JUMPI( - pc=0x548, - condition=Op.ISZERO(Op.GT(Op.DUP3, Op.SLOAD(key=0x1))), - ) - + Op.POP - + Op.JUMP(pc=0x379) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.DUP3 - + Op.SWAP1 - + Op.SSTORE - + Op.PUSH2[0x504] - + Op.JUMP(pc=0x2D9) - + Op.JUMPDEST - + Op.SSTORE( - key=Op.DUP4, - value=Op.ADD( - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.SLOAD(key=Op.DUP3), - ), - ) - + Op.ADD(Op.DUP4, 0x1) - + Op.OR(Op.DUP3, Op.SLOAD(key=Op.DUP1)) - + Op.SWAP1 - + Op.SSTORE - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.POP - + Op.SWAP2 - + Op.SWAP1 - + Op.POP - + Op.JUMP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP7) - + Op.MSTORE(offset=0x20, value=0x103) - + Op.SHA3(offset=Op.DUP2, size=0x40) - + Op.SLOAD(key=Op.DUP1) - + Op.SWAP1 - + Op.SWAP5 - + Op.POP - + Op.SWAP1 - + Op.SWAP3 - + Op.POP - + Op.DUP3 - + Op.JUMPI(pc=0x61A, condition=Op.ISZERO(Op.EQ)) - + Op.SSTORE(key=Op.DUP4, value=Op.SLOAD(key=Op.DUP2)) - + Op.PUSH1[0x1] - + Op.ADD(Op.DUP2, Op.DUP4) - + Op.DUP4 - + Op.SWAP1 - + Op.SSTORE - + Op.PUSH2[0x104] - + Op.SLOAD(key=Op.DUP1) - + Op.SWAP2 - + Op.DUP3 - + Op.ADD - + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) - + Op.DUP3 - + Op.ISZERO(Op.DUP1) - + Op.DUP3 - + Op.SWAP1 - + Op.JUMPI(pc=0x6A6, condition=Op.GT) - + Op.MSTORE(offset=Op.DUP7, value=Op.DUP3) - + Op.PUSH32[ - 0x4C0BE60200FAA20559308CB7B5A1BB3255C16CB1CAB91F525B5AE7A03D02FABE # noqa: E501 - ] - + Op.SWAP1 - + Op.DUP2 - + Op.ADD - + Op.SWAP1 - + Op.DUP3 - + Op.ADD - + Op.JUMPDEST - + Op.JUMPI(pc=0x6A4, condition=Op.ISZERO(Op.GT(Op.DUP3, Op.DUP1))) - + Op.SSTORE(key=Op.DUP2, value=0x0) - + Op.PUSH1[0x1] - + Op.ADD - + Op.JUMP(pc=0x5F9) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.DUP3 - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.SWAP1 - + Op.SWAP2 - + Op.SSTORE(key=Op.ADD, value=Op.SHA3) - + Op.JUMPDEST - + Op.POP - + Op.SLOAD(key=Op.ADD(Op.DUP3, 0x1)) - + Op.PUSH1[0x2] - + Op.DUP5 - + Op.SWAP1 - + Op.EXP - + Op.SWAP1 - + Op.DUP2 - + Op.JUMPI(pc=0x586, condition=Op.ISZERO(Op.EQ(0x0, Op.AND))) - + Op.AND(Op.CALLER, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.PUSH1[0x40] - + Op.SWAP1 - + Op.DUP2 - + Op.MSTORE - + Op.PUSH1[0x60] - + Op.DUP8 - + Op.SWAP1 - + Op.MSTORE - + Op.PUSH32[ - 0xE1C52DC63B719ADE82E8BEA94CC41A0D5D28E4AAF536ADB5E9CCCC9FF8C1AEDA # noqa: E501 - ] - + Op.SWAP1 - + Op.DUP1 - + Op.LOG1 - + Op.SLOAD(key=Op.DUP3) - + Op.PUSH1[0x1] - + Op.SWAP1 - + Op.JUMPI(pc=0x555, condition=Op.ISZERO(Op.ISZERO(Op.GT))) - + Op.PUSH1[0x0] - + Op.MSTORE(offset=Op.DUP2, value=Op.DUP7) - + Op.MSTORE(offset=0x20, value=0x103) - + Op.PUSH2[0x104] - + Op.SLOAD(key=Op.DUP1) - + Op.PUSH1[0x40] - + Op.SWAP1 - + Op.SWAP3 - + Op.SLOAD(key=Op.ADD(0x2, Op.SHA3)) - + Op.SWAP1 - + Op.SWAP2 - + Op.DUP2 - + Op.JUMPI(pc=0x6C0, condition=Op.LT) - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.JUMPDEST - + Op.POP - + Op.POP - + Op.POP - + Op.ADD(Op.DUP5, 0x2) - + Op.DUP2 - + Op.SWAP1 - + Op.SSTORE - + Op.PUSH2[0x104] - + Op.SLOAD(key=Op.DUP1) - + Op.DUP9 - + Op.SWAP3 - + Op.SWAP1 - + Op.DUP2 - + Op.JUMPI(pc=0x60D, condition=Op.LT) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.DUP3 - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.SHA3(offset=Op.DUP4, size=Op.DUP1) - + Op.SWAP1 - + Op.SWAP2 - + Op.ADD - + Op.DUP3 - + Op.SWAP1 - + Op.SSTORE - + Op.MSTORE(offset=Op.DUP3, value=Op.DUP8) - + Op.PUSH2[0x103] - + Op.SWAP1 - + Op.MSTORE - + Op.SHA3(offset=Op.DUP2, size=0x40) - + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) - + Op.PUSH1[0x1] - + Op.ADD(Op.DUP2, Op.DUP2) - + Op.DUP4 - + Op.SWAP1 - + Op.SSTORE - + Op.PUSH1[0x2] - + Op.SWAP1 - + Op.SWAP2 - + Op.ADD - + Op.SWAP2 - + Op.SWAP1 - + Op.SWAP2 - + Op.SSTORE - + Op.SWAP5 - + Op.POP - + Op.JUMP(pc=0x586) - + Op.JUMPDEST - + Op.POP - + Op.SWAP1 - + Op.JUMP - + Op.JUMPDEST - + Op.EQ(0x0, Op.SLOAD(key=Op.ADD)) - + Op.JUMPDEST - + Op.JUMPI(pc=0x760, condition=Op.ISZERO) - + Op.PUSH1[0x1] - + Op.ADD( + # Source: raw + # 0x7c01000000000000000000000000000000000000000000000000000000006000350463173825d981146100655780632f54bf6e146100b75780637065cb48146100e8578063b75c7dc614610105578063ba51a6df14610142578063f00d4b5d1461015f57005b6101816004356000604060003680828437909120905061046d815b73ffffffffffffffffffffffffffffffffffffffff3316600090815261010260205260408120548180808381141561058f57610586565b6101876004355b73ffffffffffffffffffffffffffffffffffffffff16600090815261010260205260408120541190565b610181600435604060003680828437909120905061037c81610080565b61018160043573ffffffffffffffffffffffffffffffffffffffff3316600090815261010260205260408120549080808381141561019157610213565b610181600435604060003680828437909120905061053381610080565b6101816004356024356000604060003680828437909120905061028681610080565b60006000f35b8060005260206000f35b5050506000828152610103602052604081206001810154600284900a929083168190111561021357815460018084018054919092018455849003905573ffffffffffffffffffffffffffffffffffffffff3316604090815260608690527fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b9080a15b5050505050565b015573ffffffffffffffffffffffffffffffffffffffff84811660008181526101026020526040808220829055928616808252908390208590559082526060527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9080a15b505b505050565b1561027f57610294836100be565b1561029f5750610281565b73ffffffffffffffffffffffffffffffffffffffff84166000908152610102602052604081205492508214156102d55750610281565b6102f75b6101045460005b8181101561080c5761010480548290811061085457005b73ffffffffffffffffffffffffffffffffffffffff8316600283610100811061021a57005b015560015473ffffffffffffffffffffffffffffffffffffffff831660008181526101026020908152604091829020939093559081527f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c39190a15b505b50565b156103775761038a826100be565b156103955750610379565b61039d6102d9565b60015460fa901015156103b4576103b26103cb565b505b60015460fa901015156103f55750610379565b6104255b600060015b6001548110156106f7575b600154811080156107535750600281610100811061074c57005b6001805481019081905573ffffffffffffffffffffffffffffffffffffffff831690600290610100811061031c57005b5073ffffffffffffffffffffffffffffffffffffffff831660409081527f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da90602090a1505050565b156102815773ffffffffffffffffffffffffffffffffffffffff83166000908152610102602052604081205492508214156104a85750610377565b60016001600050540360006000505411156104c35750610377565b600060028361010081106104d357005b015573ffffffffffffffffffffffffffffffffffffffff8316600090815261010260205260408120556103c76102d9565b60408281527facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da90602090a15050565b15610377576001548211156105485750610379565b60008290556105046102d9565b82547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018355600183018054821790555b50505050919050565b600086815261010360205260408120805490945090925082141561061a5781548355600183810183905561010480549182018082558280158290116106a6578286527f4c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe9081019082015b808211156106a457600081556001016105f9565b6000918252602090912001555b506001820154600284900a908116600014156105865773ffffffffffffffffffffffffffffffffffffffff3316604090815260608790527fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda9080a182546001901115156105555760008681526101036020526101048054604090922060020154909181106106c057005b505b505050600284018190556101048054889290811061060d57005b6000918252602080832090910182905587825261010390526040812081815560018181018390556002909101919091559450610586565b5090565b01546000145b1561076057600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190555b60018054118015610701575060015460029061010081106106fb57005b0154600014155b1561072f576001016103db565b600154811080156107845750600154600290610100811061077d57005b0154600014155b801561079f5750600281610100811061079957005b01546000145b156107b85760015460029061010081106107bd57005b01555b6103d0565b015460028261010081106107cd57005b015580610102600060028361010081106107e357005b01548152602081019190915260400160009081209190915560015460029061010081106107b557005b61010480546000808355919091527f4c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe908101905b8082111561027f5760008155600101610840565b60009182526020822001541415156108a6576101048054610103916000918490811061087c57005b60009182526020808320909101548352820192909252604001812081815560018101829055600201555b6001016102e056 # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.DIV( + Op.CALLDATALOAD(offset=0x0), + 0x100000000000000000000000000000000000000000000000000000000, + ) + + Op.JUMPI(pc=Op.PUSH2[0x65], condition=Op.EQ(Op.DUP2, 0x173825D9)) + + Op.JUMPI(pc=Op.PUSH2[0xB7], condition=Op.EQ(0x2F54BF6E, Op.DUP1)) + + Op.JUMPI(pc=Op.PUSH2[0xE8], condition=Op.EQ(0x7065CB48, Op.DUP1)) + + Op.JUMPI(pc=0x105, condition=Op.EQ(0xB75C7DC6, Op.DUP1)) + + Op.JUMPI(pc=0x142, condition=Op.EQ(0xBA51A6DF, Op.DUP1)) + + Op.JUMPI(pc=0x15F, condition=Op.EQ(0xF00D4B5D, Op.DUP1)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x181] + + Op.CALLDATALOAD(offset=0x4) + + Op.PUSH1[0x0] + + Op.PUSH1[0x40] + + Op.PUSH1[0x0] + + Op.CALLDATASIZE + + Op.CALLDATACOPY(dest_offset=Op.DUP5, offset=Op.DUP3, size=Op.DUP1) + + Op.SWAP1 + + Op.SWAP2 + + Op.SHA3 + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x46D] + + Op.DUP2 + + Op.JUMPDEST + + Op.AND(Op.CALLER, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.MSTORE(offset=0x20, value=0x102) + + Op.SLOAD(key=Op.SHA3(offset=Op.DUP2, size=0x40)) + + Op.DUP2 + + Op.DUP1 * 2 + + Op.JUMPI(pc=0x58F, condition=Op.ISZERO(Op.EQ(Op.DUP2, Op.DUP4))) + + Op.JUMP(pc=0x586) + + Op.JUMPDEST + + Op.PUSH2[0x187] + + Op.CALLDATALOAD(offset=0x4) + + Op.JUMPDEST + + Op.PUSH20[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.AND + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.MSTORE(offset=0x20, value=0x102) + + Op.SLOAD(key=Op.SHA3(offset=Op.DUP2, size=0x40)) + + Op.GT + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH2[0x181] + + Op.CALLDATALOAD(offset=0x4) + + Op.PUSH1[0x40] + + Op.PUSH1[0x0] + + Op.CALLDATASIZE + + Op.CALLDATACOPY(dest_offset=Op.DUP5, offset=Op.DUP3, size=Op.DUP1) + + Op.SWAP1 + + Op.SWAP2 + + Op.SHA3 + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x37C] + + Op.DUP2 + + Op.JUMP(pc=Op.PUSH2[0x80]) + + Op.JUMPDEST + + Op.PUSH2[0x181] + + Op.CALLDATALOAD(offset=0x4) + + Op.AND(Op.CALLER, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.MSTORE(offset=0x20, value=0x102) + + Op.SLOAD(key=Op.SHA3(offset=Op.DUP2, size=0x40)) + + Op.SWAP1 + + Op.DUP1 * 2 + + Op.JUMPI(pc=0x191, condition=Op.ISZERO(Op.EQ(Op.DUP2, Op.DUP4))) + + Op.JUMP(pc=0x213) + + Op.JUMPDEST + + Op.PUSH2[0x181] + + Op.CALLDATALOAD(offset=0x4) + + Op.PUSH1[0x40] + + Op.PUSH1[0x0] + + Op.CALLDATASIZE + + Op.CALLDATACOPY(dest_offset=Op.DUP5, offset=Op.DUP3, size=Op.DUP1) + + Op.SWAP1 + + Op.SWAP2 + + Op.SHA3 + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x533] + + Op.DUP2 + + Op.JUMP(pc=Op.PUSH2[0x80]) + + Op.JUMPDEST + + Op.PUSH2[0x181] + + Op.CALLDATALOAD(offset=0x4) + + Op.CALLDATALOAD(offset=0x24) + + Op.PUSH1[0x0] + + Op.PUSH1[0x40] + + Op.PUSH1[0x0] + + Op.CALLDATASIZE + + Op.CALLDATACOPY(dest_offset=Op.DUP5, offset=Op.DUP3, size=Op.DUP1) + + Op.SWAP1 + + Op.SWAP2 + + Op.SHA3 + + Op.SWAP1 + + Op.POP + + Op.PUSH2[0x286] + + Op.DUP2 + + Op.JUMP(pc=Op.PUSH2[0x80]) + + Op.JUMPDEST + + Op.RETURN(offset=0x0, size=0x0) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMPDEST + + Op.POP * 3 + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) + + Op.MSTORE(offset=0x20, value=0x103) + + Op.SHA3(offset=Op.DUP2, size=0x40) + + Op.SLOAD(key=Op.ADD(Op.DUP2, 0x1)) + + Op.PUSH1[0x2] + + Op.DUP5 + + Op.SWAP1 + + Op.EXP + + Op.SWAP3 + + Op.SWAP1 + + Op.DUP4 + + Op.AND + + Op.DUP2 + + Op.SWAP1 + + Op.JUMPI(pc=0x213, condition=Op.ISZERO(Op.GT)) + + Op.SLOAD(key=Op.DUP2) + + Op.PUSH1[0x1] + + Op.ADD(Op.DUP5, Op.DUP1) + + Op.SLOAD(key=Op.DUP1) + + Op.SWAP2 + + Op.SWAP1 + + Op.SWAP3 + + Op.SSTORE(key=Op.DUP5, value=Op.ADD) + + Op.DUP5 + + Op.SWAP1 + + Op.SUB + + Op.SWAP1 + + Op.SSTORE + + Op.AND(Op.CALLER, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH1[0x40] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.PUSH1[0x60] + + Op.DUP7 + + Op.SWAP1 + + Op.MSTORE + + Op.PUSH32[ + 0xC7FB647E59B18047309AA15AAD418E5D7CA96D173AD704F1031A2C3D7591734B + ] + + Op.SWAP1 + + Op.DUP1 + + Op.LOG1 + + Op.JUMPDEST + + Op.POP * 5 + + Op.JUMP + + Op.JUMPDEST + + Op.ADD + + Op.SSTORE + + Op.PUSH20[0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF] + + Op.AND(Op.DUP2, Op.DUP5) + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.MSTORE(offset=0x20, value=0x102) + + Op.PUSH1[0x40] + + Op.SHA3(offset=Op.DUP3, size=Op.DUP1) + + Op.DUP3 + + Op.SWAP1 + + Op.SSTORE + + Op.SWAP3 + + Op.DUP7 + + Op.AND + + Op.MSTORE(offset=Op.DUP3, value=Op.DUP1) + + Op.SWAP1 + + Op.DUP4 + + Op.SWAP1 + + Op.SHA3 + + Op.DUP6 + + Op.SWAP1 + + Op.SSTORE + + Op.SWAP1 + + Op.DUP3 + + Op.MSTORE + + Op.PUSH1[0x60] + + Op.MSTORE + + Op.PUSH32[ + 0xB532073B38C83145E3E5135377A08BF9AAB55BC0FD7C1179CD4FB995D2A5159C + ] + + Op.SWAP1 + + Op.DUP1 + + Op.LOG1 + + Op.JUMPDEST + + Op.POP + + Op.JUMPDEST + + Op.POP * 3 + + Op.JUMP + + Op.JUMPDEST + + Op.JUMPI(pc=0x27F, condition=Op.ISZERO) + + Op.PUSH2[0x294] + + Op.DUP4 + + Op.JUMP(pc=Op.PUSH2[0xBE]) + + Op.JUMPDEST + + Op.JUMPI(pc=0x29F, condition=Op.ISZERO) + + Op.POP + + Op.JUMP(pc=0x281) + + Op.JUMPDEST + + Op.AND(Op.DUP5, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.MSTORE(offset=0x20, value=0x102) + + Op.SLOAD(key=Op.SHA3(offset=Op.DUP2, size=0x40)) + + Op.SWAP3 + + Op.POP + + Op.DUP3 + + Op.JUMPI(pc=0x2D5, condition=Op.ISZERO(Op.EQ)) + + Op.POP + + Op.JUMP(pc=0x281) + + Op.JUMPDEST + + Op.PUSH2[0x2F7] + + Op.JUMPDEST + + Op.SLOAD(key=0x104) + + Op.PUSH1[0x0] + + Op.JUMPDEST + + Op.JUMPI(pc=0x80C, condition=Op.ISZERO(Op.LT(Op.DUP2, Op.DUP2))) + + Op.PUSH2[0x104] + + Op.SLOAD(key=Op.DUP1) + + Op.DUP3 + + Op.SWAP1 + + Op.DUP2 + + Op.JUMPI(pc=0x854, condition=Op.LT) + + Op.STOP + + Op.JUMPDEST + + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH1[0x2] + + Op.DUP4 + + Op.JUMPI(pc=0x21A, condition=Op.LT(Op.DUP2, 0x100)) + + Op.STOP + + Op.JUMPDEST + + Op.ADD + + Op.SSTORE + + Op.SLOAD(key=0x1) + + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP2) + + Op.PUSH2[0x102] + + Op.PUSH1[0x20] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.PUSH1[0x40] + + Op.SWAP2 + + Op.DUP3 + + Op.SWAP1 + + Op.SHA3 + + Op.SWAP4 + + Op.SWAP1 + + Op.SWAP4 + + Op.SSTORE + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.PUSH32[ + 0x994A936646FE87FFE4F1E469D3D6AA417D6B855598397F323DE5B449F765F0C3 + ] + + Op.SWAP2 + + Op.SWAP1 + + Op.LOG1 + + Op.JUMPDEST + + Op.POP + + Op.JUMPDEST + + Op.POP + + Op.JUMP + + Op.JUMPDEST + + Op.JUMPI(pc=0x377, condition=Op.ISZERO) + + Op.PUSH2[0x38A] + + Op.DUP3 + + Op.JUMP(pc=Op.PUSH2[0xBE]) + + Op.JUMPDEST + + Op.JUMPI(pc=0x395, condition=Op.ISZERO) + + Op.POP + + Op.JUMP(pc=0x379) + + Op.JUMPDEST + + Op.PUSH2[0x39D] + + Op.JUMP(pc=0x2D9) + + Op.JUMPDEST + + Op.SLOAD(key=0x1) + + Op.PUSH1[0xFA] + + Op.SWAP1 + + Op.JUMPI(pc=0x3B4, condition=Op.ISZERO(Op.ISZERO(Op.LT))) + + Op.PUSH2[0x3B2] + + Op.JUMP(pc=0x3CB) + + Op.JUMPDEST + + Op.POP + + Op.JUMPDEST + + Op.SLOAD(key=0x1) + + Op.PUSH1[0xFA] + + Op.SWAP1 + + Op.JUMPI(pc=0x3F5, condition=Op.ISZERO(Op.ISZERO(Op.LT))) + + Op.POP + + Op.JUMP(pc=0x379) + + Op.JUMPDEST + + Op.PUSH2[0x425] + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x1] + + Op.JUMPDEST + + Op.JUMPI( + pc=0x6F7, condition=Op.ISZERO(Op.LT(Op.DUP2, Op.SLOAD(key=0x1))) + ) + + Op.JUMPDEST + + Op.LT(Op.DUP2, Op.SLOAD(key=0x1)) + + Op.JUMPI(pc=0x753, condition=Op.ISZERO(Op.DUP1)) + + Op.POP + + Op.PUSH1[0x2] + + Op.DUP2 + + Op.JUMPI(pc=0x74C, condition=Op.LT(Op.DUP2, 0x100)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.ADD(Op.DUP2, Op.SLOAD(key=Op.DUP1)) + + Op.SWAP1 + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.SWAP1 + + Op.PUSH1[0x2] + + Op.SWAP1 + + Op.JUMPI(pc=0x31C, condition=Op.LT(Op.DUP2, 0x100)) + + Op.STOP + + Op.JUMPDEST + + Op.POP + + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH1[0x40] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.PUSH32[ + 0x58619076ADF5BB0943D100EF88D52D7C3FD691B19D3A9071B555B651FBF418DA + ] + + Op.SWAP1 + + Op.PUSH1[0x20] + + Op.SWAP1 + + Op.LOG1 + + Op.POP * 3 + + Op.JUMP + + Op.JUMPDEST + + Op.JUMPI(pc=0x281, condition=Op.ISZERO) + + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.MSTORE(offset=0x20, value=0x102) + + Op.SLOAD(key=Op.SHA3(offset=Op.DUP2, size=0x40)) + + Op.SWAP3 + + Op.POP + + Op.DUP3 + + Op.JUMPI(pc=0x4A8, condition=Op.ISZERO(Op.EQ)) + + Op.POP + + Op.JUMP(pc=0x377) + + Op.JUMPDEST + + Op.PUSH1[0x1] * 2 + + Op.POP(0x0) + + Op.SLOAD + + Op.SUB + + Op.PUSH1[0x0] + + Op.POP(0x0) + + Op.SLOAD + + Op.JUMPI(pc=0x4C3, condition=Op.ISZERO(Op.GT)) + + Op.POP + + Op.JUMP(pc=0x377) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.PUSH1[0x2] + + Op.DUP4 + + Op.JUMPI(pc=0x4D3, condition=Op.LT(Op.DUP2, 0x100)) + + Op.STOP + + Op.JUMPDEST + + Op.ADD + + Op.SSTORE + + Op.AND(Op.DUP4, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.MSTORE(offset=0x20, value=0x102) + + Op.SHA3(offset=Op.DUP2, size=0x40) + + Op.SSTORE + + Op.PUSH2[0x3C7] + + Op.JUMP(pc=0x2D9) + + Op.JUMPDEST + + Op.PUSH1[0x40] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP3) + + Op.PUSH32[ + 0xACBDB084C721332AC59F9B8E392196C9EB0E4932862DA8EB9BEAF0DAD4F550DA + ] + + Op.SWAP1 + + Op.PUSH1[0x20] + + Op.SWAP1 + + Op.LOG1 + + Op.POP * 2 + + Op.JUMP + + Op.JUMPDEST + + Op.JUMPI(pc=0x377, condition=Op.ISZERO) + + Op.JUMPI( + pc=0x548, condition=Op.ISZERO(Op.GT(Op.DUP3, Op.SLOAD(key=0x1))) + ) + + Op.POP + + Op.JUMP(pc=0x379) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.DUP3 + + Op.SWAP1 + + Op.SSTORE + + Op.PUSH2[0x504] + + Op.JUMP(pc=0x2D9) + + Op.JUMPDEST + + Op.SSTORE( + key=Op.DUP4, + value=Op.ADD( 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 - Op.SLOAD(key=Op.DUP1), - ) - + Op.SWAP1 - + Op.SSTORE - + Op.JUMPDEST - + Op.GT(Op.SLOAD(key=Op.DUP1), 0x1) - + Op.JUMPI(pc=0x701, condition=Op.ISZERO(Op.DUP1)) - + Op.POP - + Op.SLOAD(key=0x1) - + Op.PUSH1[0x2] - + Op.SWAP1 - + Op.JUMPI(pc=0x6FB, condition=Op.LT(Op.DUP2, 0x100)) - + Op.STOP - + Op.JUMPDEST - + Op.ISZERO(Op.EQ(0x0, Op.SLOAD(key=Op.ADD))) - + Op.JUMPDEST - + Op.JUMPI(pc=0x72F, condition=Op.ISZERO) - + Op.PUSH1[0x1] - + Op.ADD - + Op.JUMP(pc=0x3DB) - + Op.JUMPDEST - + Op.LT(Op.DUP2, Op.SLOAD(key=0x1)) - + Op.JUMPI(pc=0x784, condition=Op.ISZERO(Op.DUP1)) - + Op.POP - + Op.SLOAD(key=0x1) - + Op.PUSH1[0x2] - + Op.SWAP1 - + Op.JUMPI(pc=0x77D, condition=Op.LT(Op.DUP2, 0x100)) - + Op.STOP - + Op.JUMPDEST - + Op.ISZERO(Op.EQ(0x0, Op.SLOAD(key=Op.ADD))) - + Op.JUMPDEST - + Op.JUMPI(pc=0x79F, condition=Op.ISZERO(Op.DUP1)) - + Op.POP - + Op.PUSH1[0x2] - + Op.DUP2 - + Op.JUMPI(pc=0x799, condition=Op.LT(Op.DUP2, 0x100)) - + Op.STOP - + Op.JUMPDEST - + Op.EQ(0x0, Op.SLOAD(key=Op.ADD)) - + Op.JUMPDEST - + Op.JUMPI(pc=0x7B8, condition=Op.ISZERO) - + Op.SLOAD(key=0x1) - + Op.PUSH1[0x2] - + Op.SWAP1 - + Op.JUMPI(pc=0x7BD, condition=Op.LT(Op.DUP2, 0x100)) - + Op.STOP - + Op.JUMPDEST - + Op.ADD - + Op.SSTORE - + Op.JUMPDEST - + Op.JUMP(pc=0x3D0) - + Op.JUMPDEST - + Op.SLOAD(key=Op.ADD) - + Op.PUSH1[0x2] - + Op.DUP3 - + Op.JUMPI(pc=0x7CD, condition=Op.LT(Op.DUP2, 0x100)) - + Op.STOP - + Op.JUMPDEST - + Op.ADD - + Op.SSTORE - + Op.DUP1 - + Op.PUSH2[0x102] - + Op.PUSH1[0x0] - + Op.PUSH1[0x2] - + Op.DUP4 - + Op.JUMPI(pc=0x7E3, condition=Op.LT(Op.DUP2, 0x100)) - + Op.STOP - + Op.JUMPDEST - + Op.MSTORE(offset=Op.DUP2, value=Op.SLOAD(key=Op.ADD)) - + Op.ADD(Op.DUP2, 0x20) - + Op.SWAP2 - + Op.SWAP1 - + Op.SWAP2 - + Op.MSTORE - + Op.PUSH1[0x40] - + Op.ADD - + Op.PUSH1[0x0] - + Op.SWAP1 - + Op.DUP2 - + Op.SHA3 - + Op.SWAP2 - + Op.SWAP1 - + Op.SWAP2 - + Op.SSTORE - + Op.SLOAD(key=0x1) - + Op.PUSH1[0x2] - + Op.SWAP1 - + Op.JUMPI(pc=0x7B5, condition=Op.LT(Op.DUP2, 0x100)) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH2[0x104] - + Op.SLOAD(key=Op.DUP1) - + Op.PUSH1[0x0] - + Op.SSTORE(key=Op.DUP4, value=Op.DUP1) - + Op.SWAP2 - + Op.SWAP1 - + Op.SWAP2 - + Op.MSTORE - + Op.PUSH32[ - 0x4C0BE60200FAA20559308CB7B5A1BB3255C16CB1CAB91F525B5AE7A03D02FABE # noqa: E501 - ] - + Op.SWAP1 - + Op.DUP2 - + Op.ADD - + Op.SWAP1 - + Op.JUMPDEST - + Op.JUMPI(pc=0x27F, condition=Op.ISZERO(Op.GT(Op.DUP3, Op.DUP1))) - + Op.SSTORE(key=Op.DUP2, value=0x0) - + Op.PUSH1[0x1] - + Op.ADD - + Op.JUMP(pc=0x840) - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.DUP3 - + Op.MSTORE - + Op.JUMPI( - pc=0x8A6, - condition=Op.ISZERO( - Op.ISZERO( - Op.EQ( - Op.SLOAD(key=Op.ADD), - Op.SHA3(offset=Op.DUP3, size=0x20), - ), - ), - ), - ) - + Op.PUSH2[0x104] - + Op.SLOAD(key=Op.DUP1) - + Op.PUSH2[0x103] - + Op.SWAP2 - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.DUP5 - + Op.SWAP1 - + Op.DUP2 - + Op.JUMPI(pc=0x87C, condition=Op.LT) - + Op.STOP - + Op.JUMPDEST - + Op.PUSH1[0x0] - + Op.SWAP2 - + Op.DUP3 - + Op.MSTORE - + Op.PUSH1[0x20] - + Op.SHA3(offset=Op.DUP4, size=Op.DUP1) - + Op.SWAP1 - + Op.SWAP2 - + Op.MSTORE(offset=Op.DUP4, value=Op.SLOAD(key=Op.ADD)) - + Op.DUP3 - + Op.ADD - + Op.SWAP3 - + Op.SWAP1 - + Op.SWAP3 - + Op.MSTORE - + Op.PUSH1[0x40] - + Op.SHA3(offset=Op.DUP2, size=Op.ADD) - + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) - + Op.ADD(Op.DUP2, 0x1) - + Op.DUP3 - + Op.SWAP1 - + Op.SSTORE - + Op.SSTORE(key=Op.ADD, value=0x2) - + Op.JUMPDEST - + Op.PUSH1[0x1] - + Op.ADD - + Op.JUMP(pc=0x2E0) - ), + Op.SLOAD(key=Op.DUP3), + ), + ) + + Op.ADD(Op.DUP4, 0x1) + + Op.OR(Op.DUP3, Op.SLOAD(key=Op.DUP1)) + + Op.SWAP1 + + Op.SSTORE + + Op.JUMPDEST + + Op.POP * 4 + + Op.SWAP2 + + Op.SWAP1 + + Op.POP + + Op.JUMP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP7) + + Op.MSTORE(offset=0x20, value=0x103) + + Op.SHA3(offset=Op.DUP2, size=0x40) + + Op.SLOAD(key=Op.DUP1) + + Op.SWAP1 + + Op.SWAP5 + + Op.POP + + Op.SWAP1 + + Op.SWAP3 + + Op.POP + + Op.DUP3 + + Op.JUMPI(pc=0x61A, condition=Op.ISZERO(Op.EQ)) + + Op.SSTORE(key=Op.DUP4, value=Op.SLOAD(key=Op.DUP2)) + + Op.PUSH1[0x1] + + Op.ADD(Op.DUP2, Op.DUP4) + + Op.DUP4 + + Op.SWAP1 + + Op.SSTORE + + Op.PUSH2[0x104] + + Op.SLOAD(key=Op.DUP1) + + Op.SWAP2 + + Op.DUP3 + + Op.ADD + + Op.SSTORE(key=Op.DUP3, value=Op.DUP1) + + Op.DUP3 + + Op.ISZERO(Op.DUP1) + + Op.DUP3 + + Op.SWAP1 + + Op.JUMPI(pc=0x6A6, condition=Op.GT) + + Op.MSTORE(offset=Op.DUP7, value=Op.DUP3) + + Op.PUSH32[ + 0x4C0BE60200FAA20559308CB7B5A1BB3255C16CB1CAB91F525B5AE7A03D02FABE + ] + + Op.SWAP1 + + Op.DUP2 + + Op.ADD + + Op.SWAP1 + + Op.DUP3 + + Op.ADD + + Op.JUMPDEST + + Op.JUMPI(pc=0x6A4, condition=Op.ISZERO(Op.GT(Op.DUP3, Op.DUP1))) + + Op.SSTORE(key=Op.DUP2, value=0x0) + + Op.PUSH1[0x1] + + Op.ADD + + Op.JUMP(pc=0x5F9) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.DUP3 + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.SWAP1 + + Op.SWAP2 + + Op.SSTORE(key=Op.ADD, value=Op.SHA3) + + Op.JUMPDEST + + Op.POP + + Op.SLOAD(key=Op.ADD(Op.DUP3, 0x1)) + + Op.PUSH1[0x2] + + Op.DUP5 + + Op.SWAP1 + + Op.EXP + + Op.SWAP1 + + Op.DUP2 + + Op.JUMPI(pc=0x586, condition=Op.ISZERO(Op.EQ(0x0, Op.AND))) + + Op.AND(Op.CALLER, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) + + Op.PUSH1[0x40] + + Op.SWAP1 + + Op.DUP2 + + Op.MSTORE + + Op.PUSH1[0x60] + + Op.DUP8 + + Op.SWAP1 + + Op.MSTORE + + Op.PUSH32[ + 0xE1C52DC63B719ADE82E8BEA94CC41A0D5D28E4AAF536ADB5E9CCCC9FF8C1AEDA + ] + + Op.SWAP1 + + Op.DUP1 + + Op.LOG1 + + Op.SLOAD(key=Op.DUP3) + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.JUMPI(pc=0x555, condition=Op.ISZERO(Op.ISZERO(Op.GT))) + + Op.PUSH1[0x0] + + Op.MSTORE(offset=Op.DUP2, value=Op.DUP7) + + Op.MSTORE(offset=0x20, value=0x103) + + Op.PUSH2[0x104] + + Op.SLOAD(key=Op.DUP1) + + Op.PUSH1[0x40] + + Op.SWAP1 + + Op.SWAP3 + + Op.SLOAD(key=Op.ADD(0x2, Op.SHA3)) + + Op.SWAP1 + + Op.SWAP2 + + Op.DUP2 + + Op.JUMPI(pc=0x6C0, condition=Op.LT) + + Op.STOP + + Op.JUMPDEST + + Op.POP + + Op.JUMPDEST + + Op.POP * 3 + + Op.ADD(Op.DUP5, 0x2) + + Op.DUP2 + + Op.SWAP1 + + Op.SSTORE + + Op.PUSH2[0x104] + + Op.SLOAD(key=Op.DUP1) + + Op.DUP9 + + Op.SWAP3 + + Op.SWAP1 + + Op.DUP2 + + Op.JUMPI(pc=0x60D, condition=Op.LT) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.DUP3 + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.SHA3(offset=Op.DUP4, size=Op.DUP1) + + Op.SWAP1 + + Op.SWAP2 + + Op.ADD + + Op.DUP3 + + Op.SWAP1 + + Op.SSTORE + + Op.MSTORE(offset=Op.DUP3, value=Op.DUP8) + + Op.PUSH2[0x103] + + Op.SWAP1 + + Op.MSTORE + + Op.SHA3(offset=Op.DUP2, size=0x40) + + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) + + Op.PUSH1[0x1] + + Op.ADD(Op.DUP2, Op.DUP2) + + Op.DUP4 + + Op.SWAP1 + + Op.SSTORE + + Op.PUSH1[0x2] + + Op.SWAP1 + + Op.SWAP2 + + Op.ADD + + Op.SWAP2 + + Op.SWAP1 + + Op.SWAP2 + + Op.SSTORE + + Op.SWAP5 + + Op.POP + + Op.JUMP(pc=0x586) + + Op.JUMPDEST + + Op.POP + + Op.SWAP1 + + Op.JUMP + + Op.JUMPDEST + + Op.EQ(0x0, Op.SLOAD(key=Op.ADD)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x760, condition=Op.ISZERO) + + Op.PUSH1[0x1] + + Op.ADD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, + Op.SLOAD(key=Op.DUP1), + ) + + Op.SWAP1 + + Op.SSTORE + + Op.JUMPDEST + + Op.GT(Op.SLOAD(key=Op.DUP1), 0x1) + + Op.JUMPI(pc=0x701, condition=Op.ISZERO(Op.DUP1)) + + Op.POP + + Op.SLOAD(key=0x1) + + Op.PUSH1[0x2] + + Op.SWAP1 + + Op.JUMPI(pc=0x6FB, condition=Op.LT(Op.DUP2, 0x100)) + + Op.STOP + + Op.JUMPDEST + + Op.ISZERO(Op.EQ(0x0, Op.SLOAD(key=Op.ADD))) + + Op.JUMPDEST + + Op.JUMPI(pc=0x72F, condition=Op.ISZERO) + + Op.PUSH1[0x1] + + Op.ADD + + Op.JUMP(pc=0x3DB) + + Op.JUMPDEST + + Op.LT(Op.DUP2, Op.SLOAD(key=0x1)) + + Op.JUMPI(pc=0x784, condition=Op.ISZERO(Op.DUP1)) + + Op.POP + + Op.SLOAD(key=0x1) + + Op.PUSH1[0x2] + + Op.SWAP1 + + Op.JUMPI(pc=0x77D, condition=Op.LT(Op.DUP2, 0x100)) + + Op.STOP + + Op.JUMPDEST + + Op.ISZERO(Op.EQ(0x0, Op.SLOAD(key=Op.ADD))) + + Op.JUMPDEST + + Op.JUMPI(pc=0x79F, condition=Op.ISZERO(Op.DUP1)) + + Op.POP + + Op.PUSH1[0x2] + + Op.DUP2 + + Op.JUMPI(pc=0x799, condition=Op.LT(Op.DUP2, 0x100)) + + Op.STOP + + Op.JUMPDEST + + Op.EQ(0x0, Op.SLOAD(key=Op.ADD)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x7B8, condition=Op.ISZERO) + + Op.SLOAD(key=0x1) + + Op.PUSH1[0x2] + + Op.SWAP1 + + Op.JUMPI(pc=0x7BD, condition=Op.LT(Op.DUP2, 0x100)) + + Op.STOP + + Op.JUMPDEST + + Op.ADD + + Op.SSTORE + + Op.JUMPDEST + + Op.JUMP(pc=0x3D0) + + Op.JUMPDEST + + Op.SLOAD(key=Op.ADD) + + Op.PUSH1[0x2] + + Op.DUP3 + + Op.JUMPI(pc=0x7CD, condition=Op.LT(Op.DUP2, 0x100)) + + Op.STOP + + Op.JUMPDEST + + Op.ADD + + Op.SSTORE + + Op.DUP1 + + Op.PUSH2[0x102] + + Op.PUSH1[0x0] + + Op.PUSH1[0x2] + + Op.DUP4 + + Op.JUMPI(pc=0x7E3, condition=Op.LT(Op.DUP2, 0x100)) + + Op.STOP + + Op.JUMPDEST + + Op.MSTORE(offset=Op.DUP2, value=Op.SLOAD(key=Op.ADD)) + + Op.ADD(Op.DUP2, 0x20) + + Op.SWAP2 + + Op.SWAP1 + + Op.SWAP2 + + Op.MSTORE + + Op.PUSH1[0x40] + + Op.ADD + + Op.PUSH1[0x0] + + Op.SWAP1 + + Op.DUP2 + + Op.SHA3 + + Op.SWAP2 + + Op.SWAP1 + + Op.SWAP2 + + Op.SSTORE + + Op.SLOAD(key=0x1) + + Op.PUSH1[0x2] + + Op.SWAP1 + + Op.JUMPI(pc=0x7B5, condition=Op.LT(Op.DUP2, 0x100)) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH2[0x104] + + Op.SLOAD(key=Op.DUP1) + + Op.PUSH1[0x0] + + Op.SSTORE(key=Op.DUP4, value=Op.DUP1) + + Op.SWAP2 + + Op.SWAP1 + + Op.SWAP2 + + Op.MSTORE + + Op.PUSH32[ + 0x4C0BE60200FAA20559308CB7B5A1BB3255C16CB1CAB91F525B5AE7A03D02FABE + ] + + Op.SWAP1 + + Op.DUP2 + + Op.ADD + + Op.SWAP1 + + Op.JUMPDEST + + Op.JUMPI(pc=0x27F, condition=Op.ISZERO(Op.GT(Op.DUP3, Op.DUP1))) + + Op.SSTORE(key=Op.DUP2, value=0x0) + + Op.PUSH1[0x1] + + Op.ADD + + Op.JUMP(pc=0x840) + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.DUP3 + + Op.MSTORE + + Op.JUMPI( + pc=0x8A6, + condition=Op.ISZERO( + Op.ISZERO( + Op.EQ( + Op.SLOAD(key=Op.ADD), + Op.SHA3(offset=Op.DUP3, size=0x20), + ) + ) + ), + ) + + Op.PUSH2[0x104] + + Op.SLOAD(key=Op.DUP1) + + Op.PUSH2[0x103] + + Op.SWAP2 + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.DUP5 + + Op.SWAP1 + + Op.DUP2 + + Op.JUMPI(pc=0x87C, condition=Op.LT) + + Op.STOP + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SWAP2 + + Op.DUP3 + + Op.MSTORE + + Op.PUSH1[0x20] + + Op.SHA3(offset=Op.DUP4, size=Op.DUP1) + + Op.SWAP1 + + Op.SWAP2 + + Op.MSTORE(offset=Op.DUP4, value=Op.SLOAD(key=Op.ADD)) + + Op.DUP3 + + Op.ADD + + Op.SWAP3 + + Op.SWAP1 + + Op.SWAP3 + + Op.MSTORE + + Op.PUSH1[0x40] + + Op.SHA3(offset=Op.DUP2, size=Op.ADD) + + Op.SSTORE(key=Op.DUP2, value=Op.DUP2) + + Op.ADD(Op.DUP2, 0x1) + + Op.DUP3 + + Op.SWAP1 + + Op.SSTORE + + Op.SSTORE(key=Op.ADD, value=0x2) + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.ADD + + Op.JUMP(pc=0x2E0), storage={ - 0x0: 0x1, - 0x1: 0x2, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 - 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 0x2, # noqa: E501 + 0: 1, + 1: 2, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 + 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "173825d9000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" # noqa: E501 - ), + to=contract_0, + data=Bytes("173825d9") + Hash(sender, left_padding=True), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, 3: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 1, # noqa: E501 }, + code=bytes.fromhex( + "7c01000000000000000000000000000000000000000000000000000000006000350463173825d981146100655780632f54bf6e146100b75780637065cb48146100e8578063b75c7dc614610105578063ba51a6df14610142578063f00d4b5d1461015f57005b6101816004356000604060003680828437909120905061046d815b73ffffffffffffffffffffffffffffffffffffffff3316600090815261010260205260408120548180808381141561058f57610586565b6101876004355b73ffffffffffffffffffffffffffffffffffffffff16600090815261010260205260408120541190565b610181600435604060003680828437909120905061037c81610080565b61018160043573ffffffffffffffffffffffffffffffffffffffff3316600090815261010260205260408120549080808381141561019157610213565b610181600435604060003680828437909120905061053381610080565b6101816004356024356000604060003680828437909120905061028681610080565b60006000f35b8060005260206000f35b5050506000828152610103602052604081206001810154600284900a929083168190111561021357815460018084018054919092018455849003905573ffffffffffffffffffffffffffffffffffffffff3316604090815260608690527fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b9080a15b5050505050565b015573ffffffffffffffffffffffffffffffffffffffff84811660008181526101026020526040808220829055928616808252908390208590559082526060527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9080a15b505b505050565b1561027f57610294836100be565b1561029f5750610281565b73ffffffffffffffffffffffffffffffffffffffff84166000908152610102602052604081205492508214156102d55750610281565b6102f75b6101045460005b8181101561080c5761010480548290811061085457005b73ffffffffffffffffffffffffffffffffffffffff8316600283610100811061021a57005b015560015473ffffffffffffffffffffffffffffffffffffffff831660008181526101026020908152604091829020939093559081527f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c39190a15b505b50565b156103775761038a826100be565b156103955750610379565b61039d6102d9565b60015460fa901015156103b4576103b26103cb565b505b60015460fa901015156103f55750610379565b6104255b600060015b6001548110156106f7575b600154811080156107535750600281610100811061074c57005b6001805481019081905573ffffffffffffffffffffffffffffffffffffffff831690600290610100811061031c57005b5073ffffffffffffffffffffffffffffffffffffffff831660409081527f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da90602090a1505050565b156102815773ffffffffffffffffffffffffffffffffffffffff83166000908152610102602052604081205492508214156104a85750610377565b60016001600050540360006000505411156104c35750610377565b600060028361010081106104d357005b015573ffffffffffffffffffffffffffffffffffffffff8316600090815261010260205260408120556103c76102d9565b60408281527facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da90602090a15050565b15610377576001548211156105485750610379565b60008290556105046102d9565b82547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018355600183018054821790555b50505050919050565b600086815261010360205260408120805490945090925082141561061a5781548355600183810183905561010480549182018082558280158290116106a6578286527f4c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe9081019082015b808211156106a457600081556001016105f9565b6000918252602090912001555b506001820154600284900a908116600014156105865773ffffffffffffffffffffffffffffffffffffffff3316604090815260608790527fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda9080a182546001901115156105555760008681526101036020526101048054604090922060020154909181106106c057005b505b505050600284018190556101048054889290811061060d57005b6000918252602080832090910182905587825261010390526040812081815560018181018390556002909101919091559450610586565b5090565b01546000145b1561076057600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190555b60018054118015610701575060015460029061010081106106fb57005b0154600014155b1561072f576001016103db565b600154811080156107845750600154600290610100811061077d57005b0154600014155b801561079f5750600281610100811061079957005b01546000145b156107b85760015460029061010081106107bd57005b01555b6103d0565b015460028261010081106107cd57005b015580610102600060028361010081106107e357005b01548152602081019190915260400160009081209190915560015460029061010081106107b557005b61010480546000808355919091527f4c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe908101905b8082111561027f5760008155600101610840565b60009182526020822001541415156108a6576101048054610103916000918490811061087c57005b60009182526020808320909101548352820192909252604001812081815560018101829055600201555b6001016102e056" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_by_non_owner.py b/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_by_non_owner.py index 50ee86a0b56..46762788de2 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_by_non_owner.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_by_non_owner.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_remove_owner_by_non_owner. Ported from: -tests/static/state_tests/stWalletTest -multiOwnedRemoveOwnerByNonOwnerFiller.json +state_tests/stWalletTest/multiOwnedRemoveOwnerByNonOwnerFiller.json """ import pytest @@ -12,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedRemoveOwnerByNonOwnerFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedRemoveOwnerByNonOwnerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,12 +31,13 @@ def test_multi_owned_remove_owner_by_non_owner( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_remove_owner_by_non_owner.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) + contract_1 = Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0xA95DEFE70EBEA7804F9C3BE42D20D24375E2A92B9D9666B832069C5F3CD423DD ) - callee = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -49,107 +49,56 @@ def test_multi_owned_remove_owner_by_non_owner( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 + ) + # Source: hex + # 0x + contract_1 = pre.deploy_contract( # noqa: F841 + code="", + balance=0xDE0B6B3A75EF08F, + nonce=1, + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - pre[callee] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "173825d9000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" # noqa: E501 - ), + to=contract_0, + data=Bytes("173825d9") + Hash(contract_1, left_padding=True), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, code=b"", nonce=2), + contract_0: Account( storage={ 0: 1, 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + contract_1: Account(storage={}, nonce=1), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_my_self.py b/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_my_self.py index 99355109ee0..187c70793ba 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_my_self.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_my_self.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_remove_owner_my_self. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedRemoveOwner_mySelfFiller.json +state_tests/stWalletTest/multiOwnedRemoveOwner_mySelfFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedRemoveOwner_mySelfFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedRemoveOwner_mySelfFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,9 @@ def test_multi_owned_remove_owner_my_self( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_remove_owner_my_self.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,100 +47,35 @@ def test_multi_owned_remove_owner_my_self( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "173825d9000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" # noqa: E501 - ), + to=contract_0, + data=Bytes("173825d9") + Hash(sender, left_padding=True), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, @@ -147,7 +83,13 @@ def test_multi_owned_remove_owner_my_self( 260: 1, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_owner_is_not_owner.py b/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_owner_is_not_owner.py index d5ca6d36f1d..883a6cb445e 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_owner_is_not_owner.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_remove_owner_owner_is_not_owner.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_remove_owner_owner_is_not_owner. Ported from: -tests/static/state_tests/stWalletTest -multiOwnedRemoveOwner_ownerIsNotOwnerFiller.json +state_tests/stWalletTest/multiOwnedRemoveOwner_ownerIsNotOwnerFiller.json """ import pytest @@ -12,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stWalletTest/multiOwnedRemoveOwner_ownerIsNotOwnerFiller.json", # noqa: E501 + "state_tests/stWalletTest/multiOwnedRemoveOwner_ownerIsNotOwnerFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,8 +33,9 @@ def test_multi_owned_remove_owner_owner_is_not_owner( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_remove_owner_owner_is_not_owner.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,100 +49,36 @@ def test_multi_owned_remove_owner_owner_is_not_owner( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "173825d9000000000000000000000000aaaf5374fce5edbc8e2a8697c15331677e6ebaaa" # noqa: E501 - ), + to=contract_0, + data=Bytes("173825d9") + + Hash(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, @@ -148,7 +86,13 @@ def test_multi_owned_remove_owner_owner_is_not_owner( 260: 1, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_multi_owned_revoke_nothing.py b/tests/ported_static/stWalletTest/test_multi_owned_revoke_nothing.py index 9f80885a320..486af5b7585 100644 --- a/tests/ported_static/stWalletTest/test_multi_owned_revoke_nothing.py +++ b/tests/ported_static/stWalletTest/test_multi_owned_revoke_nothing.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_multi_owned_revoke_nothing. Ported from: -tests/static/state_tests/stWalletTest/multiOwnedRevokeNothingFiller.json +state_tests/stWalletTest/multiOwnedRevokeNothingFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/multiOwnedRevokeNothingFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/multiOwnedRevokeNothingFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,9 @@ def test_multi_owned_revoke_nothing( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_multi_owned_revoke_nothing.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,107 +47,51 @@ def test_multi_owned_revoke_nothing( gas_limit=100000000, ) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf" # noqa: E501 - "6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c91711461" # noqa: E501 - "0136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a357" # noqa: E501 - "8063f00d4b5d146101e3575b005b61007760043560006000364360405180848480828437" # noqa: E501 - "5050509091019081526040519081900360200190209050610529815b600160a060020a03" # noqa: E501 - "3316600090815261010260205260408120548180808381141561066f57610806565b6102" # noqa: E501 - "1c6004355b600160a060020a0316600090815261010260205260408120541190565b6102" # noqa: E501 - "1c60015481565b6100776004356000364360405180848480828437505050909101908152" # noqa: E501 - "60405190819003602001902090506104a1816100ab565b61021c60005481565b61007760" # noqa: E501 - "0435600160a060020a033316600090815261010260205260408120549080808381141561" # noqa: E501 - "022e576102b0565b61007760043560003643604051808484808284375050509091019081" # noqa: E501 - "5260405190819003602001902090506105e8816100ab565b61021c600435602435600082" # noqa: E501 - "815261010360209081526040808320600160a060020a0385168452610102909252822054" # noqa: E501 - "8290818181141561064157610665565b6100776004356024356000600036436040518084" # noqa: E501 - "8480828437505050909101908152604051908190036020019020905061033a816100ab56" # noqa: E501 - "5b60408051918252519081900360200190f35b5050506000828152610103602052604081" # noqa: E501 - "206001810154600284900a92908316819011156102b05781546001838101805492909101" # noqa: E501 - "845590849003905560408051600160a060020a03331681526020810187905281517fc7fb" # noqa: E501 - "647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390" # noqa: E501 - "910190a15b5050505050565b600160a060020a0383166002836101008110156100025701" # noqa: E501 - "55600160a060020a03848116600081815261010260209081526040808320839055938716" # noqa: E501 - "80835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08b" # noqa: E501 - "f9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b15" # noqa: E501 - "61033357610348836100dc565b156103535750610335565b600160a060020a0384166000" # noqa: E501 - "9081526101026020526040812054925082141561037c5750610335565b6102b75b610104" # noqa: E501 - "5460005b818110156107b557610104805482908110156100025760009182526000805160" # noqa: E501 - "206108ea8339815191520154146103fa5761010480546101039160009184908110156100" # noqa: E501 - "02576000805160206108ea83398151915201548252506020919091526040812081815560" # noqa: E501 - "018101829055600201555b600101610387565b60018054810190819055600160a060020a" # noqa: E501 - "038316906002906101008110156100025790900160005081905550600160005054610102" # noqa: E501 - "600050600084600160a060020a0316815260200190815260200160002060005081905550" # noqa: E501 - "7f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040" # noqa: E501 - "518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561" # noqa: E501 - "049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa" # noqa: E501 - "90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a6" # noqa: E501 - "5b600060015b6001548110156107ef575b6001548110801561051c575060028161010081" # noqa: E501 - "1015610002570154600014155b1561080f576001016104fc565b1561033557600160a060" # noqa: E501 - "020a038316600090815261010260205260408120549250821415610557575061049c565b" # noqa: E501 - "6001600160005054036000600050541115610572575061049c565b600060028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0384168152610102602052604081205561" # noqa: E501 - "04e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943" # noqa: E501 - "d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a150505056" # noqa: E501 - "5b1561049c576001548211156105fd575061049e565b600082905561060a610380565b60" # noqa: E501 - "40805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0" # noqa: E501 - "dad4f550da9181900360200190a15050565b506001830154600282900a90811660001415" # noqa: E501 - "6106605760009450610665565b600194505b5050505092915050565b6000868152610103" # noqa: E501 - "6020526040812080549094509092508214156106f8578154835560018381018390556101" # noqa: E501 - "0480549182018082558280158290116106c7578183600052602060002091820191016106" # noqa: E501 - "c791906107db565b50505060028401819055610104805488929081101561000257600091" # noqa: E501 - "9091526000805160206108ea83398151915201555b506001820154600284900a90811660" # noqa: E501 - "0014156108065760408051600160a060020a03331681526020810188905281517fe1c52d" # noqa: E501 - "c63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda92918190039091" # noqa: E501 - "0190a18254600190116107f3576000868152610103602052604090206002015461010480" # noqa: E501 - "5490919081101561000257604060009081206000805160206108ea833981519152929092" # noqa: E501 - "01819055808255600180830182905560029092015595506108069050565b610104805460" # noqa: E501 - "0080835591909152610335906000805160206108ea833981519152908101905b80821115" # noqa: E501 - "6107ef57600081556001016107db565b5090565b82546000190183556001830180548217" # noqa: E501 - "90555b50505050919050565b5b6001805411801561083257506001546002906101008110" # noqa: E501 - "156100025701546000145b156108465760018054600019019055610810565b6001548110" # noqa: E501 - "80156108695750600154600290610100811015610002570154600014155b801561088357" # noqa: E501 - "506002816101008110156100025701546000145b156108e4576001546002906101008110" # noqa: E501 - "156100025781015490826101008110156100025781019190915581906101029060009083" # noqa: E501 - "610100811015610002578101548252602092909252604081209290925560015461010081" # noqa: E501 - "10156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab9" # noqa: E501 - "1f525b5ae7a03d02fabe" + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0x6295ee1b4f6dd65047762f924ecd367c17eabf8f"), # noqa: E501 + address=Address(0x6295EE1B4F6DD65047762F924ECD367C17EABF8F), # noqa: E501 ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "b75c7dc66e369836487c234b9e553ef3f787c2d8865520739d340c67b3d251a33986e58d" # noqa: E501 + to=contract_0, + data=Bytes("b75c7dc6") + + Hash( + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D ), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + contract_0: Account( storage={ 0: 1, 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100775760e060020a6000350463173825d981146100795780632f54bf6e146100d55780634123cb6b146100f95780637065cb4814610102578063746c917114610136578063b75c7dc61461013f578063ba51a6df1461016f578063c2cf7326146101a3578063f00d4b5d146101e3575b005b610077600435600060003643604051808484808284375050509091019081526040519081900360200190209050610529815b600160a060020a033316600090815261010260205260408120548180808381141561066f57610806565b61021c6004355b600160a060020a0316600090815261010260205260408120541190565b61021c60015481565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506104a1816100ab565b61021c60005481565b610077600435600160a060020a033316600090815261010260205260408120549080808381141561022e576102b0565b610077600435600036436040518084848082843750505090910190815260405190819003602001902090506105e8816100ab565b61021c600435602435600082815261010360209081526040808320600160a060020a03851684526101029092528220548290818181141561064157610665565b61007760043560243560006000364360405180848480828437505050909101908152604051908190036020019020905061033a816100ab565b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a92908316819011156102b05781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a038316600283610100811015610002570155600160a060020a0384811660008181526101026020908152604080832083905593871680835291849020869055835192835282015281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b1561033357610348836100dc565b156103535750610335565b600160a060020a03841660009081526101026020526040812054925082141561037c5750610335565b6102b75b6101045460005b818110156107b557610104805482908110156100025760009182526000805160206108ea8339815191520154146103fa576101048054610103916000918490811015610002576000805160206108ea83398151915201548252506020919091526040812081815560018101829055600201555b600101610387565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b1561049c576104af826100dc565b156104ba575061049e565b6104c2610380565b60015460fa90106104d7576104d56104ec565b505b60015460fa9010610402575061049e565b6105a65b600060015b6001548110156107ef575b6001548110801561051c5750600281610100811015610002570154600014155b1561080f576001016104fc565b1561033557600160a060020a038316600090815261010260205260408120549250821415610557575061049c565b6001600160005054036000600050541115610572575061049c565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556104e8610380565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b1561049c576001548211156105fd575061049e565b600082905561060a610380565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156106605760009450610665565b600194505b5050505092915050565b60008681526101036020526040812080549094509092508214156106f85781548355600183810183905561010480549182018082558280158290116106c7578183600052602060002091820191016106c791906107db565b505050600284018190556101048054889290811015610002576000919091526000805160206108ea83398151915201555b506001820154600284900a908116600014156108065760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a18254600190116107f35760008681526101036020526040902060020154610104805490919081101561000257604060009081206000805160206108ea83398151915292909201819055808255600180830182905560029092015595506108069050565b6101048054600080835591909152610335906000805160206108ea833981519152908101905b808211156107ef57600081556001016107db565b5090565b8254600019018355600183018054821790555b50505050919050565b5b6001805411801561083257506001546002906101008110156100025701546000145b156108465760018054600019019055610810565b600154811080156108695750600154600290610100811015610002570154600014155b801561088357506002816101008110156100025701546000145b156108e457600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b6104f156004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), + sender: Account(storage={}, nonce=2), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_wallet_add_owner_remove_pending_transaction.py b/tests/ported_static/stWalletTest/test_wallet_add_owner_remove_pending_transaction.py index 3cabe4244b6..2ecaae0031b 100644 --- a/tests/ported_static/stWalletTest/test_wallet_add_owner_remove_pending_transaction.py +++ b/tests/ported_static/stWalletTest/test_wallet_add_owner_remove_pending_transaction.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_wallet_add_owner_remove_pending_transaction. Ported from: -tests/static/state_tests/stWalletTest -walletAddOwnerRemovePendingTransactionFiller.json +state_tests/stWalletTest/walletAddOwnerRemovePendingTransactionFiller.json """ import pytest @@ -12,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stWalletTest/walletAddOwnerRemovePendingTransactionFiller.json", # noqa: E501 + "state_tests/stWalletTest/walletAddOwnerRemovePendingTransactionFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,12 +33,13 @@ def test_wallet_add_owner_remove_pending_transaction( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_add_owner_remove_pending_transaction.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0xA95DEFE70EBEA7804F9C3BE42D20D24375E2A92B9D9666B832069C5F3CD423DD ) - callee = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -49,153 +51,52 @@ def test_wallet_add_owner_remove_pending_transaction( ) pre[sender] = Account(balance=0x5AF3107A4000) - pre[callee] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=0xDE0B6B3A75EF08F, + nonce=1, + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x2, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, - 0x104: 0x1, - 0x107: 0xC22E4, - 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB2: 0x1, # noqa: E501 - 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB3: 0x2, # noqa: E501 + 0: 1, + 1: 2, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, + 260: 1, + 263: 0xC22E4, + 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB2: 1, # noqa: E501 + 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB3: 2, # noqa: E501 0x4C0BE60200FAA20559308CB7B5A1BB3255C16CB1CAB91F525B5AE7A03D02FABE: 0x6877E4536B661640954061CDBC3A9761FB5245C340FCB1721307CD9D5F285C96, # noqa: E501 - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D0: 0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA, # noqa: E501 - 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D1: 0x9, # noqa: E501 - 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 0x2, # noqa: E501 + 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D1: 9, # noqa: E501 + 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "7065cb48000000000000000000000000bbb1cd2cd96c6d5c0b5eb3322d807b34482481d4" # noqa: E501 - ), + to=contract_1, + data=Bytes("7065cb48") + + Hash(0xBBB1CD2CD96C6D5C0B5EB3322D807B34482481D4), gas_limit=10000000, ) post = { - contract: Account( + sender: Account(storage={}, code=b"", nonce=1), + contract_0: Account(storage={}, nonce=1), + contract_1: Account( storage={ 0: 1, 1: 3, @@ -207,6 +108,11 @@ def test_wallet_add_owner_remove_pending_transaction( 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_change_owner_remove_pending_transaction.py b/tests/ported_static/stWalletTest/test_wallet_change_owner_remove_pending_transaction.py index a328e026797..4341d8b15b2 100644 --- a/tests/ported_static/stWalletTest/test_wallet_change_owner_remove_pending_transaction.py +++ b/tests/ported_static/stWalletTest/test_wallet_change_owner_remove_pending_transaction.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_wallet_change_owner_remove_pending_transaction. Ported from: -tests/static/state_tests/stWalletTest -walletChangeOwnerRemovePendingTransactionFiller.json +state_tests/stWalletTest/walletChangeOwnerRemovePendingTransactionFiller.json """ import pytest @@ -12,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stWalletTest/walletChangeOwnerRemovePendingTransactionFiller.json", # noqa: E501 + "state_tests/stWalletTest/walletChangeOwnerRemovePendingTransactionFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,12 +33,13 @@ def test_wallet_change_owner_remove_pending_transaction( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_change_owner_remove_pending_transaction.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0xA95DEFE70EBEA7804F9C3BE42D20D24375E2A92B9D9666B832069C5F3CD423DD ) - callee = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -49,154 +51,53 @@ def test_wallet_change_owner_remove_pending_transaction( ) pre[sender] = Account(balance=0x5AF3107A4000) - pre[callee] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=0xDE0B6B3A75EF08F, + nonce=1, + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x2, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, - 0x104: 0x1, - 0x107: 0xC22E4, - 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB2: 0x1, # noqa: E501 - 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB3: 0x2, # noqa: E501 + 0: 1, + 1: 2, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, + 260: 1, + 263: 0xC22E4, + 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB2: 1, # noqa: E501 + 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB3: 2, # noqa: E501 0x4C0BE60200FAA20559308CB7B5A1BB3255C16CB1CAB91F525B5AE7A03D02FABE: 0x6877E4536B661640954061CDBC3A9761FB5245C340FCB1721307CD9D5F285C96, # noqa: E501 - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D0: 0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA, # noqa: E501 - 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D1: 0x9, # noqa: E501 - 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 0x2, # noqa: E501 + 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D1: 9, # noqa: E501 + 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "f00d4b5d000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" # noqa: E501 - "000000000000000000000000aaaf5374fce5edbc8e2a8697c15331677e6ebaaa" - ), + to=contract_1, + data=Bytes("f00d4b5d") + + Hash(contract_0, left_padding=True) + + Hash(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA), gas_limit=10000000, ) post = { - contract: Account( + sender: Account(storage={}, code=b"", nonce=1), + contract_0: Account(storage={}, nonce=1), + contract_1: Account( storage={ 0: 1, 1: 2, @@ -206,6 +107,11 @@ def test_wallet_change_owner_remove_pending_transaction( 0x62CE4F671906BE9A217487BB98E428B08E12100FB0007DF10572CA00206E7D73: 1, # noqa: E501 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_change_requirement_remove_pending_transaction.py b/tests/ported_static/stWalletTest/test_wallet_change_requirement_remove_pending_transaction.py index 440cb9c955a..98756462e16 100644 --- a/tests/ported_static/stWalletTest/test_wallet_change_requirement_remove_pending_transaction.py +++ b/tests/ported_static/stWalletTest/test_wallet_change_requirement_remove_pending_transaction.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_wallet_change_requirement_remove_pending_transaction. Ported from: -tests/static/state_tests/stWalletTest -walletChangeRequirementRemovePendingTransactionFiller.json +state_tests/stWalletTest/walletChangeRequirementRemovePendingTransactionFiller.json """ import pytest @@ -12,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stWalletTest/walletChangeRequirementRemovePendingTransactionFiller.json", # noqa: E501 + "state_tests/stWalletTest/walletChangeRequirementRemovePendingTransactionFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,12 +33,13 @@ def test_wallet_change_requirement_remove_pending_transaction( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_change_requirement_remove_pending_transaction.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0xA95DEFE70EBEA7804F9C3BE42D20D24375E2A92B9D9666B832069C5F3CD423DD ) - callee = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -49,153 +51,51 @@ def test_wallet_change_requirement_remove_pending_transaction( ) pre[sender] = Account(balance=0x5AF3107A4000) - pre[callee] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=0xDE0B6B3A75EF08F, + nonce=1, + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x2, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, - 0x104: 0x1, - 0x107: 0xC22E4, - 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB2: 0x1, # noqa: E501 - 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB3: 0x2, # noqa: E501 + 0: 1, + 1: 2, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, + 260: 1, + 263: 0xC22E4, + 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB2: 1, # noqa: E501 + 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB3: 2, # noqa: E501 0x4C0BE60200FAA20559308CB7B5A1BB3255C16CB1CAB91F525B5AE7A03D02FABE: 0x6877E4536B661640954061CDBC3A9761FB5245C340FCB1721307CD9D5F285C96, # noqa: E501 - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D0: 0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA, # noqa: E501 - 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D1: 0x9, # noqa: E501 - 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 0x2, # noqa: E501 + 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D1: 9, # noqa: E501 + 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "ba51a6df0000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - ), + to=contract_1, + data=Bytes("ba51a6df") + Hash(0x2), gas_limit=10000000, ) post = { - contract: Account( + sender: Account(storage={}, code=b"", nonce=1), + contract_0: Account(storage={}, nonce=1), + contract_1: Account( storage={ 0: 2, 1: 2, @@ -205,6 +105,11 @@ def test_wallet_change_requirement_remove_pending_transaction( 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_confirm.py b/tests/ported_static/stWalletTest/test_wallet_confirm.py index 7b59bca42b7..7044c682df9 100644 --- a/tests/ported_static/stWalletTest/test_wallet_confirm.py +++ b/tests/ported_static/stWalletTest/test_wallet_confirm.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_wallet_confirm. Ported from: -tests/static/state_tests/stWalletTest/walletConfirmFiller.json +state_tests/stWalletTest/walletConfirmFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/walletConfirmFiller.json"], + ["state_tests/stWalletTest/walletConfirmFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,12 +31,13 @@ def test_wallet_confirm( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_confirm.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0xA95DEFE70EBEA7804F9C3BE42D20D24375E2A92B9D9666B832069C5F3CD423DD ) - callee = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -46,153 +49,57 @@ def test_wallet_confirm( ) pre[sender] = Account(balance=0x5AF3107A4000) - pre[callee] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=0xDE0B6B3A75EF08F, + nonce=1, + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x2, - 0x1: 0x2, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, - 0x104: 0x1, - 0x107: 0xC22E4, - 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB2: 0x1, # noqa: E501 - 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB3: 0x2, # noqa: E501 + 0: 2, + 1: 2, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, + 260: 1, + 263: 0xC22E4, + 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB2: 1, # noqa: E501 + 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB3: 2, # noqa: E501 0x4C0BE60200FAA20559308CB7B5A1BB3255C16CB1CAB91F525B5AE7A03D02FABE: 0x6877E4536B661640954061CDBC3A9761FB5245C340FCB1721307CD9D5F285C96, # noqa: E501 - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D0: 0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA, # noqa: E501 - 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D1: 0x9, # noqa: E501 - 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 0x2, # noqa: E501 + 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D1: 9, # noqa: E501 + 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "797af6276877e4536b661640954061cdbc3a9761fb5245c340fcb1721307cd9d5f285c96" # noqa: E501 + to=contract_1, + data=Bytes("797af627") + + Hash( + 0x6877E4536B661640954061CDBC3A9761FB5245C340FCB1721307CD9D5F285C96 ), gas_limit=10000000, ) post = { - contract: Account( + sender: Account(storage={}, code=b"", nonce=1), + contract_0: Account(storage={}, nonce=1), + Address(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA): Account( + storage={}, code=b"", balance=9, nonce=0 + ), + contract_1: Account( storage={ 0: 2, 1: 2, @@ -203,6 +110,11 @@ def test_wallet_confirm( 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=91, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_construction.py b/tests/ported_static/stWalletTest/test_wallet_construction.py index caf731bf733..98e1d81013d 100644 --- a/tests/ported_static/stWalletTest/test_wallet_construction.py +++ b/tests/ported_static/stWalletTest/test_wallet_construction.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_wallet_construction. Ported from: -tests/static/state_tests/stWalletTest/walletConstructionFiller.json +state_tests/stWalletTest/walletConstructionFiller.json """ import pytest @@ -11,35 +11,50 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) +from execution_testing.forks import Fork REFERENCE_SPEC_GIT_PATH = "N/A" REFERENCE_SPEC_VERSION = "N/A" @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/walletConstructionFiller.json"], + ["state_tests/stWalletTest/walletConstructionFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit", + "d, g, v", [ - 1225023, - 1825023, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", + ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_wallet_construction( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_construction.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -55,139 +70,38 @@ def test_wallet_construction( pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) + tx_data = [ + Bytes( + "6060604052604051602080611014833960806040818152925160016000818155818055600160a060020a03331660038190558152610102909452938320939093556201518042046101075582917f102d25c49d33fcdb8976a3f2744e0785c98d9e43b88364859e6aec4ae82eff5c91a250610f958061007f6000396000f300606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + ] + tx_gas = [1225023, 1825023] + tx_value = [100] + tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "606060405260405160208061101483396080604081815292516001600081815581805560" # noqa: E501 - "0160a060020a033316600381905581526101029094529383209390935562015180420461" # noqa: E501 - "01075582917f102d25c49d33fcdb8976a3f2744e0785c98d9e43b88364859e6aec4ae82e" # noqa: E501 - "ff5c91a250610f958061007f6000396000f300606060405236156100b95760e060020a60" # noqa: E501 - "00350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f57" # noqa: E501 - "80635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd57806379" # noqa: E501 - "7af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc6" # noqa: E501 - "1461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c0146103" # noqa: E501 - "12578063f00d4b5d14610346578063f1736d861461037f575b6103896000341115610109" # noqa: E501 - "5760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4" # noqa: E501 - "d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b61" # noqa: E501 - "038960043560006000364360405180848480828437505050909101908152604051908190" # noqa: E501 - "0360200190209050610693815b600160a060020a03331660009081526101026020526040" # noqa: E501 - "81205481808083811415610c1357610d6c565b61038b6004355b600160a060020a038116" # noqa: E501 - "60009081526101026020526040812054115b919050565b61038b60015481565b61038960" # noqa: E501 - "003643604051808484808284375050509091019081526040519081900360200190209050" # noqa: E501 - "6107e58161013d565b610389600435600036436040518084848082843750505090910190" # noqa: E501 - "8152604051908190036020019020905061060b8161013d565b61038b60005481565b6103" # noqa: E501 - "8b6004355b600081610a4b8161013d565b61038960043560003643604051808484808284" # noqa: E501 - "3750505090910190815260405190819003602001902090506107d98161013d565b61038b" # noqa: E501 - "6004803590602480359160443591820191013560006108043361016e565b610389600435" # noqa: E501 - "600160a060020a033316600090815261010260205260408120549080808381141561039d" # noqa: E501 - "5761041f565b610389600435600036436040518084848082843750505090910190815260" # noqa: E501 - "405190819003602001902090506107528161013d565b61038b6004356024356000828152" # noqa: E501 - "61010360209081526040808320600160a060020a03851684526101029092528220548290" # noqa: E501 - "81818114156107ab576107cf565b61038960043560003643604051808484808284375050" # noqa: E501 - "5090910190815260405190819003602001902090506107f38161013d565b610389600435" # noqa: E501 - "602435600060003643604051808484808284375050509091019081526040519081900360" # noqa: E501 - "2001902090506104ac8161013d565b61038b6101055481565b005b604080519182525190" # noqa: E501 - "81900360200190f35b505050600082815261010360205260408120600181015460028490" # noqa: E501 - "0a929083168190111561041f578154600183810180549290910184559084900390556040" # noqa: E501 - "8051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15a" # noqa: E501 - "ad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050" # noqa: E501 - "565b600160a060020a03831660028361010081101561000257508301819055600160a060" # noqa: E501 - "020a03851660008181526101026020908152604080832083905584835291829020869055" # noqa: E501 - "815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c" # noqa: E501 - "1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba" # noqa: E501 - "8361016e565b156104c557506104a7565b600160a060020a038416600090815261010260" # noqa: E501 - "2052604081205492508214156104ee57506104a7565b6104265b6101045460005b818110" # noqa: E501 - "15610eba57610104805461010891600091849081101561000257600080516020610f7583" # noqa: E501 - "398151915201548252506020918252604081208054600160a060020a0319168155600181" # noqa: E501 - "018290556002810180548382559083528383209193610f3f92601f929092010481019061" # noqa: E501 - "0a33565b60018054810190819055600160a060020a038316906002906101008110156100" # noqa: E501 - "025790900160005081905550600160005054610102600050600084600160a060020a0316" # noqa: E501 - "8152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6" # noqa: E501 - "aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260" # noqa: E501 - "200191505060405180910390a15b505b50565b15610606576106198261016e565b156106" # noqa: E501 - "245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b50" # noqa: E501 - "5b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47" # noqa: E501 - "575b600154811080156106865750600281610100811015610002570154600014155b1561" # noqa: E501 - "0d7557600101610666565b156104a757600160a060020a03831660009081526101026020" # noqa: E501 - "52604081205492508214156106c15750610606565b600160016000505403600060005054" # noqa: E501 - "11156106dc5750610606565b600060028361010081101561000257508301819055600160" # noqa: E501 - "a060020a038416815261010260205260408120556106526104f2565b5060408051600160" # noqa: E501 - "a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071" # noqa: E501 - "b555b651fbf418da9181900360200190a1505050565b1561060657600154821115610767" # noqa: E501 - "5750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721" # noqa: E501 - "332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a150" # noqa: E501 - "50565b506001830154600282900a908116600014156107ca57600094506107cf565b6001" # noqa: E501 - "94505b5050505092915050565b15610606575061010555565b1561060857600061010655" # noqa: E501 - "50565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361" # noqa: E501 - "016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae" # noqa: E501 - "9043f6efd00433858786866040518086600160a060020a03168152602001858152602001" # noqa: E501 - "84600160a060020a03168152602001806020018281038252848482818152602001925080" # noqa: E501 - "8284378201915050965050505050505060405180910390a184600160a060020a03168484" # noqa: E501 - "846040518083838082843750505090810191506000908083038185876185025a03f15060" # noqa: E501 - "009350610a2392505050565b600036436040518084848082843750505090910190815260" # noqa: E501 - "4051908190036020019020915061090490508161020d565b158015610927575060008181" # noqa: E501 - "526101086020526040812054600160a060020a0316145b15610a23576000818152610108" # noqa: E501 - "6020908152604082208054600160a060020a031916881781556001810187905560020180" # noqa: E501 - "54858255818452928290209092601f01919091048101908490868215610a2b579182015b" # noqa: E501 - "82811115610a2b57823582600050559160200191906001019061097c565b50600050507f" # noqa: E501 - "1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf3281338688" # noqa: E501 - "87876040518087815260200186600160a060020a03168152602001858152602001846001" # noqa: E501 - "60a060020a03168152602001806020018281038252848482818152602001925080828437" # noqa: E501 - "820191505097505050505050505060405180910390a15b949350505050565b5061099a92" # noqa: E501 - "91505b80821115610a475760008155600101610a33565b5090565b15610c005760008381" # noqa: E501 - "526101086020526040812054600160a060020a031614610c005760408051600091822080" # noqa: E501 - "5460018201546002929092018054600160a060020a039290921694929390929181908490" # noqa: E501 - "8015610acd57820191906000526020600020905b81548152906001019060200180831161" # noqa: E501 - "0ab057829003601f168201915b50509250505060006040518083038185876185025a03f1" # noqa: E501 - "505050600084815261010860209081526040805181842080546001820154600160a06002" # noqa: E501 - "0a033381811686529685018c905294840181905293166060830181905260a06080840181" # noqa: E501 - "815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b976" # noqa: E501 - "51dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c08301908590801561" # noqa: E501 - "0ba257820191906000526020600020905b815481529060010190602001808311610b8557" # noqa: E501 - "829003601f168201915b505097505050505050505060405180910390a160008381526101" # noqa: E501 - "086020908152604082208054600160a060020a0319168155600181018390556002810180" # noqa: E501 - "54848255908452828420919392610c0692601f9290920104810190610a33565b50919050" # noqa: E501 - "565b505050600191505061018a565b600086815261010360205260408120805490945090" # noqa: E501 - "9250821415610c9c57815483556001838101839055610104805491820180825582801582" # noqa: E501 - "9011610c6b57818360005260206000209182019101610c6b9190610a33565b5050506002" # noqa: E501 - "8401819055610104805488929081101561000257600091909152600080516020610f7583" # noqa: E501 - "398151915201555b506001820154600284900a90811660001415610d6c57604080516001" # noqa: E501 - "60a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d" # noqa: E501 - "5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d5957" # noqa: E501 - "600086815261010360205260409020600201546101048054909190811015610002576040" # noqa: E501 - "6000908120600080516020610f7583398151915292909201819055808255600180830182" # noqa: E501 - "90556002909201559550610d6c9050565b8254600019018355600183018054821790555b" # noqa: E501 - "50505050919050565b5b60018054118015610d9857506001546002906101008110156100" # noqa: E501 - "025701546000145b15610dac5760018054600019019055610d76565b6001548110801561" # noqa: E501 - "0dcf5750600154600290610100811015610002570154600014155b8015610de957506002" # noqa: E501 - "816101008110156100025701546000145b15610e4a576001546002906101008110156100" # noqa: E501 - "025781015490826101008110156100025781019190915581906101029060009083610100" # noqa: E501 - "811015610002578101548252602092909252604081209290925560015461010081101561" # noqa: E501 - "00025701555b61065b565b1561018a5761010754610e655b62015180420490565b111561" # noqa: E501 - "0e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c" # noqa: E501 - "5750610106546101055490830111155b15610eb25750610106805482019055600161018a" # noqa: E501 - "565b50600061018a565b6106066101045460005b81811015610f4a576101048054829081" # noqa: E501 - "1015610002576000918252600080516020610f75833981519152015414610f3757610104" # noqa: E501 - "805461010391600091849081101561000257600080516020610f75833981519152015482" # noqa: E501 - "52506020919091526040812081815560018101829055600201555b600101610ec4565b50" # noqa: E501 - "50506001016104f9565b61010480546000808355919091526104a790600080516020610f" # noqa: E501 - "7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1" # noqa: E501 - "cab91f525b5ae7a03d02fabe" - ), - gas_limit=tx_gas_limit, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], nonce=1, - value=100, ) post = { - Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"): Account( + sender: Account(storage={}, code=b"", nonce=2), + compute_create_address(address=sender, nonce=1): Account( storage={ 0: 1, 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 263: 0, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=1, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_construction_oog.py b/tests/ported_static/stWalletTest/test_wallet_construction_oog.py index c9f9b2e1614..e12f3594319 100644 --- a/tests/ported_static/stWalletTest/test_wallet_construction_oog.py +++ b/tests/ported_static/stWalletTest/test_wallet_construction_oog.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_wallet_construction_oog. Ported from: -tests/static/state_tests/stWalletTest/walletConstructionOOGFiller.json +state_tests/stWalletTest/walletConstructionOOGFiller.json """ import pytest @@ -11,9 +11,15 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, ) REFERENCE_SPEC_GIT_PATH = "N/A" @@ -21,38 +27,37 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/walletConstructionOOGFiller.json"], + ["state_tests/stWalletTest/walletConstructionOOGFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_gas_limit, expected_post", + "d, g, v", [ - (427222, {}), - ( - 1225022, - { - Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"): Account( - storage={ - 0: 1, - 1: 1, - 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 - } - ) - }, + pytest.param( + 0, + 0, + 0, + id="-g0", + ), + pytest.param( + 0, + 1, + 0, + id="-g1", ), ], - ids=["case0", "case1"], ) @pytest.mark.pre_alloc_mutable def test_wallet_construction_oog( state_test: StateTestFiller, pre: Alloc, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_construction_oog.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -68,131 +73,58 @@ def test_wallet_construction_oog( pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) + expect_entries_: list[dict] = [ + { + "indexes": {"data": -1, "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(storage={}, code=b"", nonce=2), + compute_create_address( + address=sender, nonce=1 + ): Account.NONEXISTENT, + }, + }, + { + "indexes": {"data": -1, "gas": 1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(storage={}, code=b"", nonce=2), + compute_create_address(address=sender, nonce=1): Account( + storage={ + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 263: 0, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 + }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=1, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes( + "6060604052604051602080611014833960806040818152925160016000818155818055600160a060020a03331660038190558152610102909452938320939093556201518042046101075582917f102d25c49d33fcdb8976a3f2744e0785c98d9e43b88364859e6aec4ae82eff5c91a250610f958061007f6000396000f300606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + ] + tx_gas = [427222, 1225022] + tx_value = [100] + tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "606060405260405160208061101483396080604081815292516001600081815581805560" # noqa: E501 - "0160a060020a033316600381905581526101029094529383209390935562015180420461" # noqa: E501 - "01075582917f102d25c49d33fcdb8976a3f2744e0785c98d9e43b88364859e6aec4ae82e" # noqa: E501 - "ff5c91a250610f958061007f6000396000f300606060405236156100b95760e060020a60" # noqa: E501 - "00350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f57" # noqa: E501 - "80635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd57806379" # noqa: E501 - "7af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc6" # noqa: E501 - "1461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c0146103" # noqa: E501 - "12578063f00d4b5d14610346578063f1736d861461037f575b6103896000341115610109" # noqa: E501 - "5760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4" # noqa: E501 - "d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b61" # noqa: E501 - "038960043560006000364360405180848480828437505050909101908152604051908190" # noqa: E501 - "0360200190209050610693815b600160a060020a03331660009081526101026020526040" # noqa: E501 - "81205481808083811415610c1357610d6c565b61038b6004355b600160a060020a038116" # noqa: E501 - "60009081526101026020526040812054115b919050565b61038b60015481565b61038960" # noqa: E501 - "003643604051808484808284375050509091019081526040519081900360200190209050" # noqa: E501 - "6107e58161013d565b610389600435600036436040518084848082843750505090910190" # noqa: E501 - "8152604051908190036020019020905061060b8161013d565b61038b60005481565b6103" # noqa: E501 - "8b6004355b600081610a4b8161013d565b61038960043560003643604051808484808284" # noqa: E501 - "3750505090910190815260405190819003602001902090506107d98161013d565b61038b" # noqa: E501 - "6004803590602480359160443591820191013560006108043361016e565b610389600435" # noqa: E501 - "600160a060020a033316600090815261010260205260408120549080808381141561039d" # noqa: E501 - "5761041f565b610389600435600036436040518084848082843750505090910190815260" # noqa: E501 - "405190819003602001902090506107528161013d565b61038b6004356024356000828152" # noqa: E501 - "61010360209081526040808320600160a060020a03851684526101029092528220548290" # noqa: E501 - "81818114156107ab576107cf565b61038960043560003643604051808484808284375050" # noqa: E501 - "5090910190815260405190819003602001902090506107f38161013d565b610389600435" # noqa: E501 - "602435600060003643604051808484808284375050509091019081526040519081900360" # noqa: E501 - "2001902090506104ac8161013d565b61038b6101055481565b005b604080519182525190" # noqa: E501 - "81900360200190f35b505050600082815261010360205260408120600181015460028490" # noqa: E501 - "0a929083168190111561041f578154600183810180549290910184559084900390556040" # noqa: E501 - "8051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15a" # noqa: E501 - "ad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050" # noqa: E501 - "565b600160a060020a03831660028361010081101561000257508301819055600160a060" # noqa: E501 - "020a03851660008181526101026020908152604080832083905584835291829020869055" # noqa: E501 - "815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c" # noqa: E501 - "1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba" # noqa: E501 - "8361016e565b156104c557506104a7565b600160a060020a038416600090815261010260" # noqa: E501 - "2052604081205492508214156104ee57506104a7565b6104265b6101045460005b818110" # noqa: E501 - "15610eba57610104805461010891600091849081101561000257600080516020610f7583" # noqa: E501 - "398151915201548252506020918252604081208054600160a060020a0319168155600181" # noqa: E501 - "018290556002810180548382559083528383209193610f3f92601f929092010481019061" # noqa: E501 - "0a33565b60018054810190819055600160a060020a038316906002906101008110156100" # noqa: E501 - "025790900160005081905550600160005054610102600050600084600160a060020a0316" # noqa: E501 - "8152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6" # noqa: E501 - "aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260" # noqa: E501 - "200191505060405180910390a15b505b50565b15610606576106198261016e565b156106" # noqa: E501 - "245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b50" # noqa: E501 - "5b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47" # noqa: E501 - "575b600154811080156106865750600281610100811015610002570154600014155b1561" # noqa: E501 - "0d7557600101610666565b156104a757600160a060020a03831660009081526101026020" # noqa: E501 - "52604081205492508214156106c15750610606565b600160016000505403600060005054" # noqa: E501 - "11156106dc5750610606565b600060028361010081101561000257508301819055600160" # noqa: E501 - "a060020a038416815261010260205260408120556106526104f2565b5060408051600160" # noqa: E501 - "a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071" # noqa: E501 - "b555b651fbf418da9181900360200190a1505050565b1561060657600154821115610767" # noqa: E501 - "5750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721" # noqa: E501 - "332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a150" # noqa: E501 - "50565b506001830154600282900a908116600014156107ca57600094506107cf565b6001" # noqa: E501 - "94505b5050505092915050565b15610606575061010555565b1561060857600061010655" # noqa: E501 - "50565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361" # noqa: E501 - "016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae" # noqa: E501 - "9043f6efd00433858786866040518086600160a060020a03168152602001858152602001" # noqa: E501 - "84600160a060020a03168152602001806020018281038252848482818152602001925080" # noqa: E501 - "8284378201915050965050505050505060405180910390a184600160a060020a03168484" # noqa: E501 - "846040518083838082843750505090810191506000908083038185876185025a03f15060" # noqa: E501 - "009350610a2392505050565b600036436040518084848082843750505090910190815260" # noqa: E501 - "4051908190036020019020915061090490508161020d565b158015610927575060008181" # noqa: E501 - "526101086020526040812054600160a060020a0316145b15610a23576000818152610108" # noqa: E501 - "6020908152604082208054600160a060020a031916881781556001810187905560020180" # noqa: E501 - "54858255818452928290209092601f01919091048101908490868215610a2b579182015b" # noqa: E501 - "82811115610a2b57823582600050559160200191906001019061097c565b50600050507f" # noqa: E501 - "1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf3281338688" # noqa: E501 - "87876040518087815260200186600160a060020a03168152602001858152602001846001" # noqa: E501 - "60a060020a03168152602001806020018281038252848482818152602001925080828437" # noqa: E501 - "820191505097505050505050505060405180910390a15b949350505050565b5061099a92" # noqa: E501 - "91505b80821115610a475760008155600101610a33565b5090565b15610c005760008381" # noqa: E501 - "526101086020526040812054600160a060020a031614610c005760408051600091822080" # noqa: E501 - "5460018201546002929092018054600160a060020a039290921694929390929181908490" # noqa: E501 - "8015610acd57820191906000526020600020905b81548152906001019060200180831161" # noqa: E501 - "0ab057829003601f168201915b50509250505060006040518083038185876185025a03f1" # noqa: E501 - "505050600084815261010860209081526040805181842080546001820154600160a06002" # noqa: E501 - "0a033381811686529685018c905294840181905293166060830181905260a06080840181" # noqa: E501 - "815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b976" # noqa: E501 - "51dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c08301908590801561" # noqa: E501 - "0ba257820191906000526020600020905b815481529060010190602001808311610b8557" # noqa: E501 - "829003601f168201915b505097505050505050505060405180910390a160008381526101" # noqa: E501 - "086020908152604082208054600160a060020a0319168155600181018390556002810180" # noqa: E501 - "54848255908452828420919392610c0692601f9290920104810190610a33565b50919050" # noqa: E501 - "565b505050600191505061018a565b600086815261010360205260408120805490945090" # noqa: E501 - "9250821415610c9c57815483556001838101839055610104805491820180825582801582" # noqa: E501 - "9011610c6b57818360005260206000209182019101610c6b9190610a33565b5050506002" # noqa: E501 - "8401819055610104805488929081101561000257600091909152600080516020610f7583" # noqa: E501 - "398151915201555b506001820154600284900a90811660001415610d6c57604080516001" # noqa: E501 - "60a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d" # noqa: E501 - "5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d5957" # noqa: E501 - "600086815261010360205260409020600201546101048054909190811015610002576040" # noqa: E501 - "6000908120600080516020610f7583398151915292909201819055808255600180830182" # noqa: E501 - "90556002909201559550610d6c9050565b8254600019018355600183018054821790555b" # noqa: E501 - "50505050919050565b5b60018054118015610d9857506001546002906101008110156100" # noqa: E501 - "025701546000145b15610dac5760018054600019019055610d76565b6001548110801561" # noqa: E501 - "0dcf5750600154600290610100811015610002570154600014155b8015610de957506002" # noqa: E501 - "816101008110156100025701546000145b15610e4a576001546002906101008110156100" # noqa: E501 - "025781015490826101008110156100025781019190915581906101029060009083610100" # noqa: E501 - "811015610002578101548252602092909252604081209290925560015461010081101561" # noqa: E501 - "00025701555b61065b565b1561018a5761010754610e655b62015180420490565b111561" # noqa: E501 - "0e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c" # noqa: E501 - "5750610106546101055490830111155b15610eb25750610106805482019055600161018a" # noqa: E501 - "565b50600061018a565b6106066101045460005b81811015610f4a576101048054829081" # noqa: E501 - "1015610002576000918252600080516020610f75833981519152015414610f3757610104" # noqa: E501 - "805461010391600091849081101561000257600080516020610f75833981519152015482" # noqa: E501 - "52506020919091526040812081815560018101829055600201555b600101610ec4565b50" # noqa: E501 - "50506001016104f9565b61010480546000808355919091526104a790600080516020610f" # noqa: E501 - "7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1" # noqa: E501 - "cab91f525b5ae7a03d02fabe" - ), - gas_limit=tx_gas_limit, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], nonce=1, - value=100, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stWalletTest/test_wallet_construction_partial.py b/tests/ported_static/stWalletTest/test_wallet_construction_partial.py index d060b5f324b..5db84bc9cef 100644 --- a/tests/ported_static/stWalletTest/test_wallet_construction_partial.py +++ b/tests/ported_static/stWalletTest/test_wallet_construction_partial.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_wallet_construction_partial. Ported from: -tests/static/state_tests/stWalletTest/walletConstructionPartialFiller.json +state_tests/stWalletTest/walletConstructionPartialFiller.json """ import pytest @@ -11,9 +11,11 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, + compute_create_address, ) REFERENCE_SPEC_GIT_PATH = "N/A" @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/walletConstructionPartialFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/walletConstructionPartialFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,8 @@ def test_wallet_construction_partial( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_construction_partial.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -51,136 +51,29 @@ def test_wallet_construction_partial( tx = Transaction( sender=sender, to=None, - data=bytes.fromhex( - "606060405260405160208061101483396080604081815292516001600081815581805560" # noqa: E501 - "0160a060020a033316600381905581526101029094529383209390935562015180420461" # noqa: E501 - "01075582917f102d25c49d33fcdb8976a3f2744e0785c98d9e43b88364859e6aec4ae82e" # noqa: E501 - "ff5c91a250610f958061007f6000396000f300606060405236156100b95760e060020a60" # noqa: E501 - "00350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f57" # noqa: E501 - "80635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd57806379" # noqa: E501 - "7af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc6" # noqa: E501 - "1461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c0146103" # noqa: E501 - "12578063f00d4b5d14610346578063f1736d861461037f575b6103896000341115610109" # noqa: E501 - "5760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4" # noqa: E501 - "d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b61" # noqa: E501 - "038960043560006000364360405180848480828437505050909101908152604051908190" # noqa: E501 - "0360200190209050610693815b600160a060020a03331660009081526101026020526040" # noqa: E501 - "81205481808083811415610c1357610d6c565b61038b6004355b600160a060020a038116" # noqa: E501 - "60009081526101026020526040812054115b919050565b61038b60015481565b61038960" # noqa: E501 - "003643604051808484808284375050509091019081526040519081900360200190209050" # noqa: E501 - "6107e58161013d565b610389600435600036436040518084848082843750505090910190" # noqa: E501 - "8152604051908190036020019020905061060b8161013d565b61038b60005481565b6103" # noqa: E501 - "8b6004355b600081610a4b8161013d565b61038960043560003643604051808484808284" # noqa: E501 - "3750505090910190815260405190819003602001902090506107d98161013d565b61038b" # noqa: E501 - "6004803590602480359160443591820191013560006108043361016e565b610389600435" # noqa: E501 - "600160a060020a033316600090815261010260205260408120549080808381141561039d" # noqa: E501 - "5761041f565b610389600435600036436040518084848082843750505090910190815260" # noqa: E501 - "405190819003602001902090506107528161013d565b61038b6004356024356000828152" # noqa: E501 - "61010360209081526040808320600160a060020a03851684526101029092528220548290" # noqa: E501 - "81818114156107ab576107cf565b61038960043560003643604051808484808284375050" # noqa: E501 - "5090910190815260405190819003602001902090506107f38161013d565b610389600435" # noqa: E501 - "602435600060003643604051808484808284375050509091019081526040519081900360" # noqa: E501 - "2001902090506104ac8161013d565b61038b6101055481565b005b604080519182525190" # noqa: E501 - "81900360200190f35b505050600082815261010360205260408120600181015460028490" # noqa: E501 - "0a929083168190111561041f578154600183810180549290910184559084900390556040" # noqa: E501 - "8051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15a" # noqa: E501 - "ad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050" # noqa: E501 - "565b600160a060020a03831660028361010081101561000257508301819055600160a060" # noqa: E501 - "020a03851660008181526101026020908152604080832083905584835291829020869055" # noqa: E501 - "815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c" # noqa: E501 - "1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba" # noqa: E501 - "8361016e565b156104c557506104a7565b600160a060020a038416600090815261010260" # noqa: E501 - "2052604081205492508214156104ee57506104a7565b6104265b6101045460005b818110" # noqa: E501 - "15610eba57610104805461010891600091849081101561000257600080516020610f7583" # noqa: E501 - "398151915201548252506020918252604081208054600160a060020a0319168155600181" # noqa: E501 - "018290556002810180548382559083528383209193610f3f92601f929092010481019061" # noqa: E501 - "0a33565b60018054810190819055600160a060020a038316906002906101008110156100" # noqa: E501 - "025790900160005081905550600160005054610102600050600084600160a060020a0316" # noqa: E501 - "8152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6" # noqa: E501 - "aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260" # noqa: E501 - "200191505060405180910390a15b505b50565b15610606576106198261016e565b156106" # noqa: E501 - "245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b50" # noqa: E501 - "5b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47" # noqa: E501 - "575b600154811080156106865750600281610100811015610002570154600014155b1561" # noqa: E501 - "0d7557600101610666565b156104a757600160a060020a03831660009081526101026020" # noqa: E501 - "52604081205492508214156106c15750610606565b600160016000505403600060005054" # noqa: E501 - "11156106dc5750610606565b600060028361010081101561000257508301819055600160" # noqa: E501 - "a060020a038416815261010260205260408120556106526104f2565b5060408051600160" # noqa: E501 - "a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071" # noqa: E501 - "b555b651fbf418da9181900360200190a1505050565b1561060657600154821115610767" # noqa: E501 - "5750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721" # noqa: E501 - "332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a150" # noqa: E501 - "50565b506001830154600282900a908116600014156107ca57600094506107cf565b6001" # noqa: E501 - "94505b5050505092915050565b15610606575061010555565b1561060857600061010655" # noqa: E501 - "50565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361" # noqa: E501 - "016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae" # noqa: E501 - "9043f6efd00433858786866040518086600160a060020a03168152602001858152602001" # noqa: E501 - "84600160a060020a03168152602001806020018281038252848482818152602001925080" # noqa: E501 - "8284378201915050965050505050505060405180910390a184600160a060020a03168484" # noqa: E501 - "846040518083838082843750505090810191506000908083038185876185025a03f15060" # noqa: E501 - "009350610a2392505050565b600036436040518084848082843750505090910190815260" # noqa: E501 - "4051908190036020019020915061090490508161020d565b158015610927575060008181" # noqa: E501 - "526101086020526040812054600160a060020a0316145b15610a23576000818152610108" # noqa: E501 - "6020908152604082208054600160a060020a031916881781556001810187905560020180" # noqa: E501 - "54858255818452928290209092601f01919091048101908490868215610a2b579182015b" # noqa: E501 - "82811115610a2b57823582600050559160200191906001019061097c565b50600050507f" # noqa: E501 - "1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf3281338688" # noqa: E501 - "87876040518087815260200186600160a060020a03168152602001858152602001846001" # noqa: E501 - "60a060020a03168152602001806020018281038252848482818152602001925080828437" # noqa: E501 - "820191505097505050505050505060405180910390a15b949350505050565b5061099a92" # noqa: E501 - "91505b80821115610a475760008155600101610a33565b5090565b15610c005760008381" # noqa: E501 - "526101086020526040812054600160a060020a031614610c005760408051600091822080" # noqa: E501 - "5460018201546002929092018054600160a060020a039290921694929390929181908490" # noqa: E501 - "8015610acd57820191906000526020600020905b81548152906001019060200180831161" # noqa: E501 - "0ab057829003601f168201915b50509250505060006040518083038185876185025a03f1" # noqa: E501 - "505050600084815261010860209081526040805181842080546001820154600160a06002" # noqa: E501 - "0a033381811686529685018c905294840181905293166060830181905260a06080840181" # noqa: E501 - "815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b976" # noqa: E501 - "51dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c08301908590801561" # noqa: E501 - "0ba257820191906000526020600020905b815481529060010190602001808311610b8557" # noqa: E501 - "829003601f168201915b505097505050505050505060405180910390a160008381526101" # noqa: E501 - "086020908152604082208054600160a060020a0319168155600181018390556002810180" # noqa: E501 - "54848255908452828420919392610c0692601f9290920104810190610a33565b50919050" # noqa: E501 - "565b505050600191505061018a565b600086815261010360205260408120805490945090" # noqa: E501 - "9250821415610c9c57815483556001838101839055610104805491820180825582801582" # noqa: E501 - "9011610c6b57818360005260206000209182019101610c6b9190610a33565b5050506002" # noqa: E501 - "8401819055610104805488929081101561000257600091909152600080516020610f7583" # noqa: E501 - "398151915201555b506001820154600284900a90811660001415610d6c57604080516001" # noqa: E501 - "60a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d" # noqa: E501 - "5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d5957" # noqa: E501 - "600086815261010360205260409020600201546101048054909190811015610002576040" # noqa: E501 - "6000908120600080516020610f7583398151915292909201819055808255600180830182" # noqa: E501 - "90556002909201559550610d6c9050565b8254600019018355600183018054821790555b" # noqa: E501 - "50505050919050565b5b60018054118015610d9857506001546002906101008110156100" # noqa: E501 - "025701546000145b15610dac5760018054600019019055610d76565b6001548110801561" # noqa: E501 - "0dcf5750600154600290610100811015610002570154600014155b8015610de957506002" # noqa: E501 - "816101008110156100025701546000145b15610e4a576001546002906101008110156100" # noqa: E501 - "025781015490826101008110156100025781019190915581906101029060009083610100" # noqa: E501 - "811015610002578101548252602092909252604081209290925560015461010081101561" # noqa: E501 - "00025701555b61065b565b1561018a5761010754610e655b62015180420490565b111561" # noqa: E501 - "0e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c" # noqa: E501 - "5750610106546101055490830111155b15610eb25750610106805482019055600161018a" # noqa: E501 - "565b50600061018a565b6106066101045460005b81811015610f4a576101048054829081" # noqa: E501 - "1015610002576000918252600080516020610f75833981519152015414610f3757610104" # noqa: E501 - "805461010391600091849081101561000257600080516020610f75833981519152015482" # noqa: E501 - "52506020919091526040812081815560018101829055600201555b600101610ec4565b50" # noqa: E501 - "50506001016104f9565b61010480546000808355919091526104a790600080516020610f" # noqa: E501 - "7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1" # noqa: E501 - "cab91f525b5ae7a03d02fabe" + data=Bytes( + "6060604052604051602080611014833960806040818152925160016000818155818055600160a060020a03331660038190558152610102909452938320939093556201518042046101075582917f102d25c49d33fcdb8976a3f2744e0785c98d9e43b88364859e6aec4ae82eff5c91a250610f958061007f6000396000f300606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), gas_limit=2225022, - nonce=1, value=100, + nonce=1, ) post = { - Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"): Account( + sender: Account(storage={}, nonce=2), + compute_create_address(address=sender, nonce=1): Account( storage={ 0: 1, 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 263: 0, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=1, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_default.py b/tests/ported_static/stWalletTest/test_wallet_default.py index 1712ba2a041..0dd71c4e1d6 100644 --- a/tests/ported_static/stWalletTest/test_wallet_default.py +++ b/tests/ported_static/stWalletTest/test_wallet_default.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_wallet_default. Ported from: -tests/static/state_tests/stWalletTest/walletDefaultFiller.json +state_tests/stWalletTest/walletDefaultFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,7 +22,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/walletDefaultFiller.json"], + ["state_tests/stWalletTest/walletDefaultFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,8 +30,9 @@ def test_wallet_default( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_default.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,143 +47,36 @@ def test_wallet_default( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x106: 0xC22E4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 262: 0xC22E4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, nonce=2), + contract_0: Account( storage={ 0: 1, 1: 1, @@ -189,6 +84,11 @@ def test_wallet_default( 262: 0xC22E4, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_default_with_out_value.py b/tests/ported_static/stWalletTest/test_wallet_default_with_out_value.py index f024d481fd8..8694af8452a 100644 --- a/tests/ported_static/stWalletTest/test_wallet_default_with_out_value.py +++ b/tests/ported_static/stWalletTest/test_wallet_default_with_out_value.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_wallet_default_with_out_value. Ported from: -tests/static/state_tests/stWalletTest/walletDefaultWithOutValueFiller.json +state_tests/stWalletTest/walletDefaultWithOutValueFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/walletDefaultWithOutValueFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/walletDefaultWithOutValueFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +30,9 @@ def test_wallet_default_with_out_value( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_default_with_out_value.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,142 +47,35 @@ def test_wallet_default_with_out_value( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x106: 0xC22E4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 262: 0xC22E4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=10000000, nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, code=b"", nonce=2), + contract_0: Account( storage={ 0: 1, 1: 1, @@ -190,6 +83,11 @@ def test_wallet_default_with_out_value( 262: 0xC22E4, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_multi_owner.py b/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_multi_owner.py index 752fec7b5d8..7638b1c8965 100644 --- a/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_multi_owner.py +++ b/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_multi_owner.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_wallet_execute_over_daily_limit_multi_owner. Ported from: -tests/static/state_tests/stWalletTest -walletExecuteOverDailyLimitMultiOwnerFiller.json +state_tests/stWalletTest/walletExecuteOverDailyLimitMultiOwnerFiller.json """ import pytest @@ -12,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stWalletTest/walletExecuteOverDailyLimitMultiOwnerFiller.json", # noqa: E501 + "state_tests/stWalletTest/walletExecuteOverDailyLimitMultiOwnerFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,8 +33,9 @@ def test_wallet_execute_over_daily_limit_multi_owner( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_execute_over_daily_limit_multi_owner.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,154 +50,46 @@ def test_wallet_execute_over_daily_limit_multi_owner( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x2, - 0x1: 0x2, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 - 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 0x2, # noqa: E501 + 0: 2, + 1: 2, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 + 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "b61d27f6000000000000000000000000aaaf5374fce5edbc8e2a8697c15331677e6ebaaa" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000900000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000060" - ), + to=contract_0, + data=Bytes("b61d27f6") + + Hash(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA) + + Hash(0x9) + + Hash(0x60), gas_limit=10000000, nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, nonce=2), + contract_0: Account( storage={ 0: 2, 1: 2, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, 260: 1, + 263: 0, 0x4C0BE60200FAA20559308CB7B5A1BB3255C16CB1CAB91F525B5AE7A03D02FABE: 0x28E0E8F21C16F43AAA1E26147FB1CC74296CD3823267FA5BEBC02E090063C36D, # noqa: E501 0x5FD43EE7113B9859F7CAB1408959B063A9B2E07B4C9EC4098B2768DB95A4CBA7: 1, # noqa: E501 0x5FD43EE7113B9859F7CAB1408959B063A9B2E07B4C9EC4098B2768DB95A4CBA8: 2, # noqa: E501 @@ -204,6 +98,11 @@ def test_wallet_execute_over_daily_limit_multi_owner( 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_only_one_owner.py b/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_only_one_owner.py index d1df5ca2554..f26d28872ba 100644 --- a/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_only_one_owner.py +++ b/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_only_one_owner.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_wallet_execute_over_daily_limit_only_one_owner. Ported from: -tests/static/state_tests/stWalletTest -walletExecuteOverDailyLimitOnlyOneOwnerFiller.json +state_tests/stWalletTest/walletExecuteOverDailyLimitOnlyOneOwnerFiller.json """ import pytest @@ -12,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stWalletTest/walletExecuteOverDailyLimitOnlyOneOwnerFiller.json", # noqa: E501 + "state_tests/stWalletTest/walletExecuteOverDailyLimitOnlyOneOwnerFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,8 +33,9 @@ def test_wallet_execute_over_daily_limit_only_one_owner( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_execute_over_daily_limit_only_one_owner.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,157 +50,54 @@ def test_wallet_execute_over_daily_limit_only_one_owner( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x105: 0x4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 261: 4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "b61d27f6000000000000000000000000aaaf5374fce5edbc8e2a8697c15331677e6ebaaa" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000900000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000060" - ), + to=contract_0, + data=Bytes("b61d27f6") + + Hash(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA) + + Hash(0x9) + + Hash(0x60), gas_limit=10000000, nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, nonce=2), + contract_0: Account( storage={ 0: 1, 1: 1, 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, 260: 1, 261: 4, + 263: 0, 0x69D836D8D4229A4B7482679C45208E1A6079C5BE2775A4A87CA2D168319C043E: 0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA, # noqa: E501 0x69D836D8D4229A4B7482679C45208E1A6079C5BE2775A4A87CA2D168319C043F: 9, # noqa: E501 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_only_one_owner_new.py b/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_only_one_owner_new.py index 16192019ceb..3389e6bd7f1 100644 --- a/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_only_one_owner_new.py +++ b/tests/ported_static/stWalletTest/test_wallet_execute_over_daily_limit_only_one_owner_new.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_wallet_execute_over_daily_limit_only_one_owner_new. Ported from: -tests/static/state_tests/stWalletTest -walletExecuteOverDailyLimitOnlyOneOwnerNewFiller.json +state_tests/stWalletTest/walletExecuteOverDailyLimitOnlyOneOwnerNewFiller.json """ import pytest @@ -12,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stWalletTest/walletExecuteOverDailyLimitOnlyOneOwnerNewFiller.json", # noqa: E501 + "state_tests/stWalletTest/walletExecuteOverDailyLimitOnlyOneOwnerNewFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,8 +33,9 @@ def test_wallet_execute_over_daily_limit_only_one_owner_new( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_execute_over_daily_limit_only_one_owner_new.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,148 +50,39 @@ def test_wallet_execute_over_daily_limit_only_one_owner_new( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x106: 0x4, - 0x107: 0xC22E4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 262: 4, + 263: 0xC22E4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "b61d27f6000000000000000000000000aaaf5374fce5edbc8e2a8697c15331677e6ebaaa" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000900000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000060" - ), + to=contract_0, + data=Bytes("b61d27f6") + + Hash(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA) + + Hash(0x9) + + Hash(0x60), gas_limit=10000000, nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, nonce=2), + contract_0: Account( storage={ 0: 1, 1: 1, @@ -201,6 +94,11 @@ def test_wallet_execute_over_daily_limit_only_one_owner_new( 0x69D836D8D4229A4B7482679C45208E1A6079C5BE2775A4A87CA2D168319C043F: 9, # noqa: E501 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_execute_under_daily_limit.py b/tests/ported_static/stWalletTest/test_wallet_execute_under_daily_limit.py index f5589a465b9..a22312370ea 100644 --- a/tests/ported_static/stWalletTest/test_wallet_execute_under_daily_limit.py +++ b/tests/ported_static/stWalletTest/test_wallet_execute_under_daily_limit.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_wallet_execute_under_daily_limit. Ported from: -tests/static/state_tests/stWalletTest/walletExecuteUnderDailyLimitFiller.json +state_tests/stWalletTest/walletExecuteUnderDailyLimitFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stWalletTest/walletExecuteUnderDailyLimitFiller.json", # noqa: E501 - ], + ["state_tests/stWalletTest/walletExecuteUnderDailyLimitFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,8 +31,9 @@ def test_wallet_execute_under_daily_limit( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_execute_under_daily_limit.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -47,148 +48,39 @@ def test_wallet_execute_under_daily_limit( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x105: 0xFF, - 0x106: 0xC22E4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 261: 255, + 262: 0xC22E4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "b61d27f6000000000000000000000000aaaf5374fce5edbc8e2a8697c15331677e6ebaaa" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000900000000" # noqa: E501 - "00000000000000000000000000000000000000000000000000000060" - ), + to=contract_0, + data=Bytes("b61d27f6") + + Hash(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA) + + Hash(0x9) + + Hash(0x60), gas_limit=10000000, nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, nonce=2), + contract_0: Account( storage={ 0: 1, 1: 1, @@ -196,10 +88,16 @@ def test_wallet_execute_under_daily_limit( 260: 1, 261: 255, 262: 0xC22E4, + 263: 0, 0x69D836D8D4229A4B7482679C45208E1A6079C5BE2775A4A87CA2D168319C043E: 0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA, # noqa: E501 0x69D836D8D4229A4B7482679C45208E1A6079C5BE2775A4A87CA2D168319C043F: 9, # noqa: E501 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_kill.py b/tests/ported_static/stWalletTest/test_wallet_kill.py index 5a14532e91a..144f52e089d 100644 --- a/tests/ported_static/stWalletTest/test_wallet_kill.py +++ b/tests/ported_static/stWalletTest/test_wallet_kill.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_wallet_kill. Ported from: -tests/static/state_tests/stWalletTest/walletKillFiller.json +state_tests/stWalletTest/walletKillFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/walletKillFiller.json"], + ["state_tests/stWalletTest/walletKillFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,8 +31,9 @@ def test_wallet_kill( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_kill.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,146 +48,36 @@ def test_wallet_kill( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x106: 0xC22E4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 262: 0xC22E4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "cbf0b0c0000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" # noqa: E501 - ), + to=contract_0, + data=Bytes("cbf0b0c0") + Hash(sender, left_padding=True), gas_limit=10000000, - nonce=1, value=1, + nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, nonce=2), + contract_0: Account( storage={ 0: 1, 1: 1, @@ -193,6 +86,8 @@ def test_wallet_kill( 262: 0xC22E4, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + balance=0, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_kill_not_by_owner.py b/tests/ported_static/stWalletTest/test_wallet_kill_not_by_owner.py index 27522fd37e4..2023f062962 100644 --- a/tests/ported_static/stWalletTest/test_wallet_kill_not_by_owner.py +++ b/tests/ported_static/stWalletTest/test_wallet_kill_not_by_owner.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_wallet_kill_not_by_owner. Ported from: -tests/static/state_tests/stWalletTest/walletKillNotByOwnerFiller.json +state_tests/stWalletTest/walletKillNotByOwnerFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/walletKillNotByOwnerFiller.json"], + ["state_tests/stWalletTest/walletKillNotByOwnerFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,12 +31,13 @@ def test_wallet_kill_not_by_owner( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_kill_not_by_owner.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0xA95DEFE70EBEA7804F9C3BE42D20D24375E2A92B9D9666B832069C5F3CD423DD ) - callee = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -46,147 +49,46 @@ def test_wallet_kill_not_by_owner( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - pre[callee] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=0xDE0B6B3A75EF08F, + nonce=1, + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x106: 0xC22E4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 262: 0xC22E4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "cbf0b0c0000000000000000000000000aaaf5374fce5edbc8e2a8697c15331677e6ebaaa" # noqa: E501 - ), + to=contract_1, + data=Bytes("cbf0b0c0") + + Hash(0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, code=b"", nonce=2), + contract_0: Account(storage={}, nonce=1), + contract_1: Account( storage={ 0: 1, 1: 1, @@ -194,6 +96,11 @@ def test_wallet_kill_not_by_owner( 262: 0xC22E4, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=200, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_kill_to_wallet.py b/tests/ported_static/stWalletTest/test_wallet_kill_to_wallet.py index c5832dc7a66..fe65cfeb309 100644 --- a/tests/ported_static/stWalletTest/test_wallet_kill_to_wallet.py +++ b/tests/ported_static/stWalletTest/test_wallet_kill_to_wallet.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_wallet_kill_to_wallet. Ported from: -tests/static/state_tests/stWalletTest/walletKillToWalletFiller.json +state_tests/stWalletTest/walletKillToWalletFiller.json """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -21,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stWalletTest/walletKillToWalletFiller.json"], + ["state_tests/stWalletTest/walletKillToWalletFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -29,8 +31,9 @@ def test_wallet_kill_to_wallet( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_kill_to_wallet.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,146 +48,36 @@ def test_wallet_kill_to_wallet( ) pre[sender] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: hex + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x1, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x106: 0xC22E4, - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0: 1, + 1: 1, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 262: 0xC22E4, + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "cbf0b0c0000000000000000000000000ec0e71ad0a90ffe1909d27dac207f7680abba42d" # noqa: E501 - ), + to=contract_0, + data=Bytes("cbf0b0c0") + Hash(contract_0, left_padding=True), gas_limit=10000000, - nonce=1, value=100, + nonce=1, ) post = { - contract: Account( + sender: Account(storage={}, nonce=2), + contract_0: Account( storage={ 0: 1, 1: 1, @@ -193,6 +86,8 @@ def test_wallet_kill_to_wallet( 262: 0xC22E4, 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 }, + balance=200, + nonce=0, ), } diff --git a/tests/ported_static/stWalletTest/test_wallet_remove_owner_remove_pending_transaction.py b/tests/ported_static/stWalletTest/test_wallet_remove_owner_remove_pending_transaction.py index cf4fe1c2177..7aa23367925 100644 --- a/tests/ported_static/stWalletTest/test_wallet_remove_owner_remove_pending_transaction.py +++ b/tests/ported_static/stWalletTest/test_wallet_remove_owner_remove_pending_transaction.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_wallet_remove_owner_remove_pending_transaction. Ported from: -tests/static/state_tests/stWalletTest -walletRemoveOwnerRemovePendingTransactionFiller.json +state_tests/stWalletTest/walletRemoveOwnerRemovePendingTransactionFiller.json """ import pytest @@ -12,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -23,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stWalletTest/walletRemoveOwnerRemovePendingTransactionFiller.json", # noqa: E501 + "state_tests/stWalletTest/walletRemoveOwnerRemovePendingTransactionFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,12 +33,13 @@ def test_wallet_remove_owner_remove_pending_transaction( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_wallet_remove_owner_remove_pending_transaction.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D) sender = EOA( key=0xA95DEFE70EBEA7804F9C3BE42D20D24375E2A92B9D9666B832069C5F3CD423DD ) - callee = Address("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -49,153 +51,51 @@ def test_wallet_remove_owner_remove_pending_transaction( ) pre[sender] = Account(balance=0x5AF3107A4000) - pre[callee] = Account(balance=0xDE0B6B3A75EF08F, nonce=1) - # Source: raw bytecode - contract = pre.deploy_contract( + # Source: hex + # 0x + contract_0 = pre.deploy_contract( # noqa: F841 + code="", + balance=0xDE0B6B3A75EF08F, + nonce=1, + address=Address(0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + # Source: raw + # 0x606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe # noqa: E501 + contract_1 = pre.deploy_contract( # noqa: F841 code=bytes.fromhex( - "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf" # noqa: E501 - "6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb481461" # noqa: E501 - "01c9578063746c9171146101fd578063797af62714610206578063b20d30a91461021957" # noqa: E501 - "8063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2" # noqa: E501 - "cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d86" # noqa: E501 - "1461037f575b61038960003411156101095760408051600160a060020a03331681523460" # noqa: E501 - "2082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5c" # noqa: E501 - "c9109c929181900390910190a15b565b6103896004356000600036436040518084848082" # noqa: E501 - "84375050509091019081526040519081900360200190209050610693815b600160a06002" # noqa: E501 - "0a0333166000908152610102602052604081205481808083811415610c1357610d6c565b" # noqa: E501 - "61038b6004355b600160a060020a03811660009081526101026020526040812054115b91" # noqa: E501 - "9050565b61038b60015481565b6103896000364360405180848480828437505050909101" # noqa: E501 - "90815260405190819003602001902090506107e58161013d565b61038960043560003643" # noqa: E501 - "60405180848480828437505050909101908152604051908190036020019020905061060b" # noqa: E501 - "8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b6103" # noqa: E501 - "896004356000364360405180848480828437505050909101908152604051908190036020" # noqa: E501 - "01902090506107d98161013d565b61038b60048035906024803591604435918201910135" # noqa: E501 - "60006108043361016e565b610389600435600160a060020a033316600090815261010260" # noqa: E501 - "205260408120549080808381141561039d5761041f565b61038960043560003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209050610752816101" # noqa: E501 - "3d565b61038b600435602435600082815261010360209081526040808320600160a06002" # noqa: E501 - "0a0385168452610102909252822054829081818114156107ab576107cf565b6103896004" # noqa: E501 - "356000364360405180848480828437505050909101908152604051908190036020019020" # noqa: E501 - "90506107f38161013d565b61038960043560243560006000364360405180848480828437" # noqa: E501 - "50505090910190815260405190819003602001902090506104ac8161013d565b61038b61" # noqa: E501 - "01055481565b005b60408051918252519081900360200190f35b50505060008281526101" # noqa: E501 - "03602052604081206001810154600284900a929083168190111561041f57815460018381" # noqa: E501 - "01805492909101845590849003905560408051600160a060020a03331681526020810187" # noqa: E501 - "905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d759173" # noqa: E501 - "4b929181900390910190a15b5050505050565b600160a060020a03831660028361010081" # noqa: E501 - "101561000257508301819055600160a060020a0385166000818152610102602090815260" # noqa: E501 - "4080832083905584835291829020869055815192835282019290925281517fb532073b38" # noqa: E501 - "c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190" # noqa: E501 - "a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b6001" # noqa: E501 - "60a060020a0384166000908152610102602052604081205492508214156104ee57506104" # noqa: E501 - "a7565b6104265b6101045460005b81811015610eba576101048054610108916000918490" # noqa: E501 - "81101561000257600080516020610f758339815191520154825250602091825260408120" # noqa: E501 - "8054600160a060020a031916815560018101829055600281018054838255908352838320" # noqa: E501 - "9193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060" # noqa: E501 - "020a03831690600290610100811015610002579090016000508190555060016000505461" # noqa: E501 - "0102600050600084600160a060020a031681526020019081526020016000206000508190" # noqa: E501 - "55507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c382" # noqa: E501 - "6040518082600160a060020a0316815260200191505060405180910390a15b505b50565b" # noqa: E501 - "15610606576106198261016e565b156106245750610608565b61062c6104f2565b600154" # noqa: E501 - "60fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b61" # noqa: E501 - "07105b600060015b600154811015610a47575b6001548110801561068657506002816101" # noqa: E501 - "00811015610002570154600014155b15610d7557600101610666565b156104a757600160" # noqa: E501 - "a060020a0383166000908152610102602052604081205492508214156106c15750610606" # noqa: E501 - "565b60016001600050540360006000505411156106dc5750610606565b60006002836101" # noqa: E501 - "0081101561000257508301819055600160a060020a038416815261010260205260408120" # noqa: E501 - "556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb" # noqa: E501 - "0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a15050" # noqa: E501 - "50565b15610606576001548211156107675750610608565b60008290556107746104f256" # noqa: E501 - "5b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9b" # noqa: E501 - "eaf0dad4f550da9181900360200190a15050565b506001830154600282900a9081166000" # noqa: E501 - "14156107ca57600094506107cf565b600194505b5050505092915050565b156106065750" # noqa: E501 - "61010555565b156106085760006101065550565b156106065781600160a060020a0316ff" # noqa: E501 - "5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa" # noqa: E501 - "31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160" # noqa: E501 - "a060020a0316815260200185815260200184600160a060020a0316815260200180602001" # noqa: E501 - "828103825284848281815260200192508082843782019150509650505050505050604051" # noqa: E501 - "80910390a184600160a060020a0316848484604051808383808284375050509081019150" # noqa: E501 - "6000908083038185876185025a03f15060009350610a2392505050565b60003643604051" # noqa: E501 - "808484808284375050509091019081526040519081900360200190209150610904905081" # noqa: E501 - "61020d565b158015610927575060008181526101086020526040812054600160a060020a" # noqa: E501 - "0316145b15610a235760008181526101086020908152604082208054600160a060020a03" # noqa: E501 - "191688178155600181018790556002018054858255818452928290209092601f01919091" # noqa: E501 - "048101908490868215610a2b579182015b82811115610a2b578235826000505591602001" # noqa: E501 - "91906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a" # noqa: E501 - "7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a06002" # noqa: E501 - "0a0316815260200185815260200184600160a060020a0316815260200180602001828103" # noqa: E501 - "825284848281815260200192508082843782019150509750505050505050506040518091" # noqa: E501 - "0390a15b949350505050565b5061099a9291505b80821115610a47576000815560010161" # noqa: E501 - "0a33565b5090565b15610c005760008381526101086020526040812054600160a060020a" # noqa: E501 - "031614610c0057604080516000918220805460018201546002929092018054600160a060" # noqa: E501 - "020a0392909216949293909291819084908015610acd5782019190600052602060002090" # noqa: E501 - "5b815481529060010190602001808311610ab057829003601f168201915b505092505050" # noqa: E501 - "60006040518083038185876185025a03f150505060008481526101086020908152604080" # noqa: E501 - "5181842080546001820154600160a060020a033381811686529685018c90529484018190" # noqa: E501 - "5293166060830181905260a06080840181815260029390930180549185018290527fe7c9" # noqa: E501 - "57c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b96" # noqa: E501 - "9294929390929160c083019085908015610ba257820191906000526020600020905b8154" # noqa: E501 - "81529060010190602001808311610b8557829003601f168201915b505097505050505050" # noqa: E501 - "505060405180910390a160008381526101086020908152604082208054600160a060020a" # noqa: E501 - "031916815560018101839055600281018054848255908452828420919392610c0692601f" # noqa: E501 - "9290920104810190610a33565b50919050565b505050600191505061018a565b60008681" # noqa: E501 - "52610103602052604081208054909450909250821415610c9c5781548355600183810183" # noqa: E501 - "90556101048054918201808255828015829011610c6b5781836000526020600020918201" # noqa: E501 - "9101610c6b9190610a33565b505050600284018190556101048054889290811015610002" # noqa: E501 - "57600091909152600080516020610f7583398151915201555b506001820154600284900a" # noqa: E501 - "90811660001415610d6c5760408051600160a060020a0333168152602081018890528151" # noqa: E501 - "7fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181" # noqa: E501 - "900390910190a1825460019011610d595760008681526101036020526040902060020154" # noqa: E501 - "61010480549091908110156100025760406000908120600080516020610f758339815191" # noqa: E501 - "529290920181905580825560018083018290556002909201559550610d6c9050565b8254" # noqa: E501 - "600019018355600183018054821790555b50505050919050565b5b60018054118015610d" # noqa: E501 - "9857506001546002906101008110156100025701546000145b15610dac57600180546000" # noqa: E501 - "19019055610d76565b60015481108015610dcf5750600154600290610100811015610002" # noqa: E501 - "570154600014155b8015610de957506002816101008110156100025701546000145b1561" # noqa: E501 - "0e4a57600154600290610100811015610002578101549082610100811015610002578101" # noqa: E501 - "919091558190610102906000908361010081101561000257810154825260209290925260" # noqa: E501 - "408120929092556001546101008110156100025701555b61065b565b1561018a57610107" # noqa: E501 - "54610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b6101" # noqa: E501 - "07555b6101065480830110801590610e9c5750610106546101055490830111155b15610e" # noqa: E501 - "b25750610106805482019055600161018a565b50600061018a565b610606610104546000" # noqa: E501 - "5b81811015610f4a5761010480548290811015610002576000918252600080516020610f" # noqa: E501 - "75833981519152015414610f375761010480546101039160009184908110156100025760" # noqa: E501 - "0080516020610f7583398151915201548252506020919091526040812081815560018101" # noqa: E501 - "829055600201555b600101610ec4565b5050506001016104f9565b610104805460008083" # noqa: E501 - "55919091526104a790600080516020610f7583398151915290810190610a3356004c0be6" # noqa: E501 - "0200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 ), storage={ - 0x0: 0x1, - 0x1: 0x2, - 0x3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - 0x4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, - 0x104: 0x1, - 0x107: 0xC22E4, - 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB2: 0x1, # noqa: E501 - 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB3: 0x2, # noqa: E501 + 0: 1, + 1: 2, + 3: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + 4: 0x3FB1CD2CD96C6D5C0B5EB3322D807B34482481D4, + 260: 1, + 263: 0xC22E4, + 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB2: 1, # noqa: E501 + 0x3736DCA762B6FCB9A97D5EAFDA4032FDBA21DBFA25F875001D51E03EFF955FB3: 2, # noqa: E501 0x4C0BE60200FAA20559308CB7B5A1BB3255C16CB1CAB91F525B5AE7A03D02FABE: 0x6877E4536B661640954061CDBC3A9761FB5245C340FCB1721307CD9D5F285C96, # noqa: E501 - 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 0x1, # noqa: E501 + 0x6E369836487C234B9E553EF3F787C2D8865520739D340C67B3D251A33986E58D: 1, # noqa: E501 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D0: 0xAAAF5374FCE5EDBC8E2A8697C15331677E6EBAAA, # noqa: E501 - 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D1: 0x9, # noqa: E501 - 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 0x2, # noqa: E501 + 0x915023A2112BB78C86FA558ABC0217EA6818D13895B90CE6BE233397F55EB1D1: 9, # noqa: E501 + 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 2, # noqa: E501 }, balance=100, nonce=0, - address=Address("0xec0e71ad0a90ffe1909d27dac207f7680abba42d"), # noqa: E501 + address=Address(0xEC0E71AD0A90FFE1909D27DAC207F7680ABBA42D), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "173825d9000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" # noqa: E501 - ), + to=contract_1, + data=Bytes("173825d9") + Hash(contract_0, left_padding=True), gas_limit=10000000, ) post = { - contract: Account( + sender: Account(storage={}, code=b"", nonce=1), + contract_0: Account(storage={}, nonce=1), + contract_1: Account( storage={ 0: 1, 1: 1, @@ -203,6 +103,11 @@ def test_wallet_remove_owner_remove_pending_transaction( 263: 0xC22E4, 0xD3E69D8C7F41F7AEAF8130DDC53047AEEE8CB46A73D6BAE86B7E7D6BF8312E6B: 1, # noqa: E501 }, + code=bytes.fromhex( + "606060405236156100b95760e060020a6000350463173825d9811461010b5780632f54bf6e146101675780634123cb6b1461018f5780635c52c2f5146101985780637065cb48146101c9578063746c9171146101fd578063797af62714610206578063b20d30a914610219578063b61d27f61461024d578063b75c7dc61461026e578063ba51a6df1461029e578063c2cf7326146102d2578063cbf0b0c014610312578063f00d4b5d14610346578063f1736d861461037f575b61038960003411156101095760408051600160a060020a033316815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a15b565b610389600435600060003643604051808484808284375050509091019081526040519081900360200190209050610693815b600160a060020a0333166000908152610102602052604081205481808083811415610c1357610d6c565b61038b6004355b600160a060020a03811660009081526101026020526040812054115b919050565b61038b60015481565b610389600036436040518084848082843750505090910190815260405190819003602001902090506107e58161013d565b6103896004356000364360405180848480828437505050909101908152604051908190036020019020905061060b8161013d565b61038b60005481565b61038b6004355b600081610a4b8161013d565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107d98161013d565b61038b6004803590602480359160443591820191013560006108043361016e565b610389600435600160a060020a033316600090815261010260205260408120549080808381141561039d5761041f565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107528161013d565b61038b600435602435600082815261010360209081526040808320600160a060020a0385168452610102909252822054829081818114156107ab576107cf565b610389600435600036436040518084848082843750505090910190815260405190819003602001902090506107f38161013d565b6103896004356024356000600036436040518084848082843750505090910190815260405190819003602001902090506104ac8161013d565b61038b6101055481565b005b60408051918252519081900360200190f35b5050506000828152610103602052604081206001810154600284900a929083168190111561041f5781546001838101805492909101845590849003905560408051600160a060020a03331681526020810187905281517fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b929181900390910190a15b5050505050565b600160a060020a03831660028361010081101561000257508301819055600160a060020a03851660008181526101026020908152604080832083905584835291829020869055815192835282019290925281517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c929181900390910190a15b505b505050565b156104a5576104ba8361016e565b156104c557506104a7565b600160a060020a0384166000908152610102602052604081205492508214156104ee57506104a7565b6104265b6101045460005b81811015610eba57610104805461010891600091849081101561000257600080516020610f7583398151915201548252506020918252604081208054600160a060020a0319168155600181018290556002810180548382559083528383209193610f3f92601f9290920104810190610a33565b60018054810190819055600160a060020a038316906002906101008110156100025790900160005081905550600160005054610102600050600084600160a060020a03168152602001908152602001600020600050819055507f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3826040518082600160a060020a0316815260200191505060405180910390a15b505b50565b15610606576106198261016e565b156106245750610608565b61062c6104f2565b60015460fa90106106415761063f610656565b505b60015460fa901061056c5750610608565b6107105b600060015b600154811015610a47575b600154811080156106865750600281610100811015610002570154600014155b15610d7557600101610666565b156104a757600160a060020a0383166000908152610102602052604081205492508214156106c15750610606565b60016001600050540360006000505411156106dc5750610606565b600060028361010081101561000257508301819055600160a060020a038416815261010260205260408120556106526104f2565b5060408051600160a060020a038516815290517f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da9181900360200190a1505050565b15610606576001548211156107675750610608565b60008290556107746104f2565b6040805183815290517facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da9181900360200190a15050565b506001830154600282900a908116600014156107ca57600094506107cf565b600194505b5050505092915050565b15610606575061010555565b156106085760006101065550565b156106065781600160a060020a0316ff5b15610a2357610818846000610e4f3361016e565b156108d4577f92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd00433858786866040518086600160a060020a0316815260200185815260200184600160a060020a031681526020018060200182810382528484828181526020019250808284378201915050965050505050505060405180910390a184600160a060020a03168484846040518083838082843750505090810191506000908083038185876185025a03f15060009350610a2392505050565b6000364360405180848480828437505050909101908152604051908190036020019020915061090490508161020d565b158015610927575060008181526101086020526040812054600160a060020a0316145b15610a235760008181526101086020908152604082208054600160a060020a03191688178155600181018790556002018054858255818452928290209092601f01919091048101908490868215610a2b579182015b82811115610a2b57823582600050559160200191906001019061097c565b50600050507f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf328133868887876040518087815260200186600160a060020a0316815260200185815260200184600160a060020a03168152602001806020018281038252848482818152602001925080828437820191505097505050505050505060405180910390a15b949350505050565b5061099a9291505b80821115610a475760008155600101610a33565b5090565b15610c005760008381526101086020526040812054600160a060020a031614610c0057604080516000918220805460018201546002929092018054600160a060020a0392909216949293909291819084908015610acd57820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b50509250505060006040518083038185876185025a03f1505050600084815261010860209081526040805181842080546001820154600160a060020a033381811686529685018c905294840181905293166060830181905260a06080840181815260029390930180549185018290527fe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a985095968b969294929390929160c083019085908015610ba257820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b505097505050505050505060405180910390a160008381526101086020908152604082208054600160a060020a031916815560018101839055600281018054848255908452828420919392610c0692601f9290920104810190610a33565b50919050565b505050600191505061018a565b6000868152610103602052604081208054909450909250821415610c9c578154835560018381018390556101048054918201808255828015829011610c6b57818360005260206000209182019101610c6b9190610a33565b50505060028401819055610104805488929081101561000257600091909152600080516020610f7583398151915201555b506001820154600284900a90811660001415610d6c5760408051600160a060020a03331681526020810188905281517fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda929181900390910190a1825460019011610d59576000868152610103602052604090206002015461010480549091908110156100025760406000908120600080516020610f758339815191529290920181905580825560018083018290556002909201559550610d6c9050565b8254600019018355600183018054821790555b50505050919050565b5b60018054118015610d9857506001546002906101008110156100025701546000145b15610dac5760018054600019019055610d76565b60015481108015610dcf5750600154600290610100811015610002570154600014155b8015610de957506002816101008110156100025701546000145b15610e4a57600154600290610100811015610002578101549082610100811015610002578101919091558190610102906000908361010081101561000257810154825260209290925260408120929092556001546101008110156100025701555b61065b565b1561018a5761010754610e655b62015180420490565b1115610e7e57600061010655610e79610e5c565b610107555b6101065480830110801590610e9c5750610106546101055490830111155b15610eb25750610106805482019055600161018a565b50600061018a565b6106066101045460005b81811015610f4a5761010480548290811015610002576000918252600080516020610f75833981519152015414610f3757610104805461010391600091849081101561000257600080516020610f7583398151915201548252506020919091526040812081815560018101829055600201555b600101610ec4565b5050506001016104f9565b61010480546000808355919091526104a790600080516020610f7583398151915290810190610a3356004c0be60200faa20559308cb7b5a1bb3255c16cb1cab91f525b5ae7a03d02fabe" # noqa: E501 + ), + balance=100, + nonce=0, ), } diff --git a/tests/ported_static/stZeroCallsRevert/__init__.py b/tests/ported_static/stZeroCallsRevert/__init__.py index e1371ae59a9..0239b008b60 100644 --- a/tests/ported_static/stZeroCallsRevert/__init__.py +++ b/tests/ported_static/stZeroCallsRevert/__init__.py @@ -1 +1 @@ -"""Tests ported from stZeroCallsRevert.""" +"""Ported static tests: stZeroCallsRevert.""" # noqa: N999 diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_call_oog_revert.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_call_oog_revert.py index 4c0dee76d0d..4dfe73bfc18 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_call_oog_revert.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_call_oog_revert.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_call_oog_revert. Ported from: -tests/static/state_tests/stZeroCallsRevert/ZeroValue_CALL_OOGRevertFiller.json +state_tests/stZeroCallsRevert/ZeroValue_CALL_OOGRevertFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_CALL_OOGRevertFiller.json", # noqa: E501 - ], + ["state_tests/stZeroCallsRevert/ZeroValue_CALL_OOGRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_zero_value_call_oog_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_call_oog_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,39 +48,44 @@ def test_zero_value_call_oog_revert( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (CALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=135000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + Address( + 0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + contract_0: Account(storage={0: 0, 1: 0, 100: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_empty_oog_revert_paris.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_empty_oog_revert_paris.py index 52daf61fcbb..dd8121a9474 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_empty_oog_revert_paris.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_empty_oog_revert_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_call_to_empty_oog_revert_paris. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_CALL_ToEmpty_OOGRevert_ParisFiller.json +state_tests/stZeroCallsRevert/ZeroValue_CALL_ToEmpty_OOGRevert_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_CALL_ToEmpty_OOGRevert_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_CALL_ToEmpty_OOGRevert_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_call_to_empty_oog_revert_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_call_to_empty_oog_revert_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,41 +49,44 @@ def test_zero_value_call_to_empty_oog_revert_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALL 60000 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x3b02666bf6e822d04045c3aae0d6b4d6a64249c3"), # noqa: E501 + address=Address(0x3B02666BF6E822D04045C3AAE0D6B4D6A64249C3), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=135000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + addr: Account(storage={}, balance=10), + target: Account(storage={0: 0, 1: 0, 100: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_non_zero_balance_oog_revert.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_non_zero_balance_oog_revert.py index 26459b2c87b..cc0e58412d2 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_non_zero_balance_oog_revert.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_non_zero_balance_oog_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_call_to_non_zero_balance_oog_revert. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_CALL_ToNonZeroBalance_OOGRevertFiller.json +state_tests/stZeroCallsRevert/ZeroValue_CALL_ToNonZeroBalance_OOGRevertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_CALL_ToNonZeroBalance_OOGRevertFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_CALL_ToNonZeroBalance_OOGRevertFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_call_to_non_zero_balance_oog_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_call_to_non_zero_balance_oog_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,41 +49,44 @@ def test_zero_value_call_to_non_zero_balance_oog_revert( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALL 60000 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0x9089DA66E8BBC08846842A301905501BC8525DC4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0x9089DA66E8BBC08846842A301905501BC8525DC4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x3b02666bf6e822d04045c3aae0d6b4d6a64249c3"), # noqa: E501 + address=Address(0x3B02666BF6E822D04045C3AAE0D6B4D6A64249C3), # noqa: E501 ) - pre[callee] = Account(balance=100, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=135000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + addr: Account(balance=100), + target: Account(storage={0: 0, 1: 0, 100: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_one_storage_key_oog_revert_paris.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_one_storage_key_oog_revert_paris.py index 0323931a296..c91ea857bc4 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_one_storage_key_oog_revert_paris.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_call_to_one_storage_key_oog_revert_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_call_to_one_storage_key_oog_revert_paris. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_CALL_ToOneStorageKey_OOGRevert_ParisFiller.json +state_tests/stZeroCallsRevert/ZeroValue_CALL_ToOneStorageKey_OOGRevert_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_CALL_ToOneStorageKey_OOGRevert_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_CALL_ToOneStorageKey_OOGRevert_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_call_to_one_storage_key_oog_revert_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_call_to_one_storage_key_oog_revert_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,43 +49,44 @@ def test_zero_value_call_to_one_storage_key_oog_revert_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALL 60000 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x3b02666bf6e822d04045c3aae0d6b4d6a64249c3"), # noqa: E501 + address=Address(0x3B02666BF6E822D04045C3AAE0D6B4D6A64249C3), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=135000, ) post = { - callee: Account(storage={0: 1}), + sender: Account(nonce=1), + addr: Account(storage={0: 1}, balance=10), + target: Account(storage={0: 0, 1: 0, 100: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_oog_revert.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_oog_revert.py index ae59e4f58ba..c18cc81d254 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_oog_revert.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_oog_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_callcode_oog_revert. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_CALLCODE_OOGRevertFiller.json +state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_OOGRevertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_OOGRevertFiller.json", # noqa: E501 - ], + ["state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_OOGRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,9 @@ def test_zero_value_callcode_oog_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_callcode_oog_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,39 +48,44 @@ def test_zero_value_callcode_oog_revert( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (CALLCODE 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=135000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + Address( + 0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + contract_0: Account(storage={0: 0, 1: 0, 100: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_empty_oog_revert_paris.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_empty_oog_revert_paris.py index 608d480c8e4..bf5c6682deb 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_empty_oog_revert_paris.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_empty_oog_revert_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_callcode_to_empty_oog_revert_paris. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_CALLCODE_ToEmpty_OOGRevert_ParisFiller.json +state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_ToEmpty_OOGRevert_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_ToEmpty_OOGRevert_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_ToEmpty_OOGRevert_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_callcode_to_empty_oog_revert_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_callcode_to_empty_oog_revert_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,41 +49,44 @@ def test_zero_value_callcode_to_empty_oog_revert_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALLCODE 60000 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x17b72dd2bf680549809eb79d47a19391b362e383"), # noqa: E501 + address=Address(0x17B72DD2BF680549809EB79D47A19391B362E383), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=135000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + addr: Account(storage={}, code=b"", balance=10, nonce=0), + target: Account(storage={0: 0, 1: 0, 100: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_non_zero_balance_oog_revert.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_non_zero_balance_oog_revert.py index 2b89559235f..5761ddf2f8f 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_non_zero_balance_oog_revert.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_non_zero_balance_oog_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_callcode_to_non_zero_balance_oog_revert. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_CALLCODE_ToNonZeroBalance_OOGRevertFiller.json +state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_ToNonZeroBalance_OOGRevertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_ToNonZeroBalance_OOGRevertFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_ToNonZeroBalance_OOGRevertFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_callcode_to_non_zero_balance_oog_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_callcode_to_non_zero_balance_oog_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,41 +49,44 @@ def test_zero_value_callcode_to_non_zero_balance_oog_revert( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALLCODE 60000 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0x9089DA66E8BBC08846842A301905501BC8525DC4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0x9089DA66E8BBC08846842A301905501BC8525DC4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x17b72dd2bf680549809eb79d47a19391b362e383"), # noqa: E501 + address=Address(0x17B72DD2BF680549809EB79D47A19391B362E383), # noqa: E501 ) - pre[callee] = Account(balance=100, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=135000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + addr: Account(balance=100), + target: Account(storage={0: 0, 1: 0, 100: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_one_storage_key_oog_revert_paris.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_one_storage_key_oog_revert_paris.py index fa2899cdf89..4ee22bb10d8 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_one_storage_key_oog_revert_paris.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_callcode_to_one_storage_key_oog_revert_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_callcode_to_one_storage_key_oog_revert_paris. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_CALLCODE_ToOneStorageKey_OOGRevert_ParisFiller.json +state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_ToOneStorageKey_OOGRevert_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_ToOneStorageKey_OOGRevert_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_CALLCODE_ToOneStorageKey_OOGRevert_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_callcode_to_one_storage_key_oog_revert_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_callcode_to_one_storage_key_oog_revert_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,43 +49,44 @@ def test_zero_value_callcode_to_one_storage_key_oog_revert_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALLCODE 60000 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x17b72dd2bf680549809eb79d47a19391b362e383"), # noqa: E501 + address=Address(0x17B72DD2BF680549809EB79D47A19391B362E383), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=135000, ) post = { - callee: Account(storage={0: 1}), + sender: Account(nonce=1), + addr: Account(storage={0: 1}, balance=10), + target: Account(storage={0: 0, 1: 0, 100: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_oog_revert.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_oog_revert.py index fc34ec4e50e..2fb90912ad8 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_oog_revert.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_oog_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_delegatecall_oog_revert. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_DELEGATECALL_OOGRevertFiller.json +state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_OOGRevertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_OOGRevertFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_OOGRevertFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,8 +33,9 @@ def test_zero_value_delegatecall_oog_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_delegatecall_oog_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -49,38 +50,43 @@ def test_zero_value_delegatecall_oog_revert( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (DELEGATECALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]](GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=135000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + Address( + 0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + contract_0: Account(storage={0: 0, 1: 0, 100: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_empty_oog_revert_paris.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_empty_oog_revert_paris.py index c6b28327601..53c5b35d6f5 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_empty_oog_revert_paris.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_empty_oog_revert_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_delegatecall_to_empty_oog_revert_paris. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_DELEGATECALL_ToEmpty_OOGRevert_ParisFiller.json +state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToEmpty_OOGRevert_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToEmpty_OOGRevert_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToEmpty_OOGRevert_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_delegatecall_to_empty_oog_revert_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_delegatecall_to_empty_oog_revert_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,40 +49,43 @@ def test_zero_value_delegatecall_to_empty_oog_revert_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (DELEGATECALL 60000 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xa58f691f4ea54dce9588fbad2b459893b055763a"), # noqa: E501 + address=Address(0xA58F691F4EA54DCE9588FBAD2B459893B055763A), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=135000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + addr: Account(storage={}, code=b"", balance=10, nonce=0), + target: Account(storage={0: 0, 1: 0, 100: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_non_zero_balance_oog_revert.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_non_zero_balance_oog_revert.py index 3a96770a337..ea338b669ee 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_non_zero_balance_oog_revert.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_non_zero_balance_oog_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_delegatecall_to_non_zero_balance_oog_revert. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_DELEGATECALL_ToNonZeroBalance_OOGRevertFiller.json +state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToNonZeroBalance_OOGRevertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToNonZeroBalance_OOGRevertFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToNonZeroBalance_OOGRevertFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_delegatecall_to_non_zero_balance_oog_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_delegatecall_to_non_zero_balance_oog_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,40 +49,43 @@ def test_zero_value_delegatecall_to_non_zero_balance_oog_revert( gas_limit=10000000, ) - pre[callee] = Account(balance=100, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (DELEGATECALL 60000 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0x9089DA66E8BBC08846842A301905501BC8525DC4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0x9089DA66E8BBC08846842A301905501BC8525DC4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xa58f691f4ea54dce9588fbad2b459893b055763a"), # noqa: E501 + address=Address(0xA58F691F4EA54DCE9588FBAD2B459893B055763A), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=135000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + addr: Account(balance=100), + target: Account(storage={0: 0, 1: 0, 100: 0}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_one_storage_key_oog_revert_paris.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_one_storage_key_oog_revert_paris.py index df3777cab5e..9d6a3ec983e 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_one_storage_key_oog_revert_paris.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_delegatecall_to_one_storage_key_oog_revert_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_delegatecall_to_one_storage_key_oog_revert_paris. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_DELEGATECALL_ToOneStorageKey_OOGRevert_ParisFiller.json +state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToOneStorageKey_OOGRevert_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToOneStorageKey_OOGRevert_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToOneStorageKey_OOGRevert_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_delegatecall_to_one_storage_key_oog_revert_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_delegatecall_to_one_storage_key_oog_revert_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,42 +49,43 @@ def test_zero_value_delegatecall_to_one_storage_key_oog_revert_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (DELEGATECALL 60000 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0xa58f691f4ea54dce9588fbad2b459893b055763a"), # noqa: E501 + address=Address(0xA58F691F4EA54DCE9588FBAD2B459893B055763A), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=135000, ) post = { - callee: Account(storage={0: 1}), + sender: Account(nonce=1), + addr: Account(storage={0: 1}, balance=10), + target: Account(storage={0: 0, 1: 0, 100: 0}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_oog_revert.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_oog_revert.py index 03f39fd9b00..a341f81aaba 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_oog_revert.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_oog_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_suicide_oog_revert. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_SUICIDE_OOGRevertFiller.json +state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_OOGRevertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_OOGRevertFiller.json", # noqa: E501 - ], + ["state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_OOGRevertFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,8 +31,8 @@ def test_zero_value_suicide_oog_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_suicide_oog_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) @@ -48,46 +46,51 @@ def test_zero_value_suicide_oog_revert( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (CALL 40000 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]](GAS) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0x9C40, - address=0xDA2EB5512889130C4AF686A291B08665B889CB22, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0x9C40, + address=0xDA2EB5512889130C4AF686A291B08665B889CB22, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.SSTORE(key=0x64, value=Op.GAS) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.SSTORE(key=0x64, value=Op.GAS) + + Op.STOP, nonce=0, - address=Address("0x3f9709b08071257d9b49276abf1787b5bdccf0c4"), # noqa: E501 + address=Address(0x3F9709B08071257D9B49276ABF1787B5BDCCF0C4), # noqa: E501 ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xDA2EB5512889130C4AF686A291B08665B889CB22) - + Op.STOP - ), + # Source: lll + # { (SELFDESTRUCT ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xDA2EB5512889130C4AF686A291B08665B889CB22 + ) + + Op.STOP, nonce=0, - address=Address("0xda2eb5512889130c4af686a291b08665b889cb22"), # noqa: E501 + address=Address(0xDA2EB5512889130C4AF686A291B08665B889CB22), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=100000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + target: Account(storage={}), + addr: Account(storage={}), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_empty_oog_revert_paris.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_empty_oog_revert_paris.py index ec1f539ffca..d651a8c709d 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_empty_oog_revert_paris.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_empty_oog_revert_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_suicide_to_empty_oog_revert_paris. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_SUICIDE_ToEmpty_OOGRevert_ParisFiller.json +state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_ToEmpty_OOGRevert_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_ToEmpty_OOGRevert_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_ToEmpty_OOGRevert_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_suicide_to_empty_oog_revert_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_suicide_to_empty_oog_revert_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr_2 = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,46 +49,51 @@ def test_zero_value_suicide_to_empty_oog_revert_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x76FAE819612A29489A1A43208613D8F8557B8898) - + Op.STOP - ), - nonce=0, - address=Address("0x888748026558f849c1b2433ea5e1daf1444dfc60"), # noqa: E501 - ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (CALL 50000 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0xC350, - address=0x888748026558F849C1B2433EA5E1DAF1444DFC60, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0xC350, + address=0x888748026558F849C1B2433EA5E1DAF1444DFC60, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.STOP, nonce=0, - address=Address("0xa2e25f47a24c66cfef22d3304777a22d6dd7ad4a"), # noqa: E501 + address=Address(0xA2E25F47A24C66CFEF22D3304777A22D6DD7AD4A), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (SELFDESTRUCT ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x76FAE819612A29489A1A43208613D8F8557B8898 + ) + + Op.STOP, + nonce=0, + address=Address(0x888748026558F849C1B2433EA5E1DAF1444DFC60), # noqa: E501 + ) + pre[addr_2] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=75000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + target: Account(storage={}), + addr_2: Account(storage={}, balance=10), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_non_zero_balance_oog_revert.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_non_zero_balance_oog_revert.py index df4e755ddb8..d46914d9ce8 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_non_zero_balance_oog_revert.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_non_zero_balance_oog_revert.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_suicide_to_non_zero_balance_oog_revert. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevertFiller.json +state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevertFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevertFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevertFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_suicide_to_non_zero_balance_oog_revert( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_suicide_to_non_zero_balance_oog_revert.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr_2 = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee_1 = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,46 +49,51 @@ def test_zero_value_suicide_to_non_zero_balance_oog_revert( gas_limit=10000000, ) - pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x9089DA66E8BBC08846842A301905501BC8525DC4) - + Op.STOP - ), - nonce=0, - address=Address("0x888748026558f849c1b2433ea5e1daf1444dfc60"), # noqa: E501 - ) - pre[callee_1] = Account(balance=100, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (CALL 50000 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0xC350, - address=0x888748026558F849C1B2433EA5E1DAF1444DFC60, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0xC350, + address=0x888748026558F849C1B2433EA5E1DAF1444DFC60, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.STOP - ), + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.STOP, nonce=0, - address=Address("0xa2e25f47a24c66cfef22d3304777a22d6dd7ad4a"), # noqa: E501 + address=Address(0xA2E25F47A24C66CFEF22D3304777A22D6DD7AD4A), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll + # { (SELFDESTRUCT ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x9089DA66E8BBC08846842A301905501BC8525DC4 + ) + + Op.STOP, + nonce=0, + address=Address(0x888748026558F849C1B2433EA5E1DAF1444DFC60), # noqa: E501 + ) + pre[addr_2] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=75000, ) - post: dict = {} + post = { + sender: Account(nonce=1), + target: Account(storage={}), + addr_2: Account(balance=100), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_one_storage_key_oog_revert_paris.py b/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_one_storage_key_oog_revert_paris.py index 99df4d93891..3ed2e53ab7e 100644 --- a/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_one_storage_key_oog_revert_paris.py +++ b/tests/ported_static/stZeroCallsRevert/test_zero_value_suicide_to_one_storage_key_oog_revert_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_suicide_to_one_storage_key_oog_revert_paris. Ported from: -tests/static/state_tests/stZeroCallsRevert -ZeroValue_SUICIDE_ToOneStorageKey_OOGRevert_ParisFiller.json +state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_ToOneStorageKey_OOGRevert_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_ToOneStorageKey_OOGRevert_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsRevert/ZeroValue_SUICIDE_ToOneStorageKey_OOGRevert_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_suicide_to_one_storage_key_oog_revert_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_suicide_to_one_storage_key_oog_revert_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr_2 = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,52 +49,53 @@ def test_zero_value_suicide_to_one_storage_key_oog_revert_paris( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (CALL 50000 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.POP( - Op.CALL( - gas=0xC350, - address=0x8D444744833C9B79FDFE630F155CF1F3BBEB92E3, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.CALL( + gas=0xC350, + address=0x8D444744833C9B79FDFE630F155CF1F3BBEB92E3, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, ) - + Op.SSTORE(key=0x2, value=0xC) - + Op.SSTORE(key=0x3, value=0xC) - + Op.SSTORE(key=0x4, value=0xC) - + Op.STOP - ), - storage={0x0: 0x1}, + ) + + Op.SSTORE(key=0x2, value=0xC) + + Op.SSTORE(key=0x3, value=0xC) + + Op.SSTORE(key=0x4, value=0xC) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x1d63510fcd4f3069306ebae45ec6910c0bc944c8"), # noqa: E501 + address=Address(0x1D63510FCD4F3069306EBAE45EC6910C0BC944C8), # noqa: E501 ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - callee_1 = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x4757608F18B70777AE788DD4056EEED52F7AA68F) - + Op.STOP - ), - storage={0x0: 0x1}, + # Source: lll + # { (SELFDESTRUCT ) } + addr = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F + ) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x8d444744833c9b79fdfe630f155cf1f3bbeb92e3"), # noqa: E501 + address=Address(0x8D444744833C9B79FDFE630F155CF1F3BBEB92E3), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr_2] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=75000, ) post = { - contract: Account(storage={0: 1}), - callee: Account(storage={0: 1}), - callee_1: Account(storage={0: 1}), + sender: Account(nonce=1), + target: Account(storage={0: 1}), + addr_2: Account(storage={0: 1}, balance=10), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/__init__.py b/tests/ported_static/stZeroCallsTest/__init__.py index 2002b1cf15b..b950147a342 100644 --- a/tests/ported_static/stZeroCallsTest/__init__.py +++ b/tests/ported_static/stZeroCallsTest/__init__.py @@ -1 +1 @@ -"""Tests ported from stZeroCallsTest.""" +"""Ported static tests: stZeroCallsTest.""" # noqa: N999 diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_call.py b/tests/ported_static/stZeroCallsTest/test_zero_value_call.py index fd069703b0f..7c0f01feb36 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_call.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_call.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_call. Ported from: -tests/static/state_tests/stZeroCallsTest/ZeroValue_CALLFiller.json +state_tests/stZeroCallsTest/ZeroValue_CALLFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stZeroCallsTest/ZeroValue_CALLFiller.json"], + ["state_tests/stZeroCallsTest/ZeroValue_CALLFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_zero_value_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,38 +48,40 @@ def test_zero_value_call( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (CALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + Address( + 0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + contract_0: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_empty_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_empty_paris.py index 588c79339ae..04359d4d00a 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_empty_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_call_to_empty_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_CALL_ToEmpty_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_CALL_ToEmpty_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_CALL_ToEmpty_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stZeroCallsTest/ZeroValue_CALL_ToEmpty_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,12 +31,12 @@ def test_zero_value_call_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_call_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,40 +47,40 @@ def test_zero_value_call_to_empty_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALL 60000 0 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xf202bae278ac09857f5a56991c7a4679632f5841"), # noqa: E501 + address=Address(0xF202BAE278AC09857F5A56991C7A4679632F5841), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + addr: Account(balance=10), + target: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_non_zero_balance.py b/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_non_zero_balance.py index 2d731fc73ac..ffcdfb6e038 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_non_zero_balance.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_call_to_non_zero_balance. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_CALL_ToNonZeroBalanceFiller.json +state_tests/stZeroCallsTest/ZeroValue_CALL_ToNonZeroBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_CALL_ToNonZeroBalanceFiller.json", # noqa: E501 - ], + ["state_tests/stZeroCallsTest/ZeroValue_CALL_ToNonZeroBalanceFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,12 +31,12 @@ def test_zero_value_call_to_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_call_to_non_zero_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,40 +47,40 @@ def test_zero_value_call_to_non_zero_balance( gas_limit=10000000, ) - pre[callee] = Account(balance=100, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALL 60000 0 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0x9089DA66E8BBC08846842A301905501BC8525DC4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0x9089DA66E8BBC08846842A301905501BC8525DC4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xf202bae278ac09857f5a56991c7a4679632f5841"), # noqa: E501 + address=Address(0xF202BAE278AC09857F5A56991C7A4679632F5841), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + addr: Account(balance=100), + target: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_one_storage_key_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_one_storage_key_paris.py index 6d0a8b79af3..44075302b5e 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_one_storage_key_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_call_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_call_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_CALL_ToOneStorageKey_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_CALL_ToOneStorageKey_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_CALL_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_CALL_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_call_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_call_to_one_storage_key_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,41 +49,40 @@ def test_zero_value_call_to_one_storage_key_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALL 60000 0 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALL( - gas=0xEA60, - address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALL( + gas=0xEA60, + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xf202bae278ac09857f5a56991c7a4679632f5841"), # noqa: E501 + address=Address(0xF202BAE278AC09857F5A56991C7A4679632F5841), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - callee: Account(storage={0: 1}), - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + addr: Account(storage={0: 1}, balance=10), + target: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_callcode.py b/tests/ported_static/stZeroCallsTest/test_zero_value_callcode.py index 8a238b7e01b..d4721fe68c5 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_callcode.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_callcode.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_callcode. Ported from: -tests/static/state_tests/stZeroCallsTest/ZeroValue_CALLCODEFiller.json +state_tests/stZeroCallsTest/ZeroValue_CALLCODEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stZeroCallsTest/ZeroValue_CALLCODEFiller.json"], + ["state_tests/stZeroCallsTest/ZeroValue_CALLCODEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_zero_value_callcode( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_callcode.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,38 +48,40 @@ def test_zero_value_callcode( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (CALLCODE 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + Address( + 0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + contract_0: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_empty_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_empty_paris.py index 998c307b2ff..a65b1d96d56 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_empty_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_callcode_to_empty_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_CALLCODE_ToEmpty_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_CALLCODE_ToEmpty_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_CALLCODE_ToEmpty_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_CALLCODE_ToEmpty_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_callcode_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_callcode_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,40 +49,40 @@ def test_zero_value_callcode_to_empty_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALLCODE 60000 0 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xa93ae635b4fa4d618045c019ac32ed9adc8f54ea"), # noqa: E501 + address=Address(0xA93AE635B4FA4D618045C019AC32ED9ADC8F54EA), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + addr: Account(storage={}, code=b"", balance=10, nonce=0), + target: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_non_zero_balance.py b/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_non_zero_balance.py index 397e6d96231..9e3780f2704 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_non_zero_balance.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_callcode_to_non_zero_balance. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_CALLCODE_ToNonZeroBalanceFiller.json +state_tests/stZeroCallsTest/ZeroValue_CALLCODE_ToNonZeroBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_CALLCODE_ToNonZeroBalanceFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_CALLCODE_ToNonZeroBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_callcode_to_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_callcode_to_non_zero_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,40 +49,40 @@ def test_zero_value_callcode_to_non_zero_balance( gas_limit=10000000, ) - pre[callee] = Account(balance=100, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALLCODE 60000 0 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0x9089DA66E8BBC08846842A301905501BC8525DC4, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0x9089DA66E8BBC08846842A301905501BC8525DC4, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xa93ae635b4fa4d618045c019ac32ed9adc8f54ea"), # noqa: E501 + address=Address(0xA93AE635B4FA4D618045C019AC32ED9ADC8F54EA), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + addr: Account(balance=100), + target: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_one_storage_key_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_one_storage_key_paris.py index 92a94065407..5f615dbd305 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_one_storage_key_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_callcode_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_callcode_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_callcode_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_callcode_to_one_storage_key_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,41 +49,40 @@ def test_zero_value_callcode_to_one_storage_key_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (CALLCODE 60000 0 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0xEA60, - address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0xEA60, + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xa93ae635b4fa4d618045c019ac32ed9adc8f54ea"), # noqa: E501 + address=Address(0xA93AE635B4FA4D618045C019AC32ED9ADC8F54EA), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - callee: Account(storage={0: 1}), - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + addr: Account(storage={0: 1}, balance=10), + target: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall.py b/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall.py index 307fb0356d6..3e630665533 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_delegatecall. Ported from: -tests/static/state_tests/stZeroCallsTest/ZeroValue_DELEGATECALLFiller.json +state_tests/stZeroCallsTest/ZeroValue_DELEGATECALLFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_DELEGATECALLFiller.json", # noqa: E501 - ], + ["state_tests/stZeroCallsTest/ZeroValue_DELEGATECALLFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -32,8 +31,9 @@ def test_zero_value_delegatecall( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_delegatecall.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -48,37 +48,39 @@ def test_zero_value_delegatecall( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { [[0]](GAS) [[1]] (DELEGATECALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + Address( + 0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + contract_0: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_empty_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_empty_paris.py index de1e16a095a..665a556440b 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_empty_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_delegatecall_to_empty_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_delegatecall_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_delegatecall_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,39 +49,39 @@ def test_zero_value_delegatecall_to_empty_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (DELEGATECALL 60000 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0x76FAE819612A29489A1A43208613D8F8557B8898, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0x76FAE819612A29489A1A43208613D8F8557B8898, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc8881a7e48d37b4a4cdd6338ce7076d6a116283d"), # noqa: E501 + address=Address(0xC8881A7E48D37B4A4CDD6338CE7076D6A116283D), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + addr: Account(storage={}, code=b"", balance=10, nonce=0), + target: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_non_zero_balance.py b/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_non_zero_balance.py index 53fbab6492b..5430c258458 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_non_zero_balance.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_delegatecall_to_non_zero_balance. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_DELEGATECALL_ToNonZeroBalanceFiller.json +state_tests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToNonZeroBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToNonZeroBalanceFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToNonZeroBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_delegatecall_to_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_delegatecall_to_non_zero_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,39 +49,39 @@ def test_zero_value_delegatecall_to_non_zero_balance( gas_limit=10000000, ) - pre[callee] = Account(balance=100, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (DELEGATECALL 60000 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0x9089DA66E8BBC08846842A301905501BC8525DC4, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0x9089DA66E8BBC08846842A301905501BC8525DC4, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc8881a7e48d37b4a4cdd6338ce7076d6a116283d"), # noqa: E501 + address=Address(0xC8881A7E48D37B4A4CDD6338CE7076D6A116283D), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + addr: Account(balance=100), + target: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_one_storage_key_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_one_storage_key_paris.py index c171743e909..cc6f59d0cc4 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_one_storage_key_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_delegatecall_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_delegatecall_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_delegatecall_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_delegatecall_to_one_storage_key_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,40 +49,39 @@ def test_zero_value_delegatecall_to_one_storage_key_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { [[0]](GAS) [[1]] (DELEGATECALL 60000 0 0 0 0) [[100]] 1 } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.SSTORE(key=0x0, value=Op.GAS) - + Op.SSTORE( - key=0x1, - value=Op.DELEGATECALL( - gas=0xEA60, - address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ), - ) - + Op.SSTORE(key=0x64, value=0x1) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + + Op.SSTORE( + key=0x1, + value=Op.DELEGATECALL( + gas=0xEA60, + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ), + ) + + Op.SSTORE(key=0x64, value=0x1) + + Op.STOP, nonce=0, - address=Address("0xc8881a7e48d37b4a4cdd6338ce7076d6a116283d"), # noqa: E501 + address=Address(0xC8881A7E48D37B4A4CDD6338CE7076D6A116283D), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - callee: Account(storage={0: 1}), - contract: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), + addr: Account(storage={0: 1}, balance=10), + target: Account(storage={0: 0x8D5B6, 1: 1, 100: 1}), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_suicide.py b/tests/ported_static/stZeroCallsTest/test_zero_value_suicide.py index 70e032aa14b..bb055f5de6b 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_suicide.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_suicide.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_suicide. Ported from: -tests/static/state_tests/stZeroCallsTest/ZeroValue_SUICIDEFiller.json +state_tests/stZeroCallsTest/ZeroValue_SUICIDEFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -22,7 +23,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stZeroCallsTest/ZeroValue_SUICIDEFiller.json"], + ["state_tests/stZeroCallsTest/ZeroValue_SUICIDEFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +31,9 @@ def test_zero_value_suicide( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_suicide.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -46,23 +48,36 @@ def test_zero_value_suicide( ) pre[sender] = Account(balance=0xE8D4A51000) - # Source: LLL + # Source: lll # { (SELFDESTRUCT 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b) } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) tx = Transaction( sender=sender, - to=contract, + to=contract_0, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = { + contract_0: Account( + storage={}, + code=bytes.fromhex( + "73c94f5374fce5edbc8e2a8697c15331677e6ebf0bff00" + ), + balance=0, + nonce=0, + ), + Address( + 0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_empty_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_empty_paris.py index df558a07c79..a606727e91f 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_empty_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_suicide_to_empty_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_SUICIDE_ToEmpty_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_SUICIDE_ToEmpty_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,9 +23,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_SUICIDE_ToEmpty_ParisFiller.json", # noqa: E501 - ], + ["state_tests/stZeroCallsTest/ZeroValue_SUICIDE_ToEmpty_ParisFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -33,12 +31,12 @@ def test_zero_value_suicide_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_suicide_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,25 +47,36 @@ def test_zero_value_suicide_to_empty_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (SELFDESTRUCT ) } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x76FAE819612A29489A1A43208613D8F8557B8898) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x76FAE819612A29489A1A43208613D8F8557B8898 + ) + + Op.STOP, nonce=0, - address=Address("0x888748026558f849c1b2433ea5e1daf1444dfc60"), # noqa: E501 + address=Address(0x888748026558F849C1B2433EA5E1DAF1444DFC60), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "7376fae819612a29489a1a43208613d8f8557b8898ff00" + ), + balance=0, + nonce=0, + ), + addr: Account(balance=10), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_non_zero_balance.py b/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_non_zero_balance.py index 296534c1645..e7e358d1b9e 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_non_zero_balance.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_suicide_to_non_zero_balance. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_SUICIDE_ToNonZeroBalanceFiller.json +state_tests/stZeroCallsTest/ZeroValue_SUICIDE_ToNonZeroBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_SUICIDE_ToNonZeroBalanceFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_SUICIDE_ToNonZeroBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_suicide_to_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_suicide_to_non_zero_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,25 +49,36 @@ def test_zero_value_suicide_to_non_zero_balance( gas_limit=10000000, ) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (SELFDESTRUCT ) } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x9089DA66E8BBC08846842A301905501BC8525DC4) - + Op.STOP - ), + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x9089DA66E8BBC08846842A301905501BC8525DC4 + ) + + Op.STOP, nonce=0, - address=Address("0x888748026558f849c1b2433ea5e1daf1444dfc60"), # noqa: E501 + address=Address(0x888748026558F849C1B2433EA5E1DAF1444DFC60), # noqa: E501 ) - pre[callee] = Account(balance=100, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = { + target: Account( + storage={}, + code=bytes.fromhex( + "739089da66e8bbc08846842a301905501bc8525dc4ff00" + ), + balance=0, + nonce=0, + ), + addr: Account(balance=100), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_one_storage_key_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_one_storage_key_paris.py index 0d145b38638..ce425aa0f3a 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_one_storage_key_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_suicide_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_suicide_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -24,7 +24,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -33,12 +33,12 @@ def test_zero_value_suicide_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_suicide_to_one_storage_key_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - callee = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,29 +49,37 @@ def test_zero_value_suicide_to_one_storage_key_paris( gas_limit=10000000, ) - pre[callee] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - # Source: LLL + pre[sender] = Account(balance=0xE8D4A51000) + # Source: lll # { (SELFDESTRUCT ) } - contract = pre.deploy_contract( - code=( - Op.SELFDESTRUCT(address=0x4757608F18B70777AE788DD4056EEED52F7AA68F) - + Op.STOP - ), - storage={0x0: 0x1}, + target = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT( + address=0x4757608F18B70777AE788DD4056EEED52F7AA68F + ) + + Op.STOP, + storage={0: 1}, nonce=0, - address=Address("0x8d444744833c9b79fdfe630f155cf1f3bbeb92e3"), # noqa: E501 + address=Address(0x8D444744833C9B79FDFE630F155CF1F3BBEB92E3), # noqa: E501 ) - pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=target, + data=Bytes(""), gas_limit=600000, ) post = { - callee: Account(storage={0: 1}), - contract: Account(storage={0: 1}), + target: Account( + storage={0: 1}, + code=bytes.fromhex( + "734757608f18b70777ae788dd4056eeed52f7aa68fff00" + ), + balance=0, + nonce=0, + ), + addr: Account(balance=10), } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data.py b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data.py index caed7ebb3b0..1ad8c694018 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_transaction_cal_lwith_data. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_TransactionCALLwithDataFiller.json +state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithDataFiller.json """ import pytest @@ -23,22 +22,20 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithDataFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithDataFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_zero_value_transaction_cal_lwith_data( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_transaction_cal_lwith_data.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -53,52 +50,16 @@ def test_zero_value_transaction_cal_lwith_data( tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), + to=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + data=Address(0x1122334455667788991011121314151617181920), gas_limit=600000, ) - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithDataFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_zero_value_transaction_cal_lwith_data_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - pre[sender] = Account(balance=0xE8D4A51000) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), - gas_limit=600000, - ) - - post: dict = {} + post = { + Address( + 0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_empty_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_empty_paris.py index 9e2c06c51af..e7c20c3f3c1 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_empty_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_transaction_cal_lwith_data_to_empty_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json """ import pytest @@ -23,22 +22,21 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_zero_value_transaction_cal_lwith_data_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_transaction_cal_lwith_data_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -49,58 +47,16 @@ def test_zero_value_transaction_cal_lwith_data_to_empty_paris( gas_limit=10000000, ) - pre[contract] = Account(balance=10, nonce=0) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), + to=addr, + data=Address(0x1122334455667788991011121314151617181920), gas_limit=600000, ) - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_zero_value_transaction_cal_lwith_data_to_empty_paris_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 - ) - contract = Address("0x76fae819612a29489a1a43208613d8f8557b8898") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - pre[contract] = Account(balance=10, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), - gas_limit=600000, - ) - - post: dict = {} + post = {addr: Account(balance=10)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_non_zero_balance.py b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_non_zero_balance.py index aa007a56e21..a3b3873c2c6 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_non_zero_balance.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_transaction_cal_lwith_data_to_non_zero_balance. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_TransactionCALLwithData_ToNonZeroBalanceFiller.json +state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToNonZeroBalanceFiller.json """ import pytest @@ -23,22 +22,21 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToNonZeroBalanceFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToNonZeroBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_zero_value_transaction_cal_lwith_data_to_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_transaction_cal_lwith_data_to_non_zero_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -49,58 +47,16 @@ def test_zero_value_transaction_cal_lwith_data_to_non_zero_balance( gas_limit=10000000, ) - pre[contract] = Account(balance=100, nonce=0) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), + to=addr, + data=Address(0x1122334455667788991011121314151617181920), gas_limit=600000, ) - post: dict = {} - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToNonZeroBalanceFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_zero_value_transaction_cal_lwith_data_to_non_zero_balance_from_prague( - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 - ) - contract = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - pre[contract] = Account(balance=100, nonce=0) - pre[sender] = Account(balance=0xE8D4A51000) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), - gas_limit=600000, - ) - - post: dict = {} + post = {addr: Account(balance=100)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris.py index 0f4cd6ff9bb..ccf72111465 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json """ import pytest @@ -23,22 +22,21 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") -@pytest.mark.valid_until("Cancun") @pytest.mark.pre_alloc_mutable def test_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -49,62 +47,16 @@ def test_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris( gas_limit=10000000, ) - pre[contract] = Account(balance=10, nonce=0, storage={0x0: 0x1}) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), + to=addr, + data=Address(0x1122334455667788991011121314151617181920), gas_limit=600000, ) - post = { - contract: Account(storage={0: 1}), - } - - state_test(env=env, pre=pre, post=post, tx=tx) - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Prague") -@pytest.mark.pre_alloc_mutable -def test_zero_value_transaction_cal_lwith_data_to_one_storage_key_paris_from_prague( # noqa: E501 - state_test: StateTestFiller, - pre: Alloc, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") - sender = EOA( - key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 - ) - contract = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=10000000, - ) - - pre[contract] = Account(balance=10, nonce=0, storage={0x0: 0x1}) - pre[sender] = Account(balance=0xE8D4A51000) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex("1122334455667788991011121314151617181920"), - gas_limit=600000, - ) - - post = { - contract: Account(storage={0: 1}), - } + post = {addr: Account(storage={0: 1}, balance=10)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call.py b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call.py index d6948cb0f17..d2321a62031 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_transaction_call. Ported from: -tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALLFiller.json +state_tests/stZeroCallsTest/ZeroValue_TransactionCALLFiller.json """ import pytest @@ -11,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -21,9 +22,7 @@ @pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALLFiller.json", # noqa: E501 - ], + ["state_tests/stZeroCallsTest/ZeroValue_TransactionCALLFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -31,12 +30,11 @@ def test_zero_value_transaction_call( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_transaction_call.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) - contract = Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b") env = Environment( fee_recipient=coinbase, @@ -51,10 +49,16 @@ def test_zero_value_transaction_call( tx = Transaction( sender=sender, - to=contract, + to=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = { + Address( + 0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B + ): Account.NONEXISTENT, + sender: Account(nonce=1), + } state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_empty_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_empty_paris.py index c1f17ee3aa8..719271c4801 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_empty_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_empty_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_transaction_call_to_empty_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_TransactionCALL_ToEmpty_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_TransactionCALL_ToEmpty_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,7 +23,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALL_ToEmpty_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_TransactionCALL_ToEmpty_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,12 +32,12 @@ def test_zero_value_transaction_call_to_empty_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_transaction_call_to_empty_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x76FAE819612A29489A1A43208613D8F8557B8898) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x76fae819612a29489a1a43208613d8f8557b8898") env = Environment( fee_recipient=coinbase, @@ -48,15 +48,16 @@ def test_zero_value_transaction_call_to_empty_paris( gas_limit=10000000, ) - pre[contract] = Account(balance=10, nonce=0) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10) tx = Transaction( sender=sender, - to=contract, + to=addr, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = {addr: Account(balance=10)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_non_zero_balance.py b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_non_zero_balance.py index 5a0c8eac011..b8fe07bca01 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_non_zero_balance.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_non_zero_balance.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_transaction_call_to_non_zero_balance. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_TransactionCALL_ToNonZeroBalanceFiller.json +state_tests/stZeroCallsTest/ZeroValue_TransactionCALL_ToNonZeroBalanceFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,7 +23,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALL_ToNonZeroBalanceFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_TransactionCALL_ToNonZeroBalanceFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,12 +32,12 @@ def test_zero_value_transaction_call_to_non_zero_balance( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_transaction_call_to_non_zero_balance.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x9089DA66E8BBC08846842A301905501BC8525DC4) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x9089da66e8bbc08846842a301905501bc8525dc4") env = Environment( fee_recipient=coinbase, @@ -48,15 +48,16 @@ def test_zero_value_transaction_call_to_non_zero_balance( gas_limit=10000000, ) - pre[contract] = Account(balance=100, nonce=0) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=100) tx = Transaction( sender=sender, - to=contract, + to=addr, + data=Bytes(""), gas_limit=600000, ) - post: dict = {} + post = {addr: Account(balance=100)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_one_storage_key_paris.py b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_one_storage_key_paris.py index ce52515ca85..9be1ac8ffd8 100644 --- a/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_one_storage_key_paris.py +++ b/tests/ported_static/stZeroCallsTest/test_zero_value_transaction_call_to_one_storage_key_paris.py @@ -1,9 +1,8 @@ """ -Test ported from static filler. +Test_zero_value_transaction_call_to_one_storage_key_paris. Ported from: -tests/static/state_tests/stZeroCallsTest -ZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json +state_tests/stZeroCallsTest/ZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json """ import pytest @@ -12,6 +11,7 @@ Account, Address, Alloc, + Bytes, Environment, StateTestFiller, Transaction, @@ -23,7 +23,7 @@ @pytest.mark.ported_from( [ - "tests/static/state_tests/stZeroCallsTest/ZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json", # noqa: E501 + "state_tests/stZeroCallsTest/ZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json" # noqa: E501 ], ) @pytest.mark.valid_from("Cancun") @@ -32,12 +32,12 @@ def test_zero_value_transaction_call_to_one_storage_key_paris( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Test_zero_value_transaction_call_to_one_storage_key_paris.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + addr = Address(0x4757608F18B70777AE788DD4056EEED52F7AA68F) sender = EOA( key=0x4F31B3206FBF0E0E598B9B1A7D8AC86302A0FF1D8930738F1BEBAE9B67173E52 ) - contract = Address("0x4757608f18b70777ae788dd4056eeed52f7aa68f") env = Environment( fee_recipient=coinbase, @@ -48,17 +48,16 @@ def test_zero_value_transaction_call_to_one_storage_key_paris( gas_limit=10000000, ) - pre[contract] = Account(balance=10, nonce=0, storage={0x0: 0x1}) pre[sender] = Account(balance=0xE8D4A51000) + pre[addr] = Account(balance=10, storage={0: 1}) tx = Transaction( sender=sender, - to=contract, + to=addr, + data=Bytes(""), gas_limit=600000, ) - post = { - contract: Account(storage={0: 1}), - } + post = {addr: Account(storage={0: 1}, balance=10)} state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/__init__.py b/tests/ported_static/stZeroKnowledge/__init__.py index f30be7e821d..22c418b38e9 100644 --- a/tests/ported_static/stZeroKnowledge/__init__.py +++ b/tests/ported_static/stZeroKnowledge/__init__.py @@ -1 +1 @@ -"""Tests ported from stZeroKnowledge.""" +"""Ported static tests: stZeroKnowledge.""" # noqa: N999 diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_empty_data_insufficient_gas.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_empty_data_insufficient_gas.py deleted file mode 100644 index 7f8ecfa60fd..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_empty_data_insufficient_gas.py +++ /dev/null @@ -1,223 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge -ecpairing_empty_data_insufficient_gasFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_empty_data_insufficient_gasFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - (40000, {}), - (80000, {}), - ( - 150000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_empty_data_insufficient_gas( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x2027A, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A761FD86, nonce=1) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000000000" - ), - gas_limit=tx_gas_limit, - nonce=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_inputs.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_inputs.py deleted file mode 100644 index 12110d08f8c..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_inputs.py +++ /dev/null @@ -1,1386 +0,0 @@ -""" -Various inputs to the bn254_pairing precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge/ecpairing_inputsFiller.yml -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stZeroKnowledge/ecpairing_inputsFiller.yml"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, expected_post", - [ - ( - "25a78fa05de3e5f7c69f35ab209d6595697e8664c3572a57ea0c971fe33532ed0bc38b0a2d9961cf8d392de63be18471ffaaa192111cd8adccc98b7d790b61140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008013e823575500fffffffffffffffa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "2dec711c75595613e8f7e4723c19f6e69be2ebafe07e965a001f4fa00a41eecc10246180d145035dfe0e334a8e1f4274a189b8dde0b2cc683cddfd9cae9b634b198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "30644e72e131a029b85045b68181585d97816a916871ca8d3c208d16d87cfd4700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0a12d3fb2743836bbbb51414a351e5e70429a5de70c0fe7cec084e47d6027709006a8c414196abf21da0b3f6944846c77a1032b519baa1abf125f4f84010c47a250f9cf43675bc1077753c607600f3e51b627a10f3aa68a7e462d89a6bd2a21312ae5d695c4f9792cf70228a1ba07e5e0c2cb47d7aecbae923a84a3734a94ff10bdcd3d0b8e47a925f98bad0184dfe81967aaff8db8f0dfae31afccbcb8c4bd6148dff646f2764243ba9100a930eb7cc8c766b58e0d9953256698da5dbe66cc31f372b78747db898121455853a5672e71977957f134615fd0dd1fab4938b65e7201458c7d8ec49141bd3289f8cc4d19bb52041d51187432579e2e67cab27c847198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa2110e6d9f2378c1c1cd070a3f1507c3aa924a60f67259abe487621b0d3c5c38f0c26130b8aaa54109a5d82fbb2782b9ed461a4b8faa69341ccf652d2f73e188722f1acbb03c4508760c2430af35865e7cdf9f3eb1224504fdcc3708ddb954a482a344fad01c2ed0ed73142ae1752429eaea515c6f3f6b941103cc21c2308e1cb159f15b842ba9c8449aa3268f981010d4c7142e5193473d80b464e964845c3f80efd30ac7b6f8d0d3ccbc2207587c2acbad1532dc0293f0d034cf8258cd428b300710c68e1b8b73a72a289422d2b6f841cc56fe8c51105021c56ae30c3ae1aca0b2ff392a2fc535427ec9b7e1ae1c35a7961986788cf648349190dd92e182f05198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daabebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebefdbebebebeabc689bebebebe43be92be5fbebebebebebebebebebebebebebebebebebebebebebebe9ebebebe2abebebebebebebebebebebebebebebebebebe", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca71ca8d3c16d87cfd450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000ffff7d7d7d7d7d7d7d7d7d7d7d7d30644e72e131a0297d7d7d7dffffffffff00000000000000000000000000000000000000000000000000000000ff7d7d7d7d7d817d7d7d7d7dffffffffffa100000000000000ffffffffffffffffffffffffffff7d7d7d7d7d7d7d7d7d7d7d7d30644e72e131a0297d7d7d7dffffffffff00000000000000000000000000000000000000000000000000000000ff7d7d7d7d7d817d7d7d7d7d827d7d7d7d7d7d", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000002900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000fffffffffdfffffe2e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "30644e72e131a029b85045ac81ec585dffffffffffffffffffffffffffffffffffff7d7dffff7d817f827d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d767d7d7d7d7d7d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d8d7d7d7d7d7d7d7dffffffffffffffffffffff01ffffffffffffffffffffff747d7d7d7d7d7d7d7d7dfd7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7dffffffffffffffffffffffff29ffffff0affffff0a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47000000000000000000000000000000000000000000000000000000000000000000000000ffffff000060bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad0c693395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000be00be00bebebebebebe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed95bc4b313370b38ef355acdadcd122975b4b313370b38ef355acdadcd122975b120000c8db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000005b004500000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47218c0cef2a606613357bfaa3c880e71ff8490195337fa26205a21ccd9a6949a313fed2c79add9d85b9949c5852ef8cccf02b69ea6fc4db0d1660ac7b50df39e1000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000005b004500000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45218c0cef2a606613357bfaa3c880e71ff8490195337fa26205a21ccd9a6949a313fed2c79add9d85b9949c5852ef8cccf02b69ea6fc4db0d1660ac7b50df39e1", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "2a4f1dbc9fe6d2882462fb11afeae7b7f2a0cf213b1f19c45cb222336283f3801141763c897c9a90e387ea80f68eb88c2d79aab680196d9538cd2ca632a5e81b0e540f5b5be91f82ed05349750761224f543068ce30d2d5e838bf66866f345200fa5ac8c46f725e54505019bda3356ef6e35b0a89b9b4f79bb0c62211235c9312e6d97a1f7e0428fc0be6be02c811095f5166710dcbe869c36a8ef89cac63e012657bbaf3bcfd106dd677eef03172f693a6c919776f441dc0fd47a4bd91d0487225fdab8fe6cd876363d27075cdf0d01c209da61b1634b574a5d811cfae407001216b7c3e2adc07c3bef31771c7bb9e1d02f07ff3a5b74953c4fd5bf9a7a6dff25f63fcc543337b8f6275f97d6479633b921541a96ac1bc2aff2e0905db7407c206776f9480168741eca625c06e5526b4664a02ce664bc656f39664d96278b6e1e40e8084fd648ba315f691e8367be1d4c13844421c87223d84829c31a0d7afe24b8042d4cb604ae66c0dc97ca8a9c2d22c743335d92bc401700f6b00d5cdc5b", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "2eca0c7238bf16e83e7a1e6c5d49540685ff51380f309842a98561558019fc0203d3260361bb8451de5ff5ecd17f010ff22f5c31cdf184e9020b06fa5997db841213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f06967a1237ebfeca9aaae0d6d0bab8e28c198c5a339ef8a2407e31cdac516db922160fa257a5fd5b280642ff47b65eca77e626cb685c84fa6d3b6882a283ddd1198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2e8ff2110ede0e189426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba2e89718ad33c8bed92e210e81d1853435399a271913a6520736a4729cf0d51eb01a9e2ffa2e92599b68e44de5bcf354fa2642bd4f26b259daa6f7ce3ed57aeb314a9a87b789a58af499b314e13c3d65bede56c07ea2d418d6874857b70763713178fb49a2d6cd347dc58973ff49613a20757d0fcc22079f9abd10c3baee2459000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000b4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d00e9ff0000000000000000ffffffffffffffffbfffffffffffffffffffa120000000000000fffffffffff7ffffffffffff000000000000000000000000000000000000000000000000000000002d0002ff0000000000000000ffffffffffffffffbfffffffffffffffffffa120000000000000ff007d7d7d7d7d7d7d7d7d7d", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a0294fafba497e1ec6d18c48814a69000000010000000030000000cd71ec682d26313681ea8a1a9a410c862cc44a5d0000000000000000000001158d600a2d8411f2e9bd1a1b51eac64e43b0c511f2e9bd1a1b51eac64e43b0c511fc9ba8b80b727a2c28ee454fc286fd659262c510a3e7f11a4b0e4b74bebafc", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d00e9ff0000000000000000ffffffffffffffffbfb2ffffffffffffffffa120000000000000fffffffffff7ffffffffffff000000000000000000000000000000000000000000000000000000002d0002ff0000000000000000ffffffffffffffffbfffffffffffffffffffa120000000000000ff007d7d7d7d7d7d7d7d7d7d", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f8ffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffa10000000000ffffffffffffffffffa100000000000000000000000000000000000000000000000000000000000000000016c46ebe0077418d002f28e20236919ad92313729f18578ba8547626478ea52c2b5b688b4d8078d1e1acd7acc7be7f9e0e30812ce2925b35559213646c93237f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000fb55bf7df894a746fbe20b6f8c54d0dc0d9fd4ed005174a42fc3c45e6e27f912a20d63d446eb175733853b88dd36708eb7a81f5c79e7659c3a6e2b2c470077005ed60ba723a2dd3a5fc35520f982963de61e3b563636fe6996cc2c3008035720ad16f835a46faca48c6d39ae00a10d3514e93ae3b946ee2f009ea2dccff97e198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed09068950585ff0759e99ecad6903000000000000000000000000000000002c000000000000000000000085b7aef328c21800deef5e0000aa426a00665e0000aa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a8329a0d6d5e7d14a774c3abff1435361da2ee5d8b4f3ee62085ce779f248b41d4a2fd37ae5468f6a17b7f9a0bcca02ee128bdced61402a566e4eee2d0fa825f03d198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47000000000000004500000000000000000000000000000000000000000000000107b55de1642362d16b8fc4dccfec9e794d24968511cf8e252ed27afc4d72ca1e0301cb4d7e0b7b52a6a8f78613c403ead1543fedb0d3f28c77685fdb9eaa27420cdc335fa81dff303b71cffb0256d7097c2b4c6715ca7b1589ea9386a41c2f851223d6bb1f3e68ddfb08f4c95f590f99227fb681a3b0abdf685cf12bde37d8ee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000001f1cd7f247f2ae1ba9a1aeb4b32ed4c8c13c70c8861b6ab5340e276c58e1046b13d7de2b557e0ae2b53380ad596ba79f07c037c9d9aa17cf407e9ed86201436e", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffff0000000000000000ffffffffffffffffffff", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000192b7e3a0ca8b63592989fe8b2589465703315272bc730644e72e131a029b85045b68181585d00001b86b77538000000000100000000128a694e7017ae1db6a312c9ef648b1a4910a41e684cb554302044a2065f04680df2d76a91278279cf401d431c31876ee9c8ad35070694552ccbd368755413830000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000192b7e3a0ca8b63592989fe8b2589465703315272bc730644e72e131a029b85045b68181585d00001b86b77538000000000100000000128a694e7017ae1db6a312c9ef648b1a4910a41e684cb554302044a2065f04680df2d76a91278279cf401d431c31876ee9c8ad35070694552ccbd36875541383", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b000000000045000000002a00000000008000000000000000000130644e72e131a029b65045b68181585d2b0d3025c6abdbaa75ef4d163a7cfd4017c66e1806ece8d631d792f8cbd8bdf7514a9058c183a3b2fcda7e86c44b7752301a6a722cdc812165b619f3cd2b21250d7f7083d0b984fdaf8636202e4ae0470000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2b0d3025c6ab2eb4fbef4d16d87cfd4000000000005b004500000000000000002a000000000000000000000000000001109beddbaa84026c8f71d34a485af27fe418028129b55b0a0df51e3dba2310021aea54403ce01876467152aa79ca1f227b6b1e0f95b56cb0537583190252556d", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000fb55bf7df894a746fbe20b6f8c54d5dc0d9fd4eda4742fc35100c45e6e27f912a20d63d446eb175733853b88dd36708eb7a81f5c79e7659c3a6e2b2c470077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000fb55bf7df894a746fbe20b6f8c549feddc0dd0d4005174a42fc3c45e6e27f912a20d63d446eb175733853b88dd36708eb7a81f5c79e7659c3a6e2b2c470077", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ea1146af1a0c4df0000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015d42e5a1c18703100bef65a743007bead1fc389b7d8f0a8ccda34b7d30620cb1c4156d243211b733af4f4fff11b9c0928308bf3c3102415e3105b986166d0cd00000000000000000000000000000000000000000000f8ffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249409822e0000000000000000000000000000000000000001154baf30644e72e131a029b85045b66ac4175696816a916871ca8d3c208c161a46c432126f44fab27034ba2832173059ebf31a96607ada20f006b4f12d4a8bad410d8f02eee77897359cfc599b6ca4e8c2a47f641fc0cd6d4146d8eca263a85c7aa36500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a8305b993046905746641a19b500ebbbd30cf0068a845bfbee9de55b8fe57d1dee8243ef33537f73ef4ace4279d86344d93a5dc8c20c69045865c0fa3b92493387900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a8305b993046905746641a19b500ebbbd30cf0068a845bfbee9de55b8fe57d1dee8243ef33537f73ef4ace4279d86344d93a5dc8c20c69045865c0fa3b924933879", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000020833e47a2eaa8bbe12d33b2da1a4fa8d763f5c567fe0da6c5c9da2e246f2096f28dc125bf7443bc1826c69fe4c7bf30c26ec60882350e784c4848c822726eb43000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000020833e47a2eaa8bbe12d33b2da1a4fa8d763f5c567fe0da6c5c9da2e246f2096f28dc125bf7443bc1826c69fe4c7bf30c26ec60882350e784c4848c822726eb43", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000020833e47a2eaa8bbe12d33b2da1a4fa8d763f5c567fe0da6c5c9da2e246f2096f28dc125bf7443bc1826c69fe4c7bf30c26ec60882350e784c4848c822726eb431a3cf0c503b2dbc6e1b0f8aea605de20d8612fe14627c6f4d3706f8272a1cf842a0bb098018ca4392a1ddc08b9605602aed954308944ac729e2f99bfdd0166dd0000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000024b364d16400886c82900af060fd117cb2f4e0b93590cbf6ec34ed97f4c391ec26a10e3233aeff776d578de9178a9b7bb919e6eb6cf2cf924eb16ec8dc659af9", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b05040ff00000000000000000000000000000000000000002e00d573b028b22b9d347da8044a53c94b6c3aee7d9bfb00ab2c0a10eb4775e619e1a75be1c5d39a105504a0e5d16c949524742dde6bbb6e831668fef921a1430000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b050ffffffff585d97816a86b77537dafbef4d16d87cfd4500000000005b00450000f400000000002a00647d903b504c1a020000000000012db3d49da56012cf4f73cbf19fdb59ef41356cebb4f4b6f692f9a38fb282a9ff2d96db5d24dcea418a44feae6052fbc7788e65e521b17232666818386252176a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000107b55de1642362d16b8f25dccf30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d800000009eae594f627b7ccf496d680f0266e7364f51d2d99ccd69801f29137d889e1e006ea1409d3f9bb38bd40e8da0701d122e059a02fc3c3c4a99a8cbf6e4290bdc0000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000107b55de1642362d16b8f25dccf30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d800000009eae594f627b7ccf496d680f0266e7364f51d2d99ccd69801f29137d889e1e006ea1409d3f9bb38bd40e8da0701d122e059a02fc3c3c4a99a8cbf6e4290bdc0", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000005b00450000000000da76b36b83c72830000000000000000000000830644e72e131a029b85045b68181585d97816a916871ca8d104d5b2baf5734631b8765e7f5163862fcd3bc29f751af42d869a0c8a329f5a53472d3c977038bb7068cd6bc298bd1ec695a49e1db0620332f26e03a4a0ed9076973c1fea43099f2000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000005b004500000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45218c0cef2a606613357bfaa3c880e71ff8490195337fa26205a21ccd9a6949a313fed2c79add9d85b9949c5852ef8cccf02b69ea6fc4db0d1660ac7b50df39e1", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000005b00450000fc00000000002a00647d903b504c1a0200000000000130644e72e131a029b85045b68181585d97816a86b77537dafbef4d16d87cfd450125b8edede9e4f320e4dbfd7ee46d23a82508c3b44dbb99cb29724daaa5c5602d663cc48c6d7469cc9df0e861f3a9b93239af8001f8ecf28b4572f201ef1369000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a86b77538dafbef4d16d87cfd4500000000005b004500000000000000002a00647d903b504c1a02000000000001247f1f6fbf2fe1fff7e28d816724080774979f57692c2fa8569ea1a3ce52dfc51f5c96f77d84ae24b701a32ff1b8d95b982c76bf5ab02e605c9ba4fa9f45b958", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002012cd187faae3648a35e12cc197ddb26d9d3a44a625d97816a86b77537dafbef30644e72e131a029b050ffffffff5802086325c1129ad4a34ebb48ee9634016008aef33d9388c8f993f0af340e047c1c9519d222062186f7b025291b6f6f4ef2293f1064b0e3345895dc4968bc8bb52fcbe960621c1f15cd7c693c7347078e32000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45012cd187faae3648a35e12cc197ddb26d9d3a44a625d97816a86b77537dafbef30644e72e131a029b050ffffffff5802086325c1129ad4a34ebb48ee9634016008aef33d9388c8f993f0af340e047c1c9519d222062186f7b025291b6f6f4ef2293f1064b0e3345895dc4968bc8bb52fcbe960621c1f15cd7c693c7347078e32", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b05045b68181585d97816a86b77537dafbef4d16d87cfd4500000000005b00450000fc00000000002a00647d903b504c1a020000000000012c32d7465b0607cfaebe0b13577b25e42fe6d9e49eeb9d5c0ca78cc17e114cbc2cd71c8288ebbd272a784c5b4921128cb68e9e2ddaaec0595b266126c4e526bd000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b05045b68181585d97816a86b77537dafbef4d16d87cfd4500000000005b00450000fc00000000002a00647d903b504c1a020000000000012c32d7465b0607cfaebe0b13577b25e42fe6d9e49eeb9d5c0ca78cc17e114cbc2cd71c8288ebbd272a784c5b4921128cb68e9e2ddaaec0595b266126c4e526bd", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a68917120ca8d3c8c16d87cfd4500000000005b004500000000000000000000000000000000000000004000000111ee2be185fb562c979eeb452df376f91c7852bfb8a6d5727024444a2fc58c152825d78e66be7952503e9e1bf2d8aad4c39f4ce4095349043106508bab20d6e5000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a68917120ca8d3c8c16d87cfd4500000000005b004500000000000000000000000000000000000000004000000111ee2be185fb562c979eeb452df376f91c7852bfb8a6d5727024444a2fc58c152825d78e66be7952503e9e1bf2d8aad4c39f4ce4095349043106508bab20d6e5", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a86b77538dafbef4d16d87cfd4500000000005b004500000000000000002a000000000000000000000000000001124ca5dc43ed1e22d1c616b50a7d4249a012c1d65330ae8e4cad70567c8231bb23f9415fa570e58e0ac61e4e6e7a6bd02a564f6b206a9d4645401b1d677bf3ab000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a86b77538dafbef4d16d87cfd4500000000005b004500000000000000002a000000000000000000000000000001124ca5dc43ed1e22d1c616b50a7d4249a012c1d65330ae8e4cad70567c8231bb23f9415fa570e58e0ac61e4e6e7a6bd02a564f6b206a9d4645401b1d677bf3ab", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a86b77538dafbef4d16d87cfd4500000000005b004500000000000000002a00647d903b504c1a02000000000001247f1f6fbf2fe1fff7e28d816724080774979f57692c2fa8569ea1a3ce52dfc51f5c96f77d84ae24b701a32ff1b8d95b982c76bf5ab02e605c9ba4fa9f45b958000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a86b77538dafbef4d16d87cfd4500000000005b004500000000000000002a00647d903b504c1a02000000000001247f1f6fbf2fe1fff7e28d816724080774979f57692c2fa8569ea1a3ce52dfc51f5c96f77d84ae24b701a32ff1b8d95b982c76bf5ab02e605c9ba4fa9f45b958", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a916871ca8d30140b193f92396c00000000005b0045000000000000000000000000000000080000000000000001301a8b8043356b83c4341d5e9cfc67071c61c0b053ec979b59ad8c0455b71c9815f88e8c709168c1ab898ca5288423b585331497f16b2c074dcbf76c2480e8c9000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d30140b193f92396c00000000005b0045000000000000000000000000000000080000000000000001301a8b8043356b83c4341d5e9cfc67071c61c0b053ec979b59ad8c0455b71c9815f88e8c709168c1ab898ca5288423b585331497f16b2c074dcbf76c2480e8c9", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd452b0d3f819fd0046aee4d0e54cc759ad714c473bd5f86a0d68df977f7450390f730644e72e131a029b85045ae0000000000000107b55de1642362d16b8fc4dccf2a5c3a27c4a417ea34f627b9481b9004e3b0ef59619daa16e846d8a152d6bf771301a8bb9c71966a4b557a21eea89447294e8a9cc1308f0c8eecb16dfbf5d53b000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000004500000000000000000000000000000000000000000000000107b55de1642362d16b8fc4dccfec9e794d24968511cf8e252ed27afc4d72ca1e0301cb4d7e0b7b52a6a8f78613c403ead1543fedb0d3f28c77685fdb9eaa2742", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd0000000000005b0045000000000000000000000000000000000000000000000001112006831f3f0e121585c21cdf0aaf63f09728bcfee141bb4cd407caae7715e319df1e217ad7b1f874726c6683ab87b423c1737f46a54dc5356a9b617c6b9e28000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000005b004500000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45218c0cef2a606613357bfaa3c880e71ff8490195337fa26205a21ccd9a6949a313fed2c79add9d85b9949c5852ef8cccf02b69ea6fc4db0d1660ac7b50df39e1", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000020833e47a2eaa8bbe12d33b2da1a4fa8d763f5c567fe0da6c5c9da2e246f2096f28dc125bf7443bc1826c69fe4c7bf30c26ec60882350e784c4848c822726eb43", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "003db26a0b244fb3fd47f7f5f0f8a289e088fd932d340f0592696503fc62124824c9b9423ef04336563adc35604ba729a4c9e6104bfcb55517e3198b8edbdf981800deef121f1e76426a00665e5c4479674322d4f75edaddde46bd5cd992f6ed198e9393920d483a7260bfb731dd5d25f1aa493335a9e71297e485b7aef312c20b9f1099ecefa8b45575d349b0a6f04c16d0d58af9007f2c6d8bd7aa763a3b0e0b7c77862fe8d10d489a493a1a5c5d0f282c7d4e8148f340653c4b6297a1088f003db26a0b244fb3fd47f7f5f0f8a289e088fd932d340f0592696503fc62124824c9b9423ef04336563adc35604ba729a4c9e6104bfcb55517e3198b8edbdf98198e9393920d483a7260bfb731dd5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed2ba3e0cab22efbfef96e027f1a29ba7ec11a0f824024a3787d3cb8370b9eed71103ce48dac2e3ff691b61c7e4466adf35aa183aade7f15386bf7c789628b1b0e", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0d1e4322f03fa0515f8ed6cb02b15e5a024b5092003dd7792d2ac055f14ac67d155c53a1daa56e3a5e9bd097cebfcd44038f2c606c8951310aae0ea01a44725300000000000000279573fbfe8e6c2300000000000030640472e131a029b85045255495ffba02a0ed6877a0a6ed4684235053c04cc3aaa05934e35bbb953673af0e1cec4c9d6d3921992e4c5c71523f5d097cde90f25b3e6c52c9c63e764a67870fe0cfe24e0b2f78d4f909c9131e3794fa911b1109df4a567b1423475cf409c1000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4700000000000000000000000000000000000000fcff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000212a3b4059e59d125dd17f662945170e1e13024fae97a401895690acac63cf681aecb67409d1d9c142ffd13375bd79fd0457deb278dfa91b5756378fb837fd60", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0e474956b0fbc11ba65f3c7632afb3c66a98340871cee7c974db4461d8791b8d25410e545457af7bb0e9d2f1f8126180f11dec9bfcf69cd2934e6814741c9aa2231e75fddf7e2fa8b38b7dd6fd13eb4b7046000000000000000000000200650000000000000000000000000000000000000000000000002546ac8393e836a2970d312fc0ac642c207b5b36e17990b4f7d0ef39cfe6f0d46b9c556a0b7935714b1e4cd9fd726048138dcdea456203d4b7414f3ba5ef7b37817aa98874d71c191f2e5efcb149c6a4914b8d85be71e79254f9fdf19f62de2b2f6cc0822e578a420f07fd874051cb395ca999e596047a25fc6bc12cba97dab578f9f903612c1c757f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "102c9afaa6ac9d2553d0f47e2a945816f56b10014ddcc00ef63f5cda3d1431020db583622c614b32310911623e2f71f7871413d13dc372ace97f1813d2622d590a0e124cd6005b33c8a16492b1b451897b1679f44f3d288585ec8f82b49f6f501579cd1aa3fb1bf108c6b7b5d1f4ae1fae44099a8bf5fddc74d87665e29812ba0d5db514ca1c318cc409bcbf9a75055b1a8e7b783127734d902b6118b518ee962f24a2abda945e843c6952a5f0632365146cfd4e2034b70e41a78772fc404bea102c9afaa6ac9d2553d0f47e2a945816f56b10014ddcc00ef63f5cda3d14310222aecb10b4d054f7874734544351e666106d56c02aae57e052a17403061acfee0a0e124cd6005b33c8a16492b1b451897b1679f44f3d288585ec8f82b49f6f501579cd1aa3fb1bf108c6b7b5d1f4ae1fae44099a8bf5fddc74d87665e29812ba0d5db514ca1c318cc409bcbf9a75055b1a8e7b783127734d902b6118b518ee962f24a2abda945e843c6952a5f0632365146cfd4e2034b70e41a78772fc404bea", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "11c8f0ea735e099781f852fb93256540c7c7611ba324f67680f3dbfc00bbdda12d7fb8d83e13afa4ea8a9d8817cd5b7c5b1804aa1006af2a8ab7e9c7757b300c040000002db3759aaff5357156bc2e8d52eacd11efb7d108d3b4034162839a9300000000003000000000000000000000000000000000000000000031000000000649ebc27a3909e089c6023c7ed952098a3e5547ce56e79953929ba4d718f1311c2c7e752e7947b506c14a8300a0d15d9022bd6fba67461cc8a0783dfeba77fb11c8f0ea735e099781f852fb93256540c7c7611ba324f67680f3dbfc00bbdda102e4959aa31df084cdc5a82e69b3fce13c6965e7586b1b62b168a24f6301cd3b040000002db3759aaff5357156bc2e8d52eacd11efb7d108d3b4034162839a9300000000003000000000000000000000000000000000000000000031000000000649ebc27a3909e089c6023c7ed952098a3e5547ce56e79953929ba4d718f1311c2c7e752e7947b506c14a8300a0d15d9022bd6fba67461cc8a0783dfeba77fb", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "12ca97e893996e5bb392c57abba4578276654d2856b336b640eafd84de31140e055370544625ea3c3e85a42831dcaf47353695b158149bc2d5bf4061326f089e0e80426227ce5fd647afba497e7ea7a2687e956e978e3572c3df73e9278302b9000000000000000000000000000000000000000000000000000000c451f8749a05602fde384569be9950c3466d0fb40a66a63f202c3a685856cd21c76cea2be70ed4f367e657bc59c785bf6bf6ac33fb4b653e8bd68d1d838e0416e8c47b5f5312ca97e893996e5bb392c57abba4578276654d2856b336b640eafd84de31140e2b10de1e9b0bb5ed79caa18e4fa4a916624ad4e0105d2eca66614bb5a60df4a90e80426227ce5fd647afba497e7ea7a2687e956e978e3572c3df73e9278302b9000000000000000000000000000000000000000000000000000000c451f8749a05602fde384569be9950c3466d0fb40a66a63f202c3a685856cd21c76cea2be70ed4f367e657bc59c785bf6bf6ac33fb4b653e8bd68d1d838e0416e8c47b5f53", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "1425b11b4fe47a394dbfc0ad3e99dc93c3e1c0980b9bcb68529ba9de33dbf585168b8cdff7ae7d084fd111608fa03e018b415fd4f0755f7e8f039a2d852bda0e0000000000000000000000000000000000000000000000000000000000005b00149bb18d1ece5fd647afba497e7ea7a2687e956e978e3072c4fc9ec579b809462061ebaffaedc532d8bb542f9d93cae5dc6c4b431833ee0a7be4d053e2e0d60d03c12e282e4442c88f5235d004e8edba3080754ca41c976d03cd332a9b6fa42d1425b11b4fe47a394dbfc0ad3e99dc93c3e1c0980b9bcb68529ba9de33dbf58519d8c192e9832321687f3455f1e11a5c0c400abc77fc6b0ead1cf1e953512339149bb18d1ece5fd647afba497e7ea7a2687e956e978e3572c4fc9ec579b809460000000000000000000000000000000000000000000000000000000000005b0029e864b516b661105d0a2708f21beaae1bf1636608ac53864c4d8f0ea2e7dc3805c3b957caa8f4c5f248e3e6e754304e9ba7e5b6dd3a4ece125f47811a525e65", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "1565586940bbb0e082639a1e2c9ecfe96bff6cbda25a93c4d462b8360230067219767d96dd90432f459bf8f6181c9fea507bf7bcd4063fd070fe8e72093e8bf900000000000000000000000000000000000000000000000000000000000000e8000000000000000000000000000000000000000000000000000000000000000023812d70e97cfd777c5cf0b64b18400f3ea88afb56146bfc1f34071eebb0599827352c710f0e1711b5d18e672b5cab3c369cd8d84b70ed159bb712c7d929c8e51565586940bbb0e082639a1e2c9ecfe96bff6cbda25a93c4d462b8360230067216edd0dc03a15cfa72b44cc06964b873470572d4946b8abccb21fda4cf3e714e252b5ec0e7df7df26d0cc46dd811ace847a4174aa634c8d9269ccebb52845d7829a0fe67466554bc0a6c97089dec1ebac672344bc3a69b8fc6904f9b83438cbb24c159cda85a7f7e04f7e128101e8fbe502fee784946ffce0a9174424f0254b22b0c8ac28082e97eae5ee175ae2c1a6e466c7dd693238a386ec80f7743ffc517", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "17ac723d48c98fce706845b61c254630acb6da96a9620fc6cd07276a4ef8936d1a515b7e403d2a46bb5387138f17d33c2b12e3d5051f9d22042921f35031035e000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d8ad25dc006eea79b9c052a6a367b209d5c9215c8a4c325555a7e1e608abed022dd54ed23382326a8df674c7be35d7ac181c9625a10f508dd7fbd109760d76217ac723d48c98fce706845b61c254630acb6da96a9620fc6cd07276a4ef8936d1612f2f4a0f475e2fcfcbea2f26985216c6e86bc63522d6b37f76a23884bf9e9062ca96b10a86be7bc151a74e01170193f2ad046c2f5eb3a25a95592cc3a17752043c18fe0a47868239575b1c3700be7308890370eb6982f4e3e36916ebc28f52b7d22180be2bdca69028c5bf32181d203b2350781d675098b320766f5dcd9b02a21aa3010f604fea531e9264671d546cc94d8a0ddab42b7146573f5c1ed26fb", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "1c4189bbfe590521da71e6834b73a622528fd923e9421f18df9a48e9123b16aa15c8e4948927f2e089accb33c8d51b4c83ca69505f4a7801399573273d7439910000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000800023ad956e40f22f18bf59310f6d23055f2a3fdc2713f05cf1b099a18041cd498220b15bb64c3c6223098439e4fc7e9b2bd956ed94b2bf1f066c281d41c8560ee51c4189bbfe590521da71e6834b73a622528fd923e9421f18df9a48e9123b16aa1a9b69de5809ad492ea37a82b8ac3d1113b701410927528c028b18ef9b08c3b60000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000800023ad956e40f22f18bf59310f6d23055f2a3fdc2713f05cf1b099a18041cd498220b15bb64c3c6223098439e4fc7e9b2bd956ed94b2bf1f066c281d41c8560ee5", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0a96696a78e6818da746c504a8b83f7a3faea0dfee0a2c52751f3cfae5fe979b017a319dce2d1976671eddd5b909781c102e5eed5c40db00bdbd19a14397b889198e9393920daef312c20b9f1099ecefa8b45575d349b0a6f04c16d0d58af9001800deef121f1e76426a00665e5c4479674322d4f75edaddde46bd5cd992f6ed05a7a5759338c23ca603c1c4adf979e004c2f3e3c5bad6f07693c59a85d600a922376289c558493c1d6cc413a5f07dcb54526a964e4e687b65a881aa9752faa2", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "1c934d642c245e76eb0c016b17e8eced3a1cf56ef6d787eace40bc0cb933dea902567d6e1141f67673e6f17a705f3d9764c6d5673f1f93e2ed5a21fd38e9a572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007700000000000000000000001f3953d0d836a44e15aebef16dd187ccf9493693379fe7d1c5a2cf2deb87f89c0dd737c063475fc587c1574a8ff4e9e4f933118d67bb7ba4a70c79c1ccb0d3441c934d642c245e76eb0c016b17e8eced3a1cf56ef6d787eace40bc0cb933dea92e0dd104cfefa9b34469543c11221ac632ba952a295236aa4ec66a199f9357d5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007700000000000000000000001f3953d0d836a44e15aebef16dd187ccf9493693379fe7d1c5a2cf2deb87f89c0dd737c063475fc587c1574a8ff4e9e4f933118d67bb7ba4a70c79c1ccb0d344", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "1ced814234531c29aa14f95e3a3f59657aacea69fa4c35dfa5b8e03c87e8075725c3327a2c4f61437d53abbb2bb75dc1dc4f2427c3e9d7714d5d83dae80697690ec85b4f8a9224b27145b3757b7bf6e7397bc04c8634404d924689e27bb8a261000000000000000000000000000000000000000000000000000000000000bf890e717255b589c7286f7bde23fe6ac9d838262d9e7ba5bc603e410abf27aada5b1760bbdb5183ae4e28f049cfe75fb9600b8fd03e63d9aa1a9bd709d23afbc12f1ced814234531c29aa14f95e3a3f59657aacea69fa4c35dfa5b8e03c87e807570aa11bf8b4e23ee63afc99fb55c9fa9bbb324669a487f31beec3083bf07665de0ec85b4f8a9224b27145b3757b7bf6e7397bc04c8634404d924689e27bb8a261000000000000000000000000000000000000000000000000000000000000bf890e717255b589c7286f7bde23fe6ac9d838262d9e7ba5bc603e410abf27aada5b1760bbdb5183ae4e28f049cfe75fb9600b8fd03e63d9aa1a9bd709d23afbc12f", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "1f9d02fa71d0ae244edc79709af68216d99a978a5e8fd92ebe793fff8317aad42cd6a493d88a0a87a6f6818c23fa87ff12fd84e5641e1081e849f6e88a488a4304bb53b8977e5f92a0bc372742c48309445cd3cfa9a62aee49f8130962b4b3b9203e205db4f19b37b60121b83a7333706db86431c6d835849957edf0509de1521f544b5e4ab6d13dcb7e89582aaee12a8410a7c6b2d8a5de7bd83e8cdb1fb1a82baef43e095caaf7c2aca272aee277d1da98d74656f2ca01b833c67dcc08ca5d000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000005b004500000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45218c0cef2a606613357bfaa3c880e71ff8490195337fa26205a21ccd9a6949a313fed2c79add9d85b9949c5852ef8cccf02b69ea6fc4db0d1660ac7b50df39e1", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "225fdab8fe6cd876363d27075cdf0d01c209da61b1634b574a5d811cfae407001216b7c3e2adc07c3bef31771c7bb9e1d02f07ff3a5b74953c4fd5bf9a7a6dff25f63fcc543337b8f6275f97d6479633b921541a96e0f2acaf901bc25db7407c206776f9480168741eca625c06e5526b4664a02ce664bc656f39664d96278b6e1e40e8084fd648ba315f691e8367be1d4c13844421c87223d84829c31a0d7afe24b8042d4cb604ae66c0dc97ca8a9c2d22c743335d92bc401700f6b00d5cdc5b2a4f1dbc9fe6d2882462fb11afeae7b7f2a0cf213b1f19c45cb222336283f3801141763c897c9a90e387ea80f68eb88c2d79aab680196d9538cd2ca632a5e81b0e540f5b5be91f82ed05349750761224f543068ce30d2d5e838bf66866f345200fa5ac8c46f725e54505019bda3356ef6e35b0a89b9b4f79bb0c62211235c9312e6d97a1f7e0428fc0be6be02c811095f5166710dcbe869c36a8ef89cac63e012657bbaf3bcfd106dd677eef03172f693a6c919776f441dc0fd47a4bd91d0487", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "22847a3cd1cb28b60a51b54991d6dd86d206aa12b3873942c45a120b2e63a49226c3889c7b08d9288f13f64e6e3f166c59f57b5c014cbecf815a4aba4ebabbfb2e91f2b0f4f7a42c870fe8f6236ec1042bdeb2586a641808a5e09019514e83a02b078a1f12cb5426b6bcfeb9548566afb4bdf7454190eaf97f63e210f3a94ce1008a9ede8dde2c849793027433d90c626bc326bdc248dc223f537f7152955dac00b319b7060ad49091d9b52015b4ae8085bf6739b7f5a2c098c2f113ff33806a22847a3cd1cb28b60a51b54991d6dd86d206aa12b3873942c45a120b2e63a49226c3889c7b08d9288f13f64e6e3f166c59f57b5c014cbecf815a4aba4ebabbfb2e91f2b0f4f7a42c870fe8f6236ec1042bdeb2586a641808a5e09019514e83a02b078a1f12cb5426b6bcfeb9548566afb4bdf7454190eaf97f63e210f3a94ce1008a9ede8dde2c849793027433d90c626bc326bdc248dc223f537f7152955dac00b319b7060ad49091d9b52015b4ae8085bf6739b7f5a2c098c2f113ff33806a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "26581613e6c802822867d2b3a0867fd7fd8cea503764ae1a9d01ec0d5364d1be0530ae3d4fe87ac76da4382835135ac0aec9b1ecd0705cf84c21b48327eade5407a13e1be6f9072893c0e5bb528c5cc22dd6370308dda1613068e064c6e5d15a067239c795d2ea27b85d93e54fc221d81e9de3ebc8e43c20d63608e7078fab6822fa7ea234e21aec74f4db0b365ae1e7cc6e7f4aac89bc460d0308b83399be8627705b19388ebeddbd35a5ce72830ec07e3f1bca3f4e9fdc0aebaab5a1fe91b126581613e6c802822867d2b3a0867fd7fd8cea503764ae1a9d01ec0d5364d1be2b33a035914925624aac0d8e4c6dfd9ce8b7b8a498016d94effed793b0921ef307a13e1be6f9072893c0e5bb528c5cc22dd6370308dda1613068e064c6e5d15a067239c795d2ea27b85d93e54fc221d81e9de3ebc8e43c20d63608e7078fab6822fa7ea234e21aec74f4db0b365ae1e7cc6e7f4aac89bc460d0308b83399be8627705b19388ebeddbd35a5ce72830ec07e3f1bca3f4e9fdc0aebaab5a1fe91b1", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "28100e22df4dc1c6bf8801f63ffdef2af6bfb80147994395be6dc792479ca4f517414e05ac69d56dec03e0af314645b463414a7d831aff54459b6d409351a5a400002851fd14fbaa7fd586e3039a2d9fa136c42685cb2b5904bf0591b95b52fc000000000000000000000000000000000000000000000000000000000000000024d852a54e2d52ffc43b2e4f1993fd159ae7ec19af2f3ad548f6daa33bd0de310b0fabbc2f33ea444e5f3c92269f11fc30c048463973a914a6787dbd616e703e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "299a5917adb7b45c30cea045edaa623f5036280df176f4a2c751ca728c2c9e3a2bedf30ba7d8bd0814e9d091913ea5bc6a4b60ee993e949507832df60190651900000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000213d689af09b7f52ac4a04c34bcdb2f90521b1cd213edcfe48fa3063520b6be22ef0f3110ea3051248e907221493e6c2943ebe8d70794188a515ec23df5d9b2b299a5917adb7b45c30cea045edaa623f5036280df176f4a2c751ca728c2c9e3a04765b673958e321a3667524f042b2a12d3609a2cf3335f8349d5e20d6ec982e00000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000213d689af09b7f52ac4a04c34bcdb2f90521b1cd213edcfe48fa3063520b6be22ef0f3110ea3051248e907221493e6c2943ebe8d70794188a515ec23df5d9b2b", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "2deb529e45720f20be41088dfd7489c315e9e18fe23dd1c8a8183295dc770dee1090b3fcd1898780c332b7d73a602cadd1b26029124db9da19941250eda890b500000000000000000000000000ff0a69a42c284614e3d7de26b3f9b2f3c71ff600000000000000000000000000000000000000000000000000000000000000001e2c7f9d6a525b6af5dad683c5e6408661da29780860c3209b2dddcad5a88795033123665850406fc2428227bbb3509fc71c911cf41623de1605cd3e0a281b902deb529e45720f20be41088dfd7489c315e9e18fe23dd1c8a8183295dc770dee1090b3fcd1898780c332b7d73a602cadd1b26029124db9da19941250eda890b5000000000000000000000000000000000000000000275680008ded35ba000000000000000000000000000000000000000000000000000000000000000000000019367fe97b92d85d7c29090c2313de1a85f030239cfa71f939a197249cb17b890465a8498153883aca20e4de66ac02b1b6957fab9b4bce71df334cd6bee5ff95", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005908648c919b2bd65122716e5e4aa74fb342e22eeb59635c84bb4e20e34da7230644e72e131a0296427b6542e3a6a00ccfa1d43577c305499096bbd8414f16c0df67cf39cb400a898e9aa727937ca9e07d92185f3fba6aa42be45ddad4fdadb145da376a6ec6d77185df39edde6e9037e58065a054cda2796f4e669bcdcbf1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005908648c919b2bd65122716e5e4aa74fb342e22eeb59635c84bb4e20e34da7230644e72e131a0296427b6542e3a6a00ccfa1d43577c305499096bbd8414f16c0df67cf39cb400a898e9aa727937ca9e07d92185f3fba6aa42be45ddad4fdadb145da376a6ec6d77185df39edde6e9037e58065a054cda2796f4e669bcdcbf1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005908648c919b2bd65122716e5e4aa74fb342e22eeb59635c84bb4e20e34da7230644e72e131a0296427b6542e3a6a00ccfa1d43577c305499096bbd8414f16c0df67cf39cb400a898e9aa727937ca9e07d92185f3fba6aa42be45ddad4fdadb145da376a6ec6d77185df39edde6e9037e58065a054cda2796f4e669bcdcbf1f", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "111f95e1632a3624dd29bbc012e6462b7836eb9c80e281b9381e103aebe632372b38b76d492b3af692eb99d03cd8dcfd8a8c3a6e4a161037c42f542af5564c41198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a8305b993046905746641a19b500ebbbd30cf0068a845bfbee9de55b8fe57d1dee8243ef33537f73ef4ace4279d86344d93a5dc8c20c69045865c0fa3b924933879", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a8305b993046905746641a19b500ebbbd30cf0068a845bfbee9de55b8fe57d1dee8243ef33537f73ef4ace4279d86344d93a5dc8c20c69045865c0fa3b92493387900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a8305b993046905746641a19b500ebbbd30cf0068a845bfbee9de55b8fe57d1dee8243ef33537f73ef4ace4279d86344d93a5dc8c20c69045865c0fa3b92493387900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a8305b993046905746641a19b500ebbbd30cf0068a845bfbee9de55b8fe57d1dee8243ef33537f73ef4ace4279d86344d93a5dc8c20c69045865c0fa3b924933879", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000005b004500000000000000000000000000000000000000000000000830644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d81702c919c023ce224a0c0b121dd4f578b39e0ddf00a55580b03265cb32fcb623bbf778240f6bf16b9a25500a02b09fbe8abfa933f9ee09effb104d712baf573463ef8c000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000005b004500000000000000000000000000000000000000000000000830644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d81702c919c023ce224a0c0b121dd4f578b39e0ddf00a55580b03265cb32fcb623bbf778240f6bf16b9a25500a02b09fbe8abfa933f9ee09effb104d712baf573463ef8c000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000005b004500000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45218c0cef2a606613357bfaa3c880e71ff8490195337fa26205a21ccd9a6949a313fed2c79add9d85b9949c5852ef8cccf02b69ea6fc4db0d1660ac7b50df39e1", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020d7d3be95c6b1fc7d70f2edc7b7bf6e7397bc04bc6aaa0584b9e5bbc064de4fa30644e72e131a029b85045b68181585d97816a9168543fedb0d3f28c77685fdb10fb4e584f10053cba1117d920db188f54d1ab64e66e10b6177401a44c71e25020f50c6423205b18d96cdf7a832041d89076cf36dcde6700e62833186acd60b6000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450d7d3be95c6b1fc7d70f2edc7b7bf6e7397bc04bc6aaa0584b9e5bbc064de4fa30644e72e131a029b85045b68181585d97816a9168543fedb0d3f28c77685fdb10fb4e584f10053cba1117d920db188f54d1ab64e66e10b6177401a44c71e25020f50c6423205b18d96cdf7a832041d89076cf36dcde6700e62833186acd60b6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020d7d3be95c6b1fc7d70f2edc7b7bf6e7397bc04bc6aaa0584b9e5bbc064de4fa30644e72e131a029b85045b68181585d97816a9168543fedb0d3f28c77685fdb10fb4e584f10053cba1117d920db188f54d1ab64e66e10b6177401a44c71e25020f50c6423205b18d96cdf7a832041d89076cf36dcde6700e62833186acd60b6", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a68917120ca8d3c8c16d87cfd4500000000005b004500000000000000000000000000000000000000004000000111ee2be185fb562c979eeb452df376f91c7852bfb8a6d5727024444a2fc58c152825d78e66be7952503e9e1bf2d8aad4c39f4ce4095349043106508bab20d6e5000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a68917120ca8d3c8c16d87cfd4500000000005b004500000000000000000000000000000000000000004000000111ee2be185fb562c979eeb452df376f91c7852bfb8a6d5727024444a2fc58c152825d78e66be7952503e9e1bf2d8aad4c39f4ce4095349043106508bab20d6e5000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a68917120ca8d3c8c16d87cfd4500000000005b004500000000000000000000000000000000000000004000000111ee2be185fb562c979eeb452df376f91c7852bfb8a6d5727024444a2fc58c152825d78e66be7952503e9e1bf2d8aad4c39f4ce4095349043106508bab20d6e5", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000004500000000000000000000000000000000000000000000000107b55de1642362d16b8fc4dccfec9e794d24968511cf8e252ed27afc4d72ca1e0301cb4d7e0b7b52a6a8f78613c403ead1543fedb0d3f28c77685fdb9eaa2742000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000004500000000000000000000000000000000000000000000000107b55de1642362d16b8fc4dccfec9e794d24968511cf8e252ed27afc4d72ca1e0301cb4d7e0b7b52a6a8f78613c403ead1543fedb0d3f28c77685fdb9eaa2742000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000004500000000000000000000000000000000000000000000000107b55de1642362d16b8fc4dccfec9e794d24968511cf8e252ed27afc4d72ca1e0301cb4d7e0b7b52a6a8f78613c403ead1543fedb0d3f28c77685fdb9eaa2742", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0272af94b7aeb772c1666db65ff3987fd8ec43b8454aad395232b5eef18ca2c51d5fc6b50ef577096ec2489356e8ecccd5ed5a144928c5338af5549701dbb40d255495ffba02a0ed6877a0a6ed658c93a1487a3319aaa05934e35bbb953673af00000000000000279573fbfe8e6c2300000000000030640472e131a029b85045090d17c2eaeda0d61dd0442997d161e176fb98a27091fe8b6b5746fe2f344a0f26f1f16556d24506af1fd1c8cb4b3b6dfa73e2ce958c50e3b937fd59a1df623f0272af94b7aeb772c1666db65ff3987fd8ec43b8454aad395232b5eef18ca2c5130487bdd23c2920498dfd232a986b90c194107d1f490559b12b377fd6a1493a255495ffba02a0ed6877a0a6ed658c93a1487a3319aaa05934e35bbb953673af00000000000000279573fbfe8e6c2300000000000030640472e131a029b85045090d17c2eaeda0d61dd0442997d161e176fb98a27091fe8b6b5746fe2f344a0f26f1f16556d24506af1fd1c8cb4b3b6dfa73e2ce958c50e3b937fd59a1df623f000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4700000000000000000000000000000000000000fcff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000212a3b4059e59d125dd17f662945170e1e13024fae97a401895690acac63cf681aecb67409d1d9c142ffd13375bd79fd0457deb278dfa91b5756378fb837fd60", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "17956b549321b92c524d191a62b90c81f08e694af4dceb00a80094e53120d39e2fd15d78815388959caa54affa2d7b2c8d52c528e6a1f6c0a50fcf0498fac7ee30644e72e131a0290000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000016b9e28a32ee61a7ad5bd4bad29d64fc35a8fb46b510be2067907069497ae1f0c3c07c40f41a731fe27d953f1154b4e9a8acf3ef44608817150de0df916503a17956b549321b92c524d191a62b90c81f08e694af4dceb00a80094e53120d39e2fd15d78815388959caa54affa2d7b2c8d52c528e6a1f6c0a50fcf0498fac7ee30644e72e131a0290000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000016b9e28a32ee61a7ad5bd4bad29d64fc35a8fb46b510be2067907069497ae1f0c3c07c40f41a731fe27d953f1154b4e9a8acf3ef44608817150de0df916503a17956b549321b92c524d191a62b90c81f08e694af4dceb00a80094e53120d39e2fd15d78815388959caa54affa2d7b2c8d52c528e6a1f6c0a50fcf0498fac7ee30644e72e131a0290000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000016b9e28a32ee61a7ad5bd4bad29d64fc35a8fb46b510be2067907069497ae1f0c3c07c40f41a731fe27d953f1154b4e9a8acf3ef44608817150de0df916503a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "1bbefdb0536c0996d663a908adc2cae17180c53d971e73fe234a6927cd10da332481152785517c274b2dc4ab7b6cacbbdc7d7b8e4dd396faa05a119761130e5c039a49879c785fd647afba497e7ea7a2687e956e978e3572c3df73e9278302b9194b9757129492217d64c4b267e5e935137ae3859ec8b99cf6e6dc61ca90bdfd1c67b6b637c528053a25079e25734a67ffc5388209d11839b3ff1f92591c81ee09750d9bc6fdb71f16e6a69eea50e7288aac1c25a5cd674ca9c57d8ac06fac691bbefdb0536c0996d663a908adc2cae17180c53d971e73fe234a6927cd10da330be3394b5be024026d22810b0614aba1bb03ef031a9e33929bc67a7f7769eeeb039a49879c785fd647afba497e7ea7a2687e956e978e3572c3df73e9278302b9194b9757129492217d64c4b267e5e935137ae3859ec8b99cf6e6dc61ca90bdfd1c67b6b637c528053a25079e25734a67ffc5388209d11839b3ff1f92591c81ee09750d9bc6fdb71f16e6a69eea50e7288aac1c25a5cd674ca9c57d8ac06fac6929a0d6d5e7d14a774c3abff1435361da2ee5d8b4f3ee62085ce779f248b41d4a2fd37ae5468f6a17b7f9a0bcca02ee128bdced61402a566e4eee2d0fa825f03d198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "299a5917adb7b45c30cea045edaa623f5036280df176f4a2c751ca728c2c9e3a2bedf30ba7d8bd0814e9d091913ea5bc6a4b60ee993e949507832df60190651900000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000213d689af09b7f52ac4a04c34bcdb2f90521b1cd213edcfe48fa3063520b6be22ef0f3110ea3051248e907221493e6c2943ebe8d70794188a515ec23df5d9b2b299a5917adb7b45c30cea045edaa623f5036280df176f4a2c751ca728c2c9e3a04765b673958e321a3667524f042b2a12d3609a2cf3335f8349d5e20d6ec982e00000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000213d689af09b7f52ac4a04c34bcdb2f90521b1cd213edcfe48fa3063520b6be22ef0f3110ea3051248e907221493e6c2943ebe8d70794188a515ec23df5d9b2b299a5917adb7b45c30cea045edaa623f5036280df176f4a2c751ca728c2c9e3a2bedf30ba7d8bd0814e9d091913ea5bc6a4b60ee993e949507832df60190651900000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000213d689af09b7f52ac4a04c34bcdb2f90521b1cd213edcfe48fa3063520b6be22ef0f3110ea3051248e907221493e6c2943ebe8d70794188a515ec23df5d9b2b", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080a77c09a07dfaf666ea36f7879462c0a78eb28f5c70b5ed35d438dc58f0d9d058bcabf53ccb1b6f2ad14e6bc531485dba856600b7941c8c5a4968940fba978210dc371bfd9736eb879d25be8a799eff45bea91130b9b2768689786235accd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "17956b549321b92c524d191a62b90c81f08e694af4dceb00a80094e53120d39e2fd15d78815388959caa54affa2d7b2c8d52c528e6a1f6c0a50fcf0498fac7ee30644e72e131a0290000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000016b9e28a32ee61a7ad5bd4bad29d64fc35a8fb46b510be2067907069497ae1f0c3c07c40f41a731fe27d953f1154b4e9a8acf3ef44608817150de0df916503a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800104e7500000000000000000000000000000000000000000000000000000000000000000a535bc14c0f581a039d0bfb15e730b6bbb3d6e33ecda8c74ebd901deeb4ef8423e99eadcc72ced9221df2db154b36f6931270c3f21f4ec8c4206b9211924bb203a99966a8db46602ac05b8f0d7669c3bc066fb7b9a188cc79e5239e27e3580517e54f1fff192038a907711c8123997f785d2c2c9a214355466b60652ee53e4d00c662006274fb346e22eeb59635c82cb4e20e34da7230644e72e131c82cb4e2000000104e75a20b64000000000000000000150000000000000000006629c731270ef2ea6f8c3dad3832f95f309cb6a1591ad53af025c6e0809992f15234e5fe1b37771ce3bb5a62017c56c496e57673e2617634e900c587724d21f24e603a6303a99966a8db46602ac05b8f0d7669c3bc066fb7b9a188cc79e5239e27e35805187eff52e2187ff10f48d49a005dbede1f243e64ce508737f5b52bb1a997befa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bf0000000000000000001284bdd8e69832b232222d3493a6abb523575be2a5af6e88f5501cef408aa5bb0ca4d5b3c58e0bc7be2c8885e53c673b54f3057cff97cb1020cb2f5a9f61affb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005908648c919b2bd65122716e5e4aa74fb342e22eeb59635c84bb4e20e34da7230644e72e131a0296427b6542e3a6a00ccfa1d43577c305499096bbd8414f16c0df67cf39cb400a898e9aa727937ca9e07d92185f3fba6aa42be45ddad4fdadb145da376a6ec6d77185df39edde6e9037e58065a054cda2796f4e669bcdcbf1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005908648c919b2bd65122716e5e4aa74fb342e22eeb59635c84bb4e20e34da7230644e72e131a0296427b6542e3a6a00ccfa1d43577c305499096bbd8414f16c0df67cf39cb400a898e9aa727937ca9e07d92185f3fba6aa42be45ddad4fdadb145da376a6ec6d77185df39edde6e9037e58065a054cda2796f4e669bcdcbf1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005908648c919b2bd65122716e5e4aa74fb342e22eeb59635c84bb4e20e34da7230644e72e131a0296427b6542e3a6a00ccfa1d43577c305499096bbd8414f16c0df67cf39cb400a898e9aa727937ca9e07d92185f3fba6aa42be45ddad4fdadb145da376a6ec6d77185df39edde6e9037e58065a054cda2796f4e669bcdcbf1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005908648c919b2bd65122716e5e4aa74fb342e22eeb59635c84bb4e20e34da7230644e72e131a0296427b6542e3a6a00ccfa1d43577c305499096bbd8414f16c0df67cf39cb400a898e9aa727937ca9e07d92185f3fba6aa42be45ddad4fdadb145da376a6ec6d77185df39edde6e9037e58065a054cda2796f4e669bcdcbf1f", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a8305b993046905746641a19b500ebbbd30cf0068a845bfbee9de55b8fe57d1dee8243ef33537f73ef4ace4279d86344d93a5dc8c20c69045865c0fa3b92493387900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a8305b993046905746641a19b500ebbbd30cf0068a845bfbee9de55b8fe57d1dee8243ef33537f73ef4ace4279d86344d93a5dc8c20c69045865c0fa3b92493387900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a8305b993046905746641a19b500ebbbd30cf0068a845bfbee9de55b8fe57d1dee8243ef33537f73ef4ace4279d86344d93a5dc8c20c69045865c0fa3b92493387900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a8305b993046905746641a19b500ebbbd30cf0068a845bfbee9de55b8fe57d1dee8243ef33537f73ef4ace4279d86344d93a5dc8c20c69045865c0fa3b924933879", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a0290000000000000000000000000000000040000000000000000001000000000000000000000000000000000000000017f66b9111253405000006f2a18a982e6e9436f171f8bcdb4f60b9ea1dafaf115f9228e11ddd98ca9680304502b9c299712d0cf851e73adc8ce68c549a5b2ae712a44811db357d3bdb9717956b549321b92c524d191a62b90c81f08e694af4dceb00a80094e53120d39e2fd15d78815388959caa54affa2d7b2c8d52c528e6a1f6c0a50fcf0498fac7ee30644e72e131a0290000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000016b9e28a32ee61a7ad5bd4bad29d64fc35a8fb46b510be2067907069497ae1f0c3c07c40f41a731fe27d953f1154b4e9a8acf3ef44608817150de0df916503a17956b549321b92c524d191a62b90c81f08e694af4dceb00a80094e53120d39e2fd15d78815388959caa54affa2d7b2c8d52c528e6a1f6c0a50fcf0498fac7ee30644e72e131a0290000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000016b9e28a32ee61a7ad5bd4bad29d64fc35a8fb46b510be2067907069497ae1f0c3c07c40f41a731fe27d953f1154b4e9a8acf3ef44608817150de0df916503a17956b549321b92c524d191a62b90c81f08e694af4dceb00a80094e53120d39e2fd15d78815388959caa54affa2d7b2c8d52c528e6a1f6c0a50fcf0498fac7ee30644e72e131a0290000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000016b9e28a32ee61a7ad5bd4bad29d64fc35a8fb46b510be2067907069497ae1f0c3c07c40f41a731fe27d953f1154b4e9a8acf3ef44608817150de0df916503a", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d977f9597358c206e72c88c16e622b8b2000000000000004500000000000000000000000107b55de1642362d16b8fc4dc2a314eca6adb97bf3a3872a406ecf97bf2bdd210b6cba667eba043f71c1ffc200ba9caa5888ae7c0e6d2b54181905e66769d9ed9badc43da3d9f3e56b46cb43b0acfd59a153bdc736907cc4a640a2fb675cdaa8066a58616537ce4cd7145aa061b1d6bf901bda3c5e3df60e3741d6f5d6660f4034e2f99545e0dc71e9b53af2c30644e72e131a029b85045b68181585d977f956e978c3572c8208c166622b8b2000000000000004500000000000000000000000107b55de1642362d16b8fc4dc2ad9bb009c15bdc11d5ed75a805d5f24ba0e10e5b7953e281e241f72d208ce880d6f072450fd6ef76dd73ff2924238cbee09ea4c6281b867a897d85d8d091b330acfd59a153bdc736907cc4a640a2fb675cdaa8066a58616537ce4cd7145aa061b1d6bf901bda3c5e3df60e3741d6f5d6660f4034e2f99545e0dc71e9b53af2c30644e72e131a029b85045b68181585d977f956e978c3572c8208c166622b8b2000000000000004500000000000000000000000107b55de1642362d16b8fc4dc2ad9bb009c15bdc11d5ed75a805d5f24ba0e10e5b7953e281e241f72d208ce880d6f072450fd6ef76dd73ff2924238cbee09ea4c6281b867a897d85d8d091b330acfd59a153bdc736907cc4a640a2fb675cdaa8066a58616537ce4cd7145aa061546e279df73fc63d470e4d30d63e9003120768e1a423138de12c4f83d294e1b30644e72e131a029b85045b68181585d977f956e978c3572c8208c166622b8b2000000000000004500000000000000000000000107b55de1642362d16b8fc4dc2ad9bb009c15bdc11d5ed75a805d5f24ba0e10e5b7953e281e241f72d208ce880d6f072450fd6ef76dd73ff2924238cbee09ea4c6281b867a897d85d8d091b33", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000020833e47a2eaa8bbe12d33b2da1a4fa8d763f5c567fe0da6c5c9da2e246f2096f28dc125bf7443bc1826c69fe4c7bf30c26ec60882350e784c4848c822726eb431a5d389ca17607c4b12d7f1c8463b960754dbbb74ee00f645ca559f5ee759ad5231fdb414002b25ebeed48fd799214f4db09a7dae25ac92c15b7e429e1800a70297861ced3673fa135f178751f203f13d8a4c9f15ad9fdbb4bb7468154af97f71698710af2efbde1687bc1530e7da2ca42c8e85baf594682890d36c8fb8d08f9106f1d083223bd63d1630baf008588ac9c0392c289c68afee37b013030a9f7d10128036f1a405f40bce08bc346f0f83cb8ca2fe81d18fdfffa984c97cef373580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000020833e47a2eaa8bbe12d33b2da1a4fa8d763f5c567fe0da6c5c9da2e246f2096f28dc125bf7443bc1826c69fe4c7bf30c26ec60882350e784c4848c822726eb431c251d57a884434484d488b3fa5bb0b0d8566a251bfa57cdcfa452ee114a19601bcd6dec5e0b17fb9bb77b1145793cd6a99534de85911f41c37934fc6f1f508e203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c15393157ad3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000005b004500000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45218c0cef2a606613357bfaa3c880e71ff8490195337fa26205a21ccd9a6949a313fed2c79add9d85b9949c5852ef8cccf02b69ea6fc4db0d1660ac7b50df39e1000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000005b004500000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45218c0cef2a606613357bfaa3c880e71ff8490195337fa26205a21ccd9a6949a313fed2c79add9d85b9949c5852ef8cccf02b69ea6fc4db0d1660ac7b50df39e1000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000005b004500000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45218c0cef2a606613357bfaa3c880e71ff8490195337fa26205a21ccd9a6949a313fed2c79add9d85b9949c5852ef8cccf02b69ea6fc4db0d1660ac7b50df39e1000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000005b004500000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45218c0cef2a606613357bfaa3c880e71ff8490195337fa26205a21ccd9a6949a313fed2c79add9d85b9949c5852ef8cccf02b69ea6fc4db0d1660ac7b50df39e1", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020d7d3be95c6b1fc7d70f2edc7b7bf6e7397bc04bc6aaa0584b9e5bbc064de4fa30644e72e131a029b85045b68181585d97816a9168543fedb0d3f28c77685fdb10fb4e584f10053cba1117d920db188f54d1ab64e66e10b6177401a44c71e25020f50c6423205b18d96cdf7a832041d89076cf36dcde6700e62833186acd60b6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020d7d3be95c6b1fc7d70f2edc7b7bf6e7397bc04bc6aaa0584b9e5bbc064de4fa30644e72e131a029b85045b68181585d97816a9168543fedb0d3f28c77685fdb10fb4e584f10053cba1117d920db188f54d1ab64e66e10b6177401a44c71e25020f50c6423205b18d96cdf7a832041d89076cf36dcde6700e62833186acd60b6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020d7d3be95c6b1fc7d70f2edc7b7bf6e7397bc04bc6aaa0584b9e5bbc064de4fa30644e72e131a029b85045b68181585d97816a9168543fedb0d3f28c77685fdb10fb4e584f10053cba1117d920db188f54d1ab64e66e10b6177401a44c71e25020f50c6423205b18d96cdf7a832041d89076cf36dcde6700e62833186acd60b6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020d7d3be95c6b1fc7d70f2edc7b7bf6e7397bc04bc6aaa0584b9e5bbc064de4fa30644e72e131a029b85045b68181585d97816a9168543fedb0d3f28c77685fdb10fb4e584f10053cba1117d920db188f54d1ab64e66e10b6177401a44c71e25020f50c6423205b18d96cdf7a832041d89076cf36dcde6700e62833186acd60b6", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd451800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21cc9a9eb823f8d97adee0206828c9f19eaf8f536c23207d68ae3d056a1480bb21990ddb90388b94f31089d3b4ff594d5449c04fcdf2a3681017b5d7749367ba1000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd451800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21cc9a9eb823f8d97adee0206828c9f19eaf8f536c23207d68ae3d056a1480bb21990ddb90388b94f31089d3b4ff594d5449c04fcdf2a3681017b5d7749367ba1000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd451800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21cc9a9eb823f8d97adee0206828c9f19eaf8f536c23207d68ae3d056a1480bb21990ddb90388b94f31089d3b4ff594d5449c04fcdf2a3681017b5d7749367ba1000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd451800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21cc9a9eb823f8d97adee0206828c9f19eaf8f536c23207d68ae3d056a1480bb21990ddb90388b94f31089d3b4ff594d5449c04fcdf2a3681017b5d7749367ba1", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000020833e47a2eaa8bbe12d33b2da1a4fa8d763f5c567fe0da6c5c9da2e246f2096f28dc125bf7443bc1826c69fe4c7bf30c26ec60882350e784c4848c822726eb430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000020833e47a2eaa8bbe12d33b2da1a4fa8d763f5c567fe0da6c5c9da2e246f2096f28dc125bf7443bc1826c69fe4c7bf30c26ec60882350e784c4848c822726eb43000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000020833e47a2eaa8bbe12d33b2da1a4fa8d763f5c567fe0da6c5c9da2e246f2096f28dc125bf7443bc1826c69fe4c7bf30c26ec60882350e784c4848c822726eb430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000020833e47a2eaa8bbe12d33b2da1a4fa8d763f5c567fe0da6c5c9da2e246f2096f28dc125bf7443bc1826c69fe4c7bf30c26ec60882350e784c4848c822726eb43", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800104e75a20b641566a0c71c9069a5256391aa31e22021d36c037c108dfb79c66200bf257ae3d66a589214f980a2ae34f9544be2fcbcc13b21f4c1642f31aa4d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800104e75a20b641566a0c71c9069a5256391aa31e22021d36c037c108dfb79c66200bf257ae3d66a589214f980a2ae34f9544be2fcbcc13b21f4c1642f31aa4d20", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "01ea6e2eae2a2501d6830a3f5ea1353a5f920719aaeeea537dde0df31bec7a802b40433b22aaaec8f6d6d21dc04994ab99ba4a4b16545f63430a6ecf01881e090000000004000000000000000000000000000000000000000000000000000000196ec634c6397f591ebee925f9fa9e89a1fa55ba5e38d5cb0f7dcfa49e0c0ae4260377b5b8fed1c2f2a2f848038464ffc8c3bd1d71844fcc85f64b478248b21d0990a17d0f06d3bb026b17967cc55b2160d7570fde6a448502bd28e8192db67e01ea6e2eae2a2501d6830a3f5ea1353a5f920719aaeeea537dde0df31bec7a8005240b37be86f160c1797398c137c3b1fdc72046521d6b29f9161d47d6f4df3e0000000004000000000000000000000000000000000000000000000000000000196ec634c6397f591ebee925f9fa9e89a1fa55ba5e38d5cb0f7dcfa49e0c0ae4260377b5b8fed1c2f2a2f848038464ffc8c3bd1d71844fcc85f64b478248b21d0990a17d0f06d3bb026b17967cc55b2160d7570fde6a448502bd28e8192db67e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020d7d3be95c6b1fc7d70f2edc7b7bf6e7397bc04bc6aaa0584b9e5bbc064de4fa30644e72e131a029b85045b68181585d97816a9168543fedb0d3f28c77685fdb10fb4e584f10053cba1117d920db188f54d1ab64e66e10b6177401a44c71e25020f50c6423205b18d96cdf7a832041d89076cf36dcde6700e62833186acd60b6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020d7d3be95c6b1fc7d70f2edc7b7bf6e7397bc04bc6aaa0584b9e5bbc064de4fa30644e72e131a029b85045b68181585d97816a9168543fedb0d3f28c77685fdb10fb4e584f10053cba1117d920db188f54d1ab64e66e10b6177401a44c71e25020f50c6423205b18d96cdf7a832041d89076cf36dcde6700e62833186acd60b6", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "03a99966a8db46602ac05b8f0d7669c3bc066fb7b9a188cc79e5239e27e35805187eff52e2187ff10f48d49a005dbede1f243e64ce508737f5b52bb1a997befa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bf0000000000000000001284bdd8e69832b232222d3493a6abb523575be2a5af6e88f5501cef408aa5bb0ca4d5b3c58e0bc7be2c8885e53c673b54f3057cff97cb1020cb2f5a9f61affb03a99966a8db46602ac05b8f0d7669c3bc066fb7b9a188cc79e5239e27e3580517e54f1fff192038a907711c8123997f785d2c2c9a214355466b60652ee53e4d00c662006274fb346e22eeb59635c82cb4e20e34da7230644e72e131c82cb4e2000000104e75a20b64000000000000000000150000000000000000006629c731270ef2ea6f8c3dad3832f95f309cb6a1591ad53af025c6e0809992f15234e5fe1b37771ce3bb5a62017c56c496e57673e2617634e900c587724d21f24e603a630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800104e75a20b641566a0c71c9069a5256391aa31e22021d36c037c108dfb79c66200bf257ae3d66a589214f980a2ae34f9544be2fcbcc13b21f4c1642f31aa4d20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0cdc335fa81dff303b71cffb0256d7097c2b4c6715ca7b1589ea9386a41c2f851e4077b7c1f3374bbd4750ed222848c47501b40fc4c11eadd3c39aeafa452459000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000001f1cd7f247f2ae1ba9a1aeb4b32ed4c8c13c70c8861b6ab5340e276c58e1046b13d7de2b557e0ae2b53380ad596ba79f07c037c9d9aa17cf407e9ed86201436e0cdc335fa81dff303b71cffb0256d7097c2b4c6715ca7b1589ea9386a41c2f851223d6bb1f3e68ddfb08f4c95f590f99227fb681a3b0abdf685cf12bde37d8ee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000001f1cd7f247f2ae1ba9a1aeb4b32ed4c8c13c70c8861b6ab5340e276c58e1046b13d7de2b557e0ae2b53380ad596ba79f07c037c9d9aa17cf407e9ed86201436e000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000004500000000000000000000000000000000000000000000000107b55de1642362d16b8fc4dccfec9e794d24968511cf8e252ed27afc4d72ca1e0301cb4d7e0b7b52a6a8f78613c403ead1543fedb0d3f28c77685fdb9eaa274212ee4836f908e5e39090a4124b75f3ec5b665a729997f55cdea80f76ab940c5902a12ba6400116479dcf5179e4d06471a65e72229fb444b34d8f07458a4a81570000000000ffffffff00000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000fb55bf7df894a746fbe20b6f8c54d5dc0d9fd4eda4742fc35100c45e6e27f912a20d63d446eb175733853b88dd36708eb7a81f5c79e7659c3a6e2b2c470077", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "1838ccf8d820349a8c38a57dc0a5495577898e422509e4c9636e9737fe0dcd9116f566a30b7d2579fd6109eb09d66c005fdccdc0d91b28f43be34c5668f34f812a9a64f273fa329bc9c98ff2083c627609e2219177b9c5df7286af31a3b27e8120d85101e1e6af0126c00a95c645b192b3ea69ed72297deac1fbb0e6bd1440c600ec155ab3cd58005b488308578aaeeaeae9c65939f785bf693fa5763c174dd624d3b2adb35ad17933d0317a00436d10f2d6908faf109e7fe3db77a39d5c1711175bcec7c4c77c612df588174dd44362722f7b8e588a0ef599129cf123f63b8d2e1ff6c569e5cb0d20fb28504057d4f7ed248900ac99bd0f31a853af5c10a806198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd451800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21cc9a9eb823f8d97adee0206828c9f19eaf8f536c23207d68ae3d056a1480bb21990ddb90388b94f31089d3b4ff594d5449c04fcdf2a3681017b5d7749367ba1000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd451800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21cc9a9eb823f8d97adee0206828c9f19eaf8f536c23207d68ae3d056a1480bb21990ddb90388b94f31089d3b4ff594d5449c04fcdf2a3681017b5d7749367ba1", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "1bbf3321bfdf76e22ca0e95089338a772a4a2982dbede2571c14a258bd9874ff2b5aa74efa3429cd77acc68bd2e487960f34074d3a725444b06a552c1be0ca442471fa6c0785556dacbe4d9570fa9e89a2fa55ba5e38d5cb0f7dcfa49e0c0ae4181b42bbb36f2bb465708c62b0bd12ae5d6922cf5c4f928a7097f8db8f0dfae3103e85ddefbe5900ded1384badbc32c907c50baa4282172d02562116005aecdf2cce8d04251b64ced66cc7b66a1c54000e17872b10b4793f5bd81052e5ef3e5c1bbf3321bfdf76e22ca0e95089338a772a4a2982dbede2571c14a258bd9874ff0509a723e6fd765c40a37f2aae9cd0c7884d63442dff76488bb636eabc9c33032471fa6c0785556dacbe4d9570fa9e89a2fa55ba5e38d5cb0f7dcfa49e0c0ae4181b42bbb36f2bb465708c62b0bd12ae5d6922cf5c4f928a7097f8db8f0dfae3103e85ddefbe5900ded1384badbc32c907c50baa4282172d02562116005aecdf2cce8d04251b64ced66cc7b66a1c54000e17872b10b4793f5bd81052e5ef3e5c00710c68e1b8b73a72a289422d2b6f841cc56fe8c51105021c56ae30c3ae1aca0b2ff392a2fc535427ec9b7e1ae1c35a7961986788cf648349190dd92e182f05198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daabebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebefdbebebebeabc689bebebebe43be92be5fbebebebebebebebebebebebebebebebebebebebebebebe9ebebebe2abebebebebebebebebebebebebebebebebebe", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "29c19b11665cbeb0fd496542e6115ceef9b628ab4bc7419802e7016cf1b2c931057cdbec3f7c2ad0f4da33b3cfd3234ea29f71c6c46b8b90eb2d4a5851adf74b00bb00b95e1b59fca2159a5f33f27f36b15fe6bcda0b1ee0381b0ef7dd804bd625ed3c1a0120b6531e39cca6f67f35f9a849cfbfe958cc1840d1c20cc6b3e1ad08cbba5815581dcea62fa0426dbff39c8f0e9fdc451b1fb127a4e7a4c058799619068e06466a9dd7543ac89d53a17a8beb6c11c59c3af32ea0c1bbc55e0fae7b2c52ab9e7e9296183b9695387e3ae3d06c9d11a98676e4e046914b36b636ddc4050abc3606826f8aeaac5aa7be9f44d15a55805037eb2b260c32d43bd32adef10763b017bc2777ac81ff30fff09f65381c24912bfc9d1490a23765b4830f0aae2b71c998abc367ad761da7e9900eb7e579989f82eee3338c17b8dc17e53e052b21e242369877673070a6b8b0307da6e84e32bdfb3eb09d514b25e8704bd55d431782c07d2d471af10469a13476a49ec51d1bc538d49bbaf85a63fdb6b412fb4a1bc85b155eee2e33bf5322810c7c0150158f373e998316edf821ae9804a2ac191899a5e18c57f4e6b5f736c2f21e95f4147a4235ed2c1f6e6615eb0e00979f0920568d8f3b2f2d0a6a596ea20b3e62191baf420de10125557f9a665900a82a5925a43a697ceaa9deba01a97d8722815e8185973a402e11fdca62fa908da409c4054081d5b9d0e3aa18a31cc5f9d0fa925205fd50a71edf4ca157a607587e24571c9cacf3b3d821146083f9e5fe6be23546643e3ad4540a1f02c02728010a4b9f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c166622b860000000000000004500000000000000000000000107b55de1642362d16b8fc4dc2215436159d2bdb4e084a6c63bd04f6b84d69bfad793da72c21b421f3f89b22f22b811a1a4fa51df281657f0b0a1add382fab768ac1ed8886bf979e2bf11402d", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "2deb529e45720f20be41088dfd7489c315e9e18fe23dd1c8a8183295dc770dee1090b3fcd1898780c332b7d73a602cadd1b26029124db9da19941250eda890b500000000000000000000000000ff0a69a42c284614e3d7de26b3f9b2f3c71ff600000000000000000000000000000000000000000000000000000000000000001e2c7f9d6a525b6af5dad683c5e6408661da29780860c3209b2dddcad5a88795033123665850406fc2428227bbb3509fc71c911cf41623de1605cd3e0a281b902deb529e45720f20be41088dfd7489c315e9e18fe23dd1c8a8183295dc770dee1090b3fcd1898780c332b7d73a602cadd1b26029124db9da19941250eda890b5000000000000000000000000000000000000000000275680008ded35ba000000000000000000000000000000000000000000000000000000000000000000000019367fe97b92d85d7c29090c2313de1a85f030239cfa71f939a197249cb17b890465a8498153883aca20e4de66ac02b1b6957fab9b4bce71df334cd6bee5ff952deb529e45720f20be41088dfd7489c315e9e18fe23dd1c8a8183295dc770dee1090b3fcd1898780c332b7d73a602cadd1b26029124db9da19941250eda890b5000000000000000000000000000000000000000000275680008ded35ba000000000000000000000000000000000000000000000000000000000000000000000019367fe97b92d85d7c29090c2313de1a85f030239cfa71f939a197249cb17b890465a8498153883aca20e4de66ac02b1b6957fab9b4bce71df334cd6bee5ff952deb529e45720f20be41088dfd7489c315e9e18fe23dd1c8a8183295dc770dee1090b3fcd1898780c332b7d73a602cadd1b26029124db9da19941250eda890b5000000000000000000000000000000000000000000275680008ded35ba000000000000000000000000000000000000000000000000000000000000000000000019367fe97b92d85d7c29090c2313de1a85f030239cfa71f939a197249cb17b890465a8498153883aca20e4de66ac02b1b6957fab9b4bce71df334cd6bee5ff95", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a36c98d1ece5fd647afba497e7ea7a2687e956e978e3572c3df75e9278302b9000000000000000000000000000000000000000000000000000000991b498795099a3faf27255b9542daf48d9588fc4d6927c7fcd88c5784a4245345474e1e4509a44ea53f191ddef8a32ec03a7e1a24e06588f8de364ba0024b3b8a062ca91a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a36c98d1ece5fd647afba497e7ea7a2687e956e978e3572c3df75e9278302b9000000000000000000000000000000000000000000000000000000991b498795099a3faf27255b9542daf48d9588fc4d6927c7fcd88c5784a4245345474e1e4509a44ea53f191ddef8a32ec03a7e1a24e06588f8de364ba0024b3b8a062ca91a000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a68917120ca8d3c8c16d87cfd4500000000005b004500000000000000000000000000000000000000004000000111ee2be185fb562c979eeb452df376f91c7852bfb8a6d5727024444a2fc58c152825d78e66be7952503e9e1bf2d8aad4c39f4ce4095349043106508bab20d6e5000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a68917120ca8d3c8c16d87cfd4500000000005b004500000000000000000000000000000000000000004000000111ee2be185fb562c979eeb452df376f91c7852bfb8a6d5727024444a2fc58c152825d78e66be7952503e9e1bf2d8aad4c39f4ce4095349043106508bab20d6e5000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a68917120ca8d3c8c16d87cfd4500000000005b004500000000000000000000000000000000000000004000000111ee2be185fb562c979eeb452df376f91c7852bfb8a6d5727024444a2fc58c152825d78e66be7952503e9e1bf2d8aad4c39f4ce4095349043106508bab20d6e5", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000310000000000000000000000000ccc369050590000000000000000000000000000000000000000000000000000000000000000034e16015e4aeadb3c1c93fd54f496a6a75271f9e514b6c51782d145a1771a9827910e860d8264c87a784c364d78f117ca598153fc5947c915eb6e2e7e0ad6d5000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "06e42bc7eb32a979b39a77435202c2a062c8bef977f46500b040fa35b8a45b2315ca114b0522bdd5e928f9629ed2a283d36141f3307071cad74fb768721cbb0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e42bc7eb32a979b39a77435202c2a062c8bef977f46500b040fa35b8a45b231a9a3d27dc0ee253cf274c53e2aeb5d9c420289e380158c264d0d4ae6660423900000000000000000000000000000000000000000000010000000000000000001611179006befd3749602129813bd7247045ac58ea0000000100000000000000202a170a4a4385bdcefbe36ade6cc7c0e9834b78fc6ca233e8de345a2d5782dc1699f57deaacb74e8b98bd8532c3f152570db884fc1755fbc0c8cb3ef54a537f26c6e104e6c30ed077379b1762d05ac66a6d8e1bb0699ff4f8e3fa52568f0f7709179c965e45c4f28e2ee2affb9b86744b8f29df08357dc80776ecede39adc7f221276dfff5b3a2b6a46ec6c0e0891aefd121170d8361187b73b46e1c6b1218f29255d7955576bba25241ec1edfdfc08c9b8d29379d4213025fa95b0dbdd16460ff9fdfcccda82fb0dd8f17931e05823321073a1a4e484699acdc9d0f14ea6f60c25b531fed0c7e8899296888cc0b27fbb6dbfc2041d482e21d908e240772a2326c6e104e6c30ed077379b1762d05ac66a6d8e1bb0699ff4f8e3fa52568f0f7709179c965e45c4f28e2ee2affb9b86744b8f29df08357dc80776ecede39adc7f221276dfff5b3a2b6a46ec6c0e0891aefd121170d8361187b73b46e1c6b1218f29255d7955576bba25241ec1edfdfc08c9b8d29379d4213025fa95b0dbdd16460ff9fdfcccda82fb0dd8f17931e05823321073a1a4e484699acdc9d0f14ea6f60c25b531fed0c7e8899296888cc0b27fbb6dbfc2041d482e21d908e240772a2326c6e104e6c30ed077379b1762d05ac66a6d8e1bb0699ff4f8e3fa52568f0f7709179c965e45c4f28e2ee2affb9b86744b8f29df08357dc80776ecede39adc7f221276dfff5b3a2b6a46ec6c0e0891aefd121170d8361187b73b46e1c6b1218f29255d7955576bba25241ec1edfdfc08c9b8d29379d4213025fa95b0dbdd16460ff9fdfcccda82fb0dd8f17931e05823321073a1a4e484699acdc9d0f14ea6f60c25b531fed0c7e8899296888cc0b27fbb6dbfc2041d482e21d908e240772a2326c6e104e6c30ed077379b1762d05ac66a6d8e1bb0699ff4f8e3fa52568f0f7709179c965e45c4f28e2ee2affb9b86744b8f29df08357dc80776ecede39adc7f221276dfff5b3a2b6a46ec6c0e0891aefd121170d8361187b73b46e1c6b1218f29255d7955576bba25241ec1edfdfc08c9b8d29379d4213025fa95b0dbdd16460ff9fdfcccda82fb0dd8f17931e05823321073a1a4e484699acdc9d0f14ea6f60c25b531fed0c7e8899296888cc0b27fbb6dbfc2041d482e21d908e240772a23", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000012ab9bb0c853fb1d884197cdefdf654c01a289b677094fe609c835d2b249dcc51460243cc357281001b8b257c6396865c729761ac575a85b2f8f0e58af439c84000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000fb1b0e8c8b85ec99ebedae0880006b0809f5151890cca524eea2c0b3ad87f3229d3e6bc7f0886b75e186b10564dc990258855e0311e3e2e72f9d9c0dfab4f0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000fb1b0e8c8b85ec99ebedae0880006b0809f5151890cca524eea2c0b3ad87f3229d3e6bc7f0886b75e186b10564dc990258855e0311e3e2e72f9d9c0dfab4f0d", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114cc34c5044c87540b942287d555ce935499ce155202081ca5ce495c356896009fd9490a6f214b7729f9574d53fce82a2d46b3ccf7499ab5616b2c4f36582d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000070a77c19a07df2e666ea36f7879462c0a78ebbdf5c70b3dd35d438dc58f0d9d0a2dd5b476a606a8243e7e879bddaa8086ba658087aacc4d986a10c74dd9e7742d46618f9d516e0f07a59d3c97f5e167a1b49ebe9fb30dd05bded8185a545420", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 254} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000092a62b029973fcd9ec18db33eb4c7b6b649a2e6196561761789e39bc84f11ac0a59f2672462be814a277f495d53244691c40da85d39b210ed3e099b397a4cf92ad603022931e8c20c927fa114866ca26b305156336511a9224d6bd88e5ba7fb2b44dd02df7f7a846f546c77f3330cc171abeea7747ec03607c4b754a07101421f4b96b82bd3631447045f1bb66198fa6a904e48092750762efd419fb5ff52b51fac61c1a7265d0e1a6433e9767cb51c71e9ac5a119be9894f509bf92b0fb1b4198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - {}, - ), - ( - "104f6d8507d6a112e8fd516d70bfe3d2474539948276d36eee987be127a9e3ab199eef24146007e80386f391edc886f5ddba22b5cf131efa3b6ae71a673fc88e198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa2642f046ad222f094c9282816131317b8d52fc0fee64f26898232432d34fdae605a5f2a2e8f15ba27e90f54faff78391b307b402a0ae995d1c12f92c0b574593198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - {}, - ), - ( - "1f0ab114f50077d71a195869dd8c07e2a031a55a8dac07c522ee7ac74136c50c229c9d498f5ca70a27612a244743773fe22668370a91410b645fe22f2e6eb78c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000284869d750e478e4b09637f7ae55bcce23bd622f04e986e1cba0f64b59b023200a88bc2898a2930aee2b92055ca2f97360a79c598f5e8998fed7add43a692d1021f4f3ddd5250962baaefc6ef587f464c8fdad1bb7812b292dce48d5462039df14044ca96015f3c6666f98d756fbf7bd0e12c3e884db4100391da8a47deff16e00b30c250f71db58eb20e14d67cd98ebb47790a7e7d45d30a90ce707175f295b1e45eca08667a7cfe06158fae4a38cac01a37853e730eaa28b2f7167fd74c22d", # noqa: E501 - {}, - ), - ( - "0624d2c76767981fadc8f74f29c034f7ae0522585e1e0201308109c40d1d5420251ba3c545339bbe22da0fe90692a099384c435ec0902c99be7e7a84d62bb49c0c0b524584214b17414a25236e4e2b6f4bf398ec62e9abeb7ea1f158d89df05b0e05f600bf1408ab25c0f3dbb98ff26c4d85a6ce6a63bebc3b2e360de77cf6062488eb90497d64621124420825abd353268fe00bd90726991d0ce623e59da9c62340b1fb006017382cb76606a873f48de8f31434cc243c8f465cb908d8cc734618cde0d7bde7e1da88fb8192ce94bea754f24a53f1f000f15b4c5c151c12df4f0066b16bf4229edf5375b78a5c7469ddf68f7d5c7577642ed2c90d5d42c231ed198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa2948734db775bb41a29257214b19a6356e6640894c2a48f201addce62de7b41e1bb87bddbe46d75809751232405928c3314934082052131a64574ff5a59c7db7198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa09c91a687e6c44f2917682dc5d0a34be7c77fff361aa36610effab6f6d2d87ac13849277ed76b58020ab993f1847ebcc0f1bcf711fba15f4a7a80ab72b4fe9642f0c63d0c53b3dfbca27b6b43ae7fbf55a38d78a21470996485b03128accc20800556502356e37ed150db2e36531b0f275fd6835c0fc1945922e270b48c48a8602644c27b5dbd793592a70b735e22c798a5e309fa17a992a7dc2a050e01b298f194776b6a53439d7336f389d2a8f6651e40885f5ca2538b0dc9cb534fb23f7fa1e379e19dbffba1edf0a04505f67229e707a4b82f19285d3c186964e83e1553608ee58baa16641b1513f007da7d3cf58b503b80f73c7d8e792db63def167e0d82b1f95d6aa6fd6f5e6978d0135c206079770d5c3ba001967c5d94c5902f95fe9264ad64952cb1d30a7230bca35b3907b2457abdcd6052e14e2a132d76822222514f79ce35164acfdb802551e02a9aebdb20bf4248c0ccf5c6cf5e576908778410f8dfb99aaa272bbaa49012da81dfafa1a3c07eba89355602143c58f63df2939117a8203a67ab052af18032434b61fe6b33e0a6ad5ab70d57aef4444478b42ba123a80e91f77c135f657e2dbf5af0d07e9a4fb63585b88e5439ddab7741c0961198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - {}, - ), - ( - "142c9123c08a0d7f66d95f3ad637a06b95700bc525073b75610884ef45416e1610104c796f40bfeef3588e996c040d2a88c0b4b85afd2578327b99413c6fe820198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d", # noqa: E501 - {}, - ), - ( - "13b076f9e2ddf66bd1e9ec7509945ec37289d9ad65f210ed35e78ba2b02e7e3d2c6d9689097e79c4227b7b8519e4850be2d795f9496a70ae8607a3172208371a0774089b1be2375b269ac0cd913803af1e8e967c7a12ded9e38bbfe816cb6b2b25e481bf589a76e531e3cbaee9b47a07fb832b052a71029665a5ca89f1eb6d6b0f10223646f0d0f8f79189c456f40295fa02708a2629b8a88d7ae36caab470552b4bf562f83ed28edf524edc1646b4c4cd538bec5d544d8071f0c73406339b2e2043a8194e50b9ff3b93d13873035fee0ccc3b4a0fda33d34ac7a4771c9b884d291b24054553ecab7eb9a6807281a895bdcf29e95d8d3a2552749b7fc0932637198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "15d6eaaa18c5737e7bd229c2900f8deddf6da9c0e20e7e905e7b7491d041eaba2ab7d1b2a259b85054253da8947c2fd38b04a4ede3bfa6e258e22f668dcb5a63092a62b029973fcd9ec18db33eb4c7b6b649a2e6196561761789e39bc84f11ac0a59f2672462be814a277f495d53244691c40da85d39b210ed3e099b397a4cf92ad603022931e8c20c927fa114866ca26b305156336511a9224d6bd88e5ba7fb2b44dd02df7f7a846f546c77f3330cc171abeea7747ec03607c4b754a07101421f4b96b82bd3631447045f1bb66198fa6a904e48092750762efd419fb5ff52b51fac61c1a7265d0e1a6433e9767cb51c71e9ac5a119be9894f509bf92b0fb1b4198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "16f5d1473d8a9012df4efc624ae3b5fc3b1c1742bb73b9b62aa50c0dec9848ad1b2381a593f0a661db10b659329907fb62b4f5fd196092ef235f0775463b11f3054f9c54b1560a307e173c70fce534a2e4c7b248ec342f968a9db905fb31ba362513859b9c3a196e357d5d4f34e17f5cb2d78f4160103ecae86cb57a3e48ef7715e96b3ad7bfbccc491029f30be0ced0654c6c2600b49bfafc70af802b305a09154bb828c71576e1809723e3bbb5d459ece5bdccb9bcdff733761fe908e1e1d52f91cec7b5d03d4c5930875239f825c55849b352fa27b4e20581fc4a68950c752ee478820a0dc3f22866e7c5111d6fd1f057c18b7c9c1568173916ce67555c47198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "18dd52daaa11ff5dbb97c8776924d95b1bb86bf16481ba52519674873e0279ea0b32f4758cc18142794358e62b9c29951d3cb7e705d97e4cefd8422fa340ed5804cbac0707b92f59b87024017aae6941a3d8f42c6b93c619fa85cd54a3f0596325ef128bd051c44f95f7aa6122a390666691c2ec8a328f5302605f0aaae670db14a3194db0c978125b0212d2dbcf3639650e40f8acaeff5a5c20ba700de3966f004d3f0a629eb1456685db5a1b94d4b2f8dc0a9cdc5d29cccc5b596d88ba29fe0bcf53d38a1b0732fd90b73149559e0ee767f525875ebdb26f7f123136282afa28e440620ea4064d1f0190c75e2a36003f18643507a927926130eb54ecc1004d198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "1b6e4577cc71df5e856ed88d2d14a464343f140b07693e3b08308570b28fd55b24198aa6ee0f5bfec020ad2ff15729434439e4af7554fa0f7395ee20cb926346246b8e8c771c3db7226a8066537632923d7d5a542f8e0d600e7f0195240f1ec513cbe706f9ba436dd4a781fab85fa2e9d82854446cf91182dcfa66eb68c4b7e72533a60b837f9cf4838c4c38f4f9c8988fee10c9895753e7925a86330e925db702f47f10f7da957cfcc613361ab6aaeb67f14d22c06eec14e47e36988c4ee06705a596bd22bbb13dc898acfdd420c88893dd09f7fd4875e8b3fb65b54ad9643f2847ab3c7d853e89cfdf520de28e1092c1955b7e17d9cba5808f047a3d6898fd2f64f057deda8bbb646d5b9864d9789a696abf2a42218f7af28baae517f5e45723bd3952d332068086b2079260b285896cb84c73ece3647094fac90d8b1374c21eebb3f8ea3c3d9147fa09e4506bcff1c222a02ea8b4904fc6df3bca1cc0505e133d9a4794eb099e9bdf82a6fecdb2e2e29b0867bf0fe557475dc758d796714e", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "1ee2af29808bc7baad8eb3e87bf55588ef59763ae59585453aa57222a60409141756d11b0679f2e3c44a95592d270f55f76670c2d248fe2c0b391a11aa90d0ec0ea16e33157b6d0f197ed197ce3ad5b93ac91458632464dd5e4aa23ec628e6cb03c160eb0d2ab47566d495f1a53b7b1cdb659cb64e26c848c74267bc74ffeec81d5ee181514337f685e60ba02daccded24ea3122fb04d9da37790f3dce54587803087c55d223005ff8ad78f6f417b19caff564e8b8cb820d0eadb6bec43f0cf902b88f6e24920bd60dbbf082df1cd200abf141b6c01e7fcb262525364c14c20502958d26f4e6ad2d9b1db8a6b23e7fa5dc4d0e4c6673b0f840c000eeac001988198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "1f357db2cd961c374f81a4ae374f5306787361c3aea270815962003c0915b5d2044c12e4c6321f0a73b09480c1d7a84ce30ee9219b3b649ff36ec7553150428f1b789c458e1e033db933f65230c01f173dc581494d23407494818cbc70c5e4eb05685001b0f48e5191bc50797f1330beb69d7dabe58b9b7d0c9c86c61c8d2a3301c8dc500074bc4207038e94f028d954405d8b6ff8b3f1b52a7ce67c97382c0b0a9c7d7844ca3f0a571b04211c021dc96a29628119b067364a06fea760698a060452283eefd9b336e591f37119aa473f03932c9c6d7cb0256c93e2bb7ebc214024a87b7afbb4143434a5aecbec2c38e02c7e01e8b056b812c80deab761bd942906b4a2cadf0c0d14e9015f1dd1833e1a71bdecfcc8d400f0c96c309dd8f3f30e243fddb630078af3593c50273c6fbc2c33f2fc6e208ad1e6dd537079f569cd5f25e6c61eb8d52bfe15205fb66a6e90da703a7cb8b441023f90ae987e35c72f800e8e708e896b7ba90163f4dd87bb6660359ca5558473831dea4aac4d222fe443", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "21b1479be2a88d421d6aa893a59fe4966322436bcd047e610f90929a5823188a2feb0baed066808be65012e37e364243877a4d47b75cd9ffe4a5df3011a68f90198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa1aa2ba0e64e80047d931df5931420de2d4dc0b7b6fc83121a9f155ddf9d6577520108e265338e3f2bdcc276bf69d955d60c73419d7ba24c25a40e9efd4cb24b80dbbd035ab913dc40917c815e66941eef6529d94ecbaaee8f77efe9aac45aab22ff4691bd3aa5f5bbb6067c1a4392dc87bb7a9997f7a660dd960df462203c18f2d4e9ee9f56967d24826884a2473b374d24b5afef1cb8d11555a2a62249b44a907a93f02c17da88bbef2e8b41a34ee1137aa7edb0459e06be0bd88ef68a876b0", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "2371e7d92e9fc444d0e11526f0752b520318c80be68bf0131704b36b7976572e2dca8f05ed5d58e0f2e13c49ae40480c0f99dfcd9268521eea6c81c6387b66c4051a93d697db02afd3dcf8414ecb906a114a2bfdb6b06c95d41798d1801b3cbd2e275fef7a0bdb0a2aea77d8ec5817e66e199b3d55bc0fa308dcdda74e85060b1c7e33c2a72d6e12a31eababad3dbc388525135628102bb64742d9e325f43410115dc41fa10b2dbf99036f252ad6f00e8876b22f02cb4738dc4413b22ea9b2df09a760ea8f9bd87dc258a949395a03f7d2500c6e72c61f570986328a096b610a148027063c072345298117eb2cb980ad79601db31cc69bba6bcbe4937ada6720198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "23e6648726d779a5e9943a9cb2c3d89cc966f0ca965bbe7bbdc1bd93df6429302a1e299a0d2c7fb74af9e086c19b07b357c55e76d2c65fba3b122c8158ee2b76071a0694c6a785ae2ff2553f4c06e2d24d031b86a4023a0d41a095b9d35ec8d30c1ab42b9a9d852e0901c708a5a0dfa9920e0ba08828620a5ebbdf1ffb8f9d851741332dcd8798b695edf6be41e0e58803ab926516d0d600514c4572575b29241a64993ddd9be2bab46a7190024de9e051862f46ac3130db54ede8c322e604a22e198a9651f4d48dc87f0ebc9fba1061d49962668790edc37948681da728a79f1649dc12a9101ad7e6c1631c1290bec29720bf5617ee6b5afa720733748bc3fe2ae647da926e44cc8e5476a15ffc62f11eafc89cb7d1d9ea1107403e1773c49a2408eaaabd36aa0a8dc6db3fb091f3c8b4df202714f74ae8d8cca11a216a301725ef6bf83c607781e9c1696e31cb5baa60b9e2deb0856479b342737592c0961211d363f2f2fc286d903a1e94c6673714464530bdb734ded5608b4654466d3f35", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "24ab69f46f3e3333027d67d51af71571141bd5652b9829157a3c5d12684619840f0e1495665bccf97d627b714e8a49e9c77c21e8d5b383ad7dde7e50040d0f622cab595b9d579f8b82e433249b83ae1d7b62d7073a4f67cb3aeb9b316988907f1326d1905ffde0c77e8ebd98257aa239b05ae76c8ec7723ec19bbc8282b0debe130502106676b537e01cc356765e91c005d6c4bd1a75f5f6d41d2556c73e56ac2dc4cb08068b4aa5f14b7f1096ab35d5c13d78319ec7e66e9f67a1ff20cbbf031459f4140b271cbc8746de9dfcb477d5b72d50ef95bec5fef4a68dd69ddfdb2e2c589584551d16a9723b5d356d1ee2066d10381555cdc739e39efca2612fc544229ab0abdb0a7d1a5f0d93fb36ce41e12a31ba52fd9e3c27bebce524ab6c4e9b00f8756832b244377d06e2d00eeb95ec8096dcfd81f4e4931b50fea23c04a2fe29605352ce973ec48d1ab2c8355643c999b70ff771946078b519c556058c3d56059a65ae6e0189d4e04a966140aa40f781a1345824a90a91bb035e12ad29af1d", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "2b5154892605b4b57c6f309a1f39d91a89d985264f9dc47342470b5605532939153954f4ac012e3d5860731081c59b0b5d9df76eeeca47c1ede99d0a73a8d1351b7962c4f91943b75bfa71d26698f33807c0a82c4aff43116e6b0e97e087d64e0337b7f3f182a6241093041180e874062c10467e0147e1abd93857dda7e6aa34153cac48663d8de0c9f23d1a2cecf0bd14f6d7cf877ef833751f8a524d0f4c1c1ff902721cd414e4c564c569143a0356d3b6cb7b1970067365c0a0f8ecb4976b0da26ca39baccc3b276b50cbd06db50b1c544055c0c636256fa35afdafee49bf2238e1b69bc5e674c9351b702c26021f8eb254e0f890595f5f22ca04b205748003d0a15ac5814b86f5463c48d5f7d398da010569d67f979b2af9381802b485fd2d3de1b5338ac2222d3d1bfca2e20f7c1a280780ba9abd54b46d42380fda599c243c33dbb5c54e9566fdda8567e059b596fba1e9afef57deb1703f27cd93ce7419779141bb51eaa0ea4f1fd39efc61aee4e6b40316248277599c599ec30c8dd4", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "2cc6c9acabc199e21be075d6d7885acfa1f38fec18999d78105c87e55a5d8eb7238e3f5edea71116b4905645df360589eed6e69ff4145a28c6ae29599ccb590e0e8248a6ccd8770c3cdbbd6d7f247c76f189978508b6f3514877833b00a7c593261d44028c3119ad2707a456739918ad10b51e7257b539a34e7f479f2e76707a2b359c070959c19eb7bb2bf1dbbb2cc060558f6dd682965535cba0f2392d13b818a023e2b4d60c38c7c0ab6af9ff0887dd192ac88b5070851f4d0e7495a1144d0ed1531303f89b56ebe6e9a39e7b7c4b5f2385d774ab00ab0b3c32c9b110552a0794c8d242f2aa6f638a597e53d8f236c780fcac4a7e2cabcb688896a84046c713532c71aeac024eea1bbccb01b45ceb4ad91e106200b7e25b0e30bc588d783520692d41373a18914e163949fa765d49dbaa5999b1d606300a469555da182b591fe664fc1dc73f67d3261d81477fd5b43e9b7d9a376a09e4a2b82f935ce0ef730abd60b3b4ca1e15eae3dd484e5e22f0f8f50dfbc756b40cb2406e6a1d86c07c", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "2e565cd418929c3795adf3ea378f2616af24a1d7a93962c5be375e7fbdfe3d731197465669e70fd0793c00fb922d25dd53c8c35d4d686985e4e04741569497d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a781e0964591a816d07c8d6aa23d23b2ad50ae3acc529f877abf4d13e3f35e0fc25d443ba88ff661c914498d09f6c47bd3db7f8768c13ac2602e02250c34d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "2e5e8d67b60e1d06acd7a490f8394be4aab0eca89eac6738fff6664263500f2b23a1b85312f58351b078bfabd3ab8517e383900cc23a4d9a8fdb0a5ae691bd0023751d707cd5ababe78100ade4bcc1691182ef8a6086be7af4a0a62b52d7a5940dea3332f3c63c37814cba5afb4380c5c3ee3920ef5de5484c1961a98430c2820c10e66f5bd143c35562d6b5f1bd6d0a256f4afb69641a3d8c871f5caa98fa6a1c8f31e252726f5fb9f5f444f60b32fcf94ba5e077c9724d36246ec666d767cc1f0befe534aa028faf6181644d6774e4e14f600a5657b3e2f6287115317f678c13357844009932b0b873101c362a9ee9fea643412da278256377c345e3f409dc1db60e215fc52c5af9d1b5045473f2f06bb20399de3cde3ce877ba545b994f3327c359cd987e9f2d05f015974e1b18b98b8f9684a24b0a50441244333bf5a35a023036aeb27f556ca1e93dd351651594c723239a7c0cb15b8ab7a0446ba789ff17e4fcbe1d017009100203f39e446d7b686e30fce3323ef61d46bc956143947c", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "30618669fa4f387a7e9fcbf763bc0dc9908cf927d1f92b585ca17d46b7e97fd902acc05526844e174394b69b1e0b78d24f7b5bd0cfadcb6a33aa6dc090d9028f160c5af4494850ee7590972d0efda781e2879e76c807a16dd60ede657e0be6a8230f495774d31e8b73bf7ce73e6f87826d7a59e1c47b508d5f953a61c2b4939f0492560c98f9feab356c744c09f1ec80f5fc9cc579f9929a3c7d9046585431b7273a1175635e2ab1f1b63838c13bd9d1daf4dad2620a0e72beae5f66ab88acab0f0887388fbcfeed9d128b7324b47676549d378c55d6d28b80cc179258a2801711423de6d1555acffe946eebaee182f8d007d5bafea10c7e00236552de1c68b32b74c50fe814021736df034cfe502673b483baa8f12825b9c7f74c59943ca53516196e1e69cee3dc1a0ceebcd6163c57f0155afb41d78aac57966a2681fccd0229b85e084727db2843d66cc73e163875ae0cdf5ce9386bd6b2be7018476d460625bb91869e1c2453109ba45cda0fa3f4ba9b8186df72098e81ca6f131140d8b0", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000103aa4b2aeff1bc7afc5cd39952c872c8f29d64188e8d18c1b65e526d6277a33209854e0ac153a98eff0fd08a0c73d46dbbe4209f8a6a4f2aad914e40686f4720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ef4aac9b7954d5fc6eafae7f4f4c2a732ab05b45f8d50d102cee4973f36eb2c23db7d30c99e0a2a7f3bb5cd1f04635aaea58732b58887df93d9239c28230d282bd99d31a5054f2556d226f2e5ef0e075423d8604178b2e2c08006311caee54f0f11afb0c6073d12d21b13f4f78210e8ca9a66729206d3fcc2c1b04824c425f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "06236320cf783a01e2b8be7816a84671de9e8bebda0e8f957809ee1253565bae0a4ce1ac405b9974e4eaf9342c2a43bd1fdc4edc2bd18235249bf51ec43287440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "0084c3136563609ce6d7218719af3024e2163ea8124130cfb61c2521379b00672e775227ccd46bb5bd8b9f9714ecae9e037f8e91246b2a7e171337cf1332e3411fee9eea81af0f92485cb60cec6fdd90385b3f390c67d0885520bea38a07bb081242a8a318ba046cd7f4b87b4ede31c0c19f823ce0ab3192f36acc7683a9170411d50fa9a8a15815baf103030117065601aff6b54f4242d2a5a14e3147e89e25133ca084be363f41cb3886eed01fa8d896a609c22e099c4c9f5bb5a4363a57ad2f9b2caf0345e3ec3eccbc16af5713bbf15eaf2a17cd9f7a02966bd5e7ccd6fe185a77dfe45c4c1c9042c67fdb65d25bbd8b6f79dfdde27458a35792653443f3198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "24ab69f46f3e3333027d67d51af71571141bd5652b9829157a3c5d12684619840f0e1495665bccf97d627b714e8a49e9c77c21e8d5b383ad7dde7e50040d0f622cab595b9d579f8b82e433249b83ae1d7b62d7073a4f67cb3aeb9b316988907f1326d1905ffde0c77e8ebd98257aa239b05ae76c8ec7723ec19bbc8282b0debe130502106676b537e01cc356765e91c005d6c4bd1a75f5f6d41d2556c73e56ac2dc4cb08068b4aa5f14b7f1096ab35d5c13d78319ec7e66e9f67a1ff20cbbf031459f4140b271cbc8746de9dfcb477d5b72d50ef95bec5fef4a68dd69ddfdb2e2c589584551d16a9723b5d356d1ee2066d10381555cdc739e39efca2612fc544229ab0abdb0a7d1a5f0d93fb36ce41e12a31ba52fd9e3c27bebce524ab6c4e9b00f8756832b244377d06e2d00eeb95ec8096dcfd81f4e4931b50fea23c04a2fe29605352ce973ec48d1ab2c8355643c999b70ff771946078b519c556058c3d56059a65ae6e0189d4e04a966140aa40f781a1345824a90a91bb035e12ad29af1d1459f4140b271cbc8746de9dfcb477d5b72d50ef95bec5fef4a68dd69ddfdb2e2c589584551d16a9723b5d356d1ee2066d10381555cdc739e39efca2612fc544229ab0abdb0a7d1a5f0d93fb36ce41e12a31ba52fd9e3c27bebce524ab6c4e9b00f8756832b244377d06e2d00eeb95ec8096dcfd81f4e4931b50fea23c04a2fe29605352ce973ec48d1ab2c8355643c999b70ff771946078b519c556058c3d56059a65ae6e0189d4e04a966140aa40f781a1345824a90a91bb035e12ad29af1d24ab69f46f3e3333027d67d51af71571141bd5652b9829157a3c5d12684619840f0e1495665bccf97d627b714e8a49e9c77c21e8d5b383ad7dde7e50040d0f622cab595b9d579f8b82e433249b83ae1d7b62d7073a4f67cb3aeb9b316988907f1326d1905ffde0c77e8ebd98257aa239b05ae76c8ec7723ec19bbc8282b0debe130502106676b537e01cc356765e91c005d6c4bd1a75f5f6d41d2556c73e56ac2dc4cb08068b4aa5f14b7f1096ab35d5c13d78319ec7e66e9f67a1ff20cbbf03", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "1147057b17237df94a3186435acf66924e1d382b8c935fdd493ceb38c38def7303cd046286139915160357ce5b29b9ea28bfb781b71734455d20ef1a64be76ca0daa7cc4983cf74c94607519df747f61e317307c449bafb6923f6d6a65299a7e1d48db8f275830859fd61370addbc5d5ef3f0ce7491d16918e065f7e3727439d1ca8ac2f4a0f540e5505edbe1d15d13899a2a0dfccb012d068134ac66edec6252162c315417d1d12c9d7028c5619015391003a9006d4d8979784c7af2c4537a30d221a19ca86dafa8cb804daff78fd3d1bed30aa32e7d4029b1aa69afda2d750018628c766a98de1d0cca887a6d90303e68a7729490f25f937b76b57624ba0be14550ccf7139312da6fa9eb1259c6365b0bd688a27473ccb42bc5cd6f14c8abd165f8721ee9f614382c8c7edb103c941d3a55c1849c9787f34317777d5d9365b0d19da7439edb573a1b3e357faade63d5d68b6031771fd911459b7ab0bda9d3f25a50a44d10c99c5f107e3b3874f717873cb2d4674699a468204df27c0c50a9a0d7136c59b907615e1b45cf730fbfd6cf38b7e126e85e52be804620a23ace4fb03e80c29d24ed5cc407329ae093bb1be00f9e3c9332f532bc3658937110d76072129813bd7247065ac58eac42c81e874044e199f48c12aa749a9fe6bb6e4bddc1b72b9ab4579283e62445555d5b2921424213d09a776152361c46988b82be8a7111bc8198f932e379b8f9825f01af0f5e5cacbf8bfe274bf674f6eaa6e338e04259f58d438fd6391e158c991e155966218e6a432703a84068a325439657498571ba47a91d487cce77aa78390a295df54d9351637d67810c400415fb374278e3f24318bbc05a4e4d779b9498075841c360c6973c1c51dea254281829bbc9aef33198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa1e219772c16eee72450bbf43e9cadae7bf6b2e6ae6637cfeb1d1e8965287acfb0347e7bf4245debd3d00b6f51d2d50fd718e6769352f4fe1db0efe492fed2fc324fdcc7d4ed0953e3dad500c7ef9836fc61ded44ba454ec76f0a6d0687f4c1b4282b18f7e59c1db4852e622919b2ce9aa5980ca883eac312049c19a3deb79f6d0c9d6ce303b7811dd7ea506c8fa124837405bd209b8731bda79a66eb7206277b1ac5dac62d2332faa8069faca3b0d27fcdf95d8c8bafc9074ee72b5c1f33aa70", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "00898cc97b5a1f95221e7272c6ea8ceb56e702d678ac6c24275a4f6147d2b27916f336255e3f8970fd79a12281e6a6bee510e7d2ce5117214f4dd8c764e00ef312580b380ddf94a3370e6842e68b260a12012ab02c883678abf3f0f37606f55c268f02e60dfc36a40bb1fa3dba22bba44953358031876c21748d5d57dfb39ef407c890d2b747cb1e0456c9c1b30c03badffb8cde540704104b016976d0a374472a3e2918076d66622d7d6014299b77850a74b2691dda1dadcd0232fbbfe2a9e02781b3ace921b11d98193720d1493609c4d47f607a2266d608185c6382b5d23519797c215563c8b73cc7f0041d1f5fe1ce017b36afbeffe56683e3ffccb9380b198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "082a5b0eb620c491dc7cfbf269ea3e9db35fdaf6c7c4baa25a829127a56f63c41c49e6c57c3c0ddca035138e5aadb79ac638f67a918e6a4377200ebfa80ed1880bf4734681e3030e126c2a595de85f80b46bd327bae8a860a3ed5f5be7318037116c5e07de19e858eb720604f6e2935bf0f5e40d9194cfba05bfea0ab69f1d82263ee7293c68743b04034a5b63e1d2b65261f7c6758d8084a50419cc65d02ad214189e61084d61cf2ad9b6140b951ca35ae18a008cb3c1c4904e59f462e66b0428ec2c3d544a901ad85af62e1ec02aac643e707a3a45983ef168877b6901a19d108e7a47061fd472bd715c35b71b842fc1914a8972e472a2a4faa4880e0d2787198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "09148ba3625b1d4862ecfed71970e395d22bc4dafaa4a662546e4fb39141d8ba0a8f563782b2b31347c9e7ced5a21d959a38f4ae4bbc7cd37b1180a0d491cad617f32b902d2096a48b25f94ad6c692a99c68e937a4bae3c820f25093cf2786ab155c57d2b7f4aefc0e1a44a78c7d59d2cac917546717c665dc001fa43cf5775317b81fe685dd2e24a14899ef74821d1d147b88fe0c63d0921eb45c191146e7e41c9ae775eba85ea225258c9bafdf5cbad6106cd79194f4b0f8e7814068370daf302ac8191cd6d55b858891d05b919ad95f5e2f16b78c5b0ad2ecc72c3fe238421a924fa7e779ad503830c25838c2489d9bbc21fd519ceb3f4a10f4dc3e3b72be198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "0ee7f0252e8210eaa3ee452c8731ad6864d8506ba61836f48c99a16a03d59b0d2ba1ddc868f452ef0cfdcac410e9d38d726557b05edc84f8d4f62203acc1f9f029aa08ecade2c1d537c14baf6cf62758c02e6f3c4eeb0b621ad3ab941b1559de11eac12aaf058f799ee8146f36a0bbbf8e67a0aa0f9e2c192bafd05ff8da45d303b7bd661becfa6ff5092b36f1768c815434f3b7f4254fb4b8abf68e36086cd3196caa297895d4a1d58a5fe388416fbac2a74fb9beb835dbbbaa8f6b63bf9cab29a00816ed140fc36e515f43fb054c891b4b07f013c9e6d5c3f284c8528c71ae2f060699e8f54b1028b78e5f016d8142563947adcac5a5857137b6958ddc995e141dd828af529924148912360fd71ef6a365a707173aa2c06c8290d54fae458e1cf61d5e9ceced0c662c6e2df96d63adc7d84e182fa0f62e08b9afdd5c90545e01f3e8049b7934995dee28faa0e401289b92ccd1a2f408c85383f5312f528c9e2c6aaa06b56e9d6c98a701b4a9cf2f8cfddbfa93d7104d5eafbad9a84b5174e5", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "0f740d88de760df099674c96dd2d476b42673d0f2972e6d5d1f9dba95a29d26a04a44d72c2a82088da663ff162fe2d3ddd4a139e1ef6c0bbb1124d8de75f7c68196346d9774f017c351dbbdd99960e834b188b3347b92fac7f83cc6453617fe11e3ba24a0848096a0d6484133af97b7487ca9a4309cb5574d8bb96cfd7f22678235603772d0e9cf9503d05742962b07cd0af71a7c7b757960ced6fcfa74d3ded1ceed193f30fbbe5e9a9438e82bac927a0977b49f6e476aee20923e1a230f2c4201af9371c7cea66800f961d6a7219da9c27fbe61b5df43fccb275d8c034bf8e1f0e7c5a1143b0f8e850d9516ea2c836b0331521829dc2b71dbf775078c770f4198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "107b8a2cb6318aabd95763c0cafc3b24d8a9acdf8dd967176f05c400951b3e0613a1c9847bf87c8cc79ef1120ed6e3e98412f0dd4e9c8c8c421057a2353279e6198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa2fb5b7e464a0a76d9aca8698e73802782da01fce50384f459be1427855c0eb502e6c7af07418cd0203fad6a1abde95e745c41a78c6ad1ae7b1b2ada2e643fd37260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c10118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b004fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe422febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e55", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "117196c7ea11e6362bca58533a55de3deadc441b18b0a7ca68557f374dfed6a629b1b63f1d649480aa9655406c454b55cbbf8d29f3aedc30de3b0745bed3be52226ad93c0a164e73d8d9161f9d0206ab232fa5a08cb349f7df3633096cd04e920de4a56223ee43aa3c4a18bf4c84be1879dd9182fd4a03318a4bebd642627d1e142a0ed74ba11936e27101a43db8e16f6a603953c3ea4b14eaebbe117970268a2abced69ffbce2e34440530111050a4d72282dd5f4faa7703d5762d04327175619eedb06c5d1f53510f7f7464b39730659eccf0e9dfeec2cc131fd0d27c4f8e3043aaea131d0e69b79a816b675ac0dd21b4796046c149ca16df5884d615025c5238f967690e26443e6f5207b5c2af7fedb837d534282c7db1ca926a9bc06a7390ec4c043a606711a021205ef7d97785d9ae246ba06b2912e24ff9e669fb700b42714a2e42c4bd73a79cd7b2243d1b784cadb22a58e6360be1af873424efd420c12f54bdcf07ff30854629a0531065973197e685193051f2fa11a7761b0cc39f6", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e104316c97997c17267a1bb67365523b4388e1306d66ea6e4d8f4a4a4b65f5c7d06e286b49c56f6293b2cea30764f0d5eabe5817905468a41f09b77588f692e8b081070efe3d4913dde35bba2513c426d065dee815c478700cef07180fb6146182432428b1490a4f25053d4c20c8723a73de6f0681bd3a8fca41008a6c3c288252d50f18403272e96c10135f96db0f8d0aec25033ebdffb88d2e7956c9bb198ec072462211ebc0a2f042f993d5bd76caf4adb5e99610dcf7c1d992595e6976aa3", # noqa: E501 - { - Address("0x000000000000000000000000000000000000c0de"): Account( - storage={1: 1} - ) - }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - ], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_inputs( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - expected_post: dict, -) -> None: - """Various inputs to the bn254_pairing precompile.""" - coinbase = Address("0x00000000000000000000000000000000c014bace") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=15000000, - ) - - # Source: Yul - # { - # let size := calldatasize() - # calldatacopy(0, 0, size) - # let status := staticcall(0xffffffff, 8, 0, size, 0, 0x20) - # let result := 0xfe - # if status { - # result := mload(0) - # } - # sstore(1, result) - # } - contract = pre.deploy_contract( - code=( - Op.PUSH1[0x20] - + Op.PUSH0 - + Op.CALLDATASIZE - + Op.CALLDATACOPY( - dest_offset=Op.DUP1, offset=Op.DUP3, size=Op.DUP1 - ) - + Op.DUP2 - + Op.PUSH1[0x8] - + Op.PUSH4[0xFFFFFFFF] - + Op.STATICCALL - + Op.PUSH1[0xFE] - + Op.SWAP1 - + Op.PUSH1[0x1B] - + Op.JUMPI - + Op.PUSH1[0x1] - + Op.SSTORE - + Op.STOP - + Op.JUMPDEST - + Op.POP - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=Op.PUSH0)) - + Op.STOP - ), - storage={0x1: 0xCC}, - nonce=0, - address=Address("0x000000000000000000000000000000000000c0de"), # noqa: E501 - ) - pre[coinbase] = Account(balance=0, nonce=1) - pre[sender] = Account(balance=0xDE0B6B3A7640000) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=15000000, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_insufficient_gas.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_insufficient_gas.py deleted file mode 100644 index b7e2cd48999..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_insufficient_gas.py +++ /dev/null @@ -1,250 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge -ecpairing_one_point_insufficient_gasFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_one_point_insufficient_gasFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 75000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 100000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_one_point_insufficient_gas( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x60E86, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A75DF17A, nonce=3) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000c000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000010000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000002198e9393920d483a7260bfb7" # noqa: E501 - "31fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479" # noqa: E501 - "674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b3133" # noqa: E501 - "70b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b" # noqa: E501 - "4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=3, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_not_in_subgroup.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_not_in_subgroup.py deleted file mode 100644 index 32834c95f15..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_not_in_subgroup.py +++ /dev/null @@ -1,260 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge -ecpairing_one_point_not_in_subgroupFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_one_point_not_in_subgroupFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 236520, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_one_point_not_in_subgroup( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x4F04C1, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A714FB3F, nonce=20) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000c000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000800d3270b7da683f988d3889abcdad9776ecd45ab" # noqa: E501 - "aca689f1118c3fd33404b4392588360d269af2cd3e0803839ea274c2b8f062a6308e8da8" # noqa: E501 - "5fd774c26f1bcb87" - ), - gas_limit=tx_gas_limit, - nonce=20, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_with_g2_zero_and_g1_invalid.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_with_g2_zero_and_g1_invalid.py deleted file mode 100644 index de03261ea99..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_one_point_with_g2_zero_and_g1_invalid.py +++ /dev/null @@ -1,259 +0,0 @@ -""" -Use the ecpairing checker with one point, where g1 is not on the curve but... - -Ported from: -tests/static/state_tests/stZeroKnowledge -ecpairing_one_point_with_g2_zero_and_g1_invalidFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_one_point_with_g2_zero_and_g1_invalidFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 232552, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_one_point_with_g2_zero_and_g1_invalid( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Use the ecpairing checker with one point, where g1 is not on the...""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A754D9F4, nonce=6) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000c000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000110000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000002000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000" - ), - gas_limit=tx_gas_limit, - nonce=6, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_g2_by_curve_order.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_g2_by_curve_order.py deleted file mode 100644 index 3fd8c4cc086..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_g2_by_curve_order.py +++ /dev/null @@ -1,260 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge -ecpairing_perturb_g2_by_curve_orderFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_perturb_g2_by_curve_orderFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 240616, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_perturb_g2_by_curve_order( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x615E09, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A702A1F7, nonce=25) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000c000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000198e9393920d483a7260bfb7" # noqa: E501 - "31fb5d25f1aa493335a9e71297e485b7aef312c248652d61f350be9ffaba461cdfdd9cd6" # noqa: E501 - "8f770b1d71184b6e8ac0b2f0c992f6ee090689d0585ff075ec9e99ad690c3395bc4b3133" # noqa: E501 - "70b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b" # noqa: E501 - "4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=25, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_g2_by_one.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_g2_by_one.py deleted file mode 100644 index eedc6b8c2ea..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_g2_by_one.py +++ /dev/null @@ -1,259 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge/ecpairing_perturb_g2_by_oneFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_perturb_g2_by_oneFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 240488, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_perturb_g2_by_one( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x5DB2A1, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A7064D5F, nonce=24) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000c000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000198e9393920d483a7260bfb7" # noqa: E501 - "31fb5d25f1aa493335a9e71297e485b7aef312c31800deef121f1e76426a00665e5c4479" # noqa: E501 - "674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b3133" # noqa: E501 - "70b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b" # noqa: E501 - "4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=24, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_curve_order.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_curve_order.py deleted file mode 100644 index bbcc8784e28..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_curve_order.py +++ /dev/null @@ -1,260 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge -ecpairing_perturb_zeropoint_by_curve_orderFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_perturb_zeropoint_by_curve_orderFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 242408, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_perturb_zeropoint_by_curve_order( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x564C51, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A70DB3AF, nonce=22) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000c030644e72" # noqa: E501 - "e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000198e9393920d483a7260bfb7" # noqa: E501 - "31fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479" # noqa: E501 - "674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b3133" # noqa: E501 - "70b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b" # noqa: E501 - "4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=22, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_field_modulus.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_field_modulus.py deleted file mode 100644 index ca1a0fb947d..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_field_modulus.py +++ /dev/null @@ -1,260 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge -ecpairing_perturb_zeropoint_by_field_modulusFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_perturb_zeropoint_by_field_modulusFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 242536, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_perturb_zeropoint_by_field_modulus( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x59FF39, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A70A00C7, nonce=23) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000c030644e72" # noqa: E501 - "e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd470000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000198e9393920d483a7260bfb7" # noqa: E501 - "31fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479" # noqa: E501 - "674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b3133" # noqa: E501 - "70b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b" # noqa: E501 - "4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=23, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_one.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_one.py deleted file mode 100644 index 795d6fc441e..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_perturb_zeropoint_by_one.py +++ /dev/null @@ -1,260 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge -ecpairing_perturb_zeropoint_by_oneFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_perturb_zeropoint_by_oneFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 240552, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_perturb_zeropoint_by_one( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x52A0A9, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A7115F57, nonce=21) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "00000000000000000000000000000000000000000000000000000000000000c000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000010000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000198e9393920d483a7260bfb7" # noqa: E501 - "31fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479" # noqa: E501 - "674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b3133" # noqa: E501 - "70b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b" # noqa: E501 - "4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=21, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_three_point_fail_1.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_three_point_fail_1.py deleted file mode 100644 index 04a633a3607..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_three_point_fail_1.py +++ /dev/null @@ -1,270 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge -ecpairing_three_point_fail_1Filler.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_three_point_fail_1Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 422568, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 150000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_three_point_fail_1( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x48EB8E, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A71B1472, nonce=19) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000000240105456a3" # noqa: E501 - "33e6d636854f987ea7bb713dfd0ae8371a72aea313ae0c32c0bf10160cf031d41b41557f" # noqa: E501 - "3e7e3ba0c51bebe5da8e6ecd855ec50fc87efcdeac168bcc0476be093a6d2b4bbf907172" # noqa: E501 - "049874af11e1b6267606e00804d3ff0037ec57fd3010c68cb50161b7d1d96bb71edfec98" # noqa: E501 - "80171954e56871abf3d93cc94d745fa114c059d74e5b6c4ec14ae5864ebe23a71781d86c" # noqa: E501 - "29fb8fb6cce94f70d3de7a2101b33461f39d9e887dbb100f170a2345dde3c07e256d1dfa" # noqa: E501 - "2b657ba5cd03042700000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000010000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - "1a2c3013d2ea92e13c800cde68ef56a294b883f6ac35d25f587c09b1b3c635f7290158a8" # noqa: E501 - "0cd3d66530f74dc94c94adb88f5cdb481acca997b6e60071f08a115f00cacf3523caf879" # noqa: E501 - "d7d05e30549f1e6fdce364cbb8724b0329c6c2a39d4f018e0692e55db067300e6e3fe562" # noqa: E501 - "18fa2f940054e57e7ef92bf7d475a9d8a8502fd200000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000010000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e712" # noqa: E501 - "97e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5c" # noqa: E501 - "d992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b" # noqa: E501 - "12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=19, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_three_point_match_1.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_three_point_match_1.py deleted file mode 100644 index 6f452fae64a..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_three_point_match_1.py +++ /dev/null @@ -1,270 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge -ecpairing_three_point_match_1Filler.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_three_point_match_1Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 414632, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_three_point_match_1( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x42F15B, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A7210EA5, nonce=18) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000000240105456a3" # noqa: E501 - "33e6d636854f987ea7bb713dfd0ae8371a72aea313ae0c32c0bf10160cf031d41b41557f" # noqa: E501 - "3e7e3ba0c51bebe5da8e6ecd855ec50fc87efcdeac168bcc0476be093a6d2b4bbf907172" # noqa: E501 - "049874af11e1b6267606e00804d3ff0037ec57fd3010c68cb50161b7d1d96bb71edfec98" # noqa: E501 - "80171954e56871abf3d93cc94d745fa114c059d74e5b6c4ec14ae5864ebe23a71781d86c" # noqa: E501 - "29fb8fb6cce94f70d3de7a2101b33461f39d9e887dbb100f170a2345dde3c07e256d1dfa" # noqa: E501 - "2b657ba5cd03042700000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000010000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - "1a2c3013d2ea92e13c800cde68ef56a294b883f6ac35d25f587c09b1b3c635f7290158a8" # noqa: E501 - "0cd3d66530f74dc94c94adb88f5cdb481acca997b6e60071f08a115f2f997f3dbd66a7af" # noqa: E501 - "e07fe7862ce239edba9e05c5afff7f8a1259c9733b2dfbb929d1691530ca701b4a106054" # noqa: E501 - "688728c9972c8512e9789e9567aae23e302ccd7500000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000010000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000002000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000000000" - ), - gas_limit=tx_gas_limit, - nonce=18, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_fail_1.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_fail_1.py deleted file mode 100644 index a9dda7f5a9d..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_fail_1.py +++ /dev/null @@ -1,254 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_fail_1Filler.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_fail_1Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 329640, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_two_point_fail_1( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x19B0EB, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A74A4F15, nonce=9) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000018000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000010000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000002198e9393920d483a7260bfb7" # noqa: E501 - "31fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479" # noqa: E501 - "674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b3133" # noqa: E501 - "70b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b" # noqa: E501 - "4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000010000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - "198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef" # noqa: E501 - "121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075" # noqa: E501 - "ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab7180" # noqa: E501 - "8dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=9, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_fail_2.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_fail_2.py deleted file mode 100644 index 16a27b247c5..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_fail_2.py +++ /dev/null @@ -1,264 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_fail_2Filler.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_fail_2Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 333800, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 140000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_two_point_fail_2( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x39A4D9, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A72A5B27, nonce=16) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000000180105456a3" # noqa: E501 - "33e6d636854f987ea7bb713dfd0ae8371a72aea313ae0c32c0bf10160cf031d41b41557f" # noqa: E501 - "3e7e3ba0c51bebe5da8e6ecd855ec50fc87efcdeac168bcc0476be093a6d2b4bbf907172" # noqa: E501 - "049874af11e1b6267606e00804d3ff0037ec57fd3010c68cb50161b7d1d96bb71edfec98" # noqa: E501 - "80171954e56871abf3d93cc94d745fa114c059d74e5b6c4ec14ae5864ebe23a71781d86c" # noqa: E501 - "29fb8fb6cce94f70d3de7a2101b33461f39d9e887dbb100f170a2345dde3c07e256d1dfa" # noqa: E501 - "2b657ba5cd03042700000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000010000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - "105384b6dd6c48634b9fe89cb3e19667c1fe6736c69df070d674c95a42b3b8242c0d8e67" # noqa: E501 - "f0f2c14c43734b430d8be4265af8c4f7a67deb0b029fd2dff99cc6b9015eaec465d92258" # noqa: E501 - "0c7de5d4a5c26de75eaf2af6841b7412ef2eebd1e051076f1b4c21849e48de12d1bae2ba" # noqa: E501 - "d3299717aa8664ade430e19dec72a6e10a39b0ab" - ), - gas_limit=tx_gas_limit, - nonce=16, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_2.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_2.py deleted file mode 100644 index bc162c92ccf..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_2.py +++ /dev/null @@ -1,264 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_match_2Filler.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_match_2Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 329640, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_two_point_match_2( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x2B7A76, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A738858A, nonce=13) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000018000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000010000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000002198e9393920d483a7260bfb7" # noqa: E501 - "31fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479" # noqa: E501 - "674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b3133" # noqa: E501 - "70b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b" # noqa: E501 - "4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000010000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - "198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef" # noqa: E501 - "121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3" # noqa: E501 - "cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435" # noqa: E501 - "f3b617cdb3af83285c2df711ef39c01571827f9d" - ), - gas_limit=tx_gas_limit, - nonce=13, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_3.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_3.py deleted file mode 100644 index 8a9af099ed8..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_3.py +++ /dev/null @@ -1,264 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_match_3Filler.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_match_3Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 333736, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_two_point_match_3( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x302897, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A733D769, nonce=14) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000018000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000010000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000002203e205db4f19b37b60121b8" # noqa: E501 - "3a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f14" # noqa: E501 - "9d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b" # noqa: E501 - "4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c046" # noqa: E501 - "6e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c1" # noqa: E501 - "6d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83" # noqa: E501 - "198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef" # noqa: E501 - "121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075" # noqa: E501 - "ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab7180" # noqa: E501 - "8dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=14, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_4.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_4.py deleted file mode 100644 index ff3c97a28d3..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_4.py +++ /dev/null @@ -1,264 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_match_4Filler.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_match_4Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 333736, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_two_point_match_4( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x34E6B8, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A72F1948, nonce=15) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "0000000000000000000000000000000000000000000000000000000000000180105456a3" # noqa: E501 - "33e6d636854f987ea7bb713dfd0ae8371a72aea313ae0c32c0bf10160cf031d41b41557f" # noqa: E501 - "3e7e3ba0c51bebe5da8e6ecd855ec50fc87efcdeac168bcc0476be093a6d2b4bbf907172" # noqa: E501 - "049874af11e1b6267606e00804d3ff0037ec57fd3010c68cb50161b7d1d96bb71edfec98" # noqa: E501 - "80171954e56871abf3d93cc94d745fa114c059d74e5b6c4ec14ae5864ebe23a71781d86c" # noqa: E501 - "29fb8fb6cce94f70d3de7a2101b33461f39d9e887dbb100f170a2345dde3c07e256d1dfa" # noqa: E501 - "2b657ba5cd03042700000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000010000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - "1a2c3013d2ea92e13c800cde68ef56a294b883f6ac35d25f587c09b1b3c635f7290158a8" # noqa: E501 - "0cd3d66530f74dc94c94adb88f5cdb481acca997b6e60071f08a115f2f997f3dbd66a7af" # noqa: E501 - "e07fe7862ce239edba9e05c5afff7f8a1259c9733b2dfbb929d1691530ca701b4a106054" # noqa: E501 - "688728c9972c8512e9789e9567aae23e302ccd75" - ), - gas_limit=tx_gas_limit, - nonce=15, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_5.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_5.py deleted file mode 100644 index 56dfc625b1c..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_match_5.py +++ /dev/null @@ -1,264 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_match_5Filler.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_match_5Filler.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 321448, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 140000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_two_point_match_5( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x3E633A, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A7259CC6, nonce=17) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000018000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000010000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000002000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef" # noqa: E501 - "121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075" # noqa: E501 - "ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab7180" # noqa: E501 - "8dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=17, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_oog.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_oog.py deleted file mode 100644 index b23f24bf8a0..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_point_oog.py +++ /dev/null @@ -1,264 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_oogFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_two_point_oogFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 251624, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_two_point_oog( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x27A38E, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A73C5C72, nonce=12) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000018000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000010000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000002198e9393920d483a7260bfb7" # noqa: E501 - "31fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479" # noqa: E501 - "674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b3133" # noqa: E501 - "70b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b" # noqa: E501 - "4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000" # noqa: E501 - "0000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45" # noqa: E501 - "198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef" # noqa: E501 - "121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075" # noqa: E501 - "ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab7180" # noqa: E501 - "8dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=12, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_points_with_one_g2_zero.py b/tests/ported_static/stZeroKnowledge/test_ecpairing_two_points_with_one_g2_zero.py deleted file mode 100644 index 811e2257555..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_ecpairing_two_points_with_one_g2_zero.py +++ /dev/null @@ -1,265 +0,0 @@ -""" -Puts the given data into the ECPAIRING precompile. - -Ported from: -tests/static/state_tests/stZeroKnowledge -ecpairing_two_points_with_one_g2_zeroFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - [ - "tests/static/state_tests/stZeroKnowledge/ecpairing_two_points_with_one_g2_zeroFiller.json", # noqa: E501 - ], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_gas_limit, expected_post", - [ - ( - 321576, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 90000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 110000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ( - 200000, - { - Address("0xc305c901078781c232a2a521c2af7980f8385ee9"): Account( - storage={ - 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 # noqa: E501 - } - ) - }, - ), - ], - ids=["case0", "case1", "case2", "case3"], -) -@pytest.mark.pre_alloc_mutable -def test_ecpairing_two_points_with_one_g2_zero( - state_test: StateTestFiller, - pre: Alloc, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Puts the given data into the ECPAIRING precompile.""" - coinbase = Address("0x3535353535353535353535353535353535353535") - sender = EOA( - key=0x044852B2A670ADE5407E78FB2863C51DE9FCB96542A07186FE3AEDA6BB8A116D - ) - callee = Address("0x0000000000000000000000000000000000000001") - callee_1 = Address("0x0000000000000000000000000000000000000002") - callee_2 = Address("0x0000000000000000000000000000000000000003") - callee_3 = Address("0x0000000000000000000000000000000000000004") - callee_4 = Address("0x0000000000000000000000000000000000000005") - callee_5 = Address("0x0000000000000000000000000000000000000006") - callee_6 = Address("0x0000000000000000000000000000000000000007") - callee_7 = Address("0x0000000000000000000000000000000000000008") - callee_8 = Address("0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b") - callee_9 = Address("0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224") - callee_10 = Address("0x24143873e0e0815fdcbcffdbe09c979cbf9ad013") - callee_11 = Address("0x598443f1880ef585b21f1d7585bd0577402861e5") - callee_12 = Address("0x77db2bebba79db42a978f896968f4afce746ea1f") - callee_13 = Address("0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e") - callee_14 = Address("0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c") - callee_15 = Address("0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d") - callee_16 = Address("0xe0fc04fa2d34a66b779fd5cee748268032a146c0") - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=100000000, - ) - - pre[callee] = Account(balance=1, nonce=0) - pre[callee_1] = Account(balance=1, nonce=0) - pre[callee_2] = Account(balance=1, nonce=0) - pre[callee_3] = Account(balance=1, nonce=0) - pre[callee_4] = Account(balance=1, nonce=0) - pre[callee_5] = Account(balance=1, nonce=0) - pre[callee_6] = Account(balance=1, nonce=0) - pre[callee_7] = Account(balance=1, nonce=0) - pre[callee_8] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_9] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_10] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[coinbase] = Account(balance=0x1E5F0C, nonce=0) - pre[callee_11] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_12] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_13] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[sender] = Account(balance=0xDE0B6B3A745A0F4, nonce=10) - pre[callee_14] = Account(balance=0xDE0B6B3A7640000, nonce=0) - # Source: raw bytecode - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x1C, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE( - offset=0x20, - value=0x10000000000000000000000000000000000000000, - ) - + Op.MSTORE(offset=0x40, value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) - + Op.MSTORE( - offset=0x60, - value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000001, # noqa: E501 - ) - + Op.MSTORE( - offset=0x80, - value=0x2540BE3FFFFFFFFFFFFFFFFFFFFFFFFFDABF41C00, - ) - + Op.MSTORE( - offset=0xA0, - value=0xFFFFFFFFFFFFFFFFFFFFFFFDABF41C00000000000000000000000002540BE400, # noqa: E501 - ) - + Op.JUMPI( - pc=0x12C, - condition=Op.ISZERO(Op.EQ(Op.MLOAD(offset=0x0), 0x30C8D1DA)), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.ISZERO( - Op.GT( - Op.CALLDATALOAD( - offset=Op.ADD( - 0x4, Op.CALLDATALOAD(offset=0x4) - ), - ), - 0x780, - ), - ), - ), - ) - + Op.CALLDATACOPY( - dest_offset=0x140, - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - size=Op.ADD( - 0x20, - Op.CALLDATALOAD( - offset=Op.ADD(0x4, Op.CALLDATALOAD(offset=0x4)), - ), - ), - ) - + Op.JUMPI( - pc=Op.PC, - condition=Op.ISZERO( - Op.CALL( - gas=0x5F5E0FF, - address=0x8, - value=0x0, - args_offset=0x160, - args_size=Op.MLOAD(offset=0x140), - ret_offset=0x920, - ret_size=0x20, - ), - ), - ) - + Op.MSTORE(offset=0x900, value=0x20) - + Op.PUSH2[0x900] - + Op.PUSH1[0x40] - + Op.POP( - Op.CALL( - gas=0x18, - address=0x4, - value=0x0, - args_offset=Op.DUP5, - args_size=Op.DUP3, - ret_offset=0x960, - ret_size=Op.DUP1, - ), - ) - + Op.POP - + Op.POP - + Op.PUSH2[0x960] - + Op.SHA3( - offset=Op.ADD(Op.DUP3, 0x20), size=Op.MLOAD(offset=Op.DUP1) - ) - + Op.SWAP1 - + Op.POP - + Op.PUSH1[0x0] - + Op.SSTORE - + Op.PUSH2[0x960] - + Op.MSTORE(offset=Op.SUB(Op.DUP3, 0x20), value=0x20) - + Op.ADD(Op.MLOAD(offset=Op.DUP2), 0x40) - + Op.SUB(Op.ADD(Op.DUP3, 0x1F), Op.MOD(Op.SUB(Op.DUP3, 0x1), 0x20)) - + Op.SWAP1 - + Op.POP - + Op.SUB(Op.DUP3, 0x20) - + Op.RETURN - + Op.POP - + Op.STOP - + Op.JUMPDEST - ), - storage={ - 0x0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563, # noqa: E501 - }, - address=Address("0xc305c901078781c232a2a521c2af7980f8385ee9"), # noqa: E501 - ) - pre[callee_15] = Account(balance=0xDE0B6B3A7640000, nonce=0) - pre[callee_16] = Account(balance=0xDE0B6B3A7640000, nonce=0) - - tx = Transaction( - sender=sender, - to=contract, - data=bytes.fromhex( - "30c8d1da0000000000000000000000000000000000000000000000000000000000000020" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000018000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000010000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000002000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000000000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - "000000010000000000000000000000000000000000000000000000000000000000000002" # noqa: E501 - "198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef" # noqa: E501 - "121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075" # noqa: E501 - "ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab7180" # noqa: E501 - "8dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa" - ), - gas_limit=tx_gas_limit, - nonce=10, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_pairing_test.py b/tests/ported_static/stZeroKnowledge/test_pairing_test.py index df091f21088..11ed3d532db 100644 --- a/tests/ported_static/stZeroKnowledge/test_pairing_test.py +++ b/tests/ported_static/stZeroKnowledge/test_pairing_test.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_pairing_test. Ported from: -tests/static/state_tests/stZeroKnowledge/pairingTestFiller.json +state_tests/stZeroKnowledge/pairingTestFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,194 +27,172 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stZeroKnowledge/pairingTestFiller.json"], + ["state_tests/stZeroKnowledge/pairingTestFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "00000000000000000000000000000000000000000000000000000000000001801c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c2032c61a830e3c17286de9462bf242fca2883585b93870a73853face6a6bf411198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 10000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", ), - ( - "00000000000000000000000000000000000000000000000000000000000001801c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c2032c61a830e3c17286de9462bf242fca2883585b93870a73853face6a6bf411198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 90000, - {}, + pytest.param( + 0, + 1, + 0, + id="d0-g1", ), - ( - "00000000000000000000000000000000000000000000000000000000000001801c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c2032c61a830e3c17286de9462bf242fca2883585b93870a73853face6a6bf411198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 110000, - {}, + pytest.param( + 0, + 2, + 0, + id="d0-g2", ), - ( - "00000000000000000000000000000000000000000000000000000000000001801c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c2032c61a830e3c17286de9462bf242fca2883585b93870a73853face6a6bf411198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 150000, - {}, + pytest.param( + 0, + 3, + 0, + id="d0-g3", ), - ( - "00000000000000000000000000000000000000000000000000000000000001802eca0c7238bf16e83e7a1e6c5d49540685ff51380f309842a98561558019fc0203d3260361bb8451de5ff5ecd17f010ff22f5c31cdf184e9020b06fa5997db841213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f06967a1237ebfeca9aaae0d6d0bab8e28c198c5a339ef8a2407e31cdac516db922160fa257a5fd5b280642ff47b65eca77e626cb685c84fa6d3b6882a283ddd1198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 10000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 1, + 0, + 0, + id="d1-g0", ), - ( - "00000000000000000000000000000000000000000000000000000000000001802eca0c7238bf16e83e7a1e6c5d49540685ff51380f309842a98561558019fc0203d3260361bb8451de5ff5ecd17f010ff22f5c31cdf184e9020b06fa5997db841213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f06967a1237ebfeca9aaae0d6d0bab8e28c198c5a339ef8a2407e31cdac516db922160fa257a5fd5b280642ff47b65eca77e626cb685c84fa6d3b6882a283ddd1198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 90000, - {}, + pytest.param( + 1, + 1, + 0, + id="d1-g1", ), - ( - "00000000000000000000000000000000000000000000000000000000000001802eca0c7238bf16e83e7a1e6c5d49540685ff51380f309842a98561558019fc0203d3260361bb8451de5ff5ecd17f010ff22f5c31cdf184e9020b06fa5997db841213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f06967a1237ebfeca9aaae0d6d0bab8e28c198c5a339ef8a2407e31cdac516db922160fa257a5fd5b280642ff47b65eca77e626cb685c84fa6d3b6882a283ddd1198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 110000, - {}, + pytest.param( + 1, + 2, + 0, + id="d1-g2", ), - ( - "00000000000000000000000000000000000000000000000000000000000001802eca0c7238bf16e83e7a1e6c5d49540685ff51380f309842a98561558019fc0203d3260361bb8451de5ff5ecd17f010ff22f5c31cdf184e9020b06fa5997db841213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f06967a1237ebfeca9aaae0d6d0bab8e28c198c5a339ef8a2407e31cdac516db922160fa257a5fd5b280642ff47b65eca77e626cb685c84fa6d3b6882a283ddd1198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 150000, - {}, + pytest.param( + 1, + 3, + 0, + id="d1-g3", ), - ( - "00000000000000000000000000000000000000000000000000000000000001800f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba2e89718ad33c8bed92e210e81d1853435399a271913a6520736a4729cf0d51eb01a9e2ffa2e92599b68e44de5bcf354fa2642bd4f26b259daa6f7ce3ed57aeb314a9a87b789a58af499b314e13c3d65bede56c07ea2d418d6874857b70763713178fb49a2d6cd347dc58973ff49613a20757d0fcc22079f9abd10c3baee245901b9e027bd5cfc2cb5db82d4dc9677ac795ec500ecd47deee3b5da006d6d049b811d7511c78158de484232fc68daf8a45cf217d1c2fae693ff5871e8752d73b21198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 10000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 2, + 0, + 0, + id="d2-g0", ), - ( - "00000000000000000000000000000000000000000000000000000000000001800f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba2e89718ad33c8bed92e210e81d1853435399a271913a6520736a4729cf0d51eb01a9e2ffa2e92599b68e44de5bcf354fa2642bd4f26b259daa6f7ce3ed57aeb314a9a87b789a58af499b314e13c3d65bede56c07ea2d418d6874857b70763713178fb49a2d6cd347dc58973ff49613a20757d0fcc22079f9abd10c3baee245901b9e027bd5cfc2cb5db82d4dc9677ac795ec500ecd47deee3b5da006d6d049b811d7511c78158de484232fc68daf8a45cf217d1c2fae693ff5871e8752d73b21198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 90000, - {}, + pytest.param( + 2, + 1, + 0, + id="d2-g1", ), - ( - "00000000000000000000000000000000000000000000000000000000000001800f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba2e89718ad33c8bed92e210e81d1853435399a271913a6520736a4729cf0d51eb01a9e2ffa2e92599b68e44de5bcf354fa2642bd4f26b259daa6f7ce3ed57aeb314a9a87b789a58af499b314e13c3d65bede56c07ea2d418d6874857b70763713178fb49a2d6cd347dc58973ff49613a20757d0fcc22079f9abd10c3baee245901b9e027bd5cfc2cb5db82d4dc9677ac795ec500ecd47deee3b5da006d6d049b811d7511c78158de484232fc68daf8a45cf217d1c2fae693ff5871e8752d73b21198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 110000, - {}, + pytest.param( + 2, + 2, + 0, + id="d2-g2", ), - ( - "00000000000000000000000000000000000000000000000000000000000001800f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba2e89718ad33c8bed92e210e81d1853435399a271913a6520736a4729cf0d51eb01a9e2ffa2e92599b68e44de5bcf354fa2642bd4f26b259daa6f7ce3ed57aeb314a9a87b789a58af499b314e13c3d65bede56c07ea2d418d6874857b70763713178fb49a2d6cd347dc58973ff49613a20757d0fcc22079f9abd10c3baee245901b9e027bd5cfc2cb5db82d4dc9677ac795ec500ecd47deee3b5da006d6d049b811d7511c78158de484232fc68daf8a45cf217d1c2fae693ff5871e8752d73b21198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 150000, - {}, + pytest.param( + 2, + 3, + 0, + id="d2-g3", ), - ( - "00000000000000000000000000000000000000000000000000000000000002402f2ea0b3da1e8ef11914acf8b2e1b32d99df51f5f4f206fc6b947eae860eddb6068134ddb33dc888ef446b648d72338684d678d2eb2371c61a50734d78da4b7225f83c8b6ab9de74e7da488ef02645c5a16a6652c3c71a15dc37fe3a5dcb7cb122acdedd6308e3bb230d226d16a105295f523a8a02bfc5e8bd2da135ac4c245d065bbad92e7c4e31bf3757f1fe7362a63fbfee50e7dc68da116e67d600d9bf6806d302580dc0661002994e7cd3a7f224e7ddc27802777486bf80f40e4ca3cfdb186bac5188a98c45e6016873d107f5cd131f3a3e339d0375e58bd6219347b008122ae2b09e539e152ec5364e7e2204b03d11d3caa038bfc7cd499f8176aacbee1f39e4e4afc4bc74790a4a028aff2c3d2538731fb755edefd8cb48d6ea589b5e283f150794b6736f670d6a1033f9b46c6f5204f50813eb85c8dc4b59db1c5d39140d97ee4d2b36d99bc49974d18ecca3e7ad51011956051b464d9e27d46cc25e0764bb98575bd466d32db7b15f582b2d5c452b36aa394b789366e5e3ca5aabd415794ab061441e51d01e94640b7e3084a07e02c78cf3103c542bc5b298669f211b88da1679b0b64a63b7e0e7bfe52aae524f73a55be7fe70c7e9bfc94b4cf0da1213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f", # noqa: E501 - 10000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 3, + 0, + 0, + id="d3-g0", ), - ( - "00000000000000000000000000000000000000000000000000000000000002402f2ea0b3da1e8ef11914acf8b2e1b32d99df51f5f4f206fc6b947eae860eddb6068134ddb33dc888ef446b648d72338684d678d2eb2371c61a50734d78da4b7225f83c8b6ab9de74e7da488ef02645c5a16a6652c3c71a15dc37fe3a5dcb7cb122acdedd6308e3bb230d226d16a105295f523a8a02bfc5e8bd2da135ac4c245d065bbad92e7c4e31bf3757f1fe7362a63fbfee50e7dc68da116e67d600d9bf6806d302580dc0661002994e7cd3a7f224e7ddc27802777486bf80f40e4ca3cfdb186bac5188a98c45e6016873d107f5cd131f3a3e339d0375e58bd6219347b008122ae2b09e539e152ec5364e7e2204b03d11d3caa038bfc7cd499f8176aacbee1f39e4e4afc4bc74790a4a028aff2c3d2538731fb755edefd8cb48d6ea589b5e283f150794b6736f670d6a1033f9b46c6f5204f50813eb85c8dc4b59db1c5d39140d97ee4d2b36d99bc49974d18ecca3e7ad51011956051b464d9e27d46cc25e0764bb98575bd466d32db7b15f582b2d5c452b36aa394b789366e5e3ca5aabd415794ab061441e51d01e94640b7e3084a07e02c78cf3103c542bc5b298669f211b88da1679b0b64a63b7e0e7bfe52aae524f73a55be7fe70c7e9bfc94b4cf0da1213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f", # noqa: E501 - 90000, - {}, + pytest.param( + 3, + 1, + 0, + id="d3-g1", ), - ( - "00000000000000000000000000000000000000000000000000000000000002402f2ea0b3da1e8ef11914acf8b2e1b32d99df51f5f4f206fc6b947eae860eddb6068134ddb33dc888ef446b648d72338684d678d2eb2371c61a50734d78da4b7225f83c8b6ab9de74e7da488ef02645c5a16a6652c3c71a15dc37fe3a5dcb7cb122acdedd6308e3bb230d226d16a105295f523a8a02bfc5e8bd2da135ac4c245d065bbad92e7c4e31bf3757f1fe7362a63fbfee50e7dc68da116e67d600d9bf6806d302580dc0661002994e7cd3a7f224e7ddc27802777486bf80f40e4ca3cfdb186bac5188a98c45e6016873d107f5cd131f3a3e339d0375e58bd6219347b008122ae2b09e539e152ec5364e7e2204b03d11d3caa038bfc7cd499f8176aacbee1f39e4e4afc4bc74790a4a028aff2c3d2538731fb755edefd8cb48d6ea589b5e283f150794b6736f670d6a1033f9b46c6f5204f50813eb85c8dc4b59db1c5d39140d97ee4d2b36d99bc49974d18ecca3e7ad51011956051b464d9e27d46cc25e0764bb98575bd466d32db7b15f582b2d5c452b36aa394b789366e5e3ca5aabd415794ab061441e51d01e94640b7e3084a07e02c78cf3103c542bc5b298669f211b88da1679b0b64a63b7e0e7bfe52aae524f73a55be7fe70c7e9bfc94b4cf0da1213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f", # noqa: E501 - 110000, - {}, + pytest.param( + 3, + 2, + 0, + id="d3-g2", ), - ( - "00000000000000000000000000000000000000000000000000000000000002402f2ea0b3da1e8ef11914acf8b2e1b32d99df51f5f4f206fc6b947eae860eddb6068134ddb33dc888ef446b648d72338684d678d2eb2371c61a50734d78da4b7225f83c8b6ab9de74e7da488ef02645c5a16a6652c3c71a15dc37fe3a5dcb7cb122acdedd6308e3bb230d226d16a105295f523a8a02bfc5e8bd2da135ac4c245d065bbad92e7c4e31bf3757f1fe7362a63fbfee50e7dc68da116e67d600d9bf6806d302580dc0661002994e7cd3a7f224e7ddc27802777486bf80f40e4ca3cfdb186bac5188a98c45e6016873d107f5cd131f3a3e339d0375e58bd6219347b008122ae2b09e539e152ec5364e7e2204b03d11d3caa038bfc7cd499f8176aacbee1f39e4e4afc4bc74790a4a028aff2c3d2538731fb755edefd8cb48d6ea589b5e283f150794b6736f670d6a1033f9b46c6f5204f50813eb85c8dc4b59db1c5d39140d97ee4d2b36d99bc49974d18ecca3e7ad51011956051b464d9e27d46cc25e0764bb98575bd466d32db7b15f582b2d5c452b36aa394b789366e5e3ca5aabd415794ab061441e51d01e94640b7e3084a07e02c78cf3103c542bc5b298669f211b88da1679b0b64a63b7e0e7bfe52aae524f73a55be7fe70c7e9bfc94b4cf0da1213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f", # noqa: E501 - 150000, - {}, + pytest.param( + 3, + 3, + 0, + id="d3-g3", ), - ( - "000000000000000000000000000000000000000000000000000000000000024020a754d2071d4d53903e3b31a7e98ad6882d58aec240ef981fdf0a9d22c5926a29c853fcea789887315916bbeb89ca37edb355b4f980c9a12a94f30deeed30211213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f1abb4a25eb9379ae96c84fff9f0540abcfc0a0d11aeda02d4f37e4baf74cb0c11073b3ff2cdbb38755f8691ea59e9606696b3ff278acfc098fa8226470d03869217cee0a9ad79a4493b5253e2e4e3a39fc2df38419f230d341f60cb064a0ac290a3d76f140db8418ba512272381446eb73958670f00cf46f1d9e64cba057b53c26f64a8ec70387a13e41430ed3ee4a7db2059cc5fc13c067194bcc0cb49a98552fd72bd9edb657346127da132e5b82ab908f5816c826acb499e22f2412d1a2d70f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd2198a1f162a73261f112401aa2db79c7dab1533c9935c77290a6ce3b191f2318d198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 10000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1} - ) - }, + pytest.param( + 4, + 0, + 0, + id="d4-g0", ), - ( - "000000000000000000000000000000000000000000000000000000000000024020a754d2071d4d53903e3b31a7e98ad6882d58aec240ef981fdf0a9d22c5926a29c853fcea789887315916bbeb89ca37edb355b4f980c9a12a94f30deeed30211213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f1abb4a25eb9379ae96c84fff9f0540abcfc0a0d11aeda02d4f37e4baf74cb0c11073b3ff2cdbb38755f8691ea59e9606696b3ff278acfc098fa8226470d03869217cee0a9ad79a4493b5253e2e4e3a39fc2df38419f230d341f60cb064a0ac290a3d76f140db8418ba512272381446eb73958670f00cf46f1d9e64cba057b53c26f64a8ec70387a13e41430ed3ee4a7db2059cc5fc13c067194bcc0cb49a98552fd72bd9edb657346127da132e5b82ab908f5816c826acb499e22f2412d1a2d70f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd2198a1f162a73261f112401aa2db79c7dab1533c9935c77290a6ce3b191f2318d198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 90000, - {}, + pytest.param( + 4, + 1, + 0, + id="d4-g1", ), - ( - "000000000000000000000000000000000000000000000000000000000000024020a754d2071d4d53903e3b31a7e98ad6882d58aec240ef981fdf0a9d22c5926a29c853fcea789887315916bbeb89ca37edb355b4f980c9a12a94f30deeed30211213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f1abb4a25eb9379ae96c84fff9f0540abcfc0a0d11aeda02d4f37e4baf74cb0c11073b3ff2cdbb38755f8691ea59e9606696b3ff278acfc098fa8226470d03869217cee0a9ad79a4493b5253e2e4e3a39fc2df38419f230d341f60cb064a0ac290a3d76f140db8418ba512272381446eb73958670f00cf46f1d9e64cba057b53c26f64a8ec70387a13e41430ed3ee4a7db2059cc5fc13c067194bcc0cb49a98552fd72bd9edb657346127da132e5b82ab908f5816c826acb499e22f2412d1a2d70f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd2198a1f162a73261f112401aa2db79c7dab1533c9935c77290a6ce3b191f2318d198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 110000, - {}, + pytest.param( + 4, + 2, + 0, + id="d4-g2", ), - ( - "000000000000000000000000000000000000000000000000000000000000024020a754d2071d4d53903e3b31a7e98ad6882d58aec240ef981fdf0a9d22c5926a29c853fcea789887315916bbeb89ca37edb355b4f980c9a12a94f30deeed30211213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f1abb4a25eb9379ae96c84fff9f0540abcfc0a0d11aeda02d4f37e4baf74cb0c11073b3ff2cdbb38755f8691ea59e9606696b3ff278acfc098fa8226470d03869217cee0a9ad79a4493b5253e2e4e3a39fc2df38419f230d341f60cb064a0ac290a3d76f140db8418ba512272381446eb73958670f00cf46f1d9e64cba057b53c26f64a8ec70387a13e41430ed3ee4a7db2059cc5fc13c067194bcc0cb49a98552fd72bd9edb657346127da132e5b82ab908f5816c826acb499e22f2412d1a2d70f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd2198a1f162a73261f112401aa2db79c7dab1533c9935c77290a6ce3b191f2318d198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 150000, - {}, + pytest.param( + 4, + 3, + 0, + id="d4-g3", ), - ( - "00000000000000000000000000000000000000000000000000000000000001801c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c103188585e2364128fe25c70558f1560f4f9350baf3959e603cc91486e110936198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 10000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, + pytest.param( + 5, + 0, + 0, + id="d5-g0", ), - ( - "00000000000000000000000000000000000000000000000000000000000001801c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c103188585e2364128fe25c70558f1560f4f9350baf3959e603cc91486e110936198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 90000, - {}, + pytest.param( + 5, + 1, + 0, + id="d5-g1", ), - ( - "00000000000000000000000000000000000000000000000000000000000001801c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c103188585e2364128fe25c70558f1560f4f9350baf3959e603cc91486e110936198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 110000, - {}, + pytest.param( + 5, + 2, + 0, + id="d5-g2", ), - ( - "00000000000000000000000000000000000000000000000000000000000001801c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c103188585e2364128fe25c70558f1560f4f9350baf3959e603cc91486e110936198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa", # noqa: E501 - 150000, - {}, + pytest.param( + 5, + 3, + 0, + id="d5-g3", ), ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - ], ) @pytest.mark.pre_alloc_mutable def test_pairing_test( state_test: StateTestFiller, pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, + fork: Fork, + d: int, + g: int, + v: int, ) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") + """Test_pairing_test.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_1 = Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + contract_2 = Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -224,118 +207,391 @@ def test_pairing_test( ) pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: LLL + # Source: lll # {(MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) (MSTORE 128 (CALLDATALOAD 128)) (MSTORE 160 (CALLDATALOAD 160)) (MSTORE 192 (CALLDATALOAD 192)) (MSTORE 224 (CALLDATALOAD 224)) (MSTORE 256 (CALLDATALOAD 256)) (MSTORE 288 (CALLDATALOAD 288)) (MSTORE 320 (CALLDATALOAD 320)) (MSTORE 352 (CALLDATALOAD 352)) (MSTORE 384 (CALLDATALOAD 384)) (MSTORE 416 (CALLDATALOAD 416)) (MSTORE 448 (CALLDATALOAD 448)) (MSTORE 480 (CALLDATALOAD 480)) (MSTORE 512 (CALLDATALOAD 512)) (MSTORE 544 (CALLDATALOAD 544)) (MSTORE 576 (CALLDATALOAD 576)) (MSTORE 608 (CALLDATALOAD 608)) (MSTORE 640 (CALLDATALOAD 640)) (MSTORE 672 (CALLDATALOAD 672)) (MSTORE 704 (CALLDATALOAD 704)) (MSTORE 736 (CALLDATALOAD 736)) [[0]](CALLCODE 500000 8 0 32 (CALLDATALOAD 0) 1000 32) [[1]] (MLOAD 1000) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x80)) - + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0xA0)) - + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0xC0)) - + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0xE0)) - + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x100)) - + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x120)) - + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x140)) - + Op.MSTORE(offset=0x160, value=Op.CALLDATALOAD(offset=0x160)) - + Op.MSTORE(offset=0x180, value=Op.CALLDATALOAD(offset=0x180)) - + Op.MSTORE(offset=0x1A0, value=Op.CALLDATALOAD(offset=0x1A0)) - + Op.MSTORE(offset=0x1C0, value=Op.CALLDATALOAD(offset=0x1C0)) - + Op.MSTORE(offset=0x1E0, value=Op.CALLDATALOAD(offset=0x1E0)) - + Op.MSTORE(offset=0x200, value=Op.CALLDATALOAD(offset=0x200)) - + Op.MSTORE(offset=0x220, value=Op.CALLDATALOAD(offset=0x220)) - + Op.MSTORE(offset=0x240, value=Op.CALLDATALOAD(offset=0x240)) - + Op.MSTORE(offset=0x260, value=Op.CALLDATALOAD(offset=0x260)) - + Op.MSTORE(offset=0x280, value=Op.CALLDATALOAD(offset=0x280)) - + Op.MSTORE(offset=0x2A0, value=Op.CALLDATALOAD(offset=0x2A0)) - + Op.MSTORE(offset=0x2C0, value=Op.CALLDATALOAD(offset=0x2C0)) - + Op.MSTORE(offset=0x2E0, value=Op.CALLDATALOAD(offset=0x2E0)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x7A120, - address=0x8, - value=0x0, - args_offset=0x20, - args_size=Op.CALLDATALOAD(offset=0x0), - ret_offset=0x3E8, - ret_size=0x20, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x3E8)) - + Op.STOP - ), + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x80)) + + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0xA0)) + + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0xC0)) + + Op.MSTORE(offset=0xE0, value=Op.CALLDATALOAD(offset=0xE0)) + + Op.MSTORE(offset=0x100, value=Op.CALLDATALOAD(offset=0x100)) + + Op.MSTORE(offset=0x120, value=Op.CALLDATALOAD(offset=0x120)) + + Op.MSTORE(offset=0x140, value=Op.CALLDATALOAD(offset=0x140)) + + Op.MSTORE(offset=0x160, value=Op.CALLDATALOAD(offset=0x160)) + + Op.MSTORE(offset=0x180, value=Op.CALLDATALOAD(offset=0x180)) + + Op.MSTORE(offset=0x1A0, value=Op.CALLDATALOAD(offset=0x1A0)) + + Op.MSTORE(offset=0x1C0, value=Op.CALLDATALOAD(offset=0x1C0)) + + Op.MSTORE(offset=0x1E0, value=Op.CALLDATALOAD(offset=0x1E0)) + + Op.MSTORE(offset=0x200, value=Op.CALLDATALOAD(offset=0x200)) + + Op.MSTORE(offset=0x220, value=Op.CALLDATALOAD(offset=0x220)) + + Op.MSTORE(offset=0x240, value=Op.CALLDATALOAD(offset=0x240)) + + Op.MSTORE(offset=0x260, value=Op.CALLDATALOAD(offset=0x260)) + + Op.MSTORE(offset=0x280, value=Op.CALLDATALOAD(offset=0x280)) + + Op.MSTORE(offset=0x2A0, value=Op.CALLDATALOAD(offset=0x2A0)) + + Op.MSTORE(offset=0x2C0, value=Op.CALLDATALOAD(offset=0x2C0)) + + Op.MSTORE(offset=0x2E0, value=Op.CALLDATALOAD(offset=0x2E0)) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x7A120, + address=0x8, + value=0x0, + args_offset=0x20, + args_size=Op.CALLDATALOAD(offset=0x0), + ret_offset=0x3E8, + ret_size=0x20, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x3E8)) + + Op.STOP, nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000) [[0]](CALLCODE 5000000 7 0 0 96 1000 64) [[1]](MLOAD 1000) [[2]](MLOAD 1032) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) - + Op.MSTORE( - offset=0x40, - value=0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000000, # noqa: E501 - ) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x4C4B40, - address=0x7, - value=0x0, - args_offset=0x0, - args_size=0x60, - ret_offset=0x3E8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x408)) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) + + Op.MSTORE( + offset=0x40, + value=0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000000, # noqa: E501 + ) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x4C4B40, + address=0x7, + value=0x0, + args_offset=0x0, + args_size=0x60, + ret_offset=0x3E8, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x3E8)) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x408)) + + Op.STOP, nonce=0, - address=Address("0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xC94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - # Source: LLL + # Source: lll # { (MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) [[0]](CALLCODE 5000000 6 0 0 128 1000 64) [[1]](MLOAD 1000) [[2]](MLOAD 1032) } # noqa: E501 - pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x4C4B40, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x3E8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x3E8)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x408)) - + Op.STOP - ), + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x4C4B40, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x3E8, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x3E8)) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x408)) + + Op.STOP, nonce=0, - address=Address("0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 + address=Address(0xD94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 ) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1, 2, 3, 4], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 1, 1: 1})}, + }, + { + "indexes": {"data": -1, "gas": [1, 2, 3], "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={})}, + }, + { + "indexes": {"data": [5], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 1, 1: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Hash(0x180) + + Hash( + 0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59 + ) + + Hash( + 0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41 + ) + + Hash( + 0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7 + ) + + Hash( + 0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678 + ) + + Hash( + 0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D + ) + + Hash( + 0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550 + ) + + Hash( + 0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C + ) + + Hash( + 0x2032C61A830E3C17286DE9462BF242FCA2883585B93870A73853FACE6A6BF411 + ) + + Hash( + 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 + ) + + Hash( + 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED + ) + + Hash( + 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B + ) + + Hash( + 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA + ), + Hash(0x180) + + Hash( + 0x2ECA0C7238BF16E83E7A1E6C5D49540685FF51380F309842A98561558019FC02 + ) + + Hash( + 0x3D3260361BB8451DE5FF5ECD17F010FF22F5C31CDF184E9020B06FA5997DB84 + ) + + Hash( + 0x1213D2149B006137FCFB23036606F848D638D576A120CA981B5B1A5F9300B3EE + ) + + Hash( + 0x2276CF730CF493CD95D64677BBB75FC42DB72513A4C1E387B476D056F80AA75F + ) + + Hash( + 0x21EE6226D31426322AFCDA621464D0611D226783262E21BB3BC86B537E986237 + ) + + Hash( + 0x96DF1F82DFF337DD5972E32A8AD43E28A78A96A823EF1CD4DEBE12B6552EA5F + ) + + Hash( + 0x6967A1237EBFECA9AAAE0D6D0BAB8E28C198C5A339EF8A2407E31CDAC516DB9 + ) + + Hash( + 0x22160FA257A5FD5B280642FF47B65ECA77E626CB685C84FA6D3B6882A283DDD1 + ) + + Hash( + 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 + ) + + Hash( + 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED + ) + + Hash( + 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B + ) + + Hash( + 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA + ), + Hash(0x180) + + Hash( + 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2 + ) + + Hash( + 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA + ) + + Hash( + 0x2E89718AD33C8BED92E210E81D1853435399A271913A6520736A4729CF0D51EB + ) + + Hash( + 0x1A9E2FFA2E92599B68E44DE5BCF354FA2642BD4F26B259DAA6F7CE3ED57AEB3 + ) + + Hash( + 0x14A9A87B789A58AF499B314E13C3D65BEDE56C07EA2D418D6874857B70763713 + ) + + Hash( + 0x178FB49A2D6CD347DC58973FF49613A20757D0FCC22079F9ABD10C3BAEE24590 + ) + + Hash( + 0x1B9E027BD5CFC2CB5DB82D4DC9677AC795EC500ECD47DEEE3B5DA006D6D049B8 + ) + + Hash( + 0x11D7511C78158DE484232FC68DAF8A45CF217D1C2FAE693FF5871E8752D73B21 + ) + + Hash( + 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 + ) + + Hash( + 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED + ) + + Hash( + 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B + ) + + Hash( + 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA + ), + Hash(0x240) + + Hash( + 0x2F2EA0B3DA1E8EF11914ACF8B2E1B32D99DF51F5F4F206FC6B947EAE860EDDB6 + ) + + Hash( + 0x68134DDB33DC888EF446B648D72338684D678D2EB2371C61A50734D78DA4B72 + ) + + Hash( + 0x25F83C8B6AB9DE74E7DA488EF02645C5A16A6652C3C71A15DC37FE3A5DCB7CB1 + ) + + Hash( + 0x22ACDEDD6308E3BB230D226D16A105295F523A8A02BFC5E8BD2DA135AC4C245D + ) + + Hash( + 0x65BBAD92E7C4E31BF3757F1FE7362A63FBFEE50E7DC68DA116E67D600D9BF68 + ) + + Hash( + 0x6D302580DC0661002994E7CD3A7F224E7DDC27802777486BF80F40E4CA3CFDB + ) + + Hash( + 0x186BAC5188A98C45E6016873D107F5CD131F3A3E339D0375E58BD6219347B008 + ) + + Hash( + 0x122AE2B09E539E152EC5364E7E2204B03D11D3CAA038BFC7CD499F8176AACBEE + ) + + Hash( + 0x1F39E4E4AFC4BC74790A4A028AFF2C3D2538731FB755EDEFD8CB48D6EA589B5E + ) + + Hash( + 0x283F150794B6736F670D6A1033F9B46C6F5204F50813EB85C8DC4B59DB1C5D39 + ) + + Hash( + 0x140D97EE4D2B36D99BC49974D18ECCA3E7AD51011956051B464D9E27D46CC25E + ) + + Hash( + 0x764BB98575BD466D32DB7B15F582B2D5C452B36AA394B789366E5E3CA5AABD4 + ) + + Hash( + 0x15794AB061441E51D01E94640B7E3084A07E02C78CF3103C542BC5B298669F21 + ) + + Hash( + 0x1B88DA1679B0B64A63B7E0E7BFE52AAE524F73A55BE7FE70C7E9BFC94B4CF0DA + ) + + Hash( + 0x1213D2149B006137FCFB23036606F848D638D576A120CA981B5B1A5F9300B3EE + ) + + Hash( + 0x2276CF730CF493CD95D64677BBB75FC42DB72513A4C1E387B476D056F80AA75F + ) + + Hash( + 0x21EE6226D31426322AFCDA621464D0611D226783262E21BB3BC86B537E986237 + ) + + Hash( + 0x96DF1F82DFF337DD5972E32A8AD43E28A78A96A823EF1CD4DEBE12B6552EA5F + ), + Hash(0x240) + + Hash( + 0x20A754D2071D4D53903E3B31A7E98AD6882D58AEC240EF981FDF0A9D22C5926A + ) + + Hash( + 0x29C853FCEA789887315916BBEB89CA37EDB355B4F980C9A12A94F30DEEED3021 + ) + + Hash( + 0x1213D2149B006137FCFB23036606F848D638D576A120CA981B5B1A5F9300B3EE + ) + + Hash( + 0x2276CF730CF493CD95D64677BBB75FC42DB72513A4C1E387B476D056F80AA75F + ) + + Hash( + 0x21EE6226D31426322AFCDA621464D0611D226783262E21BB3BC86B537E986237 + ) + + Hash( + 0x96DF1F82DFF337DD5972E32A8AD43E28A78A96A823EF1CD4DEBE12B6552EA5F + ) + + Hash( + 0x1ABB4A25EB9379AE96C84FFF9F0540ABCFC0A0D11AEDA02D4F37E4BAF74CB0C1 + ) + + Hash( + 0x1073B3FF2CDBB38755F8691EA59E9606696B3FF278ACFC098FA8226470D03869 + ) + + Hash( + 0x217CEE0A9AD79A4493B5253E2E4E3A39FC2DF38419F230D341F60CB064A0AC29 + ) + + Hash( + 0xA3D76F140DB8418BA512272381446EB73958670F00CF46F1D9E64CBA057B53C + ) + + Hash( + 0x26F64A8EC70387A13E41430ED3EE4A7DB2059CC5FC13C067194BCC0CB49A9855 + ) + + Hash( + 0x2FD72BD9EDB657346127DA132E5B82AB908F5816C826ACB499E22F2412D1A2D7 + ) + + Hash( + 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2 + ) + + Hash( + 0x198A1F162A73261F112401AA2DB79C7DAB1533C9935C77290A6CE3B191F2318D + ) + + Hash( + 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 + ) + + Hash( + 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED + ) + + Hash( + 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B + ) + + Hash( + 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA + ), + Hash(0x180) + + Hash( + 0x1C76476F4DEF4BB94541D57EBBA1193381FFA7AA76ADA664DD31C16024C43F59 + ) + + Hash( + 0x3034DD2920F673E204FEE2811C678745FC819B55D3E9D294E45C9B03A76AEF41 + ) + + Hash( + 0x209DD15EBFF5D46C4BD888E51A93CF99A7329636C63514396B4A452003A35BF7 + ) + + Hash( + 0x4BF11CA01483BFA8B34B43561848D28905960114C8AC04049AF4B6315A41678 + ) + + Hash( + 0x2BB8324AF6CFC93537A2AD1A445CFD0CA2A71ACD7AC41FADBF933C2A51BE344D + ) + + Hash( + 0x120A2A4CF30C1BF9845F20C6FE39E07EA2CCE61F0C9BB048165FE5E4DE877550 + ) + + Hash( + 0x111E129F1CF1097710D41C4AC70FCDFA5BA2023C6FF1CBEAC322DE49D1B6DF7C + ) + + Hash( + 0x103188585E2364128FE25C70558F1560F4F9350BAF3959E603CC91486E110936 + ) + + Hash( + 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 + ) + + Hash( + 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED + ) + + Hash( + 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B + ) + + Hash( + 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA + ), + ] + tx_gas = [10000000, 90000, 110000, 150000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_point_add.py b/tests/ported_static/stZeroKnowledge/test_point_add.py deleted file mode 100644 index 26fbd0ba23c..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_point_add.py +++ /dev/null @@ -1,499 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/stZeroKnowledge/pointAddFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stZeroKnowledge/pointAddFiller.json"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", - [ - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD3, # noqa: E501 - 2: 0x15ED738C0E0A7C92E7845F96B2AE9C0A68A6A449E3538FC7FF3EBF7A5A18A2C4, # noqa: E501 - } - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD3, # noqa: E501 - 2: 0x15ED738C0E0A7C92E7845F96B2AE9C0A68A6A449E3538FC7FF3EBF7A5A18A2C4, # noqa: E501 - } - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD3, # noqa: E501 - 2: 0x15ED738C0E0A7C92E7845F96B2AE9C0A68A6A449E3538FC7FF3EBF7A5A18A2C4, # noqa: E501 - } - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 70000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 70000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 1000000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 110000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 150000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 70000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 70000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 70000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 1000000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 110000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 150000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 70000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 1000000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 110000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 150000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 70000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - 2: 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - 2: 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 - 2: 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 70000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 - 2: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4", # noqa: E501 - 70000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x59A381FEC09E29448A58AE8905F41D1EB8FF0ED755AA0F827821AEFDE02EC7D, # noqa: E501 - 2: 0x269D2516BF8C4F5798CC1267162E59ADD561E5537A328FE0F28A252FA287A72A, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x59A381FEC09E29448A58AE8905F41D1EB8FF0ED755AA0F827821AEFDE02EC7D, # noqa: E501 - 2: 0x269D2516BF8C4F5798CC1267162E59ADD561E5537A328FE0F28A252FA287A72A, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0x59A381FEC09E29448A58AE8905F41D1EB8FF0ED755AA0F827821AEFDE02EC7D, # noqa: E501 - 2: 0x269D2516BF8C4F5798CC1267162E59ADD561E5537A328FE0F28A252FA287A72A, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 70000, - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - ], -) -@pytest.mark.pre_alloc_mutable -def test_point_add( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=4012015, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: LLL - # {(MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) [[0]](CALLCODE 500000 6 0 0 128 200 64) [[1]] (MLOAD 200) [[2]] (MLOAD 232) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x7A120, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0xC8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xC8)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0xE8)) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - nonce=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_point_add_trunc.py b/tests/ported_static/stZeroKnowledge/test_point_add_trunc.py deleted file mode 100644 index ef358f8393d..00000000000 --- a/tests/ported_static/stZeroKnowledge/test_point_add_trunc.py +++ /dev/null @@ -1,503 +0,0 @@ -""" -Test ported from static filler. - -Ported from: -tests/static/state_tests/stZeroKnowledge/pointAddTruncFiller.json -""" - -import pytest -from execution_testing import ( - EOA, - Account, - Address, - Alloc, - Environment, - StateTestFiller, - Transaction, -) -from execution_testing.vm import Op - -REFERENCE_SPEC_GIT_PATH = "N/A" -REFERENCE_SPEC_VERSION = "N/A" - - -@pytest.mark.ported_from( - ["tests/static/state_tests/stZeroKnowledge/pointAddTruncFiller.json"], -) -@pytest.mark.valid_from("Cancun") -@pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", - [ - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 2} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 2} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 200000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 2} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 80000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 200000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 80000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 200000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 80000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 200000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 80000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 200000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 80000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1} - ) - }, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 1000000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 110000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 200000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 80000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 1000000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 110000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 200000, - {}, - ), - ( - "0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25919bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 80000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 200000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba", # noqa: E501 - 80000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4", # noqa: E501 - 200000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4", # noqa: E501 - 80000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 1000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 200000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2, # noqa: E501 - 2: 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA, # noqa: E501 - } - ) - }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 80000, - {}, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - ], -) -@pytest.mark.pre_alloc_mutable -def test_point_add_trunc( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=4012015, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: LLL - # {(MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) [[0]](CALLCODE 500000 6 0 0 64 200 64) [[1]] (MLOAD 200) [[2]] (MLOAD 232) } # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x7A120, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x40, - ret_offset=0xC8, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0xC8)) - + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0xE8)) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) - - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" - - tx = Transaction( - sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, - nonce=1, - ) - - post = expected_post - - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_point_mul_add.py b/tests/ported_static/stZeroKnowledge/test_point_mul_add.py index ce17a3e2941..85872c32263 100644 --- a/tests/ported_static/stZeroKnowledge/test_point_mul_add.py +++ b/tests/ported_static/stZeroKnowledge/test_point_mul_add.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_point_mul_add. Ported from: -tests/static/state_tests/stZeroKnowledge/pointMulAddFiller.json +state_tests/stZeroKnowledge/pointMulAddFiller.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,17 +27,311 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stZeroKnowledge/pointMulAddFiller.json"], + ["state_tests/stZeroKnowledge/pointMulAddFiller.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + pytest.param( + 0, + 0, + 0, + id="d0-g0", + ), + pytest.param( + 0, + 1, + 0, + id="d0-g1", + ), + pytest.param( + 0, + 2, + 0, + id="d0-g2", + ), + pytest.param( + 0, + 3, + 0, + id="d0-g3", + ), + pytest.param( + 1, + 0, + 0, + id="d1-g0", + ), + pytest.param( + 1, + 1, + 0, + id="d1-g1", + ), + pytest.param( + 1, + 2, + 0, + id="d1-g2", + ), + pytest.param( + 1, + 3, + 0, + id="d1-g3", + ), + pytest.param( + 2, + 0, + 0, + id="d2-g0", + ), + pytest.param( + 2, + 1, + 0, + id="d2-g1", + ), + pytest.param( + 2, + 2, + 0, + id="d2-g2", + ), + pytest.param( + 2, + 3, + 0, + id="d2-g3", + ), + pytest.param( + 3, + 0, + 0, + id="d3-g0", + ), + pytest.param( + 3, + 1, + 0, + id="d3-g1", + ), + pytest.param( + 3, + 2, + 0, + id="d3-g2", + ), + pytest.param( + 3, + 3, + 0, + id="d3-g3", + ), + pytest.param( + 4, + 0, + 0, + id="d4-g0", + ), + pytest.param( + 4, + 1, + 0, + id="d4-g1", + ), + pytest.param( + 4, + 2, + 0, + id="d4-g2", + ), + pytest.param( + 4, + 3, + 0, + id="d4-g3", + ), + pytest.param( + 5, + 0, + 0, + id="d5-g0", + ), + pytest.param( + 5, + 1, + 0, + id="d5-g1", + ), + pytest.param( + 5, + 2, + 0, + id="d5-g2", + ), + pytest.param( + 5, + 3, + 0, + id="d5-g3", + ), + pytest.param( + 6, + 0, + 0, + id="d6-g0", + ), + pytest.param( + 6, + 1, + 0, + id="d6-g1", + ), + pytest.param( + 6, + 2, + 0, + id="d6-g2", + ), + pytest.param( + 6, + 3, + 0, + id="d6-g3", + ), + pytest.param( + 7, + 0, + 0, + id="d7-g0", + ), + pytest.param( + 7, + 1, + 0, + id="d7-g1", + ), + pytest.param( + 7, + 2, + 0, + id="d7-g2", + ), + pytest.param( + 7, + 3, + 0, + id="d7-g3", + ), + pytest.param( + 8, + 0, + 0, + id="d8-g0", + ), + pytest.param( + 8, + 1, + 0, + id="d8-g1", + ), + pytest.param( + 8, + 2, + 0, + id="d8-g2", + ), + pytest.param( + 8, + 3, + 0, + id="d8-g3", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_point_mul_add( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test_point_mul_add.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=4012015, + ) + + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + # Source: lll + # {(MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) (MSTORE 128 (CALLDATALOAD 128)) (MSTORE 160 (CALLDATALOAD 160)) (MSTORE 192 (CALLDATALOAD 192)) [[0]](CALLCODE 500000 6 0 0 128 300 64) [[1]](CALLCODE 500000 7 0 128 96 400 64) [[10]] (MLOAD 300) [[11]] (MLOAD 332) [[20]] (MLOAD 400) [[21]] (MLOAD 432) [[2]] (EQ (SLOAD 10) (SLOAD 20)) [[3]] (EQ (SLOAD 11) (SLOAD 21))} # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x80)) + + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0xA0)) + + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0xC0)) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x7A120, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x12C, + ret_size=0x40, + ), + ) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x7A120, + address=0x7, + value=0x0, + args_offset=0x80, + args_size=0x60, + ret_offset=0x190, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xA, value=Op.MLOAD(offset=0x12C)) + + Op.SSTORE(key=0xB, value=Op.MLOAD(offset=0x14C)) + + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x190)) + + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x1B0)) + + Op.SSTORE( + key=0x2, value=Op.EQ(Op.SLOAD(key=0xA), Op.SLOAD(key=0x14)) + ) + + Op.SSTORE( + key=0x3, value=Op.EQ(Op.SLOAD(key=0xB), Op.SLOAD(key=0x15)) + ) + + Op.STOP, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -42,30 +341,15 @@ 11: 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 20: 0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 21: 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 90000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - {}, - ), - ( - "0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 192000, - {}, - ), - ( - "1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d40f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [1], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -75,58 +359,20 @@ 11: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 20: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 21: 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F, # noqa: E501 - } - ) - }, - ), - ( - "1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d40f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 90000, - {}, - ), - ( - "1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d40f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 110000, - {}, - ), - ( - "1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d40f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba0000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 192000, - {}, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 90000, - {}, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - {}, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f0000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 192000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) + }, + ), }, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db80000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [2], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 1, 1: 1, 2: 1, 3: 1})}, + }, + { + "indexes": {"data": [3], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -136,30 +382,15 @@ 11: 0x225C5F1623620FD84BFBAB2D861A9D1E570F7727C540F403085998EBAF407C4, # noqa: E501 20: 0x255E468453D7636CC1563E43F7521755F95E6C56043C7321B4AE04E772945FB0, # noqa: E501 21: 0x225C5F1623620FD84BFBAB2D861A9D1E570F7727C540F403085998EBAF407C4, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db80000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 90000, - {}, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db80000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - {}, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db80000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 192000, - {}, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [4], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -169,30 +400,15 @@ 11: 0x2EDDCB59A6517E86BFBE35C9691479FFFC6E0580000CA2706C983FF7AFCB1DB8, # noqa: E501 20: 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49, # noqa: E501 21: 0x2EDDCB59A6517E86BFBE35C9691479FFFC6E0580000CA2706C983FF7AFCB1DB8, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 90000, - {}, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 110000, - {}, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 192000, - {}, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [5], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -202,30 +418,15 @@ 11: 0x225C5F1623620FD84BFBAB2D861A9D1E570F7727C540F403085998EBAF407C4, # noqa: E501 20: 0x255E468453D7636CC1563E43F7521755F95E6C56043C7321B4AE04E772945FB0, # noqa: E501 21: 0x225C5F1623620FD84BFBAB2D861A9D1E570F7727C540F403085998EBAF407C4, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 90000, - {}, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 110000, - {}, - ), - ( - "1f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c492eddcb59a6517e86bfbe35c9691479fffc6e0580000ca2706c983ff7afcb1db81f4d1d80177b1377743d1901f70d7389be7f7a35a35bfd234a8aaee615b88c49018683193ae021a2f8920fed186cde5d9b1365116865281ccf884c1f28b1df8f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 192000, - {}, - ), - ( - "1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d40000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [6], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -235,56 +436,15 @@ 11: 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 20: 0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286, # noqa: E501 21: 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4, # noqa: E501 - } - ) - }, - ), - ( - "1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d40000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 90000, - {}, - ), - ( - "1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d40000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 110000, - {}, - ), - ( - "1de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001de49a4b0233273bba8146af82042d004f2085ec982397db0d97da17204cc2860217327ffc463919bef80cc166d09c6172639d8589799928761bcd9f22c903d40000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 192000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 1, - 10: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD3, # noqa: E501 - 11: 0x15ED738C0E0A7C92E7845F96B2AE9C0A68A6A449E3538FC7FF3EBF7A5A18A2C4, # noqa: E501 - 20: 1, - 21: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 90000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 110000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 192000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [7], "gas": [0, 3], "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -292,165 +452,190 @@ 11: 0x15ED738C0E0A7C92E7845F96B2AE9C0A68A6A449E3538FC7FF3EBF7A5A18A2C4, # noqa: E501 20: 1, 21: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45, # noqa: E501 - } - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 90000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 192000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) + }, + ), }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - ], -) -@pytest.mark.pre_alloc_mutable -def test_point_mul_add( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) + }, + { + "indexes": {"data": [8], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 1, 1: 1, 2: 1, 3: 1})}, + }, + { + "indexes": {"data": -1, "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={})}, + }, + { + "indexes": {"data": [0, 1, 3, 4, 5, 6], "gas": [3], "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={})}, + }, + { + "indexes": {"data": [8, 2], "gas": [3], "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 1, 1: 1, 2: 1, 3: 1})}, + }, + ] - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=4012015, - ) - - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: LLL - # {(MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) (MSTORE 128 (CALLDATALOAD 128)) (MSTORE 160 (CALLDATALOAD 160)) (MSTORE 192 (CALLDATALOAD 192)) [[0]](CALLCODE 500000 6 0 0 128 300 64) [[1]](CALLCODE 500000 7 0 128 96 400 64) [[10]] (MLOAD 300) [[11]] (MLOAD 332) [[20]] (MLOAD 400) [[21]] (MLOAD 432) [[2]] (EQ (SLOAD 10) (SLOAD 20)) [[3]] (EQ (SLOAD 11) (SLOAD 21))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x80)) - + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0xA0)) - + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0xC0)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x7A120, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x12C, - ret_size=0x40, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x7A120, - address=0x7, - value=0x0, - args_offset=0x80, - args_size=0x60, - ret_offset=0x190, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xA, value=Op.MLOAD(offset=0x12C)) - + Op.SSTORE(key=0xB, value=Op.MLOAD(offset=0x14C)) - + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x190)) - + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x1B0)) - + Op.SSTORE( - key=0x2, - value=Op.EQ(Op.SLOAD(key=0xA), Op.SLOAD(key=0x14)), - ) - + Op.SSTORE( - key=0x3, - value=Op.EQ(Op.SLOAD(key=0xB), Op.SLOAD(key=0x15)), - ) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2) + + Hash( + 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA + ) + + Hash( + 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2 + ) + + Hash( + 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA + ) + + Hash( + 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2 + ) + + Hash( + 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA + ) + + Hash(0x2), + Hash( + 0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286 + ) + + Hash( + 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4 + ) + + Hash( + 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2 + ) + + Hash( + 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA + ) + + Hash( + 0xF25929BCB43D5A57391564615C9E70A992B10EAFA4DB109709649CF48C50DD2 + ) + + Hash( + 0x16DA2F5CB6BE7A0AA72C440C53C9BBDFEC6C36C7D515536431B3A865468ACBBA + ) + + Hash(0x3), + Hash( + 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49 + ) + + Hash( + 0x2EDDCB59A6517E86BFBE35C9691479FFFC6E0580000CA2706C983FF7AFCB1DB8 + ) + + Hash( + 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49 + ) + + Hash( + 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F + ) + + Hash( + 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49 + ) + + Hash( + 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F + ) + + Hash(0x0), + Hash( + 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49 + ) + + Hash( + 0x2EDDCB59A6517E86BFBE35C9691479FFFC6E0580000CA2706C983FF7AFCB1DB8 + ) + + Hash( + 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49 + ) + + Hash( + 0x2EDDCB59A6517E86BFBE35C9691479FFFC6E0580000CA2706C983FF7AFCB1DB8 + ) + + Hash( + 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49 + ) + + Hash( + 0x2EDDCB59A6517E86BFBE35C9691479FFFC6E0580000CA2706C983FF7AFCB1DB8 + ) + + Hash(0x2), + Hash( + 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49 + ) + + Hash( + 0x2EDDCB59A6517E86BFBE35C9691479FFFC6E0580000CA2706C983FF7AFCB1DB8 + ) + + Hash(0x0) + + Hash(0x0) + + Hash( + 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49 + ) + + Hash( + 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F + ) + + Hash( + 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000000 + ), + Hash( + 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49 + ) + + Hash( + 0x2EDDCB59A6517E86BFBE35C9691479FFFC6E0580000CA2706C983FF7AFCB1DB8 + ) + + Hash( + 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49 + ) + + Hash( + 0x2EDDCB59A6517E86BFBE35C9691479FFFC6E0580000CA2706C983FF7AFCB1DB8 + ) + + Hash( + 0x1F4D1D80177B1377743D1901F70D7389BE7F7A35A35BFD234A8AAEE615B88C49 + ) + + Hash( + 0x18683193AE021A2F8920FED186CDE5D9B1365116865281CCF884C1F28B1DF8F + ) + + Hash( + 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593EFFFFFFF + ), + Hash( + 0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286 + ) + + Hash( + 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4 + ) + + Hash(0x0) + + Hash(0x0) + + Hash( + 0x1DE49A4B0233273BBA8146AF82042D004F2085EC982397DB0D97DA17204CC286 + ) + + Hash( + 0x217327FFC463919BEF80CC166D09C6172639D8589799928761BCD9F22C903D4 + ) + + Hash(0x1), + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash(0x2) + + Hash( + 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000000 + ), + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x1) + + Hash(0x2) + + Hash(0x0), + ] + tx_gas = [2000000, 90000, 110000, 192000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/stZeroKnowledge/test_point_mul_add2.py b/tests/ported_static/stZeroKnowledge/test_point_mul_add2.py index 8b5588e7aba..7722b69ba5a 100644 --- a/tests/ported_static/stZeroKnowledge/test_point_mul_add2.py +++ b/tests/ported_static/stZeroKnowledge/test_point_mul_add2.py @@ -1,8 +1,8 @@ """ -Test ported from static filler. +Test_point_mul_add2. Ported from: -tests/static/state_tests/stZeroKnowledge/pointMulAdd2Filler.json +state_tests/stZeroKnowledge/pointMulAdd2Filler.json """ import pytest @@ -12,9 +12,14 @@ Address, Alloc, Environment, + Hash, StateTestFiller, Transaction, ) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) from execution_testing.vm import Op REFERENCE_SPEC_GIT_PATH = "N/A" @@ -22,73 +27,1016 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/stZeroKnowledge/pointMulAdd2Filler.json"], + ["state_tests/stZeroKnowledge/pointMulAdd2Filler.json"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.parametrize( - "tx_data_hex, tx_gas_limit, expected_post", + "d, g, v", [ - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 90000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, + pytest.param( + 0, + 0, + 0, + id="d0-g0", + ), + pytest.param( + 0, + 1, + 0, + id="d0-g1", + ), + pytest.param( + 0, + 2, + 0, + id="d0-g2", + ), + pytest.param( + 0, + 3, + 0, + id="d0-g3", + ), + pytest.param( + 1, + 0, + 0, + id="d1-g0", + ), + pytest.param( + 1, + 1, + 0, + id="d1-g1", + ), + pytest.param( + 1, + 2, + 0, + id="d1-g2", + ), + pytest.param( + 1, + 3, + 0, + id="d1-g3", + ), + pytest.param( + 2, + 0, + 0, + id="d2-g0", + ), + pytest.param( + 2, + 1, + 0, + id="d2-g1", + ), + pytest.param( + 2, + 2, + 0, + id="d2-g2", + ), + pytest.param( + 2, + 3, + 0, + id="d2-g3", + ), + pytest.param( + 3, + 0, + 0, + id="d3-g0", + ), + pytest.param( + 3, + 1, + 0, + id="d3-g1", + ), + pytest.param( + 3, + 2, + 0, + id="d3-g2", + ), + pytest.param( + 3, + 3, + 0, + id="d3-g3", + ), + pytest.param( + 4, + 0, + 0, + id="d4-g0", + ), + pytest.param( + 4, + 1, + 0, + id="d4-g1", + ), + pytest.param( + 4, + 2, + 0, + id="d4-g2", + ), + pytest.param( + 4, + 3, + 0, + id="d4-g3", + ), + pytest.param( + 5, + 0, + 0, + id="d5-g0", + ), + pytest.param( + 5, + 1, + 0, + id="d5-g1", + ), + pytest.param( + 5, + 2, + 0, + id="d5-g2", + ), + pytest.param( + 5, + 3, + 0, + id="d5-g3", + ), + pytest.param( + 6, + 0, + 0, + id="d6-g0", + ), + pytest.param( + 6, + 1, + 0, + id="d6-g1", + ), + pytest.param( + 6, + 2, + 0, + id="d6-g2", + ), + pytest.param( + 6, + 3, + 0, + id="d6-g3", + ), + pytest.param( + 7, + 0, + 0, + id="d7-g0", + ), + pytest.param( + 7, + 1, + 0, + id="d7-g1", + ), + pytest.param( + 7, + 2, + 0, + id="d7-g2", + ), + pytest.param( + 7, + 3, + 0, + id="d7-g3", + ), + pytest.param( + 8, + 0, + 0, + id="d8-g0", + ), + pytest.param( + 8, + 1, + 0, + id="d8-g1", + ), + pytest.param( + 8, + 2, + 0, + id="d8-g2", + ), + pytest.param( + 8, + 3, + 0, + id="d8-g3", + ), + pytest.param( + 9, + 0, + 0, + id="d9-g0", + ), + pytest.param( + 9, + 1, + 0, + id="d9-g1", + ), + pytest.param( + 9, + 2, + 0, + id="d9-g2", + ), + pytest.param( + 9, + 3, + 0, + id="d9-g3", + ), + pytest.param( + 10, + 0, + 0, + id="d10-g0", + ), + pytest.param( + 10, + 1, + 0, + id="d10-g1", + ), + pytest.param( + 10, + 2, + 0, + id="d10-g2", + ), + pytest.param( + 10, + 3, + 0, + id="d10-g3", + ), + pytest.param( + 11, + 0, + 0, + id="d11-g0", + ), + pytest.param( + 11, + 1, + 0, + id="d11-g1", + ), + pytest.param( + 11, + 2, + 0, + id="d11-g2", + ), + pytest.param( + 11, + 3, + 0, + id="d11-g3", + ), + pytest.param( + 12, + 0, + 0, + id="d12-g0", + ), + pytest.param( + 12, + 1, + 0, + id="d12-g1", + ), + pytest.param( + 12, + 2, + 0, + id="d12-g2", + ), + pytest.param( + 12, + 3, + 0, + id="d12-g3", + ), + pytest.param( + 13, + 0, + 0, + id="d13-g0", + ), + pytest.param( + 13, + 1, + 0, + id="d13-g1", + ), + pytest.param( + 13, + 2, + 0, + id="d13-g2", + ), + pytest.param( + 13, + 3, + 0, + id="d13-g3", + ), + pytest.param( + 14, + 0, + 0, + id="d14-g0", + ), + pytest.param( + 14, + 1, + 0, + id="d14-g1", + ), + pytest.param( + 14, + 2, + 0, + id="d14-g2", + ), + pytest.param( + 14, + 3, + 0, + id="d14-g3", + ), + pytest.param( + 15, + 0, + 0, + id="d15-g0", + ), + pytest.param( + 15, + 1, + 0, + id="d15-g1", + ), + pytest.param( + 15, + 2, + 0, + id="d15-g2", + ), + pytest.param( + 15, + 3, + 0, + id="d15-g3", + ), + pytest.param( + 16, + 0, + 0, + id="d16-g0", + ), + pytest.param( + 16, + 1, + 0, + id="d16-g1", + ), + pytest.param( + 16, + 2, + 0, + id="d16-g2", + ), + pytest.param( + 16, + 3, + 0, + id="d16-g3", + ), + pytest.param( + 17, + 0, + 0, + id="d17-g0", + ), + pytest.param( + 17, + 1, + 0, + id="d17-g1", + ), + pytest.param( + 17, + 2, + 0, + id="d17-g2", + ), + pytest.param( + 17, + 3, + 0, + id="d17-g3", + ), + pytest.param( + 18, + 0, + 0, + id="d18-g0", + ), + pytest.param( + 18, + 1, + 0, + id="d18-g1", + ), + pytest.param( + 18, + 2, + 0, + id="d18-g2", + ), + pytest.param( + 18, + 3, + 0, + id="d18-g3", + ), + pytest.param( + 19, + 0, + 0, + id="d19-g0", + ), + pytest.param( + 19, + 1, + 0, + id="d19-g1", + ), + pytest.param( + 19, + 2, + 0, + id="d19-g2", + ), + pytest.param( + 19, + 3, + 0, + id="d19-g3", + ), + pytest.param( + 20, + 0, + 0, + id="d20-g0", + ), + pytest.param( + 20, + 1, + 0, + id="d20-g1", + ), + pytest.param( + 20, + 2, + 0, + id="d20-g2", + ), + pytest.param( + 20, + 3, + 0, + id="d20-g3", + ), + pytest.param( + 21, + 0, + 0, + id="d21-g0", + ), + pytest.param( + 21, + 1, + 0, + id="d21-g1", + ), + pytest.param( + 21, + 2, + 0, + id="d21-g2", + ), + pytest.param( + 21, + 3, + 0, + id="d21-g3", + ), + pytest.param( + 22, + 0, + 0, + id="d22-g0", + ), + pytest.param( + 22, + 1, + 0, + id="d22-g1", + ), + pytest.param( + 22, + 2, + 0, + id="d22-g2", + ), + pytest.param( + 22, + 3, + 0, + id="d22-g3", + ), + pytest.param( + 23, + 0, + 0, + id="d23-g0", + ), + pytest.param( + 23, + 1, + 0, + id="d23-g1", + ), + pytest.param( + 23, + 2, + 0, + id="d23-g2", + ), + pytest.param( + 23, + 3, + 0, + id="d23-g3", + ), + pytest.param( + 24, + 0, + 0, + id="d24-g0", + ), + pytest.param( + 24, + 1, + 0, + id="d24-g1", + ), + pytest.param( + 24, + 2, + 0, + id="d24-g2", + ), + pytest.param( + 24, + 3, + 0, + id="d24-g3", + ), + pytest.param( + 25, + 0, + 0, + id="d25-g0", + ), + pytest.param( + 25, + 1, + 0, + id="d25-g1", + ), + pytest.param( + 25, + 2, + 0, + id="d25-g2", + ), + pytest.param( + 25, + 3, + 0, + id="d25-g3", + ), + pytest.param( + 26, + 0, + 0, + id="d26-g0", + ), + pytest.param( + 26, + 1, + 0, + id="d26-g1", + ), + pytest.param( + 26, + 2, + 0, + id="d26-g2", + ), + pytest.param( + 26, + 3, + 0, + id="d26-g3", + ), + pytest.param( + 27, + 0, + 0, + id="d27-g0", + ), + pytest.param( + 27, + 1, + 0, + id="d27-g1", + ), + pytest.param( + 27, + 2, + 0, + id="d27-g2", + ), + pytest.param( + 27, + 3, + 0, + id="d27-g3", + ), + pytest.param( + 28, + 0, + 0, + id="d28-g0", + ), + pytest.param( + 28, + 1, + 0, + id="d28-g1", + ), + pytest.param( + 28, + 2, + 0, + id="d28-g2", + ), + pytest.param( + 28, + 3, + 0, + id="d28-g3", + ), + pytest.param( + 29, + 0, + 0, + id="d29-g0", + ), + pytest.param( + 29, + 1, + 0, + id="d29-g1", + ), + pytest.param( + 29, + 2, + 0, + id="d29-g2", + ), + pytest.param( + 29, + 3, + 0, + id="d29-g3", + ), + pytest.param( + 30, + 0, + 0, + id="d30-g0", + ), + pytest.param( + 30, + 1, + 0, + id="d30-g1", + ), + pytest.param( + 30, + 2, + 0, + id="d30-g2", + ), + pytest.param( + 30, + 3, + 0, + id="d30-g3", + ), + pytest.param( + 31, + 0, + 0, + id="d31-g0", + ), + pytest.param( + 31, + 1, + 0, + id="d31-g1", + ), + pytest.param( + 31, + 2, + 0, + id="d31-g2", + ), + pytest.param( + 31, + 3, + 0, + id="d31-g3", + ), + pytest.param( + 32, + 0, + 0, + id="d32-g0", + ), + pytest.param( + 32, + 1, + 0, + id="d32-g1", + ), + pytest.param( + 32, + 2, + 0, + id="d32-g2", + ), + pytest.param( + 32, + 3, + 0, + id="d32-g3", + ), + pytest.param( + 33, + 0, + 0, + id="d33-g0", + ), + pytest.param( + 33, + 1, + 0, + id="d33-g1", + ), + pytest.param( + 33, + 2, + 0, + id="d33-g2", + ), + pytest.param( + 33, + 3, + 0, + id="d33-g3", + ), + pytest.param( + 34, + 0, + 0, + id="d34-g0", + ), + pytest.param( + 34, + 1, + 0, + id="d34-g1", + ), + pytest.param( + 34, + 2, + 0, + id="d34-g2", + ), + pytest.param( + 34, + 3, + 0, + id="d34-g3", + ), + pytest.param( + 35, + 0, + 0, + id="d35-g0", + ), + pytest.param( + 35, + 1, + 0, + id="d35-g1", + ), + pytest.param( + 35, + 2, + 0, + id="d35-g2", + ), + pytest.param( + 35, + 3, + 0, + id="d35-g3", + ), + pytest.param( + 36, + 0, + 0, + id="d36-g0", + ), + pytest.param( + 36, + 1, + 0, + id="d36-g1", + ), + pytest.param( + 36, + 2, + 0, + id="d36-g2", + ), + pytest.param( + 36, + 3, + 0, + id="d36-g3", + ), + pytest.param( + 37, + 0, + 0, + id="d37-g0", + ), + pytest.param( + 37, + 1, + 0, + id="d37-g1", + ), + pytest.param( + 37, + 2, + 0, + id="d37-g2", + ), + pytest.param( + 37, + 3, + 0, + id="d37-g3", ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 90000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 110000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) + ], +) +@pytest.mark.pre_alloc_mutable +def test_point_mul_add2( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test_point_mul_add2.""" + coinbase = Address(0x68795C4AA09D6F4ED3E5DEDDF8C2AD3049A601DA) + contract_0 = Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=4012015, + ) + + pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) + # Source: lll + # {(MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) (MSTORE 128 (CALLDATALOAD 128)) (MSTORE 160 (CALLDATALOAD 160)) (MSTORE 192 (CALLDATALOAD 192)) [[0]](CALLCODE 500000 6 0 0 128 300 64) [[1]](CALLCODE 500000 7 0 128 96 400 64) [[10]] (MLOAD 300) [[11]] (MLOAD 332) [[20]] (MLOAD 400) [[21]] (MLOAD 432) [[2]] (EQ (SLOAD 10) (SLOAD 20)) [[3]] (EQ (SLOAD 11) (SLOAD 21))} # noqa: E501 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) + + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) + + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) + + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) + + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x80)) + + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0xA0)) + + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0xC0)) + + Op.SSTORE( + key=0x0, + value=Op.CALLCODE( + gas=0x7A120, + address=0x6, + value=0x0, + args_offset=0x0, + args_size=0x80, + ret_offset=0x12C, + ret_size=0x40, + ), + ) + + Op.SSTORE( + key=0x1, + value=Op.CALLCODE( + gas=0x7A120, + address=0x7, + value=0x0, + args_offset=0x80, + args_size=0x60, + ret_offset=0x190, + ret_size=0x40, + ), + ) + + Op.SSTORE(key=0xA, value=Op.MLOAD(offset=0x12C)) + + Op.SSTORE(key=0xB, value=Op.MLOAD(offset=0x14C)) + + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x190)) + + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x1B0)) + + Op.SSTORE( + key=0x2, value=Op.EQ(Op.SLOAD(key=0xA), Op.SLOAD(key=0x14)) + ) + + Op.SSTORE( + key=0x3, value=Op.EQ(Op.SLOAD(key=0xB), Op.SLOAD(key=0x15)) + ) + + Op.STOP, + nonce=0, + address=Address(0xB94F5374FCE5EDBC8E2A8697C15331677E6EBF0B), # noqa: E501 + ) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 26], + "gas": [0], + "value": -1, }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 1, 1: 1, 2: 1, 3: 1})}, + }, + { + "indexes": {"data": [10], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -98,30 +1046,15 @@ 11: 0x1A76DAE6D3272396D0CBE61FCED2BC532EDAC647851E3AC53CE1CC9C7E645A83, # noqa: E501 20: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD3, # noqa: E501 21: 0x1A76DAE6D3272396D0CBE61FCED2BC532EDAC647851E3AC53CE1CC9C7E645A83, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 90000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 150000, - {}, - ), - ( - "030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [11], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -131,58 +1064,15 @@ 11: 0x5ACB4B400E90C0063006A39F478F3E865E306DD5CD56F356E2E8CD8FE7EDAE6, # noqa: E501 20: 0x769BF9AC56BEA3FF40232BCB1B6BD159315D84715B8E679F2D355961915ABF0, # noqa: E501 21: 0x5ACB4B400E90C0063006A39F478F3E865E306DD5CD56F356E2E8CD8FE7EDAE6, # noqa: E501 - } - ) - }, - ), - ( - "030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 90000, - {}, - ), - ( - "030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 110000, - {}, - ), - ( - "030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 150000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 90000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) + }, + ), }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [13, 15], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -192,30 +1082,15 @@ 11: 0x15ED738C0E0A7C92E7845F96B2AE9C0A68A6A449E3538FC7FF3EBF7A5A18A2C4, # noqa: E501 20: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD3, # noqa: E501 21: 0x15ED738C0E0A7C92E7845F96B2AE9C0A68A6A449E3538FC7FF3EBF7A5A18A2C4, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 90000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 150000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [14], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -225,63 +1100,15 @@ 11: 2, 20: 1, 21: 2, - } - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 90000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 110000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 150000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 1, - 2: 1, - 3: 1, - 10: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD3, # noqa: E501 - 11: 0x15ED738C0E0A7C92E7845F96B2AE9C0A68A6A449E3538FC7FF3EBF7A5A18A2C4, # noqa: E501 - 20: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD3, # noqa: E501 - 21: 0x15ED738C0E0A7C92E7845F96B2AE9C0A68A6A449E3538FC7FF3EBF7A5A18A2C4, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 90000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 110000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 150000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [16], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -291,68 +1118,29 @@ 11: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45, # noqa: E501 20: 1, 21: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45, # noqa: E501 - } - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 90000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 110000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 150000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 1, - 10: 0x113AECCECDAF57CD8C0AACE591774949DCDAF892555FA86726FA7E679B89C067, # noqa: E501 - 11: 0xBFFBA84127A19ABDE488A8251A9A3FCE33B34A76F96AAFB11AB4A6CEF3E9979, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 90000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [17], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, 10: 0x113AECCECDAF57CD8C0AACE591774949DCDAF892555FA86726FA7E679B89C067, # noqa: E501 11: 0xBFFBA84127A19ABDE488A8251A9A3FCE33B34A76F96AAFB11AB4A6CEF3E9979, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [18], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -362,30 +1150,15 @@ 11: 0x29CE3D80A74DDC13784BEB25CA9FBFD048A3265A32C6F38B92060C5093A0E7A7, # noqa: E501 20: 0x1FD3B816D9951DCB9AA9797D25E51A865987703AE83CD69C4658679F0350AE2B, # noqa: E501 21: 0x29CE3D80A74DDC13784BEB25CA9FBFD048A3265A32C6F38B92060C5093A0E7A7, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 90000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 150000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [19], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -395,58 +1168,15 @@ 11: 0x69EF5E376C0A1EA82F9DFC2E0001A7F385D655EEF9A6F976C7A5D2C493EA3AD, # noqa: E501 20: 0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628, # noqa: E501 21: 0x69EF5E376C0A1EA82F9DFC2E0001A7F385D655EEF9A6F976C7A5D2C493EA3AD, # noqa: E501 - } - ) - }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 90000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 110000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 150000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 90000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) + }, + ), }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [20], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -454,68 +1184,29 @@ 11: 0x29CE3D80A74DDC13784BEB25CA9FBFD048A3265A32C6F38B92060C5093A0E7A7, # noqa: E501 20: 0x2C15ED1902E189486AB6B625AA982510AEF6246B21A1E1BCEA382DA4D735E8BA, # noqa: E501 21: 0x2103E58CBD2FA8081763442AB46C26A9B8051E9B049C3948C8D7D0E139C5E3F, # noqa: E501 - } - ) - }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 90000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 110000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e5628069ef5e376c0a1ea82f9dfc2e0001a7f385d655eef9a6f976c7a5d2c493ea3ad000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4530644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 150000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b0000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 1, - 10: 0x1D78954C630B3895FBBFAFAC1294F2C0158879FDC70BFE18222890E7BFB66FBA, # noqa: E501 - 11: 0x101C3346E98B136A7078AEBD427DCED763722D77E3D7985342E0BFFCC6EA4D56, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b0000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 90000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b0000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b0000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [21], "gas": [0, 3], "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, 10: 0x1D78954C630B3895FBBFAFAC1294F2C0158879FDC70BFE18222890E7BFB66FBA, # noqa: E501 11: 0x101C3346E98B136A7078AEBD427DCED763722D77E3D7985342E0BFFCC6EA4D56, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b00000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [22], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -525,30 +1216,15 @@ 11: 0x1EED5D5325C31FC89DD541A13D7F63B981FAE8D4BF78A6B08A38A601FCFEA97B, # noqa: E501 20: 0x2FA739D4CDE056D8FD75427345CBB34159856E06A4FFAD64159C4773F23FBF4B, # noqa: E501 21: 0x1EED5D5325C31FC89DD541A13D7F63B981FAE8D4BF78A6B08A38A601FCFEA97B, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b00000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 90000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b00000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b00000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 150000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [23], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -558,30 +1234,15 @@ 11: 0x1D701EC9E3FCA50E84777F0F68CAFF5BFF48CF6A6BD4428462AE9366CF0582B0, # noqa: E501 20: 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352, # noqa: E501 21: 0x1D701EC9E3FCA50E84777F0F68CAFF5BFF48CF6A6BD4428462AE9366CF0582B0, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 90000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 110000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 150000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b0000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [24], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -589,30 +1250,15 @@ 11: 0x1EED5D5325C31FC89DD541A13D7F63B981FAE8D4BF78A6B08A38A601FCFEA97B, # noqa: E501 20: 0x8E2142845DB159BD105879A109FE7A6F254ED3DDAE0E9CD8A2AEAE05E5F647B, # noqa: E501 21: 0x221108EE615499D2E0A1113CA1A858A34E055F9DA2D30E6E6AB392B049944A92, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b0000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 90000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b0000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 110000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b02f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d3521d701ec9e3fca50e84777f0f68caff5bff48cf6a6bd4428462ae9366cf0582b0000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 150000, - {}, - ), - ( - "030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd315ed738c0e0a7c92e7845f96b2ae9c0a68a6a449e3538fc7ff3ebf7a5a18a2c400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [25], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -622,58 +1268,15 @@ 11: 0x2AB799BEE0489429554FDB7C8D086475319E63B40B9C5B57CDF1FF3DD9FE2261, # noqa: E501 20: 0x769BF9AC56BEA3FF40232BCB1B6BD159315D84715B8E679F2D355961915ABF0, # noqa: E501 21: 0x2AB799BEE0489429554FDB7C8D086475319E63B40B9C5B57CDF1FF3DD9FE2261, # noqa: E501 - } - ) - }, - ), - ( - "030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd315ed738c0e0a7c92e7845f96b2ae9c0a68a6a449e3538fc7ff3ebf7a5a18a2c400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 90000, - {}, - ), - ( - "030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd315ed738c0e0a7c92e7845f96b2ae9c0a68a6a449e3538fc7ff3ebf7a5a18a2c400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 110000, - {}, - ), - ( - "030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd315ed738c0e0a7c92e7845f96b2ae9c0a68a6a449e3538fc7ff3ebf7a5a18a2c400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003", # noqa: E501 - 150000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 90000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) + }, + ), }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [27], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -683,30 +1286,15 @@ 11: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45, # noqa: E501 20: 1, 21: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 90000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 110000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 150000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [28], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -716,30 +1304,15 @@ 11: 0x1A76DAE6D3272396D0CBE61FCED2BC532EDAC647851E3AC53CE1CC9C7E645A83, # noqa: E501 20: 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD3, # noqa: E501 21: 0x1A76DAE6D3272396D0CBE61FCED2BC532EDAC647851E3AC53CE1CC9C7E645A83, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 90000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 110000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45000000000000000000000000000000000000000000000000000000000000000130644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd450000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 150000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [29], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -749,96 +1322,29 @@ 11: 2, 20: 1, 21: 2, - } - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 90000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 110000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 150000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 90000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 110000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 1, - 10: 0x113AECCECDAF57CD8C0AACE591774949DCDAF892555FA86726FA7E679B89C067, # noqa: E501 - 11: 0x246493EECEB7867DDA07BB342FD7B460B44635E9F8DB1F922A7541A9E93E63CE, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 90000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [30], "gas": [0, 3], "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, 10: 0x113AECCECDAF57CD8C0AACE591774949DCDAF892555FA86726FA7E679B89C067, # noqa: E501 11: 0x246493EECEB7867DDA07BB342FD7B460B44635E9F8DB1F922A7541A9E93E63CE, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [31], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -848,30 +1354,15 @@ 11: 0x69610F239E3C41640045A90B6E1988D4EDE443735AAD701AA1A7FC644DC15A0, # noqa: E501 20: 0x1FD3B816D9951DCB9AA9797D25E51A865987703AE83CD69C4658679F0350AE2B, # noqa: E501 21: 0x69610F239E3C41640045A90B6E1988D4EDE443735AAD701AA1A7FC644DC15A0, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 90000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 150000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [32], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -881,30 +1372,15 @@ 11: 0x29C5588F6A70FE3F355665F3A1813DDE5F24053278D75AF5CFA62EEA8F3E599A, # noqa: E501 20: 0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628, # noqa: E501 21: 0x29C5588F6A70FE3F355665F3A1813DDE5F24053278D75AF5CFA62EEA8F3E599A, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 90000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 110000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 150000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [33], "gas": [0], "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -912,68 +1388,29 @@ 11: 0x69610F239E3C41640045A90B6E1988D4EDE443735AAD701AA1A7FC644DC15A0, # noqa: E501 20: 0x2C15ED1902E189486AB6B625AA982510AEF6246B21A1E1BCEA382DA4D735E8BA, # noqa: E501 21: 0x2E54101A155EA5A936DA1173D63A95F2FC0118A7B82806F8AF930F08C4E09F08, # noqa: E501 - } - ) - }, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 90000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 110000, - {}, - ), - ( - "0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0ccbec17235f5b9cc5e42f3df6364a76ecdd0101ddda8fc5dc0ba0b59c0e562829c5588f6a70fe3f355665f3a1813dde5f24053278d75af5cfa62eea8f3e599a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 150000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a9700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={ - 0: 1, - 1: 1, - 10: 0x1D78954C630B3895FBBFAFAC1294F2C0158879FDC70BFE18222890E7BFB66FBA, # noqa: E501 - 11: 0x20481B2BF7A68CBF47D796F93F038986340F3D19849A3239F93FCC1A1192AFF1, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a9700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 90000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a9700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 110000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a9700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [34], "gas": [0, 3], "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, 10: 0x1D78954C630B3895FBBFAFAC1294F2C0158879FDC70BFE18222890E7BFB66FBA, # noqa: E501 11: 0x20481B2BF7A68CBF47D796F93F038986340F3D19849A3239F93FCC1A1192AFF1, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a970000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [35], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -983,30 +1420,15 @@ 11: 0x1176F11FBB6E80611A7B04154401F4A4158681BCA8F923DCB1E7E614DB7E53CC, # noqa: E501 20: 0x2FA739D4CDE056D8FD75427345CBB34159856E06A4FFAD64159C4773F23FBF4B, # noqa: E501 21: 0x1176F11FBB6E80611A7B04154401F4A4158681BCA8F923DCB1E7E614DB7E53CC, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a970000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 90000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a970000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 110000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a970000000000000000000000000000000000000000000000000000000000000002", # noqa: E501 - 150000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [36], "gas": 0, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -1016,30 +1438,15 @@ 11: 0x12F42FA8FD34FB1B33D8C6A718B6590198389B26FC9D8808D971F8B009777A97, # noqa: E501 20: 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352, # noqa: E501 21: 0x12F42FA8FD34FB1B33D8C6A718B6590198389B26FC9D8808D971F8B009777A97, # noqa: E501 - } - ) + }, + ), }, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 90000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 110000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 150000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a9700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( + }, + { + "indexes": {"data": [37], "gas": [0], "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( storage={ 0: 1, 1: 1, @@ -1047,436 +1454,533 @@ 11: 0x1176F11FBB6E80611A7B04154401F4A4158681BCA8F923DCB1E7E614DB7E53CC, # noqa: E501 20: 0x8E2142845DB159BD105879A109FE7A6F254ED3DDAE0E9CD8A2AEAE05E5F647B, # noqa: E501 21: 0xE5345847FDD0656D7AF3479DFD8FFBA497C0AF3C59EBC1ED16CF9668EE8B2B5, # noqa: E501 - } - ) - }, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a9700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 90000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a9700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 110000, - {}, - ), - ( - "2f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a972f588cffe99db877a4434b598ab28f81e0522910ea52b45f0adaa772b2d5d35212f42fa8fd34fb1b33d8c6a718b6590198389b26fc9d8808d971f8b009777a9700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 150000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 90000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 110000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 90000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 110000, - {}, - ), - ( - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 90000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 110000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 90000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 110000, - {}, - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) - }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) + }, + ), }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 90000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 110000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) + }, + { + "indexes": {"data": -1, "gas": [1, 2], "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={})}, + }, + { + "indexes": { + "data": [ + 32, + 35, + 36, + 10, + 11, + 13, + 14, + 15, + 16, + 18, + 19, + 22, + 23, + 25, + 27, + 28, + 29, + ], + "gas": [3], + "value": -1, }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 2000000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) + "network": [">=Cancun"], + "result": {contract_0: Account(storage={})}, + }, + { + "indexes": { + "data": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 26], + "gas": [3], + "value": -1, }, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 90000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 110000, - {}, - ), - ( - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", # noqa: E501 - 150000, - { - Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"): Account( - storage={0: 1, 1: 1, 2: 1, 3: 1} - ) + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 1, 1: 1, 2: 1, 3: 1})}, + }, + { + "indexes": {"data": [17], "gas": [3], "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={ + 0: 1, + 1: 1, + 10: 0x113AECCECDAF57CD8C0AACE591774949DCDAF892555FA86726FA7E679B89C067, # noqa: E501 + 11: 0xBFFBA84127A19ABDE488A8251A9A3FCE33B34A76F96AAFB11AB4A6CEF3E9979, # noqa: E501 + }, + ), }, - ), - ], - ids=[ - "case0", - "case1", - "case2", - "case3", - "case4", - "case5", - "case6", - "case7", - "case8", - "case9", - "case10", - "case11", - "case12", - "case13", - "case14", - "case15", - "case16", - "case17", - "case18", - "case19", - "case20", - "case21", - "case22", - "case23", - "case24", - "case25", - "case26", - "case27", - "case28", - "case29", - "case30", - "case31", - "case32", - "case33", - "case34", - "case35", - "case36", - "case37", - "case38", - "case39", - "case40", - "case41", - "case42", - "case43", - "case44", - "case45", - "case46", - "case47", - "case48", - "case49", - "case50", - "case51", - "case52", - "case53", - "case54", - "case55", - "case56", - "case57", - "case58", - "case59", - "case60", - "case61", - "case62", - "case63", - "case64", - "case65", - "case66", - "case67", - "case68", - "case69", - "case70", - "case71", - "case72", - "case73", - "case74", - "case75", - "case76", - "case77", - "case78", - "case79", - "case80", - "case81", - "case82", - "case83", - "case84", - "case85", - "case86", - "case87", - "case88", - "case89", - "case90", - "case91", - "case92", - "case93", - "case94", - "case95", - "case96", - "case97", - "case98", - "case99", - "case100", - "case101", - "case102", - "case103", - "case104", - "case105", - "case106", - "case107", - "case108", - "case109", - "case110", - "case111", - "case112", - "case113", - "case114", - "case115", - "case116", - "case117", - "case118", - "case119", - "case120", - "case121", - "case122", - "case123", - "case124", - "case125", - "case126", - "case127", - "case128", - "case129", - "case130", - "case131", - "case132", - "case133", - "case134", - "case135", - "case136", - "case137", - "case138", - "case139", - "case140", - "case141", - "case142", - "case143", - "case144", - "case145", - "case146", - "case147", - "case148", - "case149", - "case150", - "case151", - ], -) -@pytest.mark.pre_alloc_mutable -def test_point_mul_add2( - state_test: StateTestFiller, - pre: Alloc, - tx_data_hex: str, - tx_gas_limit: int, - expected_post: dict, -) -> None: - """Test ported from static filler.""" - coinbase = Address("0x68795c4aa09d6f4ed3e5deddf8c2ad3049a601da") - sender = EOA( - key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 - ) - - env = Environment( - fee_recipient=coinbase, - number=1, - timestamp=1000, - prev_randao=0x20000, - base_fee_per_gas=10, - gas_limit=4012015, - ) + }, + { + "indexes": {"data": [33, 37, 20, 24, 31], "gas": [3], "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 0})}, + }, + ] - pre[sender] = Account(balance=0xDE0B6B3A7640000, nonce=1) - # Source: LLL - # {(MSTORE 0 (CALLDATALOAD 0)) (MSTORE 32 (CALLDATALOAD 32)) (MSTORE 64 (CALLDATALOAD 64)) (MSTORE 96 (CALLDATALOAD 96)) (MSTORE 128 (CALLDATALOAD 128)) (MSTORE 160 (CALLDATALOAD 160)) (MSTORE 192 (CALLDATALOAD 192)) [[0]](CALLCODE 500000 6 0 0 128 300 64) [[1]](CALLCODE 500000 7 0 128 96 400 64) [[10]] (MLOAD 300) [[11]] (MLOAD 332) [[20]] (MLOAD 400) [[21]] (MLOAD 432) [[2]] (EQ (SLOAD 10) (SLOAD 20)) [[3]] (EQ (SLOAD 11) (SLOAD 21))} # noqa: E501 - contract = pre.deploy_contract( - code=( - Op.MSTORE(offset=0x0, value=Op.CALLDATALOAD(offset=0x0)) - + Op.MSTORE(offset=0x20, value=Op.CALLDATALOAD(offset=0x20)) - + Op.MSTORE(offset=0x40, value=Op.CALLDATALOAD(offset=0x40)) - + Op.MSTORE(offset=0x60, value=Op.CALLDATALOAD(offset=0x60)) - + Op.MSTORE(offset=0x80, value=Op.CALLDATALOAD(offset=0x80)) - + Op.MSTORE(offset=0xA0, value=Op.CALLDATALOAD(offset=0xA0)) - + Op.MSTORE(offset=0xC0, value=Op.CALLDATALOAD(offset=0xC0)) - + Op.SSTORE( - key=0x0, - value=Op.CALLCODE( - gas=0x7A120, - address=0x6, - value=0x0, - args_offset=0x0, - args_size=0x80, - ret_offset=0x12C, - ret_size=0x40, - ), - ) - + Op.SSTORE( - key=0x1, - value=Op.CALLCODE( - gas=0x7A120, - address=0x7, - value=0x0, - args_offset=0x80, - args_size=0x60, - ret_offset=0x190, - ret_size=0x40, - ), - ) - + Op.SSTORE(key=0xA, value=Op.MLOAD(offset=0x12C)) - + Op.SSTORE(key=0xB, value=Op.MLOAD(offset=0x14C)) - + Op.SSTORE(key=0x14, value=Op.MLOAD(offset=0x190)) - + Op.SSTORE(key=0x15, value=Op.MLOAD(offset=0x1B0)) - + Op.SSTORE( - key=0x2, - value=Op.EQ(Op.SLOAD(key=0xA), Op.SLOAD(key=0x14)), - ) - + Op.SSTORE( - key=0x3, - value=Op.EQ(Op.SLOAD(key=0xB), Op.SLOAD(key=0x15)), - ) - + Op.STOP - ), - nonce=0, - address=Address("0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"), # noqa: E501 - ) + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) - tx_data = bytes.fromhex(tx_data_hex) if tx_data_hex else b"" + tx_data = [ + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x2), + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x3), + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0), + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash( + 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000000 + ), + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash( + 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593EFFFFFFF + ), + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x1), + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD46 + ), + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ), + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x2), + Hash(0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD3) + + Hash( + 0x1A76DAE6D3272396D0CBE61FCED2BC532EDAC647851E3AC53CE1CC9C7E645A83 + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x3), + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x0), + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash(0x2) + + Hash(0x2), + Hash(0x1) + + Hash(0x2) + + Hash(0x0) + + Hash(0x0) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash( + 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000000 + ), + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash( + 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593EFFFFFFF + ), + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x0) + + Hash(0x0) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x1), + Hash(0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628) + + Hash( + 0x69EF5E376C0A1EA82F9DFC2E0001A7F385D655EEF9A6F976C7A5D2C493EA3AD + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x0), + Hash(0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628) + + Hash( + 0x69EF5E376C0A1EA82F9DFC2E0001A7F385D655EEF9A6F976C7A5D2C493EA3AD + ) + + Hash( + 0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628 + ) + + Hash( + 0x69EF5E376C0A1EA82F9DFC2E0001A7F385D655EEF9A6F976C7A5D2C493EA3AD + ) + + Hash( + 0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628 + ) + + Hash( + 0x69EF5E376C0A1EA82F9DFC2E0001A7F385D655EEF9A6F976C7A5D2C493EA3AD + ) + + Hash(0x2), + Hash(0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628) + + Hash( + 0x69EF5E376C0A1EA82F9DFC2E0001A7F385D655EEF9A6F976C7A5D2C493EA3AD + ) + + Hash(0x0) + + Hash(0x0) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD46 + ), + Hash(0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628) + + Hash( + 0x69EF5E376C0A1EA82F9DFC2E0001A7F385D655EEF9A6F976C7A5D2C493EA3AD + ) + + Hash( + 0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628 + ) + + Hash( + 0x69EF5E376C0A1EA82F9DFC2E0001A7F385D655EEF9A6F976C7A5D2C493EA3AD + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ), + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x1D701EC9E3FCA50E84777F0F68CAFF5BFF48CF6A6BD4428462AE9366CF0582B0 + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x0), + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x1D701EC9E3FCA50E84777F0F68CAFF5BFF48CF6A6BD4428462AE9366CF0582B0 + ) + + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x1D701EC9E3FCA50E84777F0F68CAFF5BFF48CF6A6BD4428462AE9366CF0582B0 + ) + + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x1D701EC9E3FCA50E84777F0F68CAFF5BFF48CF6A6BD4428462AE9366CF0582B0 + ) + + Hash(0x2), + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x1D701EC9E3FCA50E84777F0F68CAFF5BFF48CF6A6BD4428462AE9366CF0582B0 + ) + + Hash(0x0) + + Hash(0x0) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x1D701EC9E3FCA50E84777F0F68CAFF5BFF48CF6A6BD4428462AE9366CF0582B0 + ) + + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x1D701EC9E3FCA50E84777F0F68CAFF5BFF48CF6A6BD4428462AE9366CF0582B0 + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Hash(0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD3) + + Hash( + 0x15ED738C0E0A7C92E7845F96B2AE9C0A68A6A449E3538FC7FF3EBF7A5A18A2C4 + ) + + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash(0x2) + + Hash(0x3), + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash(0x2) + + Hash(0x0), + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x0) + + Hash(0x0) + + Hash(0x1) + + Hash(0x2) + + Hash( + 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000000 + ), + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x1) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ) + + Hash(0x1) + + Hash(0x2) + + Hash( + 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593EFFFFFFF + ), + Hash(0x1) + + Hash(0x2) + + Hash(0x0) + + Hash(0x0) + + Hash(0x1) + + Hash(0x2) + + Hash(0x1), + Hash(0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628) + + Hash( + 0x29C5588F6A70FE3F355665F3A1813DDE5F24053278D75AF5CFA62EEA8F3E599A + ) + + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash(0x2) + + Hash(0x0), + Hash(0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628) + + Hash( + 0x29C5588F6A70FE3F355665F3A1813DDE5F24053278D75AF5CFA62EEA8F3E599A + ) + + Hash( + 0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628 + ) + + Hash( + 0x29C5588F6A70FE3F355665F3A1813DDE5F24053278D75AF5CFA62EEA8F3E599A + ) + + Hash( + 0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628 + ) + + Hash( + 0x29C5588F6A70FE3F355665F3A1813DDE5F24053278D75AF5CFA62EEA8F3E599A + ) + + Hash(0x2), + Hash(0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628) + + Hash( + 0x29C5588F6A70FE3F355665F3A1813DDE5F24053278D75AF5CFA62EEA8F3E599A + ) + + Hash(0x0) + + Hash(0x0) + + Hash(0x1) + + Hash(0x2) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD46 + ), + Hash(0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628) + + Hash( + 0x29C5588F6A70FE3F355665F3A1813DDE5F24053278D75AF5CFA62EEA8F3E599A + ) + + Hash( + 0xCCBEC17235F5B9CC5E42F3DF6364A76ECDD0101DDDA8FC5DC0BA0B59C0E5628 + ) + + Hash( + 0x29C5588F6A70FE3F355665F3A1813DDE5F24053278D75AF5CFA62EEA8F3E599A + ) + + Hash(0x1) + + Hash(0x2) + + Hash( + 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD45 + ), + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x12F42FA8FD34FB1B33D8C6A718B6590198389B26FC9D8808D971F8B009777A97 + ) + + Hash(0x1) + + Hash(0x2) + + Hash(0x1) + + Hash(0x2) + + Hash(0x0), + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x12F42FA8FD34FB1B33D8C6A718B6590198389B26FC9D8808D971F8B009777A97 + ) + + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x12F42FA8FD34FB1B33D8C6A718B6590198389B26FC9D8808D971F8B009777A97 + ) + + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x12F42FA8FD34FB1B33D8C6A718B6590198389B26FC9D8808D971F8B009777A97 + ) + + Hash(0x2), + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x12F42FA8FD34FB1B33D8C6A718B6590198389B26FC9D8808D971F8B009777A97 + ) + + Hash(0x0) + + Hash(0x0) + + Hash(0x1) + + Hash(0x2) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x12F42FA8FD34FB1B33D8C6A718B6590198389B26FC9D8808D971F8B009777A97 + ) + + Hash( + 0x2F588CFFE99DB877A4434B598AB28F81E0522910EA52B45F0ADAA772B2D5D352 + ) + + Hash( + 0x12F42FA8FD34FB1B33D8C6A718B6590198389B26FC9D8808D971F8B009777A97 + ) + + Hash(0x1) + + Hash(0x2) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + ] + tx_gas = [2000000, 90000, 110000, 150000] tx = Transaction( sender=sender, - to=contract, - data=tx_data, - gas_limit=tx_gas_limit, + to=contract_0, + data=tx_data[d], + gas_limit=tx_gas[g], nonce=1, + error=_exc, ) - post = expected_post - state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/__init__.py b/tests/ported_static/vmArithmeticTest/__init__.py new file mode 100644 index 00000000000..26cc9662861 --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/__init__.py @@ -0,0 +1 @@ +"""Ported static tests: vmArithmeticTest.""" # noqa: N999 diff --git a/tests/ported_static/vmArithmeticTest/test_add.py b/tests/ported_static/vmArithmeticTest/test_add.py new file mode 100644 index 00000000000..0806f92e1fe --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_add.py @@ -0,0 +1,255 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/addFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/addFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="add_neg1_neg1", + ), + pytest.param( + 1, + 0, + 0, + id="add_neg1_4", + ), + pytest.param( + 2, + 0, + 0, + id="add_neg1_1", + ), + pytest.param( + 3, + 0, + 0, + id="add_0_0", + ), + pytest.param( + 4, + 0, + 0, + id="add_1_neg1", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_add( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # ; -1+-1 = -2 + # ; + # ; The big number is 256^2-1, the biggest number that the evm can hold, + # ; and because evm math is done modulo 256^2, it's equivalent to -1 + # [[0]] (+ 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ADD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # ; -1 + 4 = -3 + # ; same big number (2^256-1) as above + # [[0]] (+ 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 4) # noqa: E501 + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ADD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x4, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # ; -1 + 1 = 0 + # [[0]] (+ 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1) # noqa: E501 + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ADD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x1, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (+ 0 0) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(0x0, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; 1 + -1 = 0 + # [[0]] (+ 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ADD( + 0x1, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 3})}, + }, + { + "indexes": {"data": [2, 3, 4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account(storage={0: 0}), + contract_3: Account(storage={0: 0}), + contract_4: Account(storage={0: 0}), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_5, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_addmod.py b/tests/ported_static/vmArithmeticTest/test_addmod.py new file mode 100644 index 00000000000..2d78b510024 --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_addmod.py @@ -0,0 +1,516 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/addmodFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/addmodFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="addmod_1_2_2", + ), + pytest.param( + 1, + 0, + 0, + id="addmod_neg1_neg2_2", + ), + pytest.param( + 2, + 0, + 0, + id="addmod_neg6_1_3", + ), + pytest.param( + 3, + 0, + 0, + id="addmod_eq_smod", + ), + pytest.param( + 4, + 0, + 0, + id="addmod_eq_mod", + ), + pytest.param( + 5, + 0, + 0, + id="addmod_4_1_neg3", + ), + pytest.param( + 6, + 0, + 0, + id="addmod_4_1_neg3_eq", + ), + pytest.param( + 7, + 0, + 0, + id="addmod_neg1_0_5", + ), + pytest.param( + 8, + 0, + 0, + id="addmod_neg1_1_5", + ), + pytest.param( + 9, + 0, + 0, + id="addmod_neg1_2_5", + ), + pytest.param( + 10, + 0, + 0, + id="addmod_neg1_neg2_5", + ), + pytest.param( + 11, + 0, + 0, + id="addmod_2_160_1_5", + ), + pytest.param( + 12, + 0, + 0, + id="addmod_4_1_0", + ), + pytest.param( + 13, + 0, + 0, + id="addmod_0_1_0", + ), + pytest.param( + 14, + 0, + 0, + id="addmod_1_0_0", + ), + pytest.param( + 15, + 0, + 0, + id="addmod_0_0_0_min_1", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_addmod( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0x000000000000000000000000000000000000100A) + contract_11 = Address(0x000000000000000000000000000000000000100B) + contract_12 = Address(0x000000000000000000000000000000000000100C) + contract_13 = Address(0x000000000000000000000000000000000000100D) + contract_14 = Address(0x000000000000000000000000000000000000100E) + contract_15 = Address(0x000000000000000000000000000000000000100F) + contract_16 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (addmod 1 2 2) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADDMOD(0x1, 0x2, 0x2)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (addmod (- 0 1) (- 0 2) 2) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.ADDMOD(Op.SUB(0x0, 0x1), Op.SUB(0x0, 0x2), 0x2) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (addmod (- 0 6) 1 3) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADDMOD(Op.SUB(0x0, 0x6), 0x1, 0x3)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (eq (smod (- 0 5) 3) (addmod (- 0 6) 1 3) ) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.EQ( + Op.SMOD(Op.SUB(0x0, 0x5), 0x3), + Op.ADDMOD(Op.SUB(0x0, 0x6), 0x1, 0x3), + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (eq (mod (- 0 5) 3) (addmod (- 0 6) 1 3) ) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.EQ( + Op.MOD(Op.SUB(0x0, 0x5), 0x3), + Op.ADDMOD(Op.SUB(0x0, 0x6), 0x1, 0x3), + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (addmod 4 1 (- 0 3) ) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADDMOD(0x4, 0x1, Op.SUB(0x0, 0x3))) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (eq (addmod 4 1 (- 0 3) ) 2 ) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.EQ(Op.ADDMOD(0x4, 0x1, Op.SUB(0x0, 0x3)), 0x2) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (addmod (- 0 1) 0 5) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADDMOD(Op.SUB(0x0, 0x1), 0x0, 0x5)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (addmod (- 0 1) 1 5) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADDMOD(Op.SUB(0x0, 0x1), 0x1, 0x5)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (addmod (- 0 1) 2 5) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADDMOD(Op.SUB(0x0, 0x1), 0x2, 0x5)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (addmod (- 0 1) (- 0 2) 5) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.ADDMOD(Op.SUB(0x0, 0x1), Op.SUB(0x0, 0x2), 0x5) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100A), # noqa: E501 + ) + # Source: lll + # { + # ; ((2^160)-1 + 1) % 5 + # [[0]] (addmod 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 5) # noqa: E501 + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ADDMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x1, + 0x5, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100B), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (addmod 4 1 0) + # } + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADDMOD(0x4, 0x1, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100C), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (addmod 0 1 0) + # } + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADDMOD(0x0, 0x1, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100D), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (addmod 1 0 0) + # } + contract_14 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADDMOD(0x1, 0x0, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100E), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (- (addmod 0 0 0) 1) + # } + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SUB(Op.ADDMOD(0x0, 0x0, 0x0), 0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100F), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_16 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 2})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 5})}, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_6: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_7: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_8: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_9: Account(storage={0: 2})}, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_10: Account(storage={0: 4})}, + }, + { + "indexes": {"data": [11], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_11: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [12], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [13], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_13: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [14], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_14: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [15], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_15: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + Bytes("693c6139") + Hash(0x9), + Bytes("693c6139") + Hash(0xA), + Bytes("693c6139") + Hash(0xB), + Bytes("693c6139") + Hash(0xC), + Bytes("693c6139") + Hash(0xD), + Bytes("693c6139") + Hash(0xE), + Bytes("693c6139") + Hash(0xF), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_16, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_arith.py b/tests/ported_static/vmArithmeticTest/test_arith.py new file mode 100644 index 00000000000..18265c1f3f3 --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_arith.py @@ -0,0 +1,84 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/arithFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + StateTestFiller, + Transaction, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/arithFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.pre_alloc_mutable +def test_arith( + state_test: StateTestFiller, + pre: Alloc, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: raw + # 0x600160019001600702600501600290046004906021900560170160030260059007600303600960110A60005560086000F3 # noqa: E501 + target = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x1] * 2 + + Op.SWAP1 + + Op.ADD(0x5, Op.MUL(0x7, Op.ADD)) + + Op.PUSH1[0x2] + + Op.SWAP1 + + Op.DIV + + Op.PUSH1[0x4] + + Op.SWAP1 + + Op.PUSH1[0x21] + + Op.SWAP1 + + Op.MUL(0x3, Op.ADD(0x17, Op.SDIV)) + + Op.PUSH1[0x5] + + Op.SWAP1 + + Op.SUB(0x3, Op.SMOD) + + Op.SSTORE(key=0x0, value=Op.EXP(0x11, 0x9)) + + Op.RETURN(offset=0x0, size=0x8), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x14814D06E93EFB1102A15D5881432C9FF6C91362), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + tx = Transaction( + sender=sender, + to=target, + data=Bytes("00"), + gas_limit=16777216, + value=1, + ) + + post = {target: Account(storage={0: 0x1B9C636491})} + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_div.py b/tests/ported_static/vmArithmeticTest/test_div.py new file mode 100644 index 00000000000..8a478377d89 --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_div.py @@ -0,0 +1,298 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/divFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/divFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="div_2_big", + ), + pytest.param( + 1, + 0, + 0, + id="div_boost_bug", + ), + pytest.param( + 2, + 0, + 0, + id="div_5_2", + ), + pytest.param( + 3, + 0, + 0, + id="div_23_24", + ), + pytest.param( + 4, + 0, + 0, + id="div_0_24", + ), + pytest.param( + 5, + 0, + 0, + id="div_1_0", + ), + pytest.param( + 6, + 0, + 0, + id="div_2_0", + ), + pytest.param( + 7, + 0, + 0, + id="div_0_add", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_div( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (/ 0x02 + # 0xfedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210) # noqa: E501 + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DIV( + 0x2, + 0xFEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # ; Verify the fix to the divBoostBug + # [[0]] (/ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA # noqa: E501 + # 0x1DAE6076B981DAE6076B981DAE6076B981DAE6076B981DAE6076B981DAE6077) # noqa: E501 + # + # + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.DIV( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA, # noqa: E501 + 0x1DAE6076B981DAE6076B981DAE6076B981DAE6076B981DAE6076B981DAE6077, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (/ 5 2) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.DIV(0x5, 0x2)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (/ 23 24) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.DIV(0x17, 0x18)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (/ 0 24) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.DIV(0x0, 0x18)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (/ 1 1) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.DIV(0x1, 0x1)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # ; Divide by zero + # [[0]] (/ 2 0) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.DIV(0x2, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (+ (/ 13 0) 7) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADD(Op.DIV(0xD, 0x0), 0x7)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 3, 4, 6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={0: 0}), + contract_3: Account(storage={0: 0}), + contract_4: Account(storage={0: 0}), + contract_6: Account(storage={0: 0}), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 137})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 2})}, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_7: Account(storage={0: 7})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_8, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_div_by_zero.py b/tests/ported_static/vmArithmeticTest/test_div_by_zero.py new file mode 100644 index 00000000000..a42490e493a --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_div_by_zero.py @@ -0,0 +1,1139 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/divByZeroFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/divByZeroFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="div_2_0", + ), + pytest.param( + 1, + 0, + 0, + id="div_1_0", + ), + pytest.param( + 2, + 0, + 0, + id="div_0_0", + ), + pytest.param( + 3, + 0, + 0, + id="div_neg1_0", + ), + pytest.param( + 4, + 0, + 0, + id="div_neg2_0", + ), + pytest.param( + 5, + 0, + 0, + id="div_maxint_0", + ), + pytest.param( + 6, + 0, + 0, + id="div_minint_0", + ), + pytest.param( + 7, + 0, + 0, + id="sdiv_2_0", + ), + pytest.param( + 8, + 0, + 0, + id="sdiv_1_0", + ), + pytest.param( + 9, + 0, + 0, + id="sdiv_0_0", + ), + pytest.param( + 10, + 0, + 0, + id="sdiv_neg1_0", + ), + pytest.param( + 11, + 0, + 0, + id="sdiv_neg2_0", + ), + pytest.param( + 12, + 0, + 0, + id="sdiv_maxint_0", + ), + pytest.param( + 13, + 0, + 0, + id="sdiv_minint_0", + ), + pytest.param( + 14, + 0, + 0, + id="mod_2_0", + ), + pytest.param( + 15, + 0, + 0, + id="mod_1_0", + ), + pytest.param( + 16, + 0, + 0, + id="mod_0_0", + ), + pytest.param( + 17, + 0, + 0, + id="mod_neg1_0", + ), + pytest.param( + 18, + 0, + 0, + id="mod_neg2_0", + ), + pytest.param( + 19, + 0, + 0, + id="mod_maxint_0", + ), + pytest.param( + 20, + 0, + 0, + id="mod_minint_0", + ), + pytest.param( + 21, + 0, + 0, + id="smod_2_0", + ), + pytest.param( + 22, + 0, + 0, + id="smod_1_0", + ), + pytest.param( + 23, + 0, + 0, + id="smod_0_0", + ), + pytest.param( + 24, + 0, + 0, + id="smod_neg1_0", + ), + pytest.param( + 25, + 0, + 0, + id="smod_neg2_0", + ), + pytest.param( + 26, + 0, + 0, + id="smod_maxint_0", + ), + pytest.param( + 27, + 0, + 0, + id="smod_minint_0", + ), + pytest.param( + 28, + 0, + 0, + id="addmod_0_0_0", + ), + pytest.param( + 29, + 0, + 0, + id="addmod_0_1_0", + ), + pytest.param( + 30, + 0, + 0, + id="addmod_1_0_0", + ), + pytest.param( + 31, + 0, + 0, + id="addmod_1_1_0", + ), + pytest.param( + 32, + 0, + 0, + id="addmod_0_2_0", + ), + pytest.param( + 33, + 0, + 0, + id="addmod_2_0_0", + ), + pytest.param( + 34, + 0, + 0, + id="addmod_2_2_0", + ), + pytest.param( + 35, + 0, + 0, + id="addmod_1_2_0", + ), + pytest.param( + 36, + 0, + 0, + id="addmod_2_1_0", + ), + pytest.param( + 37, + 0, + 0, + id="addmod_0_0_0", + ), + pytest.param( + 38, + 0, + 0, + id="addmod_0_1_0", + ), + pytest.param( + 39, + 0, + 0, + id="addmod_1_0_0", + ), + pytest.param( + 40, + 0, + 0, + id="addmod_1_1_0", + ), + pytest.param( + 41, + 0, + 0, + id="addmod_0_neg1_0", + ), + pytest.param( + 42, + 0, + 0, + id="addmod_neg1_0_0", + ), + pytest.param( + 43, + 0, + 0, + id="addmod_neg1_neg1_0", + ), + pytest.param( + 44, + 0, + 0, + id="addmod_0_neg2_0", + ), + pytest.param( + 45, + 0, + 0, + id="addmod_neg2_0_0", + ), + pytest.param( + 46, + 0, + 0, + id="addmod_neg2_neg2_0", + ), + pytest.param( + 47, + 0, + 0, + id="addmod_0_neg1_0", + ), + pytest.param( + 48, + 0, + 0, + id="addmod_neg1_0_0", + ), + pytest.param( + 49, + 0, + 0, + id="addmod_neg1_neg1_0", + ), + pytest.param( + 50, + 0, + 0, + id="addmod_0_neg2_0", + ), + pytest.param( + 51, + 0, + 0, + id="addmod_neg2_0_0", + ), + pytest.param( + 52, + 0, + 0, + id="addmod_neg2_neg2_0", + ), + pytest.param( + 53, + 0, + 0, + id="addmod_1_neg1_0", + ), + pytest.param( + 54, + 0, + 0, + id="addmod_neg1_1_0", + ), + pytest.param( + 55, + 0, + 0, + id="addmod_1_neg2_0", + ), + pytest.param( + 56, + 0, + 0, + id="addmod_neg2_1_0", + ), + pytest.param( + 57, + 0, + 0, + id="addmod_1_neg1_0", + ), + pytest.param( + 58, + 0, + 0, + id="addmod_neg1_1_0", + ), + pytest.param( + 59, + 0, + 0, + id="addmod_2_neg2_0", + ), + pytest.param( + 60, + 0, + 0, + id="addmod_neg2_2_0", + ), + pytest.param( + 61, + 0, + 0, + id="addmod_neg1_neg2_0", + ), + pytest.param( + 62, + 0, + 0, + id="addmod_neg2_neg1_0", + ), + pytest.param( + 63, + 0, + 0, + id="mulmod_0_0_0", + ), + pytest.param( + 64, + 0, + 0, + id="mulmod_0_1_0", + ), + pytest.param( + 65, + 0, + 0, + id="mulmod_1_0_0", + ), + pytest.param( + 66, + 0, + 0, + id="mulmod_1_1_0", + ), + pytest.param( + 67, + 0, + 0, + id="mulmod_0_2_0", + ), + pytest.param( + 68, + 0, + 0, + id="mulmod_2_0_0", + ), + pytest.param( + 69, + 0, + 0, + id="mulmod_2_2_0", + ), + pytest.param( + 70, + 0, + 0, + id="mulmod_1_2_0", + ), + pytest.param( + 71, + 0, + 0, + id="mulmod_2_1_0", + ), + pytest.param( + 72, + 0, + 0, + id="mulmod_0_0_0", + ), + pytest.param( + 73, + 0, + 0, + id="mulmod_0_1_0", + ), + pytest.param( + 74, + 0, + 0, + id="mulmod_1_0_0", + ), + pytest.param( + 75, + 0, + 0, + id="mulmod_1_1_0", + ), + pytest.param( + 76, + 0, + 0, + id="mulmod_0_neg1_0", + ), + pytest.param( + 77, + 0, + 0, + id="mulmod_neg1_0_0", + ), + pytest.param( + 78, + 0, + 0, + id="mulmod_neg1_neg1_0", + ), + pytest.param( + 79, + 0, + 0, + id="mulmod_0_neg2_0", + ), + pytest.param( + 80, + 0, + 0, + id="mulmod_neg2_0_0", + ), + pytest.param( + 81, + 0, + 0, + id="mulmod_neg2_neg2_0", + ), + pytest.param( + 82, + 0, + 0, + id="mulmod_0_neg1_0", + ), + pytest.param( + 83, + 0, + 0, + id="mulmod_neg1_0_0", + ), + pytest.param( + 84, + 0, + 0, + id="mulmod_neg1_neg1_0", + ), + pytest.param( + 85, + 0, + 0, + id="mulmod_0_neg2_0", + ), + pytest.param( + 86, + 0, + 0, + id="mulmod_neg2_0_0", + ), + pytest.param( + 87, + 0, + 0, + id="mulmod_neg2_neg2_0", + ), + pytest.param( + 88, + 0, + 0, + id="mulmod_1_neg1_0", + ), + pytest.param( + 89, + 0, + 0, + id="mulmod_neg1_1_0", + ), + pytest.param( + 90, + 0, + 0, + id="mulmod_1_neg2_0", + ), + pytest.param( + 91, + 0, + 0, + id="mulmod_neg2_1_0", + ), + pytest.param( + 92, + 0, + 0, + id="mulmod_1_neg1_0", + ), + pytest.param( + 93, + 0, + 0, + id="mulmod_neg1_1_0", + ), + pytest.param( + 94, + 0, + 0, + id="mulmod_2_neg2_0", + ), + pytest.param( + 95, + 0, + 0, + id="mulmod_neg2_2_0", + ), + pytest.param( + 96, + 0, + 0, + id="mulmod_neg1_neg2_0", + ), + pytest.param( + 97, + 0, + 0, + id="mulmod_neg2_neg1_0", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_div_by_zero( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # (def 'NOP 0) + # (def 'opcode $4) + # (def 'a $36) + # (def 'b $68) + # + # (if (= opcode 0x04) [[0]] (div a 0) NOP) + # (if (= opcode 0x05) [[0]] (sdiv a 0) NOP) + # (if (= opcode 0x06) [[0]] (mod a 0) NOP) + # (if (= opcode 0x07) [[0]] (smod a 0) NOP) + # (if (= opcode 0x08) [[0]] (addmod a b 0) NOP) + # (if (= opcode 0x09) [[0]] (mulmod a b 0) NOP) + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI( + pc=0xF, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x4) + ) + + Op.POP(0x0) + + Op.JUMP(pc=0x19) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.DIV(Op.CALLDATALOAD(offset=0x24), 0x0)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x29, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x5)) + + Op.POP(0x0) + + Op.JUMP(pc=0x33) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.SDIV(Op.CALLDATALOAD(offset=0x24), 0x0)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x43, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x6)) + + Op.POP(0x0) + + Op.JUMP(pc=0x4D) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.MOD(Op.CALLDATALOAD(offset=0x24), 0x0)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x5D, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x7)) + + Op.POP(0x0) + + Op.JUMP(pc=0x67) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.SMOD(Op.CALLDATALOAD(offset=0x24), 0x0)) + + Op.JUMPDEST + + Op.JUMPI(pc=0x77, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x8)) + + Op.POP(0x0) + + Op.JUMP(pc=0x84) + + Op.JUMPDEST + + Op.SSTORE( + key=0x0, + value=Op.ADDMOD( + Op.CALLDATALOAD(offset=0x24), Op.CALLDATALOAD(offset=0x44), 0x0 + ), + ) + + Op.JUMPDEST + + Op.JUMPI(pc=0x94, condition=Op.EQ(Op.CALLDATALOAD(offset=0x4), 0x9)) + + Op.POP(0x0) + + Op.JUMP(pc=0xA1) + + Op.JUMPDEST + + Op.SSTORE( + key=0x0, + value=Op.MULMOD( + Op.CALLDATALOAD(offset=0x24), Op.CALLDATALOAD(offset=0x44), 0x0 + ), + ) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x935E36EE6CD0F1602D1ABCA9A391C696CFA4C04D), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + tx_data = [ + Bytes("1a8451e6") + Hash(0x4) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x4) + Hash(0x0), + Bytes("1a8451e6") + + Hash(0x4) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("1a8451e6") + + Hash(0x4) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("1a8451e6") + + Hash(0x4) + + Hash( + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("1a8451e6") + + Hash(0x4) + + Hash( + 0x8000000000000000000000000000000000000000000000000000000000000000 + ), + Bytes("1a8451e6") + Hash(0x5) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x5) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x5) + Hash(0x0), + Bytes("1a8451e6") + + Hash(0x5) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("1a8451e6") + + Hash(0x5) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("1a8451e6") + + Hash(0x5) + + Hash( + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("1a8451e6") + + Hash(0x5) + + Hash( + 0x8000000000000000000000000000000000000000000000000000000000000000 + ), + Bytes("1a8451e6") + Hash(0x6) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x6) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x6) + Hash(0x0), + Bytes("1a8451e6") + + Hash(0x6) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("1a8451e6") + + Hash(0x6) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("1a8451e6") + + Hash(0x6) + + Hash( + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("1a8451e6") + + Hash(0x6) + + Hash( + 0x8000000000000000000000000000000000000000000000000000000000000000 + ), + Bytes("1a8451e6") + Hash(0x7) + Hash(0x2), + Bytes("1a8451e6") + Hash(0x7) + Hash(0x1), + Bytes("1a8451e6") + Hash(0x7) + Hash(0x0), + Bytes("1a8451e6") + + Hash(0x7) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("1a8451e6") + + Hash(0x7) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("1a8451e6") + + Hash(0x7) + + Hash( + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("1a8451e6") + + Hash(0x7) + + Hash( + 0x8000000000000000000000000000000000000000000000000000000000000000 + ), + Bytes("048071d3") + Hash(0x8) + Hash(0x0) + Hash(0x0), + Bytes("048071d3") + Hash(0x8) + Hash(0x0) + Hash(0x1), + Bytes("048071d3") + Hash(0x8) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x8) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x8) + Hash(0x0) + Hash(0x2), + Bytes("048071d3") + Hash(0x8) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x8) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0x8) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0x8) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x8) + Hash(0x0) + Hash(0x0), + Bytes("048071d3") + Hash(0x8) + Hash(0x0) + Hash(0x1), + Bytes("048071d3") + Hash(0x8) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x8) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + + Hash(0x8) + + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash(0x0), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x8) + + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash(0x0), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x8) + + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash(0x0), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x8) + + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash(0x0), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x8) + + Hash(0x1) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash(0x1), + Bytes("048071d3") + + Hash(0x8) + + Hash(0x1) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash(0x1), + Bytes("048071d3") + + Hash(0x8) + + Hash(0x1) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash(0x1), + Bytes("048071d3") + + Hash(0x8) + + Hash(0x2) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash(0x2), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x8) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + Hash(0x9) + Hash(0x0) + Hash(0x0), + Bytes("048071d3") + Hash(0x9) + Hash(0x0) + Hash(0x1), + Bytes("048071d3") + Hash(0x9) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x9) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + Hash(0x9) + Hash(0x0) + Hash(0x2), + Bytes("048071d3") + Hash(0x9) + Hash(0x2) + Hash(0x0), + Bytes("048071d3") + Hash(0x9) + Hash(0x2) + Hash(0x2), + Bytes("048071d3") + Hash(0x9) + Hash(0x1) + Hash(0x2), + Bytes("048071d3") + Hash(0x9) + Hash(0x2) + Hash(0x1), + Bytes("048071d3") + Hash(0x9) + Hash(0x0) + Hash(0x0), + Bytes("048071d3") + Hash(0x9) + Hash(0x0) + Hash(0x1), + Bytes("048071d3") + Hash(0x9) + Hash(0x1) + Hash(0x0), + Bytes("048071d3") + Hash(0x9) + Hash(0x1) + Hash(0x1), + Bytes("048071d3") + + Hash(0x9) + + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash(0x0), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x9) + + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash(0x0), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x9) + + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash(0x0), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x9) + + Hash(0x0) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash(0x0), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x9) + + Hash(0x1) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash(0x1), + Bytes("048071d3") + + Hash(0x9) + + Hash(0x1) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash(0x1), + Bytes("048071d3") + + Hash(0x9) + + Hash(0x1) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash(0x1), + Bytes("048071d3") + + Hash(0x9) + + Hash(0x2) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash(0x2), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ), + Bytes("048071d3") + + Hash(0x9) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE + ) + + Hash( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + ), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + ) + + post = {target: Account(storage={0: 0})} + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_exp.py b/tests/ported_static/vmArithmeticTest/test_exp.py new file mode 100644 index 00000000000..734f99ae030 --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_exp.py @@ -0,0 +1,370 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/expFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/expFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="exp_2_2", + ), + pytest.param( + 1, + 0, + 0, + id="exp_neg1_neg2", + ), + pytest.param( + 2, + 0, + 0, + id="exp_big_big", + ), + pytest.param( + 3, + 0, + 0, + id="exp_0_big", + ), + pytest.param( + 4, + 0, + 0, + id="exp_big_0", + ), + pytest.param( + 5, + 0, + 0, + id="exp_257_1", + ), + pytest.param( + 6, + 0, + 0, + id="exp_1_257", + ), + pytest.param( + 7, + 0, + 0, + id="exp_2_257", + ), + pytest.param( + 8, + 0, + 0, + id="exp_0_0", + ), + pytest.param( + 9, + 0, + 0, + id="exp_2_big", + ), + pytest.param( + 10, + 0, + 0, + id="exp_2_15", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_exp( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0x000000000000000000000000000000000000100A) + contract_11 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (exp 2 2) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.EXP(0x2, 0x2)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { ; (-1)^(-2) + # ; 2^256-1 = -1 + # ; 2^256-1 = -2 + # [[0]] (exp + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + # 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe + # ) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.EXP( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { ; just a big number to the power of itself + # [[0]] (exp 2147483647 2147483647) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.EXP(0x7FFFFFFF, 0x7FFFFFFF)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { ; zero to the power of a big number + # [[0]] (exp 0 2147483647) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.EXP(0x0, 0x7FFFFFFF)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { ; big number to the power of zero + # [[0]] (exp 2147483647 0) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.EXP(0x7FFFFFFF, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { ; 257^1 + # [[0]] (exp 257 1) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.EXP(0x101, 0x1)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { ; 1^257 + # [[0]] (exp 1 257) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.EXP(0x1, 0x101)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { ; 2^257 (which is zero mod 2^256) + # [[0]] (exp 2 257) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.EXP(0x2, 0x101)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { ; 0^0 (that is 1 in evm arithmetic) + # [[0]] (exp 0 0) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.EXP(0x0, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { ; 2^big = 0 + # [[0]] (exp 2 0x0100000000000f) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.EXP(0x2, 0x100000000000F)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: lll + # { ; 2^15 = 0x8000 + # [[0]] (exp 2 15) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.EXP(0x2, 0xF)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100A), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [9, 3, 7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account(storage={0: 0}), + contract_7: Account(storage={0: 0}), + contract_9: Account(storage={0: 0}), + }, + }, + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 4})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account( + storage={ + 0: 0xBC8CCCCCCCC888888880000000AAAAAAB00000000FFFFFFFFFFFFFFF7FFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 257})}, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_6: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_8: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_10: Account(storage={0: 32768})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + Bytes("693c6139") + Hash(0x9), + Bytes("693c6139") + Hash(0xA), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_11, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_exp_power2.py b/tests/ported_static/vmArithmeticTest/test_exp_power2.py new file mode 100644 index 00000000000..252c1022462 --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_exp_power2.py @@ -0,0 +1,191 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/expPower2Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/expPower2Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.pre_alloc_mutable +def test_exp_power2( + state_test: StateTestFiller, + pre: Alloc, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # (def 'storageJump 0x10) + # + # (def 'calc (m) { + # (def 'n (exp 2 m)) + # + # [[(* storageJump m)]] (exp 2 n) + # [[(+ (* storageJump m) 1)]] (exp 2 (- n 1)) + # [[(+ (* storageJump m) 2)]] (exp 2 (+ n 1)) + # } + # ) + # + # (calc 1) + # (calc 2) + # (calc 3) + # (calc 4) + # (calc 5) + # (calc 6) + # (calc 7) + # (calc 8) + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.MUL(0x10, 0x1), value=Op.EXP(0x2, Op.EXP(0x2, 0x1)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x1), + value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x1), 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x2), + value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x1), 0x1)), + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x2), value=Op.EXP(0x2, Op.EXP(0x2, 0x2))) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x1), + value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x2), 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x2), + value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x2), 0x1)), + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x3), value=Op.EXP(0x2, Op.EXP(0x2, 0x3))) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x1), + value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x3), 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x2), + value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x3), 0x1)), + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x4), value=Op.EXP(0x2, Op.EXP(0x2, 0x4))) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x1), + value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x4), 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x2), + value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x4), 0x1)), + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x5), value=Op.EXP(0x2, Op.EXP(0x2, 0x5))) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x1), + value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x5), 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x2), + value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x5), 0x1)), + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x6), value=Op.EXP(0x2, Op.EXP(0x2, 0x6))) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x1), + value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x6), 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x2), + value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x6), 0x1)), + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x7), value=Op.EXP(0x2, Op.EXP(0x2, 0x7))) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x1), + value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x7), 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x2), + value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x7), 0x1)), + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x8), value=Op.EXP(0x2, Op.EXP(0x2, 0x8))) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x1), + value=Op.EXP(0x2, Op.SUB(Op.EXP(0x2, 0x8), 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x2), + value=Op.EXP(0x2, Op.ADD(Op.EXP(0x2, 0x8), 0x1)), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x5A18B275908AD6766155191A40654188FE012DC6), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + tx = Transaction( + sender=sender, + to=target, + data=Bytes("693c6139") + Hash(0x0), + gas_limit=16777216, + value=1, + ) + + post = { + target: Account( + storage={ + 16: 4, + 17: 2, + 18: 8, + 32: 16, + 33: 8, + 34: 32, + 48: 256, + 49: 128, + 50: 512, + 64: 0x10000, + 65: 32768, + 66: 0x20000, + 80: 0x100000000, + 81: 0x80000000, + 82: 0x200000000, + 96: 0x10000000000000000, + 97: 0x8000000000000000, + 98: 0x20000000000000000, + 112: 0x100000000000000000000000000000000, + 113: 0x80000000000000000000000000000000, + 114: 0x200000000000000000000000000000000, + 129: 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + } + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_exp_power256.py b/tests/ported_static/vmArithmeticTest/test_exp_power256.py new file mode 100644 index 00000000000..25a804fa0bf --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_exp_power256.py @@ -0,0 +1,445 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/expPower256Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/expPower256Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.pre_alloc_mutable +def test_exp_power256( + state_test: StateTestFiller, + pre: Alloc, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # (def 'storageJump 0x10) + # + # (def 'calc (n) { + # [[(* storageJump n)]] (exp 256 n) + # [[(+ (* storageJump n) 1)]] (exp 255 n) + # [[(+ (* storageJump n) 2)]] (exp 257 n) + # } + # ) + # + # (calc 0) + # (calc 1) + # (calc 2) + # (calc 3) + # (calc 4) + # (calc 5) + # (calc 6) + # (calc 7) + # (calc 8) + # (calc 9) + # (calc 10) + # (calc 11) + # (calc 12) + # (calc 13) + # (calc 14) + # (calc 15) + # (calc 16) + # (calc 17) + # (calc 18) + # (calc 19) + # ... (15 more lines) + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=Op.MUL(0x10, 0x0), value=Op.EXP(0x100, 0x0)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x0), 0x1), value=Op.EXP(0xFF, 0x0) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x0), 0x2), value=Op.EXP(0x101, 0x0) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x1), value=Op.EXP(0x100, 0x1)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x1), value=Op.EXP(0xFF, 0x1) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x2), value=Op.EXP(0x101, 0x1) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x2), value=Op.EXP(0x100, 0x2)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x1), value=Op.EXP(0xFF, 0x2) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x2), value=Op.EXP(0x101, 0x2) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x3), value=Op.EXP(0x100, 0x3)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x1), value=Op.EXP(0xFF, 0x3) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x2), value=Op.EXP(0x101, 0x3) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x4), value=Op.EXP(0x100, 0x4)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x1), value=Op.EXP(0xFF, 0x4) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x2), value=Op.EXP(0x101, 0x4) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x5), value=Op.EXP(0x100, 0x5)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x1), value=Op.EXP(0xFF, 0x5) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x2), value=Op.EXP(0x101, 0x5) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x6), value=Op.EXP(0x100, 0x6)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x1), value=Op.EXP(0xFF, 0x6) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x2), value=Op.EXP(0x101, 0x6) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x7), value=Op.EXP(0x100, 0x7)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x1), value=Op.EXP(0xFF, 0x7) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x2), value=Op.EXP(0x101, 0x7) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x8), value=Op.EXP(0x100, 0x8)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x1), value=Op.EXP(0xFF, 0x8) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x2), value=Op.EXP(0x101, 0x8) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x9), value=Op.EXP(0x100, 0x9)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x9), 0x1), value=Op.EXP(0xFF, 0x9) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x9), 0x2), value=Op.EXP(0x101, 0x9) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0xA), value=Op.EXP(0x100, 0xA)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xA), 0x1), value=Op.EXP(0xFF, 0xA) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xA), 0x2), value=Op.EXP(0x101, 0xA) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0xB), value=Op.EXP(0x100, 0xB)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xB), 0x1), value=Op.EXP(0xFF, 0xB) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xB), 0x2), value=Op.EXP(0x101, 0xB) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0xC), value=Op.EXP(0x100, 0xC)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xC), 0x1), value=Op.EXP(0xFF, 0xC) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xC), 0x2), value=Op.EXP(0x101, 0xC) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0xD), value=Op.EXP(0x100, 0xD)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xD), 0x1), value=Op.EXP(0xFF, 0xD) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xD), 0x2), value=Op.EXP(0x101, 0xD) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0xE), value=Op.EXP(0x100, 0xE)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xE), 0x1), value=Op.EXP(0xFF, 0xE) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xE), 0x2), value=Op.EXP(0x101, 0xE) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0xF), value=Op.EXP(0x100, 0xF)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xF), 0x1), value=Op.EXP(0xFF, 0xF) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xF), 0x2), value=Op.EXP(0x101, 0xF) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x10), value=Op.EXP(0x100, 0x10)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x10), 0x1), value=Op.EXP(0xFF, 0x10) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x10), 0x2), value=Op.EXP(0x101, 0x10) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x11), value=Op.EXP(0x100, 0x11)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x11), 0x1), value=Op.EXP(0xFF, 0x11) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x11), 0x2), value=Op.EXP(0x101, 0x11) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x12), value=Op.EXP(0x100, 0x12)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x12), 0x1), value=Op.EXP(0xFF, 0x12) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x12), 0x2), value=Op.EXP(0x101, 0x12) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x13), value=Op.EXP(0x100, 0x13)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x13), 0x1), value=Op.EXP(0xFF, 0x13) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x13), 0x2), value=Op.EXP(0x101, 0x13) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x14), value=Op.EXP(0x100, 0x14)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x14), 0x1), value=Op.EXP(0xFF, 0x14) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x14), 0x2), value=Op.EXP(0x101, 0x14) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x15), value=Op.EXP(0x100, 0x15)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x15), 0x1), value=Op.EXP(0xFF, 0x15) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x15), 0x2), value=Op.EXP(0x101, 0x15) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x16), value=Op.EXP(0x100, 0x16)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x16), 0x1), value=Op.EXP(0xFF, 0x16) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x16), 0x2), value=Op.EXP(0x101, 0x16) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x17), value=Op.EXP(0x100, 0x17)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x17), 0x1), value=Op.EXP(0xFF, 0x17) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x17), 0x2), value=Op.EXP(0x101, 0x17) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x18), value=Op.EXP(0x100, 0x18)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x18), 0x1), value=Op.EXP(0xFF, 0x18) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x18), 0x2), value=Op.EXP(0x101, 0x18) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x19), value=Op.EXP(0x100, 0x19)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x19), 0x1), value=Op.EXP(0xFF, 0x19) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x19), 0x2), value=Op.EXP(0x101, 0x19) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x1A), value=Op.EXP(0x100, 0x1A)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1A), 0x1), value=Op.EXP(0xFF, 0x1A) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1A), 0x2), value=Op.EXP(0x101, 0x1A) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x1B), value=Op.EXP(0x100, 0x1B)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1B), 0x1), value=Op.EXP(0xFF, 0x1B) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1B), 0x2), value=Op.EXP(0x101, 0x1B) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x1C), value=Op.EXP(0x100, 0x1C)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1C), 0x1), value=Op.EXP(0xFF, 0x1C) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1C), 0x2), value=Op.EXP(0x101, 0x1C) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x1D), value=Op.EXP(0x100, 0x1D)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1D), 0x1), value=Op.EXP(0xFF, 0x1D) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1D), 0x2), value=Op.EXP(0x101, 0x1D) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x1E), value=Op.EXP(0x100, 0x1E)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1E), 0x1), value=Op.EXP(0xFF, 0x1E) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1E), 0x2), value=Op.EXP(0x101, 0x1E) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x1F), value=Op.EXP(0x100, 0x1F)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1F), 0x1), value=Op.EXP(0xFF, 0x1F) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1F), 0x2), value=Op.EXP(0x101, 0x1F) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x20), value=Op.EXP(0x100, 0x20)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x20), 0x1), value=Op.EXP(0xFF, 0x20) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x20), 0x2), value=Op.EXP(0x101, 0x20) + ) + + Op.SSTORE(key=Op.MUL(0x10, 0x21), value=Op.EXP(0x100, 0x21)) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x21), 0x1), value=Op.EXP(0xFF, 0x21) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x21), 0x2), value=Op.EXP(0x101, 0x21) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xE660D528E4A7AD36825F9D64F5F141596FEFF7AE), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + tx = Transaction( + sender=sender, + to=target, + data=Bytes("693c6139") + Hash(0x0), + gas_limit=16777216, + value=1, + ) + + post = { + target: Account( + storage={ + 0: 1, + 1: 1, + 2: 1, + 16: 256, + 17: 255, + 18: 257, + 32: 0x10000, + 33: 65025, + 34: 0x10201, + 48: 0x1000000, + 49: 0xFD02FF, + 50: 0x1030301, + 64: 0x100000000, + 65: 0xFC05FC01, + 66: 0x104060401, + 80: 0x10000000000, + 81: 0xFB09F604FF, + 82: 0x1050A0A0501, + 96: 0x1000000000000, + 97: 0xFA0EEC0EFA01, + 98: 0x1060F140F0601, + 112: 0x100000000000000, + 113: 0xF914DD22EB06FF, + 114: 0x107152323150701, + 128: 0x10000000000000000, + 129: 0xF81BC845C81BF801, + 130: 0x1081C3846381C0801, + 144: 0x1000000000000000000, + 145: 0xF723AC7D8253DC08FF, + 146: 0x10924547E7E54240901, + 160: 0x100000000000000000000, + 161: 0xF62C88D104D1882CF601, + 162: 0x10A2D78D2FCD2782D0A01, + 176: 0x10000000000000000000000, + 177: 0xF5365C4833CCB6A4C90AFF, + 178: 0x10B37A64BCFCF4AA5370B01, + 192: 0x1000000000000000000000000, + 193: 0xF44125EBEB98E9EE2441F401, + 194: 0x10C42DDF21B9F19EFDC420C01, + 208: 0x100000000000000000000000000, + 209: 0xF34CE4C5FFAD5104361DB20CFF, + 210: 0x10D4F20D00DBAB909CC1E4E0D01, + 224: 0x10000000000000000000000000000, + 225: 0xF25997E139ADA3B331E7945AF201, + 226: 0x10E5C6FF0DDC873C2D5EA6C5B0E01, + 240: 0x1000000000000000000000000000000, + 241: 0xF1673E495873F60F7EB5ACC6970EFF, + 242: 0x10F6ACC60CEA63C3698C056C7690F01, + 256: 0x100000000000000000000000000000000, + 257: 0xF075D70B0F1B82196F36F719D077F001, + 258: 0x1107A372D2F74E272CF59171E30781001, + 272: 0x10000000000000000000000000000000000, + 273: 0xEF856134040C669755C7C022B6A77810FF, + 274: 0x1118AB1645CA45755422870354EA8881101, + 288: 0x1000000000000000000000000000000000000, + 289: 0xEE95DBD2D0085A30BE71F86293F0D098EE01, + 290: 0x1129C3C15C100FBAC976A98A583F730991201, + 304: 0x100000000000000000000000000000000000000, + 305: 0xEDA745F6FD3851D68DB3866A315CDFC85512FF, + 306: 0x113AED851D6C1FCA84402033E297B27C9AB1301, + 320: 0x10000000000000000000000000000000000000000, + 321: 0xECB99EB1063B1984B725D2E3C72B82E88CBDEC01, + 322: 0x114C2872A2898BEA4EC46054167A4A2F174BE1401, + 336: 0x1000000000000000000000000000000000000000000, + 337: 0xEBCCE5125534DE6B326EAD10E3645765A4312E14FF, + 338: 0x115D749B152C1576391324B46A90C47946632D21501, + 352: 0x100000000000000000000000000000000000000000000, + 353: 0xEAE1182D42DFA98CC73C3E63D280F30E3E8CFCE6EA01, + 354: 0x116ED20FB041418BAF4C37D91EFB553DBFA9904E71601, + 368: 0x10000000000000000000000000000000000000000000000, + 369: 0xE9F63715159CC9E33A7502256EAE721B304E6FEA0316FF, + 370: 0x118040E1BFF182CD3AFB8410F81A5092FD6939DEBFD1701, + 384: 0x1000000000000000000000000000000000000000000000000, + 385: 0xE90C40DE00872D19573A8D23493FC3A9151E217A1913E801, + 386: 0x1191C122A1B1745008367F9509126AE39066A3189E9141801, + 400: 0x100000000000000000000000000000000000000000000000000, + 401: 0xE823349D2286A5EC3DE3529625F683E56C0903589EFAD418FF, + 402: 0x11A352E3C45325C4583EB6149E1B7D4E73F709BBB72FD2C1901, + 416: 0x10000000000000000000000000000000000000000000000000000, + 417: 0xE73B116885641F4651A56F438FD08D61869CFA55465BD944E601, + 418: 0x11B4F636A81778EA1C96F4CAB2B998CBC26B00C572E7029451A01, + 432: 0x1000000000000000000000000000000000000000000000000000000, + 433: 0xE653D6571CDEBB270B53C9D44C40BCD425165D5AF1157D6BA11AFF, + 434: 0x11C6AB2CDEBF906306B38BBF7D6C52648E2D6BC63859E996E5F1B01, + 448: 0x100000000000000000000000000000000000000000000000000000000, # noqa: E501 + 449: 0xE56D8280C5C1DC6BE448760A77F47C1750F146FD962467EE3579E401, # noqa: E501 + 450: 0x11D871D80B9E4FF369BA3F4B3CE9BEB6F2BB9931FE9243807CD7A1C01, # noqa: E501 + 464: 0x10000000000000000000000000000000000000000000000000000000000, # noqa: E501 + 465: 0xE48814FE44FC1A8F78642D946D7C879B39A055B6988E438647446A1CFF, # noqa: E501 + 466: 0x11EA4A49E3A9EE435D23F98A8826A875A9AE54CB3090D5C3FD547961D01, # noqa: E501 + 480: 0x1000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + 481: 0xE3A38CE946B71E74E8EBC966D90F0B139E66B560E1F5B542C0FD25B2E201, # noqa: E501 + 482: 0x11FC34942D8D9831A0811D8412AECF1E1F58031FFBC16699C151CDDB31E01, # noqa: E501 + 496: 0x100000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + 497: 0xE2BFE95C5D7067567402DD9D7235FC088AC84EAB8113BF8D7E3C288D2F1EFF, # noqa: E501 + 498: 0x120E30C8C1BB25C9D2219EA196C17DED3D775B231BBD28005B131FA90D11F01, # noqa: E501 + 512: 0, + 513: 0xE1DD29730112F6EF1D8EDABFD4C3C60C823D865CD592ABCDF0BDEC64A1EFE001, # noqa: E501 + 514: 0x2203EF98A7CE0EF9BF3C04038583F6B2AB4D27E3ED8E5285B6E32C8B61F02001, # noqa: E501 + 528: 0, + 529: 0xFB4C498E11E3F82E714BE514EF024675BB48D678BD192222CD2E783D4DF020FF, # noqa: E501 + 530: 0x25F3884075DD08B8FB400789097AA95DF8750BD17BE0D83C9A0FB7ED52102101, # noqa: E501 + }, + ), + } + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_exp_power256_of256.py b/tests/ported_static/vmArithmeticTest/test_exp_power256_of256.py new file mode 100644 index 00000000000..8183b190b38 --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_exp_power256_of256.py @@ -0,0 +1,1504 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/expPower256Of256Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/expPower256Of256Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.pre_alloc_mutable +def test_exp_power256_of256( + state_test: StateTestFiller, + pre: Alloc, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # (def 'storageJump 0x10) + # + # (def 'calc (n) { + # + # [[(* storageJump n)]] (exp 256 (exp 256 n)) + # [[(+ (* storageJump n) 1)]] (exp 256 (exp 255 n)) + # [[(+ (* storageJump n) 2)]] (exp 256 (exp 257 n)) + # + # [[(+ (* storageJump n) 3)]] (exp 255 (exp 256 n)) + # [[(+ (* storageJump n) 4)]] (exp 255 (exp 255 n)) + # [[(+ (* storageJump n) 5)]] (exp 255 (exp 257 n)) + # + # [[(+ (* storageJump n) 6)]] (exp 257 (exp 256 n)) + # [[(+ (* storageJump n) 7)]] (exp 257 (exp 255 n)) + # [[(+ (* storageJump n) 8)]] (exp 257 (exp 257 n)) + # } + # ) + # + # (calc 0) + # (calc 1) + # (calc 2) + # (calc 3) + # (calc 4) + # (calc 5) + # (calc 6) + # (calc 7) + # (calc 8) + # (calc 9) + # (calc 10) + # ... (24 more lines) + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=Op.MUL(0x10, 0x0), value=Op.EXP(0x100, Op.EXP(0x100, 0x0)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x0), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x0)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x0), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x0)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x0), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x0)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x0), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x0)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x0), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x0)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x0), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x0)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x0), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x0)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x0), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x0)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x1), value=Op.EXP(0x100, Op.EXP(0x100, 0x1)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x1)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x1)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x2), value=Op.EXP(0x100, Op.EXP(0x100, 0x2)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x2)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x2)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x2)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x2)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x2)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x2)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x2)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x2), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x2)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x3), value=Op.EXP(0x100, Op.EXP(0x100, 0x3)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x3)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x3)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x3)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x3)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x3)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x3)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x3)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x3), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x3)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x4), value=Op.EXP(0x100, Op.EXP(0x100, 0x4)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x4)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x4)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x4)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x4)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x4)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x4)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x4)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x4), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x4)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x5), value=Op.EXP(0x100, Op.EXP(0x100, 0x5)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x5)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x5)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x5)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x5)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x5)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x5)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x5)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x5), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x5)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x6), value=Op.EXP(0x100, Op.EXP(0x100, 0x6)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x6)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x6)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x6)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x6)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x6)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x6)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x6)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x6), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x6)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x7), value=Op.EXP(0x100, Op.EXP(0x100, 0x7)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x7)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x7)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x7)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x7)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x7)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x7)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x7)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x7), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x7)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x8), value=Op.EXP(0x100, Op.EXP(0x100, 0x8)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x8)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x8)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x8)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x8)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x8)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x8)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x8)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x8), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x8)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x9), value=Op.EXP(0x100, Op.EXP(0x100, 0x9)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x9), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x9)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x9), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x9)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x9), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x9)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x9), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x9)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x9), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x9)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x9), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x9)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x9), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x9)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x9), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x9)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0xA), value=Op.EXP(0x100, Op.EXP(0x100, 0xA)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xA), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0xA)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xA), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0xA)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xA), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0xA)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xA), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0xA)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xA), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0xA)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xA), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0xA)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xA), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0xA)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xA), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0xA)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0xB), value=Op.EXP(0x100, Op.EXP(0x100, 0xB)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xB), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0xB)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xB), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0xB)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xB), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0xB)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xB), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0xB)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xB), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0xB)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xB), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0xB)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xB), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0xB)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xB), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0xB)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0xC), value=Op.EXP(0x100, Op.EXP(0x100, 0xC)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xC), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0xC)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xC), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0xC)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xC), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0xC)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xC), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0xC)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xC), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0xC)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xC), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0xC)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xC), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0xC)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xC), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0xC)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0xD), value=Op.EXP(0x100, Op.EXP(0x100, 0xD)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xD), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0xD)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xD), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0xD)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xD), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0xD)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xD), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0xD)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xD), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0xD)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xD), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0xD)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xD), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0xD)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xD), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0xD)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0xE), value=Op.EXP(0x100, Op.EXP(0x100, 0xE)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xE), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0xE)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xE), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0xE)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xE), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0xE)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xE), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0xE)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xE), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0xE)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xE), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0xE)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xE), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0xE)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xE), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0xE)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0xF), value=Op.EXP(0x100, Op.EXP(0x100, 0xF)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xF), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0xF)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xF), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0xF)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xF), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0xF)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xF), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0xF)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xF), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0xF)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xF), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0xF)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xF), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0xF)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0xF), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0xF)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x10), value=Op.EXP(0x100, Op.EXP(0x100, 0x10)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x10), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x10)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x10), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x10)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x10), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x10)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x10), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x10)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x10), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x10)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x10), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x10)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x10), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x10)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x10), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x10)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x11), value=Op.EXP(0x100, Op.EXP(0x100, 0x11)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x11), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x11)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x11), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x11)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x11), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x11)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x11), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x11)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x11), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x11)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x11), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x11)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x11), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x11)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x11), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x11)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x12), value=Op.EXP(0x100, Op.EXP(0x100, 0x12)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x12), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x12)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x12), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x12)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x12), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x12)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x12), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x12)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x12), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x12)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x12), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x12)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x12), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x12)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x12), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x12)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x13), value=Op.EXP(0x100, Op.EXP(0x100, 0x13)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x13), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x13)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x13), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x13)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x13), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x13)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x13), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x13)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x13), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x13)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x13), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x13)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x13), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x13)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x13), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x13)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x14), value=Op.EXP(0x100, Op.EXP(0x100, 0x14)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x14), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x14)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x14), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x14)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x14), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x14)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x14), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x14)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x14), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x14)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x14), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x14)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x14), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x14)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x14), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x14)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x15), value=Op.EXP(0x100, Op.EXP(0x100, 0x15)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x15), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x15)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x15), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x15)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x15), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x15)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x15), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x15)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x15), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x15)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x15), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x15)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x15), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x15)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x15), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x15)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x16), value=Op.EXP(0x100, Op.EXP(0x100, 0x16)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x16), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x16)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x16), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x16)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x16), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x16)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x16), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x16)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x16), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x16)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x16), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x16)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x16), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x16)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x16), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x16)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x17), value=Op.EXP(0x100, Op.EXP(0x100, 0x17)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x17), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x17)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x17), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x17)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x17), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x17)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x17), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x17)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x17), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x17)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x17), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x17)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x17), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x17)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x17), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x17)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x18), value=Op.EXP(0x100, Op.EXP(0x100, 0x18)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x18), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x18)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x18), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x18)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x18), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x18)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x18), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x18)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x18), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x18)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x18), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x18)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x18), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x18)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x18), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x18)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x19), value=Op.EXP(0x100, Op.EXP(0x100, 0x19)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x19), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x19)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x19), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x19)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x19), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x19)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x19), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x19)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x19), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x19)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x19), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x19)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x19), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x19)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x19), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x19)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x1A), value=Op.EXP(0x100, Op.EXP(0x100, 0x1A)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1A), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x1A)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1A), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x1A)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1A), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x1A)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1A), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1A)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1A), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x1A)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1A), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x1A)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1A), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x1A)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1A), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x1A)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x1B), value=Op.EXP(0x100, Op.EXP(0x100, 0x1B)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1B), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x1B)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1B), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x1B)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1B), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x1B)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1B), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1B)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1B), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x1B)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1B), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x1B)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1B), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x1B)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1B), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x1B)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x1C), value=Op.EXP(0x100, Op.EXP(0x100, 0x1C)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1C), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x1C)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1C), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x1C)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1C), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x1C)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1C), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1C)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1C), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x1C)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1C), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x1C)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1C), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x1C)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1C), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x1C)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x1D), value=Op.EXP(0x100, Op.EXP(0x100, 0x1D)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1D), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x1D)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1D), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x1D)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1D), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x1D)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1D), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1D)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1D), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x1D)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1D), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x1D)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1D), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x1D)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1D), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x1D)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x1E), value=Op.EXP(0x100, Op.EXP(0x100, 0x1E)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1E), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x1E)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1E), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x1E)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1E), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x1E)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1E), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1E)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1E), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x1E)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1E), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x1E)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1E), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x1E)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1E), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x1E)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x1F), value=Op.EXP(0x100, Op.EXP(0x100, 0x1F)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1F), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x1F)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1F), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x1F)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1F), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x1F)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1F), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x1F)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1F), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x1F)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1F), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x1F)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1F), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x1F)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x1F), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x1F)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x20), value=Op.EXP(0x100, Op.EXP(0x100, 0x20)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x20), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x20)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x20), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x20)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x20), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x20)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x20), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x20)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x20), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x20)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x20), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x20)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x20), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x20)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x20), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x20)), + ) + + Op.SSTORE( + key=Op.MUL(0x10, 0x21), value=Op.EXP(0x100, Op.EXP(0x100, 0x21)) + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x21), 0x1), + value=Op.EXP(0x100, Op.EXP(0xFF, 0x21)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x21), 0x2), + value=Op.EXP(0x100, Op.EXP(0x101, 0x21)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x21), 0x3), + value=Op.EXP(0xFF, Op.EXP(0x100, 0x21)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x21), 0x4), + value=Op.EXP(0xFF, Op.EXP(0xFF, 0x21)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x21), 0x5), + value=Op.EXP(0xFF, Op.EXP(0x101, 0x21)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x21), 0x6), + value=Op.EXP(0x101, Op.EXP(0x100, 0x21)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x21), 0x7), + value=Op.EXP(0x101, Op.EXP(0xFF, 0x21)), + ) + + Op.SSTORE( + key=Op.ADD(Op.MUL(0x10, 0x21), 0x8), + value=Op.EXP(0x101, Op.EXP(0x101, 0x21)), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x9F233EF2D697929EDF542064B125E7D620270363), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + tx = Transaction( + sender=sender, + to=target, + data=Bytes("693c6139") + Hash(0x0), + gas_limit=16777216, + value=1, + ) + + post = { + target: Account( + storage={ + 0: 256, + 1: 256, + 2: 256, + 3: 255, + 4: 255, + 5: 255, + 6: 257, + 7: 257, + 8: 257, + 19: 0x6C3ACD330B959AD6EFABCE6D2D2125E73A88A65A9880D203DDDF5957F7F0001, # noqa: E501 + 20: 0x8F965A06DA0AC41DCB3A34F1D8AB7D8FEE620A94FAA42C395997756B007FFEFF, # noqa: E501 + 21: 0xBCE9265D88A053C18BC229EBFF404C1534E1DB43DE85131DA0179FE9FF8100FF, # noqa: E501 + 22: 0x2B5E9D7A094C19F5EBDD4F2E618F859ED15E4F1F0351F286BF849EB7F810001, # noqa: E501 + 23: 0xC73B7A6F68385C653A24993BB72EEA0E4BA17470816EC658CF9C5BEDFD81FF01, # noqa: E501 + 24: 0xB89FC178355660FE1C92C7D8FF11524702FAD6E2255447946442356B00810101, # noqa: E501 + 35: 0x4EE4CEEAAC565C81F55A87C43F82F7C889EF4FC7C679671E28D594FF7F000001, # noqa: E501 + 36: 0x82F46A1B4E34D66712910615D2571D75606CEAC51FA8CA8C58CF6CA881FE00FF, # noqa: E501 + 37: 0x81C9FCEFA5DE158AE2007F25D35C0D11CD735342A48905955A5A6852800200FF, # noqa: E501 + 38: 0x666AC362902470ED850709E2A29969D10CBA09DEBC03C38D172AEAFF81000001, # noqa: E501 + 39: 0xEB30A3C678A01BDE914548F98F3366DC0FFE9F85384EBF1111D03DAD7FFE0101, # noqa: E501 + 40: 0x72D0A7939B6303CE1D46E6E3F1B8BE303BFDB2B00F41AD8076B0975782020101, # noqa: E501 + 51: 0x109A00E1370D2D2922BF892E85BECB54297354B2E5C75388D514FF7F00000001, # noqa: E501 + 52: 0x54A792F15E9ABA7E4AD9E716BC169EEA3A6E2E9C49BF9B335874613C8081FEFF, # noqa: E501 + 53: 0x5D24A14D8E5E039372CD0F6A0F31E9ED6B75ADBA9F16B1C5B3EDD5BA818300FF, # noqa: E501 + 54: 0x298E2F316B4CCDED5EBF515998D9EC20DF69404B04A441782A6AFF8100000001, # noqa: E501 + 55: 0x4335694E98F372183C62A2339FA4AD161E9B4C42240BDC9452ABFFD07783FF01, # noqa: E501 + 56: 0xF0F0820797315ACD063056BBA76F6A9C3E281CDB5197A233967CA94684830101, # noqa: E501 + 67: 0xE6540CE46EAF70DA9D644015A661E0E245B13F307CB3885514FF7F0000000001, # noqa: E501 + 68: 0x6526B38B05A6325B80E1C84AB41DC934FD70F33F1BD0EAB3D1F61A4707FC00FF, # noqa: E501 + 69: 0xE959516CD27E5D8FD487B72DB2989B3EC2BA9FB7EAD41554526FE5A3040400FF, # noqa: E501 + 70: 0xE7498A48C6CE2530BBE814EE3440C8C44FFFAB7AD8A277AA6AFF810000000001, # noqa: E501 + 71: 0x2DFFA3E901E5A392D15B79F4193D2168147D2AA7C55870B46C3A905D03FC0101, # noqa: E501 + 72: 0xE16EA721C96539EDB4F7FB82DE0DAD8CCCB1E7A6966A6777635F6FB908040101, # noqa: E501 + 83: 0xB581AC185AAD71DB2D177C286929C4C22809E5DCB3085514FF7F000000000001, # noqa: E501 + 84: 0x75789EB2A64BC971389FBD11A1E6D7ABBF95AD25E23FB9AA25E73A0BFC83FEFF, # noqa: E501 + 85: 0xFC403FA42CEB6A0D0D3321BD9B2D8AF25B1B667F87A04F496C78168D078500FF, # noqa: E501 + 86: 0xCEC5EC213B9CB5811F6AE00428FD7B6EF5A1AF39A1F7AA6AFF81000000000001, # noqa: E501 + 87: 0x70AB32233202B98D382D17713FA0BE391EAF74F85BA1740C9C3238C4ED85FF01, # noqa: E501 + 88: 0xB622672A213FAA79B32185FF93A7B27A8499E48F7B032CDB4D1A70300C850101, # noqa: E501 + 99: 0x1948059DE1DEF03C4EC35FC22C2BB8F2BF45DC33085514FF7F00000000000001, # noqa: E501 + 100: 0x41F818A8E24EB6D7BB7B193B4F2B5FDCF4BD0D453F2AC3499D8830D391FA00FF, # noqa: E501 + 101: 0xEDE6FE4A943DFB5D967A2B85D6728759D40D2EF0AE4BC28BBB1867F98C0600FF, # noqa: E501 + 102: 0x83C936CBAAD5DE592BADC2E142FE4EBD6103921F7AA6AFF8100000000000001, # noqa: E501 + 103: 0x57385019FE4E0939CA3F35C37CADFAF52FBA5B1CDFB02DEF3866E8068BFA0101, # noqa: E501 + 104: 0x810AC878BD98428F6BE8C6426BA9F9DA09E3E33BF4FE10BFA3F8B12C92060101, # noqa: E501 + 115: 0x8BB02654111AD8C60AD8AF132283A81F455C33085514FF7F0000000000000001, # noqa: E501 + 116: 0xA8F75C129DBB8466D6703A2A0B8212131B3248D70E2478862AC40FE17485FEFF, # noqa: E501 + 117: 0x5FD4D2DE580383EE59F5E800DDB3F1717CEAE03AEDE19D3DEC5E5A69918700FF, # noqa: E501 + 118: 0xC8624230B524B85D6340DA48A5DB20370FB921F7AA6AFF810000000000000001, # noqa: E501 + 119: 0x287B58A5A13CD7F454468CA616C181712F5ED25433A7D5A894B6CED35F87FF01, # noqa: E501 + 120: 0x9930D11AC2804FA977BF951593C8DFF8498779CC0CDC5812A4FBA2F98870101, # noqa: E501 + 131: 0x230041A0E7602D6E459609ED39081EC55C33085514FF7F000000000000000001, # noqa: E501 + 132: 0xC407D8A413EF9079EAD457ED686A05AC81039C0CAE0A7F6AFD01E8461FF800FF, # noqa: E501 + 133: 0x67A397E0692385E4CD83853AABCE220A94D449E885FA867E96D3EF5E180800FF, # noqa: E501 + 134: 0x70ADD926E753655D6D0EBE9C0F81368FB921F7AA6AFF81000000000000000001, # noqa: E501 + 135: 0xBDCE80B8378E43F13D454B9D0A4C83CF311B8EAA45D5122CFD544A217F80101, # noqa: E501 + 136: 0x629C25790E1488998877A9ECDF0FB69637E77D8A4BDC1B46270093BA20080101, # noqa: E501 + 147: 0x53017D8EB210DB2C8CD4A299079EC55C33085514FF7F00000000000000000001, # noqa: E501 + 148: 0x48BE09B6C6AE2AA660F1972125CECBB1038B5D236ECF766BA786E2C4E887FEFF, # noqa: E501 + 149: 0x2E350D847BA73DC2099F83F532951C47269D9FD7E411B50BAE00A9581F8900FF, # noqa: E501 + 150: 0x13AB9E1F0DF89A184B4D07080B68FB921F7AA6AFF8100000000000000000001, # noqa: E501 + 151: 0xF387ED41C1050F9DA667F429A3E8FB30B61A55EDE97D7B8ACD797A03CD89FF01, # noqa: E501 + 152: 0x525696C22BB3CE00FD2E3F6BBB9B4EA1046A5E31FCFF2FEDF8F8C74D28890101, # noqa: E501 + 163: 0xFE0F60957DC223578A0298879EC55C33085514FF7F0000000000000000000001, # noqa: E501 + 164: 0xC1EA45F348B5D351C4D8FE5C77DA979CADC33D866ACC42E981278896B1F600FF, # noqa: E501 + 165: 0x56DDB29BCA94FB986AC0A40188B3B53F3216B3559BD8324A77EA8BD8A80A00FF, # noqa: E501 + 166: 0x2D49FF6B0BBE177AE9317000B68FB921F7AA6AFF810000000000000000000001, # noqa: E501 + 167: 0x185FA9EAB94CFE3016B69657E83B23FD24CC6960218254231C3DB627A7F60101, # noqa: E501 + 168: 0xA7A0223829F26D6C635368034320563DF4AA5EB62EFC87A42BB35F69B20A0101, # noqa: E501 + 179: 0xE1440264B8EE0CEA0218879EC55C33085514FF7F000000000000000000000001, # noqa: E501 + 180: 0x29575FDCE377B23043E489E358581474BC863187FA85F9945473A2BE5889FEFF, # noqa: E501 + 181: 0x3DF8C030EC521FB109C4D887DBBC14C7C9C9921B27058E3503971B60B18B00FF, # noqa: E501 + 182: 0x67799740340DAF4A30F000B68FB921F7AA6AFF81000000000000000000000001, # noqa: E501 + 183: 0x540A4E4635B40585E09FF10B63FFE310DD717FCA5C0A51570091E25E378BFF01, # noqa: E501 + 184: 0xDBBAEF5C49FFEE61B08CDE6EBC8DBA6E9A62D56C2355D1980CB9E790BC8B0101, # noqa: E501 + 195: 0xB0E95B83A36CE98218879EC55C33085514FF7F00000000000000000000000001, # noqa: E501 + 196: 0xC482AB56EC19186DC48C88F30861A850B2253B1EA6DC021589E569BD47F400FF, # noqa: E501 + 197: 0xCF45C7F9AF4BBE4A83055B55B97777AD5E0A3F08B129C9AE208C5D713C0C00FF, # noqa: E501 + 198: 0xA5CBB62A421049B0F000B68FB921F7AA6AFF8100000000000000000000000001, # noqa: E501 + 199: 0x3BDE6CA66DFFE1BF5D727C3EDEA74C7A4AF43B3912E6256D37705C8F3BF40101, # noqa: E501 + 200: 0x3F49A1E40C5213AA4FFED57EB4C1AD2D181B2AAA289E9D59C2256C43480C0101, # noqa: E501 + 211: 0xE02639036C698218879EC55C33085514FF7F0000000000000000000000000001, # noqa: E501 + 212: 0x8BE664BDE946D939CE551B948B503787942D2A7734509288C1B62FD5C48BFEFF, # noqa: E501 + 213: 0xA923A28E7A75AEF26C51580FFC686879E4A0B404B089BDBCD751D88B478D00FF, # noqa: E501 + 214: 0x41AC5EA30FC9B0F000B68FB921F7AA6AFF810000000000000000000000000001, # noqa: E501 + 215: 0xDAA3A177EC975CB69BB4ACF4A6E1BE7BCC1AD33D1FFAD97510F9FEA9D8DFF01, # noqa: E501 + 216: 0x19E6822BEB889BE28310060F4FB9741BFD50A31FA81EC65DE21F7B02548D0101, # noqa: E501 + 227: 0xDB9902EC698218879EC55C33085514FF7F000000000000000000000000000001, # noqa: E501 + 228: 0x83FAB06C6C8FEF761EBBB9534C06AC2A9D61820623008069062FF3B1E1F200FF, # noqa: E501 + 229: 0x3F791DD183ED5B963BD86E0DBA1A9DD5B8CEEB078F15C73062F1942FD40E00FF, # noqa: E501 + 230: 0xE0BFA28FC9B0F000B68FB921F7AA6AFF81000000000000000000000000000001, # noqa: E501 + 231: 0x8133B760DFAE27560EB490F235DDFA301F058DEE4F01F3FE4B3567D0D3F20101, # noqa: E501 + 232: 0xCD4CD0124E983AF71620FB5F98275965C6A8BEBC4B8ADC288B63224EE20E0101, # noqa: E501 + 243: 0x9882EC698218879EC55C33085514FF7F00000000000000000000000000000001, # noqa: E501 + 244: 0x75C4915E18B96704209738F5CA765568BB4DC4113D56683977825A132C8DFEFF, # noqa: E501 + 245: 0x5C76839BF5A80B1DA705DBDF43E4DD6770CD7501AF11FF2DAB7918DFE18F00FF, # noqa: E501 + 246: 0xBF228FC9B0F000B68FB921F7AA6AFF8100000000000000000000000000000001, # noqa: E501 + 247: 0xC6A29131E7594004BC2AA79F0D2C402A1409C57C77D284C14B1A3AB0FF8FFF01, # noqa: E501 + 248: 0xE6B3E5CF6EC90E532FEF7D08455EBF92A03E9E3F6E224EA0FEBDF1A9F08F0101, # noqa: E501 + 259: 0x82EC698218879EC55C33085514FF7F0000000000000000000000000000000001, # noqa: E501 + 260: 0x3122F4BCDF6DD8B265CD18EB6AF28C879AED44A35E0BF59273E39E6C7FF000FF, # noqa: E501 + 261: 0x6A2B3BC87A02C29B9D27757DF43047ECD0F15485270FCA27417A701C701000FF, # noqa: E501 + 262: 0x228FC9B0F000B68FB921F7AA6AFF810000000000000000000000000000000001, # noqa: E501 + 263: 0x88E1259502EEF93D46060AACC9E2FF506C734DADE0B6714AB12D17E46FF00101, # noqa: E501 + 264: 0x4A103813C12C12169B218296BB0A9EAE80CF8D2B158AA70EB990F99480100101, # noqa: E501 + 275: 0xEC698218879EC55C33085514FF7F000000000000000000000000000000000001, # noqa: E501 + 276: 0x722AD218EB1995A2D257C4C06D8DE993C203CFC8E3512DF7D633E17E908FFEFF, # noqa: E501 + 277: 0x8AC9B5EC08D74612CB29F941481D274B51721AF2296207C0DA8D24667F9100FF, # noqa: E501 + 278: 0x8FC9B0F000B68FB921F7AA6AFF81000000000000000000000000000000000001, # noqa: E501 + 279: 0x81D5FF63680841482299F3EAB616446DCD336F537C0C565AA4112AB95D91FF01, # noqa: E501 + 280: 0x9C6CA90DAC4E97DEA02AC969E8649EE9E6232E0C3F4797411151CB8F90910101, # noqa: E501 + 291: 0x698218879EC55C33085514FF7F00000000000000000000000000000000000001, # noqa: E501 + 292: 0x8A2CBD9F40794E2205B13306F2AA0A43C60823C64B95D8601FA4F1E521EE00FF, # noqa: E501 + 293: 0xC1B5A1E3A81DA51B10D84E880F0113FF67B863DDAD3FAF1F4ECF413F101200FF, # noqa: E501 + 294: 0xC9B0F000B68FB921F7AA6AFF8100000000000000000000000000000000000001, # noqa: E501 + 295: 0x410BE68E49452A1FBCD863BF6E8D637F8EAE4979C34C88D552AFBCC20FEE0101, # noqa: E501 + 296: 0xF540CB714754B5B1EB0373833833BD7FB0EE925CE8B92962500B7A1C22120101, # noqa: E501 + 307: 0x8218879EC55C33085514FF7F0000000000000000000000000000000000000001, # noqa: E501 + 308: 0xB795AD7AC24CFBB7435CF53BD3584F3D4B2709935635C3CEB66E761FF091FEFF, # noqa: E501 + 309: 0x1F0BB7BE91A0CCD0CCA93D75CF03DE3E6B56FE8F1C54242617665327219300FF, # noqa: E501 + 310: 0xB0F000B68FB921F7AA6AFF810000000000000000000000000000000000000001, # noqa: E501 + 311: 0xAD571756ECBFF1BFDEF064861E5E92C5D897A9CC380E54BDBAABD80BB793FF01, # noqa: E501 + 312: 0xD8B5B531989E689F700DCDB43AB90E79A49DFBBB5A13DBF751DF98BB34930101, # noqa: E501 + 323: 0x18879EC55C33085514FF7F000000000000000000000000000000000000000001, # noqa: E501 + 324: 0x67E4797DC21F02CE4A7C52218C7DBEA5D212E6C244E24F0BA4C08613C7EC00FF, # noqa: E501 + 325: 0xA1CE1A085F258785846939CC1D2E8725AC94AD4DFF8913234E00679FB41400FF, # noqa: E501 + 326: 0xF000B68FB921F7AA6AFF81000000000000000000000000000000000000000001, # noqa: E501 + 327: 0xCCE501857A1CB45473915A28082AF950E0F78F7E2DE68CE748ADB661B3EC0101, # noqa: E501 + 328: 0x3B2E28D274A16C08B58A23BAD63BBA6D7B09685769D1F68CA3873BEDC8140101, # noqa: E501 + 339: 0x879EC55C33085514FF7F00000000000000000000000000000000000000000001, # noqa: E501 + 340: 0x7FD07055FF50CDFE4B4BD9A15133D72D3607D92EB7AC81BAC93DB7FF4C93FEFF, # noqa: E501 + 341: 0x665AC5C769E87F61D5993ABC26522FBFCA2734D76A63216B2D550D29C79500FF, # noqa: E501 + 342: 0xB68FB921F7AA6AFF8100000000000000000000000000000000000000000001, # noqa: E501 + 343: 0x1C93DB67C9884BC694686D69A25A5D7ED089841D5CE147FDD7199AB00D95FF01, # noqa: E501 + 344: 0x485053D8FF66BE52036597520344FAC87B6A305426A9E49221D3F934DC950101, # noqa: E501 + 355: 0x9EC55C33085514FF7F0000000000000000000000000000000000000000000001, # noqa: E501 + 356: 0xEC447E662AC08957D7E290A421DBF54C0AAF43AADC9CC465AD0B02F071EA00FF, # noqa: E501 + 357: 0xDC9178D3BAB470096F01477C859B5F4173986640B659426412A653465C1600FF, # noqa: E501 + 358: 0xB68FB921F7AA6AFF810000000000000000000000000000000000000000000001, # noqa: E501 + 359: 0xDCF0A770777610503596AE0311AF46C171151ED45107D7E7BB8F74BB5BEA0101, # noqa: E501 + 360: 0x4D65773387993928C95C861274232D3FB6F6B7FE1B22E4E61A30E71172160101, # noqa: E501 + 371: 0xC55C33085514FF7F000000000000000000000000000000000000000000000001, # noqa: E501 + 372: 0x537CA0F03F974303005F1E6693B55B72315A166841732E42B8353724A495FEFF, # noqa: E501 + 373: 0x86418797EC60058DE6CCA47DFDBEE79923AC49D7801E01840041CA76719700FF, # noqa: E501 + 374: 0x8FB921F7AA6AFF81000000000000000000000000000000000000000000000001, # noqa: E501 + 375: 0x56A55341AB8D4318F1CFB55D5F21E2BA35D7E070A72BAC6B2B21BAAE5F97FF01, # noqa: E501 + 376: 0x55DDD0EC77909DE6D8311116CF520398E816F928B06FDD90EC239D0488970101, # noqa: E501 + 387: 0x5C33085514FF7F00000000000000000000000000000000000000000000000001, # noqa: E501 + 388: 0xD542E526003539EAD104274AFF2D78332366E29D328C2161F0C120731FE800FF, # noqa: E501 + 389: 0xC706CB25E8384CE9BB5C9CB48415238BA03E16C448E292C0A101843B081800FF, # noqa: E501 + 390: 0xB921F7AA6AFF8100000000000000000000000000000000000000000000000001, # noqa: E501 + 391: 0x4CA55F89202C524CB0F1CB3195D13C8D94A9F7A05C59E1D4031577C707E80101, # noqa: E501 + 392: 0x8C4B0574E9156B80035F3ECDCF1FE79D273ED7559747A4322BCD338F20180101, # noqa: E501 + 403: 0x33085514FF7F0000000000000000000000000000000000000000000000000001, # noqa: E501 + 404: 0x7F510DD7198CAC0A92FF7EA80451838C0DFA12114C41A0EF05907397F897FEFF, # noqa: E501 + 405: 0x1275E752B6AEE228ECBA5E9B57EF1111DEFF3C651E2CFBF2CCCD13151F9900FF, # noqa: E501 + 406: 0x21F7AA6AFF810000000000000000000000000000000000000000000000000001, # noqa: E501 + 407: 0x6646340AD51A03BB710CAF05756B685B33C7DAD62AE68D369243700EAD99FF01, # noqa: E501 + 408: 0x29D80E8060EF2221929BB18215586C742686D6860E028CA0456B443238990101, # noqa: E501 + 419: 0x85514FF7F000000000000000000000000000000000000000000000000000001, # noqa: E501 + 420: 0x1D164DB738EB6893868B361AD2803F97BE35764456E82A837667A693D1E600FF, # noqa: E501 + 421: 0x8B92C24ABEBF376A5AAB5FF4DFD3538A03D38A10BCED2AAE8E1A8A85B81A00FF, # noqa: E501 + 422: 0xF7AA6AFF81000000000000000000000000000000000000000000000000000001, # noqa: E501 + 423: 0x6931BDA98C70E860A1F6A5224940F1EC7E6734CD9456C95806384F7CB7E60101, # noqa: E501 + 424: 0x3402A9DB66492DFC2A220715E76243469462F24EDC56903BA1D8E96ED21A0101, # noqa: E501 + 435: 0x5514FF7F00000000000000000000000000000000000000000000000000000001, # noqa: E501 + 436: 0x178918FFBCB401D4EFD2F7DFB4D01A897172267F0F491121AC52DD614899FEFF, # noqa: E501 + 437: 0x38ECFF71480CA0B422F2ED6F780D5FEAD2AE234A49104B10A86F7F0DD19B00FF, # noqa: E501 + 438: 0xAA6AFF8100000000000000000000000000000000000000000000000000000001, # noqa: E501 + 439: 0xD02811CB5DC1D80567E810532B235B7672F5C78CD6E89BB511D5E2D8F79BFF01, # noqa: E501 + 440: 0x1B4E6404F474C18055D30BB8987672F59E97980D6F9DE1764C0FBEC5EC9B0101, # noqa: E501 + 451: 0x14FF7F0000000000000000000000000000000000000000000000000000000001, # noqa: E501 + 452: 0xFFD368E44B3F85CB81AE394C9809CA9FA2DB46A83D7880A912AB6D4A87E400FF, # noqa: E501 + 453: 0x981AD53C19B15A94BCF0BF20235DD0DA9DF25F46AE635029FE2062E6C1C00FF, # noqa: E501 + 454: 0x6AFF810000000000000000000000000000000000000000000000000000000001, # noqa: E501 + 455: 0x19DF06FFA28250867006726405FBC05D43DC2F9D2F025006DB089BD46BE40101, # noqa: E501 + 456: 0x243FFFE3A4F2982F45055C08F379648AB886DA8027A7401117A8E0B8881C0101, # noqa: E501 + 467: 0xFF7F000000000000000000000000000000000000000000000000000000000001, # noqa: E501 + 468: 0x41E065D46E0349CFE624C4E8A2034AEA1F7EDFFF80E511CD8067D488949BFEFF, # noqa: E501 + 469: 0xA84162CA6675A22C4C79DFC4EA15F760DB5A04DBF04246764199B668879D00FF, # noqa: E501 + 470: 0xFF81000000000000000000000000000000000000000000000000000000000001, # noqa: E501 + 471: 0x1226984FAA6B05EBDBD45D8477FA4FD5B55BFD5061DE03C319282B153D9DFF01, # noqa: E501 + 472: 0x5CC9E6B0B749FD94541AD00364BDEC2FCA7816981CA3E38F485DECC7A49D0101, # noqa: E501 + 483: 0x7F00000000000000000000000000000000000000000000000000000000000001, # noqa: E501 + 484: 0xE9772778F50FA0A69CD10FA019AC56D72AC7A7D7AF26C4BA28415C8F41E200FF, # noqa: E501 + 485: 0x33F0385EF73FEEBDB952E5ADB643DD0FA178FD9271578219AD50A73D241E00FF, # noqa: E501 + 486: 0x8100000000000000000000000000000000000000000000000000000000000001, # noqa: E501 + 487: 0xFD405CCE8F73DFFC04A6F0FF6FFC6BF7961876D09C5B4933A68F0CC623E20101, # noqa: E501 + 488: 0xC5A8F4566FD2E96E4CE3A8B3EC0863E7B20BC3B2F3DC5261BA8A0174421E0101, # noqa: E501 + 499: 1, + 500: 0xF9CB87F5B1AB58602F52A1E9D392E5675B86A59A53943A8D4EC2A915DC9DFEFF, # noqa: E501 + 501: 0x893D729A64E318860EC5047E70E598DA163EB41E71E74B04DFD4712D419F00FF, # noqa: E501 + 502: 1, + 503: 0xEE5F2839C1B4F6CA05E6FDB04E2FB49C0F860B3765C27DC781A150CB7F9FFF01, # noqa: E501 + 504: 0xB4C358E3C6BCDDFB509EA487D733DF0E1854F29C3B6BFD4A8CAABE3F609F0101, # noqa: E501 + 512: 1, + 515: 1, + 516: 0xB8247842BB5CE75C08D0C251669ED5870FA24A22952E5DB3A7C66C59FFE000FF, # noqa: E501 + 517: 0xEE526E5A06F2A990B2BF6C951E5FEABF0E07EE16877296E1BE872DB9E02000FF, # noqa: E501 + 518: 1, + 519: 0xEDA7D024B6DE40A9D3B966E71F10A4667EDC5B71CAB07AEABCAC6249DFE00101, # noqa: E501 + 520: 0x512ECFAEEB11205F0833E1054DCB1300488E0954BE5AF77A49E143AA00200101, # noqa: E501 + 528: 1, + 531: 1, + 532: 0x8DCB65B5494EBA78CD6756A6F9851F6E26D0F2BB9ECD7E9ABD7E9B11209FFEFF, # noqa: E501 + 533: 0x6694BB31B20CD625F3756897DAE6D738F2E64467B5B6F10FA3E07763FFA100FF, # noqa: E501 + 534: 1, + 535: 0xE678999AEFFD1F1F45081F64DE7F80AB083DD7DF04721ED64EE04C03BDA1FF01, # noqa: E501 + 536: 0x39B68FB9898DD7568ABD178397251CE8226A25C1D305A4E79573333520A10101, # noqa: E501 + }, + ), + } + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_fib.py b/tests/ported_static/vmArithmeticTest/test_fib.py new file mode 100644 index 00000000000..27895062753 --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_fib.py @@ -0,0 +1,151 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/fibFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + StateTestFiller, + Transaction, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/fibFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.pre_alloc_mutable +def test_fib( + state_test: StateTestFiller, + pre: Alloc, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # (def 'fib (n) [[n]] (+ @@(- n 1) @@(- n 2))) + # (fib 2) + # (fib 3) + # (fib 4) + # (fib 5) + # (fib 6) + # (fib 7) + # (fib 8) + # (fib 9) + # (fib 10) + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x2, + value=Op.ADD( + Op.SLOAD(key=Op.SUB(0x2, 0x1)), Op.SLOAD(key=Op.SUB(0x2, 0x2)) + ), + ) + + Op.SSTORE( + key=0x3, + value=Op.ADD( + Op.SLOAD(key=Op.SUB(0x3, 0x1)), Op.SLOAD(key=Op.SUB(0x3, 0x2)) + ), + ) + + Op.SSTORE( + key=0x4, + value=Op.ADD( + Op.SLOAD(key=Op.SUB(0x4, 0x1)), Op.SLOAD(key=Op.SUB(0x4, 0x2)) + ), + ) + + Op.SSTORE( + key=0x5, + value=Op.ADD( + Op.SLOAD(key=Op.SUB(0x5, 0x1)), Op.SLOAD(key=Op.SUB(0x5, 0x2)) + ), + ) + + Op.SSTORE( + key=0x6, + value=Op.ADD( + Op.SLOAD(key=Op.SUB(0x6, 0x1)), Op.SLOAD(key=Op.SUB(0x6, 0x2)) + ), + ) + + Op.SSTORE( + key=0x7, + value=Op.ADD( + Op.SLOAD(key=Op.SUB(0x7, 0x1)), Op.SLOAD(key=Op.SUB(0x7, 0x2)) + ), + ) + + Op.SSTORE( + key=0x8, + value=Op.ADD( + Op.SLOAD(key=Op.SUB(0x8, 0x1)), Op.SLOAD(key=Op.SUB(0x8, 0x2)) + ), + ) + + Op.SSTORE( + key=0x9, + value=Op.ADD( + Op.SLOAD(key=Op.SUB(0x9, 0x1)), Op.SLOAD(key=Op.SUB(0x9, 0x2)) + ), + ) + + Op.SSTORE( + key=0xA, + value=Op.ADD( + Op.SLOAD(key=Op.SUB(0xA, 0x1)), Op.SLOAD(key=Op.SUB(0xA, 0x2)) + ), + ) + + Op.STOP, + storage={0: 0, 1: 1}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xF8D9FF3E0CF16ACF51098C85F2CB8F082EF588C2), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + tx = Transaction( + sender=sender, + to=target, + data=Bytes("01"), + gas_limit=16777216, + value=1, + ) + + post = { + target: Account( + storage={ + 0: 0, + 1: 1, + 2: 1, + 3: 2, + 4: 3, + 5: 5, + 6: 8, + 7: 13, + 8: 21, + 9: 34, + 10: 55, + }, + ), + } + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_mod.py b/tests/ported_static/vmArithmeticTest/test_mod.py new file mode 100644 index 00000000000..55c74f62a3b --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_mod.py @@ -0,0 +1,271 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/modFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/modFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="mod_2_3", + ), + pytest.param( + 1, + 0, + 0, + id="mod_neg1_2", + ), + pytest.param( + 2, + 0, + 0, + id="mod_0_neg1", + ), + pytest.param( + 3, + 0, + 0, + id="mod_3_0", + ), + pytest.param( + 4, + 0, + 0, + id="mod_neg2_3", + ), + pytest.param( + 5, + 0, + 0, + id="mod_16_0", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_mod( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (% 2 3) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MOD(0x2, 0x3)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # ; -1 % 2 (2^256-1 = -1 in evm arithmetic) + # [[0]] (% 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 2) # noqa: E501 + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x2, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # ; 0 % -1 + # [[0]] (% 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MOD( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (% 3 0) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MOD(0x3, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; The expected result is 2, which is counter + # ; intuitive. The reason is that MOD uses unsigned + # ; arithmetic. -2 % 3 is indeed 1, but 2^256 % 3 = 1 + # ; and therefore (2^256-2) % 3 = 2 + # ; + # [[0]] (% (- 0 2) 3) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MOD(Op.SUB(0x0, 0x2), 0x3)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # ; The original test was (3%0)-1, but since we're + # ; already checking 3%0 (contract 0...0103), I decided + # ; it would be better to check a different number + # [[0]] (- (% 16 0) 1) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SUB(Op.MOD(0x10, 0x0), 0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 2})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [2, 3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account(storage={0: 0}), + contract_3: Account(storage={0: 0}), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={0: 2})}, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_6, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_mul.py b/tests/ported_static/vmArithmeticTest/test_mul.py new file mode 100644 index 00000000000..163daa67afb --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_mul.py @@ -0,0 +1,380 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/mulFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/mulFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="mul_2_3", + ), + pytest.param( + 1, + 0, + 0, + id="mul_neg1_neg1", + ), + pytest.param( + 2, + 0, + 0, + id="mul_0_23", + ), + pytest.param( + 3, + 0, + 0, + id="mul_23_1", + ), + pytest.param( + 4, + 0, + 0, + id="mul_2pow255_neg1", + ), + pytest.param( + 5, + 0, + 0, + id="mul_2pow255_2pow255", + ), + pytest.param( + 6, + 0, + 0, + id="mul_2pow255min1_2pow255min1", + ), + pytest.param( + 7, + 0, + 0, + id="big_pow_3", + ), + pytest.param( + 8, + 0, + 0, + id="stack_underflow", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_mul( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (* 2 3) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MUL(0x2, 0x3)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # ; -1 * -1 + # ; -1 = 2^256-1 in evm arithmetic + # [[0]] (* + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # ) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MUL( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (* 0 23) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MUL(0x0, 0x17)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (* 23 1) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MUL(0x17, 0x1)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; 2^255 * -1 (the expected answer is 2^255, + # ; because -2^255 = 2^256-2^255 in evm arithmetic) + # [[0]] (* + # 0x8000000000000000000000000000000000000000000000000000000000000000 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + # ) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MUL( + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # ; 2^255 * 2^255 + # ; + # ; the expected answer is 0, because 2^510 % 2^256 = 0 + # [[0]] (* + # 0x8000000000000000000000000000000000000000000000000000000000000000 + # 0x8000000000000000000000000000000000000000000000000000000000000000 + # ) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MUL( + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # ; (2^255-1) * (2^255-1) + # ; + # ; = 2^510 - 2*2^255 + 1 = 2^510 - 2^256 + 1 = 1 + # [[0]] (* + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + # 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + # ) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MUL( + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (* (* + # 0x1234567890abcdef0fedcba0987654321 + # 0x1234567890abcdef0fedcba0987654321 + # ) + # 0x1234567890abcdef0fedcba0987654321 + # ) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MUL( + Op.MUL( + 0x1234567890ABCDEF0FEDCBA0987654321, + 0x1234567890ABCDEF0FEDCBA0987654321, + ), + 0x1234567890ABCDEF0FEDCBA0987654321, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: raw + # 0x600160005560010200 + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + Op.PUSH1[0x1] + Op.MUL + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [8, 2, 5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account(storage={0: 0}), + contract_5: Account(storage={0: 0}), + contract_8: Account(storage={0: 0}), + }, + }, + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 6})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 23})}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={ + 0: 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_6: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_7: Account( + storage={ + 0: 0x47D0817E4167B1EB4F9FC722B133EF9D7D9A6FB4C2C1C442D000107A5E419561, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_9, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_mulmod.py b/tests/ported_static/vmArithmeticTest/test_mulmod.py new file mode 100644 index 00000000000..35c8ec19e9d --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_mulmod.py @@ -0,0 +1,539 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/mulmodFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/mulmodFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="mm_1_2_2", + ), + pytest.param( + 1, + 0, + 0, + id="mm_neg1_neg2_3", + ), + pytest.param( + 2, + 0, + 0, + id="mm_neg5_1_3", + ), + pytest.param( + 3, + 0, + 0, + id="mm_5_1_neg3", + ), + pytest.param( + 4, + 0, + 0, + id="mm_27_37_100", + ), + pytest.param( + 5, + 0, + 0, + id="mm_2pow255_2_5", + ), + pytest.param( + 6, + 0, + 0, + id="mm_neg1_2_5", + ), + pytest.param( + 7, + 0, + 0, + id="mm_2pow255min1_2_5", + ), + pytest.param( + 8, + 0, + 0, + id="mm_2pow255plus1_2_5", + ), + pytest.param( + 9, + 0, + 0, + id="mulmod_vs_smod", + ), + pytest.param( + 10, + 0, + 0, + id="mulmod_vs_mod", + ), + pytest.param( + 11, + 0, + 0, + id="mulmod_pos_pos_neg", + ), + pytest.param( + 12, + 0, + 0, + id="mm_0_1_0", + ), + pytest.param( + 13, + 0, + 0, + id="mm_1_0_0", + ), + pytest.param( + 14, + 0, + 0, + id="one_minus_mm_0_0_0", + ), + pytest.param( + 15, + 0, + 0, + id="mm_5_1_0", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_mulmod( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0x000000000000000000000000000000000000100A) + contract_11 = Address(0x000000000000000000000000000000000000100B) + contract_12 = Address(0x000000000000000000000000000000000000100C) + contract_13 = Address(0x000000000000000000000000000000000000100D) + contract_14 = Address(0x000000000000000000000000000000000000100E) + contract_15 = Address(0x000000000000000000000000000000000000100F) + contract_16 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # ; (1*2) % 2 is zero + # [[0]] (mulmod 1 2 2) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MULMOD(0x1, 0x2, 0x2)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # ; -a is actually 2^256-a + # ; + # ; 2^256 % 3 = 1 + # ; (2^256-1) % 3 = (1-1)%3 = 0 + # [[0]] (mulmod (- 0 1) (- 0 2) 3) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.MULMOD(Op.SUB(0x0, 0x1), Op.SUB(0x0, 0x2), 0x3) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # ; -5 % 3 = (2^256 - 5) % 3 = (1-2)%3 = (-1) % 3 = 2 + # [[0]] (mulmod (- 0 5) 1 3) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MULMOD(Op.SUB(0x0, 0x5), 0x1, 0x3)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # ; -3 is actually 2^256-3, which is much more than five + # [[0]] (mulmod 5 1 (- 0 3)) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MULMOD(0x5, 0x1, Op.SUB(0x0, 0x3))) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (mulmod 27 37 100) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MULMOD(0x1B, 0x25, 0x64)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # (def 'pow2_255 0x8000000000000000000000000000000000000000000000000000000000000000) # noqa: E501 + # + # ; 2^255%5 = 3 + # ; 2%5 = 2 + # ; 6%5 = 1 + # [[0]] (mulmod pow2_255 2 5) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MULMOD( + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + 0x2, + 0x5, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # ; (256^2-1) % 5 = 0 + # [[0]] (mulmod (- 0 1) 2 5) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MULMOD(Op.SUB(0x0, 0x1), 0x2, 0x5)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { + # (def 'pow2_255 0x8000000000000000000000000000000000000000000000000000000000000000) # noqa: E501 + # + # ; 2^255%5 = 3 + # ; 2%5 = 2 + # ; (3-1) * 2 = 4 + # [[0]] (mulmod (- pow2_255 1) 2 5) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MULMOD( + Op.SUB( + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + 0x1, + ), + 0x2, + 0x5, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { + # (def 'pow2_255 0x8000000000000000000000000000000000000000000000000000000000000000) # noqa: E501 + # + # ; 2^255%5 = 3 + # ; 2%5 = 2 + # ; ((3+1) * 2) % 5 = 3 + # [[0]] (mulmod (+ pow2_255 1) 2 5) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.MULMOD( + Op.ADD( + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + 0x1, + ), + 0x2, + 0x5, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { + # ; smod is signed mod, -5%3 = -1 + # ; mulmod is unsigned mod, -5%3 = 2 + # ; -1 != 2 + # [[0]] (= (smod (- 0 5) 3) (mulmod (- 0 5) 1 3)) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.EQ( + Op.SMOD(Op.SUB(0x0, 0x5), 0x3), + Op.MULMOD(Op.SUB(0x0, 0x5), 0x1, 0x3), + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: lll + # { + # ; mod and mulmod are both unsigned mod + # ; equal + # [[0]] (= (mod (- 0 5) 3) (mulmod (- 0 5) 1 3)) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.EQ( + Op.MOD(Op.SUB(0x0, 0x5), 0x3), + Op.MULMOD(Op.SUB(0x0, 0x5), 0x1, 0x3), + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100A), # noqa: E501 + ) + # Source: lll + # { + # ; (mulmod a b -c) is usually a*b, because -c is + # ; actually 2^256-c, which is huge + # ; not equal + # [[0]] (= (mulmod 5 1 (- 0 3)) 2) + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.EQ(Op.MULMOD(0x5, 0x1, Op.SUB(0x0, 0x3)), 0x2) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100B), # noqa: E501 + ) + # Source: lll + # { + # ; (mulmod x y 0) is zero + # [[0]] (mulmod 0 1 0) + # } + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MULMOD(0x0, 0x1, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100C), # noqa: E501 + ) + # Source: lll + # { + # ; (mulmod x y 0) is zero + # [[0]] (mulmod 1 0 0) + # } + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MULMOD(0x1, 0x0, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100D), # noqa: E501 + ) + # Source: lll + # { + # ; (mulmod x y 0) is zero + # [[0]] (- 1 (mulmod 0 0 0)) + # } + contract_14 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SUB(0x1, Op.MULMOD(0x0, 0x0, 0x0))) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100E), # noqa: E501 + ) + # Source: lll + # { + # ; (mulmod x y 0) is zero + # [[0]] (mulmod 5 1 0) + # } + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MULMOD(0x5, 0x1, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100F), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_16 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [0, 1, 6, 9, 11, 12, 13, 15], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": { + contract_0: Account(storage={0: 0}), + contract_1: Account(storage={0: 0}), + contract_6: Account(storage={0: 0}), + contract_9: Account(storage={0: 0}), + contract_11: Account(storage={0: 0}), + contract_12: Account(storage={0: 0}), + contract_13: Account(storage={0: 0}), + contract_15: Account(storage={0: 0}), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 2})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 5})}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={0: 99})}, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_7: Account(storage={0: 4})}, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_8: Account(storage={0: 3})}, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_10: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [14], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_14: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + Bytes("693c6139") + Hash(0x9), + Bytes("693c6139") + Hash(0xA), + Bytes("693c6139") + Hash(0xB), + Bytes("693c6139") + Hash(0xC), + Bytes("693c6139") + Hash(0xD), + Bytes("693c6139") + Hash(0xE), + Bytes("693c6139") + Hash(0xD), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_16, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/VMTests/vmArithmeticTest/test_not.py b/tests/ported_static/vmArithmeticTest/test_not.py similarity index 55% rename from tests/ported_static/VMTests/vmArithmeticTest/test_not.py rename to tests/ported_static/vmArithmeticTest/test_not.py index 8150e563a32..fd38fc7f33d 100644 --- a/tests/ported_static/VMTests/vmArithmeticTest/test_not.py +++ b/tests/ported_static/vmArithmeticTest/test_not.py @@ -2,7 +2,7 @@ Ori Pomerantz qbzzt1@gmail.com. Ported from: -tests/static/state_tests/VMTests/vmArithmeticTest/notFiller.yml +state_tests/VMTests/vmArithmeticTest/notFiller.yml """ import pytest @@ -11,7 +11,9 @@ Account, Address, Alloc, + Bytes, Environment, + Hash, StateTestFiller, Transaction, ) @@ -22,7 +24,7 @@ @pytest.mark.ported_from( - ["tests/static/state_tests/VMTests/vmArithmeticTest/notFiller.yml"], + ["state_tests/VMTests/vmArithmeticTest/notFiller.yml"], ) @pytest.mark.valid_from("Cancun") @pytest.mark.pre_alloc_mutable @@ -30,8 +32,10 @@ def test_not( state_test: StateTestFiller, pre: Alloc, ) -> None: - """Ori Pomerantz qbzzt1@gmail.com.""" - coinbase = Address("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) sender = EOA( key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 ) @@ -45,47 +49,47 @@ def test_not( gas_limit=100000000, ) - callee = pre.deploy_contract( + # Source: lll + # { + # [[0]] (not 0x0123456789abcdef) + # } + contract_0 = pre.deploy_contract( # noqa: F841 code=Op.SSTORE(key=0x0, value=Op.NOT(0x123456789ABCDEF)) + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0x0000000000000000000000000000000000001000"), # noqa: E501 + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 ) - pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) - # Source: LLL + # Source: lll # { # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) # } - contract = pre.deploy_contract( - code=( - Op.CALL( - gas=0xFFFFFF, - address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), - value=0x0, - args_offset=0x0, - args_size=0x0, - ret_offset=0x0, - ret_size=0x0, - ) - + Op.STOP - ), + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, balance=0xBA1A9CE0BA1A9CE, nonce=0, - address=Address("0xcccccccccccccccccccccccccccccccccccccccc"), # noqa: E501 + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) tx = Transaction( sender=sender, - to=contract, - data=bytes.fromhex( - "693c61390000000000000000000000000000000000000000000000000000000000000000" # noqa: E501 - ), + to=contract_1, + data=Bytes("693c6139") + Hash(0x0), gas_limit=16777216, value=1, ) post = { - callee: Account( + contract_0: Account( storage={ 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDCBA9876543210, # noqa: E501 }, diff --git a/tests/ported_static/vmArithmeticTest/test_sdiv.py b/tests/ported_static/vmArithmeticTest/test_sdiv.py new file mode 100644 index 00000000000..e5487c50cbf --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_sdiv.py @@ -0,0 +1,682 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/sdivFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/sdivFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="sdiv_1_neg1", + ), + pytest.param( + 1, + 0, + 0, + id="sdiv_neg1_1", + ), + pytest.param( + 2, + 0, + 0, + id="sdiv_neg2_neg4", + ), + pytest.param( + 3, + 0, + 0, + id="sdiv_4_neg2", + ), + pytest.param( + 4, + 0, + 0, + id="sdiv_5_neg4", + ), + pytest.param( + 5, + 0, + 0, + id="sdiv_2pow255_neg1", + ), + pytest.param( + 6, + 0, + 0, + id="sdiv_2pow255_0", + ), + pytest.param( + 7, + 0, + 0, + id="sdiv_neg1_25", + ), + pytest.param( + 8, + 0, + 0, + id="sdiv_neg1_neg1", + ), + pytest.param( + 9, + 0, + 0, + id="sdiv_neg1_1_2nd", + ), + pytest.param( + 10, + 0, + 0, + id="sdiv_neg3_0", + ), + pytest.param( + 11, + 0, + 0, + id="sdiv_1_0", + ), + pytest.param( + 12, + 0, + 0, + id="sdiv_1_0_add1", + ), + pytest.param( + 13, + 0, + 0, + id="sdiv_neg9_5", + ), + pytest.param( + 14, + 0, + 0, + id="sdiv_2pow255_neg1_2nd", + ), + pytest.param( + 15, + 0, + 0, + id="sdiv_minint_neg1", + ), + pytest.param( + 16, + 0, + 0, + id="sdiv_neg1_minint", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_sdiv( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0x000000000000000000000000000000000000100A) + contract_11 = Address(0x000000000000000000000000000000000000100B) + contract_12 = Address(0x000000000000000000000000000000000000100C) + contract_13 = Address(0x000000000000000000000000000000000000100D) + contract_14 = Address(0x000000000000000000000000000000000000100E) + contract_15 = Address(0x000000000000000000000000000000000000100F) + contract_16 = Address(0x0000000000000000000000000000000000000110) + contract_17 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { ; (0 - (-1)) / (-1) = 1/(-1) = -1 + # ; + # ; -1 = 2^256-1 + # (def 'neg1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] (sdiv (- 0 neg1) neg1) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SDIV( + Op.SUB( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { ; (-1) / (0 - (-1)) = (-1)/1 = -1 + # ; + # ; -1 = 2^256-1 + # (def 'neg1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # + # [[0]] (sdiv neg1 (- 0 neg1)) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SDIV( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.SUB( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { ; (-2) / (-4) = 0 + # ; + # ; evm doesn't do fractions + # [[0]] (sdiv (- 0 2) (- 0 4)) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x2), Op.SUB(0x0, 0x4)) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { ; 4 / (-2) = -2 + # ; + # [[0]] (sdiv 4 (- 0 2)) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SDIV(0x4, Op.SUB(0x0, 0x2))) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { ; 5 / (-4) = -1 + # ; + # ; evm doesn't do fractions + # ; + # [[0]] (sdiv 5 (- 0 4)) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SDIV(0x5, Op.SUB(0x0, 0x4))) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { ; (-2^255) / (-1) = 2^255 + # ; Because 2^255 = -2^255 in evm arithmetic + # (def 'pow_2_255 0x8000000000000000000000000000000000000000000000000000000000000000) # noqa: E501 + # + # [[0]] (sdiv (- 0 pow_2_255) (- 0 1)) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SDIV( + Op.SUB( + 0x0, + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), + Op.SUB(0x0, 0x1), + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { ; (-2^255) / 0 = 0 + # ; anything / 0 = 0 in evm + # ; + # (def 'pow_2_255 0x8000000000000000000000000000000000000000000000000000000000000000) # noqa: E501 + # + # [[0]] (sdiv (- 0 pow_2_255) 0) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SDIV( + Op.SUB( + 0x0, + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), + 0x0, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { ; (-1)/25 = 0 (no fractions in evm) + # + # [[0]] (sdiv (- 0 1) 25) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x1), 0x19)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { ; (-1)/(-1) = 1 + # + # [[0]] (sdiv (- 0 1) (- 0 1)) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x1), Op.SUB(0x0, 0x1)) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { ; (-1)/1 = -1 + # + # [[0]] (sdiv (- 0 1) 1) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x1), 0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: lll + # { ; (-3)/0 = 0 + # ; x/0 = 0 in evm + # + # [[0]] (sdiv (- 0 3) (- 0 0)) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x3), Op.SUB(0x0, 0x0)) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100A), # noqa: E501 + ) + # Source: lll + # { ; (0-(-1))/0 = 0 + # ; + # ; -1 = 2^256-1 + # (def 'neg1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # + # [[0]] (sdiv (- 0 neg1) 0) + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SDIV( + Op.SUB( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + 0x0, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100B), # noqa: E501 + ) + # Source: lll + # { ; (0-(-1))/0 + 1 = 1 + # ; + # ; -1 = 2^256-1 + # (def 'neg1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # + # [[0]] (+ (sdiv (- 0 neg1) 0) 1) + # } + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ADD( + Op.SDIV( + Op.SUB( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + 0x0, + ), + 0x1, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100C), # noqa: E501 + ) + # Source: raw + # 0x600560096000030560005500 + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SDIV(Op.SUB(0x0, 0x9), 0x5)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100D), # noqa: E501 + ) + # Source: lll + # { + # ; A negative number sdiv -1 is the absolute value of that number + # (def 'pow2_255 0x8000000000000000000000000000000000000000000000000000000000000000) # noqa: E501 + # (def 'pow2_255_min1 (- pow2_255 1)) + # [[0]] (sdiv (- 0 pow2_255_min1) (- 0 1)) + # } + contract_14 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SDIV( + Op.SUB( + 0x0, + Op.SUB( + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + 0x1, + ), + ), + Op.SUB(0x0, 0x1), + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100E), # noqa: E501 + ) + # Source: lll + # { + # ; A negative number sdiv -1 is the absolute value of that number + # (def 'pow2_255 0x8000000000000000000000000000000000000000000000000000000000000000) # noqa: E501 + # [[0]] (sdiv (- 0 pow2_255) (- 0 1)) + # ; 2^255 = -2^255 in evm (modulo 2^256) + # } + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SDIV( + Op.SUB( + 0x0, + 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + ), + Op.SUB(0x0, 0x1), + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100F), # noqa: E501 + ) + # Source: lll + # { + # ; (- 0 maxint) is 0x80.....01, so -1 / -maxint is zero + # + # (def 'neg1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # (def 'maxint 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] (sdiv neg1 (- 0 maxint)) + # } + contract_16 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SDIV( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + Op.SUB( + 0x0, + 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000110), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_17 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [2, 6, 7, 10, 11, 16], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account(storage={0: 0}), + contract_6: Account(storage={0: 0}), + contract_7: Account(storage={0: 0}), + contract_10: Account(storage={0: 0}), + contract_11: Account(storage={0: 0}), + contract_16: Account(storage={0: 0}), + }, + }, + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_8: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_9: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [12], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_12: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [13], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_13: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [15], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_14: Account( + storage={ + 0: 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [14], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_15: Account( + storage={ + 0: 0x8000000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + Bytes("693c6139") + Hash(0x9), + Bytes("693c6139") + Hash(0xA), + Bytes("693c6139") + Hash(0xB), + Bytes("693c6139") + Hash(0xC), + Bytes("693c6139") + Hash(0xD), + Bytes("693c6139") + Hash(0xF), + Bytes("693c6139") + Hash(0xE), + Bytes("693c6139") + Hash(0x10), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_17, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_signextend.py b/tests/ported_static/vmArithmeticTest/test_signextend.py new file mode 100644 index 00000000000..d3563a3c42f --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_signextend.py @@ -0,0 +1,534 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/signextendFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/signextendFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="invalid_byte", + ), + pytest.param( + 1, + 0, + 0, + id="zero_zero", + ), + pytest.param( + 2, + 0, + 0, + id="zero_neg1", + ), + pytest.param( + 3, + 0, + 0, + id="neg2_neg2", + ), + pytest.param( + 4, + 0, + 0, + id="neg1_neg1", + ), + pytest.param( + 5, + 0, + 0, + id="large_ff", + ), + pytest.param( + 6, + 0, + 0, + id="neg1_zero", + ), + pytest.param( + 7, + 0, + 0, + id="bit_is_not_set", + ), + pytest.param( + 8, + 0, + 0, + id="bit_is_not_set_high", + ), + pytest.param( + 9, + 0, + 0, + id="bit_is_set_high", + ), + pytest.param( + 10, + 0, + 0, + id="overflow_bytenum", + ), + pytest.param( + 11, + 0, + 0, + id="overflow_bytenum2", + ), + pytest.param( + 12, + 0, + 0, + id="bit_is_set", + ), + pytest.param( + 13, + 0, + 0, + id="byte31_pos", + ), + pytest.param( + 14, + 0, + 0, + id="byte31_neg", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_signextend( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0x000000000000000000000000000000000000100A) + contract_11 = Address(0x000000000000000000000000000000000000100B) + contract_12 = Address(0x000000000000000000000000000000000000100C) + contract_13 = Address(0x000000000000000000000000000000000000100D) + contract_14 = Address(0x000000000000000000000000000000000000100E) + contract_15 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (signextend 80 0x126af4) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x50, 0x126AF4)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (signextend 0 0) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x0, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # ; -1 = 2^256-1 in EVM arithmetic + # [[0]] (signextend 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SIGNEXTEND( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # ; -2 = 2^256-2 in EVM arithmetic + # [[0]] (signextend + # 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe # noqa: E501 + # 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe # noqa: E501 + # ) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SIGNEXTEND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; -1 = 2^256-1 in EVM arithmetic + # [[0]] (signextend + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # ) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SIGNEXTEND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (signextend 0xf00000000000000001 0xff) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.SIGNEXTEND(0xF00000000000000001, 0xFF) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (signextend + # ; -1 a.k.a. 2^256-1 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # 0x00 + # ) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SIGNEXTEND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x0, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { ; Extend the sign of 0x6a, which is a positive 8 bit number + # [[0]] (signextend 0 0x122f6a) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x0, 0x122F6A)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { ; Extend the sign of 0x6af4, which is a positive 16 bit number + # [[0]] (signextend 1 0x126af4) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x1, 0x126AF4)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { ; The first two bytes are 0xfaf4, which is a negative 16 bit number + # ; (-1292). The sign is extended from the first two bytes to the entire + # ; value + # [[0]] (signextend 1 0x12faf4) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x1, 0x12FAF4)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (signextend 0x010000000000000001 0x8000) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.SIGNEXTEND(0x10000000000000001, 0x8000) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100A), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (signextend 0xf0000000000001 0xFFFF) + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0xF0000000000001, 0xFFFF)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100B), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (signextend 0 0x122ff4) + # } + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x0, 0x122FF4)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100C), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (signextend 31 1) + # } + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x1F, 0x1)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100D), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (signextend 31 (sub 0 1)) + # } + contract_14 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SIGNEXTEND(0x1F, Op.SUB(0x0, 0x1))) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100E), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [1, 6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account(storage={0: 0}), + contract_6: Account(storage={0: 0}), + }, + }, + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 0x126AF4})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 255})}, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_7: Account(storage={0: 106})}, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_8: Account(storage={0: 27380})}, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_9: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF4, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_10: Account(storage={0: 32768})}, + }, + { + "indexes": {"data": [11], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_11: Account(storage={0: 65535})}, + }, + { + "indexes": {"data": [12], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_12: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [13], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_13: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [14], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_14: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + Bytes("693c6139") + Hash(0x9), + Bytes("693c6139") + Hash(0xA), + Bytes("693c6139") + Hash(0xB), + Bytes("693c6139") + Hash(0xC), + Bytes("693c6139") + Hash(0xD), + Bytes("693c6139") + Hash(0xE), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_15, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_smod.py b/tests/ported_static/vmArithmeticTest/test_smod.py new file mode 100644 index 00000000000..071f1a290e1 --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_smod.py @@ -0,0 +1,279 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/smodFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/smodFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="smod_2_3", + ), + pytest.param( + 1, + 0, + 0, + id="smod_neg1_2", + ), + pytest.param( + 2, + 0, + 0, + id="smod_0_neg1", + ), + pytest.param( + 3, + 0, + 0, + id="smod_3_0", + ), + pytest.param( + 4, + 0, + 0, + id="smod_neg2_3", + ), + pytest.param( + 5, + 0, + 0, + id="smod_16_0", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_smod( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (smod 2 3) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SMOD(0x2, 0x3)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # ; -1 % 2 (2^256-1 = -1 in evm arithmetic) + # [[0]] (smod 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 2) # noqa: E501 + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SMOD( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x2, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # ; 0 % -1 + # [[0]] (smod 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SMOD( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (smod 3 0) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SMOD(0x3, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (smod (- 0 2) 3) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SMOD(Op.SUB(0x0, 0x2), 0x3)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # ; The original test was (3%0)-1, but since we're + # ; already checking 3%0 (contract 0...0103), I decided + # ; it would be better to check a different number + # [[0]] (- (smod 16 0) 1) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SUB(Op.SMOD(0x10, 0x0), 0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 2})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [2, 3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account(storage={0: 0}), + contract_3: Account(storage={0: 0}), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_6, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_sub.py b/tests/ported_static/vmArithmeticTest/test_sub.py new file mode 100644 index 00000000000..7f658b6ef98 --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_sub.py @@ -0,0 +1,257 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/subFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/subFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="sub_23_1", + ), + pytest.param( + 1, + 0, + 0, + id="sub_2_3", + ), + pytest.param( + 2, + 0, + 0, + id="sub_0_23", + ), + pytest.param( + 3, + 0, + 0, + id="sub_0_neg1", + ), + pytest.param( + 4, + 0, + 0, + id="sub_neg1_0", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_sub( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (- 23 1) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SUB(0x17, 0x1)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (- 2 3) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SUB(0x2, 0x3)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (- 0 23) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SUB(0x0, 0x17)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # ; 0 - (-1) + # [[0]] (- 0 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SUB( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; (-1) - 0 + # ; evm arithmetic is mod 2^256, and the big number is 2^256-1 + # [[0]] (- 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # 0) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SUB( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x0, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 22})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_5, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmArithmeticTest/test_two_ops.py b/tests/ported_static/vmArithmeticTest/test_two_ops.py new file mode 100644 index 00000000000..db7aeac6d17 --- /dev/null +++ b/tests/ported_static/vmArithmeticTest/test_two_ops.py @@ -0,0 +1,2821 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmArithmeticTest/twoOpsFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + StateTestFiller, + Transaction, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmArithmeticTest/twoOpsFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.pre_alloc_mutable +def test_two_ops( + state_test: StateTestFiller, + pre: Alloc, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0x40AC0FC28C27E961EE46EC43355A094DE205856EDBD4654CF2577C2608D4EC1E + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + # Source: lll + # { + # + # + # [[0x11000100010000]] (ADD (ADD 2 1) 3) + # [[0x11000100010001]] (ADD (ADD 2 1) 1) + # [[0x11000100020000]] (ADD (MUL 2 1) 3) + # [[0x11000100020001]] (ADD (MUL 2 1) 1) + # [[0x11000100030000]] (ADD (SUB 2 1) 3) + # [[0x11000100030001]] (ADD (SUB 2 1) 1) + # [[0x11000100040000]] (ADD (DIV 2 1) 3) + # [[0x11000100040001]] (ADD (DIV 2 1) 1) + # [[0x11000100050000]] (ADD (SDIV 2 1) 3) + # [[0x11000100050001]] (ADD (SDIV 2 1) 1) + # [[0x11000100060000]] (ADD (MOD 2 1) 3) + # [[0x11000100060001]] (ADD (MOD 2 1) 1) + # [[0x11000100070000]] (ADD (SMOD 2 1) 3) + # [[0x11000100070001]] (ADD (SMOD 2 1) 1) + # [[0x11000100080000]] (ADD (ADDMOD 2 1 3) 3) + # [[0x11000100080001]] (ADD (ADDMOD 2 1 3) 1) + # [[0x11000100090000]] (ADD (MULMOD 2 1 3) 3) + # [[0x11000100090001]] (ADD (MULMOD 2 1 3) 1) + # [[0x110001000a0000]] (ADD (EXP 2 1) 3) + # [[0x110001000a0001]] (ADD (EXP 2 1) 1) + # [[0x11000100100000]] (ADD (LT 2 1) 3) + # [[0x11000100100001]] (ADD (LT 2 1) 1) + # [[0x11000100110000]] (ADD (GT 2 1) 3) + # [[0x11000100110001]] (ADD (GT 2 1) 1) + # [[0x11000100120000]] (ADD (SLT 2 1) 3) + # [[0x11000100120001]] (ADD (SLT 2 1) 1) + # [[0x11000100130000]] (ADD (SGT 2 1) 3) + # ... (1127 more lines) + target = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x11000100010000, value=Op.ADD(Op.ADD(0x2, 0x1), 0x3) + ) + + Op.SSTORE(key=0x11000100010001, value=Op.ADD(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100020000, value=Op.ADD(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100020001, value=Op.ADD(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100030000, value=Op.ADD(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100030001, value=Op.ADD(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100040000, value=Op.ADD(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100040001, value=Op.ADD(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100050000, value=Op.ADD(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100050001, value=Op.ADD(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100060000, value=Op.ADD(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100060001, value=Op.ADD(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100070000, value=Op.ADD(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100070001, value=Op.ADD(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11000100080000, value=Op.ADD(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000100080001, value=Op.ADD(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11000100090000, value=Op.ADD(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000100090001, value=Op.ADD(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110001000A0000, value=Op.ADD(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110001000A0001, value=Op.ADD(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100100000, value=Op.ADD(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100100001, value=Op.ADD(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100110000, value=Op.ADD(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100110001, value=Op.ADD(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100120000, value=Op.ADD(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100120001, value=Op.ADD(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100130000, value=Op.ADD(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100130001, value=Op.ADD(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100140000, value=Op.ADD(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100140001, value=Op.ADD(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100150000, value=Op.ADD(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11000100150001, value=Op.ADD(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11000100160000, value=Op.ADD(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100160001, value=Op.ADD(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100170000, value=Op.ADD(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100170001, value=Op.ADD(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100180000, value=Op.ADD(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000100180001, value=Op.ADD(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000100190000, value=Op.ADD(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11000100190001, value=Op.ADD(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110001001A0000, value=Op.ADD(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110001001A0001, value=Op.ADD(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110001001B0000, value=Op.ADD(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110001001B0001, value=Op.ADD(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110001001C0000, value=Op.ADD(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110001001C0001, value=Op.ADD(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110001001D0000, value=Op.ADD(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110001001D0001, value=Op.ADD(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200010000, value=Op.MUL(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200010001, value=Op.MUL(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200020000, value=Op.MUL(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200020001, value=Op.MUL(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200030000, value=Op.MUL(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200030001, value=Op.MUL(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200040000, value=Op.MUL(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200040001, value=Op.MUL(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200050000, value=Op.MUL(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200050001, value=Op.MUL(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200060000, value=Op.MUL(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200060001, value=Op.MUL(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200070000, value=Op.MUL(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200070001, value=Op.MUL(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11000200080000, value=Op.MUL(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000200080001, value=Op.MUL(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11000200090000, value=Op.MUL(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000200090001, value=Op.MUL(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110002000A0000, value=Op.MUL(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110002000A0001, value=Op.MUL(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200100000, value=Op.MUL(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200100001, value=Op.MUL(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200110000, value=Op.MUL(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200110001, value=Op.MUL(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200120000, value=Op.MUL(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200120001, value=Op.MUL(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200130000, value=Op.MUL(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200130001, value=Op.MUL(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200140000, value=Op.MUL(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200140001, value=Op.MUL(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200150000, value=Op.MUL(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11000200150001, value=Op.MUL(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11000200160000, value=Op.MUL(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200160001, value=Op.MUL(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200170000, value=Op.MUL(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200170001, value=Op.MUL(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200180000, value=Op.MUL(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000200180001, value=Op.MUL(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000200190000, value=Op.MUL(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11000200190001, value=Op.MUL(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110002001A0000, value=Op.MUL(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110002001A0001, value=Op.MUL(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110002001B0000, value=Op.MUL(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110002001B0001, value=Op.MUL(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110002001C0000, value=Op.MUL(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110002001C0001, value=Op.MUL(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110002001D0000, value=Op.MUL(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110002001D0001, value=Op.MUL(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300010000, value=Op.SUB(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300010001, value=Op.SUB(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300020000, value=Op.SUB(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300020001, value=Op.SUB(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300030000, value=Op.SUB(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300030001, value=Op.SUB(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300040000, value=Op.SUB(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300040001, value=Op.SUB(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300050000, value=Op.SUB(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300050001, value=Op.SUB(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300060000, value=Op.SUB(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300060001, value=Op.SUB(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300070000, value=Op.SUB(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300070001, value=Op.SUB(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11000300080000, value=Op.SUB(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000300080001, value=Op.SUB(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11000300090000, value=Op.SUB(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000300090001, value=Op.SUB(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110003000A0000, value=Op.SUB(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110003000A0001, value=Op.SUB(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300100000, value=Op.SUB(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300100001, value=Op.SUB(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300110000, value=Op.SUB(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300110001, value=Op.SUB(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300120000, value=Op.SUB(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300120001, value=Op.SUB(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300130000, value=Op.SUB(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300130001, value=Op.SUB(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300140000, value=Op.SUB(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300140001, value=Op.SUB(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300150000, value=Op.SUB(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11000300150001, value=Op.SUB(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11000300160000, value=Op.SUB(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300160001, value=Op.SUB(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300170000, value=Op.SUB(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300170001, value=Op.SUB(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300180000, value=Op.SUB(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000300180001, value=Op.SUB(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000300190000, value=Op.SUB(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11000300190001, value=Op.SUB(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110003001A0000, value=Op.SUB(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110003001A0001, value=Op.SUB(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110003001B0000, value=Op.SUB(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110003001B0001, value=Op.SUB(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110003001C0000, value=Op.SUB(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110003001C0001, value=Op.SUB(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110003001D0000, value=Op.SUB(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110003001D0001, value=Op.SUB(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400010000, value=Op.DIV(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400010001, value=Op.DIV(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400020000, value=Op.DIV(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400020001, value=Op.DIV(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400030000, value=Op.DIV(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400030001, value=Op.DIV(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400040000, value=Op.DIV(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400040001, value=Op.DIV(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400050000, value=Op.DIV(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400050001, value=Op.DIV(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400060000, value=Op.DIV(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400060001, value=Op.DIV(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400070000, value=Op.DIV(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400070001, value=Op.DIV(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11000400080000, value=Op.DIV(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000400080001, value=Op.DIV(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11000400090000, value=Op.DIV(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000400090001, value=Op.DIV(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110004000A0000, value=Op.DIV(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110004000A0001, value=Op.DIV(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400100000, value=Op.DIV(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400100001, value=Op.DIV(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400110000, value=Op.DIV(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400110001, value=Op.DIV(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400120000, value=Op.DIV(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400120001, value=Op.DIV(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400130000, value=Op.DIV(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400130001, value=Op.DIV(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400140000, value=Op.DIV(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400140001, value=Op.DIV(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400150000, value=Op.DIV(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11000400150001, value=Op.DIV(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11000400160000, value=Op.DIV(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400160001, value=Op.DIV(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400170000, value=Op.DIV(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400170001, value=Op.DIV(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400180000, value=Op.DIV(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000400180001, value=Op.DIV(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000400190000, value=Op.DIV(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11000400190001, value=Op.DIV(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110004001A0000, value=Op.DIV(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110004001A0001, value=Op.DIV(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110004001B0000, value=Op.DIV(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110004001B0001, value=Op.DIV(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110004001C0000, value=Op.DIV(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110004001C0001, value=Op.DIV(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110004001D0000, value=Op.DIV(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110004001D0001, value=Op.DIV(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500010000, value=Op.SDIV(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500010001, value=Op.SDIV(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500020000, value=Op.SDIV(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500020001, value=Op.SDIV(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500030000, value=Op.SDIV(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500030001, value=Op.SDIV(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500040000, value=Op.SDIV(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500040001, value=Op.SDIV(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11000500050000, value=Op.SDIV(Op.SDIV(0x2, 0x1), 0x3) + ) + + Op.SSTORE( + key=0x11000500050001, value=Op.SDIV(Op.SDIV(0x2, 0x1), 0x1) + ) + + Op.SSTORE(key=0x11000500060000, value=Op.SDIV(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500060001, value=Op.SDIV(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11000500070000, value=Op.SDIV(Op.SMOD(0x2, 0x1), 0x3) + ) + + Op.SSTORE( + key=0x11000500070001, value=Op.SDIV(Op.SMOD(0x2, 0x1), 0x1) + ) + + Op.SSTORE( + key=0x11000500080000, value=Op.SDIV(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000500080001, value=Op.SDIV(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11000500090000, value=Op.SDIV(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000500090001, value=Op.SDIV(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110005000A0000, value=Op.SDIV(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110005000A0001, value=Op.SDIV(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500100000, value=Op.SDIV(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500100001, value=Op.SDIV(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500110000, value=Op.SDIV(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500110001, value=Op.SDIV(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500120000, value=Op.SDIV(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500120001, value=Op.SDIV(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500130000, value=Op.SDIV(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500130001, value=Op.SDIV(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500140000, value=Op.SDIV(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500140001, value=Op.SDIV(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500150000, value=Op.SDIV(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11000500150001, value=Op.SDIV(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11000500160000, value=Op.SDIV(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500160001, value=Op.SDIV(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500170000, value=Op.SDIV(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500170001, value=Op.SDIV(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500180000, value=Op.SDIV(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000500180001, value=Op.SDIV(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000500190000, value=Op.SDIV(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11000500190001, value=Op.SDIV(Op.NOT(0x2), 0x1)) + + Op.SSTORE( + key=0x110005001A0000, value=Op.SDIV(Op.BYTE(0x2, 0x1), 0x3) + ) + + Op.SSTORE( + key=0x110005001A0001, value=Op.SDIV(Op.BYTE(0x2, 0x1), 0x1) + ) + + Op.SSTORE(key=0x110005001B0000, value=Op.SDIV(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110005001B0001, value=Op.SDIV(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110005001C0000, value=Op.SDIV(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110005001C0001, value=Op.SDIV(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110005001D0000, value=Op.SDIV(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110005001D0001, value=Op.SDIV(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600010000, value=Op.MOD(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600010001, value=Op.MOD(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600020000, value=Op.MOD(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600020001, value=Op.MOD(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600030000, value=Op.MOD(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600030001, value=Op.MOD(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600040000, value=Op.MOD(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600040001, value=Op.MOD(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600050000, value=Op.MOD(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600050001, value=Op.MOD(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600060000, value=Op.MOD(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600060001, value=Op.MOD(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600070000, value=Op.MOD(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600070001, value=Op.MOD(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11000600080000, value=Op.MOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000600080001, value=Op.MOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11000600090000, value=Op.MOD(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000600090001, value=Op.MOD(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110006000A0000, value=Op.MOD(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110006000A0001, value=Op.MOD(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600100000, value=Op.MOD(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600100001, value=Op.MOD(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600110000, value=Op.MOD(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600110001, value=Op.MOD(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600120000, value=Op.MOD(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600120001, value=Op.MOD(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600130000, value=Op.MOD(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600130001, value=Op.MOD(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600140000, value=Op.MOD(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600140001, value=Op.MOD(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600150000, value=Op.MOD(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11000600150001, value=Op.MOD(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11000600160000, value=Op.MOD(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600160001, value=Op.MOD(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600170000, value=Op.MOD(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600170001, value=Op.MOD(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600180000, value=Op.MOD(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000600180001, value=Op.MOD(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000600190000, value=Op.MOD(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11000600190001, value=Op.MOD(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110006001A0000, value=Op.MOD(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110006001A0001, value=Op.MOD(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110006001B0000, value=Op.MOD(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110006001B0001, value=Op.MOD(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110006001C0000, value=Op.MOD(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110006001C0001, value=Op.MOD(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110006001D0000, value=Op.MOD(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110006001D0001, value=Op.MOD(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700010000, value=Op.SMOD(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700010001, value=Op.SMOD(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700020000, value=Op.SMOD(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700020001, value=Op.SMOD(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700030000, value=Op.SMOD(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700030001, value=Op.SMOD(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700040000, value=Op.SMOD(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700040001, value=Op.SMOD(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11000700050000, value=Op.SMOD(Op.SDIV(0x2, 0x1), 0x3) + ) + + Op.SSTORE( + key=0x11000700050001, value=Op.SMOD(Op.SDIV(0x2, 0x1), 0x1) + ) + + Op.SSTORE(key=0x11000700060000, value=Op.SMOD(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700060001, value=Op.SMOD(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11000700070000, value=Op.SMOD(Op.SMOD(0x2, 0x1), 0x3) + ) + + Op.SSTORE( + key=0x11000700070001, value=Op.SMOD(Op.SMOD(0x2, 0x1), 0x1) + ) + + Op.SSTORE( + key=0x11000700080000, value=Op.SMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000700080001, value=Op.SMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11000700090000, value=Op.SMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000700090001, value=Op.SMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110007000A0000, value=Op.SMOD(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110007000A0001, value=Op.SMOD(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700100000, value=Op.SMOD(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700100001, value=Op.SMOD(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700110000, value=Op.SMOD(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700110001, value=Op.SMOD(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700120000, value=Op.SMOD(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700120001, value=Op.SMOD(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700130000, value=Op.SMOD(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700130001, value=Op.SMOD(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700140000, value=Op.SMOD(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700140001, value=Op.SMOD(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700150000, value=Op.SMOD(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11000700150001, value=Op.SMOD(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11000700160000, value=Op.SMOD(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700160001, value=Op.SMOD(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700170000, value=Op.SMOD(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700170001, value=Op.SMOD(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700180000, value=Op.SMOD(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000700180001, value=Op.SMOD(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000700190000, value=Op.SMOD(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11000700190001, value=Op.SMOD(Op.NOT(0x2), 0x1)) + + Op.SSTORE( + key=0x110007001A0000, value=Op.SMOD(Op.BYTE(0x2, 0x1), 0x3) + ) + + Op.SSTORE( + key=0x110007001A0001, value=Op.SMOD(Op.BYTE(0x2, 0x1), 0x1) + ) + + Op.SSTORE(key=0x110007001B0000, value=Op.SMOD(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110007001B0001, value=Op.SMOD(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110007001C0000, value=Op.SMOD(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110007001C0001, value=Op.SMOD(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110007001D0000, value=Op.SMOD(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110007001D0001, value=Op.SMOD(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11000800010000, value=Op.ADDMOD(Op.ADD(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800010001, value=Op.ADDMOD(Op.ADD(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800020000, value=Op.ADDMOD(Op.MUL(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800020001, value=Op.ADDMOD(Op.MUL(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800030000, value=Op.ADDMOD(Op.SUB(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800030001, value=Op.ADDMOD(Op.SUB(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800040000, value=Op.ADDMOD(Op.DIV(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800040001, value=Op.ADDMOD(Op.DIV(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800050000, value=Op.ADDMOD(Op.SDIV(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800050001, value=Op.ADDMOD(Op.SDIV(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800060000, value=Op.ADDMOD(Op.MOD(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800060001, value=Op.ADDMOD(Op.MOD(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800070000, value=Op.ADDMOD(Op.SMOD(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800070001, value=Op.ADDMOD(Op.SMOD(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800080000, + value=Op.ADDMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x3, 0x2), + ) + + Op.SSTORE( + key=0x11000800080001, + value=Op.ADDMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x1, 0x2), + ) + + Op.SSTORE( + key=0x11000800090000, + value=Op.ADDMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x3, 0x2), + ) + + Op.SSTORE( + key=0x11000800090001, + value=Op.ADDMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x1, 0x2), + ) + + Op.SSTORE( + key=0x110008000A0000, value=Op.ADDMOD(Op.EXP(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x110008000A0001, value=Op.ADDMOD(Op.EXP(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800100000, value=Op.ADDMOD(Op.LT(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800100001, value=Op.ADDMOD(Op.LT(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800110000, value=Op.ADDMOD(Op.GT(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800110001, value=Op.ADDMOD(Op.GT(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800120000, value=Op.ADDMOD(Op.SLT(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800120001, value=Op.ADDMOD(Op.SLT(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800130000, value=Op.ADDMOD(Op.SGT(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800130001, value=Op.ADDMOD(Op.SGT(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800140000, value=Op.ADDMOD(Op.EQ(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800140001, value=Op.ADDMOD(Op.EQ(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800150000, value=Op.ADDMOD(Op.ISZERO(0x2), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800150001, value=Op.ADDMOD(Op.ISZERO(0x2), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800160000, value=Op.ADDMOD(Op.AND(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800160001, value=Op.ADDMOD(Op.AND(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800170000, value=Op.ADDMOD(Op.OR(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800170001, value=Op.ADDMOD(Op.OR(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800180000, value=Op.ADDMOD(Op.XOR(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800180001, value=Op.ADDMOD(Op.XOR(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000800190000, value=Op.ADDMOD(Op.NOT(0x2), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000800190001, value=Op.ADDMOD(Op.NOT(0x2), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x110008001A0000, value=Op.ADDMOD(Op.BYTE(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x110008001A0001, value=Op.ADDMOD(Op.BYTE(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x110008001B0000, value=Op.ADDMOD(Op.SHL(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x110008001B0001, value=Op.ADDMOD(Op.SHL(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x110008001C0000, value=Op.ADDMOD(Op.SHR(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x110008001C0001, value=Op.ADDMOD(Op.SHR(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x110008001D0000, value=Op.ADDMOD(Op.SAR(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x110008001D0001, value=Op.ADDMOD(Op.SAR(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900010000, value=Op.MULMOD(Op.ADD(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900010001, value=Op.MULMOD(Op.ADD(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900020000, value=Op.MULMOD(Op.MUL(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900020001, value=Op.MULMOD(Op.MUL(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900030000, value=Op.MULMOD(Op.SUB(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900030001, value=Op.MULMOD(Op.SUB(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900040000, value=Op.MULMOD(Op.DIV(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900040001, value=Op.MULMOD(Op.DIV(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900050000, value=Op.MULMOD(Op.SDIV(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900050001, value=Op.MULMOD(Op.SDIV(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900060000, value=Op.MULMOD(Op.MOD(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900060001, value=Op.MULMOD(Op.MOD(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900070000, value=Op.MULMOD(Op.SMOD(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900070001, value=Op.MULMOD(Op.SMOD(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900080000, + value=Op.MULMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x3, 0x2), + ) + + Op.SSTORE( + key=0x11000900080001, + value=Op.MULMOD(Op.ADDMOD(0x2, 0x1, 0x3), 0x1, 0x2), + ) + + Op.SSTORE( + key=0x11000900090000, + value=Op.MULMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x3, 0x2), + ) + + Op.SSTORE( + key=0x11000900090001, + value=Op.MULMOD(Op.MULMOD(0x2, 0x1, 0x3), 0x1, 0x2), + ) + + Op.SSTORE( + key=0x110009000A0000, value=Op.MULMOD(Op.EXP(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x110009000A0001, value=Op.MULMOD(Op.EXP(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900100000, value=Op.MULMOD(Op.LT(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900100001, value=Op.MULMOD(Op.LT(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900110000, value=Op.MULMOD(Op.GT(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900110001, value=Op.MULMOD(Op.GT(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900120000, value=Op.MULMOD(Op.SLT(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900120001, value=Op.MULMOD(Op.SLT(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900130000, value=Op.MULMOD(Op.SGT(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900130001, value=Op.MULMOD(Op.SGT(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900140000, value=Op.MULMOD(Op.EQ(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900140001, value=Op.MULMOD(Op.EQ(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900150000, value=Op.MULMOD(Op.ISZERO(0x2), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900150001, value=Op.MULMOD(Op.ISZERO(0x2), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900160000, value=Op.MULMOD(Op.AND(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900160001, value=Op.MULMOD(Op.AND(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900170000, value=Op.MULMOD(Op.OR(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900170001, value=Op.MULMOD(Op.OR(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900180000, value=Op.MULMOD(Op.XOR(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900180001, value=Op.MULMOD(Op.XOR(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x11000900190000, value=Op.MULMOD(Op.NOT(0x2), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x11000900190001, value=Op.MULMOD(Op.NOT(0x2), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x110009001A0000, value=Op.MULMOD(Op.BYTE(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x110009001A0001, value=Op.MULMOD(Op.BYTE(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x110009001B0000, value=Op.MULMOD(Op.SHL(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x110009001B0001, value=Op.MULMOD(Op.SHL(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x110009001C0000, value=Op.MULMOD(Op.SHR(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x110009001C0001, value=Op.MULMOD(Op.SHR(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE( + key=0x110009001D0000, value=Op.MULMOD(Op.SAR(0x2, 0x1), 0x3, 0x2) + ) + + Op.SSTORE( + key=0x110009001D0001, value=Op.MULMOD(Op.SAR(0x2, 0x1), 0x1, 0x2) + ) + + Op.SSTORE(key=0x11000A00010000, value=Op.EXP(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00010001, value=Op.EXP(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00020000, value=Op.EXP(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00020001, value=Op.EXP(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00030000, value=Op.EXP(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00030001, value=Op.EXP(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00040000, value=Op.EXP(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00040001, value=Op.EXP(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00050000, value=Op.EXP(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00050001, value=Op.EXP(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00060000, value=Op.EXP(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00060001, value=Op.EXP(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00070000, value=Op.EXP(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00070001, value=Op.EXP(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11000A00080000, value=Op.EXP(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000A00080001, value=Op.EXP(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11000A00090000, value=Op.EXP(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11000A00090001, value=Op.EXP(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x11000A000A0000, value=Op.EXP(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A000A0001, value=Op.EXP(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00100000, value=Op.EXP(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00100001, value=Op.EXP(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00110000, value=Op.EXP(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00110001, value=Op.EXP(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00120000, value=Op.EXP(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00120001, value=Op.EXP(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00130000, value=Op.EXP(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00130001, value=Op.EXP(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00140000, value=Op.EXP(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00140001, value=Op.EXP(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00150000, value=Op.EXP(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11000A00150001, value=Op.EXP(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11000A00160000, value=Op.EXP(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00160001, value=Op.EXP(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00170000, value=Op.EXP(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00170001, value=Op.EXP(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00180000, value=Op.EXP(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A00180001, value=Op.EXP(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A00190000, value=Op.EXP(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11000A00190001, value=Op.EXP(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x11000A001A0000, value=Op.EXP(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A001A0001, value=Op.EXP(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A001B0000, value=Op.EXP(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A001B0001, value=Op.EXP(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A001C0000, value=Op.EXP(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A001C0001, value=Op.EXP(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11000A001D0000, value=Op.EXP(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11000A001D0001, value=Op.EXP(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000010000, value=Op.LT(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000010001, value=Op.LT(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000020000, value=Op.LT(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000020001, value=Op.LT(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000030000, value=Op.LT(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000030001, value=Op.LT(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000040000, value=Op.LT(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000040001, value=Op.LT(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000050000, value=Op.LT(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000050001, value=Op.LT(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000060000, value=Op.LT(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000060001, value=Op.LT(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000070000, value=Op.LT(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000070001, value=Op.LT(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001000080000, value=Op.LT(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001000080001, value=Op.LT(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001000090000, value=Op.LT(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001000090001, value=Op.LT(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110010000A0000, value=Op.LT(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110010000A0001, value=Op.LT(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000100000, value=Op.LT(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000100001, value=Op.LT(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000110000, value=Op.LT(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000110001, value=Op.LT(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000120000, value=Op.LT(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000120001, value=Op.LT(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000130000, value=Op.LT(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000130001, value=Op.LT(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000140000, value=Op.LT(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000140001, value=Op.LT(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000150000, value=Op.LT(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001000150001, value=Op.LT(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001000160000, value=Op.LT(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000160001, value=Op.LT(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000170000, value=Op.LT(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000170001, value=Op.LT(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000180000, value=Op.LT(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001000180001, value=Op.LT(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001000190000, value=Op.LT(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001000190001, value=Op.LT(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110010001A0000, value=Op.LT(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110010001A0001, value=Op.LT(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110010001B0000, value=Op.LT(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110010001B0001, value=Op.LT(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110010001C0000, value=Op.LT(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110010001C0001, value=Op.LT(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110010001D0000, value=Op.LT(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110010001D0001, value=Op.LT(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100010000, value=Op.GT(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100010001, value=Op.GT(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100020000, value=Op.GT(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100020001, value=Op.GT(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100030000, value=Op.GT(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100030001, value=Op.GT(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100040000, value=Op.GT(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100040001, value=Op.GT(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100050000, value=Op.GT(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100050001, value=Op.GT(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100060000, value=Op.GT(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100060001, value=Op.GT(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100070000, value=Op.GT(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100070001, value=Op.GT(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001100080000, value=Op.GT(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001100080001, value=Op.GT(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001100090000, value=Op.GT(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001100090001, value=Op.GT(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110011000A0000, value=Op.GT(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110011000A0001, value=Op.GT(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100100000, value=Op.GT(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100100001, value=Op.GT(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100110000, value=Op.GT(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100110001, value=Op.GT(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100120000, value=Op.GT(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100120001, value=Op.GT(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100130000, value=Op.GT(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100130001, value=Op.GT(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100140000, value=Op.GT(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100140001, value=Op.GT(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100150000, value=Op.GT(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001100150001, value=Op.GT(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001100160000, value=Op.GT(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100160001, value=Op.GT(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100170000, value=Op.GT(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100170001, value=Op.GT(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100180000, value=Op.GT(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001100180001, value=Op.GT(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001100190000, value=Op.GT(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001100190001, value=Op.GT(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110011001A0000, value=Op.GT(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110011001A0001, value=Op.GT(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110011001B0000, value=Op.GT(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110011001B0001, value=Op.GT(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110011001C0000, value=Op.GT(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110011001C0001, value=Op.GT(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110011001D0000, value=Op.GT(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110011001D0001, value=Op.GT(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200010000, value=Op.SLT(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200010001, value=Op.SLT(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200020000, value=Op.SLT(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200020001, value=Op.SLT(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200030000, value=Op.SLT(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200030001, value=Op.SLT(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200040000, value=Op.SLT(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200040001, value=Op.SLT(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200050000, value=Op.SLT(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200050001, value=Op.SLT(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200060000, value=Op.SLT(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200060001, value=Op.SLT(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200070000, value=Op.SLT(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200070001, value=Op.SLT(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001200080000, value=Op.SLT(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001200080001, value=Op.SLT(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001200090000, value=Op.SLT(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001200090001, value=Op.SLT(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110012000A0000, value=Op.SLT(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110012000A0001, value=Op.SLT(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200100000, value=Op.SLT(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200100001, value=Op.SLT(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200110000, value=Op.SLT(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200110001, value=Op.SLT(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200120000, value=Op.SLT(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200120001, value=Op.SLT(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200130000, value=Op.SLT(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200130001, value=Op.SLT(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200140000, value=Op.SLT(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200140001, value=Op.SLT(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200150000, value=Op.SLT(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001200150001, value=Op.SLT(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001200160000, value=Op.SLT(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200160001, value=Op.SLT(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200170000, value=Op.SLT(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200170001, value=Op.SLT(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200180000, value=Op.SLT(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001200180001, value=Op.SLT(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001200190000, value=Op.SLT(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001200190001, value=Op.SLT(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110012001A0000, value=Op.SLT(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110012001A0001, value=Op.SLT(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110012001B0000, value=Op.SLT(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110012001B0001, value=Op.SLT(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110012001C0000, value=Op.SLT(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110012001C0001, value=Op.SLT(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110012001D0000, value=Op.SLT(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110012001D0001, value=Op.SLT(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300010000, value=Op.SGT(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300010001, value=Op.SGT(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300020000, value=Op.SGT(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300020001, value=Op.SGT(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300030000, value=Op.SGT(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300030001, value=Op.SGT(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300040000, value=Op.SGT(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300040001, value=Op.SGT(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300050000, value=Op.SGT(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300050001, value=Op.SGT(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300060000, value=Op.SGT(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300060001, value=Op.SGT(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300070000, value=Op.SGT(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300070001, value=Op.SGT(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001300080000, value=Op.SGT(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001300080001, value=Op.SGT(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001300090000, value=Op.SGT(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001300090001, value=Op.SGT(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110013000A0000, value=Op.SGT(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110013000A0001, value=Op.SGT(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300100000, value=Op.SGT(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300100001, value=Op.SGT(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300110000, value=Op.SGT(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300110001, value=Op.SGT(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300120000, value=Op.SGT(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300120001, value=Op.SGT(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300130000, value=Op.SGT(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300130001, value=Op.SGT(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300140000, value=Op.SGT(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300140001, value=Op.SGT(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300150000, value=Op.SGT(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001300150001, value=Op.SGT(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001300160000, value=Op.SGT(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300160001, value=Op.SGT(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300170000, value=Op.SGT(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300170001, value=Op.SGT(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300180000, value=Op.SGT(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001300180001, value=Op.SGT(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001300190000, value=Op.SGT(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001300190001, value=Op.SGT(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110013001A0000, value=Op.SGT(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110013001A0001, value=Op.SGT(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110013001B0000, value=Op.SGT(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110013001B0001, value=Op.SGT(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110013001C0000, value=Op.SGT(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110013001C0001, value=Op.SGT(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110013001D0000, value=Op.SGT(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110013001D0001, value=Op.SGT(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400010000, value=Op.EQ(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400010001, value=Op.EQ(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400020000, value=Op.EQ(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400020001, value=Op.EQ(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400030000, value=Op.EQ(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400030001, value=Op.EQ(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400040000, value=Op.EQ(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400040001, value=Op.EQ(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400050000, value=Op.EQ(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400050001, value=Op.EQ(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400060000, value=Op.EQ(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400060001, value=Op.EQ(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400070000, value=Op.EQ(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400070001, value=Op.EQ(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001400080000, value=Op.EQ(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001400080001, value=Op.EQ(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001400090000, value=Op.EQ(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001400090001, value=Op.EQ(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110014000A0000, value=Op.EQ(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110014000A0001, value=Op.EQ(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400100000, value=Op.EQ(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400100001, value=Op.EQ(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400110000, value=Op.EQ(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400110001, value=Op.EQ(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400120000, value=Op.EQ(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400120001, value=Op.EQ(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400130000, value=Op.EQ(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400130001, value=Op.EQ(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400140000, value=Op.EQ(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400140001, value=Op.EQ(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400150000, value=Op.EQ(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001400150001, value=Op.EQ(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001400160000, value=Op.EQ(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400160001, value=Op.EQ(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400170000, value=Op.EQ(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400170001, value=Op.EQ(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400180000, value=Op.EQ(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001400180001, value=Op.EQ(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001400190000, value=Op.EQ(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001400190001, value=Op.EQ(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110014001A0000, value=Op.EQ(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110014001A0001, value=Op.EQ(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110014001B0000, value=Op.EQ(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110014001B0001, value=Op.EQ(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110014001C0000, value=Op.EQ(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110014001C0001, value=Op.EQ(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110014001D0000, value=Op.EQ(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110014001D0001, value=Op.EQ(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001500010000, value=Op.ISZERO(Op.ADD(0x2, 0x1))) + + Op.SSTORE(key=0x11001500010001, value=Op.ISZERO(Op.ADD(0x2, 0x1))) + + Op.SSTORE(key=0x11001500020000, value=Op.ISZERO(Op.MUL(0x2, 0x1))) + + Op.SSTORE(key=0x11001500020001, value=Op.ISZERO(Op.MUL(0x2, 0x1))) + + Op.SSTORE(key=0x11001500030000, value=Op.ISZERO(Op.SUB(0x2, 0x1))) + + Op.SSTORE(key=0x11001500030001, value=Op.ISZERO(Op.SUB(0x2, 0x1))) + + Op.SSTORE(key=0x11001500040000, value=Op.ISZERO(Op.DIV(0x2, 0x1))) + + Op.SSTORE(key=0x11001500040001, value=Op.ISZERO(Op.DIV(0x2, 0x1))) + + Op.SSTORE(key=0x11001500050000, value=Op.ISZERO(Op.SDIV(0x2, 0x1))) + + Op.SSTORE(key=0x11001500050001, value=Op.ISZERO(Op.SDIV(0x2, 0x1))) + + Op.SSTORE(key=0x11001500060000, value=Op.ISZERO(Op.MOD(0x2, 0x1))) + + Op.SSTORE(key=0x11001500060001, value=Op.ISZERO(Op.MOD(0x2, 0x1))) + + Op.SSTORE(key=0x11001500070000, value=Op.ISZERO(Op.SMOD(0x2, 0x1))) + + Op.SSTORE(key=0x11001500070001, value=Op.ISZERO(Op.SMOD(0x2, 0x1))) + + Op.SSTORE( + key=0x11001500080000, value=Op.ISZERO(Op.ADDMOD(0x2, 0x1, 0x3)) + ) + + Op.SSTORE( + key=0x11001500080001, value=Op.ISZERO(Op.ADDMOD(0x2, 0x1, 0x3)) + ) + + Op.SSTORE( + key=0x11001500090000, value=Op.ISZERO(Op.MULMOD(0x2, 0x1, 0x3)) + ) + + Op.SSTORE( + key=0x11001500090001, value=Op.ISZERO(Op.MULMOD(0x2, 0x1, 0x3)) + ) + + Op.SSTORE(key=0x110015000A0000, value=Op.ISZERO(Op.EXP(0x2, 0x1))) + + Op.SSTORE(key=0x110015000A0001, value=Op.ISZERO(Op.EXP(0x2, 0x1))) + + Op.SSTORE(key=0x11001500100000, value=Op.ISZERO(Op.LT(0x2, 0x1))) + + Op.SSTORE(key=0x11001500100001, value=Op.ISZERO(Op.LT(0x2, 0x1))) + + Op.SSTORE(key=0x11001500110000, value=Op.ISZERO(Op.GT(0x2, 0x1))) + + Op.SSTORE(key=0x11001500110001, value=Op.ISZERO(Op.GT(0x2, 0x1))) + + Op.SSTORE(key=0x11001500120000, value=Op.ISZERO(Op.SLT(0x2, 0x1))) + + Op.SSTORE(key=0x11001500120001, value=Op.ISZERO(Op.SLT(0x2, 0x1))) + + Op.SSTORE(key=0x11001500130000, value=Op.ISZERO(Op.SGT(0x2, 0x1))) + + Op.SSTORE(key=0x11001500130001, value=Op.ISZERO(Op.SGT(0x2, 0x1))) + + Op.SSTORE(key=0x11001500140000, value=Op.ISZERO(Op.EQ(0x2, 0x1))) + + Op.SSTORE(key=0x11001500140001, value=Op.ISZERO(Op.EQ(0x2, 0x1))) + + Op.SSTORE(key=0x11001500150000, value=Op.ISZERO(Op.ISZERO(0x2))) + + Op.SSTORE(key=0x11001500150001, value=Op.ISZERO(Op.ISZERO(0x2))) + + Op.SSTORE(key=0x11001500160000, value=Op.ISZERO(Op.AND(0x2, 0x1))) + + Op.SSTORE(key=0x11001500160001, value=Op.ISZERO(Op.AND(0x2, 0x1))) + + Op.SSTORE(key=0x11001500170000, value=Op.ISZERO(Op.OR(0x2, 0x1))) + + Op.SSTORE(key=0x11001500170001, value=Op.ISZERO(Op.OR(0x2, 0x1))) + + Op.SSTORE(key=0x11001500180000, value=Op.ISZERO(Op.XOR(0x2, 0x1))) + + Op.SSTORE(key=0x11001500180001, value=Op.ISZERO(Op.XOR(0x2, 0x1))) + + Op.SSTORE(key=0x11001500190000, value=Op.ISZERO(Op.NOT(0x2))) + + Op.SSTORE(key=0x11001500190001, value=Op.ISZERO(Op.NOT(0x2))) + + Op.SSTORE(key=0x110015001A0000, value=Op.ISZERO(Op.BYTE(0x2, 0x1))) + + Op.SSTORE(key=0x110015001A0001, value=Op.ISZERO(Op.BYTE(0x2, 0x1))) + + Op.SSTORE(key=0x110015001B0000, value=Op.ISZERO(Op.SHL(0x2, 0x1))) + + Op.SSTORE(key=0x110015001B0001, value=Op.ISZERO(Op.SHL(0x2, 0x1))) + + Op.SSTORE(key=0x110015001C0000, value=Op.ISZERO(Op.SHR(0x2, 0x1))) + + Op.SSTORE(key=0x110015001C0001, value=Op.ISZERO(Op.SHR(0x2, 0x1))) + + Op.SSTORE(key=0x110015001D0000, value=Op.ISZERO(Op.SAR(0x2, 0x1))) + + Op.SSTORE(key=0x110015001D0001, value=Op.ISZERO(Op.SAR(0x2, 0x1))) + + Op.SSTORE(key=0x11001600010000, value=Op.AND(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600010001, value=Op.AND(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600020000, value=Op.AND(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600020001, value=Op.AND(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600030000, value=Op.AND(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600030001, value=Op.AND(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600040000, value=Op.AND(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600040001, value=Op.AND(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600050000, value=Op.AND(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600050001, value=Op.AND(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600060000, value=Op.AND(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600060001, value=Op.AND(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600070000, value=Op.AND(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600070001, value=Op.AND(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001600080000, value=Op.AND(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001600080001, value=Op.AND(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001600090000, value=Op.AND(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001600090001, value=Op.AND(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110016000A0000, value=Op.AND(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110016000A0001, value=Op.AND(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600100000, value=Op.AND(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600100001, value=Op.AND(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600110000, value=Op.AND(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600110001, value=Op.AND(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600120000, value=Op.AND(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600120001, value=Op.AND(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600130000, value=Op.AND(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600130001, value=Op.AND(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600140000, value=Op.AND(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600140001, value=Op.AND(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600150000, value=Op.AND(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001600150001, value=Op.AND(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001600160000, value=Op.AND(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600160001, value=Op.AND(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600170000, value=Op.AND(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600170001, value=Op.AND(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600180000, value=Op.AND(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001600180001, value=Op.AND(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001600190000, value=Op.AND(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001600190001, value=Op.AND(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110016001A0000, value=Op.AND(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110016001A0001, value=Op.AND(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110016001B0000, value=Op.AND(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110016001B0001, value=Op.AND(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110016001C0000, value=Op.AND(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110016001C0001, value=Op.AND(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110016001D0000, value=Op.AND(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110016001D0001, value=Op.AND(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700010000, value=Op.OR(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700010001, value=Op.OR(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700020000, value=Op.OR(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700020001, value=Op.OR(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700030000, value=Op.OR(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700030001, value=Op.OR(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700040000, value=Op.OR(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700040001, value=Op.OR(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700050000, value=Op.OR(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700050001, value=Op.OR(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700060000, value=Op.OR(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700060001, value=Op.OR(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700070000, value=Op.OR(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700070001, value=Op.OR(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001700080000, value=Op.OR(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001700080001, value=Op.OR(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001700090000, value=Op.OR(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001700090001, value=Op.OR(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110017000A0000, value=Op.OR(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110017000A0001, value=Op.OR(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700100000, value=Op.OR(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700100001, value=Op.OR(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700110000, value=Op.OR(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700110001, value=Op.OR(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700120000, value=Op.OR(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700120001, value=Op.OR(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700130000, value=Op.OR(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700130001, value=Op.OR(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700140000, value=Op.OR(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700140001, value=Op.OR(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700150000, value=Op.OR(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001700150001, value=Op.OR(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001700160000, value=Op.OR(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700160001, value=Op.OR(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700170000, value=Op.OR(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700170001, value=Op.OR(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700180000, value=Op.OR(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001700180001, value=Op.OR(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001700190000, value=Op.OR(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001700190001, value=Op.OR(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110017001A0000, value=Op.OR(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110017001A0001, value=Op.OR(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110017001B0000, value=Op.OR(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110017001B0001, value=Op.OR(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110017001C0000, value=Op.OR(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110017001C0001, value=Op.OR(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110017001D0000, value=Op.OR(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110017001D0001, value=Op.OR(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800010000, value=Op.XOR(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800010001, value=Op.XOR(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800020000, value=Op.XOR(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800020001, value=Op.XOR(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800030000, value=Op.XOR(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800030001, value=Op.XOR(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800040000, value=Op.XOR(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800040001, value=Op.XOR(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800050000, value=Op.XOR(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800050001, value=Op.XOR(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800060000, value=Op.XOR(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800060001, value=Op.XOR(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800070000, value=Op.XOR(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800070001, value=Op.XOR(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001800080000, value=Op.XOR(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001800080001, value=Op.XOR(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001800090000, value=Op.XOR(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001800090001, value=Op.XOR(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x110018000A0000, value=Op.XOR(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110018000A0001, value=Op.XOR(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800100000, value=Op.XOR(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800100001, value=Op.XOR(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800110000, value=Op.XOR(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800110001, value=Op.XOR(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800120000, value=Op.XOR(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800120001, value=Op.XOR(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800130000, value=Op.XOR(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800130001, value=Op.XOR(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800140000, value=Op.XOR(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800140001, value=Op.XOR(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800150000, value=Op.XOR(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001800150001, value=Op.XOR(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001800160000, value=Op.XOR(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800160001, value=Op.XOR(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800170000, value=Op.XOR(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800170001, value=Op.XOR(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800180000, value=Op.XOR(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001800180001, value=Op.XOR(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001800190000, value=Op.XOR(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001800190001, value=Op.XOR(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x110018001A0000, value=Op.XOR(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110018001A0001, value=Op.XOR(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110018001B0000, value=Op.XOR(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110018001B0001, value=Op.XOR(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110018001C0000, value=Op.XOR(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110018001C0001, value=Op.XOR(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x110018001D0000, value=Op.XOR(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x110018001D0001, value=Op.XOR(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001900010000, value=Op.NOT(Op.ADD(0x2, 0x1))) + + Op.SSTORE(key=0x11001900010001, value=Op.NOT(Op.ADD(0x2, 0x1))) + + Op.SSTORE(key=0x11001900020000, value=Op.NOT(Op.MUL(0x2, 0x1))) + + Op.SSTORE(key=0x11001900020001, value=Op.NOT(Op.MUL(0x2, 0x1))) + + Op.SSTORE(key=0x11001900030000, value=Op.NOT(Op.SUB(0x2, 0x1))) + + Op.SSTORE(key=0x11001900030001, value=Op.NOT(Op.SUB(0x2, 0x1))) + + Op.SSTORE(key=0x11001900040000, value=Op.NOT(Op.DIV(0x2, 0x1))) + + Op.SSTORE(key=0x11001900040001, value=Op.NOT(Op.DIV(0x2, 0x1))) + + Op.SSTORE(key=0x11001900050000, value=Op.NOT(Op.SDIV(0x2, 0x1))) + + Op.SSTORE(key=0x11001900050001, value=Op.NOT(Op.SDIV(0x2, 0x1))) + + Op.SSTORE(key=0x11001900060000, value=Op.NOT(Op.MOD(0x2, 0x1))) + + Op.SSTORE(key=0x11001900060001, value=Op.NOT(Op.MOD(0x2, 0x1))) + + Op.SSTORE(key=0x11001900070000, value=Op.NOT(Op.SMOD(0x2, 0x1))) + + Op.SSTORE(key=0x11001900070001, value=Op.NOT(Op.SMOD(0x2, 0x1))) + + Op.SSTORE( + key=0x11001900080000, value=Op.NOT(Op.ADDMOD(0x2, 0x1, 0x3)) + ) + + Op.SSTORE( + key=0x11001900080001, value=Op.NOT(Op.ADDMOD(0x2, 0x1, 0x3)) + ) + + Op.SSTORE( + key=0x11001900090000, value=Op.NOT(Op.MULMOD(0x2, 0x1, 0x3)) + ) + + Op.SSTORE( + key=0x11001900090001, value=Op.NOT(Op.MULMOD(0x2, 0x1, 0x3)) + ) + + Op.SSTORE(key=0x110019000A0000, value=Op.NOT(Op.EXP(0x2, 0x1))) + + Op.SSTORE(key=0x110019000A0001, value=Op.NOT(Op.EXP(0x2, 0x1))) + + Op.SSTORE(key=0x11001900100000, value=Op.NOT(Op.LT(0x2, 0x1))) + + Op.SSTORE(key=0x11001900100001, value=Op.NOT(Op.LT(0x2, 0x1))) + + Op.SSTORE(key=0x11001900110000, value=Op.NOT(Op.GT(0x2, 0x1))) + + Op.SSTORE(key=0x11001900110001, value=Op.NOT(Op.GT(0x2, 0x1))) + + Op.SSTORE(key=0x11001900120000, value=Op.NOT(Op.SLT(0x2, 0x1))) + + Op.SSTORE(key=0x11001900120001, value=Op.NOT(Op.SLT(0x2, 0x1))) + + Op.SSTORE(key=0x11001900130000, value=Op.NOT(Op.SGT(0x2, 0x1))) + + Op.SSTORE(key=0x11001900130001, value=Op.NOT(Op.SGT(0x2, 0x1))) + + Op.SSTORE(key=0x11001900140000, value=Op.NOT(Op.EQ(0x2, 0x1))) + + Op.SSTORE(key=0x11001900140001, value=Op.NOT(Op.EQ(0x2, 0x1))) + + Op.SSTORE(key=0x11001900150000, value=Op.NOT(Op.ISZERO(0x2))) + + Op.SSTORE(key=0x11001900150001, value=Op.NOT(Op.ISZERO(0x2))) + + Op.SSTORE(key=0x11001900160000, value=Op.NOT(Op.AND(0x2, 0x1))) + + Op.SSTORE(key=0x11001900160001, value=Op.NOT(Op.AND(0x2, 0x1))) + + Op.SSTORE(key=0x11001900170000, value=Op.NOT(Op.OR(0x2, 0x1))) + + Op.SSTORE(key=0x11001900170001, value=Op.NOT(Op.OR(0x2, 0x1))) + + Op.SSTORE(key=0x11001900180000, value=Op.NOT(Op.XOR(0x2, 0x1))) + + Op.SSTORE(key=0x11001900180001, value=Op.NOT(Op.XOR(0x2, 0x1))) + + Op.SSTORE(key=0x11001900190000, value=Op.NOT(Op.NOT(0x2))) + + Op.SSTORE(key=0x11001900190001, value=Op.NOT(Op.NOT(0x2))) + + Op.SSTORE(key=0x110019001A0000, value=Op.NOT(Op.BYTE(0x2, 0x1))) + + Op.SSTORE(key=0x110019001A0001, value=Op.NOT(Op.BYTE(0x2, 0x1))) + + Op.SSTORE(key=0x110019001B0000, value=Op.NOT(Op.SHL(0x2, 0x1))) + + Op.SSTORE(key=0x110019001B0001, value=Op.NOT(Op.SHL(0x2, 0x1))) + + Op.SSTORE(key=0x110019001C0000, value=Op.NOT(Op.SHR(0x2, 0x1))) + + Op.SSTORE(key=0x110019001C0001, value=Op.NOT(Op.SHR(0x2, 0x1))) + + Op.SSTORE(key=0x110019001D0000, value=Op.NOT(Op.SAR(0x2, 0x1))) + + Op.SSTORE(key=0x110019001D0001, value=Op.NOT(Op.SAR(0x2, 0x1))) + + Op.SSTORE(key=0x11001A00010000, value=Op.BYTE(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00010001, value=Op.BYTE(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00020000, value=Op.BYTE(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00020001, value=Op.BYTE(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00030000, value=Op.BYTE(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00030001, value=Op.BYTE(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00040000, value=Op.BYTE(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00040001, value=Op.BYTE(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001A00050000, value=Op.BYTE(Op.SDIV(0x2, 0x1), 0x3) + ) + + Op.SSTORE( + key=0x11001A00050001, value=Op.BYTE(Op.SDIV(0x2, 0x1), 0x1) + ) + + Op.SSTORE(key=0x11001A00060000, value=Op.BYTE(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00060001, value=Op.BYTE(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001A00070000, value=Op.BYTE(Op.SMOD(0x2, 0x1), 0x3) + ) + + Op.SSTORE( + key=0x11001A00070001, value=Op.BYTE(Op.SMOD(0x2, 0x1), 0x1) + ) + + Op.SSTORE( + key=0x11001A00080000, value=Op.BYTE(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001A00080001, value=Op.BYTE(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001A00090000, value=Op.BYTE(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001A00090001, value=Op.BYTE(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x11001A000A0000, value=Op.BYTE(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A000A0001, value=Op.BYTE(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00100000, value=Op.BYTE(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00100001, value=Op.BYTE(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00110000, value=Op.BYTE(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00110001, value=Op.BYTE(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00120000, value=Op.BYTE(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00120001, value=Op.BYTE(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00130000, value=Op.BYTE(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00130001, value=Op.BYTE(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00140000, value=Op.BYTE(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00140001, value=Op.BYTE(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00150000, value=Op.BYTE(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001A00150001, value=Op.BYTE(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001A00160000, value=Op.BYTE(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00160001, value=Op.BYTE(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00170000, value=Op.BYTE(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00170001, value=Op.BYTE(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00180000, value=Op.BYTE(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A00180001, value=Op.BYTE(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A00190000, value=Op.BYTE(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001A00190001, value=Op.BYTE(Op.NOT(0x2), 0x1)) + + Op.SSTORE( + key=0x11001A001A0000, value=Op.BYTE(Op.BYTE(0x2, 0x1), 0x3) + ) + + Op.SSTORE( + key=0x11001A001A0001, value=Op.BYTE(Op.BYTE(0x2, 0x1), 0x1) + ) + + Op.SSTORE(key=0x11001A001B0000, value=Op.BYTE(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A001B0001, value=Op.BYTE(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A001C0000, value=Op.BYTE(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A001C0001, value=Op.BYTE(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001A001D0000, value=Op.BYTE(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001A001D0001, value=Op.BYTE(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00010000, value=Op.SHL(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00010001, value=Op.SHL(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00020000, value=Op.SHL(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00020001, value=Op.SHL(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00030000, value=Op.SHL(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00030001, value=Op.SHL(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00040000, value=Op.SHL(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00040001, value=Op.SHL(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00050000, value=Op.SHL(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00050001, value=Op.SHL(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00060000, value=Op.SHL(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00060001, value=Op.SHL(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00070000, value=Op.SHL(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00070001, value=Op.SHL(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001B00080000, value=Op.SHL(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001B00080001, value=Op.SHL(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001B00090000, value=Op.SHL(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001B00090001, value=Op.SHL(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x11001B000A0000, value=Op.SHL(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B000A0001, value=Op.SHL(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00100000, value=Op.SHL(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00100001, value=Op.SHL(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00110000, value=Op.SHL(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00110001, value=Op.SHL(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00120000, value=Op.SHL(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00120001, value=Op.SHL(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00130000, value=Op.SHL(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00130001, value=Op.SHL(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00140000, value=Op.SHL(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00140001, value=Op.SHL(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00150000, value=Op.SHL(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001B00150001, value=Op.SHL(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001B00160000, value=Op.SHL(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00160001, value=Op.SHL(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00170000, value=Op.SHL(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00170001, value=Op.SHL(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00180000, value=Op.SHL(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B00180001, value=Op.SHL(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B00190000, value=Op.SHL(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001B00190001, value=Op.SHL(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x11001B001A0000, value=Op.SHL(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B001A0001, value=Op.SHL(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B001B0000, value=Op.SHL(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B001B0001, value=Op.SHL(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B001C0000, value=Op.SHL(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B001C0001, value=Op.SHL(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001B001D0000, value=Op.SHL(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001B001D0001, value=Op.SHL(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00010000, value=Op.SHR(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00010001, value=Op.SHR(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00020000, value=Op.SHR(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00020001, value=Op.SHR(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00030000, value=Op.SHR(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00030001, value=Op.SHR(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00040000, value=Op.SHR(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00040001, value=Op.SHR(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00050000, value=Op.SHR(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00050001, value=Op.SHR(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00060000, value=Op.SHR(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00060001, value=Op.SHR(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00070000, value=Op.SHR(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00070001, value=Op.SHR(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001C00080000, value=Op.SHR(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001C00080001, value=Op.SHR(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001C00090000, value=Op.SHR(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001C00090001, value=Op.SHR(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x11001C000A0000, value=Op.SHR(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C000A0001, value=Op.SHR(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00100000, value=Op.SHR(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00100001, value=Op.SHR(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00110000, value=Op.SHR(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00110001, value=Op.SHR(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00120000, value=Op.SHR(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00120001, value=Op.SHR(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00130000, value=Op.SHR(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00130001, value=Op.SHR(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00140000, value=Op.SHR(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00140001, value=Op.SHR(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00150000, value=Op.SHR(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001C00150001, value=Op.SHR(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001C00160000, value=Op.SHR(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00160001, value=Op.SHR(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00170000, value=Op.SHR(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00170001, value=Op.SHR(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00180000, value=Op.SHR(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C00180001, value=Op.SHR(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C00190000, value=Op.SHR(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001C00190001, value=Op.SHR(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x11001C001A0000, value=Op.SHR(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C001A0001, value=Op.SHR(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C001B0000, value=Op.SHR(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C001B0001, value=Op.SHR(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C001C0000, value=Op.SHR(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C001C0001, value=Op.SHR(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001C001D0000, value=Op.SHR(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001C001D0001, value=Op.SHR(Op.SAR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00010000, value=Op.SAR(Op.ADD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00010001, value=Op.SAR(Op.ADD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00020000, value=Op.SAR(Op.MUL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00020001, value=Op.SAR(Op.MUL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00030000, value=Op.SAR(Op.SUB(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00030001, value=Op.SAR(Op.SUB(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00040000, value=Op.SAR(Op.DIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00040001, value=Op.SAR(Op.DIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00050000, value=Op.SAR(Op.SDIV(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00050001, value=Op.SAR(Op.SDIV(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00060000, value=Op.SAR(Op.MOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00060001, value=Op.SAR(Op.MOD(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00070000, value=Op.SAR(Op.SMOD(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00070001, value=Op.SAR(Op.SMOD(0x2, 0x1), 0x1)) + + Op.SSTORE( + key=0x11001D00080000, value=Op.SAR(Op.ADDMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001D00080001, value=Op.SAR(Op.ADDMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE( + key=0x11001D00090000, value=Op.SAR(Op.MULMOD(0x2, 0x1, 0x3), 0x3) + ) + + Op.SSTORE( + key=0x11001D00090001, value=Op.SAR(Op.MULMOD(0x2, 0x1, 0x3), 0x1) + ) + + Op.SSTORE(key=0x11001D000A0000, value=Op.SAR(Op.EXP(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D000A0001, value=Op.SAR(Op.EXP(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00100000, value=Op.SAR(Op.LT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00100001, value=Op.SAR(Op.LT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00110000, value=Op.SAR(Op.GT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00110001, value=Op.SAR(Op.GT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00120000, value=Op.SAR(Op.SLT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00120001, value=Op.SAR(Op.SLT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00130000, value=Op.SAR(Op.SGT(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00130001, value=Op.SAR(Op.SGT(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00140000, value=Op.SAR(Op.EQ(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00140001, value=Op.SAR(Op.EQ(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00150000, value=Op.SAR(Op.ISZERO(0x2), 0x3)) + + Op.SSTORE(key=0x11001D00150001, value=Op.SAR(Op.ISZERO(0x2), 0x1)) + + Op.SSTORE(key=0x11001D00160000, value=Op.SAR(Op.AND(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00160001, value=Op.SAR(Op.AND(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00170000, value=Op.SAR(Op.OR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00170001, value=Op.SAR(Op.OR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00180000, value=Op.SAR(Op.XOR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D00180001, value=Op.SAR(Op.XOR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D00190000, value=Op.SAR(Op.NOT(0x2), 0x3)) + + Op.SSTORE(key=0x11001D00190001, value=Op.SAR(Op.NOT(0x2), 0x1)) + + Op.SSTORE(key=0x11001D001A0000, value=Op.SAR(Op.BYTE(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D001A0001, value=Op.SAR(Op.BYTE(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D001B0000, value=Op.SAR(Op.SHL(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D001B0001, value=Op.SAR(Op.SHL(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D001C0000, value=Op.SAR(Op.SHR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D001C0001, value=Op.SAR(Op.SHR(0x2, 0x1), 0x1)) + + Op.SSTORE(key=0x11001D001D0000, value=Op.SAR(Op.SAR(0x2, 0x1), 0x3)) + + Op.SSTORE(key=0x11001D001D0001, value=Op.SAR(Op.SAR(0x2, 0x1), 0x1)) + + Op.STOP, + nonce=1, + address=Address(0xE262558822902632416F26EDBF70CCAC609CD2CE), # noqa: E501 + ) + + tx = Transaction( + sender=sender, + to=target, + data=Bytes("00"), + gas_limit=16777216, + value=1, + ) + + post = { + target: Account( + storage={ + 0x11000100010000: 6, + 0x11000100010001: 4, + 0x11000100020000: 5, + 0x11000100020001: 3, + 0x11000100030000: 4, + 0x11000100030001: 2, + 0x11000100040000: 5, + 0x11000100040001: 3, + 0x11000100050000: 5, + 0x11000100050001: 3, + 0x11000100060000: 3, + 0x11000100060001: 1, + 0x11000100070000: 3, + 0x11000100070001: 1, + 0x11000100080000: 3, + 0x11000100080001: 1, + 0x11000100090000: 5, + 0x11000100090001: 3, + 0x110001000A0000: 5, + 0x110001000A0001: 3, + 0x11000100100000: 3, + 0x11000100100001: 1, + 0x11000100110000: 4, + 0x11000100110001: 2, + 0x11000100120000: 3, + 0x11000100120001: 1, + 0x11000100130000: 4, + 0x11000100130001: 2, + 0x11000100140000: 3, + 0x11000100140001: 1, + 0x11000100150000: 3, + 0x11000100150001: 1, + 0x11000100160000: 3, + 0x11000100160001: 1, + 0x11000100170000: 6, + 0x11000100170001: 4, + 0x11000100180000: 6, + 0x11000100180001: 4, + 0x11000100190000: 0, + 0x11000100190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0x110001001A0000: 3, + 0x110001001A0001: 1, + 0x110001001B0000: 7, + 0x110001001B0001: 5, + 0x110001001C0000: 3, + 0x110001001C0001: 1, + 0x110001001D0000: 3, + 0x110001001D0001: 1, + 0x11000200010000: 9, + 0x11000200010001: 3, + 0x11000200020000: 6, + 0x11000200020001: 2, + 0x11000200030000: 3, + 0x11000200030001: 1, + 0x11000200040000: 6, + 0x11000200040001: 2, + 0x11000200050000: 6, + 0x11000200050001: 2, + 0x11000200060000: 0, + 0x11000200060001: 0, + 0x11000200070000: 0, + 0x11000200070001: 0, + 0x11000200080000: 0, + 0x11000200080001: 0, + 0x11000200090000: 6, + 0x11000200090001: 2, + 0x110002000A0000: 6, + 0x110002000A0001: 2, + 0x11000200100000: 0, + 0x11000200100001: 0, + 0x11000200110000: 3, + 0x11000200110001: 1, + 0x11000200120000: 0, + 0x11000200120001: 0, + 0x11000200130000: 3, + 0x11000200130001: 1, + 0x11000200140000: 0, + 0x11000200140001: 0, + 0x11000200150000: 0, + 0x11000200150001: 0, + 0x11000200160000: 0, + 0x11000200160001: 0, + 0x11000200170000: 9, + 0x11000200170001: 3, + 0x11000200180000: 9, + 0x11000200180001: 3, + 0x11000200190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7, # noqa: E501 + 0x11000200190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x110002001A0000: 0, + 0x110002001A0001: 0, + 0x110002001B0000: 12, + 0x110002001B0001: 4, + 0x110002001C0000: 0, + 0x110002001C0001: 0, + 0x110002001D0000: 0, + 0x110002001D0001: 0, + 0x11000300010000: 0, + 0x11000300010001: 2, + 0x11000300020000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300020001: 1, + 0x11000300030000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0x11000300030001: 0, + 0x11000300040000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300040001: 1, + 0x11000300050000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300050001: 1, + 0x11000300060000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11000300060001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300070000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11000300070001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300080000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11000300080001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300090000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300090001: 1, + 0x110003000A0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x110003000A0001: 1, + 0x11000300100000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11000300100001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300110000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0x11000300110001: 0, + 0x11000300120000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11000300120001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300130000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0x11000300130001: 0, + 0x11000300140000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11000300140001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300150000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11000300150001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300160000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11000300160001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000300170000: 0, + 0x11000300170001: 2, + 0x11000300180000: 0, + 0x11000300180001: 2, + 0x11000300190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA, # noqa: E501 + 0x11000300190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 + 0x110003001A0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x110003001A0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x110003001B0000: 1, + 0x110003001B0001: 3, + 0x110003001C0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x110003001C0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x110003001D0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x110003001D0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000400010000: 1, + 0x11000400010001: 3, + 0x11000400020000: 0, + 0x11000400020001: 2, + 0x11000400030000: 0, + 0x11000400030001: 1, + 0x11000400040000: 0, + 0x11000400040001: 2, + 0x11000400050000: 0, + 0x11000400050001: 2, + 0x11000400060000: 0, + 0x11000400060001: 0, + 0x11000400070000: 0, + 0x11000400070001: 0, + 0x11000400080000: 0, + 0x11000400080001: 0, + 0x11000400090000: 0, + 0x11000400090001: 2, + 0x110004000A0000: 0, + 0x110004000A0001: 2, + 0x11000400100000: 0, + 0x11000400100001: 0, + 0x11000400110000: 0, + 0x11000400110001: 1, + 0x11000400120000: 0, + 0x11000400120001: 0, + 0x11000400130000: 0, + 0x11000400130001: 1, + 0x11000400140000: 0, + 0x11000400140001: 0, + 0x11000400150000: 0, + 0x11000400150001: 0, + 0x11000400160000: 0, + 0x11000400160001: 0, + 0x11000400170000: 1, + 0x11000400170001: 3, + 0x11000400180000: 1, + 0x11000400180001: 3, + 0x11000400190000: 0x5555555555555555555555555555555555555555555555555555555555555554, # noqa: E501 + 0x11000400190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x110004001A0000: 0, + 0x110004001A0001: 0, + 0x110004001B0000: 1, + 0x110004001B0001: 4, + 0x110004001C0000: 0, + 0x110004001C0001: 0, + 0x110004001D0000: 0, + 0x110004001D0001: 0, + 0x11000500010000: 1, + 0x11000500010001: 3, + 0x11000500020000: 0, + 0x11000500020001: 2, + 0x11000500030000: 0, + 0x11000500030001: 1, + 0x11000500040000: 0, + 0x11000500040001: 2, + 0x11000500050000: 0, + 0x11000500050001: 2, + 0x11000500060000: 0, + 0x11000500060001: 0, + 0x11000500070000: 0, + 0x11000500070001: 0, + 0x11000500080000: 0, + 0x11000500080001: 0, + 0x11000500090000: 0, + 0x11000500090001: 2, + 0x110005000A0000: 0, + 0x110005000A0001: 2, + 0x11000500100000: 0, + 0x11000500100001: 0, + 0x11000500110000: 0, + 0x11000500110001: 1, + 0x11000500120000: 0, + 0x11000500120001: 0, + 0x11000500130000: 0, + 0x11000500130001: 1, + 0x11000500140000: 0, + 0x11000500140001: 0, + 0x11000500150000: 0, + 0x11000500150001: 0, + 0x11000500160000: 0, + 0x11000500160001: 0, + 0x11000500170000: 1, + 0x11000500170001: 3, + 0x11000500180000: 1, + 0x11000500180001: 3, + 0x11000500190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11000500190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x110005001A0000: 0, + 0x110005001A0001: 0, + 0x110005001B0000: 1, + 0x110005001B0001: 4, + 0x110005001C0000: 0, + 0x110005001C0001: 0, + 0x110005001D0000: 0, + 0x110005001D0001: 0, + 0x11000600010000: 0, + 0x11000600010001: 0, + 0x11000600020000: 2, + 0x11000600020001: 0, + 0x11000600030000: 1, + 0x11000600030001: 0, + 0x11000600040000: 2, + 0x11000600040001: 0, + 0x11000600050000: 2, + 0x11000600050001: 0, + 0x11000600060000: 0, + 0x11000600060001: 0, + 0x11000600070000: 0, + 0x11000600070001: 0, + 0x11000600080000: 0, + 0x11000600080001: 0, + 0x11000600090000: 2, + 0x11000600090001: 0, + 0x110006000A0000: 2, + 0x110006000A0001: 0, + 0x11000600100000: 0, + 0x11000600100001: 0, + 0x11000600110000: 1, + 0x11000600110001: 0, + 0x11000600120000: 0, + 0x11000600120001: 0, + 0x11000600130000: 1, + 0x11000600130001: 0, + 0x11000600140000: 0, + 0x11000600140001: 0, + 0x11000600150000: 0, + 0x11000600150001: 0, + 0x11000600160000: 0, + 0x11000600160001: 0, + 0x11000600170000: 0, + 0x11000600170001: 0, + 0x11000600180000: 0, + 0x11000600180001: 0, + 0x11000600190000: 1, + 0x11000600190001: 0, + 0x110006001A0000: 0, + 0x110006001A0001: 0, + 0x110006001B0000: 1, + 0x110006001B0001: 0, + 0x110006001C0000: 0, + 0x110006001C0001: 0, + 0x110006001D0000: 0, + 0x110006001D0001: 0, + 0x11000700010000: 0, + 0x11000700010001: 0, + 0x11000700020000: 2, + 0x11000700020001: 0, + 0x11000700030000: 1, + 0x11000700030001: 0, + 0x11000700040000: 2, + 0x11000700040001: 0, + 0x11000700050000: 2, + 0x11000700050001: 0, + 0x11000700060000: 0, + 0x11000700060001: 0, + 0x11000700070000: 0, + 0x11000700070001: 0, + 0x11000700080000: 0, + 0x11000700080001: 0, + 0x11000700090000: 2, + 0x11000700090001: 0, + 0x110007000A0000: 2, + 0x110007000A0001: 0, + 0x11000700100000: 0, + 0x11000700100001: 0, + 0x11000700110000: 1, + 0x11000700110001: 0, + 0x11000700120000: 0, + 0x11000700120001: 0, + 0x11000700130000: 1, + 0x11000700130001: 0, + 0x11000700140000: 0, + 0x11000700140001: 0, + 0x11000700150000: 0, + 0x11000700150001: 0, + 0x11000700160000: 0, + 0x11000700160001: 0, + 0x11000700170000: 0, + 0x11000700170001: 0, + 0x11000700180000: 0, + 0x11000700180001: 0, + 0x11000700190000: 0, + 0x11000700190001: 0, + 0x110007001A0000: 0, + 0x110007001A0001: 0, + 0x110007001B0000: 1, + 0x110007001B0001: 0, + 0x110007001C0000: 0, + 0x110007001C0001: 0, + 0x110007001D0000: 0, + 0x110007001D0001: 0, + 0x11000800010000: 0, + 0x11000800010001: 0, + 0x11000800020000: 1, + 0x11000800020001: 1, + 0x11000800030000: 0, + 0x11000800030001: 0, + 0x11000800040000: 1, + 0x11000800040001: 1, + 0x11000800050000: 1, + 0x11000800050001: 1, + 0x11000800060000: 1, + 0x11000800060001: 1, + 0x11000800070000: 1, + 0x11000800070001: 1, + 0x11000800080000: 1, + 0x11000800080001: 1, + 0x11000800090000: 1, + 0x11000800090001: 1, + 0x110008000A0000: 1, + 0x110008000A0001: 1, + 0x11000800100000: 1, + 0x11000800100001: 1, + 0x11000800110000: 0, + 0x11000800110001: 0, + 0x11000800120000: 1, + 0x11000800120001: 1, + 0x11000800130000: 0, + 0x11000800130001: 0, + 0x11000800140000: 1, + 0x11000800140001: 1, + 0x11000800150000: 1, + 0x11000800150001: 1, + 0x11000800160000: 1, + 0x11000800160001: 1, + 0x11000800170000: 0, + 0x11000800170001: 0, + 0x11000800180000: 0, + 0x11000800180001: 0, + 0x11000800190000: 0, + 0x11000800190001: 0, + 0x110008001A0000: 1, + 0x110008001A0001: 1, + 0x110008001B0000: 1, + 0x110008001B0001: 1, + 0x110008001C0000: 1, + 0x110008001C0001: 1, + 0x110008001D0000: 1, + 0x110008001D0001: 1, + 0x11000900010000: 1, + 0x11000900010001: 1, + 0x11000900020000: 0, + 0x11000900020001: 0, + 0x11000900030000: 1, + 0x11000900030001: 1, + 0x11000900040000: 0, + 0x11000900040001: 0, + 0x11000900050000: 0, + 0x11000900050001: 0, + 0x11000900060000: 0, + 0x11000900060001: 0, + 0x11000900070000: 0, + 0x11000900070001: 0, + 0x11000900080000: 0, + 0x11000900080001: 0, + 0x11000900090000: 0, + 0x11000900090001: 0, + 0x110009000A0000: 0, + 0x110009000A0001: 0, + 0x11000900100000: 0, + 0x11000900100001: 0, + 0x11000900110000: 1, + 0x11000900110001: 1, + 0x11000900120000: 0, + 0x11000900120001: 0, + 0x11000900130000: 1, + 0x11000900130001: 1, + 0x11000900140000: 0, + 0x11000900140001: 0, + 0x11000900150000: 0, + 0x11000900150001: 0, + 0x11000900160000: 0, + 0x11000900160001: 0, + 0x11000900170000: 1, + 0x11000900170001: 1, + 0x11000900180000: 1, + 0x11000900180001: 1, + 0x11000900190000: 1, + 0x11000900190001: 1, + 0x110009001A0000: 0, + 0x110009001A0001: 0, + 0x110009001B0000: 0, + 0x110009001B0001: 0, + 0x110009001C0000: 0, + 0x110009001C0001: 0, + 0x110009001D0000: 0, + 0x110009001D0001: 0, + 0x11000A00010000: 27, + 0x11000A00010001: 3, + 0x11000A00020000: 8, + 0x11000A00020001: 2, + 0x11000A00030000: 1, + 0x11000A00030001: 1, + 0x11000A00040000: 8, + 0x11000A00040001: 2, + 0x11000A00050000: 8, + 0x11000A00050001: 2, + 0x11000A00060000: 0, + 0x11000A00060001: 0, + 0x11000A00070000: 0, + 0x11000A00070001: 0, + 0x11000A00080000: 0, + 0x11000A00080001: 0, + 0x11000A00090000: 8, + 0x11000A00090001: 2, + 0x11000A000A0000: 8, + 0x11000A000A0001: 2, + 0x11000A00100000: 0, + 0x11000A00100001: 0, + 0x11000A00110000: 1, + 0x11000A00110001: 1, + 0x11000A00120000: 0, + 0x11000A00120001: 0, + 0x11000A00130000: 1, + 0x11000A00130001: 1, + 0x11000A00140000: 0, + 0x11000A00140001: 0, + 0x11000A00150000: 0, + 0x11000A00150001: 0, + 0x11000A00160000: 0, + 0x11000A00160001: 0, + 0x11000A00170000: 27, + 0x11000A00170001: 3, + 0x11000A00180000: 27, + 0x11000A00180001: 3, + 0x11000A00190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5, # noqa: E501 + 0x11000A00190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11000A001A0000: 0, + 0x11000A001A0001: 0, + 0x11000A001B0000: 64, + 0x11000A001B0001: 4, + 0x11000A001C0000: 0, + 0x11000A001C0001: 0, + 0x11000A001D0000: 0, + 0x11000A001D0001: 0, + 0x11001000010000: 0, + 0x11001000010001: 0, + 0x11001000020000: 1, + 0x11001000020001: 0, + 0x11001000030000: 1, + 0x11001000030001: 0, + 0x11001000040000: 1, + 0x11001000040001: 0, + 0x11001000050000: 1, + 0x11001000050001: 0, + 0x11001000060000: 1, + 0x11001000060001: 1, + 0x11001000070000: 1, + 0x11001000070001: 1, + 0x11001000080000: 1, + 0x11001000080001: 1, + 0x11001000090000: 1, + 0x11001000090001: 0, + 0x110010000A0000: 1, + 0x110010000A0001: 0, + 0x11001000100000: 1, + 0x11001000100001: 1, + 0x11001000110000: 1, + 0x11001000110001: 0, + 0x11001000120000: 1, + 0x11001000120001: 1, + 0x11001000130000: 1, + 0x11001000130001: 0, + 0x11001000140000: 1, + 0x11001000140001: 1, + 0x11001000150000: 1, + 0x11001000150001: 1, + 0x11001000160000: 1, + 0x11001000160001: 1, + 0x11001000170000: 0, + 0x11001000170001: 0, + 0x11001000180000: 0, + 0x11001000180001: 0, + 0x11001000190000: 0, + 0x11001000190001: 0, + 0x110010001A0000: 1, + 0x110010001A0001: 1, + 0x110010001B0000: 0, + 0x110010001B0001: 0, + 0x110010001C0000: 1, + 0x110010001C0001: 1, + 0x110010001D0000: 1, + 0x110010001D0001: 1, + 0x11001100010000: 0, + 0x11001100010001: 1, + 0x11001100020000: 0, + 0x11001100020001: 1, + 0x11001100030000: 0, + 0x11001100030001: 0, + 0x11001100040000: 0, + 0x11001100040001: 1, + 0x11001100050000: 0, + 0x11001100050001: 1, + 0x11001100060000: 0, + 0x11001100060001: 0, + 0x11001100070000: 0, + 0x11001100070001: 0, + 0x11001100080000: 0, + 0x11001100080001: 0, + 0x11001100090000: 0, + 0x11001100090001: 1, + 0x110011000A0000: 0, + 0x110011000A0001: 1, + 0x11001100100000: 0, + 0x11001100100001: 0, + 0x11001100110000: 0, + 0x11001100110001: 0, + 0x11001100120000: 0, + 0x11001100120001: 0, + 0x11001100130000: 0, + 0x11001100130001: 0, + 0x11001100140000: 0, + 0x11001100140001: 0, + 0x11001100150000: 0, + 0x11001100150001: 0, + 0x11001100160000: 0, + 0x11001100160001: 0, + 0x11001100170000: 0, + 0x11001100170001: 1, + 0x11001100180000: 0, + 0x11001100180001: 1, + 0x11001100190000: 1, + 0x11001100190001: 1, + 0x110011001A0000: 0, + 0x110011001A0001: 0, + 0x110011001B0000: 1, + 0x110011001B0001: 1, + 0x110011001C0000: 0, + 0x110011001C0001: 0, + 0x110011001D0000: 0, + 0x110011001D0001: 0, + 0x11001200010000: 0, + 0x11001200010001: 0, + 0x11001200020000: 1, + 0x11001200020001: 0, + 0x11001200030000: 1, + 0x11001200030001: 0, + 0x11001200040000: 1, + 0x11001200040001: 0, + 0x11001200050000: 1, + 0x11001200050001: 0, + 0x11001200060000: 1, + 0x11001200060001: 1, + 0x11001200070000: 1, + 0x11001200070001: 1, + 0x11001200080000: 1, + 0x11001200080001: 1, + 0x11001200090000: 1, + 0x11001200090001: 0, + 0x110012000A0000: 1, + 0x110012000A0001: 0, + 0x11001200100000: 1, + 0x11001200100001: 1, + 0x11001200110000: 1, + 0x11001200110001: 0, + 0x11001200120000: 1, + 0x11001200120001: 1, + 0x11001200130000: 1, + 0x11001200130001: 0, + 0x11001200140000: 1, + 0x11001200140001: 1, + 0x11001200150000: 1, + 0x11001200150001: 1, + 0x11001200160000: 1, + 0x11001200160001: 1, + 0x11001200170000: 0, + 0x11001200170001: 0, + 0x11001200180000: 0, + 0x11001200180001: 0, + 0x11001200190000: 1, + 0x11001200190001: 1, + 0x110012001A0000: 1, + 0x110012001A0001: 1, + 0x110012001B0000: 0, + 0x110012001B0001: 0, + 0x110012001C0000: 1, + 0x110012001C0001: 1, + 0x110012001D0000: 1, + 0x110012001D0001: 1, + 0x11001300010000: 0, + 0x11001300010001: 1, + 0x11001300020000: 0, + 0x11001300020001: 1, + 0x11001300030000: 0, + 0x11001300030001: 0, + 0x11001300040000: 0, + 0x11001300040001: 1, + 0x11001300050000: 0, + 0x11001300050001: 1, + 0x11001300060000: 0, + 0x11001300060001: 0, + 0x11001300070000: 0, + 0x11001300070001: 0, + 0x11001300080000: 0, + 0x11001300080001: 0, + 0x11001300090000: 0, + 0x11001300090001: 1, + 0x110013000A0000: 0, + 0x110013000A0001: 1, + 0x11001300100000: 0, + 0x11001300100001: 0, + 0x11001300110000: 0, + 0x11001300110001: 0, + 0x11001300120000: 0, + 0x11001300120001: 0, + 0x11001300130000: 0, + 0x11001300130001: 0, + 0x11001300140000: 0, + 0x11001300140001: 0, + 0x11001300150000: 0, + 0x11001300150001: 0, + 0x11001300160000: 0, + 0x11001300160001: 0, + 0x11001300170000: 0, + 0x11001300170001: 1, + 0x11001300180000: 0, + 0x11001300180001: 1, + 0x11001300190000: 0, + 0x11001300190001: 0, + 0x110013001A0000: 0, + 0x110013001A0001: 0, + 0x110013001B0000: 1, + 0x110013001B0001: 1, + 0x110013001C0000: 0, + 0x110013001C0001: 0, + 0x110013001D0000: 0, + 0x110013001D0001: 0, + 0x11001400010000: 1, + 0x11001400010001: 0, + 0x11001400020000: 0, + 0x11001400020001: 0, + 0x11001400030000: 0, + 0x11001400030001: 1, + 0x11001400040000: 0, + 0x11001400040001: 0, + 0x11001400050000: 0, + 0x11001400050001: 0, + 0x11001400060000: 0, + 0x11001400060001: 0, + 0x11001400070000: 0, + 0x11001400070001: 0, + 0x11001400080000: 0, + 0x11001400080001: 0, + 0x11001400090000: 0, + 0x11001400090001: 0, + 0x110014000A0000: 0, + 0x110014000A0001: 0, + 0x11001400100000: 0, + 0x11001400100001: 0, + 0x11001400110000: 0, + 0x11001400110001: 1, + 0x11001400120000: 0, + 0x11001400120001: 0, + 0x11001400130000: 0, + 0x11001400130001: 1, + 0x11001400140000: 0, + 0x11001400140001: 0, + 0x11001400150000: 0, + 0x11001400150001: 0, + 0x11001400160000: 0, + 0x11001400160001: 0, + 0x11001400170000: 1, + 0x11001400170001: 0, + 0x11001400180000: 1, + 0x11001400180001: 0, + 0x11001400190000: 0, + 0x11001400190001: 0, + 0x110014001A0000: 0, + 0x110014001A0001: 0, + 0x110014001B0000: 0, + 0x110014001B0001: 0, + 0x110014001C0000: 0, + 0x110014001C0001: 0, + 0x110014001D0000: 0, + 0x110014001D0001: 0, + 0x11001500010000: 0, + 0x11001500010001: 0, + 0x11001500020000: 0, + 0x11001500020001: 0, + 0x11001500030000: 0, + 0x11001500030001: 0, + 0x11001500040000: 0, + 0x11001500040001: 0, + 0x11001500050000: 0, + 0x11001500050001: 0, + 0x11001500060000: 1, + 0x11001500060001: 1, + 0x11001500070000: 1, + 0x11001500070001: 1, + 0x11001500080000: 1, + 0x11001500080001: 1, + 0x11001500090000: 0, + 0x11001500090001: 0, + 0x110015000A0000: 0, + 0x110015000A0001: 0, + 0x11001500100000: 1, + 0x11001500100001: 1, + 0x11001500110000: 0, + 0x11001500110001: 0, + 0x11001500120000: 1, + 0x11001500120001: 1, + 0x11001500130000: 0, + 0x11001500130001: 0, + 0x11001500140000: 1, + 0x11001500140001: 1, + 0x11001500150000: 1, + 0x11001500150001: 1, + 0x11001500160000: 1, + 0x11001500160001: 1, + 0x11001500170000: 0, + 0x11001500170001: 0, + 0x11001500180000: 0, + 0x11001500180001: 0, + 0x11001500190000: 0, + 0x11001500190001: 0, + 0x110015001A0000: 1, + 0x110015001A0001: 1, + 0x110015001B0000: 0, + 0x110015001B0001: 0, + 0x110015001C0000: 1, + 0x110015001C0001: 1, + 0x110015001D0000: 1, + 0x110015001D0001: 1, + 0x11001600010000: 3, + 0x11001600010001: 1, + 0x11001600020000: 2, + 0x11001600020001: 0, + 0x11001600030000: 1, + 0x11001600030001: 1, + 0x11001600040000: 2, + 0x11001600040001: 0, + 0x11001600050000: 2, + 0x11001600050001: 0, + 0x11001600060000: 0, + 0x11001600060001: 0, + 0x11001600070000: 0, + 0x11001600070001: 0, + 0x11001600080000: 0, + 0x11001600080001: 0, + 0x11001600090000: 2, + 0x11001600090001: 0, + 0x110016000A0000: 2, + 0x110016000A0001: 0, + 0x11001600100000: 0, + 0x11001600100001: 0, + 0x11001600110000: 1, + 0x11001600110001: 1, + 0x11001600120000: 0, + 0x11001600120001: 0, + 0x11001600130000: 1, + 0x11001600130001: 1, + 0x11001600140000: 0, + 0x11001600140001: 0, + 0x11001600150000: 0, + 0x11001600150001: 0, + 0x11001600160000: 0, + 0x11001600160001: 0, + 0x11001600170000: 3, + 0x11001600170001: 1, + 0x11001600180000: 3, + 0x11001600180001: 1, + 0x11001600190000: 1, + 0x11001600190001: 1, + 0x110016001A0000: 0, + 0x110016001A0001: 0, + 0x110016001B0000: 0, + 0x110016001B0001: 0, + 0x110016001C0000: 0, + 0x110016001C0001: 0, + 0x110016001D0000: 0, + 0x110016001D0001: 0, + 0x11001700010000: 3, + 0x11001700010001: 3, + 0x11001700020000: 3, + 0x11001700020001: 3, + 0x11001700030000: 3, + 0x11001700030001: 1, + 0x11001700040000: 3, + 0x11001700040001: 3, + 0x11001700050000: 3, + 0x11001700050001: 3, + 0x11001700060000: 3, + 0x11001700060001: 1, + 0x11001700070000: 3, + 0x11001700070001: 1, + 0x11001700080000: 3, + 0x11001700080001: 1, + 0x11001700090000: 3, + 0x11001700090001: 3, + 0x110017000A0000: 3, + 0x110017000A0001: 3, + 0x11001700100000: 3, + 0x11001700100001: 1, + 0x11001700110000: 3, + 0x11001700110001: 1, + 0x11001700120000: 3, + 0x11001700120001: 1, + 0x11001700130000: 3, + 0x11001700130001: 1, + 0x11001700140000: 3, + 0x11001700140001: 1, + 0x11001700150000: 3, + 0x11001700150001: 1, + 0x11001700160000: 3, + 0x11001700160001: 1, + 0x11001700170000: 3, + 0x11001700170001: 3, + 0x11001700180000: 3, + 0x11001700180001: 3, + 0x11001700190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001700190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x110017001A0000: 3, + 0x110017001A0001: 1, + 0x110017001B0000: 7, + 0x110017001B0001: 5, + 0x110017001C0000: 3, + 0x110017001C0001: 1, + 0x110017001D0000: 3, + 0x110017001D0001: 1, + 0x11001800010000: 0, + 0x11001800010001: 2, + 0x11001800020000: 1, + 0x11001800020001: 3, + 0x11001800030000: 2, + 0x11001800030001: 0, + 0x11001800040000: 1, + 0x11001800040001: 3, + 0x11001800050000: 1, + 0x11001800050001: 3, + 0x11001800060000: 3, + 0x11001800060001: 1, + 0x11001800070000: 3, + 0x11001800070001: 1, + 0x11001800080000: 3, + 0x11001800080001: 1, + 0x11001800090000: 1, + 0x11001800090001: 3, + 0x110018000A0000: 1, + 0x110018000A0001: 3, + 0x11001800100000: 3, + 0x11001800100001: 1, + 0x11001800110000: 2, + 0x11001800110001: 0, + 0x11001800120000: 3, + 0x11001800120001: 1, + 0x11001800130000: 2, + 0x11001800130001: 0, + 0x11001800140000: 3, + 0x11001800140001: 1, + 0x11001800150000: 3, + 0x11001800150001: 1, + 0x11001800160000: 3, + 0x11001800160001: 1, + 0x11001800170000: 0, + 0x11001800170001: 2, + 0x11001800180000: 0, + 0x11001800180001: 2, + 0x11001800190000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0x11001800190001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 + 0x110018001A0000: 3, + 0x110018001A0001: 1, + 0x110018001B0000: 7, + 0x110018001B0001: 5, + 0x110018001C0000: 3, + 0x110018001C0001: 1, + 0x110018001D0000: 3, + 0x110018001D0001: 1, + 0x11001900010000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 + 0x11001900010001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 + 0x11001900020000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11001900020001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11001900030000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0x11001900030001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0x11001900040000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11001900040001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11001900050000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11001900050001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11001900060000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900060001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900070000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900070001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900080000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900080001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900090000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11001900090001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x110019000A0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x110019000A0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + 0x11001900100000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900100001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900110000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0x11001900110001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0x11001900120000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900120001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900130000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0x11001900130001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + 0x11001900140000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900140001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900150000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900150001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900160000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900160001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001900170000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 + 0x11001900170001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 + 0x11001900180000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 + 0x11001900180001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC, # noqa: E501 + 0x11001900190000: 2, + 0x11001900190001: 2, + 0x110019001A0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x110019001A0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x110019001B0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB, # noqa: E501 + 0x110019001B0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB, # noqa: E501 + 0x110019001C0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x110019001C0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x110019001D0000: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x110019001D0001: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x11001A00010000: 0, + 0x11001A00010001: 0, + 0x11001A00020000: 0, + 0x11001A00020001: 0, + 0x11001A00030000: 0, + 0x11001A00030001: 0, + 0x11001A00040000: 0, + 0x11001A00040001: 0, + 0x11001A00050000: 0, + 0x11001A00050001: 0, + 0x11001A00060000: 0, + 0x11001A00060001: 0, + 0x11001A00070000: 0, + 0x11001A00070001: 0, + 0x11001A00080000: 0, + 0x11001A00080001: 0, + 0x11001A00090000: 0, + 0x11001A00090001: 0, + 0x11001A000A0000: 0, + 0x11001A000A0001: 0, + 0x11001A00100000: 0, + 0x11001A00100001: 0, + 0x11001A00110000: 0, + 0x11001A00110001: 0, + 0x11001A00120000: 0, + 0x11001A00120001: 0, + 0x11001A00130000: 0, + 0x11001A00130001: 0, + 0x11001A00140000: 0, + 0x11001A00140001: 0, + 0x11001A00150000: 0, + 0x11001A00150001: 0, + 0x11001A00160000: 0, + 0x11001A00160001: 0, + 0x11001A00170000: 0, + 0x11001A00170001: 0, + 0x11001A00180000: 0, + 0x11001A00180001: 0, + 0x11001A00190000: 0, + 0x11001A00190001: 0, + 0x11001A001A0000: 0, + 0x11001A001A0001: 0, + 0x11001A001B0000: 0, + 0x11001A001B0001: 0, + 0x11001A001C0000: 0, + 0x11001A001C0001: 0, + 0x11001A001D0000: 0, + 0x11001A001D0001: 0, + 0x11001B00010000: 24, + 0x11001B00010001: 8, + 0x11001B00020000: 12, + 0x11001B00020001: 4, + 0x11001B00030000: 6, + 0x11001B00030001: 2, + 0x11001B00040000: 12, + 0x11001B00040001: 4, + 0x11001B00050000: 12, + 0x11001B00050001: 4, + 0x11001B00060000: 3, + 0x11001B00060001: 1, + 0x11001B00070000: 3, + 0x11001B00070001: 1, + 0x11001B00080000: 3, + 0x11001B00080001: 1, + 0x11001B00090000: 12, + 0x11001B00090001: 4, + 0x11001B000A0000: 12, + 0x11001B000A0001: 4, + 0x11001B00100000: 3, + 0x11001B00100001: 1, + 0x11001B00110000: 6, + 0x11001B00110001: 2, + 0x11001B00120000: 3, + 0x11001B00120001: 1, + 0x11001B00130000: 6, + 0x11001B00130001: 2, + 0x11001B00140000: 3, + 0x11001B00140001: 1, + 0x11001B00150000: 3, + 0x11001B00150001: 1, + 0x11001B00160000: 3, + 0x11001B00160001: 1, + 0x11001B00170000: 24, + 0x11001B00170001: 8, + 0x11001B00180000: 24, + 0x11001B00180001: 8, + 0x11001B00190000: 0, + 0x11001B00190001: 0, + 0x11001B001A0000: 3, + 0x11001B001A0001: 1, + 0x11001B001B0000: 48, + 0x11001B001B0001: 16, + 0x11001B001C0000: 3, + 0x11001B001C0001: 1, + 0x11001B001D0000: 3, + 0x11001B001D0001: 1, + 0x11001C00010000: 0, + 0x11001C00010001: 0, + 0x11001C00020000: 0, + 0x11001C00020001: 0, + 0x11001C00030000: 1, + 0x11001C00030001: 0, + 0x11001C00040000: 0, + 0x11001C00040001: 0, + 0x11001C00050000: 0, + 0x11001C00050001: 0, + 0x11001C00060000: 3, + 0x11001C00060001: 1, + 0x11001C00070000: 3, + 0x11001C00070001: 1, + 0x11001C00080000: 3, + 0x11001C00080001: 1, + 0x11001C00090000: 0, + 0x11001C00090001: 0, + 0x11001C000A0000: 0, + 0x11001C000A0001: 0, + 0x11001C00100000: 3, + 0x11001C00100001: 1, + 0x11001C00110000: 1, + 0x11001C00110001: 0, + 0x11001C00120000: 3, + 0x11001C00120001: 1, + 0x11001C00130000: 1, + 0x11001C00130001: 0, + 0x11001C00140000: 3, + 0x11001C00140001: 1, + 0x11001C00150000: 3, + 0x11001C00150001: 1, + 0x11001C00160000: 3, + 0x11001C00160001: 1, + 0x11001C00170000: 0, + 0x11001C00170001: 0, + 0x11001C00180000: 0, + 0x11001C00180001: 0, + 0x11001C00190000: 0, + 0x11001C00190001: 0, + 0x11001C001A0000: 3, + 0x11001C001A0001: 1, + 0x11001C001B0000: 0, + 0x11001C001B0001: 0, + 0x11001C001C0000: 3, + 0x11001C001C0001: 1, + 0x11001C001D0000: 3, + 0x11001C001D0001: 1, + 0x11001D00010000: 0, + 0x11001D00010001: 0, + 0x11001D00020000: 0, + 0x11001D00020001: 0, + 0x11001D00030000: 1, + 0x11001D00030001: 0, + 0x11001D00040000: 0, + 0x11001D00040001: 0, + 0x11001D00050000: 0, + 0x11001D00050001: 0, + 0x11001D00060000: 3, + 0x11001D00060001: 1, + 0x11001D00070000: 3, + 0x11001D00070001: 1, + 0x11001D00080000: 3, + 0x11001D00080001: 1, + 0x11001D00090000: 0, + 0x11001D00090001: 0, + 0x11001D000A0000: 0, + 0x11001D000A0001: 0, + 0x11001D00100000: 3, + 0x11001D00100001: 1, + 0x11001D00110000: 1, + 0x11001D00110001: 0, + 0x11001D00120000: 3, + 0x11001D00120001: 1, + 0x11001D00130000: 1, + 0x11001D00130001: 0, + 0x11001D00140000: 3, + 0x11001D00140001: 1, + 0x11001D00150000: 3, + 0x11001D00150001: 1, + 0x11001D00160000: 3, + 0x11001D00160001: 1, + 0x11001D00170000: 0, + 0x11001D00170001: 0, + 0x11001D00180000: 0, + 0x11001D00180001: 0, + 0x11001D00190000: 0, + 0x11001D00190001: 0, + 0x11001D001A0000: 3, + 0x11001D001A0001: 1, + 0x11001D001B0000: 0, + 0x11001D001B0001: 0, + 0x11001D001C0000: 3, + 0x11001D001C0001: 1, + 0x11001D001D0000: 3, + 0x11001D001D0001: 1, + }, + ), + } + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmBitwiseLogicOperation/__init__.py b/tests/ported_static/vmBitwiseLogicOperation/__init__.py new file mode 100644 index 00000000000..bb147a0e458 --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/__init__.py @@ -0,0 +1 @@ +"""Ported static tests: vmBitwiseLogicOperation.""" # noqa: N999 diff --git a/tests/ported_static/vmBitwiseLogicOperation/test_and.py b/tests/ported_static/vmBitwiseLogicOperation/test_and.py new file mode 100644 index 00000000000..2e1e6e6c5aa --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/test_and.py @@ -0,0 +1,253 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmBitwiseLogicOperation/andFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmBitwiseLogicOperation/andFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="and_2_2", + ), + pytest.param( + 1, + 0, + 0, + id="and_2_1", + ), + pytest.param( + 2, + 0, + 0, + id="and_3_1", + ), + pytest.param( + 3, + 0, + 0, + id="and_allones_bignum", + ), + pytest.param( + 4, + 0, + 0, + id="and_allones_eefee", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_and( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (and 2 2) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.AND(0x2, 0x2)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (and 2 1) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.AND(0x2, 0x1)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (and 3 1) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.AND(0x3, 0x1)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # ; "and 0xffffff" doesn't do anything + # [[0]] (and + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # 0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef # noqa: E501 + # ) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.AND( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; "and 0xffffff" doesn't do anything + # [[0]] (and + # 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee # noqa: E501 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # ) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.AND( + 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 2})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={ + 0: 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={ + 0: 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_5, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmBitwiseLogicOperation/test_byte.py b/tests/ported_static/vmBitwiseLogicOperation/test_byte.py new file mode 100644 index 00000000000..cef895aa73f --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/test_byte.py @@ -0,0 +1,472 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmBitwiseLogicOperation/byteFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmBitwiseLogicOperation/byteFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="byte_31_big", + ), + pytest.param( + 1, + 0, + 0, + id="byte_30_big", + ), + pytest.param( + 2, + 0, + 0, + id="byte_29_big", + ), + pytest.param( + 3, + 0, + 0, + id="byte_28_big", + ), + pytest.param( + 4, + 0, + 0, + id="byte_27_big", + ), + pytest.param( + 5, + 0, + 0, + id="byte_26_big", + ), + pytest.param( + 6, + 0, + 0, + id="byte_25_big", + ), + pytest.param( + 7, + 0, + 0, + id="byte_24_big", + ), + pytest.param( + 8, + 0, + 0, + id="byte_00_big", + ), + pytest.param( + 9, + 0, + 0, + id="byte_00_big_2nd", + ), + pytest.param( + 10, + 0, + 0, + id="byte_asm", + ), + pytest.param( + 11, + 0, + 0, + id="byte_all", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_byte( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0x000000000000000000000000000000000000100A) + contract_11 = Address(0x0000000000000000000000000000000000000200) + contract_12 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (byte (- 31 0) 0x8040201008040201) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.BYTE(Op.SUB(0x1F, 0x0), 0x8040201008040201) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (byte (- 31 1) 0x8040201008040201) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.BYTE(Op.SUB(0x1F, 0x1), 0x8040201008040201) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (byte (- 31 2) 0x8040201008040201) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.BYTE(Op.SUB(0x1F, 0x2), 0x8040201008040201) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (byte (- 31 3) 0x8040201008040201) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.BYTE(Op.SUB(0x1F, 0x3), 0x8040201008040201) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (byte (- 31 4) 0x8040201008040201) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.BYTE(Op.SUB(0x1F, 0x4), 0x8040201008040201) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (byte (- 31 5) 0x8040201008040201) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.BYTE(Op.SUB(0x1F, 0x5), 0x8040201008040201) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (byte (- 31 6) 0x8040201008040201) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.BYTE(Op.SUB(0x1F, 0x6), 0x8040201008040201) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (byte (- 31 7) 0x8040201008040201) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.BYTE(Op.SUB(0x1F, 0x7), 0x8040201008040201) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (byte (- 31 31) 0x8040201008040201) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.BYTE(Op.SUB(0x1F, 0x1F), 0x8040201008040201) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (byte (sdiv 31 32) 0x8040201008040201) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.BYTE(Op.SDIV(0x1F, 0x20), 0x8040201008040201) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: raw + # 0x641234523456601F1A8001600155 + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x1, value=Op.ADD(Op.DUP1, Op.BYTE(0x1F, 0x1234523456)) + ), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100A), # noqa: E501 + ) + # Source: lll + # { + # (def 'i 0x0100) ; index + # + # ; (byte num) = n + # (def 'num 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f) # noqa: E501 + # + # [i] 0x00 + # + # (while (< @i 0x20) { + # [[@i]] (byte @i num) + # [i] (+ @i 1) + # }) ; while loop + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x100, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x4A, condition=Op.ISZERO(Op.LT(Op.MLOAD(offset=0x100), 0x20)) + ) + + Op.SSTORE( + key=Op.MLOAD(offset=0x100), + value=Op.BYTE( + Op.MLOAD(offset=0x100), + 0x102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F, # noqa: E501 + ), + ) + + Op.MSTORE(offset=0x100, value=Op.ADD(Op.MLOAD(offset=0x100), 0x1)) + + Op.JUMP(pc=0x6) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000200), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff $4 0 0 0 0 0) + # } + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.CALLDATALOAD(offset=0x4), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 2})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 4})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 8})}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={0: 16})}, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 32})}, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_6: Account(storage={0: 64})}, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_7: Account(storage={0: 128})}, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_8: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_9: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_10: Account(storage={1: 172})}, + }, + { + "indexes": {"data": [11], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_11: Account( + storage={ + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9, + 10: 10, + 11: 11, + 12: 12, + 13: 13, + 14: 14, + 15: 15, + 16: 16, + 17: 17, + 18: 18, + 19: 19, + 20: 20, + 21: 21, + 22: 22, + 23: 23, + 24: 24, + 25: 25, + 26: 26, + 27: 27, + 28: 28, + 29: 29, + 30: 30, + 31: 31, + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(contract_0, left_padding=True), + Bytes("693c6139") + Hash(contract_1, left_padding=True), + Bytes("693c6139") + Hash(contract_2, left_padding=True), + Bytes("693c6139") + Hash(contract_3, left_padding=True), + Bytes("693c6139") + Hash(contract_4, left_padding=True), + Bytes("693c6139") + Hash(contract_5, left_padding=True), + Bytes("693c6139") + Hash(contract_6, left_padding=True), + Bytes("693c6139") + Hash(contract_7, left_padding=True), + Bytes("693c6139") + Hash(contract_8, left_padding=True), + Bytes("693c6139") + Hash(contract_9, left_padding=True), + Bytes("693c6139") + Hash(contract_10, left_padding=True), + Bytes("693c6139") + Hash(contract_11, left_padding=True), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_12, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmBitwiseLogicOperation/test_eq.py b/tests/ported_static/vmBitwiseLogicOperation/test_eq.py new file mode 100644 index 00000000000..984a6ac969d --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/test_eq.py @@ -0,0 +1,185 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmBitwiseLogicOperation/eqFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmBitwiseLogicOperation/eqFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="eq_neg5_neg3", + ), + pytest.param( + 1, + 0, + 0, + id="eq_0_0", + ), + pytest.param( + 2, + 0, + 0, + id="eq_neg1_neg1", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_eq( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (eq (- 0 5) (- 0 3)) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, value=Op.EQ(Op.SUB(0x0, 0x5), Op.SUB(0x0, 0x3)) + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (eq 0 0) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.EQ(0x0, 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # (def 'pow_2_256_min1 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] (eq pow_2_256_min1 pow_2_256_min1) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.EQ( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmBitwiseLogicOperation/test_gt.py b/tests/ported_static/vmBitwiseLogicOperation/test_gt.py new file mode 100644 index 00000000000..cb2b7a338f9 --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/test_gt.py @@ -0,0 +1,216 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmBitwiseLogicOperation/gtFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmBitwiseLogicOperation/gtFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="gt_neg2_0", + ), + pytest.param( + 1, + 0, + 0, + id="gt_0_neg2", + ), + pytest.param( + 2, + 0, + 0, + id="gt_neg1_0", + ), + pytest.param( + 3, + 0, + 0, + id="gt_0_neg1", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_gt( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # ; (gt a b) is true iff a>b + # ; it is unsigned, so negative numbers are 2^255 and above. + # [[0]] (gt (- 0 2) 0) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GT(Op.SUB(0x0, 0x2), 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (gt 0 (- 0 2)) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GT(0x0, Op.SUB(0x0, 0x2))) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # (def 'pow_2_256_min1 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] (gt pow_2_256_min1 0) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.GT( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x0, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # (def 'pow_2_256_min1 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] (gt 0 pow_2_256_min1) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.GT( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_4, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmBitwiseLogicOperation/test_iszero.py b/tests/ported_static/vmBitwiseLogicOperation/test_iszero.py new file mode 100644 index 00000000000..e5322abb38d --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/test_iszero.py @@ -0,0 +1,181 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmBitwiseLogicOperation/iszeroFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmBitwiseLogicOperation/iszeroFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="iszero_neg1", + ), + pytest.param( + 1, + 0, + 0, + id="iszero_0", + ), + pytest.param( + 2, + 0, + 0, + id="iszero_neg2", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_iszero( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # (def 'pow_2_256_min1 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] (iszero pow_2_256_min1) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.ISZERO( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (iszero 0) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ISZERO(0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (iszero (- 0 2)) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ISZERO(Op.SUB(0x0, 0x2))) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmBitwiseLogicOperation/test_lt.py b/tests/ported_static/vmBitwiseLogicOperation/test_lt.py new file mode 100644 index 00000000000..919c01b21b5 --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/test_lt.py @@ -0,0 +1,216 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmBitwiseLogicOperation/ltFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmBitwiseLogicOperation/ltFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="lt_neg2_0", + ), + pytest.param( + 1, + 0, + 0, + id="lt_0_neg2", + ), + pytest.param( + 2, + 0, + 0, + id="lt_neg1_0", + ), + pytest.param( + 3, + 0, + 0, + id="lt_0_neg1", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_lt( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # ; (lt a b) is true iff a=Cancun"], + "result": {contract_0: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_4, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmBitwiseLogicOperation/test_not.py b/tests/ported_static/vmBitwiseLogicOperation/test_not.py new file mode 100644 index 00000000000..a9140b8e8e7 --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/test_not.py @@ -0,0 +1,292 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmBitwiseLogicOperation/notFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmBitwiseLogicOperation/notFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="not_0", + ), + pytest.param( + 1, + 0, + 0, + id="not_2", + ), + pytest.param( + 2, + 0, + 0, + id="not_allones", + ), + pytest.param( + 3, + 0, + 0, + id="not_neg2", + ), + pytest.param( + 4, + 0, + 0, + id="not_neg_2_pow_256", + ), + pytest.param( + 5, + 0, + 0, + id="not_neg0", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_not( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (not 0) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.NOT(0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (not 2) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.NOT(0x2)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # (def 'pow_2_256_min1 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) + # [[0]] (not pow_2_256_min1) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.NOT( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # ; In evm arithmetic -2 = 256^2-2 + # ; 256^2-1 is in binary all ones + # ; so 256^2-2 is all ones except for the least significant bit, which is 0 # noqa: E501 + # ; and the not all zeros except for the least significant bit, which is 1 # noqa: E501 + # [[0]] (not (- 0 2)) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.NOT(Op.SUB(0x0, 0x2))) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; -(2^256-1) = 1 + # ; not 1 is 0x ff...ffe + # (def 'pow_2_256_min1 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) + # [[0]] (not (- 0 pow_2_256_min1)) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.NOT( + Op.SUB( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # ; not 00..00 is 11..11 + # [[0]] (not (- 0 0)) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.NOT(Op.SUB(0x0, 0x0))) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_6, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmBitwiseLogicOperation/test_or.py b/tests/ported_static/vmBitwiseLogicOperation/test_or.py new file mode 100644 index 00000000000..b6fb91037cd --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/test_or.py @@ -0,0 +1,293 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmBitwiseLogicOperation/orFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmBitwiseLogicOperation/orFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="or_2_2", + ), + pytest.param( + 1, + 0, + 0, + id="or_2_1", + ), + pytest.param( + 2, + 0, + 0, + id="or_3_1", + ), + pytest.param( + 3, + 0, + 0, + id="or_allones_bignum", + ), + pytest.param( + 4, + 0, + 0, + id="or_allones_1110s", + ), + pytest.param( + 5, + 0, + 0, + id="or_allones_eefee", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_or( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (or 2 2) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.OR(0x2, 0x2)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (or 2 1) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.OR(0x2, 0x1)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (or 3 1) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.OR(0x3, 0x1)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # ; "or 0xfff..fff" gives you 0xfff..fff + # [[0]] (or + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # 0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef # noqa: E501 + # ) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.OR( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; "or 0xfff..fff" gives you 0xfff..fff + # [[0]] (or + # 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee # noqa: E501 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # ) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.OR( + 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # ; "or 0xfff..fff" gives you 0xfff..fff + # [[0]] (or + # 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee # noqa: E501 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # ) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.OR( + 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 2})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 3})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 3})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_6, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmBitwiseLogicOperation/test_sgt.py b/tests/ported_static/vmBitwiseLogicOperation/test_sgt.py new file mode 100644 index 00000000000..9ef6611e112 --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/test_sgt.py @@ -0,0 +1,216 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmBitwiseLogicOperation/sgtFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmBitwiseLogicOperation/sgtFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="sgt_neg2_0", + ), + pytest.param( + 1, + 0, + 0, + id="sgt_0_neg2", + ), + pytest.param( + 2, + 0, + 0, + id="sgt_neg1_0", + ), + pytest.param( + 3, + 0, + 0, + id="sgt_0_neg1", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_sgt( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # ; (sgt a b) is true iff a>b + # ; it is signed, so negative numbers are smaller than positive ones + # [[0]] (sgt (- 0 2) 0) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SGT(Op.SUB(0x0, 0x2), 0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (sgt 0 (- 0 2)) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SGT(0x0, Op.SUB(0x0, 0x2))) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # (def 'pow_2_256_min1 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] (sgt pow_2_256_min1 0) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SGT( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x0, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # (def 'pow_2_256_min1 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] (sgt 0 pow_2_256_min1) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SGT( + 0x0, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_4, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmBitwiseLogicOperation/test_slt.py b/tests/ported_static/vmBitwiseLogicOperation/test_slt.py new file mode 100644 index 00000000000..08f97475d62 --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/test_slt.py @@ -0,0 +1,216 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmBitwiseLogicOperation/sltFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmBitwiseLogicOperation/sltFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="slt_neg2_0", + ), + pytest.param( + 1, + 0, + 0, + id="slt_0_neg2", + ), + pytest.param( + 2, + 0, + 0, + id="slt_neg1_0", + ), + pytest.param( + 3, + 0, + 0, + id="slt_0_neg1", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_slt( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # ; (slt a b) is true iff a=Cancun"], + "result": {contract_0: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_4, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmBitwiseLogicOperation/test_xor.py b/tests/ported_static/vmBitwiseLogicOperation/test_xor.py new file mode 100644 index 00000000000..556ace51848 --- /dev/null +++ b/tests/ported_static/vmBitwiseLogicOperation/test_xor.py @@ -0,0 +1,293 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmBitwiseLogicOperation/xorFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmBitwiseLogicOperation/xorFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="xor_2_2", + ), + pytest.param( + 1, + 0, + 0, + id="xor_2_1", + ), + pytest.param( + 2, + 0, + 0, + id="xor_3_1", + ), + pytest.param( + 3, + 0, + 0, + id="xor_allones_bignum", + ), + pytest.param( + 4, + 0, + 0, + id="xor_allones_1110s", + ), + pytest.param( + 5, + 0, + 0, + id="xor_allones_eefee", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_xor( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (xor 2 2) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.XOR(0x2, 0x2)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (xor 2 1) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.XOR(0x2, 0x1)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (xor 3 1) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.XOR(0x3, 0x1)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # ; "xor 0xfff..fff" is equivalent to not + # [[0]] (xor + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # 0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef # noqa: E501 + # ) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.XOR( + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; "or 0xfff..fff" gives you 0xfff..fff + # [[0]] (xor + # 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee # noqa: E501 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # ) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.XOR( + 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # ; "or 0xfff..fff" gives you 0xfff..fff + # [[0]] (xor + # 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee # noqa: E501 + # 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff # noqa: E501 + # ) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.XOR( + 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, # noqa: E501 + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 3})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 2})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={ + 0: 0xFEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={ + 0: 0x1111111111111111111111111111111111111111111111111111111111111111, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0x1111111111111111111111111111101111111111111111111111111111111111, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_6, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/__init__.py b/tests/ported_static/vmIOandFlowOperations/__init__.py new file mode 100644 index 00000000000..f10fc68dc27 --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/__init__.py @@ -0,0 +1 @@ +"""Ported static tests: vmIOandFlowOperations.""" # noqa: N999 diff --git a/tests/ported_static/vmIOandFlowOperations/test_codecopy.py b/tests/ported_static/vmIOandFlowOperations/test_codecopy.py new file mode 100644 index 00000000000..b3fca1334fe --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_codecopy.py @@ -0,0 +1,374 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/codecopyFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/codecopyFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="codecopy", + ), + pytest.param( + 1, + 0, + 0, + id="codecopy_infbuff", + ), + pytest.param( + 2, + 0, + 0, + id="codecopy_bigbuff", + ), + pytest.param( + 3, + 0, + 0, + id="codecopy_2buff", + ), + pytest.param( + 4, + 0, + 0, + id="codecopy_opcodes", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_codecopy( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # ; Copy our code into [[0]] and [[1]] + # (codecopy 0 0 0x40) + # [[0]] @0 + # [[1]] @0x20 + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x40) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # ; Copy our code into [[0]] and [[1]] + # (codecopy 0 0 (- 0 1)) + # [[0]] @0 + # [[1]] @0x20 + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY(dest_offset=0x0, offset=0x0, size=Op.SUB(0x0, 0x1)) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # ; Copy our code into [[0]] and [[1]] + # (codecopy 0 0 0x1000) + # [[0]] @0 + # [[1]] @0x20 + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x1000) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # ; Waste some space so we'll be over 0x20 bytes of code + # [0x100] (+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16) + # + # ; Copy our code into [[0]] and [[1]] + # (codecopy 0 0 0x20) + # (codecopy 0x20 0x20 0x40) + # [[0]] @0 + # [[1]] @0x20 + # [[2]] @0x40 + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x100, + value=Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + Op.ADD( + 0x1, + 0x2, + ), + 0x3, + ), + 0x4, + ), + 0x5, + ), + 0x6, + ), + 0x7, + ), + 0x8, + ), + 0x9, + ), + 0xA, + ), + 0xB, + ), + 0xC, + ), + 0xD, + ), + 0xE, + ), + 0xF, + ), + 0x10, + ), + ) + + Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x20) + + Op.CODECOPY(dest_offset=0x20, offset=0x20, size=0x40) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x40)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; Get our size + # [[0xFF]] (codesize) + # + # ; Copy our code to memory + # (codecopy 0 0 @@0xFF) + # + # ; Make it clear the storage we use gets overwritten + # [[0]] 0x60A7 + # [[1]] 0x60A7 + # [[2]] 0x60A7 + # + # ; Copy the memory into storage + # [[0]] @0x00 + # [[1]] @0x20 + # [[2]] @0x40 + # [[3]] @0x60 + # [[4]] @0x80 + # [[5]] @0xA0 + # + # ; Potentially problematic opcodes + # (stop) + # (selfdestruct 0xDEAD) + # (return 0x0 @@0xFF) + # (delegatecall 0xFF 0xEE 0xDD 0xCC 0xBB 0xAA) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0xFF, value=Op.CODESIZE) + + Op.CODECOPY(dest_offset=0x0, offset=0x0, size=Op.SLOAD(key=0xFF)) + + Op.SSTORE(key=0x0, value=0x60A7) + + Op.SSTORE(key=0x1, value=0x60A7) + + Op.SSTORE(key=0x2, value=0x60A7) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.SSTORE(key=0x2, value=Op.MLOAD(offset=0x40)) + + Op.SSTORE(key=0x3, value=Op.MLOAD(offset=0x60)) + + Op.SSTORE(key=0x4, value=Op.MLOAD(offset=0x80)) + + Op.SSTORE(key=0x5, value=Op.MLOAD(offset=0xA0)) + + Op.STOP + + Op.SELFDESTRUCT(address=0xDEAD) + + Op.RETURN(offset=0x0, size=Op.SLOAD(key=0xFF)) + + Op.DELEGATECALL( + gas=0xFF, + address=0xEE, + args_offset=0xDD, + args_size=0xCC, + ret_offset=0xBB, + ret_size=0xAA, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall 0xffffff (+ 0x1000 $4) 0 0 0 0) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0x6040600060003960005160005560205160015500000000000000000000000000, # noqa: E501 + 1: 0, + }, + ), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0x6110006000600039600051600055602051600155000000000000000000000000, # noqa: E501 + 1: 0, + }, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 0, 1: 0})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0x6010600F600E600D600C600B600A600960086007600660056004600360026001, # noqa: E501 + 1: 0x101010101010101010101010101016101005260206000600039604060206020, # noqa: E501 + 2: 0x3960005160005560205160015560405160025500000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0x3860FF5560FF5460006000396160A76000556160A76001556160A76002556000, # noqa: E501 + 1: 0x5160005560205160015560405160025560605160035560805160045560A05160, # noqa: E501 + 2: 0x5550061DEADFF60FF546000F360AA60BB60CC60DD60EE60FFF4000000000000, # noqa: E501 + 255: 91, + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_5, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_gas.py b/tests/ported_static/vmIOandFlowOperations/test_gas.py new file mode 100644 index 00000000000..34d8c2f72cb --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_gas.py @@ -0,0 +1,156 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/gasFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/gasFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.valid_until("Prague") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="gas1", + ), + pytest.param( + 1, + 0, + 0, + id="gas2", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_gas( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [0] 0xffffffffff + # [90] 0xeeee + # [[0]] (gas) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xFFFFFFFFFF) + + Op.MSTORE(offset=0x5A, value=0xEEEE) + + Op.SSTORE(key=0x0, value=Op.GAS) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (gas) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GAS) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0x000000000000000000000000000000000000100A) + contract_11 = Address(0x000000000000000000000000000000000000100B) + contract_12 = Address(0x000000000000000000000000000000000000100C) + contract_13 = Address(0x000000000000000000000000000000000000100D) + contract_14 = Address(0x000000000000000000000000000000000000100E) + contract_15 = Address(0x000000000000000000000000000000000000100F) + contract_16 = Address(0x0000000000000000000000000000000000001010) + contract_17 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] 0x600D + # (asm 0x10 0x20 mul jump jumpdest) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMP(pc=Op.MUL(0x20, 0x10)) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0x600D + # (asm 0x01 0x10 0x20 mul jumpi jumpdest) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPI(pc=Op.MUL(0x20, 0x10), condition=0x1) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: raw + # 0x600456005B61600D60005500 + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0x4) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0x600D + # (asm 0x0fffffff jump) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMP(pc=0xFFFFFFF) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: raw + # 0x602360085660015b600255 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x23] + + Op.JUMP(pc=0x8) + + Op.PUSH1[0x1] + + Op.JUMPDEST + + Op.PUSH1[0x2] + + Op.SSTORE, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: raw + # 0x61600D6000555B600656 + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + Op.JUMPDEST + Op.JUMP(pc=0x6), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: raw + # 0x61600D60085660FF5B600055 + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH2[0x600D] + + Op.JUMP(pc=0x8) + + Op.PUSH1[0xFF] + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SSTORE, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: raw + # 0x600B565B61600D600055005B600356 + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0xB) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP + + Op.JUMPDEST + + Op.JUMP(pc=0x3), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: raw + # 0x600260050156005B61600D600055 + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=Op.ADD(0x5, 0x2)) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: raw + # 0x60055600605B61600D600055 + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0x5) + + Op.STOP + + Op.PUSH1[0x5B] + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: raw + # 0x60055600600161600D600055 + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0x5) + + Op.STOP + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100A), # noqa: E501 + ) + # Source: raw + # 0x61600D600055600B565A5B5A600155 + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMP(pc=0xB) + + Op.GAS + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.GAS), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100B), # noqa: E501 + ) + # Source: raw + # 0x61600D6000556009565A5B5A600155 + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMP(pc=0x9) + + Op.GAS + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.GAS), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100C), # noqa: E501 + ) + # Source: raw + # 0x6801000000000000000b565b5b6001600155 + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0x1000000000000000B) + + Op.JUMPDEST * 2 + + Op.SSTORE(key=0x1, value=0x1), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100D), # noqa: E501 + ) + # Source: raw + # 0x640100000007565b5b6001600155 + contract_14 = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0x100000007) + + Op.JUMPDEST * 2 + + Op.SSTORE(key=0x1, value=0x1), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100E), # noqa: E501 + ) + # Source: lll + # { + # @0 (- 0 1) + # (asm 0 mload jump 0x600D 0x00 sstore) + # } + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.MLOAD(offset=0x0)) + + Op.POP(Op.SUB(0x0, 0x1)) + + Op.JUMP(pc=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100F), # noqa: E501 + ) + # Source: raw + # 0x600E565B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B61600D600055 + contract_16 = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0xE) + + Op.JUMPDEST * 16 + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001010), # noqa: E501 + ) + # Source: lll + # { + # ; limited gas because of the endless loop + # (delegatecall 0x10000 (+ 0x1000 $4) 0 0 0 0) + # } + contract_17 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x10000, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [0, 1, 3, 4, 5, 9, 10, 11, 12, 13, 14, 15], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_17: Account(storage={0: 2989})}, + }, + { + "indexes": {"data": [2, 6, 7, 8, 16], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_17: Account(storage={0: 24589})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + Bytes("693c6139") + Hash(0x9), + Bytes("693c6139") + Hash(0xA), + Bytes("693c6139") + Hash(0xB), + Bytes("693c6139") + Hash(0xC), + Bytes("693c6139") + Hash(0xD), + Bytes("693c6139") + Hash(0xE), + Bytes("693c6139") + Hash(0xF), + Bytes("693c6139") + Hash(0x10), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_17, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_jump_to_push.py b/tests/ported_static/vmIOandFlowOperations/test_jump_to_push.py new file mode 100644 index 00000000000..8bc1c31d636 --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_jump_to_push.py @@ -0,0 +1,1817 @@ +""" +Test_jump_to_push. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/jumpToPushFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/jumpToPushFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 1, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 2, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 3, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 4, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 5, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 6, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 7, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 8, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 9, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 10, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 11, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 12, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 13, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 14, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 15, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 16, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 17, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 18, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 19, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 20, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 21, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 22, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 23, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 24, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 25, + 0, + 0, + id="jump-ok", + ), + pytest.param( + 26, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 27, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 28, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 29, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 30, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 31, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 32, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 33, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 34, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 35, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 36, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 37, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 38, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 39, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 40, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 41, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 42, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 43, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 44, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 45, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 46, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 47, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 48, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 49, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 50, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 51, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 52, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 53, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 54, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 55, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 56, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 57, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 58, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 59, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 60, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 61, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 62, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 63, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 64, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 65, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 66, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 67, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 68, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 69, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 70, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 71, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 72, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 73, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 74, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 75, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 76, + 0, + 0, + id="jump-fail", + ), + pytest.param( + 77, + 0, + 0, + id="jump-fail", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_jump_to_push( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Test_jump_to_push.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x000000000000000000000000000000000000001A) + contract_1 = Address(0x000000000000000000000000000000000000001B) + contract_2 = Address(0x000000000000000000000000000000000000002A) + contract_3 = Address(0x000000000000000000000000000000000000002B) + contract_4 = Address(0x000000000000000000000000000000000000002C) + contract_5 = Address(0x000000000000000000000000000000000000003A) + contract_6 = Address(0x000000000000000000000000000000000000003B) + contract_7 = Address(0x000000000000000000000000000000000000003C) + contract_8 = Address(0x000000000000000000000000000000000000004A) + contract_9 = Address(0x000000000000000000000000000000000000004B) + contract_10 = Address(0x000000000000000000000000000000000000004C) + contract_11 = Address(0x000000000000000000000000000000000000005A) + contract_12 = Address(0x000000000000000000000000000000000000005B) + contract_13 = Address(0x000000000000000000000000000000000000005C) + contract_14 = Address(0x000000000000000000000000000000000000006A) + contract_15 = Address(0x000000000000000000000000000000000000006B) + contract_16 = Address(0x000000000000000000000000000000000000006C) + contract_17 = Address(0x000000000000000000000000000000000000007A) + contract_18 = Address(0x000000000000000000000000000000000000007B) + contract_19 = Address(0x000000000000000000000000000000000000007C) + contract_20 = Address(0x000000000000000000000000000000000000008A) + contract_21 = Address(0x000000000000000000000000000000000000008B) + contract_22 = Address(0x000000000000000000000000000000000000008C) + contract_23 = Address(0x000000000000000000000000000000000000009A) + contract_24 = Address(0x000000000000000000000000000000000000009B) + contract_25 = Address(0x000000000000000000000000000000000000009C) + contract_26 = Address(0x00000000000000000000000000000000000000AA) + contract_27 = Address(0x00000000000000000000000000000000000000AB) + contract_28 = Address(0x00000000000000000000000000000000000000AC) + contract_29 = Address(0x00000000000000000000000000000000000000BA) + contract_30 = Address(0x00000000000000000000000000000000000000BB) + contract_31 = Address(0x00000000000000000000000000000000000000BC) + contract_32 = Address(0x00000000000000000000000000000000000000CA) + contract_33 = Address(0x00000000000000000000000000000000000000CB) + contract_34 = Address(0x00000000000000000000000000000000000000CC) + contract_35 = Address(0x00000000000000000000000000000000000000DA) + contract_36 = Address(0x00000000000000000000000000000000000000DB) + contract_37 = Address(0x00000000000000000000000000000000000000DC) + contract_38 = Address(0x00000000000000000000000000000000000000EA) + contract_39 = Address(0x00000000000000000000000000000000000000EB) + contract_40 = Address(0x00000000000000000000000000000000000000EC) + contract_41 = Address(0x00000000000000000000000000000000000000FA) + contract_42 = Address(0x00000000000000000000000000000000000000FB) + contract_43 = Address(0x00000000000000000000000000000000000000FC) + contract_44 = Address(0x000000000000000000000000000000000000010A) + contract_45 = Address(0x000000000000000000000000000000000000010B) + contract_46 = Address(0x000000000000000000000000000000000000010C) + contract_47 = Address(0x000000000000000000000000000000000000011A) + contract_48 = Address(0x000000000000000000000000000000000000011B) + contract_49 = Address(0x000000000000000000000000000000000000011C) + contract_50 = Address(0x000000000000000000000000000000000000012A) + contract_51 = Address(0x000000000000000000000000000000000000012B) + contract_52 = Address(0x000000000000000000000000000000000000012C) + contract_53 = Address(0x000000000000000000000000000000000000013A) + contract_54 = Address(0x000000000000000000000000000000000000013B) + contract_55 = Address(0x000000000000000000000000000000000000013C) + contract_56 = Address(0x000000000000000000000000000000000000014A) + contract_57 = Address(0x000000000000000000000000000000000000014B) + contract_58 = Address(0x000000000000000000000000000000000000014C) + contract_59 = Address(0x000000000000000000000000000000000000015A) + contract_60 = Address(0x000000000000000000000000000000000000015B) + contract_61 = Address(0x000000000000000000000000000000000000015C) + contract_62 = Address(0x000000000000000000000000000000000000016A) + contract_63 = Address(0x000000000000000000000000000000000000016B) + contract_64 = Address(0x000000000000000000000000000000000000016C) + contract_65 = Address(0x000000000000000000000000000000000000017A) + contract_66 = Address(0x000000000000000000000000000000000000017B) + contract_67 = Address(0x000000000000000000000000000000000000017C) + contract_68 = Address(0x000000000000000000000000000000000000018A) + contract_69 = Address(0x000000000000000000000000000000000000018B) + contract_70 = Address(0x000000000000000000000000000000000000018C) + contract_71 = Address(0x000000000000000000000000000000000000019A) + contract_72 = Address(0x000000000000000000000000000000000000019B) + contract_73 = Address(0x000000000000000000000000000000000000019C) + contract_74 = Address(0x00000000000000000000000000000000000001AA) + contract_75 = Address(0x00000000000000000000000000000000000001AB) + contract_76 = Address(0x00000000000000000000000000000000000001AC) + contract_77 = Address(0x00000000000000000000000000000000000001BA) + contract_78 = Address(0x00000000000000000000000000000000000001BB) + contract_79 = Address(0x00000000000000000000000000000000000001BC) + contract_80 = Address(0x00000000000000000000000000000000000001CA) + contract_81 = Address(0x00000000000000000000000000000000000001CB) + contract_82 = Address(0x00000000000000000000000000000000000001CC) + contract_83 = Address(0x00000000000000000000000000000000000001DA) + contract_84 = Address(0x00000000000000000000000000000000000001DB) + contract_85 = Address(0x00000000000000000000000000000000000001DC) + contract_86 = Address(0x00000000000000000000000000000000000001EA) + contract_87 = Address(0x00000000000000000000000000000000000001EB) + contract_88 = Address(0x00000000000000000000000000000000000001EC) + contract_89 = Address(0x00000000000000000000000000000000000001FA) + contract_90 = Address(0x00000000000000000000000000000000000001FB) + contract_91 = Address(0x00000000000000000000000000000000000001FC) + contract_92 = Address(0x000000000000000000000000000000000000020A) + contract_93 = Address(0x000000000000000000000000000000000000020B) + contract_94 = Address(0x000000000000000000000000000000000000020C) + contract_95 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: raw + # 0x6001600055600A56605B5B + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xA) + + Op.PUSH1[0x5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000001A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956605B5B + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH1[0x5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000001B), # noqa: E501 + ) + # Source: raw + # 0x6001600055600B56615B5B5B + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xB) + + Op.PUSH2[0x5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000002A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956615B5B5B + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH2[0x5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000002B), # noqa: E501 + ) + # Source: raw + # 0x6001600055600A56615B5B5B + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xA) + + Op.PUSH2[0x5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000002C), # noqa: E501 + ) + # Source: raw + # 0x6001600055600C56625B5B5B5B + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xC) + + Op.PUSH3[0x5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000003A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956625B5B5B5B + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH3[0x5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000003B), # noqa: E501 + ) + # Source: raw + # 0x6001600055600B56625B5B5B5B + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xB) + + Op.PUSH3[0x5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000003C), # noqa: E501 + ) + # Source: raw + # 0x6001600055600D56635B5B5B5B5B + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xD) + + Op.PUSH4[0x5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000004A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956635B5B5B5B5B + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH4[0x5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000004B), # noqa: E501 + ) + # Source: raw + # 0x6001600055600C56635B5B5B5B5B + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xC) + + Op.PUSH4[0x5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000004C), # noqa: E501 + ) + # Source: raw + # 0x6001600055600E56645B5B5B5B5B5B + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xE) + + Op.PUSH5[0x5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000005A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956645B5B5B5B5B5B + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH5[0x5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000005B), # noqa: E501 + ) + # Source: raw + # 0x6001600055600D56645B5B5B5B5B5B + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xD) + + Op.PUSH5[0x5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000005C), # noqa: E501 + ) + # Source: raw + # 0x6001600055600F56655B5B5B5B5B5B5B + contract_14 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xF) + + Op.PUSH6[0x5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000006A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956655B5B5B5B5B5B5B + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH6[0x5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000006B), # noqa: E501 + ) + # Source: raw + # 0x6001600055600E56655B5B5B5B5B5B5B + contract_16 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xE) + + Op.PUSH6[0x5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000006C), # noqa: E501 + ) + # Source: raw + # 0x6001600055601056665B5B5B5B5B5B5B5B + contract_17 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x10) + + Op.PUSH7[0x5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000007A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956665B5B5B5B5B5B5B5B + contract_18 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH7[0x5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000007B), # noqa: E501 + ) + # Source: raw + # 0x6001600055600F56665B5B5B5B5B5B5B5B + contract_19 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0xF) + + Op.PUSH7[0x5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000007C), # noqa: E501 + ) + # Source: raw + # 0x6001600055601156675B5B5B5B5B5B5B5B5B + contract_20 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x11) + + Op.PUSH8[0x5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000008A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956675B5B5B5B5B5B5B5B5B + contract_21 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH8[0x5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000008B), # noqa: E501 + ) + # Source: raw + # 0x6001600055601056675B5B5B5B5B5B5B5B5B + contract_22 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x10) + + Op.PUSH8[0x5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000008C), # noqa: E501 + ) + # Source: raw + # 0x6001600055601256685B5B5B5B5B5B5B5B5B5B + contract_23 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x12) + + Op.PUSH9[0x5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000009A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956685B5B5B5B5B5B5B5B5B5B + contract_24 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH9[0x5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000009B), # noqa: E501 + ) + # Source: raw + # 0x6001600055601156685B5B5B5B5B5B5B5B5B5B + contract_25 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x11) + + Op.PUSH9[0x5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000009C), # noqa: E501 + ) + # Source: raw + # 0x6001600055601356695B5B5B5B5B5B5B5B5B5B5B + contract_26 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x13) + + Op.PUSH10[0x5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000AA), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956695B5B5B5B5B5B5B5B5B5B5B + contract_27 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH10[0x5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000AB), # noqa: E501 + ) + # Source: raw + # 0x6001600055601256695B5B5B5B5B5B5B5B5B5B5B + contract_28 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x12) + + Op.PUSH10[0x5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000AC), # noqa: E501 + ) + # Source: raw + # 0x60016000556014566A5B5B5B5B5B5B5B5B5B5B5B5B + contract_29 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x14) + + Op.PUSH11[0x5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000BA), # noqa: E501 + ) + # Source: raw + # 0x60016000556009566A5B5B5B5B5B5B5B5B5B5B5B5B + contract_30 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH11[0x5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000BB), # noqa: E501 + ) + # Source: raw + # 0x60016000556013566A5B5B5B5B5B5B5B5B5B5B5B5B + contract_31 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x13) + + Op.PUSH11[0x5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000BC), # noqa: E501 + ) + # Source: raw + # 0x60016000556015566B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_32 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x15) + + Op.PUSH12[0x5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000CA), # noqa: E501 + ) + # Source: raw + # 0x60016000556009566B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_33 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH12[0x5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000CB), # noqa: E501 + ) + # Source: raw + # 0x60016000556014566B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_34 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x14) + + Op.PUSH12[0x5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000CC), # noqa: E501 + ) + # Source: raw + # 0x60016000556016566C5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_35 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x16) + + Op.PUSH13[0x5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000DA), # noqa: E501 + ) + # Source: raw + # 0x60016000556009566C5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_36 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH13[0x5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000DB), # noqa: E501 + ) + # Source: raw + # 0x60016000556015566C5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_37 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x15) + + Op.PUSH13[0x5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000DC), # noqa: E501 + ) + # Source: raw + # 0x60016000556017566D5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_38 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x17) + + Op.PUSH14[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000EA), # noqa: E501 + ) + # Source: raw + # 0x60016000556009566D5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_39 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH14[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000EB), # noqa: E501 + ) + # Source: raw + # 0x60016000556016566D5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_40 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x16) + + Op.PUSH14[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000EC), # noqa: E501 + ) + # Source: raw + # 0x60016000556018566E5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_41 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x18) + + Op.PUSH15[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000FA), # noqa: E501 + ) + # Source: raw + # 0x60016000556009566E5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_42 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH15[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000FB), # noqa: E501 + ) + # Source: raw + # 0x60016000556017566E5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_43 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x17) + + Op.PUSH15[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000000FC), # noqa: E501 + ) + # Source: raw + # 0x60016000556019566F5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_44 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x19) + + Op.PUSH16[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000010A), # noqa: E501 + ) + # Source: raw + # 0x60016000556009566F5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_45 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH16[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000010B), # noqa: E501 + ) + # Source: raw + # 0x60016000556018566F5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_46 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x18) + + Op.PUSH16[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000010C), # noqa: E501 + ) + # Source: raw + # 0x6001600055601A56705B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_47 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1A) + + Op.PUSH17[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000011A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956705B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_48 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH17[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000011B), # noqa: E501 + ) + # Source: raw + # 0x6001600055601956705B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_49 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x19) + + Op.PUSH17[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000011C), # noqa: E501 + ) + # Source: raw + # 0x6001600055601B56715B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_50 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1B) + + Op.PUSH18[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000012A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956715B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_51 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH18[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000012B), # noqa: E501 + ) + # Source: raw + # 0x6001600055601A56715B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_52 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1A) + + Op.PUSH18[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000012C), # noqa: E501 + ) + # Source: raw + # 0x6001600055601C56725B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_53 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1C) + + Op.PUSH19[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000013A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956725B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_54 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH19[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000013B), # noqa: E501 + ) + # Source: raw + # 0x6001600055601B56725B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_55 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1B) + + Op.PUSH19[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000013C), # noqa: E501 + ) + # Source: raw + # 0x6001600055601D56735B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_56 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1D) + + Op.PUSH20[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000014A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956735B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_57 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH20[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000014B), # noqa: E501 + ) + # Source: raw + # 0x6001600055601C56735B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_58 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1C) + + Op.PUSH20[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000014C), # noqa: E501 + ) + # Source: raw + # 0x6001600055601E56745B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_59 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1E) + + Op.PUSH21[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000015A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956745B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_60 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH21[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000015B), # noqa: E501 + ) + # Source: raw + # 0x6001600055601D56745B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_61 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1D) + + Op.PUSH21[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000015C), # noqa: E501 + ) + # Source: raw + # 0x6001600055601F56755B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_62 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1F) + + Op.PUSH22[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000016A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956755B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_63 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH22[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000016B), # noqa: E501 + ) + # Source: raw + # 0x6001600055601E56755B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_64 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1E) + + Op.PUSH22[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000016C), # noqa: E501 + ) + # Source: raw + # 0x6001600055602056765B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_65 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x20) + + Op.PUSH23[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000017A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956765B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_66 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH23[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000017B), # noqa: E501 + ) + # Source: raw + # 0x6001600055601F56765B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_67 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x1F) + + Op.PUSH23[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000017C), # noqa: E501 + ) + # Source: raw + # 0x6001600055602156775B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_68 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x21) + + Op.PUSH24[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000018A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956775B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_69 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH24[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000018B), # noqa: E501 + ) + # Source: raw + # 0x6001600055602056775B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_70 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x20) + + Op.PUSH24[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000018C), # noqa: E501 + ) + # Source: raw + # 0x6001600055602256785B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_71 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x22) + + Op.PUSH25[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000019A), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956785B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_72 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH25[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000019B), # noqa: E501 + ) + # Source: raw + # 0x6001600055602156785B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + contract_73 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x21) + + Op.PUSH25[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000019C), # noqa: E501 + ) + # Source: raw + # 0x6001600055602356795B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_74 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x23) + + Op.PUSH26[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001AA), # noqa: E501 + ) + # Source: raw + # 0x6001600055600956795B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_75 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH26[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001AB), # noqa: E501 + ) + # Source: raw + # 0x6001600055602256795B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_76 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x22) + + Op.PUSH26[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001AC), # noqa: E501 + ) + # Source: raw + # 0x60016000556024567A5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_77 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x24) + + Op.PUSH27[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001BA), # noqa: E501 + ) + # Source: raw + # 0x60016000556009567A5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_78 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH27[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001BB), # noqa: E501 + ) + # Source: raw + # 0x60016000556023567A5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_79 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x23) + + Op.PUSH27[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001BC), # noqa: E501 + ) + # Source: raw + # 0x60016000556025567B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_80 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x25) + + Op.PUSH28[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001CA), # noqa: E501 + ) + # Source: raw + # 0x60016000556009567B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_81 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH28[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001CB), # noqa: E501 + ) + # Source: raw + # 0x60016000556024567B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_82 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x24) + + Op.PUSH28[0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001CC), # noqa: E501 + ) + # Source: raw + # 0x60016000556026567C5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_83 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x26) + + Op.PUSH29[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001DA), # noqa: E501 + ) + # Source: raw + # 0x60016000556009567C5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_84 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH29[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001DB), # noqa: E501 + ) + # Source: raw + # 0x60016000556025567C5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_85 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x25) + + Op.PUSH29[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001DC), # noqa: E501 + ) + # Source: raw + # 0x60016000556027567D5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_86 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x27) + + Op.PUSH30[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001EA), # noqa: E501 + ) + # Source: raw + # 0x60016000556009567D5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_87 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH30[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001EB), # noqa: E501 + ) + # Source: raw + # 0x60016000556026567D5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_88 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x26) + + Op.PUSH30[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001EC), # noqa: E501 + ) + # Source: raw + # 0x60016000556028567E5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_89 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x28) + + Op.PUSH31[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001FA), # noqa: E501 + ) + # Source: raw + # 0x60016000556009567E5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_90 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH31[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001FB), # noqa: E501 + ) + # Source: raw + # 0x60016000556027567E5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_91 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x27) + + Op.PUSH31[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x00000000000000000000000000000000000001FC), # noqa: E501 + ) + # Source: raw + # 0x60016000556029567F5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_92 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x29) + + Op.PUSH32[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000020A), # noqa: E501 + ) + # Source: raw + # 0x60016000556009567F5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_93 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x9) + + Op.PUSH32[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000020B), # noqa: E501 + ) + # Source: raw + # 0x60016000556028567F5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B # noqa: E501 + contract_94 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x1) + + Op.JUMP(pc=0x28) + + Op.PUSH32[ + 0x5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B + ] + + Op.JUMPDEST, + nonce=0, + address=Address(0x000000000000000000000000000000000000020C), # noqa: E501 + ) + # Source: yul + # berlin { + # let addr := calldataload(4) + # pop(delegatecall(sub(gas(), 5000), addr, 0, 0, 0, 0)) + # } + contract_95 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.SUB(Op.GAS, 0x1388), + address=Op.CALLDATALOAD(offset=0x4), + args_offset=Op.DUP1, + args_size=Op.DUP1, + ret_offset=Op.DUP1, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 0}, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_95: Account(storage={0: 0})}, + }, + { + "indexes": { + "data": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + ], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_95: Account(storage={0: 1})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(contract_0, left_padding=True), + Bytes("693c6139") + Hash(contract_2, left_padding=True), + Bytes("693c6139") + Hash(contract_5, left_padding=True), + Bytes("693c6139") + Hash(contract_8, left_padding=True), + Bytes("693c6139") + Hash(contract_11, left_padding=True), + Bytes("693c6139") + Hash(contract_14, left_padding=True), + Bytes("693c6139") + Hash(contract_17, left_padding=True), + Bytes("693c6139") + Hash(contract_20, left_padding=True), + Bytes("693c6139") + Hash(contract_23, left_padding=True), + Bytes("693c6139") + Hash(contract_26, left_padding=True), + Bytes("693c6139") + Hash(contract_29, left_padding=True), + Bytes("693c6139") + Hash(contract_32, left_padding=True), + Bytes("693c6139") + Hash(contract_35, left_padding=True), + Bytes("693c6139") + Hash(contract_38, left_padding=True), + Bytes("693c6139") + Hash(contract_41, left_padding=True), + Bytes("693c6139") + Hash(contract_44, left_padding=True), + Bytes("693c6139") + Hash(contract_47, left_padding=True), + Bytes("693c6139") + Hash(contract_50, left_padding=True), + Bytes("693c6139") + Hash(contract_53, left_padding=True), + Bytes("693c6139") + Hash(contract_56, left_padding=True), + Bytes("693c6139") + Hash(contract_59, left_padding=True), + Bytes("693c6139") + Hash(contract_62, left_padding=True), + Bytes("693c6139") + Hash(contract_65, left_padding=True), + Bytes("693c6139") + Hash(contract_68, left_padding=True), + Bytes("693c6139") + Hash(contract_71, left_padding=True), + Bytes("693c6139") + Hash(contract_92, left_padding=True), + Bytes("693c6139") + Hash(0x1C), + Bytes("693c6139") + Hash(contract_4, left_padding=True), + Bytes("693c6139") + Hash(contract_7, left_padding=True), + Bytes("693c6139") + Hash(contract_10, left_padding=True), + Bytes("693c6139") + Hash(contract_13, left_padding=True), + Bytes("693c6139") + Hash(contract_16, left_padding=True), + Bytes("693c6139") + Hash(contract_19, left_padding=True), + Bytes("693c6139") + Hash(contract_22, left_padding=True), + Bytes("693c6139") + Hash(contract_25, left_padding=True), + Bytes("693c6139") + Hash(contract_28, left_padding=True), + Bytes("693c6139") + Hash(contract_31, left_padding=True), + Bytes("693c6139") + Hash(contract_34, left_padding=True), + Bytes("693c6139") + Hash(contract_37, left_padding=True), + Bytes("693c6139") + Hash(contract_40, left_padding=True), + Bytes("693c6139") + Hash(contract_43, left_padding=True), + Bytes("693c6139") + Hash(contract_46, left_padding=True), + Bytes("693c6139") + Hash(contract_49, left_padding=True), + Bytes("693c6139") + Hash(contract_52, left_padding=True), + Bytes("693c6139") + Hash(contract_55, left_padding=True), + Bytes("693c6139") + Hash(contract_58, left_padding=True), + Bytes("693c6139") + Hash(contract_61, left_padding=True), + Bytes("693c6139") + Hash(contract_64, left_padding=True), + Bytes("693c6139") + Hash(contract_67, left_padding=True), + Bytes("693c6139") + Hash(contract_70, left_padding=True), + Bytes("693c6139") + Hash(contract_73, left_padding=True), + Bytes("693c6139") + Hash(contract_94, left_padding=True), + Bytes("693c6139") + Hash(0x1C), + Bytes("693c6139") + Hash(contract_4, left_padding=True), + Bytes("693c6139") + Hash(contract_7, left_padding=True), + Bytes("693c6139") + Hash(contract_10, left_padding=True), + Bytes("693c6139") + Hash(contract_13, left_padding=True), + Bytes("693c6139") + Hash(contract_16, left_padding=True), + Bytes("693c6139") + Hash(contract_19, left_padding=True), + Bytes("693c6139") + Hash(contract_22, left_padding=True), + Bytes("693c6139") + Hash(contract_25, left_padding=True), + Bytes("693c6139") + Hash(contract_28, left_padding=True), + Bytes("693c6139") + Hash(contract_31, left_padding=True), + Bytes("693c6139") + Hash(contract_34, left_padding=True), + Bytes("693c6139") + Hash(contract_37, left_padding=True), + Bytes("693c6139") + Hash(contract_40, left_padding=True), + Bytes("693c6139") + Hash(contract_43, left_padding=True), + Bytes("693c6139") + Hash(contract_46, left_padding=True), + Bytes("693c6139") + Hash(contract_49, left_padding=True), + Bytes("693c6139") + Hash(contract_52, left_padding=True), + Bytes("693c6139") + Hash(contract_55, left_padding=True), + Bytes("693c6139") + Hash(contract_58, left_padding=True), + Bytes("693c6139") + Hash(contract_61, left_padding=True), + Bytes("693c6139") + Hash(contract_64, left_padding=True), + Bytes("693c6139") + Hash(contract_67, left_padding=True), + Bytes("693c6139") + Hash(contract_70, left_padding=True), + Bytes("693c6139") + Hash(contract_73, left_padding=True), + Bytes("693c6139") + Hash(contract_94, left_padding=True), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_95, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_jumpi.py b/tests/ported_static/vmIOandFlowOperations/test_jumpi.py new file mode 100644 index 00000000000..8fe20ed7ef8 --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_jumpi.py @@ -0,0 +1,648 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/jumpiFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/jumpiFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="jump-hyperspace", + ), + pytest.param( + 1, + 0, + 0, + id="jump-hyperspace", + ), + pytest.param( + 2, + 0, + 0, + id="not-jump-hyperspace", + ), + pytest.param( + 3, + 0, + 0, + id="not-jump-hyperspace", + ), + pytest.param( + 4, + 0, + 0, + id="jump-stop-dest", + ), + pytest.param( + 5, + 0, + 0, + id="not-jump-stop-dest", + ), + pytest.param( + 6, + 0, + 0, + id="jump-hyperspace", + ), + pytest.param( + 7, + 0, + 0, + id="not-jump-hyperspace", + ), + pytest.param( + 8, + 0, + 0, + id="jump-not-jumpdest", + ), + pytest.param( + 9, + 0, + 0, + id="endless-loop", + ), + pytest.param( + 10, + 0, + 0, + id="jump-dest", + ), + pytest.param( + 11, + 0, + 0, + id="jump-dest", + ), + pytest.param( + 12, + 0, + 0, + id="jump-dynamic", + ), + pytest.param( + 13, + 0, + 0, + id="not-jump-dynamic", + ), + pytest.param( + 14, + 0, + 0, + id="jump-2-push", + ), + pytest.param( + 15, + 0, + 0, + id="jump-2-push", + ), + pytest.param( + 16, + 0, + 0, + id="jump-not-jumpdest", + ), + pytest.param( + 17, + 0, + 0, + id="jump-not-jumpdest", + ), + pytest.param( + 18, + 0, + 0, + id="jump-hyperspace", + ), + pytest.param( + 19, + 0, + 0, + id="not-jump-hyperspace", + ), + pytest.param( + 20, + 0, + 0, + id="jump-hyperspace", + ), + pytest.param( + 21, + 0, + 0, + id="not-jump-hyperspace", + ), + pytest.param( + 22, + 0, + 0, + id="jump-hyperspace", + ), + pytest.param( + 23, + 0, + 0, + id="not-jump-hyperspace", + ), + pytest.param( + 24, + 0, + 0, + id="jump-to-list", + ), + pytest.param( + 25, + 0, + 0, + id="loop", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_jumpi( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000000200) + contract_3 = Address(0x0000000000000000000000000000000000000201) + contract_4 = Address(0x0000000000000000000000000000000000001002) + contract_5 = Address(0x0000000000000000000000000000000000000202) + contract_6 = Address(0x0000000000000000000000000000000000001003) + contract_7 = Address(0x0000000000000000000000000000000000000203) + contract_8 = Address(0x0000000000000000000000000000000000001004) + contract_9 = Address(0x0000000000000000000000000000000000001005) + contract_10 = Address(0x0000000000000000000000000000000000001006) + contract_11 = Address(0x0000000000000000000000000000000000001007) + contract_12 = Address(0x0000000000000000000000000000000000001008) + contract_13 = Address(0x0000000000000000000000000000000000000208) + contract_14 = Address(0x0000000000000000000000000000000000001009) + contract_15 = Address(0x000000000000000000000000000000000000100A) + contract_16 = Address(0x000000000000000000000000000000000000100B) + contract_17 = Address(0x000000000000000000000000000000000000100C) + contract_18 = Address(0x000000000000000000000000000000000000100D) + contract_19 = Address(0x000000000000000000000000000000000000020D) + contract_20 = Address(0x000000000000000000000000000000000000100E) + contract_21 = Address(0x000000000000000000000000000000000000020E) + contract_22 = Address(0x000000000000000000000000000000000000100F) + contract_23 = Address(0x000000000000000000000000000000000000020F) + contract_24 = Address(0x0000000000000000000000000000000000000110) + contract_25 = Address(0x0000000000000000000000000000000000000111) + contract_26 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] 0x600D + # (asm 0x01 0x10 0x20 mul jumpi jumpdest) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPI(pc=Op.MUL(0x20, 0x10), condition=0x1) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0x600D + # (asm 0x01 0x10 0x20 mul jumpi jumpdest) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPI(pc=Op.MUL(0x20, 0x10), condition=0x1) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0x600D + # (asm 0x00 0x10 0x20 mul jumpi jumpdest) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPI(pc=Op.MUL(0x20, 0x10), condition=0x0) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000200), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0x600D + # (asm 0x00 0x10 0x20 mul jumpi jumpdest) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPI(pc=Op.MUL(0x20, 0x10), condition=0x0) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000201), # noqa: E501 + ) + # Source: raw + # 0x6001600657005B61600D60005500 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x6, condition=0x1) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: raw + # 0x6000600657005B61600D60005500 + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x6, condition=0x0) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000202), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0x600D + # (asm 0xff 0x0fffffff jumpi) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPI(pc=0xFFFFFFF, condition=0xFF) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0x600D + # (asm 0x00 0x0fffffff jumpi) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPI(pc=0xFFFFFFF, condition=0x0) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000203), # noqa: E501 + ) + # Source: raw + # 0x6023600160085760015b600255 + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x23] + + Op.JUMPI(pc=0x8, condition=0x1) + + Op.PUSH1[0x1] + + Op.JUMPDEST + + Op.PUSH1[0x2] + + Op.SSTORE, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: raw + # 0x61600D6000555B6006600657 + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPDEST + + Op.JUMPI(pc=0x6, condition=0x6), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: raw + # 0x61600D6001600A5760FF5B600055 + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH2[0x600D] + + Op.JUMPI(pc=0xA, condition=0x1) + + Op.PUSH1[0xFF] + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SSTORE, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: raw + # 0x600B565B61600D600055005B6001600357 + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.JUMP(pc=0xB) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP + + Op.JUMPDEST + + Op.JUMPI(pc=0x3, condition=0x1), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: raw + # 0x6001600460050157005B61600D600055 + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=Op.ADD(0x5, 0x4), condition=0x1) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: raw + # 0x6000600460050157005B61600D600055 + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=Op.ADD(0x5, 0x4), condition=0x0) + + Op.STOP + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000208), # noqa: E501 + ) + # Source: raw + # 0x600160075700605B61600D600055 + contract_14 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x7, condition=0x1) + + Op.STOP + + Op.PUSH1[0x5B] + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: raw + # 0x600160075700600161600D600055 + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x7, condition=0x1) + + Op.STOP + + Op.PUSH1[0x1] + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100A), # noqa: E501 + ) + # Source: raw + # 0x61600D6000556001600D575A5B5A600155 + contract_16 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPI(pc=0xD, condition=0x1) + + Op.GAS + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.GAS), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100B), # noqa: E501 + ) + # Source: raw + # 0x61600D6000556001600B575A5B5A600155 + contract_17 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPI(pc=0xB, condition=0x1) + + Op.GAS + + Op.JUMPDEST + + Op.SSTORE(key=0x1, value=Op.GAS), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100C), # noqa: E501 + ) + # Source: raw + # 0x60116801000000000000000D575b5b61600D600055 + contract_18 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x1000000000000000D, condition=0x11) + + Op.JUMPDEST * 2 + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100D), # noqa: E501 + ) + # Source: raw + # 0x60006801000000000000000D575b5b61600D600055 + contract_19 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x1000000000000000D, condition=0x0) + + Op.JUMPDEST * 2 + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000020D), # noqa: E501 + ) + # Source: raw + # 0x6011640100000009575b5b61600D600055 + contract_20 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x100000009, condition=0x11) + + Op.JUMPDEST * 2 + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100E), # noqa: E501 + ) + # Source: raw + # 0x6000640100000009575b5b61600D600055 + contract_21 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0x100000009, condition=0x0) + + Op.JUMPDEST * 2 + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000020E), # noqa: E501 + ) + # Source: lll + # { + # @0 (- 0 1) + # (asm 1 0 mload jumpi 0x600D 0x00 sstore) + # } + contract_22 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.MLOAD(offset=0x0)) + + Op.POP(Op.SUB(0x0, 0x1)) + + Op.JUMPI(pc=Op.MLOAD(offset=0x0), condition=0x1) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100F), # noqa: E501 + ) + # Source: lll + # { + # @0 (- 0 1) + # (asm 0 0 mload jumpi 0x600D 0x00 sstore) + # } + contract_23 = pre.deploy_contract( # noqa: F841 + code=Op.POP(Op.MLOAD(offset=0x0)) + + Op.POP(Op.SUB(0x0, 0x1)) + + Op.JUMPI(pc=Op.MLOAD(offset=0x0), condition=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000020F), # noqa: E501 + ) + # Source: raw + # 0x6001600E575B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B61600D600055 + contract_24 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0xE, condition=0x1) + + Op.JUMPDEST * 16 + + Op.SSTORE(key=0x0, value=0x600D), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000110), # noqa: E501 + ) + # Source: raw + # 0x61600D60005560106000525B60016000510380600052600B57 + contract_25 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x600D) + + Op.MSTORE(offset=0x0, value=0x10) + + Op.JUMPDEST + + Op.SUB(Op.MLOAD(offset=0x0), 0x1) + + Op.MSTORE(offset=0x0, value=Op.DUP1) + + Op.PUSH1[0xB] + + Op.JUMPI, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000000111), # noqa: E501 + ) + # Source: lll + # { + # ; limited gas because of the endless loop + # (delegatecall 0x10000 $4 0 0 0 0) + # } + contract_26 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=0x10000, + address=Op.CALLDATALOAD(offset=0x4), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [0, 1, 5, 6, 8, 9, 13, 14, 15, 16, 17, 18, 20, 22], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_26: Account(storage={0: 2989})}, + }, + { + "indexes": { + "data": [2, 3, 4, 7, 10, 11, 12, 19, 21, 23, 24, 25], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_26: Account(storage={0: 24589})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(contract_0, left_padding=True), + Bytes("693c6139") + Hash(contract_1, left_padding=True), + Bytes("693c6139") + Hash(contract_2, left_padding=True), + Bytes("693c6139") + Hash(contract_3, left_padding=True), + Bytes("693c6139") + Hash(contract_4, left_padding=True), + Bytes("693c6139") + Hash(contract_5, left_padding=True), + Bytes("693c6139") + Hash(contract_6, left_padding=True), + Bytes("693c6139") + Hash(contract_7, left_padding=True), + Bytes("693c6139") + Hash(contract_8, left_padding=True), + Bytes("693c6139") + Hash(contract_9, left_padding=True), + Bytes("693c6139") + Hash(contract_10, left_padding=True), + Bytes("693c6139") + Hash(contract_11, left_padding=True), + Bytes("693c6139") + Hash(contract_12, left_padding=True), + Bytes("693c6139") + Hash(contract_13, left_padding=True), + Bytes("693c6139") + Hash(contract_14, left_padding=True), + Bytes("693c6139") + Hash(contract_15, left_padding=True), + Bytes("693c6139") + Hash(contract_16, left_padding=True), + Bytes("693c6139") + Hash(contract_17, left_padding=True), + Bytes("693c6139") + Hash(contract_18, left_padding=True), + Bytes("693c6139") + Hash(contract_19, left_padding=True), + Bytes("693c6139") + Hash(contract_20, left_padding=True), + Bytes("693c6139") + Hash(contract_21, left_padding=True), + Bytes("693c6139") + Hash(contract_22, left_padding=True), + Bytes("693c6139") + Hash(contract_23, left_padding=True), + Bytes("693c6139") + Hash(contract_24, left_padding=True), + Bytes("693c6139") + Hash(contract_25, left_padding=True), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_26, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_loop_stacklimit.py b/tests/ported_static/vmIOandFlowOperations/test_loop_stacklimit.py new file mode 100644 index 00000000000..d9b82c03b62 --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_loop_stacklimit.py @@ -0,0 +1,160 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/loop_stacklimitFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/loop_stacklimitFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="loop_1021", + ), + pytest.param( + 1, + 0, + 0, + id="loop_1020", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_loop_stacklimit( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0xA62D63F95900B04CCD3FEE13360DE78966F24695945E8B2C09E646352BC5AF94 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # (asm 0 CALLVALUE JUMPDEST 1 SWAP1 SUB SWAP1 1 ADD DUP2 DUP1 3 JUMPI 0 MSTORE 1 MSTORE 0 MSIZE RETURN) # noqa: E501 + # } + addr = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.CALLVALUE + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.SUB + + Op.SWAP1 + + Op.PUSH1[0x1] + + Op.ADD + + Op.DUP2 + + Op.JUMPI(pc=0x3, condition=Op.DUP1) + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.PUSH1[0x1] + + Op.MSTORE + + Op.RETURN(offset=Op.MSIZE, size=0x0) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x15F0298E83391F673B708790F259F3F34DFBD788), # noqa: E501 + ) + # Source: raw + # 0x6000345b60019003906001018180600357600052600152600059f300 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x0] + + Op.CALLVALUE + + Op.JUMPDEST + + Op.PUSH1[0x1] + + Op.SWAP1 + + Op.SUB + + Op.SWAP1 + + Op.PUSH1[0x1] + + Op.ADD + + Op.DUP2 + + Op.JUMPI(pc=0x3, condition=Op.DUP1) + + Op.PUSH1[0x0] + + Op.MSTORE + + Op.PUSH1[0x1] + + Op.MSTORE + + Op.RETURN(offset=Op.MSIZE, size=0x0) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x3B20573C5048E5BA16083407E59FC0BBC044B6C0), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 0}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xF9B46C1D708104B4E6007D17AE485B0A00D8E952), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + ) + + post = {target: Account(storage={0: 0})} + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_loops_conditionals.py b/tests/ported_static/vmIOandFlowOperations/test_loops_conditionals.py new file mode 100644 index 00000000000..fd2842c2cc3 --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_loops_conditionals.py @@ -0,0 +1,441 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/loopsConditionalsFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/loopsConditionalsFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="whenTrue", + ), + pytest.param( + 1, + 0, + 0, + id="whenFalse", + ), + pytest.param( + 2, + 0, + 0, + id="unlessTrue", + ), + pytest.param( + 3, + 0, + 0, + id="unlessFalse", + ), + pytest.param( + 4, + 0, + 0, + id="ifTrue", + ), + pytest.param( + 5, + 0, + 0, + id="ifFalse", + ), + pytest.param( + 6, + 0, + 0, + id="while", + ), + pytest.param( + 7, + 0, + 0, + id="until", + ), + pytest.param( + 8, + 0, + 0, + id="for", + ), + pytest.param( + 9, + 0, + 0, + id="for_loop1", + ), + pytest.param( + 10, + 0, + 0, + id="for_loop2", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_loops_conditionals( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0x000000000000000000000000000000000000100A) + contract_11 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # (when (> 1 0) [[0]] 0x600D) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0xF, condition=Op.ISZERO(Op.GT(0x1, 0x0))) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # (when (< 1 0) [[0]] 0x600D) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0xF, condition=Op.ISZERO(Op.LT(0x1, 0x0))) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # (unless (> 1 0) [[0]] 0x600D) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0xE, condition=Op.GT(0x1, 0x0)) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # (unless (< 1 0) [[0]] 0x600D) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0xE, condition=Op.LT(0x1, 0x0)) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (if (> 1 0) 0x600D 0x60A7) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0xE, condition=Op.GT(0x1, 0x0)) + + Op.PUSH2[0x60A7] + + Op.JUMP(pc=0x12) + + Op.JUMPDEST + + Op.PUSH2[0x600D] + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SSTORE + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (if (< 1 0) 0x600D 0x60A7) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.JUMPI(pc=0xE, condition=Op.LT(0x1, 0x0)) + + Op.PUSH2[0x60A7] + + Op.JUMP(pc=0x12) + + Op.JUMPDEST + + Op.PUSH2[0x600D] + + Op.JUMPDEST + + Op.PUSH1[0x0] + + Op.SSTORE + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0x10 + # [[1]] 0x01 + # + # (while @@0 { + # [[0]] (- @@0 1) + # [[1]] (* @@1 2) + # }) ; while loop + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x10) + + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x27, condition=Op.ISZERO(Op.SLOAD(key=0x0))) + + Op.SSTORE(key=0x0, value=Op.SUB(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE(key=0x1, value=Op.MUL(Op.SLOAD(key=0x1), 0x2)) + + Op.JUMP(pc=0xA) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0x10 + # [[1]] 0x01 + # + # (until (= @@0 0) { + # [[0]] (- @@0 1) + # [[1]] (* @@1 2) + # }) ; until loop + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x10) + + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x29, condition=Op.EQ(Op.SLOAD(key=0x0), 0x0)) + + Op.SSTORE(key=0x0, value=Op.SUB(Op.SLOAD(key=0x0), 0x1)) + + Op.SSTORE(key=0x1, value=Op.MUL(Op.SLOAD(key=0x1), 0x2)) + + Op.JUMP(pc=0xA) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { + # (for + # { [[0]] 0x10 [[1]] 0x01 } ; initialization + # (> @@0 0) ; predicate + # [[0]] (- @@0 1) ; post + # [[1]] (* @@1 2) ; body + # ) ; for loop + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0x10) + + Op.SSTORE(key=0x1, value=0x1) + + Op.JUMPDEST + + Op.JUMPI(pc=0x2A, condition=Op.ISZERO(Op.GT(Op.SLOAD(key=0x0), 0x0))) + + Op.SSTORE(key=0x1, value=Op.MUL(Op.SLOAD(key=0x1), 0x2)) + + Op.SSTORE(key=0x0, value=Op.SUB(Op.SLOAD(key=0x0), 0x1)) + + Op.JUMP(pc=0xA) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { + # (def 'i 0x80) + # (def 'j 0xA0) + # + # (for [i] 10 ; init + # (> @i 0) ; predicate + # [i] (- @i 1) ; post + # [j] (+ @i @j) ; body + # ) ; for loop + # + # [[0]] @j + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x80, value=0xA) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x26, condition=Op.ISZERO(Op.GT(Op.MLOAD(offset=0x80), 0x0)) + ) + + Op.MSTORE( + offset=0xA0, + value=Op.ADD(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), + ) + + Op.MSTORE(offset=0x80, value=Op.SUB(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x5) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0xA0)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: lll + # { + # (def 'i 0x80) + # (def 'j 0xA0) + # + # (for [i] 0 ; init + # (<= @i 10) ; predicate + # [i] (+ @i 1) ; post + # [j] (+ @i @j) ; body + # ) ; for loop + # + # [[0]] @j + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x80, value=0x0) + + Op.JUMPDEST + + Op.JUMPI( + pc=0x27, + condition=Op.ISZERO(Op.ISZERO(Op.GT(Op.MLOAD(offset=0x80), 0xA))), + ) + + Op.MSTORE( + offset=0xA0, + value=Op.ADD(Op.MLOAD(offset=0x80), Op.MLOAD(offset=0xA0)), + ) + + Op.MSTORE(offset=0x80, value=Op.ADD(Op.MLOAD(offset=0x80), 0x1)) + + Op.JUMP(pc=0x5) + + Op.JUMPDEST + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0xA0)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100A), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 2, 4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_11: Account(storage={0: 24589})}, + }, + { + "indexes": {"data": [1, 3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_11: Account(storage={0: 2989})}, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_11: Account(storage={0: 24743})}, + }, + { + "indexes": {"data": [8, 6, 7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_11: Account(storage={0: 0, 1: 0x10000})}, + }, + { + "indexes": {"data": [9, 10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_11: Account(storage={0: 55})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + Bytes("693c6139") + Hash(0x9), + Bytes("693c6139") + Hash(0xA), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_11, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_mload.py b/tests/ported_static/vmIOandFlowOperations/test_mload.py new file mode 100644 index 00000000000..a70c6c7b6c1 --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_mload.py @@ -0,0 +1,183 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/mloadFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/mloadFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="mload", + ), + pytest.param( + 1, + 0, + 0, + id="mloadOOG", + ), + pytest.param( + 2, + 0, + 0, + id="mloadOOG", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_mload( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [0] 0x0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff # noqa: E501 + # [[0]] (mload 0) + # + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (mload 0x0fffffff) + # + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0xFFFFFFF)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (mload 7489573) + # + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x724825)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={ + 0: 0x111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [1, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 2989})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_msize.py b/tests/ported_static/vmIOandFlowOperations/test_msize.py new file mode 100644 index 00000000000..053751fd9ce --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_msize.py @@ -0,0 +1,284 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/msizeFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/msizeFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.valid_until("Prague") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="msize0", + ), + pytest.param( + 1, + 0, + 0, + id="msize1", + ), + pytest.param( + 2, + 0, + 0, + id="msize2", + ), + pytest.param( + 3, + 0, + 0, + id="msize3", + ), + pytest.param( + 4, + 0, + 0, + id="chunks", + ), + pytest.param( + 5, + 0, + 0, + id="farChunk", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_msize( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=4294967296, + ) + + # Source: lll + # { + # ; Store an entire 32 byte value + # [0] 0xFF + # [[0]] (msize) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xFF) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # ; Store an entire 32 byte value + # [0] 0xffffffffff + # [[0]] (msize) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xFFFFFFFFFF) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # ; Store two values + # [0] 0xffffffffff + # [0x20] 0xeeee + # [[0]] (msize) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xFFFFFFFFFF) + + Op.MSTORE(offset=0x20, value=0xEEEE) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # ; Store two values + # [0] 0xffffffffff + # [0x5a] 0xeeee + # [[0]] (msize) + # + # ; The 0xEEEE value is stored 0x5a-0x79, + # ; and memory is allocated in 0x20 byte chunks + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x0, value=0xFFFFFFFFFF) + + Op.MSTORE(offset=0x5A, value=0xEEEE) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; Store at the very end of the first chunk + # (mstore8 0x1F 1) + # [[0]] (msize) + # + # ; Store at the beginning of the second chuck + # (mstore8 0x20 1) + # [[1]] (msize) + # + # ; Does it matter if we reset the memory? + # ; Spoiler alert, it doesn't + # (mstore8 0x20 0) + # [[2]] (msize) + # + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x1F, value=0x1) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.MSTORE8(offset=0x20, value=0x1) + + Op.SSTORE(key=0x1, value=Op.MSIZE) + + Op.MSTORE8(offset=0x20, value=0x0) + + Op.SSTORE(key=0x2, value=Op.MSIZE) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # ; Does the chunk size change in very high offsets? + # ; + # ; Note: It doesn't + # (mstore8 0xB00000 1) + # [[0]] (msize) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0xB00000, value=0x1) + + Op.SSTORE(key=0x0, value=Op.MSIZE) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 1], "gas": -1, "value": -1}, + "network": [">=Cancun=Cancun=Cancun=Cancun=Cancun None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # (mstore 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] @1 + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x1, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # (mstore 1 (+ 2 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) ) # noqa: E501 + # [[0]] @1 + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x1, + value=Op.ADD( + 0x2, + 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # (mstore 1 (- 0 1)) + # [[0]] @1 + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=Op.SUB(0x0, 0x1)) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # (mstore 1 0xFF) + # [[0]] @0 + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0xFF) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # (mstore 1 0xFF00) + # [[0]] @0 + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x1, value=0xFF00) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 255})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_5, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_mstore8.py b/tests/ported_static/vmIOandFlowOperations/test_mstore8.py new file mode 100644 index 00000000000..77b52f677e6 --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_mstore8.py @@ -0,0 +1,193 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/mstore8Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/mstore8Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="mstore8_onebyte", + ), + pytest.param( + 1, + 0, + 0, + id="mstore8_twobytes", + ), + pytest.param( + 2, + 0, + 0, + id="mstore8_neg1", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_mstore8( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # ; It ignores all but one byte, the least significant one + # (mstore8 1 0x112233445566778899AABBCCDDEEFF) + # [[0]] @1 + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x1, value=0x112233445566778899AABBCCDDEEFF) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # (mstore8 1 0xFF) + # (mstore8 2 0xEE) + # [[0]] @0 + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x1, value=0xFF) + + Op.MSTORE8(offset=0x2, value=0xEE) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # ; It ignores all but one byte, the least significant one + # (mstore8 1 (- 0 1)) + # [[0]] @1 + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x1, value=Op.SUB(0x0, 0x1)) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={ + 0: 0xFF00000000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={ + 0: 0xFFEE0000000000000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_pc.py b/tests/ported_static/vmIOandFlowOperations/test_pc.py new file mode 100644 index 00000000000..92cb22f05e4 --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_pc.py @@ -0,0 +1,153 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/pcFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/pcFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="pc1", + ), + pytest.param( + 1, + 0, + 0, + id="pc2", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_pc( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (pc) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.PC) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0xFF + # [[1]] (pc) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0xFF) + + Op.SSTORE(key=0x1, value=Op.PC) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 255, 1: 5})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_2, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_pop.py b/tests/ported_static/vmIOandFlowOperations/test_pop.py new file mode 100644 index 00000000000..e419cc12536 --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_pop.py @@ -0,0 +1,145 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/popFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/popFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="pop1", + ), + pytest.param( + 1, + 0, + 0, + id="pop2", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_pop( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: raw + # 0x6002600360045055 + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.PUSH1[0x2] + Op.PUSH1[0x3] + Op.POP(0x4) + Op.SSTORE, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: raw + # 0x5060026003600455 + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.POP + Op.PUSH1[0x2] + Op.SSTORE(key=0x4, value=0x3), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={3: 2})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={4: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_2, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_return.py b/tests/ported_static/vmIOandFlowOperations/test_return.py new file mode 100644 index 00000000000..c7b15bac935 --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_return.py @@ -0,0 +1,278 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/returnFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/returnFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="return", + ), + pytest.param( + 1, + 0, + 0, + id="returnInfBuff", + ), + pytest.param( + 2, + 0, + 0, + id="returnBigBuff", + ), + pytest.param( + 3, + 0, + 0, + id="returnOffset", + ), + pytest.param( + 4, + 0, + 0, + id="returnOld", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_return( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [0] 0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef + # [[0xFF]] 0x600D + # (return 0x00 0x40) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 + ) + + Op.SSTORE(key=0xFF, value=0x600D) + + Op.RETURN(offset=0x0, size=0x40) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [0] 0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef + # [[0xFF]] 0x600D + # (return 0x00 (- 0 1)) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 + ) + + Op.SSTORE(key=0xFF, value=0x600D) + + Op.RETURN(offset=0x0, size=Op.SUB(0x0, 0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [0] 0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef + # [[0xFF]] 0x600D + # (return 0x00 0x1000) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 + ) + + Op.SSTORE(key=0xFF, value=0x600D) + + Op.RETURN(offset=0x0, size=0x1000) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # [0] 0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef + # [[0xFF]] 0x600D + # (return 0x05 0x20) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 + ) + + Op.SSTORE(key=0xFF, value=0x600D) + + Op.RETURN(offset=0x5, size=0x20) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: raw + # 0x6001608052600060805111601b57600160005260206000f3602b565b602760005260206000f360026080525b00 # noqa: E501 + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE(offset=0x80, value=0x1) + + Op.JUMPI(pc=0x1B, condition=Op.GT(Op.MLOAD(offset=0x80), 0x0)) + + Op.MSTORE(offset=0x0, value=0x1) + + Op.RETURN(offset=0x0, size=0x20) + + Op.JUMP(pc=0x2B) + + Op.JUMPDEST + + Op.MSTORE(offset=0x0, value=0x27) + + Op.RETURN(offset=0x0, size=0x20) + + Op.MSTORE(offset=0x80, value=0x2) + + Op.JUMPDEST + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # ; read 0x40 bytes of return data + # (delegatecall 0xffffff (+ 0x1000 $4) 0 0 0x00 0x40) + # + # [[0]] @0x00 + # [[1]] @0x20 + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.POP( + Op.DELEGATECALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x40, + ) + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.SSTORE(key=0x1, value=Op.MLOAD(offset=0x20)) + + Op.STOP, + storage={255: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF, # noqa: E501 + 1: 0, + 255: 24589, + }, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={255: 2989})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_5: Account( + storage={ + 0: 0xABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0000000000, # noqa: E501 + 1: 0, + 255: 24589, + }, + ), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 39, 255: 2989})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_5, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmIOandFlowOperations/test_sstore_sload.py b/tests/ported_static/vmIOandFlowOperations/test_sstore_sload.py new file mode 100644 index 00000000000..810c9dabdd4 --- /dev/null +++ b/tests/ported_static/vmIOandFlowOperations/test_sstore_sload.py @@ -0,0 +1,198 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmIOandFlowOperations/sstore_sloadFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmIOandFlowOperations/sstore_sloadFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="sstore_sload_3", + ), + pytest.param( + 1, + 0, + 0, + id="sstore_sload_noinit", + ), + pytest.param( + 2, + 0, + 0, + id="sstore_sload_4", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_sstore_sload( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # (sstore 0 0xff) + # (sstore 10 0xee) + # [[ 20 ]] (sload 0) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0xFF) + + Op.SSTORE(key=0xA, value=0xEE) + + Op.SSTORE(key=0x14, value=Op.SLOAD(key=0x0)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # (sstore 0 0xff) + # (sstore 10 0xee) + # [[ 20 ]] (sload 100) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0xFF) + + Op.SSTORE(key=0xA, value=0xEE) + + Op.SSTORE(key=0x14, value=Op.SLOAD(key=0x64)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] 0xFF + # [[1]] 0xEE + # [[2]] 0xDD + # [[10]] @@1 + # [[20]] @@2 + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=0xFF) + + Op.SSTORE(key=0x1, value=0xEE) + + Op.SSTORE(key=0x2, value=0xDD) + + Op.SSTORE(key=0xA, value=Op.SLOAD(key=0x1)) + + Op.SSTORE(key=0x14, value=Op.SLOAD(key=0x2)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account(storage={0: 255, 10: 238, 20: 255}) + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 255, 10: 238})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={0: 255, 1: 238, 2: 221, 10: 238, 20: 221} + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmLogTest/__init__.py b/tests/ported_static/vmLogTest/__init__.py new file mode 100644 index 00000000000..2252fd70ad1 --- /dev/null +++ b/tests/ported_static/vmLogTest/__init__.py @@ -0,0 +1 @@ +"""Ported static tests: vmLogTest.""" # noqa: N999 diff --git a/tests/ported_static/vmLogTest/test_log0.py b/tests/ported_static/vmLogTest/test_log0.py new file mode 100644 index 00000000000..dab95e1ab8e --- /dev/null +++ b/tests/ported_static/vmLogTest/test_log0.py @@ -0,0 +1,326 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmLogTest/log0Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmLogTest/log0Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="emptyMem", + ), + pytest.param( + 1, + 0, + 0, + id="memStartTooHigh", + ), + pytest.param( + 2, + 0, + 0, + id="memSizeTooHigh", + ), + pytest.param( + 3, + 0, + 0, + id="memSizeZero", + ), + pytest.param( + 4, + 0, + 0, + id="nonEmptyMem", + ), + pytest.param( + 5, + 0, + 0, + id="log_0_1", + ), + pytest.param( + 6, + 0, + 0, + id="log_31_1", + ), + pytest.param( + 7, + 0, + 0, + id="logTwice", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_log0( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x000000000000000000000000000000000000100A) + contract_8 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { ; emptyMem + # (log0 0 0) + # + # [[0]] 0x600D + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.LOG0(offset=0x0, size=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { ; memStartTooHigh + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd # noqa: E501 + # (log0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1) # noqa: E501 + # [[0]] 0x600D + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x1, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { ; memSizeTooHigh + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log0 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] 0x600D + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0( + offset=0x1, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { ; memSizeZero + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log0 1 0) + # [[0]] 0x600D + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0(offset=0x1, size=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { ; nonEmptyMem + # [0] 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + # (log0 0 32) + # [[0]] 0x600D + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG0(offset=0x0, size=0x20) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { ; log_0_1 + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log0 0 1) + # [[0]] 0x600D + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0(offset=0x0, size=0x1) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { ; log_31_1 + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log0 31 1) + # [[0]] 0x600D + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0(offset=0x1F, size=0x1) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { ; logTwice + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log0 0 32) + # (log0 2 16) + # [[0]] 0x600D + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG0(offset=0x0, size=0x20) + + Op.LOG0(offset=0x2, size=0x10) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100A), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 3, 4, 5, 6, 7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_8: Account(storage={0: 24589})}, + }, + { + "indexes": {"data": [1, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_8: Account(storage={0: 2989})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0xA), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_8, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmLogTest/test_log1.py b/tests/ported_static/vmLogTest/test_log1.py new file mode 100644 index 00000000000..c34f0bd9fae --- /dev/null +++ b/tests/ported_static/vmLogTest/test_log1.py @@ -0,0 +1,351 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmLogTest/log1Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmLogTest/log1Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="emptyMem", + ), + pytest.param( + 1, + 0, + 0, + id="memStartTooHigh", + ), + pytest.param( + 2, + 0, + 0, + id="memSizeTooHigh", + ), + pytest.param( + 3, + 0, + 0, + id="memSizeZero", + ), + pytest.param( + 4, + 0, + 0, + id="nonEmptyMem", + ), + pytest.param( + 5, + 0, + 0, + id="log_0_1", + ), + pytest.param( + 6, + 0, + 0, + id="log_31_1", + ), + pytest.param( + 7, + 0, + 0, + id="caller", + ), + pytest.param( + 8, + 0, + 0, + id="maxTopic", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_log1( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { ; emptyMem + # (log1 0 0 0) + # + # [[0]] 0x600D + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.LOG1(offset=0x0, size=0x0, topic_1=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { ; memStartTooHigh + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd # noqa: E501 + # (log1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0) # noqa: E501 + # [[0]] 0x600D + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x1, + topic_1=0x0, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { ; memSizeTooHigh + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log1 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) # noqa: E501 + # [[0]] 0x600D + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1( + offset=0x1, + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + topic_1=0x0, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { ; memSizeZero + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log1 1 0 0) + # [[0]] 0x600D + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1(offset=0x1, size=0x0, topic_1=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { ; nonEmptyMem + # [0] 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + # (log1 0 32 0) + # [[0]] 0x600D + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG1(offset=0x0, size=0x20, topic_1=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { ; log_0_1 + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log1 0 1 0) + # [[0]] 0x600D + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1(offset=0x0, size=0x1, topic_1=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { ; log_31_1 + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log1 31 1 0) + # [[0]] 0x600D + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1(offset=0x1F, size=0x1, topic_1=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { ; caller (as topic) + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log1 0 32 (caller)) + # [[0]] 0x600D + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG1(offset=0x0, size=0x20, topic_1=Op.CALLER) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { ; maxTopic + # (def 'neg1 (- 0 1)) + # + # (mstore8 0 0xFF) + # (log1 31 1 neg1) + # [[0]] 0x600D + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG1(offset=0x1F, size=0x1, topic_1=Op.SUB(0x0, 0x1)) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 3, 4, 5, 6, 7, 8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_9: Account(storage={0: 24589})}, + }, + { + "indexes": {"data": [1, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_9: Account(storage={0: 2989})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_9, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmLogTest/test_log2.py b/tests/ported_static/vmLogTest/test_log2.py new file mode 100644 index 00000000000..ccba83f956d --- /dev/null +++ b/tests/ported_static/vmLogTest/test_log2.py @@ -0,0 +1,352 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmLogTest/log2Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmLogTest/log2Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="emptyMem", + ), + pytest.param( + 1, + 0, + 0, + id="memStartTooHigh", + ), + pytest.param( + 2, + 0, + 0, + id="memSizeTooHigh", + ), + pytest.param( + 3, + 0, + 0, + id="memSizeZero", + ), + pytest.param( + 4, + 0, + 0, + id="nonEmptyMem", + ), + pytest.param( + 5, + 0, + 0, + id="log_0_1", + ), + pytest.param( + 6, + 0, + 0, + id="log_31_1", + ), + pytest.param( + 7, + 0, + 0, + id="caller", + ), + pytest.param( + 8, + 0, + 0, + id="maxTopic", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_log2( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { ; emptyMem + # (log2 0 0 0 0) + # + # [[0]] 0x600D + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.LOG2(offset=0x0, size=0x0, topic_1=0x0, topic_2=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { ; memStartTooHigh + # (def 'neg1 (- 0 1)) + # + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd # noqa: E501 + # (log2 neg1 1 0 0) + # [[0]] 0x600D + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2(offset=Op.SUB(0x0, 0x1), size=0x1, topic_1=0x0, topic_2=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { ; memSizeTooHigh + # (def 'neg1 (- 0 1)) + # + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log2 1 neg1 0 0) + # [[0]] 0x600D + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2(offset=0x1, size=Op.SUB(0x0, 0x1), topic_1=0x0, topic_2=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { ; memSizeZero + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log2 1 0 0 0) + # [[0]] 0x600D + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2(offset=0x1, size=0x0, topic_1=0x0, topic_2=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { ; nonEmptyMem + # [0] 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + # (log2 0 32 0 0) + # [[0]] 0x600D + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG2(offset=0x0, size=0x20, topic_1=0x0, topic_2=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { ; log_0_1 + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log2 0 1 0 0) + # [[0]] 0x600D + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2(offset=0x0, size=0x1, topic_1=0x0, topic_2=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { ; log_31_1 + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log2 31 1 0 0) + # [[0]] 0x600D + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2(offset=0x1F, size=0x1, topic_1=0x0, topic_2=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { ; caller (as topic) + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log2 0 32 0 (caller)) + # [[0]] 0x600D + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG2(offset=0x0, size=0x20, topic_1=0x0, topic_2=Op.CALLER) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { ; maxTopic + # (def 'neg1 (- 0 1)) + # + # (mstore8 0 0xFF) + # (log2 31 1 neg1 neg1) + # [[0]] 0x600D + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG2( + offset=0x1F, + size=0x1, + topic_1=Op.SUB(0x0, 0x1), + topic_2=Op.SUB(0x0, 0x1), + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0, 3, 4, 5, 6, 7, 8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_9: Account(storage={0: 24589})}, + }, + { + "indexes": {"data": [1, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_9: Account(storage={0: 2989})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_9, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmLogTest/test_log3.py b/tests/ported_static/vmLogTest/test_log3.py new file mode 100644 index 00000000000..d2157c11d13 --- /dev/null +++ b/tests/ported_static/vmLogTest/test_log3.py @@ -0,0 +1,401 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmLogTest/log3Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmLogTest/log3Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="emptyMem", + ), + pytest.param( + 1, + 0, + 0, + id="memStartTooHigh", + ), + pytest.param( + 2, + 0, + 0, + id="memSizeTooHigh", + ), + pytest.param( + 3, + 0, + 0, + id="memSizeZero", + ), + pytest.param( + 4, + 0, + 0, + id="nonEmptyMem", + ), + pytest.param( + 5, + 0, + 0, + id="log_0_1", + ), + pytest.param( + 6, + 0, + 0, + id="log_31_1", + ), + pytest.param( + 7, + 0, + 0, + id="caller", + ), + pytest.param( + 8, + 0, + 0, + id="maxTopic", + ), + pytest.param( + 9, + 0, + 0, + id="pc", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_log3( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { ; emptyMem + # (log3 0 0 0 0 0) + # + # [[0]] 0x600D + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.LOG3( + offset=0x0, size=0x0, topic_1=0x0, topic_2=0x0, topic_3=0x0 + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { ; memStartTooHigh + # (def 'neg1 (- 0 1)) + # + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd # noqa: E501 + # (log3 neg1 1 0 0 0) + # [[0]] 0x600D + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3( + offset=Op.SUB(0x0, 0x1), + size=0x1, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { ; memSizeTooHigh + # (def 'neg1 (- 0 1)) + # + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log3 1 neg1 0 0 0) + # [[0]] 0x600D + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3( + offset=0x1, + size=Op.SUB(0x0, 0x1), + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { ; memSizeZero + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log3 1 0 0 0 0) + # [[0]] 0x600D + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3(offset=0x1, size=0x0, topic_1=0x0, topic_2=0x0, topic_3=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { ; nonEmptyMem + # [0] 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + # (log3 0 32 0 0 0) + # [[0]] 0x600D + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG3(offset=0x0, size=0x20, topic_1=0x0, topic_2=0x0, topic_3=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { ; log_0_1 + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log3 0 1 0 0 0) + # [[0]] 0x600D + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3(offset=0x0, size=0x1, topic_1=0x0, topic_2=0x0, topic_3=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { ; log_31_1 + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log3 31 1 0 0 0) + # [[0]] 0x600D + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3(offset=0x1F, size=0x1, topic_1=0x0, topic_2=0x0, topic_3=0x0) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { ; caller (as topic) + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log3 0 32 0 0 (caller)) + # [[0]] 0x600D + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3( + offset=0x0, size=0x20, topic_1=0x0, topic_2=0x0, topic_3=Op.CALLER + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { ; maxTopic + # (def 'neg1 (- 0 1)) + # + # (mstore8 0 0xFF) + # (log3 31 1 neg1 neg1 neg1) + # [[0]] 0x600D + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG3( + offset=0x1F, + size=0x1, + topic_1=Op.SUB(0x0, 0x1), + topic_2=Op.SUB(0x0, 0x1), + topic_3=Op.SUB(0x0, 0x1), + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { ; pc + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log3 31 1 (pc) (pc) (pc)) + # [[0]] 0x600D + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG3( + offset=0x1F, size=0x1, topic_1=Op.PC, topic_2=Op.PC, topic_3=Op.PC + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [0, 3, 4, 5, 6, 7, 8, 9], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_10: Account(storage={0: 24589})}, + }, + { + "indexes": {"data": [1, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_10: Account(storage={0: 2989})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + Bytes("693c6139") + Hash(0x9), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_10, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmLogTest/test_log4.py b/tests/ported_static/vmLogTest/test_log4.py new file mode 100644 index 00000000000..90163b8a93b --- /dev/null +++ b/tests/ported_static/vmLogTest/test_log4.py @@ -0,0 +1,447 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmLogTest/log4Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmLogTest/log4Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="emptyMem", + ), + pytest.param( + 1, + 0, + 0, + id="memStartTooHigh", + ), + pytest.param( + 2, + 0, + 0, + id="memSizeTooHigh", + ), + pytest.param( + 3, + 0, + 0, + id="memSizeZero", + ), + pytest.param( + 4, + 0, + 0, + id="nonEmptyMem", + ), + pytest.param( + 5, + 0, + 0, + id="log_0_1", + ), + pytest.param( + 6, + 0, + 0, + id="log_31_1", + ), + pytest.param( + 7, + 0, + 0, + id="caller", + ), + pytest.param( + 8, + 0, + 0, + id="maxTopic", + ), + pytest.param( + 9, + 0, + 0, + id="pc", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_log4( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { ; emptyMem + # (log4 0 0 0 0 0 0) + # + # [[0]] 0x600D + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.LOG4( + offset=0x0, + size=0x0, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { ; memStartTooHigh + # (def 'neg1 (- 0 1)) + # + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd # noqa: E501 + # (log4 neg1 1 0 0 0 0) + # [[0]] 0x600D + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=Op.SUB(0x0, 0x1), + size=0x1, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { ; memSizeTooHigh + # (def 'neg1 (- 0 1)) + # + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log4 1 neg1 0 0 0 0) + # [[0]] 0x600D + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0x1, + size=Op.SUB(0x0, 0x1), + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { ; memSizeZero + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log4 1 0 0 0 0 0) + # [[0]] 0x600D + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0x1, + size=0x0, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { ; nonEmptyMem + # [0] 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + # (log4 0 32 0 0 0 0) + # [[0]] 0x600D + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ) + + Op.LOG4( + offset=0x0, + size=0x20, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { ; log_0_1 + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log4 0 1 0 0 0 0) + # [[0]] 0x600D + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0x0, + size=0x1, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { ; log_31_1 + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log4 31 1 0 0 0 0) + # [[0]] 0x600D + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0x1F, + size=0x1, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=0x0, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { ; caller (as topic) + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log4 0 32 0 0 0 (caller)) + # [[0]] 0x600D + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0x0, + size=0x20, + topic_1=0x0, + topic_2=0x0, + topic_3=0x0, + topic_4=Op.CALLER, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { ; maxTopic + # (def 'neg1 (- 0 1)) + # + # (mstore8 0 0xFF) + # (log4 31 1 neg1 neg1 neg1 neg1) + # [[0]] 0x600D + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE8(offset=0x0, value=0xFF) + + Op.LOG4( + offset=0x1F, + size=0x1, + topic_1=Op.SUB(0x0, 0x1), + topic_2=Op.SUB(0x0, 0x1), + topic_3=Op.SUB(0x0, 0x1), + topic_4=Op.SUB(0x0, 0x1), + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { ; pc + # [0] 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd + # (log4 31 1 (pc) (pc) (pc) (pc)) + # [[0]] 0x600D + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.MSTORE( + offset=0x0, + value=0xAABBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCDD, # noqa: E501 + ) + + Op.LOG4( + offset=0x1F, + size=0x1, + topic_1=Op.PC, + topic_2=Op.PC, + topic_3=Op.PC, + topic_4=Op.PC, + ) + + Op.SSTORE(key=0x0, value=0x600D) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: lll + # { + # (delegatecall (gas) (+ 0x1000 $4) 0 0 0 0) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.DELEGATECALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + storage={0: 2989}, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": { + "data": [0, 3, 4, 5, 6, 7, 8, 9], + "gas": -1, + "value": -1, + }, + "network": [">=Cancun"], + "result": {contract_10: Account(storage={0: 24589})}, + }, + { + "indexes": {"data": [1, 2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_10: Account(storage={0: 2989})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + Bytes("693c6139") + Hash(0x9), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_10, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmTests/__init__.py b/tests/ported_static/vmTests/__init__.py new file mode 100644 index 00000000000..5bc35049dd0 --- /dev/null +++ b/tests/ported_static/vmTests/__init__.py @@ -0,0 +1 @@ +"""Ported static tests: vmTests.""" # noqa: N999 diff --git a/tests/ported_static/vmTests/test_block_info.py b/tests/ported_static/vmTests/test_block_info.py new file mode 100644 index 00000000000..97511d5c869 --- /dev/null +++ b/tests/ported_static/vmTests/test_block_info.py @@ -0,0 +1,223 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmTests/blockInfoFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmTests/blockInfoFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="coinbase", + ), + pytest.param( + 1, + 0, + 0, + id="difficulty", + ), + pytest.param( + 2, + 0, + 0, + id="gaslimit", + ), + pytest.param( + 3, + 0, + 0, + id="number", + ), + pytest.param( + 4, + 0, + 0, + id="timestamp", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_block_info( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (coinbase) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.COINBASE) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (difficulty) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.PREVRANDAO) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (gaslimit) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GASLIMIT) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { ; The blocknumber + # [[0]] (number) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.NUMBER) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (timestamp) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.TIMESTAMP) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0 0 0 0 0) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={0: 0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA}, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_1: Account(storage={0: 0x20000})}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 0x5F5E100})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 1})}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={0: 1000})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_5, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmTests/test_env_info.py b/tests/ported_static/vmTests/test_env_info.py new file mode 100644 index 00000000000..a2a3dd0f4f4 --- /dev/null +++ b/tests/ported_static/vmTests/test_env_info.py @@ -0,0 +1,368 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmTests/envInfoFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmTests/envInfoFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="address", + ), + pytest.param( + 1, + 0, + 0, + id="codecopy", + ), + pytest.param( + 2, + 0, + 0, + id="codecopy_len0", + ), + pytest.param( + 3, + 0, + 0, + id="codecopy_neg_offset", + ), + pytest.param( + 4, + 0, + 0, + id="caller", + ), + pytest.param( + 5, + 0, + 0, + id="callvalue", + ), + pytest.param( + 6, + 0, + 0, + id="codesize", + ), + pytest.param( + 7, + 0, + 0, + id="gasprice", + ), + pytest.param( + 8, + 0, + 0, + id="origin", + ), + pytest.param( + 9, + 0, + 0, + id="calldatasize", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_env_info( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (address) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ADDRESS) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { ; Copy first seven bytes of code to memory + # ; and from there to storage + # (codecopy 0 0 7) + # [[0]] @0 + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x7) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # ; codecopy zero bytes + # (codecopy 0 0 0) + # [[0]] @0 + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY(dest_offset=0x0, offset=0x0, size=0x0) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # ; codecopy from unrealistically high in the code + # ; segment (so high you wrap around) + # (def 'neg6 + # 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa) + # (codecopy 0 neg6 8) + # [[0]] @0 + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.CODECOPY( + dest_offset=0x0, + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA, # noqa: E501 + size=0x8, + ) + + Op.SSTORE(key=0x0, value=Op.MLOAD(offset=0x0)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (caller) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.CALLER) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (callvalue) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.CALLVALUE) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (codesize) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.CODESIZE) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (gasprice) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.GASPRICE) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (origin) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.ORIGIN) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (calldatasize) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.CALLDATASIZE) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: lll + # { + # (call 0xffffff (+ 0x1000 $4) 0x10 0 0 0 0) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=0xFFFFFF, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x10, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0xBA1A9CE0BA1A9CE) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_0: Account(storage={0: 4096})}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={ + 0: 0x6007600060003900000000000000000000000000000000000000000000000000, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_2: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_4: Account( + storage={0: 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC}, + ), + }, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 16})}, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_6: Account(storage={0: 5})}, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_7: Account(storage={0: 4660})}, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_8: Account( + storage={0: 0xA94F5374FCE5EDBC8E2A8697C15331677E6EBF0B}, + ), + }, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_9: Account(storage={0: 0})}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + Bytes("693c6139") + Hash(0x9), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_10, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + gas_price=4660, + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmTests/test_random.py b/tests/ported_static/vmTests/test_random.py new file mode 100644 index 00000000000..6e042591b1b --- /dev/null +++ b/tests/ported_static/vmTests/test_random.py @@ -0,0 +1,239 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmTests/randomFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmTests/randomFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="random0", + ), + pytest.param( + 1, + 0, + 0, + id="random1", + ), + pytest.param( + 2, + 0, + 0, + id="random2", + ), + pytest.param( + 3, + 0, + 0, + id="random3", + ), + pytest.param( + 4, + 0, + 0, + id="random4", + ), + pytest.param( + 5, + 0, + 0, + id="random5", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_random( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + sender = EOA( + key=0xF3630C36A29EC9AF814AE38E4D48056A3368BB1435C5C2B3289763E4C77A3DF0 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: hex + # 0x434342444244454597 + addr = pre.deploy_contract( # noqa: F841 + code=Op.NUMBER * 2 + + Op.TIMESTAMP + + Op.PREVRANDAO + + Op.TIMESTAMP + + Op.PREVRANDAO + + Op.GASLIMIT * 2 + + Op.SWAP8, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x66B8DBA513DC25F967EF7E84306616C0071CCCAE), # noqa: E501 + ) + # Source: hex + # 0x4045404145454441343987ff3735043055 + addr_2 = pre.deploy_contract( # noqa: F841 + code=Op.BLOCKHASH + + Op.BLOCKHASH(block_number=Op.GASLIMIT) + + Op.COINBASE + + Op.GASLIMIT * 2 + + Op.CODECOPY( + dest_offset=Op.CALLVALUE, offset=Op.COINBASE, size=Op.PREVRANDAO + ) + + Op.SELFDESTRUCT(address=Op.DUP8) + + Op.CALLDATACOPY + + Op.CALLDATALOAD + + Op.SSTORE(key=Op.ADDRESS, value=Op.DIV), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x3412D3EBAC3FCACFB451708AEF7CC8E5BF1E5261), # noqa: E501 + ) + # Source: hex + # 0x4040459143404144809759886d608f + addr_3 = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex("4040459143404144809759886d608f"), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x15ADFB805BE4F3EE3E5C535ABC860890A3A2A6C9), # noqa: E501 + ) + # Source: hex + # 0x7745414245403745f31387900a8d55 + addr_4 = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex("7745414245403745f31387900a8d55"), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xDFE69E96FB3AAFDE261565670B1FEA29869C6950), # noqa: E501 + ) + # Source: hex + # 0x65424555 + addr_5 = pre.deploy_contract( # noqa: F841 + code=bytes.fromhex("65424555"), + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xACD000F275B1A28D0C3B7DEE7F114C4D28FB1636), # noqa: E501 + ) + # Source: hex + # 0x4041 + addr_6 = pre.deploy_contract( # noqa: F841 + code=Op.BLOCKHASH + Op.COINBASE, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x2E3B99613A2E74EBB0CD62D7B9EB38BAD240CEC6), # noqa: E501 + ) + # Source: lll + # { + # (call (gas) (+ 0x1000 $4) 0 0 0 0 0) + # } + target = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xA83DB56C7CE68C06129B80C7BE0D0F5E0869D536), # noqa: E501 + ) + pre[sender] = Account(balance=0x10000000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(nonce=1)}, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(nonce=1)}, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(nonce=1)}, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(nonce=1)}, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(nonce=1)}, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {sender: Account(nonce=1)}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=target, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmTests/test_sha3.py b/tests/ported_static/vmTests/test_sha3.py new file mode 100644 index 00000000000..e2e8ed1be05 --- /dev/null +++ b/tests/ported_static/vmTests/test_sha3.py @@ -0,0 +1,599 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmTests/sha3Filler.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmTests/sha3Filler.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="sha3_nodata", + ), + pytest.param( + 1, + 0, + 0, + id="sha3_five_0s", + ), + pytest.param( + 2, + 0, + 0, + id="sha3_ten_0s", + ), + pytest.param( + 3, + 0, + 0, + id="sha3_0xFFFFF_0s", + ), + pytest.param( + 4, + 0, + 0, + id="sha3_highmem", + ), + pytest.param( + 5, + 0, + 0, + id="sha3_huge_buffer", + ), + pytest.param( + 6, + 0, + 0, + id="sha3_neg1_neg1", + ), + pytest.param( + 7, + 0, + 0, + id="sha3_neg1_2", + ), + pytest.param( + 8, + 0, + 0, + id="sha3_0x1000000_2", + ), + pytest.param( + 9, + 0, + 0, + id="sha3_960_1", + ), + pytest.param( + 10, + 0, + 0, + id="sha3_992_1", + ), + pytest.param( + 11, + 0, + 0, + id="sha3_1024_1", + ), + pytest.param( + 12, + 0, + 0, + id="sha3_1984_1", + ), + pytest.param( + 13, + 0, + 0, + id="sha3_2016_1", + ), + pytest.param( + 14, + 0, + 0, + id="sha3_2016_32", + ), + pytest.param( + 15, + 0, + 0, + id="sha3_2048_1", + ), + pytest.param( + 16, + 0, + 0, + id="sha3_1024_0", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_sha3( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0x0000000000000000000000000000000000001003) + contract_4 = Address(0x0000000000000000000000000000000000001004) + contract_5 = Address(0x0000000000000000000000000000000000001005) + contract_6 = Address(0x0000000000000000000000000000000000001006) + contract_7 = Address(0x0000000000000000000000000000000000001007) + contract_8 = Address(0x0000000000000000000000000000000000001008) + contract_9 = Address(0x0000000000000000000000000000000000001009) + contract_10 = Address(0x000000000000000000000000000000000000100A) + contract_11 = Address(0x000000000000000000000000000000000000100B) + contract_12 = Address(0x000000000000000000000000000000000000100C) + contract_13 = Address(0x000000000000000000000000000000000000100D) + contract_14 = Address(0x000000000000000000000000000000000000100E) + contract_15 = Address(0x000000000000000000000000000000000000100F) + contract_16 = Address(0x0000000000000000000000000000000000001010) + contract_17 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # [[0]] (sha3 0 0) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x0, size=0x0)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (sha3 4 5) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x4, size=0x5)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (sha3 10 10) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0xA, size=0xA)) + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (sha3 1000 0xFFFFF) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x3E8, size=0xFFFFF)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001003), # noqa: E501 + ) + # Source: lll + # { + # ; The result here is zero, because we run out of gas + # [[0]] (sha3 0xfffffffff 100) + # } + contract_4 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0xFFFFFFFFF, size=0x64)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001004), # noqa: E501 + ) + # Source: lll + # { + # ; The result here is zero, because we run out of gas + # [[0]] (sha3 10000 0xfffffffff) + # } + contract_5 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x2710, size=0xFFFFFFFFF)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001005), # noqa: E501 + ) + # Source: lll + # { + # (def 'neg1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] (sha3 neg1 neg1) + # } + contract_6 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHA3( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001006), # noqa: E501 + ) + # Source: lll + # { + # (def 'neg1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) # noqa: E501 + # [[0]] (sha3 neg1 2) + # } + contract_7 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE( + key=0x0, + value=Op.SHA3( + offset=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, # noqa: E501 + size=0x2, + ), + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001007), # noqa: E501 + ) + # Source: lll + # { + # [[0]] (sha3 0x1000000 2) + # } + contract_8 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x1000000, size=0x2)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001008), # noqa: E501 + ) + # Source: lll + # { + # [[ 0 ]] (sha3 960 1) + # } + contract_9 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x3C0, size=0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001009), # noqa: E501 + ) + # Source: lll + # { + # [[ 0 ]] (sha3 992 1) + # } + contract_10 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x3E0, size=0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100A), # noqa: E501 + ) + # Source: lll + # { + # [[ 0 ]] (sha3 1024 1) + # } + contract_11 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x400, size=0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100B), # noqa: E501 + ) + # Source: lll + # { + # [[ 0 ]] (sha3 1984 1) + # } + contract_12 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x7C0, size=0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100C), # noqa: E501 + ) + # Source: lll + # { + # [[ 0 ]] (sha3 2016 1) + # } + contract_13 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x7E0, size=0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100D), # noqa: E501 + ) + # Source: lll + # { + # [[ 0 ]] (sha3 2048 1) + # } + contract_14 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x800, size=0x1)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100E), # noqa: E501 + ) + # Source: lll + # { + # [[ 0 ]] (sha3 1024 0) + # } + contract_15 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x400, size=0x0)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x000000000000000000000000000000000000100F), # noqa: E501 + ) + # Source: lll + # { + # [[ 0 ]] (sha3 2016 32) + # } + contract_16 = pre.deploy_contract( # noqa: F841 + code=Op.SSTORE(key=0x0, value=Op.SHA3(offset=0x7E0, size=0x20)) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0x0000000000000000000000000000000000001010), # noqa: E501 + ) + # Source: lll + # { + # (call (- 0 1) (+ 0x1000 $4) 0 + # 0x0F 0x10 ; arg offset and length to get the 0x1234...f0 value + # 0x20 0x40) ; return offset and length + # } + contract_17 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.SUB(0x0, 0x1), + address=Op.ADD(0x1000, Op.CALLDATALOAD(offset=0x4)), + value=0x0, + args_offset=0xF, + args_size=0x10, + ret_offset=0x20, + ret_size=0x40, + ) + + Op.STOP, + balance=0xBA1A9CE0BA1A9CE, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x100000000000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_0: Account( + storage={ + 0: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_1: Account( + storage={ + 0: 0xC41589E7559804EA4A2080DAD19D876A024CCB05117835447D72CE08C1D020EC, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_2: Account( + storage={ + 0: 0x6BD2DD6BD408CBEE33429358BF24FDC64612FBF8B1B4DB604518F40FFD34B607, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [3], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_3: Account( + storage={ + 0: 0xBE6F1B42B34644F918560A07F959D23E532DEA5338E4B9F63DB0CAEB608018FA, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [4], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_4: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [5], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_5: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [6], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_6: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [7], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_7: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [8], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_8: Account(storage={0: 0})}, + }, + { + "indexes": {"data": [9], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_9: Account( + storage={ + 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [10], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_10: Account( + storage={ + 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [11], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_11: Account( + storage={ + 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [12], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_12: Account( + storage={ + 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [13], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_13: Account( + storage={ + 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [15], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_14: Account( + storage={ + 0: 0xBC36789E7A1E281436464229828F817D6612F7B477D66591FF96A9E064BCC98A, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [16], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_15: Account( + storage={ + 0: 0xC5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470, # noqa: E501 + }, + ), + }, + }, + { + "indexes": {"data": [14], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + contract_16: Account( + storage={ + 0: 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563, # noqa: E501 + }, + ), + }, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(0x0), + Bytes("693c6139") + Hash(0x1), + Bytes("693c6139") + Hash(0x2), + Bytes("693c6139") + Hash(0x3), + Bytes("693c6139") + Hash(0x4), + Bytes("693c6139") + Hash(0x5), + Bytes("693c6139") + Hash(0x6), + Bytes("693c6139") + Hash(0x7), + Bytes("693c6139") + Hash(0x8), + Bytes("693c6139") + Hash(0x9), + Bytes("693c6139") + Hash(0xA), + Bytes("693c6139") + Hash(0xB), + Bytes("693c6139") + Hash(0xC), + Bytes("693c6139") + Hash(0xD), + Bytes("693c6139") + Hash(0x10), + Bytes("693c6139") + Hash(0xE), + Bytes("693c6139") + Hash(0xF), + ] + tx_gas = [16777216] + tx_value = [1] + + tx = Transaction( + sender=sender, + to=contract_17, + data=tx_data[d], + gas_limit=tx_gas[g], + value=tx_value[v], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx) diff --git a/tests/ported_static/vmTests/test_suicide.py b/tests/ported_static/vmTests/test_suicide.py new file mode 100644 index 00000000000..8fc985adfd1 --- /dev/null +++ b/tests/ported_static/vmTests/test_suicide.py @@ -0,0 +1,178 @@ +""" +Ori Pomerantz qbzzt1@gmail.com. + +Ported from: +state_tests/VMTests/vmTests/suicideFiller.yml +""" + +import pytest +from execution_testing import ( + EOA, + Account, + Address, + Alloc, + Bytes, + Environment, + Hash, + StateTestFiller, + Transaction, +) +from execution_testing.forks import Fork +from execution_testing.specs.static_state.expect_section import ( + resolve_expect_post, +) +from execution_testing.vm import Op + +REFERENCE_SPEC_GIT_PATH = "N/A" +REFERENCE_SPEC_VERSION = "N/A" + + +@pytest.mark.ported_from( + ["state_tests/VMTests/vmTests/suicideFiller.yml"], +) +@pytest.mark.valid_from("Cancun") +@pytest.mark.parametrize( + "d, g, v", + [ + pytest.param( + 0, + 0, + 0, + id="caller", + ), + pytest.param( + 1, + 0, + 0, + id="random", + ), + pytest.param( + 2, + 0, + 0, + id="myself", + ), + ], +) +@pytest.mark.pre_alloc_mutable +def test_suicide( + state_test: StateTestFiller, + pre: Alloc, + fork: Fork, + d: int, + g: int, + v: int, +) -> None: + """Ori Pomerantz qbzzt1@gmail.""" + coinbase = Address(0x2ADC25665018AA1FE0E6BC666DAC8FC2697FF9BA) + contract_0 = Address(0x0000000000000000000000000000000000001000) + contract_1 = Address(0x0000000000000000000000000000000000001001) + contract_2 = Address(0x0000000000000000000000000000000000001002) + contract_3 = Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC) + sender = EOA( + key=0x45A915E4D060149EB4365960E6A7A45F334393093061116B197E3240065FF2D8 + ) + + env = Environment( + fee_recipient=coinbase, + number=1, + timestamp=1000, + prev_randao=0x20000, + base_fee_per_gas=10, + gas_limit=100000000, + ) + + # Source: lll + # { + # (selfdestruct (caller)) + # } + contract_0 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=Op.CALLER) + Op.STOP, + balance=0xFF000000000000, + nonce=0, + address=Address(0x0000000000000000000000000000000000001000), # noqa: E501 + ) + # Source: lll + # { + # (selfdestruct 0xdead) + # } + contract_1 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=0xDEAD) + Op.STOP, + balance=0x100000000000, + nonce=0, + address=Address(0x0000000000000000000000000000000000001001), # noqa: E501 + ) + # Source: lll + # { + # (selfdestruct (address)) + # } + contract_2 = pre.deploy_contract( # noqa: F841 + code=Op.SELFDESTRUCT(address=Op.ADDRESS) + Op.STOP, + balance=0x100000000000, + nonce=0, + address=Address(0x0000000000000000000000000000000000001002), # noqa: E501 + ) + # Source: lll + # { + # (call (gas) $4 0 0 0 0 0) + # } + contract_3 = pre.deploy_contract( # noqa: F841 + code=Op.CALL( + gas=Op.GAS, + address=Op.CALLDATALOAD(offset=0x4), + value=0x0, + args_offset=0x0, + args_size=0x0, + ret_offset=0x0, + ret_size=0x0, + ) + + Op.STOP, + balance=0x100000000000, + nonce=0, + address=Address(0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC), # noqa: E501 + ) + pre[sender] = Account(balance=0x5AF3107A4000) + + expect_entries_: list[dict] = [ + { + "indexes": {"data": [0], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + sender: Account(balance=0x5AF31075D9DE), + contract_3: Account(balance=0xFF100000000000), + }, + }, + { + "indexes": {"data": [1], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": { + Address(0x000000000000000000000000000000000000DEAD): Account( + balance=0x100000000000 + ), + }, + }, + { + "indexes": {"data": [2], "gas": -1, "value": -1}, + "network": [">=Cancun"], + "result": {contract_3: Account(balance=0x100000000000)}, + }, + ] + + post, _exc = resolve_expect_post(expect_entries_, d, g, v, fork) + + tx_data = [ + Bytes("693c6139") + Hash(contract_0, left_padding=True), + Bytes("693c6139") + Hash(contract_1, left_padding=True), + Bytes("693c6139") + Hash(contract_2, left_padding=True), + ] + tx_gas = [16777216] + + tx = Transaction( + sender=sender, + to=contract_3, + data=tx_data[d], + gas_limit=tx_gas[g], + error=_exc, + ) + + state_test(env=env, pre=pre, post=post, tx=tx)